CN113206735A - 一种采用32位lfsr生成流密码的存储器及读取方法 - Google Patents
一种采用32位lfsr生成流密码的存储器及读取方法 Download PDFInfo
- Publication number
- CN113206735A CN113206735A CN202011538993.XA CN202011538993A CN113206735A CN 113206735 A CN113206735 A CN 113206735A CN 202011538993 A CN202011538993 A CN 202011538993A CN 113206735 A CN113206735 A CN 113206735A
- Authority
- CN
- China
- Prior art keywords
- bit
- data
- host
- lfsr
- registers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 12
- 230000003993 interaction Effects 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 1
- 102220024430 rs60045579 Human genes 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种采用32位LFSR生成流密码的存储器及读取方法,包括32位LFSR、随机数发生器、异或电路和24系列存储单元,32位LFSR、随机数发生器和24系列存储单元均与异或电路连接,随机数发生器还与32位LFSR和24系列存储单元连接,32位LFSR还与24系列存储单元连接,其中,32位LFSR包括32个寄存器D0‑D31,其中寄存器D0‑D23的初始值由主机端发送24位数据来配置,寄存器D24‑D31的初始值由所述随机数发生器产生8位数据来配置,随机数发生器产生的8位数据还发送给主机端,寄存器D24‑D31为输出的8位密钥。本发明提出一种流密码进行通讯加密的采用I2C协议的非易失性存储器,其能确保存储器内部的数据不易被非法读取,或者与主机端交互过程中被侦听后不易被分析出正确的数据。
Description
技术领域
本发明属于数字信息应用领域,特别涉及一种采用32位LFSR生成流密码的存储器及读取方法。
背景技术
随着数字信息技术的发展,电子数据存储技术已在生活中随处可见,非易失性数据存储器(EEPROM、FLASH等)与包括磁介质类型的传统数据存储介质相比,具有高稳定性、写保护数据和高安全性等优点,被广泛接纳为下一代多媒体信息介质。
在很多电子信息系统系统中,例如电视机配置存储芯片、墨盒墨量控制芯片、遥控器存储芯片、涉及安全的控制芯片及涉及断电记忆功能设备,如当前流行的MP3/MP4/GPS等设备内的配置控制器等,都采用了一些通用性的非易失性数据存储器作为关键数据的存储,如目前市场上常见的采用I2C协议的24系列非易失性数据存储器产品。24系列非易失性数据存储器产品中,其指令格式完全透明,只要稍微有一些电子知识的人,通过很普通的设备或工具,如通用读写器等,就可以完全读取存储器中的数据。或者通过一般的仪器设备,如示波器、逻辑分析仪等,在系统正常工作获取存储器和其他芯片的交互波形信息,就可以得到存储器中的数据;甚至通过这样的分析能获得哪些数据是关键中的关键,如墨盒墨量数据、剩余金额、剩余有效时间等与费用有关的数据。在上述系统中,这些采用通用性的非易失性数据存储器存储的数据往往都是系统中的一些关键参数,由于采用类似24系列非易失性数据存储器通用产品,一旦这些关键数据被获取后,就很容易用市场上同类产品进行复制或克隆。这样很容易导致客户的重要信息被泄漏或者一个公司花大量人力物力开发的知识产权被泄漏。
发明内容
有鉴于此,克服上述通用24系列非易失性数据存储器在指令系统上的完全透明容易被读取和侦听的缺点,本发明的目的是提供一种采用32位线性反馈移位寄存器(LFSR,Linear Feedback Shift Register)实现的流密码进行通讯加密的采用I2C协议的非易失性存储器,其能确保存储器内部的数据不易被非法读取,或者与主机交互过程中被侦听后不易被分析出正确的数据。
本发明提供了一种采用32位LFSR生成流密码的存储器,包括32位LFSR、随机数发生器、异或电路和24系列存储单元,32位LFSR、随机数发生器和24系列存储单元均与异或电路连接,随机数发生器还与32位LFSR和24系列存储单元连接,32位LFSR还与24系列存储单元连接,其中,
所述32位LFSR包括32个寄存器D0-D31,其中寄存器D0-D23的初始值由主机端发送24位数据来配置,寄存器D24-D31的初始值由所述随机数发生器产生8位数据来配置,随机数发生器产生8位数据还发送给主机端,寄存器D24-D31为输出密钥。
优选地,所述主机端发出加密数据,与密钥D24-D31一同输入异或电路,进行解码,解码后存入24系列存储单元。
优选地,所述24系列存储单元中的数据被主机端读取时,将数据与密钥D24-D31一同输入异或电路进行加密,加密后发送给主机端。
基于上述目的,本发明还提供了一种采用32位LFSR生成流密码的存储器的存储方法,包括以下步骤:
S10,采用32位LFSR生成流密码的存储器上电后,接收指令码和3个字节B0,并发送随机数B1,指令码和三个字节输入数据B0由主机端发送,输出数据B1由随机数发生器产生,并产生run_set信号初始化32位LSFR;
S20,产生启动指令run_en,启动32位LFSR的流密码加密功能,32位LFSR中,寄存器D0-D23的初始值由主机端发送的24位数据配置;寄存器D24-D31的初始值由随机数发生器产生的8位数据B1来配置,同时这8位数据B1也返回给主机端,使主机端亦配置一样的初始值;
解码:在32位LFSR的流密码加密功能开始后,主机端发送的加密数据与密钥D24-D31进行解码,把解码的数据存入24系列存储单元中;
加密:24系列存储单元中的数据被主机端读取时,先通过密钥D24-D31加密,然后发送给主机端。
优选地,所述主机端与采用32位LFSR生成流密码的存储器的交互中,除了I2C协议中的START位、END位、ACK位外,其他所有指令、地址和数据信息,均在32位LFSR的流密码加密之后进行传输。
本发明的有益效果在于:本发明主机与非易失性存储器的所有交互,除了I2C协议中的START位、END位、ACK位外,其他所有的指令、地址、数据信息,都在流密码加密之后进行传输。这样就避免了这些关键的有效信息的透明传输,防止了数据明码传输,确保存储器内部的数据不易被非法读取,或者与主机端交互过程中被侦听后不易被分析出正确的数据,保护了客户的重要信息。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明实施例的一种采用32位LFSR生成流密码的存储器的结构框图;
图2为本发明实施例的一种采用32位LFSR生成流密码的存储器的32位LFSR结构框图;
图3为本发明实施例的一种采用32位LFSR生成流密码的存储器存储方法的加密步骤示意图;
图4为本发明实施例的一种采用32位LFSR生成流密码的存储器存储方法的解码步骤示意图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
实施例1
参见图1,所示为本发明实施例的一种采用32位LFSR生成流密码的存储器结构框图,包括32位LFSR10、随机数发生器20、异或电路40和24系列存储单元30,32位LFSR10、随机数发生器20和24系列存储单元30均与异或电路40连接,随机数发生器20还与32位LFSR10和24系列存储单元30连接,32位LFSR10还与24系列存储单元30连接,其中,
参见图2,32位LFSR10包括32个寄存器11D0-D31,输入寄存器11D0-D31的值即D[31:0],其中寄存器11中D0-D23的初始值由主机端50发送24位数据来配置,寄存器11中D24-D31的初始值由随机数发生器20产生8位数据来配置,随机数发生器20产生8位数据还发送给主机端50,寄存器11中D24-D31为8位密钥,即图1中D[31:24]。还包括反馈回路,反馈回路包括30个异或门41,寄存器11中D2-D31均与一个异或门41连接,30个异或门41依次连接,与寄存器11中的D2连接的异或门41的输出作为寄存器11中D0的输入;寄存器11为动态或静态主从型触发器。
主机端50发出加密数据,与32位LFSR10输出密钥D[31:24]一同输入异或电路40,进行解码,解码后存入24系列存储单元30。
24系列存储单元30中的数据被主机端50读取时,将数据与32位LFSR10输出的密钥D[31:24]一同输入异或电路40进行加密,加密后发送给主机端50。
本发明采用32位LFSR10实现流密码进行通讯加密采用I2C协议的非易失性存储器,在24系列存储单元30的基础上,增加了一个32位LFSR10,该32位LFSR10可产生232位最长长度二进制伪随机序列PRBS(Pseudo Random Binary Sequence),LFSR电路消耗资源少,适合于电路实现。本发明可以产生PRBS的32位LFSR10生成多项式如下等式:
G32=x32+x7+x3+x2+1
实现该生成多项式的LFSR电路框图参见图1,通过这个电路可以实现流密码的产生,在电路结构确定以后,流密码的产生完全由32位LFSR10中32个寄存器11的初值来确定。
采用I2C协议的非易失性存储器为一个从器件,其工作方式和工作状态完全由I2C协议的主器件来决定,一般I2C的主器件都是MCU来实现。通过MCU的软件来实现LFSR,在软件开销上,也不大。
在I2C协议的非易失性存储器中,增加一条初始化32位LFSR10指令,该指令格式为:指令码+三个字节输入数据B0+一个字节输出数据B1。
指令码和三个字节输入数据B0由主机端50给本发明端非易失性存储器发送。输出数据B1由非易失性存储器内部的随机数发生器20产生,并发送给主机,以便同步两边的32位LFSR10。
本发明的非易失性存储器中SDA为I2C协议中的数据信号线,通过SDA端数据信号线来传输数据,本发明设置了一个产生8位随机数的随机数发生器20和一个32位LFSR10,同时在指令集中,增加了一条初始化32位LFSR10及启动流密码加密的指令。
本发明还提供了一种采用32位LFSR10生成流密码的存储器的存储方法,包括以下步骤:
S10,采用32位LFSR10生成流密码的存储器上电后,接收指令码和3个字节B0,并发送随机数B1,指令码和三个字节输入数据B0由主机端50发送,输出数据B1由随机数发生器20产生,并发送给主机端50产生run_set信号初始化32位LSFR;
S20,产生启动指令run_en,启动32位LFSR10的流密码加密功能,32位LFSR10中,寄存器11中D0-D23的初始值由主机端50发送的24位数据配置;寄存器11D24-D31的初始值由随机数发生器20产生的8位数据B1来配置,同时这8位数据B1也返回给主机端50,使主机端50亦配置一样的初始值;
解码:在32位LFSR10的流密码加密功能开始后,主机端50发送的加密数据与密钥D24-D31进行解码,把解码的数据存入24系列存储单元30中;解码的步骤示意图参见图4,主机端50发送加密数据流,与32位LFSR10输出的密钥D24-D31输入异或电路40进行解码后,输出明文数据流存入24系列存储单元30;
加密:24系列存储单元30中的数据被主机端50读取时,先通过32位LFSR10输出的密钥D24-D31加密,然后发送给主机端50,加密的步骤示意图参见图3。
主机端50与采用32位LFSR10生成流密码的存储器的交互中,除了I2C协议中的START位、END位、ACK位外,其他所有指令、地址和数据信息,均在32位LFSR10的流密码加密之后进行传输。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
Claims (5)
1.一种采用32位LFSR生成流密码的存储器,其特征在于,包括32位LFSR、随机数发生器、异或电路和24系列存储单元,其中,32位LFSR、随机数发生器和24系列存储单元均与异或电路连接,随机数发生器还与32位LFSR和24系列存储单元连接,32位LFSR还与24系列存储单元连接,其中,
所述32位LFSR包括32个寄存器D0-D31,其中寄存器D0-D23的初始值由主机端发送24位数据来配置,寄存器D24-D31的初始值由所述随机数发生器产生8位数据来配置,随机数发生器产生的8位数据还发送给主机端,寄存器D24-D31为输出的8位密钥。
2.根据权利要求1所述的采用32位LFSR生成流密码的存储器,其特征在于,所述主机端发出加密数据,与寄存器D24-D31一同输入异或电路,进行解码,解码后存入24系列存储单元。
3.根据权利要求1所述的采用32位LFSR生成流密码的存储器,其特征在于,所述24系列存储单元中的数据被主机端读取时,将数据与寄存器D24-D31一同输入异或电路进行加密,加密后发送给主机端。
4.一种基于权利要求1-3之一的采用32位LFSR生成流密码的存储器的存储方法,其特征在于,包括以下步骤:
S10,采用32位LFSR生成流密码的存储器上电后,接收指令码和3个字节B0,并发送随机数B1,指令码和三个字节输入数据B0由主机端发送,输出数据B1由随机数发生器产生,并产生run_set信号初始化32位LSFR;
S20,产生启动指令run_en,启动32位LFSR的流密码加密功能,32位LFSR中,寄存器D0-D23的初始值由主机端发送的24位数据配置;寄存器D24-D31的初始值由随机数发生器产生的8位数据B1来配置,同时这8位数据B1也返回给主机端,使主机端亦配置一样的初始值;
解码:在32位LFSR的流密码加密功能开始后,主机端发送的加密数据与密钥寄存器D24-D31进行解码,把解码的数据存入24系列存储单元中;
加密:24系列存储单元中的数据被主机端读取时,先通过32位LFSR输出的密钥寄存器D24-D31加密,然后发送给主机端。
5.根据权利要求4所述的存储方法,其特征在于,所述主机端与采用32位LFSR生成流密码的存储器的交互中,I2C协议中的START位、END位、ACK位在32位LFSR的流密码加密前传输,所有指令、地址和数据信息,均在32位LFSR的流密码加密之后进行传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011538993.XA CN113206735B (zh) | 2020-12-23 | 一种采用32位lfsr生成流密码的存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011538993.XA CN113206735B (zh) | 2020-12-23 | 一种采用32位lfsr生成流密码的存储器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113206735A true CN113206735A (zh) | 2021-08-03 |
CN113206735B CN113206735B (zh) | 2024-07-09 |
Family
ID=
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835586A (zh) * | 2005-12-29 | 2006-09-20 | 北京浦奥得数码技术有限公司 | 流密码生成器、随机数生成方法、加密系统及加密方法 |
US20080320066A1 (en) * | 2007-06-22 | 2008-12-25 | Lsi Logic Corporation | Cryptographic random number generator using finite field operations |
CN201936335U (zh) * | 2011-01-20 | 2011-08-17 | 广东商学院 | 一种带有保密功能的rfid电子标签芯片 |
US20140173238A1 (en) * | 2012-12-18 | 2014-06-19 | Rambus Inc. | Methods and Circuits for Securing Proprietary Memory Transactions |
CN105097003A (zh) * | 2015-09-18 | 2015-11-25 | 芯佰微电子(北京)有限公司 | 一种用于安全芯片的内建密钥只读存储器保护电路 |
CN213717989U (zh) * | 2020-12-23 | 2021-07-16 | 杭州起盈科技有限公司 | 一种采用32位lfsr生成流密码的存储器 |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835586A (zh) * | 2005-12-29 | 2006-09-20 | 北京浦奥得数码技术有限公司 | 流密码生成器、随机数生成方法、加密系统及加密方法 |
US20080320066A1 (en) * | 2007-06-22 | 2008-12-25 | Lsi Logic Corporation | Cryptographic random number generator using finite field operations |
CN201936335U (zh) * | 2011-01-20 | 2011-08-17 | 广东商学院 | 一种带有保密功能的rfid电子标签芯片 |
US20140173238A1 (en) * | 2012-12-18 | 2014-06-19 | Rambus Inc. | Methods and Circuits for Securing Proprietary Memory Transactions |
CN105097003A (zh) * | 2015-09-18 | 2015-11-25 | 芯佰微电子(北京)有限公司 | 一种用于安全芯片的内建密钥只读存储器保护电路 |
CN213717989U (zh) * | 2020-12-23 | 2021-07-16 | 杭州起盈科技有限公司 | 一种采用32位lfsr生成流密码的存储器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4593353A (en) | Software protection method and apparatus | |
KR102013841B1 (ko) | 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치 | |
US11347898B2 (en) | Data protection device and method and storage controller | |
CN100403281C (zh) | 一种基于动态密钥的硬盘数据加密方法及其装置 | |
US20030105967A1 (en) | Apparatus for encrypting data and method thereof | |
US7512239B2 (en) | Protection key for hardware and information management system | |
US20160065368A1 (en) | Address-dependent key generator by xor tree | |
US8015416B2 (en) | Memory information protection system and methods | |
EP1830240A1 (en) | Memory information protecting system, semiconductor memory, and method for protecting memory information | |
CN104732159A (zh) | 一种文件处理方法及装置 | |
TWI662474B (zh) | 用來對微控制器芯片進行韌體編程之方法與裝置、以及對應的微控制器芯片 | |
US20230018185A1 (en) | Obfuscating data at-transit | |
US8826042B2 (en) | Memory controller, memory control apparatus, memory device, memory information protection system, control method for memory control apparatus, and control method for memory device | |
US20220405404A1 (en) | Protecting cryptographic keys stored in non-volatile memory | |
US7215781B2 (en) | Creation and distribution of a secret value between two devices | |
WO2015106616A1 (zh) | 一种墨盒芯片及使用该芯片的墨盒 | |
CN104077243A (zh) | Sata硬盘设备加密方法及系统 | |
CN113206735B (zh) | 一种采用32位lfsr生成流密码的存储器 | |
CN213717989U (zh) | 一种采用32位lfsr生成流密码的存储器 | |
CN113206735A (zh) | 一种采用32位lfsr生成流密码的存储器及读取方法 | |
CN109753821B (zh) | 数据存取装置及方法 | |
CN111339544B (zh) | 离线下载装置及离线下载方法 | |
US20160087795A1 (en) | Secure memories using unique identification elements | |
JP2019121955A (ja) | 半導体装置及び暗号鍵の生成方法 | |
CN114401081A (zh) | 数据加密传输方法、应用及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |