CN110020556A - Using physics can not reproduction technology tangle and fetch system - Google Patents
Using physics can not reproduction technology tangle and fetch system Download PDFInfo
- Publication number
- CN110020556A CN110020556A CN201811183739.5A CN201811183739A CN110020556A CN 110020556 A CN110020556 A CN 110020556A CN 201811183739 A CN201811183739 A CN 201811183739A CN 110020556 A CN110020556 A CN 110020556A
- Authority
- CN
- China
- Prior art keywords
- data
- logic circuit
- key
- ciphertext
- scrambled
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/353—Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
- H03K3/356—Bistable circuits
- H03K3/356104—Bistable circuits using complementary field-effect transistors
- H03K3/356113—Bistable circuits using complementary field-effect transistors using additional transistors in the input circuit
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02M—APPARATUS FOR CONVERSION BETWEEN AC AND AC, BETWEEN AC AND DC, OR BETWEEN DC AND DC, AND FOR USE WITH MAINS OR SIMILAR POWER SUPPLY SYSTEMS; CONVERSION OF DC OR AC INPUT POWER INTO SURGE OUTPUT POWER; CONTROL OR REGULATION THEREOF
- H02M1/00—Details of apparatus for conversion
- H02M1/32—Means for protecting converters other than automatic disconnection
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02M—APPARATUS FOR CONVERSION BETWEEN AC AND AC, BETWEEN AC AND DC, OR BETWEEN DC AND DC, AND FOR USE WITH MAINS OR SIMILAR POWER SUPPLY SYSTEMS; CONVERSION OF DC OR AC INPUT POWER INTO SURGE OUTPUT POWER; CONTROL OR REGULATION THEREOF
- H02M3/00—Conversion of DC power input into DC power output
- H02M3/02—Conversion of DC power input into DC power output without intermediate conversion into AC
- H02M3/04—Conversion of DC power input into DC power output without intermediate conversion into AC by static converters
- H02M3/06—Conversion of DC power input into DC power output without intermediate conversion into AC by static converters using resistors or capacitors, e.g. potential divider
- H02M3/07—Conversion of DC power input into DC power output without intermediate conversion into AC by static converters using resistors or capacitors, e.g. potential divider using capacitors charged and discharged alternately by semiconductor devices with control electrode, e.g. charge pumps
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/353—Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
- H03K3/356—Bistable circuits
- H03K3/356104—Bistable circuits using complementary field-effect transistors
- H03K3/356182—Bistable circuits using complementary field-effect transistors with additional means for controlling the main nodes
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3278—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Dc-Dc Converters (AREA)
- Storage Device Security (AREA)
- Non-Volatile Memory (AREA)
- Read Only Memory (AREA)
- Tests Of Electronic Circuits (AREA)
- Semiconductor Memories (AREA)
Abstract
本发明公开一种使用物理不可复制技术的纠缠与取回系统,包括:一反熔丝型PUF存储器胞阵列,可产生至少一金钥;以及一处理电路,连接至该反熔丝型PUF存储器胞;其中,在一纠缠动作时,该处理电路接收一明文与该至少一金钥,并根据该明文与该至少一金钥产生一密文;以及在一取回动作时,该处理电路接收该密文与该至少一金钥,并根据该密文与该至少一金钥产生该明文。
The present invention discloses an entanglement and retrieval system using a physical non-copyable technology, comprising: an anti-fuse PUF memory cell array, which can generate at least one key; and a processing circuit connected to the anti-fuse PUF memory cell; wherein, during an entanglement action, the processing circuit receives a plaintext and the at least one key, and generates a ciphertext according to the plaintext and the at least one key; and during a retrieval action, the processing circuit receives the ciphertext and the at least one key, and generates the plaintext according to the ciphertext and the at least one key.
Description
技术领域technical field
本发明涉及一种系统,且特别涉及一种使用物理不可复制技术(physicallyunclonable function,简称PUF技术)的纠缠(entanglement)与取回(recall)系统。The present invention relates to a system, and more particularly, to an entanglement and recall system using a physically unclonable function (PUF for short).
背景技术Background technique
物理不可复制技术(physically unclonable function,简称PUF技术)是一种创新的方式用来保护集成电路芯片(IC chip)内部的数据,防止集成电路芯片的内部数据被窃取。根据PUF技术,集成电路芯片可以产生独一无二的随机码(random code)。此随机码可作为集成电路芯片上特有的身份码(ID code)。The physically unclonable function (PUF technology for short) is an innovative way to protect the data inside an integrated circuit chip (IC chip) and prevent the internal data of the integrated circuit chip from being stolen. According to the PUF technology, the integrated circuit chip can generate a unique random code. The random code can be used as a unique ID code on the integrated circuit chip.
一般来说,PUF技术是利用集成电路芯片的制造变异(manufacturing variation)来获得独特的随机码。此制造变异包括集成电路芯片的工艺变异(process variation)。亦即,就算有精确的工艺步骤可以制作出集成电路芯片,但是其随机码几乎不可能被复制(duplicate)。In general, PUF technology utilizes the manufacturing variation of integrated circuit chips to obtain unique random codes. This manufacturing variation includes process variation of integrated circuit chips. That is, even if there are precise process steps to fabricate an integrated circuit chip, its random code is almost impossible to duplicate.
换句话说,利用相同工艺所生产的二个集成电路芯片,其身份码(ID code)不可能完全相同。因此,具有PUF技术的集成电路芯片通常被运用于高安全防护的应用(applications with high security requirements)。In other words, the ID codes of two integrated circuit chips produced by the same process cannot be exactly the same. Therefore, integrated circuit chips with PUF technology are generally used in applications with high security requirements.
美国专利号US 9,613,714公开运用于一次编程存储器胞与存储器胞阵列的PUF技术以及相关的随机码产生方法。其中,一次编程存储器胞(one time programming memorycell)简称为OTP存储器胞。U.S. Patent No. 9,613,714 discloses PUF techniques and related random code generation methods applied to program-once memory cells and memory cell arrays. The one-time programming memory cell is referred to as an OTP memory cell for short.
在该PUF技术中,利用制造反熔丝型(antifuse-type)OTP存储器胞时的工艺变异,使得编程后的(programmed)OTP存储器胞产生无法预测的存储状态,并可以作为一位的随机码。再者,运用于PUF技术的OTP存储器胞又可称为反熔丝型PUF存储器胞(antifuse-typePUF cell),OTP存储器胞阵列又可称为反熔丝型PUF存储器胞阵列(antifuse-type PUFcell array)。In this PUF technology, the process variation in the manufacture of antifuse-type OTP memory cells is used to make the programmed OTP memory cells generate unpredictable memory states, which can be used as a one-bit random code . Furthermore, the OTP memory cell used in the PUF technology can also be called an antifuse-type PUF cell, and the OTP memory cell array can also be called an antifuse-type PUF cell array. array).
同理,当反熔丝型PUF存储器胞阵列完成并经过编程动作(program action)之后,反熔丝型PUF存储器胞阵列内已经记录了多位的随机码。再者,在PUF技术领域中,编程动作(program action)与另一种编程动作(enroll action)是相同的意思。亦即,反熔丝型PUF存储器胞可被编程(programmed),也可以说反熔丝型PUF存储器胞可被编程(enrolled)。Similarly, after the anti-fuse type PUF memory cell array is completed and undergoes a program action, a multi-bit random code has been recorded in the anti-fuse type PUF memory cell array. Furthermore, in the field of PUF technology, a program action and another program action (enroll action) have the same meaning. That is, the anti-fuse type PUF memory cell can be programmed, or it can be said that the anti-fuse type PUF memory cell can be programmed (enrolled).
发明内容SUMMARY OF THE INVENTION
本发明的主要目的在于提出一种纠缠与取回系统,包括:一反熔丝型PUF存储器胞阵列,可产生至少一金钥;以及一处理电路,连接至该反熔丝型PUF存储器胞以接收该至少一金钥;其中,在一纠缠动作时,该处理电路接收一明文与该至少一金钥,并根据该明文与该至少一金钥产生一密文;以及在一取回动作时,该处理电路接收该密文与该至少一金钥,并根据该密文与该至少一金钥产生该明文。The main purpose of the present invention is to provide an entanglement and retrieval system, comprising: an anti-fuse-type PUF memory cell array capable of generating at least one key; and a processing circuit connected to the anti-fuse-type PUF memory cell to generate at least one key; receiving the at least one key; wherein, during an entanglement action, the processing circuit receives a plaintext and the at least one key, and generates a ciphertext according to the plaintext and the at least one key; and during a retrieval action , the processing circuit receives the ciphertext and the at least one key, and generates the plaintext according to the ciphertext and the at least one key.
为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合附图详细说明如下:In order to have a better understanding of the above-mentioned and other aspects of the present invention, the following specific examples are given and described in detail with the accompanying drawings as follows:
附图说明Description of drawings
图1为本发明的纠缠与取回系统示意图。FIG. 1 is a schematic diagram of the entanglement and retrieval system of the present invention.
图2A为本发明的纠缠与取回系统的第一实施例。Figure 2A is a first embodiment of the entanglement and retrieval system of the present invention.
图2B与图2C为第一实施例的顺序逻辑电路进行顺序调整程序与顺序回复程序的一个范例。FIG. 2B and FIG. 2C are an example of the sequence adjustment procedure and the sequence recovery procedure performed by the sequential logic circuit of the first embodiment.
图2D与图2E为打乱逻辑电路及其运作示意图。2D and 2E are schematic diagrams of the scrambled logic circuit and its operation.
图3A为本发明的纠缠与取回系统的第二实施例。Figure 3A is a second embodiment of the entanglement and retrieval system of the present invention.
图3B与图3C为第二实施例的顺序逻辑电路基于非对称性交换来进行顺序调整程序与顺序回复程序的一个范例。FIG. 3B and FIG. 3C are an example of the sequence adjustment process and the sequence recovery process performed by the sequence logic circuit of the second embodiment based on asymmetric switching.
图3D与图3E为第二实施例的顺序逻辑电路基于非对称性交换来进行顺序调整程序与顺序回复程序的一个范例。FIG. 3D and FIG. 3E are an example of the sequence adjustment process and the sequence recovery process performed by the sequence logic circuit of the second embodiment based on asymmetric exchange.
图3F为第二实施例的顺序逻辑电路进行顺序调整程序与顺序回复程序的再一个范例。FIG. 3F is another example of the sequence adjustment process and the sequence recovery process performed by the sequence logic circuit of the second embodiment.
图4A为本发明的纠缠与取回系统的第三实施例。Figure 4A is a third embodiment of the entanglement and retrieval system of the present invention.
图4B与图4C为第三实施例的加密逻辑电路进行加密程序与解密程序的一个范例。4B and 4C are an example of an encryption process and a decryption process performed by the encryption logic circuit of the third embodiment.
图4D与图4E为第三实施例的加密逻辑电路进行加密程序与解密程序的另一个范例。4D and 4E are another example of the encryption process and the decryption process performed by the encryption logic circuit of the third embodiment.
【符号说明】【Symbol Description】
100、200、300、400:纠缠与随机码产生器100, 200, 300, 400: Entanglement and random code generators
110、210、310、410:反熔丝型PUF存储器胞阵列110, 210, 310, 410: Antifuse PUF memory cell array
120:处理电路120: Processing Circuits
130、240、340、440:存储电路130, 240, 340, 440: storage circuits
220、320、420:顺序逻辑电路220, 320, 420: sequential logic circuits
222、224、232、234、321、322、323、324:寄存器222, 224, 232, 234, 321, 322, 323, 324: registers
230、330、430:打乱逻辑电路230, 330, 430: Disrupting logic circuits
325、326、327、328:寄存器325, 326, 327, 328: registers
329:对照表329: Comparison table
450:加密逻辑电路450: Encrypted Logic Circuit
452、454:寄存器452, 454: Register
456:数据加密标准电路456: Data Encryption Standard Circuit
458:进阶加密标准电路458: Advanced Encryption Standard Circuit
800~831、900~931:异或门800~831, 900~931: XOR gate
具体实施方式Detailed ways
请参照图1,其所绘示为本发明的纠缠与取回系统示意图。纠缠与取回系统100设置于集成电路芯片(IC chip)内,此系统100包括一反熔丝型PUF存储器胞阵列110以及一处理电路(processing circuit)120。其中,反熔丝型PUF存储器胞阵列110已进行编程动作(enrollment)。Please refer to FIG. 1 , which is a schematic diagram of the entanglement and retrieval system of the present invention. The entanglement and retrieval system 100 is disposed in an integrated circuit chip (IC chip). The system 100 includes an anti-fuse type PUF memory cell array 110 and a processing circuit 120 . Among them, the anti-fuse-type PUF memory cell array 110 has been programmed enrollment.
根据本发明的实施例,在纠缠动作与取回动作时,反熔丝型PUF存储器胞阵列110可以输出金钥(key)至处理电路120。举例来说,在纠缠动作时,处理电路120接收明文(plain text)与金钥并产生密文(cipher text)。而密文可以存储于存储电路130。举例来说,存储电路130可为一非易失性存储器或者一硬盘。当然,存储电路130也可以包含于本系统100中。According to an embodiment of the present invention, the anti-fuse PUF memory cell array 110 can output a key to the processing circuit 120 during the entanglement operation and the retrieval operation. For example, during the entanglement operation, the processing circuit 120 receives the plain text and the key and generates the cipher text. The ciphertext can be stored in the storage circuit 130 . For example, the storage circuit 130 may be a non-volatile memory or a hard disk. Of course, the storage circuit 130 may also be included in the system 100 .
再者,在取回动作时,处理电路120接收存储电路130输出的密文。接着,处理电路120根据密文与金钥来产生明文。Furthermore, during the retrieval operation, the processing circuit 120 receives the ciphertext output by the storage circuit 130 . Next, the processing circuit 120 generates the plaintext according to the ciphertext and the key.
根据本发明的实施例,反熔丝型PUF存储器胞阵列110是由多个反熔丝型OTP存储器胞所组成。由于工艺变异,将无法预测编程后(enrolled)反熔丝型PUF存储器胞阵列110中反熔丝型PUF存储器胞的存储状态。因此,在集成电路芯片中的反熔丝型PUF存储器胞阵列110可以提供无法预测且独一无二的金钥至处理电路120。According to an embodiment of the present invention, the anti-fuse type PUF memory cell array 110 is composed of a plurality of anti-fuse type OTP memory cells. Due to process variation, the memory state of the antifuse PUF memory cells in the enrolled antifuse PUF memory cell array 110 cannot be predicted. Therefore, the antifuse-type PUF memory cell array 110 in the integrated circuit chip can provide unpredictable and unique keys to the processing circuit 120 .
亦即,由于本系统100的金钥由集成电路芯片内部的反熔丝型PUF存储器胞阵列110所产生,集成电路芯片外界无法轻易得知金钥的内容。因此,就算取得存储装置130中的密文,由于无法得知反熔丝PUF存储器胞阵列110所产生的金钥,密文将无法被破解。That is, since the key of the system 100 is generated by the anti-fuse PUF memory cell array 110 inside the integrated circuit chip, the outside of the integrated circuit chip cannot easily know the content of the key. Therefore, even if the ciphertext in the storage device 130 is obtained, since the key generated by the antifuse PUF memory cell array 110 cannot be known, the ciphertext cannot be cracked.
换句话说,由特定集成电路芯片的纠缠与取回系统100所产生的密文,仅能由该特定集成电路芯片来取回为明文。其他结构类似的集成电路芯片,由于金钥内容相异,无法将特定集成电路芯片产生的密文取回为明文。In other words, the ciphertext generated by the entanglement and retrieval system 100 of a specific integrated circuit chip can only be retrieved as plaintext by the specific integrated circuit chip. Other integrated circuit chips with similar structures cannot retrieve the ciphertext generated by a specific integrated circuit chip as plaintext due to different key contents.
请参照图2A,其所绘示为本发明的纠缠与取回系统的第一实施例。纠缠与取回系统200设置于集成电路芯片(IC chip)内,此系统200包括一反熔丝型PUF存储器胞阵列210以及一处理电路。其中,处理电路包括一顺序逻辑电路(sequence logic circuit)220、一打乱逻辑电路(randomize logic circuit)230。Please refer to FIG. 2A , which shows a first embodiment of the entanglement and retrieval system of the present invention. The entanglement and retrieval system 200 is disposed in an integrated circuit chip (IC chip). The system 200 includes an anti-fuse-type PUF memory cell array 210 and a processing circuit. The processing circuit includes a sequence logic circuit 220 and a randomize logic circuit 230 .
在纠缠动作与取回动作时,反熔丝型PUF存储器胞阵列210可输出第一金钥KEY1至打乱逻辑电路230。举例来说,在纠缠动作时,顺序逻辑电路220接收明文Data_p。在进行顺序调整程序(sequence adjusting process)后产生第一数据Data_s。接着,打乱逻辑电路230接收第一数据Data_s与第一金钥KEY1并产生密文Data_c。而密文Data_c可以存储于存储电路240中。During the entanglement action and the retrieval action, the anti-fuse PUF memory cell array 210 can output the first key KEY1 to the scrambled logic circuit 230 . For example, during the entanglement action, the sequential logic circuit 220 receives the plaintext Data_p. The first data Data_s is generated after a sequence adjustment process is performed. Next, the scrambled logic circuit 230 receives the first data Data_s and the first key KEY1 and generates the ciphertext Data_c. The ciphertext Data_c can be stored in the storage circuit 240 .
再者,在取回动作时,打乱逻辑电路230接收密文Data_c与第一金钥KEY1并产生第一数据Data_s。接着,顺序逻辑电路220接收第一数据Data_s,并且进行顺序回复程序(sequence reversing process)后,产生明文Data_p。Furthermore, during the retrieval operation, the scrambled logic circuit 230 receives the ciphertext Data_c and the first key KEY1 and generates the first data Data_s. Next, the sequence logic circuit 220 receives the first data Data_s and performs a sequence reversing process to generate the plaintext Data_p.
根据本发明的第一实施例,顺序逻辑电路220基于对称性交换(symmetricswapping)来设计顺序调整程序与顺序回复程序。请参照图2B与图2C,其所绘示为第一实施例的顺序逻辑电路进行顺序调整程序与顺序回复程序的一个范例。According to the first embodiment of the present invention, the sequence logic circuit 220 designs the sequence adjustment procedure and the sequence recovery procedure based on symmetric swapping. Please refer to FIG. 2B and FIG. 2C , which illustrate an example of the sequence adjustment procedure and the sequence recovery procedure performed by the sequential logic circuit of the first embodiment.
如图2B所示,顺序逻辑电路220包括二个寄存器222、224。寄存器222接收明文Data_p,且明文Data_p被区分为四个部分P1~P4。举例来说,假设明文为32个位(bits),可区分为4个字节(bytes)。亦即,寄存器222中地址A31~A24中的内容为明文的第一部分P1、地址A23~A16中的内容为明文的第二部分P2、地址A15~A8中的内容为明文的第三部分P3、地址A7~A0中的内容为明文的第四部分P4。As shown in FIG. 2B , the sequential logic circuit 220 includes two registers 222 , 224 . The register 222 receives the plaintext Data_p, and the plaintext Data_p is divided into four parts P1-P4. For example, assuming that the plaintext is 32 bits (bits), it can be divided into 4 bytes (bytes). That is, the contents of the addresses A31 to A24 in the register 222 are the first part P1 of the plaintext, the contents of the addresses A23 to A16 are the second part P2 of the plaintext, and the contents of the addresses A15 to A8 are the third part P3 of the plaintext, The content in addresses A7 to A0 is the fourth part P4 of the plaintext.
当顺序逻辑电路220进行顺序调整程序时,第一部分P1与第二部分P2对调,且第三部分P3与第四部分P4对调后,产生第一数据Data_s并存储于寄存器224。因此,在顺序调整程序后,寄存器224中地址A31~A24中的内容为明文的第二部分P2、地址A23~A16中的内容为明文的第一部分P1、地址A15~A8中的内容为明文的第四部分P4、地址A7~A0中的内容为明文的第三部分P3。When the sequence logic circuit 220 performs the sequence adjustment procedure, the first part P1 and the second part P2 are swapped, and the third part P3 and the fourth part P4 are swapped to generate the first data Data_s and store it in the register 224 . Therefore, after the sequence adjustment procedure, the contents of addresses A31 to A24 in the register 224 are the second part P2 of plaintext, the contents of addresses A23 to A16 are the first part P1 of plaintext, and the contents of addresses A15 to A8 are plaintext The content in the fourth part P4 and addresses A7 to A0 is the third part P3 of the plaintext.
如图2C所示,寄存器222接收第一数据Data_s,且第一数据Data_s依序为明文的第二部分P2、第一部分P1、第四部分P4与第三部分P3。亦即,寄存器222中地址A31~A24中的内容为明文的第二部分P2、地址A23~A16中的内容为明文的第一部分P1、地址A15~A8中的内容为明文的第四部分P4、地址A7~A0中的内容为明文的第三部分P3。As shown in FIG. 2C , the register 222 receives the first data Data_s, and the first data Data_s is the second part P2 , the first part P1 , the fourth part P4 and the third part P3 of the plaintext in sequence. That is, the contents of the addresses A31 to A24 in the register 222 are the second part P2 of the plaintext, the contents of the addresses A23 to A16 are the first part P1 of the plaintext, and the contents of the addresses A15 to A8 are the fourth part P4 of the plaintext, The content in addresses A7 to A0 is the third part P3 of the plaintext.
当顺序逻辑电路222进行顺序回复程序时,第二部分P2与第一部分P1对调,且第四部分P4与第三部分P3对调后,产生明文Data_p并存储于寄存器224。因此,在顺序回复程序后,寄存器224中地址A31~A24中的内容为明文的第一部分P1、地址A23~A16中的内容为明文的第二部分P2、地址A15~A8中的内容为明文的第三部分P3、地址A7~A0中的内容为明文的第四部分P4。换句话说,在顺序回复程序后,第一数据Data_s即可回复为明文Data_p。When the sequence logic circuit 222 performs the sequence recovery procedure, the second part P2 and the first part P1 are swapped, and the fourth part P4 and the third part P3 are swapped, and the plaintext Data_p is generated and stored in the register 224 . Therefore, after the sequential reply procedure, the contents of the addresses A31 to A24 in the register 224 are the first part P1 of the plaintext, the contents of the addresses A23 to A16 are the second part P2 of the plaintext, and the contents of the addresses A15 to A8 are the plaintext. The content in the third part P3 and addresses A7 to A0 is the fourth part P4 of the plaintext. In other words, after the sequential reply procedure, the first data Data_s can be restored as plaintext Data_p.
由以上的说明可知,在进行顺序调整程序时,第一字节与第二字节对调,且第三字节与第四字节对调。因此,在顺序调整程序后,第一数据Data_s的顺序依序为明文的第二字节、第一字节、第四字节与第三字节。再者,在顺序回复程序后,第一数据Data_s即可回复为明文Data_p。As can be seen from the above description, when the sequence adjustment procedure is performed, the first byte is swapped with the second byte, and the third byte is swapped with the fourth byte. Therefore, after the sequence adjustment procedure, the sequence of the first data Data_s is the second byte, the first byte, the fourth byte and the third byte of the plaintext in sequence. Furthermore, after the sequential reply procedure, the first data Data_s can be restored as plaintext Data_p.
当然,上述的顺序调整程序与顺序回复程序仅是本发明的一个实施例。本领域技术人员也可以基于对称性交换(symmetric swapping)来设计其他顺序调整程序与顺序回复程序。举例来说,在进行顺序调整程序时,将明文Data_p的第四部分P4与第一部分P1对调,且第三部分P3与第二部分P2对调。之后,产生第一数据Data_s。在进行顺序回复程序时,将第一数据Data_s回复为明文Data_p。Of course, the above sequence adjustment procedure and sequence recovery procedure are only one embodiment of the present invention. Those skilled in the art can also design other sequence adjustment procedures and sequence recovery procedures based on symmetric swapping. For example, during the sequence adjustment process, the fourth part P4 of the plaintext Data_p is swapped with the first part P1, and the third part P3 and the second part P2 are swapped. After that, the first data Data_s are generated. During the sequence reply procedure, the first data Data_s is returned as plaintext Data_p.
如图2D与图2E,其所绘示为打乱逻辑电路及其运作示意图。其中,打乱逻辑电路230包括二个寄存器232、234与多个异或门(XOR gate)900~931。打乱逻辑电路230将第一数据Data_s与第一金钥KEY1进行异或运算(XOR operation)后,即产生密文Data_c。FIG. 2D and FIG. 2E are schematic diagrams of the scrambled logic circuit and its operation. The scrambled logic circuit 230 includes two registers 232 and 234 and a plurality of XOR gates 900 to 931 . After the scramble logic circuit 230 performs an XOR operation on the first data Data_s and the first key KEY1, the ciphertext Data_c is generated.
举例来说,寄存器232接收的第一数据Data_s为32位,亦即s31~s0;寄存器234接收的第一金钥KEY1为32位,亦即k31~k0。如图2D所示,第一数据Data_s的位s0与第一金钥的位k0利用异或门900进行异或运算后,产生密文的位c0。利用相同的运作方式,也可以产生密文Data_c的其他位c31~c1。For example, the first data Data_s received by the register 232 is 32 bits, that is, s31-s0; the first key KEY1 received by the register 234 is 32 bits, that is, k31-k0. As shown in FIG. 2D , after the bit s0 of the first data Data_s and the bit k0 of the first key are XORed by the XOR gate 900, the bit c0 of the ciphertext is generated. Using the same operation method, other bits c31-c1 of the ciphertext Data_c can also be generated.
另外,打乱逻辑电路224将密文Data_c与第一金钥KEY1进行异或运算后,即产生第一数据Data_s。如图2E所示,寄存器232接收密文Data_c,亦即c31~c0;寄存器234接收的第一金钥KEY1。再者,密文Data_c的位c0与第一金钥的位k0利用异或门900进行异或运算后,产生第一数据的位s0。利用相同的运作方式,也可以产生第一数据Data_s的其他位s31~s1。In addition, the scrambled logic circuit 224 generates the first data Data_s after XOR operation is performed on the ciphertext Data_c and the first key KEY1. As shown in FIG. 2E , the register 232 receives the ciphertext Data_c, that is, c31˜c0; the register 234 receives the first key KEY1. Furthermore, the bit c0 of the ciphertext Data_c and the bit k0 of the first key are XORed by the XOR gate 900 to generate the bit s0 of the first data. Using the same operation method, other bits s31˜s1 of the first data Data_s can also be generated.
再者,本领域技术人员也可以根据第一实施例的纠缠与取回系统200进行修改。举例来说,在纠缠动作时,先利用打乱逻辑电路230来接收明文,并根据明文与第一金钥KEY1来产生第一数据。接着,顺序逻辑电路220对第一数据进行顺序调整程序后,产生密文。在取回动作时,利用顺序逻辑电路220对密文进行顺序回复程序并产生第一数据。接着,打乱逻辑电路230接收第一数据与第一金钥KEY1来产生明文。Furthermore, those skilled in the art can also make modifications according to the entanglement and retrieval system 200 of the first embodiment. For example, during the entanglement operation, the scrambled logic circuit 230 is used to receive the plaintext, and the first data is generated according to the plaintext and the first key KEY1. Next, after the sequence logic circuit 220 performs a sequence adjustment procedure on the first data, a ciphertext is generated. During the retrieval operation, the sequence logic circuit 220 is used to perform a sequence recovery procedure on the ciphertext and generate the first data. Next, the scrambled logic circuit 230 receives the first data and the first key KEY1 to generate plaintext.
请参照图3A,其所绘示为本发明的纠缠与取回系统的第二实施例。纠缠与取回系统300设置于集成电路芯片(IC chip)内,此系统300包括一反熔丝型PUF存储器胞阵列310以及一处理电路。其中,处理电路包括一顺序逻辑电路320、一打乱逻辑电路330。Please refer to FIG. 3A , which shows a second embodiment of the entanglement and retrieval system of the present invention. The entanglement and retrieval system 300 is disposed in an integrated circuit chip (IC chip). The system 300 includes an anti-fuse-type PUF memory cell array 310 and a processing circuit. The processing circuit includes a sequential logic circuit 320 and a shuffling logic circuit 330 .
在纠缠动作与取回动作时,反熔丝型PUF存储器胞阵列210可输出第一金钥KEY1与第二金钥KEY2至顺序逻辑电路320与打乱逻辑电路330。举例来说,在纠缠动作时,顺序逻辑电路320接收明文Data_p以及第一金钥KEY1并进行顺序调整程序后,产生第一数据Data_s。接着,打乱逻辑电路330接收第一数据Data_s与第二金钥KEY2并产生密文Data_c。而密文Data_c可以存储于存储电路340中。During the entanglement operation and the retrieval operation, the anti-fuse PUF memory cell array 210 can output the first key KEY1 and the second key KEY2 to the sequential logic circuit 320 and the scrambled logic circuit 330 . For example, during the entanglement operation, the sequence logic circuit 320 generates the first data Data_s after receiving the plaintext Data_p and the first key KEY1 and performing the sequence adjustment procedure. Next, the scrambled logic circuit 330 receives the first data Data_s and the second key KEY2 and generates the ciphertext Data_c. The ciphertext Data_c can be stored in the storage circuit 340 .
再者,在取回动作时,打乱逻辑电路330接收密文Data_c与第二金钥KEY2并产生第一数据Data_s。接着,顺序逻辑电路320接收第一数据Data_s与第一金钥KEY1,并且进行顺序回复程序后,产生明文Data_p。Furthermore, during the retrieval operation, the scrambled logic circuit 330 receives the ciphertext Data_c and the second key KEY2 and generates the first data Data_s. Next, the sequence logic circuit 320 receives the first data Data_s and the first key KEY1, and after performing the sequence reply procedure, generates the plaintext Data_p.
相较于第一实施例,第二实施例的顺序逻辑电路320可基于非对称性交换(asymmetric swapping)或者对称性交换(symmetric swapping)来进行顺序调整程序与顺序回复程序。以下仅介绍顺序逻辑电路320,其他电路的运作不再赘述。Compared with the first embodiment, the sequence logic circuit 320 of the second embodiment can perform the sequence adjustment procedure and the sequence recovery procedure based on asymmetric swapping or symmetric swapping. Only the sequential logic circuit 320 will be described below, and the operations of other circuits will not be described again.
请参照图3B与图3C,其所绘示为第二实施例的顺序逻辑电路基于非对称性交换来进行顺序调整程序与顺序回复程序的一个范例。顺序逻辑电路320包括二个寄存器321、322,其中寄存器321为一循环移位寄存器(circular shift register)。举例来说,寄存器321接收的明文Data_p为32位,亦即p31~p0;且寄存器322接收的第一金钥KEY1为32位。当顺序逻辑电路320进行顺序调整程序时,寄存器321进行右移动作(shifted right),亦即由左至右方向位移(L→R)。而第一金钥KEY1的数值用来决定寄存器321右移的位数。Please refer to FIG. 3B and FIG. 3C , which illustrate an example of the sequence adjustment procedure and the sequence recovery procedure performed by the sequential logic circuit of the second embodiment based on asymmetric switching. The sequential logic circuit 320 includes two registers 321 and 322, wherein the register 321 is a circular shift register. For example, the plaintext Data_p received by the register 321 is 32 bits, that is, p31-p0; and the first key KEY1 received by the register 322 is 32 bits. When the sequence logic circuit 320 performs the sequence adjustment procedure, the register 321 is shifted right, that is, shifted from left to right (L→R). The value of the first key KEY1 is used to determine the number of bits by which the register 321 is shifted to the right.
再者,当顺序逻辑电路320进行顺序回复程序时,寄存器321进行左移动作(shifted left),亦即由右至左方向位移(R→L)。再者,第一金钥KEY1的数值用来决定寄存器321左移的位数。Furthermore, when the sequence logic circuit 320 performs the sequence recovery procedure, the register 321 performs a shifted left operation, that is, a shift from right to left (R→L). Furthermore, the value of the first key KEY1 is used to determine the number of bits by which the register 321 is shifted to the left.
如图3B所示,寄存器321接收明文Data_p。假设第一金钥KEY的数值为“10”,则寄存器321右移10个位。因此,顺序逻辑电路320进行顺序调整程序后,寄存器321中,明文Data_p的位p9成为第一数据Data_s的最高位(MSB),明文Data_p的位p10成为第一数据Data_s的最低位(LSB)。As shown in FIG. 3B, the register 321 receives the plaintext Data_p. Assuming that the value of the first key KEY is "10", the register 321 is shifted to the right by 10 bits. Therefore, after the sequence logic circuit 320 performs the sequence adjustment procedure, in the register 321, the bit p9 of the plaintext Data_p becomes the most significant bit (MSB) of the first data Data_s, and the bit p10 of the plaintext Data_p becomes the least significant bit (LSB) of the first data Data_s.
如图3C所示,寄存器322接收第一数据Data_s,且第一金钥KEY的数值为“10”。在顺序逻辑电路320进行顺序回复程序时,寄存器321中的第一数据Data_s可以根据第一金钥KEY来回复为明文Data_p。As shown in FIG. 3C, the register 322 receives the first data Data_s, and the value of the first key KEY is "10". When the sequence logic circuit 320 performs the sequence recovery procedure, the first data Data_s in the register 321 can be recovered as plaintext Data_p according to the first key KEY.
请参照图3D与图3E,其所绘示为第二实施例的顺序逻辑电路基于非对称性交换来进行顺序调整程序与顺序回复程序的一个范例。其中,顺序逻辑电路320包括三个寄存器323~325与多个异或门800~831。Please refer to FIG. 3D and FIG. 3E , which illustrate an example of the sequence adjustment process and the sequence recovery process performed by the sequence logic circuit of the second embodiment based on asymmetric switching. The sequential logic circuit 320 includes three registers 323 - 325 and a plurality of XOR gates 800 - 831 .
当顺序逻辑电路320进行顺序调整程序时,寄存器323接收32位的明文Data_p,亦即p31~p0。寄存器325接收的第一金钥KEY1。再者,寄存器323的地址A31~A0会与第一金钥KEY1进行异或运算并形成新的地址。而顺序逻辑电路320根据新的地址来调整明文Data_p的顺序,并存储于寄存器324而成为第一数据Data_s。When the sequence logic circuit 320 performs the sequence adjustment procedure, the register 323 receives the 32-bit plaintext Data_p, that is, p31-p0. Register 325 receives the first key KEY1. Furthermore, the addresses A31˜A0 of the register 323 are XORed with the first key KEY1 to form a new address. The sequence logic circuit 320 adjusts the sequence of the plaintext Data_p according to the new address, and stores the plaintext Data_p in the register 324 to become the first data Data_s.
再者,当顺序逻辑电路320进行顺序回复程序时,寄存器323接收第一数据Data_s。寄存器325接收的第一金钥KEY1。同理,寄存器323的地址A31~A0会与第一金钥KEY1进行异或运算并形成新的地址。而顺序逻辑电路320根据新的地址来调整第一数据Data_s的顺序并存储于寄存器324,而寄存器324的内容即为回复的明文Data_p。Furthermore, when the sequence logic circuit 320 performs the sequence recovery procedure, the register 323 receives the first data Data_s. Register 325 receives the first key KEY1. Similarly, the addresses A31 to A0 of the register 323 will be XORed with the first key KEY1 to form a new address. The sequence logic circuit 320 adjusts the sequence of the first data Data_s according to the new address and stores it in the register 324, and the content of the register 324 is the plaintext Data_p of the reply.
以下以第一金钥KEY1为“10101”为例来说明顺序调整程序与顺序回复程序。The sequence adjustment procedure and the sequence recovery procedure are described below by taking the first key KEY1 as "10101" as an example.
如图3D所示,在进行顺序调整程序时,寄存器323接收明文Data_p。再者,寄存器323的地址A31~A0会与第一金钥KEY1进行异或运算并形成新的地址。As shown in FIG. 3D, during the sequence adjustment procedure, the register 323 receives the plaintext Data_p. Furthermore, the addresses A31˜A0 of the register 323 are XORed with the first key KEY1 to form a new address.
举例来说,地址A31(“11111”)与金钥KEY1(“10101”)进行异或运算后的新地址为A10(“01010”),所以寄存器323地址A31的内容p31会存储于寄存器424的地址A10内。地址A30(“11110”)与金钥KEY1(“10101”)进行异或运算后的新地址为A11(“01011”),所以寄存器323地址A30的内容p30会存储于寄存器424的地址A11内。地址A1(“00001”)与金钥KEY1(“10101”)进行异或运算后的新地址为A20(“10100”),所以寄存器323地址A1的内容p1会存储于寄存器424的地址A20内。地址A0(“00000”)与金钥KEY1(“10101”)进行异或运算后的新地址为A21(“10101”),所以寄存器323地址A0的内容p0会存储于寄存器424的地址A21内。For example, the address A31 ("11111") is XORed with the key KEY1 ("10101") and the new address is A10 ("01010"), so the content p31 of address A31 of register 323 will be stored in register 424 Inside address A10. The new address after the XOR operation between the address A30 ("11110") and the key KEY1 ("10101") is A11 ("01011"), so the content p30 of the address A30 of the register 323 will be stored in the address A11 of the register 424. The new address after the XOR operation between the address A1 (“00001”) and the key KEY1 (“10101”) is A20 (“10100”), so the content p1 of the address A1 of the register 323 will be stored in the address A20 of the register 424 . The new address after the XOR operation between the address A0 (“00000”) and the key KEY1 (“10101”) is A21 (“10101”), so the content p0 of the address A0 of the register 323 will be stored in the address A21 of the register 424.
因此,在进行顺序调整程序后,寄存器324中的内容即为第一数据Data_s。亦即,寄存器324中地址A31~A0所存储的内容依序为p10、p11、p8、p9、p14、p15、p12、p13、p2、p3、p0、p1、p26、p27、p24、p25、p30、p31、p28、p29、p18、p19、p16、p17、p22、p23、p20、p21。Therefore, after the sequence adjustment procedure is performed, the content in the register 324 is the first data Data_s. That is, the contents stored in the addresses A31 to A0 in the register 324 are sequentially p10, p11, p8, p9, p14, p15, p12, p13, p2, p3, p0, p1, p26, p27, p24, p25, p30 , p31, p28, p29, p18, p19, p16, p17, p22, p23, p20, p21.
如图3E所示,在进行顺序回复程序时,寄存器323接收第一数据Data_s。再者,寄存器323的地址A31~A0会与第一金钥KEY1进行异或运算并形成新的地址。As shown in FIG. 3E, the register 323 receives the first data Data_s during the sequence recovery procedure. Furthermore, the addresses A31˜A0 of the register 323 are XORed with the first key KEY1 to form a new address.
举例来说,地址A31(“11111”)与金钥KEY1(“10101”)进行异或运算后的新地址为A10(“01010”),所以寄存器323地址A31的内容p10会存储于寄存器424的地址A10内。地址A30(“11110”)与金钥KEY1(“10101”)进行异或运算后的新地址为A11(“01011”),所以寄存器323地址A30的内容p11会存储于寄存器424的地址A11内。地址A1(“00001”)与金钥KEY1(“10101”)进行异或运算后的新地址为A20(“10100”),所以寄存器323地址A1的内容p20会存储于寄存器424的地址A20内。地址A0(“00000”)与金钥KEY1(“10101”)进行异或运算后的新地址为A21(“10101”),所以寄存器323地址A0的内容p21会存储于寄存器424的地址A21内。For example, the address A31 ("11111") is XORed with the key KEY1 ("10101") and the new address is A10 ("01010"), so the content p10 of address A31 of register 323 will be stored in register 424 Inside address A10. The new address after the XOR operation between the address A30 ("11110") and the key KEY1 ("10101") is A11 ("01011"), so the content p11 of the address A30 of the register 323 will be stored in the address A11 of the register 424. The new address after the XOR operation between the address A1 ("00001") and the key KEY1 ("10101") is A20 ("10100"), so the content p20 of the address A1 of the register 323 will be stored in the address A20 of the register 424. The new address after the XOR operation between the address A0 ("00000") and the key KEY1 ("10101") is A21 ("10101"), so the content p21 of the address A0 of the register 323 will be stored in the address A21 of the register 424.
因此,在进行顺序回复程序后,寄存器324中的内容即为明文Data_p。亦即,寄存器324中地址A31~A0所存储的内容依序为p31~p0。Therefore, after the sequence reply procedure is performed, the content in the register 324 is the plaintext Data_p. That is, the contents stored in the addresses A31 to A0 in the register 324 are sequentially p31 to p0.
当然,上述的顺序调整程序与顺序回复程序仅是本发明的一个实施例。本领域技术人员也可以同时基于对称性交换(symmetric swapping)与非对称性交换(asymmetricswapping)来设计其他顺序调整程序与顺序回复程序。Of course, the above sequence adjustment procedure and sequence recovery procedure are only one embodiment of the present invention. Those skilled in the art can also design other sequence adjustment procedures and sequence restoration procedures based on symmetric swapping and asymmetric swapping.
请参照图3F,其所绘示为第二实施例的顺序逻辑电路进行顺序调整程序与顺序回复程序的再一个范例。顺序逻辑电路330包括三个寄存器326、327、328以及一对照表(lookup table)329。其中,寄存器326接收的明文Data_p,寄存器328接收第一金钥KEY1,寄存器327产生第一数据Data_s。再者,对照表329中记录顺序逻辑电路320所使用的操作模式(operation mode)。Please refer to FIG. 3F , which is another example of the sequence adjustment procedure and the sequence recovery procedure performed by the sequential logic circuit of the second embodiment. The sequential logic circuit 330 includes three registers 326 , 327 , 328 and a lookup table 329 . The register 326 receives the plaintext Data_p, the register 328 receives the first key KEY1, and the register 327 generates the first data Data_s. Furthermore, the operation mode used by the sequential logic circuit 320 is recorded in the comparison table 329 .
举例来说,根据对照表329的内容,当第一金钥KEY1的数值为奇数时,顺序逻辑电路320基于对称性交换进行图3D与图3E所示的顺序调整程序与顺序回复程序。另外,当第一金钥KEY1的数值为偶数时,顺序逻辑电路320基于非对称性交换进行图3B与图3C所示的顺序调整程序与顺序回复程序。For example, according to the content of the comparison table 329, when the value of the first key KEY1 is an odd number, the sequence logic circuit 320 performs the sequence adjustment procedure and the sequence recovery procedure shown in FIG. 3D and FIG. 3E based on the symmetry exchange. In addition, when the value of the first key KEY1 is an even number, the sequence logic circuit 320 performs the sequence adjustment procedure and the sequence recovery procedure shown in FIG. 3B and FIG. 3C based on the asymmetric exchange.
当然,对照表324的内容并不限定于仅有二种操作模式。本领域技术人员可以设计更多的操作模式,运用于顺序逻辑电路320。Of course, the content of the look-up table 324 is not limited to only two operation modes. Those skilled in the art can design more operation modes to be applied to the sequential logic circuit 320 .
相同地,第二实施例的纠缠与取回系统300也可以进行修改。举例来说,在纠缠动作时,先利用打乱逻辑电路330来接收明文,并根据明文与第一金钥KEY1来产生第一数据。接着,顺序逻辑电路320根据第二金钥KEY2与第一数据进行顺序调整程序后,产生密文。在取回动作时,利用顺序逻辑电路320根据第二金钥KEY2与密文来进行顺序回复程序并产生第一数据。接着,打乱逻辑电路330接收第一数据与第一金钥KEY1来产生明文。Likewise, the entanglement and retrieval system 300 of the second embodiment can also be modified. For example, during the entanglement operation, the scrambled logic circuit 330 is used to receive the plaintext, and the first data is generated according to the plaintext and the first key KEY1. Next, the sequence logic circuit 320 performs a sequence adjustment procedure according to the second key KEY2 and the first data, and generates a ciphertext. During the retrieval operation, the sequence logic circuit 320 is used to perform the sequence recovery procedure according to the second key KEY2 and the ciphertext to generate the first data. Next, the scrambled logic circuit 330 receives the first data and the first key KEY1 to generate plaintext.
请参照图4A,其所绘示为本发明的纠缠与取回系统的第三实施例。纠缠与取回系统400设置于集成电路芯片(IC chip)内,此系统400包括一反熔丝型PUF存储器胞阵列410以及一处理电路。其中,处理电路包括一顺序逻辑电路420、一打乱逻辑电路430与一加密逻辑电路(encryption logic circuit)450。Please refer to FIG. 4A , which shows a third embodiment of the entanglement and retrieval system of the present invention. The entanglement and retrieval system 400 is disposed in an integrated circuit chip (IC chip). The system 400 includes an anti-fuse-type PUF memory cell array 410 and a processing circuit. The processing circuit includes a sequential logic circuit 420 , a scrambled logic circuit 430 and an encryption logic circuit 450 .
在纠缠动作与取回动作时,反熔丝型PUF存储器胞阵列410可输出第一金钥KEY1、第二金钥KEY2、第三金钥KEY3至顺序逻辑电路420、打乱逻辑电路430与加密逻辑电路450。举例来说,在纠缠动作时,顺序逻辑电路420接收明文Data_p与第一金钥KEY1并进行顺序调整程序后,产生第一数据Data_s。接着,打乱逻辑电路430接收第一数据Data_s与第二金钥KEY2并产生第二数据Data_r。接着,加密逻辑电路450接收第二数据Data_r与第三金钥KEY3并产生密文Data_c。而密文Data_c可以存储于存储电路440中。During the entanglement action and the retrieval action, the anti-fuse PUF memory cell array 410 can output the first key KEY1, the second key KEY2, and the third key KEY3 to the sequential logic circuit 420, the scrambled logic circuit 430 and the encryption Logic circuit 450 . For example, during the entanglement operation, the sequence logic circuit 420 generates the first data Data_s after receiving the plaintext Data_p and the first key KEY1 and performing the sequence adjustment procedure. Next, the scrambled logic circuit 430 receives the first data Data_s and the second key KEY2 and generates the second data Data_r. Next, the encryption logic circuit 450 receives the second data Data_r and the third key KEY3 and generates the ciphertext Data_c. The ciphertext Data_c can be stored in the storage circuit 440 .
再者,在取回动作时,加密逻辑电路450接收密文Data_c与第三金钥KEY3并产生第二数据Data_r。接着,打乱逻辑电路430接收第二数据Data_r与第二金钥KEY2并产生第一数据Data_s。接着,顺序逻辑电路420接收第一数据Data_s与第一金钥KEY1,并且进行顺序回复程序(sequence reversing process)后,产生明文Data_p。Furthermore, during the retrieval operation, the encryption logic circuit 450 receives the ciphertext Data_c and the third key KEY3 and generates the second data Data_r. Next, the scrambled logic circuit 430 receives the second data Data_r and the second key KEY2 and generates the first data Data_s. Next, the sequence logic circuit 420 receives the first data Data_s and the first key KEY1, and performs a sequence reversing process to generate the plaintext Data_p.
第三实施例的顺序逻辑电路420与打乱逻辑电路430的运作原理相同于第二实施例。以下仅介绍加密逻辑电路450,其他电路的运作不再赘述。The operation principles of the sequential logic circuit 420 and the shuffling logic circuit 430 of the third embodiment are the same as those of the second embodiment. Only the encryption logic circuit 450 will be described below, and the operations of other circuits will not be described again.
请参照图4B与图4C,其所绘示为第三实施例的加密逻辑电路进行加密程序与解密程序的一个范例。Please refer to FIG. 4B and FIG. 4C , which illustrate an example of the encryption process and the decryption process performed by the encryption logic circuit of the third embodiment.
举例来说,如图4B所示,加密逻辑电路450包括二个寄存器452、454与一数据加密标准电路(data encryption standard circuit,简称DES电路)456。寄存器452接收第二数据Data_r,且寄存器454接收第三金钥KEY3。当加密逻辑电路450进行加密程序时,数据加密标准电路456接收第二数据Data_r与第三金钥KEY后,产生密文Data_c。For example, as shown in FIG. 4B , the encryption logic circuit 450 includes two registers 452 and 454 and a data encryption standard circuit (DES circuit for short) 456 . The register 452 receives the second data Data_r, and the register 454 receives the third key KEY3. When the encryption logic circuit 450 performs the encryption process, the data encryption standard circuit 456 generates the ciphertext Data_c after receiving the second data Data_r and the third key KEY.
如图4C所示,寄存器452接收密文Data_c,且寄存器454接收第三金钥KEY3。当加密逻辑电路450进行解密程序时,数据加密标准电路456接收密文Data_c与第三金钥KEY后,产生第二数据Data_r。As shown in FIG. 4C, the register 452 receives the ciphertext Data_c, and the register 454 receives the third key KEY3. When the encryption logic circuit 450 performs the decryption process, the data encryption standard circuit 456 generates the second data Data_r after receiving the ciphertext Data_c and the third key KEY.
当然,上述的加密程序与解密程序仅是本发明的一个实施例。本领域技术人员也可以设计其他加密程序与解密程序。请参照图4D与图4E,其所绘示为第三实施例的加密逻辑电路进行加密程序与解密程序的另一个范例。Of course, the above encryption program and decryption program are only one embodiment of the present invention. Those skilled in the art can also design other encryption programs and decryption programs. Please refer to FIG. 4D and FIG. 4E , which illustrate another example of the encryption process and the decryption process performed by the encryption logic circuit of the third embodiment.
举例来说,如图4D所示,加密逻辑电路450包括二个寄存器452、454与一进阶加密标准电路(advanced encryption standard circuit,简称AES电路)458。寄存器452接收第二数据Data_r,且寄存器454接收第三金钥KEY3。当加密逻辑电路450进行加密程序时,进阶加密标准电路458接收第二数据Data_r与第三金钥KEY后,产生密文Data_c。For example, as shown in FIG. 4D , the encryption logic circuit 450 includes two registers 452 and 454 and an advanced encryption standard circuit (AES circuit for short) 458 . The register 452 receives the second data Data_r, and the register 454 receives the third key KEY3. When the encryption logic circuit 450 performs the encryption process, the advanced encryption standard circuit 458 generates the ciphertext Data_c after receiving the second data Data_r and the third key KEY.
如图4E所示,寄存器452接收密文Data_c,且寄存器454接收第三金钥KEY3。当加密逻辑电路450进行解密程序时,进阶加密标准电路458接收密文Data_c与第三金钥KEY后,产生第二数据Data_r。As shown in FIG. 4E, the register 452 receives the ciphertext Data_c, and the register 454 receives the third key KEY3. When the encryption logic circuit 450 performs the decryption process, the advanced encryption standard circuit 458 generates the second data Data_r after receiving the ciphertext Data_c and the third key KEY.
再者,第三实施例中的顺序逻辑电路420是在非对称性交换(asymmetricswapping)来设计顺序调整程序与顺序回复程序。本领域技术人员也可以基于对称性交换(symmetric swapping)来设计其他顺序调整程序与顺序回复程序。此时,顺序逻辑电路420不需要接收第一金钥KEY1。Furthermore, the sequence logic circuit 420 in the third embodiment is designed with asymmetric swapping to design the sequence adjustment procedure and the sequence recovery procedure. Those skilled in the art can also design other sequence adjustment procedures and sequence recovery procedures based on symmetric swapping. At this time, the sequence logic circuit 420 does not need to receive the first key KEY1.
同理,本领域技术人员也可以根据第三实施例的纠缠与取回系统400来任意修改顺序逻辑电路420、打乱逻辑电路430、加密逻辑电路450的先后动作次序。此处不再赘述。再者,打乱逻辑电路430与加密逻辑电路450皆具备将接收数据打乱的特性,因此加密逻辑电误450也可视为另一打乱逻辑电路。Similarly, those skilled in the art can also arbitrarily modify the sequence of actions of the sequential logic circuit 420 , the scrambled logic circuit 430 , and the encryption logic circuit 450 according to the entanglement and retrieval system 400 of the third embodiment. It will not be repeated here. Furthermore, both the scrambled logic circuit 430 and the encryption logic circuit 450 have the characteristic of scrambled the received data, so the encryption logic circuit 450 can also be regarded as another scrambled logic circuit.
由以上的说明可知,本发明提出一种使用物理不可复制技术的纠缠与取回系统。本系统由反熔丝型PUF存储器胞阵列提供无法预测且独一无二的金钥,处理电路即可将明文转换为密文。由于无法得知反熔丝PUF存储器胞阵列中的金钥内容,密文将无法被破解。As can be seen from the above description, the present invention proposes an entanglement and retrieval system using a physically non-replicable technology. In this system, an unpredictable and unique key is provided by an anti-fuse-type PUF memory cell array, and the processing circuit can convert the plaintext into ciphertext. Since the key content in the antifuse PUF memory cell array cannot be known, the ciphertext cannot be cracked.
综上所述,虽然本发明已以实施例公开如上,然其并非用以限定本发明。本发明所属领域技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视所附权利要求书界定范围为准。To sum up, although the present invention has been disclosed by the above embodiments, it is not intended to limit the present invention. Those skilled in the art to which the present invention pertains can make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, the protection scope of the present invention should be determined by the scope defined by the appended claims.
Claims (31)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862615463P | 2018-01-10 | 2018-01-10 | |
| US62/615,463 | 2018-01-10 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN110020556A true CN110020556A (en) | 2019-07-16 |
| CN110020556B CN110020556B (en) | 2022-02-18 |
Family
ID=67139896
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201811183739.5A Active CN110020556B (en) | 2018-01-10 | 2018-10-11 | Entanglement and retrieval system using physical unclonable techniques |
| CN201811261300.XA Active CN110022061B (en) | 2018-01-10 | 2018-10-26 | High voltage driver |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201811261300.XA Active CN110022061B (en) | 2018-01-10 | 2018-10-26 | High voltage driver |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US10505521B2 (en) |
| CN (2) | CN110020556B (en) |
| TW (6) | TWI658599B (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7114268B2 (en) * | 2018-02-20 | 2022-08-08 | ルネサスエレクトロニクス株式会社 | semiconductor equipment |
| CN115882717B (en) * | 2021-09-26 | 2025-08-01 | 上海江波龙微电子技术有限公司 | Charge pump circuit, modulation method of charge pump circuit and nonvolatile memory chip |
| JP2024137039A (en) * | 2023-03-24 | 2024-10-04 | キオクシア株式会社 | Magnetic Storage Device |
| TWI893863B (en) * | 2024-06-24 | 2025-08-11 | 力晶積成電子製造股份有限公司 | Nvm memory structure and method of manufacturing the same |
| US12549100B2 (en) | 2024-07-11 | 2026-02-10 | Silicon Laboratories Inc. | High voltage gate driver using low voltage transistors with input voltage referenced supply regulator |
Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1434388A (en) * | 2001-05-30 | 2003-08-06 | 环球拓普技术有限公司 | Method for information encryption |
| CN101035253A (en) * | 2006-11-14 | 2007-09-12 | 北京中星微电子有限公司 | Encryption or decryption implementing method, device and system |
| CN101702709A (en) * | 2009-11-05 | 2010-05-05 | 复旦大学 | An AES Encryption Unit Suitable for MIPS Processor |
| WO2010134192A1 (en) * | 2009-05-22 | 2010-11-25 | 三菱電機株式会社 | Electronic device, key generation program, recording medium, and key generation method |
| CN102387013A (en) * | 2010-08-31 | 2012-03-21 | 意法半导体(鲁塞)公司 | Key extraction in integrated circuit |
| CN103281224A (en) * | 2013-04-02 | 2013-09-04 | 中船重工(武汉)凌久高科有限公司 | CAN (Controller Area Network) bus safety communication method in intelligent illumination control system |
| CN105353329A (en) * | 2015-11-19 | 2016-02-24 | 苏州众天力信息科技有限公司 | Fault arc detection system based on cloud network |
| CN105790925A (en) * | 2014-12-24 | 2016-07-20 | 北京奇虎科技有限公司 | Data encryption method, data decryption method, data encryption device and data decryption device |
| US20160248580A1 (en) * | 2007-03-28 | 2016-08-25 | Intel Corporation | Flexible architecture and instruction for advanced encryption standard (aes) |
| US9613714B1 (en) * | 2016-01-19 | 2017-04-04 | Ememory Technology Inc. | One time programming memory cell and memory array for physically unclonable function technology and associated random code generating method |
| CN107135408A (en) * | 2017-03-31 | 2017-09-05 | 武汉斗鱼网络科技有限公司 | A kind of method for authenticating and device of video flowing address |
| US20170288869A1 (en) * | 2011-12-29 | 2017-10-05 | Intel Corporation | Secure key storage using physically unclonable functions |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4752699A (en) | 1986-12-19 | 1988-06-21 | International Business Machines Corp. | On chip multiple voltage generation using a charge pump and plural feedback sense circuits |
| US7209392B2 (en) * | 2004-07-20 | 2007-04-24 | Ememory Technology Inc. | Single poly non-volatile memory |
| TWI285375B (en) | 2005-05-27 | 2007-08-11 | Yield Microelectronics Corp | Voltage level converting circuit for use in flash memory |
| US7348809B2 (en) * | 2006-03-23 | 2008-03-25 | Silicon Laboratories Inc. | Input buffer |
| JP4245002B2 (en) * | 2006-04-10 | 2009-03-25 | セイコーエプソン株式会社 | Semiconductor integrated device |
| US7554311B2 (en) | 2006-07-31 | 2009-06-30 | Sandisk Corporation | Hybrid charge pump regulation |
| JP2008258939A (en) * | 2007-04-05 | 2008-10-23 | Matsushita Electric Ind Co Ltd | Multi-channel semiconductor integrated circuit |
| TWI349335B (en) * | 2007-05-02 | 2011-09-21 | Eon Silicon Solution Inc | Single-poly non-volatile memory |
| JP2009284150A (en) * | 2008-05-21 | 2009-12-03 | Panasonic Corp | Offset canceling circuit and display |
| KR101043723B1 (en) * | 2009-05-15 | 2011-06-24 | 주식회사 하이닉스반도체 | Nonvolatile memory device |
| US8467245B2 (en) * | 2010-03-24 | 2013-06-18 | Ememory Technology Inc. | Non-volatile memory device with program current clamp and related method |
| KR101343186B1 (en) * | 2011-08-09 | 2013-12-19 | 삼성전기주식회사 | Output driving circuit and transistor output circuit |
| KR20130030616A (en) * | 2011-09-19 | 2013-03-27 | 에스케이하이닉스 주식회사 | Nonvolatile memory device |
| CN103929057A (en) | 2013-01-11 | 2014-07-16 | 立锜科技股份有限公司 | Switching Mode Power Supply with Charge Pump |
| US9231590B1 (en) | 2013-03-15 | 2016-01-05 | David Schie | Trim method for high voltage drivers |
| US9818867B2 (en) * | 2013-06-27 | 2017-11-14 | Globalfoundries Singapore Pte. Ltd. | Simple and cost-free MTP structure |
| TW201505373A (en) | 2013-07-29 | 2015-02-01 | Ili Technology Corp | Voltage level conversion circuit |
| US9336872B2 (en) * | 2014-03-11 | 2016-05-10 | Everspin Technologies, Inc. | Nonvolatile logic and security circuits |
| US9508396B2 (en) * | 2014-04-02 | 2016-11-29 | Ememory Technology Inc. | Array structure of single-ploy nonvolatile memory |
| TWI593052B (en) * | 2015-01-07 | 2017-07-21 | 力旺電子股份有限公司 | Semiconductor component and method of manufacturing same |
| JP5940691B1 (en) | 2015-02-04 | 2016-06-29 | ウィンボンド エレクトロニクス コーポレーション | Voltage generation circuit, semiconductor device, and flash memory |
| US9864654B2 (en) * | 2015-09-21 | 2018-01-09 | Sandisk Technologies Llc | Detecting data indicated as being uncorrectable at a data storage device |
| US9805806B2 (en) * | 2015-10-16 | 2017-10-31 | Ememory Technology Inc. | Non-volatile memory cell and method of operating the same |
| CA2952941C (en) * | 2016-01-08 | 2018-12-11 | Sidense Corp. | Puf value generation using an anti-fuse memory array |
| TWI602394B (en) * | 2016-12-07 | 2017-10-11 | 矽統科技股份有限公司 | Source follower |
-
2018
- 2018-07-25 US US16/045,692 patent/US10505521B2/en active Active
- 2018-07-31 TW TW107126556A patent/TWI658599B/en active
- 2018-10-11 TW TW107135832A patent/TWI664640B/en active
- 2018-10-11 CN CN201811183739.5A patent/CN110020556B/en active Active
- 2018-10-18 TW TW107136814A patent/TWI671985B/en active
- 2018-10-26 CN CN201811261300.XA patent/CN110022061B/en active Active
- 2018-11-21 TW TW107141435A patent/TWI669518B/en active
- 2018-11-23 TW TW107141961A patent/TWI730267B/en active
- 2018-11-27 TW TW107142272A patent/TWI694590B/en active
Patent Citations (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1434388A (en) * | 2001-05-30 | 2003-08-06 | 环球拓普技术有限公司 | Method for information encryption |
| CN101035253A (en) * | 2006-11-14 | 2007-09-12 | 北京中星微电子有限公司 | Encryption or decryption implementing method, device and system |
| US20160248580A1 (en) * | 2007-03-28 | 2016-08-25 | Intel Corporation | Flexible architecture and instruction for advanced encryption standard (aes) |
| WO2010134192A1 (en) * | 2009-05-22 | 2010-11-25 | 三菱電機株式会社 | Electronic device, key generation program, recording medium, and key generation method |
| CN101702709A (en) * | 2009-11-05 | 2010-05-05 | 复旦大学 | An AES Encryption Unit Suitable for MIPS Processor |
| CN102387013A (en) * | 2010-08-31 | 2012-03-21 | 意法半导体(鲁塞)公司 | Key extraction in integrated circuit |
| US20170288869A1 (en) * | 2011-12-29 | 2017-10-05 | Intel Corporation | Secure key storage using physically unclonable functions |
| CN103281224A (en) * | 2013-04-02 | 2013-09-04 | 中船重工(武汉)凌久高科有限公司 | CAN (Controller Area Network) bus safety communication method in intelligent illumination control system |
| CN105790925A (en) * | 2014-12-24 | 2016-07-20 | 北京奇虎科技有限公司 | Data encryption method, data decryption method, data encryption device and data decryption device |
| CN105353329A (en) * | 2015-11-19 | 2016-02-24 | 苏州众天力信息科技有限公司 | Fault arc detection system based on cloud network |
| JP2017130184A (en) * | 2016-01-19 | 2017-07-27 | 力旺電子股▲分▼有限公司 | One-time programming memory cell and memory array for physical duplication difficulty function technique and related random code generation method |
| US9613714B1 (en) * | 2016-01-19 | 2017-04-04 | Ememory Technology Inc. | One time programming memory cell and memory array for physically unclonable function technology and associated random code generating method |
| CN107135408A (en) * | 2017-03-31 | 2017-09-05 | 武汉斗鱼网络科技有限公司 | A kind of method for authenticating and device of video flowing address |
Non-Patent Citations (1)
| Title |
|---|
| 吴灵灵: "基于多态的混沌流密码算法的研究", 《中国优秀硕士学位论文全文数据库 基础科学辑》 * |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201931611A (en) | 2019-08-01 |
| US10505521B2 (en) | 2019-12-10 |
| TW201931362A (en) | 2019-08-01 |
| TWI730267B (en) | 2021-06-11 |
| TW201930906A (en) | 2019-08-01 |
| TWI669518B (en) | 2019-08-21 |
| TW201931571A (en) | 2019-08-01 |
| US20190214975A1 (en) | 2019-07-11 |
| TW201931746A (en) | 2019-08-01 |
| TWI664640B (en) | 2019-07-01 |
| CN110022061B (en) | 2020-07-28 |
| CN110020556B (en) | 2022-02-18 |
| TWI694590B (en) | 2020-05-21 |
| CN110022061A (en) | 2019-07-16 |
| TWI658599B (en) | 2019-05-01 |
| TW201931528A (en) | 2019-08-01 |
| TWI671985B (en) | 2019-09-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110020556A (en) | Using physics can not reproduction technology tangle and fetch system | |
| JP5306465B2 (en) | Pre-calculation of message authentication code applied to secure memory | |
| CN110018810B (en) | random code generator | |
| KR20150064148A (en) | System for generating a cryptographic key from a memory used as a physically unclonable function | |
| TWI751075B (en) | Applications of physical unclonable function in memories | |
| TW202009775A (en) | Device for receiving secured software update information from server | |
| US12326933B2 (en) | Method for protecting against side-channel attacks | |
| CN112887077B (en) | A kind of SSD main control chip random cache security method and circuit | |
| US20190268134A1 (en) | Method and circuit for implementing a substitution table | |
| TW202333077A (en) | Memory device and method for reading memory array of memory chip | |
| US11050575B2 (en) | Entanglement and recall system using physically unclonable function technology | |
| TW595183B (en) | Crypto-system with an inverse key evaluation circuit | |
| CN213876729U (en) | A random cache security circuit for SSD main control chip | |
| CN117725605B (en) | Method and system for remotely and automatically compiling electronic archive file information confidentiality | |
| US11121884B2 (en) | Electronic system capable of self-certification | |
| CN116628776A (en) | Method for reading memory array information of memory device and memory chip | |
| TWI696111B (en) | Random code generator | |
| RU2759862C1 (en) | Data encryption method | |
| CN110287708A (en) | One-time programmable encryption device and encryption method thereof | |
| CN121056121A (en) | Data encryption devices and memory encryption/decryption systems, chips | |
| CN115378595A (en) | Code stream encryption and decryption implementation method, system and equipment for configuring FPGA | |
| CN120105501A (en) | Flash encryption method for security chip, security chip and electronic device |
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 | ||
| GR01 | Patent grant |