WO2023284036A1 - Encryption and decryption method and apparatus, and communication system - Google Patents

Encryption and decryption method and apparatus, and communication system Download PDF

Info

Publication number
WO2023284036A1
WO2023284036A1 PCT/CN2021/110681 CN2021110681W WO2023284036A1 WO 2023284036 A1 WO2023284036 A1 WO 2023284036A1 CN 2021110681 W CN2021110681 W CN 2021110681W WO 2023284036 A1 WO2023284036 A1 WO 2023284036A1
Authority
WO
WIPO (PCT)
Prior art keywords
encryption
code
decryption
key
reconstruction
Prior art date
Application number
PCT/CN2021/110681
Other languages
French (fr)
Chinese (zh)
Inventor
金杉
王宏健
金翊
王颖
Original Assignee
金杉
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 金杉 filed Critical 金杉
Publication of WO2023284036A1 publication Critical patent/WO2023284036A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Definitions

  • the present invention relates to the field of information encryption and decryption, in particular to an encryption and decryption method, device and application scene constructed with reconfigurable multi-valued logic operation components.
  • the gist of this invention is to disclose a general method for constructing a multi-valued processor, the main technology of which is implemented in the optical processor and does not involve encryption technology; [2], reconfigurable three-valued optical processor, Chinese invention patent : ZL201010584129.3, date of authorization: 2012-05-02, the main patent discloses a technical scheme for constructing a ternary optical processor, which does not involve encryption technology; [3], a multi-digit, groupable, repeatable Structured multi-valued electronic calculator and method, Chinese invention patent application number: 201811567284.7, application date: 2018-12-20, PCT number: PCT/CN2019/070318, mainly discloses a reconfigurable multi-valued logic electronic processing The technical solution of the device does not involve encryption technology.
  • the present invention provides an encryption and decryption method
  • the method includes an encryption process, a decryption process, a process of presetting encryption part reconfiguration code and decryption part reconfiguration code, a presetting key deriving part reconfiguration code process, a presetting presetting key process and a The process of generating a reservation code.
  • the encryption unit, the decryption unit and the key derivation unit all use a reconfigurable multi-valued logical operation unit as a symbol transformation unit, and correspondingly, the encryption unit reconstruction code, the decryption unit reconstruction code and the key derivation unit reconstruction
  • the codes are reconfigurable codes of the reconfigurable multi-valued logical operation unit, and each reconfigured code sets the current operation rule of the corresponding multi-valued logical operation unit.
  • the concrete steps of described encryption process include:
  • Step A1 Set the encryption rule used this time in advance according to the reconstruction code of the encryption component, and according to the encryption rule, use the encryption key corresponding to the current plaintext segment to encrypt the current plaintext segment to obtain the corresponding the ciphertext segment;
  • Step A2 Set the encryption key derivation rule used this time in advance according to the reconfiguration code of the key derivation component, and process the current plaintext segment and the corresponding encryption key according to the encryption key derivation rule , generating an encryption key that encrypts the next said plaintext segment.
  • A1 and A2 are not in particular order, and they can also be executed in parallel.
  • the specific steps of the decryption process include:
  • Step B1 Set the decryption rule used this time in advance according to the decryption component reconstruction code paired with the reconstruction code of the encryption component at the opposite end, and according to the decryption rule, use the current ciphertext segment corresponding The decryption key is used to decrypt the current ciphertext segment to obtain the decrypted plaintext segment;
  • Step B2 Pre-set the decryption key derivation rule used this time with the key derivation component reconstruction code that sets the current encryption key derivation rule, and according to the decryption key derivation rule, decrypt the decrypted plaintext segment and the corresponding decryption key to generate a decryption key for decrypting the next ciphertext segment.
  • B1 and B2 are executed in no particular order, and can also be executed in parallel.
  • the decryption component reconstruction code paired with the encryption component reconstruction code refers to: use one of the encryption rules set by the reconstruction code to generate ciphertext from plaintext, and the ciphertext can use the decryption rule set by another reconstruction code To decrypt, generate plaintext from ciphertext.
  • the process of presetting the reconfiguration code of the encryption part and the reconfiguration code of the decryption part specifically includes:
  • Step C1 Before a specific implementation of the encryption and decryption method is put into use, that is: before the encryptor and decryptor are put into use, the encryption process and the decryption process are executed; and before the encryption unit and the decryption unit are put into use, the encryption process and Before the decryption process, from the reconstruction code sequence, randomly select and save a plurality of reconstruction codes composed of the encryption component reconstruction code and the corresponding decryption component reconstruction code pairing, as a specific implementation of the encryption component and Decryption component reconstruction code pairing group;
  • Step C2 Obtain the first reservation number corresponding to the current encryption and decryption process, and extract and preset this encryption and decryption from the paired group of the encryption component and the decryption component reconstruction code according to the first reservation number Encrypted component reconstruction codes and decrypted component reconstruction codes used by the process.
  • the process of reconstructing the code of the preset key derivation component specifically includes:
  • Step D1 Before a specific implementation of this encryption and decryption method is put into use, that is: before the encryption key derivation device and the decryption key derivation device are put into use, and before the encryption process and decryption process are performed; and before the encryption key derivation unit, The decryption key derivation unit is put into use, and before the encryption process and the decryption process are performed, a plurality of reconstruction codes of the key derivation unit are randomly selected from the reconstruction code sequence as the key used by the specific implementation Derived component reconstruction code group;
  • Step D2 Obtain the second reserved number corresponding to the current encryption and decryption process, and extract and preset the key derivation used this time from the reconfigured code group of the key derivation component according to the second reserved number The refactoring code for the part.
  • the process of presetting the preset key specifically includes:
  • the preset key is used to encrypt the first plaintext segment and decrypt the first ciphertext segment.
  • Step E1 Before a specific realization of this encryption and decryption method is put into use, that is: before the use of the read-only storage component or the configuration file, randomly select a plurality of the preset keys from the preset key sequence, as the preset key set used by the concrete implementation;
  • Step E2 Obtain the third reservation number corresponding to the current encryption and decryption process, and extract and set the preset key used this time from the preset key group according to the third reservation number.
  • Steps C1, D1 and E1 must be performed once before the concrete implementation is put into use, and not performed a second time. However, C2, D2, and E2 must be executed once each time the encryption and decryption operations are executed in the specific implementation.
  • the process of generating the reservation code specifically includes:
  • the present invention provides an electronic device for implementing the encryption and decryption method
  • the electronic device uses hardware equipment as the main body to implement the encryption and decryption method described above.
  • Its characteristic hardware includes: an encryption unit, a decryption unit, a read-only storage unit, a non-volatile read-write memory, a group of cycle counters and a unique supporting writing device unique to the factory.
  • a common form of such an electronic device is an integrated circuit chip, also known as an encryption and decryption chip.
  • the symbol transformation components used by the encryption component and the decryption component are both reconfigurable multi-valued logic operation components.
  • Encryption components include:
  • Encryptor f Before each encryption process starts, use a random encrypted encryption reconstruction code to set the encryption f, so that f has specific encryption rules; Segment p(i) performs multi-valued logic operations to generate the current ciphertext segment p'(i) to complete encryption.
  • Encryption key derivation F before the start of each encryption, set F with a randomly extracted key derivation reconstruction code, so that F has specific key derivation rules; Perform multi-valued logic operations with the current plaintext segment p(i) to generate an encryption key Y(i+1) for encrypting the next plaintext segment.
  • both the encryptor f and the encryption key derivation unit F use a reconfigurable multi-valued logical operation unit as a symbol transformation unit.
  • both the reconfiguration codes of the encryptor and the reconfiguration codes of the encryption key derivation are reconfigurable codes of the multi-valued logical operation unit. Since the reconstruction codes of each encryption device are different from those of each key derivation device, it is determined that f and F must be configured with different reconstruction codes, so the two must be multi-valued logic operators with different operation rules. It is further determined that the current ciphertext segment p'(i) must be different from the derived encryption key Y(i+1).
  • (2)Decryption components include:
  • Decryptor f' Before each decryption starts, use the decryptor reconstruction code paired with the peer's encryption reconstruction code to set the decryptor f', so that f' has specific decryption rules; f' uses the current decryption code The key Y'(i) decrypts the current ciphertext segment p'(i) to obtain the decrypted plaintext segment p(i).
  • Decryption key derivation F' Before starting each decryption, set F' with the key derivation code selected by the peer encryptor, so that F' has the same key derivation rules as F; F' has the same key derivation rules as F; The decrypted current plaintext segment p(i) and the current decryption key Y'(i) are processed to generate the decryption key Y'(i+1) for decrypting the next ciphertext segment.
  • both the decryptor f' and the decryption key derivation device F' use the reconfigurable multi-valued logical operation unit as the symbol transformation unit.
  • both the decryptor reconstruction code and the decryption key derivation reconstruction code are reconstruction codes of the reconfigurable multi-valued logical operation unit.
  • F is the same as F'
  • Y(0) is the same as Y'(0)
  • the encrypted plaintext segment and the decrypted plaintext segment are the same
  • the encryption part comes with a number of working registers, including: Encryptor f comes with: a first encrypted input register (Rfy) for storing the current key; a second encrypted input register (Rfm) for storing the current plaintext segment; an encrypted output register (CRf), used to store and output the current ciphertext segment.
  • the encryption key derivation device F is attached with: the first encryption key derivation input register (RFY), used to store the current key; the second encryption key derivation input register (RFm), used to store the current plaintext segment; the encryption key
  • the derived output register (CRF) is used to store and output the encryption key for the next plaintext segment.
  • the decryption part also has some working registers, including: the decryptor f' is attached with: a first decryption input register (Rf'y), which is used to store the current key; a second decryption input register (Rf'm), which is used to for storing the current ciphertext segment; the decryption output register (CRf') is used to store the current plaintext segment after decryption; the decryption key derivation device F' is attached with: the first decryption derivation input register (RF'Y) is used for storing Current key; the second decryption derived input register (RF'm), used to store the plaintext segment after decryption of the current ciphertext segment; decryption derived output register (CRF'), used to store the key for decrypting the next ciphertext segment .
  • the decryptor f' is attached with: a first decryption input register (Rf'y), which is used to store the current key; a second
  • Each bit of the encryptor f, each bit of the decryptor f', each bit of the key derivation F and F' is equipped with a reconfiguration register, and the reconfiguration registers of their i-th bits are respectively marked as: Cgf (i), Cgf'(i), CgF(i), and CgF'(i).
  • Writing reconfiguration codes to these reconfiguration registers can modify the multi-valued logic operation rules corresponding to the sign converter bits.
  • GYY is a plurality of pairs of encryptor reconfiguration codes and decryptor reconfiguration codes, a plurality of key derivation reconfiguration codes and a plurality of preset keys Y(0) stored in the encryption and decryption electronic device.
  • the read-only storage unit can only write data once with a special device by the manufacturer.
  • the read-only storage unit does not have a channel for reading data from the electronic device, so the program and GYY stored in it can never be read out of the electronic device, but the program and GYY can be used indefinitely inside the electronic device.
  • the read-only storage part contains multiple storage areas, including: control program storage area, encryption device reconstruction code storage area, decryptor reconstruction code storage area, key derivation device reconstruction code storage area and preset key storage area Area.
  • Each encryption and decryption electronic device is written in a set of generalized key source data GYY by the manufacturer with a special writing device before leaving the factory.
  • Each GYY value is a combination of an encryption code and a corresponding decoder reconstruction code pair, a key derivation code and a preset key, so each GYY value determines an encryption The rules and keys used for decryption operations. Since the GYY used by the encryption end and the decryption end must be the same, at least two electronic devices must have the same GYY and their sequence numbers to form an information encrypted communication system. If you write GYY with the same serial number and content to multiple encryption and decryption chips, these chips will decrypt the transmitted ciphertext at the same time, forming a communication system with open information within the group.
  • the special writing device is only installed in the chip factory and is not an accessory of the chip.
  • Each encryption and decryption chip must be written with a special program by the manufacturer using the writing device, and after writing a group of GYY selected from all possible GYY values in a random manner, it can become a usable product.
  • the writing device includes: a first burner, used to write a plurality of randomly selected encryptor reconstruction codes into the encryptor reconstruction code storage area of the read-only storage unit; a second burner, used for Write the decryptor reconfiguration code paired with each encryptor reconfiguration code into the decryptor reconfiguration code storage area of the read-only storage unit; the third burner is used to reconfigure a plurality of randomly selected key derivations The code is written into the derivation reconstruction code storage area of the read-only storage unit; the fourth burner is used to write a plurality of preset keys randomly selected into the preset key storage area of the read-only storage unit.
  • the peer relationship here refers to: the pairing technology and components for encrypting and processing the plaintext to be encrypted and decrypting and processing the ciphertext corresponding to the plaintext.
  • the encryption component here is the component used to encrypt plaintext to generate ciphertext in the encryption and decryption chip at one end, and the decryption component at the opposite end is the encryption and decryption component at the other end.
  • the components in the decryption chip are used to decrypt the ciphertext. Specifically, as shown in FIG.
  • the encryption component a in the encryption and decryption chip A and the decryption component b in the encryption and decryption chip B are peers, and the encryption and decryption component a' in the encryption and decryption chip A and the encryption and decryption chip B Components b' are opposite to each other.
  • Three independent cycle counters are set in the encryption part to count the different symbol arrangements specified in plaintext or ciphertext respectively.
  • the statistical values obtained at the end of this communication are the first reservation number, the second reservation number and the third reservation number , the three reservation numbers are sequentially connected to form a code that is convenient for storage and transmission, called the reservation code. Since the appearance of a certain symbol sequence in plaintext or ciphertext has uniform probability randomness, the three reservation numbers are all random, so the reservation code is also a random number.
  • the role of the reservation number to create conditions for the random selection of the generalized key source data GYY in the next communication process, specifically: after the end of this communication, the encryption unit immediately extracts an encryption key from the read-only storage unit according to the first reservation number code, and use this reconfiguration code to set the multi-valued logical operation function of the encoder f; the decryption part also extracts the decryptor reconfiguration code paired with the encryption device reconfiguration code from the read-only storage part according to the first reserved number , and use this decoder reconstruction code to set the multi-valued logic operation function of the decryptor f'; both the encryption unit and the decryption unit extract the same key derivation reconstruction code from the read-only storage unit according to the second reservation number, and use This reconstruction code sets the multi-valued logical operation function of the encryption key derivation device F and the decryption key derivation device F'; both the encryption part and the decryption part extract the same preset key from the read-only memory according to the third reserved number
  • Reservation process When the encryptor receives the command to complete the communication information, it immediately forms the reservation code with three reservation numbers, and saves the reservation code in the reservation code register and sends it to the decryption terminal; the decryption terminal saves the received reservation code to the The reservation code register at the end, and send it back to the encryption end; the encryption end compares the received reservation code with the saved reservation code, if the two are the same, the reservation is successful, and an instruction to terminate the communication process is issued to complete the communication; If the two are not the same, then re-send the reservation code, wait for the return reservation code to be received again, if the reservation is unsuccessful for many times in a row, then send a line failure alarm.
  • the reservation code can also be generated by the decryptor, and the decryptor initiates the reservation process; the reservation code can also be generated separately by the encryptor and the decryptor, and the order terminal that receives the communication information first initiates the reservation process.
  • the present invention provides a computer software structure for realizing the encryption and decryption method
  • the encryption and decryption computer software structure includes: an encryption software module, a decryption software module, a configuration file, a plurality of cycle counting variables and a special writing program owned by the manufacturer.
  • the symbol transformation rules used in the encryption software module and the decryption software module are reconfigurable multi-valued logic operation rules.
  • Encryption program segment Rf Before each encryption process starts, use a randomly extracted encryptor reconstruction code to set the encryption rule of the encryption program segment Rf, and the encryption program segment uses the current encryption key to The plaintext segment P(i) is encrypted to obtain the corresponding current ciphertext segment P'(i).
  • Encryption key derivation program segment RF Before each encryption process starts, use a randomly extracted key derivation reconstruction code to set the key derivation rules of the encryption key derivation program segment RF, the encryption key derivation program segment The current plaintext segment P(i) and the current encryption key Y(i) are processed to generate the encryption key Y(i+1) for encrypting the next plaintext segment.
  • both the encryption program segment rf and the encryption key derivation program segment rF use reconfigurable multi-valued logic operation rules as symbol transformation rules.
  • both the encryption code and the encryption key derivation code are reconstruction codes that can reconfigure multi-valued logic operation rules.
  • decryption program segment Rf' before each decryption process starts, use the decryptor reconstruction code paired with the encryption device reconstruction code to set the decryption rule of the decryption program segment Rf', Rf' is encrypted with the current decryption code
  • the key Y'(i) decrypts the current ciphertext segment P'(i) to obtain the corresponding decrypted plaintext segment P(i).
  • Decryption key derivation program section RF' Before each decryption process starts, use the selected encryption key derivation reconstruction code to set the current key derivation rule of the decryption key derivation program section RF', RF' is to the current key derivation rule The decrypted plaintext segment P(i) and the current decryption key Y'(i) are processed to generate the decryption key Y'(i+1) for decrypting the next ciphertext segment.
  • both the decryption program segment rf' and the decryption key derivation program segment rF' use reconfigurable multi-valued logic operation rules as symbol transformation rules.
  • both the decryptor reconfiguration code and the decryption key derivation reconfiguration code are reconfigurable multi-valued logic operation rules.
  • the configuration file saves the generalized key source data GYY and reservation code preset by the corresponding encryption and decryption software.
  • Each encryption and decryption software has an exclusive configuration file, and any two different encryption and decryption software have different configuration files.
  • the configuration file is divided into multiple file sections, including: the section of the encryptor reconstruction code file, the section of the decryptor reconstruction code file, the section of the key derivation reconstruction code file, the section of the preset key file and the reservation code storage unit.
  • the reservation code storage unit is read and rewritten by the encryption software module, and the rest of the file paragraphs are assigned by the manufacturer with a special writing device to write the preset GYY to the configuration file, and then the encryption and decryption software There are encryption and decryption functions for various electronic documents.
  • a first writing module used to write a plurality of encrypted reconstruction codes randomly selected into the paragraphs of the encrypted reconstruction code file
  • a second writing module used to write The decryptor reconstruction code is written into the section of the decryptor reconstruction code file
  • the third writing section is used to write the randomly selected multiple key derivation reconstruction codes into the section of the derivation reconstruction code file
  • the fourth writing section used to write multiple randomly selected preset keys into the section of the preset key file.
  • each cycle counting variable takes the corresponding reservation number in the reservation code used this time as the initial value, and each cycle counting variable counts a symbol arrangement in the encrypted plaintext this time, and different cycle counting variables count different Arrangement of symbols; the final result of each cycle counting variable is the corresponding new reservation number, all new reservation numbers form a new reservation code, and the new reservation code is stored in the reservation code storage unit, waiting for the encryption software module to read when it works next time.
  • Encryption software module setting process first read the reservation code used for this encryption from the reservation code storage unit of the configuration file, and separate the first reservation number, the second reservation number and the third reservation number from the reservation code; The reservation code used this time is written into the starting position of the ciphertext file; each reservation number is set as the initial value of the corresponding cycle count variable; then according to the first reservation number, extract the corresponding paragraph from the encryption device reconstruction code file Encryptor reconfiguration code, write the cipher reconfiguration code into the reconfiguration register RCgf(i) of the cipher, thereby setting the current symbol transformation rule of the encrypted program segment Rf; according to the second reservation number used this time, from the Extract the corresponding key derivation reconstruction code from the section of the key derivation reconstruction code file described above, and write the key derivation reconstruction code into the encryption key derivation reconstruction code register RCgF(i), thereby setting the encryption key The current symbol transformation rule of the key derivation program segment RF; according to the third reservation number used this time, extract the
  • the reconfigurable multi-valued logic operation unit can be used to derive a large number of optional keys with obvious random characteristics, no shorter than plaintext, and a large number of optional keys based on the automatic execution of the computer. capacity and fewer storage units, and realizes a practical one-time secret stream cipher technology.
  • reconfigurable multi-valued logic operation components not only enables the preset key to derive many different actual keys, but also expands the dependence of the randomness of the actual key on the randomness of the preset key to simultaneously Relying on the randomness of the preset key and the randomness of the function of the multi-valued logic operator
  • the reconfigurable multi-valued logic operator can also be used to form an encryptor, a decryptor, and a key-derived device, so that the same key pair can be used at the same time.
  • a plaintext can generate many ciphertexts, and its effect is equivalent to further increasing the randomness of the actual key.
  • the application scenario provided by the technology of the present invention may be an encryption system for real-time communication, or an encryption system for storing or transmitting electronic files.
  • the method and application scenario for realizing the technology of the present invention will be described in conjunction with embodiments.
  • Fig. 1 is the schematic flow chart of encryption process
  • Fig. 2 is a schematic flow chart of the decryption process
  • Fig. 3 is the schematic flow diagram of setting the reconfiguration code of the encryptor and the reconfiguration code of the decryptor;
  • Fig. 4 is the schematic flow chart of setting key derivation device reconstruction code
  • FIG. 5 is a schematic diagram of the flow of setting a default key
  • FIG. 6 is a schematic structural diagram of an encryption and decryption device
  • Fig. 7 is a schematic structural diagram of an encrypted communication system.
  • Embodiment 1 An encryption and decryption method provided by the present invention
  • the encryption process includes Step A1 and Step A2 described in the Summary of the Invention.
  • the decryption process includes step B1 and step B2 described in the summary of the invention.
  • the decryption component reconstruction code is used to set the decryption key derivation component F' to form the decryption key derivation rule used in this decryption process, and F' remains unchanged in this decryption process; f' is based on the current decryption key Y'( i), decrypt the current ciphertext segment p'(i) to obtain the decrypted current plaintext segment p(i); F' decrypts the decrypted current plaintext segment p(i) and the current decryption key Y'( i) Process to generate the
  • each encrypted derived key Y(i) and the corresponding decrypted derived key Y'( i) is also the same.
  • the present invention also includes a process of randomly selecting a reconstruction code of an encryption component (f) and a reconstruction code of a corresponding decryption component (f') for an encryption and decryption process, specifically It is divided into two steps: the first step is step C1 described in the summary of the invention, and the second step is step C2 described in the summary of the invention; as shown in Figure 4, it also includes randomly selecting a key for an encryption and decryption process
  • the process of reconstructing the code of the derived components (F and F') is specifically divided into two steps: the first step is step D1 described in the summary of the invention, and the second step is step D2 described in the summary of the invention; As shown in 5, it also includes the process of randomly selecting a preset key Y(0) for an encryption and decryption process, which is specifically divided into two steps: the first step is the step E1 described in the summary of the invention, and the second step is the invention Step E2 as described in the Contents section.
  • step C1, step D1 and step E1 are only executed once by the manufacturer before each specific object (such as: encryption and decryption chip, encryption and decryption computer software) that realizes the encryption and decryption method is put into use, and not Execute the 2nd time.
  • step C2, step D2 and step E2 are automatically executed once by the encryption and decryption object each time an encryption and decryption object is used.
  • step C1 When step C1 is executed, according to the first random number randomly generated, a pair is selected from the massive encryption component reconstruction code and its paired decryption component reconstruction code, and the selected pair is deleted from the massive reconstruction code sequence.
  • the reconfiguration codes of the encrypted components and the reconfigured codes of the decrypted components are repeatedly executed multiple times to obtain multiple pairs of the reconfigured codes of the encrypted components and the reconfigured codes of the decrypted components.
  • step D1 When executing step D1, select a key derivation component reconstruction code from the massive key derivation component reconstruction code sequence according to the randomly generated second random number, and delete the key derivation component reconstruction code sequence from the key derivation component reconstruction code sequence
  • the reconfiguration code of the selected key derivation component is repeatedly executed multiple times to obtain a plurality of reconfiguration codes of the key derivation component.
  • Execute step E1 select a preset key from a large number of key sequences according to the randomly generated third random number, delete the selected preset key from the key sequence, and repeat the execution for many times , you can get multiple preset keys.
  • step C2 When step C2 is executed, according to the first reservation number in the reservation code used for encryption and decryption this time, for example, the reservation number can be the middle digits of the reservation code, and the multiple encryption components selected in step C1 reconstruct the code and decrypt An encryption component reconstruction code and a decryption component reconstruction code pair used this time are extracted from the component reconstruction code pairing; the encryption component is configured with the encryption component reconstruction code in the pair, and the decryption component is configured with the decryption component reconstruction code .
  • step D2 When step D2 is executed, according to the second reservation number in the reservation code used for encryption and decryption this time, for example, the reservation number can be the lower digits of the reservation code, and the code is reconstructed from a plurality of key derivation components selected in step D1 Extract the reconfiguration code of the key derivation component used this time; use the reconfiguration code of the key derivation component to configure the key derivation component.
  • step E2 according to the third reservation number in the reservation code used for encryption and decryption this time, for example, the reservation number can be the upper digits of the reservation code, extracted from the multiple preset keys selected in step E1 The preset key Y(0) used this time.
  • Step C There is no sequence among Step C, Step D and Step E.
  • a process of generating a reservation code which specifically includes: taking the reservation code used this time as the initial value, counting various symbol sequences in the plaintext to be encrypted or decrypted this time , each count value is a reservation number; all reservation numbers are connected into the next reservation code.
  • Embodiment 2 An integrated circuit chip structure for implementing the encryption and decryption method
  • 64-bit binary data is used as the length of the plaintext segment and the ciphertext segment. Since two-bit binary data is exactly one bit of four-value data, 64-bit binary data is also 32-bit four-value data.
  • the plaintext segment and the ciphertext segment shall not prevent this patent from covering the use of other multi-valued logical operators, including the mixed use of multiple multi-valued logical operators, as the exclusive use of the same encryption and decryption technology as the encryptor, decryptor and key derivation device. right.
  • the internal logic structure of the chip in this embodiment is shown in Figure 6, including three parts: an encryption component, a decryption component, and a read-only storage component.
  • the setting process is described as follows.
  • the chip of this embodiment can be provided with 12 pins, and the function and label name are respectively: plaintext serial input pin Xmin, ciphertext serial output pin XMout, ciphertext serial input pin XMin, plaintext serial output pin Pin Xmout, send control pin Ksend, send status pin Ssend, receive control pin Krece, receive status pin Srece, clock input pin Clock, pre-write pin Yin, power supply Vcc and ground level pin.
  • Xmin constitutes the generalized key source data GYY and microprogram serial write port
  • the XMin pin is applied with the 64 frequency division clock of Clock
  • XMin and Clock constitute the chip operation control clock
  • the Ksend and Krece pins constitute The control command input ports for the internal operation of the chip are used to write the preset generalized key source data GYY and microprograms to the read-only memory inside the chip; when Yin is low, each pin resumes the marking function.
  • F Set a 32-bit 4-value logical operator as an encryption key derivation F, with two 64-bit input registers RFY and RFm, and a 64-bit output register CRF. After putting the current key Y(i) into RFY and RFm into the current plaintext segment p(i), F outputs the next derived key Y(i+1) of the encryption component and stores it in its CRF.
  • a 32-bit 4-value logic operator is set as the decryption key derivation F', F' has the same function as F, with two 64-bit input registers RF'Y and RF'm, and a 64-bit output register CRF'. Put the current key Y(i) into RF'Y, put the current decrypted plaintext segment p(i) into RF'm, and F' output the next derived key Y'(i+1) of the decryption component, and deposit it into its CRF'.
  • Each bit of F(i) and F'(i) is assigned a 32-bit reconfiguration register, labeled: Rf(i), Rf'(i), RF(i) and RF'(i) .
  • Writing reconfiguration codes to these 4 registers can modify the 4-valued logic operation rules corresponding to the sign converter bits.
  • Each storage unit hides a 64-bit preset key Y(0).
  • Y(0) can only be input to RfY, Rf’Y, RFY and RF’Y through the internal data bus.
  • Two storage areas are set: f-f' storage area and F-F' storage area, each storage area has 1024 rows, and each row has 32 64-bit storage units.
  • the first 32 bits of the f-f' storage unit store a f(i) reconstruction code
  • the last 32 bits store a f'(i) reconstruction code
  • the 32 64-bit storage units in each row can only pass
  • the first 32 bits of the F-F' storage unit save a heavy value of F(i) Code construction
  • the last 32 bits save a reconstructed code of F'(i)
  • Each pin is provided with a pin data register whose value is the real-time status of the corresponding pin to resist the influence of external high-frequency interference on the pin signal.
  • the Xmin and XMin pins each have a "1-bit input 64-bit output" serial-to-parallel data shift register.
  • the serial input end of the shift register in the encryption part is connected to the Xmin pin, and the parallel output end is connected to the registers Rfm and RFm; the serial input end of the shift register in the decryption part is connected to the XMin pin, and the parallel output end is connected to the register Rf'm.
  • the Xmout and XMout pins each have a "64-bit input 1-bit output" parallel-to-serial data shift register.
  • the parallel input end of the shift register in the encryption part is connected to the register CRf, and the serial output end is connected to the XMout pin;
  • the parallel input end of the shift register in the decryption part is connected to the register CRf', and the serial output end is connected to the Xmout pin.
  • a 64-bit bus buffer is used to control the read and write operations of the internal memory; a 17-bit address decoder is used to control the addressing of the internal 128M memory address.
  • 64-bit micro-instruction decoder 64-bit micro-instruction register and 11-bit micro-program counter PC.
  • the Yin pin of the pair of chips will be connected to a high level, and the chip will be set to write the generalized key source data GYY or the microprogram state.
  • the counters Jm1 and Jm01 are connected to form a 20-bit counter to count the clock signal of the XMin pin.
  • the XMin pin clock is divided by 64 of the Clock pin clock, and the real-time value of the lower 17 bits of the 20-bit counter is output to 17 bits.
  • the special writing device of the encryption and decryption chip is equipped with a uniform probability true random number generator, and the writing device selects the reconstruction codes of f(i), f'(i), and F(i) according to the true random number sent by the generator and Y(0), so that the generalized key source data GYY hidden in each pair of encryption and decryption chips has uniform probability random characteristics.
  • True random number generators have a variety of structures, for example: 64 discs with uniform weight, 1 cm in diameter, 1 mm in thickness, one side is insulated, and the other side is metal, falling freely from a height of 2 meters, passing through the random collision of the nail plate , falling onto a plate with 64 dimples, the plate vibrates slightly, and each dimple falls into a disc.
  • a 64-bit true random number can be obtained in about 5 seconds, and no less than 17,000 64-bit true random numbers can be obtained every day.
  • the 64-bit random number sent by the random number generator is compared with the random number sent in the past one by one.
  • the random numbers are different, and the newly sent 64-bit random number is used as a selected preset key Y(0) to be written into the Y(0) storage area of the GYY storage area of the chip, and the dedicated writing device writes the newly received
  • the 64-bit random number is stored in the first random number memory of itself according to its size order; if the new random number sent is the same as the random number sent in the past, the dedicated writing device abandons the newly sent random number and receives The next 64-bit random number; until 1024 preset keys Y(0) are written to the current chip pair, then the next pair of chips is processed.
  • the reconstruction code of the multi-valued logic operator is determined by the structure of the multi-value logic operator, when using "a kind of multi-valued electronic operator and method with many digits, groupable and reconfigurable" (Chinese invention patent application number: 201811567284.7, PCT No.: PCT/CN2019/070318) for the four-valued logic operator given in the embodiment, the reconstruction code of each four-valued logic operator is 4 sequential 8-bit row reconstruction codes, That is, the reconstruction code of each four-valued logic operator is 32 bits, so a 32-bit encryptor, a 32-bit decryptor, and a 32-bit key derivation device all need 32 32-bit memories to store one of their reconfiguration codes. build code.
  • this embodiment uses a 64-bit storage unit to place the reconfiguration code of the same bit of the paired encryptor and decryptor, and the reconfiguration code of the encryptor Placed in bits 0-31, and the reconstruction code of the paired decryptor is placed in bits 32-63. Therefore, the reconstruction codes of a pair of 32-bit encryptor and decryptor are placed in consecutive 32 64-bit memories.
  • 16 consecutive 64-bit random numbers sent by the random number generator are connected together to form a 1024-bit random number, and the 1024-bit random number is from the highest bit to the lowest in units of 4 bits Bit scanning, replace the reconstruction code that is not suitable for the cipher with a specific reconstruction code suitable for the cipher to form a sorted 1024-bit random number, the replacement rule of the reconstruction code during the sorting process and the four-valued logic used It is related to the structure of the arithmetic unit and does not belong to the scope of discussion of this patent.
  • the new 1024-bit random number after sorting is compared with all the 1024-bit random numbers that have been sent in the past and stored in the second random number memory; Not the same, the newly sent 1024-bit random number can be regarded as the reconstructed code of each bit of a 32-bit encryptor, which is stored in the second random number memory of the dedicated writing device in order of size;
  • the above 1024-bit random number is divided into 32 32-bit random numbers, and each 32-bit random number is temporarily placed in bits 0-31 of a 64-bit register in the first register group of the dedicated writing device, and the first register group has a total of 32 64-bit register; 0-7 bits, 8-15 bits, 16-23 bits and 24-31 bits of each register are a row reconstruction code of the encryptor; respectively decrypt the pairs of these 4 row reconstruction codes
  • the reconfiguration code of the device line is found out, and correspondingly stored in the last 32 bits of the register.
  • the dedicated writing device abandons the newly sent random number.
  • the dedicated writing device continues to receive the next 16 64-bit random numbers, and repeats the above operations until the current chip pair is filled with 1024 paired encryptor/decryptor reconstruction codes.
  • this embodiment also uses a 64-bit storage unit to place the same key of the encryption key derivation and the corresponding decryption key derivation.
  • bit reconstruction code the reconstruction code of the encryption key derivation is placed in 0-31 bits, and the reconstruction code of the corresponding decryption key derivation is placed in 32-63 bits, in view of the reconstruction of the two key derivations
  • the coding is the same, so the contents of the first 32 bits and the last 32 bits of this storage unit are the same.
  • a pair of 32-bit key derivation reconstruction codes are placed in 32 consecutive 64-bit memories.
  • 16 consecutive 64-bit random numbers sent by the random number generator are connected together to form a 1024-bit random number, because all four-valued logic operators are suitable for use as a key derivation device , no need to tidy up said 1024-bit random number.
  • This new 1024-bit random number is compared with all 1024-bit random numbers sent in the past stored in the third random number memory; if the newly sent 1024-bit random number is not the same as the random number sent in the past, the new The 1024-bit random number sent can be regarded as the reconstruction code of each bit of a 32-bit key derivation device, which is stored in the 3rd random number memory of the dedicated writing device in order of size;
  • the bit random number is divided into 32 32-bit random numbers, and each 32-bit random number is temporarily placed in bits 0-31 of a 64-bit register in the second register group of the dedicated writing device, and the second register group has a total of 32 64-bit registers; bits 0-7, bits 8-15, bits 16-23 and bits 24-31 of each register are a row reconstruction code of the key derivation device; copy these 4 row reconstruction codes to the The last 32 bits of the register.
  • the 32 64-bit registers of the 2nd register group retain the reconstruction codes of the same two 32-bit key derivators;
  • the key derivation device/decryption key derivation device is written into the FF' storage area of the GYY storage area of the chip. If the newly sent 1024-bit random number is identical to the 1024-bit random number sent in the past in the 3rd random number memory, the dedicated writing device abandons the newly sent random number.
  • the dedicated writing device continues to receive the next 16 64-bit random numbers, and repeats the above operations until the chip pair is filled with 1024 encryption key derivation/decryption key derivation reconstruction codes.
  • the approximate number of transistors required to construct the encryption and decryption chip given in Embodiment 2 can be estimated.
  • Constructing a reconfigurable 4-value logic operator requires 44 binary logic gates, 8 8-to-1 devices, and 4 8-bit reconfigurable registers (Rf(i) or Rf'(i) or RF(i) or RF'(i)), about 500 transistors are needed; therefore, about 16,000 transistors are needed to construct a 32-bit 4-valued logic operator; so four 32-bit 4-valued logic operators (that is, f , f', F, and F') require approximately 64,000 transistors.
  • f, f', F, and F' each have three 64-bit I/O registers (RfY, Rfm, CRf, Rf'Y, Rf'm, CRf', RFY, RFm, CRF, RF'Y, RF' m and CRF'), constructing the twelve 64-bit registers requires about 2500 transistors.
  • the encryption and decryption chip contains three 10-bit random counters (Jm1, Jm01 and Jm11), a 30-bit reservation code register (Rm), four 64-bit serial-to-parallel conversion registers, a 64-bit bus buffer, and a 17-bit Address decoder, a 64-bit micro-instruction decoder, a 64-bit micro-instruction register, an 11-bit micro-program counter PC and a ten-pin 1-bit data register, the construction of this part requires about 20,000 transistors.
  • the encryption and decryption chip contains a microprogram memory of 2048 ⁇ 64 bits, a Y(0) storage area of 1024 rows ⁇ 64 bits, two two-dimensional storage areas of 1024 rows ⁇ 32 columns ⁇ 64 bits (f-f' and F-F'), about 1.8 ⁇ 10 7 transistors are needed to construct this 67K 64-bit memory.
  • 1.5 ⁇ 10 11 transistors can be produced per square centimeter chip, that is, more than 2,700 encryption and decryption chips can be produced on a 1 parallel centimeter chip.
  • Embodiment 3 A kind of computer software that realizes described encryption and decryption method
  • Embodiment 3 The computer software provided in Embodiment 3 is mainly used to encrypt various binary data files.
  • this embodiment takes 128-bit binary data as the segment length, and the plaintext file to be encrypted or the ciphertext file to be decrypted Segmentation is performed, so the preset key rY(0) and derived key rY(i) in this embodiment are both 128-bit binary data.
  • the software of this embodiment is arranged to include three identical mixed multi-value logic operation units: 2 reusable Construct eight-valued logic operators and 61 reconfigurable four-valued logic operators.
  • the positions of the 2 eight-valued logic operators are in the first 6 positions, namely: the first reconfigurable eight-valued logic operator processes the data of bits 0, 1 and 2, and the second reconfigurable eight-valued logic operator Process the data of No. 3, No. 4 and No. 5 bits; the data sequence on the remaining bits is processed by 61 reconfigurable four-valued logic operators.
  • Three mixed multi-valued logic operation units are respectively used as encryption transformation rf, decryption transformation rf' and key derivation transformation rF.
  • the software of embodiment 3 has three main modules: encryption module, decryption module and configuration file.
  • Encryption module corresponding to the encryption component in Embodiment 2, including an encryption unit f, a key derivation unit F and associated registers.
  • the encryption module uses encryption transformation rf to transform plaintext m into ciphertext M according to software generalized key source data rGYY.
  • rf has two 128-bit input variables rRfY and rRfm, and a 128-bit output variable rCRf. Put the current key rY(i) into rRfY. After rRfm is put into the current plaintext segment, rf outputs the current segment of the ciphertext M to rCRf.
  • the key derivation transformation rF in this module has two 128-bit input variables rRFY and rRFm, and one 128-bit output variable rCRF. After putting the current key rY(i) into rRFY and rRFm into the current plaintext segment, rF outputs the next derived key rY(i+1) to rCRF.
  • Decryption module corresponding to the decryption component in Embodiment 2, including: decryptor f', key derivation device F' and related registers.
  • the decryption module uses the decryption transformation rf' to convert the ciphertext M into plaintext m according to the software generalized key source data rGYY.
  • rf' has two 128-bit input variables rRf'Y and rRf'M, and a 128-bit output variable rCRf', which puts the current key rY(i) into rRf'Y, and rRf'M puts the current ciphertext segment After that, rf' outputs the current segment of the decrypted plaintext m to rCRf'.
  • This module also uses rF to generate a new derived key, but the value placed in rRFm is the plaintext segment obtained by decrypting the current ciphertext.
  • the reconstruction variables rRfj, rRf'j and rRFj, the bit reconstruction variables of the two eight-valued logic operators are rRf0 and rRf1, rRf'0 and rRf'1, rRF0 and rRF1 respectively, and they all have 144 bits, while the rest
  • Write reconstruction codes into rRfj, rRf'j and rRFj, and the corresponding mixed multi-valued logic unit has the operation rules set by this group of reconstruction codes.
  • Configuration file corresponding to the read-only storage unit in Embodiment 2, including: Y(0) storage area, f-f' storage area, FF' storage area and reservation code register for hiding generalized key source data GYY.
  • Circulation counting variable In order to realize the one-time pad, the key has true randomness, and correctly obtain rGYY when decrypting, three 10-bit cyclic counting variables rJm1, rJm01 and rJm11 are set in the encryption module, which respectively count the symbols in the plaintext (such as 001, 010 and 101), so the values of these three counters are random. Correspondingly, there are three 10-bit read-write storage units rRm1, rRm01 and rRm11 in the configuration file. After each encryption operation, the encryption module stores the current values of rJm1, rJm01 and rJm11 into rRm1, rRm01 and rRm11 respectively.
  • the encryption module reads the values of rRm1, rRm01, and rRm11 into the rJm1, rJm01, and rJm11 counters as the initial counting values of each counter, and selects the generalized value used in this encryption operation according to these three random numbers.
  • the key source data rGYY write these three random numbers into the head of the corresponding ciphertext, to ensure that the correct rGYY can be directly obtained when decrypting the ciphertext in the future.
  • rRm1, rRm01 and rRm11 are written into the starting position of the ciphertext file to form a reservation code for selecting rGYY for decryption operation.
  • 4rf generates the current segment of the ciphertext and sends it to the variable rCRf; rF generates a new derived key and sends it to the variable rCRF.
  • the three counters rJm1, rJm01 and rJm11 respectively count the number of specific symbol sequences in the current plaintext segment until the plaintext is encrypted. Then write the last values of rJm1, rJm01 and rJm11 into the rRm1, rRm01 and rRm11 storage units of the configuration file.
  • 3rf' generates the current segment of the plaintext m and sends it to the variable rCRf';
  • the plaintext file is stored in the same folder as the ciphertext, and the name of the plaintext file after decryption: add the JYM- (or jym-) logo in front of the ciphertext file name, and remove the .jym suffix;
  • Embodiment 4 Use a pair of encryption and decryption chips to form an information encryption communication system
  • an information encryption communication system includes two communication devices at the opposite end of communication, and is characterized in that the encryption and decryption chip described in Embodiment 2 is respectively set on each communication device;
  • the transmitted information is encrypted and decrypted in real time, and the ciphertext information is transmitted between communication devices.
  • two identical encryption and decryption chips A and B can be placed between the digital equipment and the communication equipment at both ends of the common channel, so as to construct a pair of encrypted channels with opposite communication directions on the common public channel.
  • Encryption component a in encryption and decryption chip A and decryption component b in encryption and decryption chip B are opposite to each other, forming an encryption channel from A to B; decryption component a' in encryption and decryption chip A and encryption component b in encryption and decryption chip B 'They are peers and form an encrypted channel from B to A.
  • the information encryption communication system also adopts a reservation code mechanism to select the encrypted device reconstruction code, decryptor reconstruction code, key derivation device reconstruction code and preset key used this time;
  • the reservation code mechanism includes:
  • a sending unit used for sending out the reservation code when one of the communication devices ends the communication
  • a receiving unit used for receiving the callback reservation code returned by another communication device
  • a judging unit used to judge whether the reservation code and the callback reservation code are the same, and obtain a corresponding judgment result
  • a first processing unit connected to a judging unit, used to end the communication between the two communication devices when the judging result indicates that the reservation code and the callback reservation code are the same;
  • a second processing unit connected to the judgment unit, used to control the sending unit to send the reservation code again when the judgment result indicates that the reservation code is different from the callback reservation code.
  • the plaintext m sent by the digital device of either party enters the encryption part of the encryption and decryption chip at the sending end, and the current encryptor f and the current key Y(i) replace the symbols of the plaintext m with the corresponding ciphertext
  • the symbol of M the ciphertext is sent to the communication device at the sending end, and then enters the public general channel; after the ciphertext reaches the receiving end, it enters the communication device at the receiving end, and then enters the decryption part of the encryption and decryption chip at the receiving end, the current decryptor f' and the current
  • the key Y(i) replaces the ciphertext symbols with the corresponding plaintext symbols; the plaintext is sent to the digital device at the receiving end, and the communication process is completed.
  • the encryption and decryption chip at this end will connect the current values of Jm1, Jm01, and Jm11 into a reservation code (Rm) and store it in the reservation code register.
  • the encryption and decryption chip at this end will send the session end command After that, continue to send the value of the reservation code (Rm) of the chip to the other party, and the other party receives the value of the reservation code (Rm), stores it in its own reservation code register, and returns a reservation code ( Rm'), the sender receives the callback reservation code (Rm'), if the value of the callback reservation code (Rm') is different from the sent reservation code (Rm), resend the reservation code (Rm) until the two are the same, If the same reservation code value cannot be obtained after 8 repetitions, a system failure will be reported; if the value of the received reservation code (Rm') is the same as the value of the sent reservation code (Rm), the reservation is successful, and both parties
  • the encryption and decryption chips of both parties immediately select the new Y(0) and f(i)/f'(i) and F(i) reconstruction codes according to the Rm value just agreed and send them to the corresponding registers , ready for the next communication.
  • the selected generalized key source data GYY washes out the last derived key Y(i) and the reconstruction codes of f(i)/f'(i) and F(i) in this communication, so this time Even if the ciphertext of the communication is intercepted, no one can find the corresponding preset key and decryptor. Thus, while ensuring the one-time pad, the security of the existing ciphertext is guaranteed.
  • the reservation code only gives the serial number (namely: storage address) of the generalized key source data GYY to be used in the next communication in the read-only memory of the encryption and decryption chip, not the preset key Y(0), the encryptor f(i ) reconstruction code, decryptor f'(i) reconstruction code and derivative F(i) reconstruction code itself, and each pair of hidden preset key Y(0), encryption device f(i) reconstruction code
  • the construction code, the reconstruction code of the decryptor f'(i) and the reconstruction code of the derivative F(i) are all different, so the reservation code is not afraid of being intercepted, and it can be transmitted in ciphertext or plaintext.
  • the process of writing GYY to the encryption and decryption chip is completed by the chip manufacturer with a commercially dedicated writing device.
  • the entire writing process does not allow human intervention, so that no one knows the specific content of GYY hidden in each pair of chips. It is only known which two chips are a pair.
  • the producer when the chips enter the market, the producer will not know which pair of chips is used by which user, so it is impossible to obtain the generalized key source data GYY of a certain information encrypted communication channel through the chip producer.
  • the generalized key source data GYY hidden by each encryption and decryption chip cannot be read out, so the person who gets the encryption and decryption chip cannot know the hidden GYY of the chip.
  • the generalized key source data GYY hidden by each pair of encryption and decryption chips is different. Even if the generalized key source data hidden by one encryption and decryption chip is obtained by a special method, it is also difficult to crack other encryption and decryption chip pairs. The ciphertext doesn't help. Therefore, it is impossible to know the generalized key source data of a certain information encryption communication channel by owning some encryption and decryption chips.
  • the ciphertext does not contain any information about the generalized key.
  • the only way for the communication parties to communicate the characteristics of the next encryption is the reservation code. Therefore, it is impossible to directly obtain any content of the generalized key source data from the ciphertext. It is only possible to obtain reservation code. But the same reservation code corresponds to different generalized key source data in different encryption and decryption chip pairs, so it is impossible to know the generalized key source data of an encrypted channel from the transmitted ciphertext.
  • Embodiment 5 With the assistance of the server, an information encryption communication system composed of an encryption and decryption chip
  • An arbitrary call information encryption communication system realized with the assistance of a server, including a calling end, a server end, and a called end.
  • the server end is arranged between the calling end and the called end, and between the calling end and the server end, between the called end and the server end, information encryption communication methods as described in embodiment 4 are respectively provided;
  • the server includes:
  • a generation unit used to generate a plurality of generalized key source data, including a plurality of reservation keys, encryption device reconstruction codes, decryptor reconstruction codes and key derivation device reconstruction codes;
  • a calling unit used to send a set of selected reservation keys, encryptor reconfiguration codes, decryptor reconfiguration codes and key derivation device reconfiguration codes to the called terminal according to the call request;
  • a ringback unit used to send the selected reservation key, encryptor reconfiguration code, decryptor reconfiguration code and key derivation device reconfiguration code to the calling end;
  • the calling end and the called end use the reservation key, encryption device reconstruction code, decryptor reconstruction code, and key derivation device reconstruction code sent by the server to construct an information encryption channel for encrypted information communication.
  • each phone or mobile phone or network endpoint must communicate with many phones or mobile phones or network endpoints. At this time, it is necessary to use the server-assisted information encryption communication, which corresponds to the information encryption communication system assisted by the server.
  • Each mobile phone or phone or network node has a pair of encryption and decryption chips with the server, and each phone or mobile phone or network node can communicate with the service provider, such as: sending call requests and called party numbers, receiving calls and information, etc. .
  • the server continuously generates multiple preset keys Y(0), key derivation reconstruction code F(i), encryption reconstruction code f(i) and decryption reconstruction code f'(i) (The following may be referred to as session generalized key source data HGYY for short).
  • the calling end sends a call request and the called party number to the serving end in a private (information encryption communication method as described in embodiment 4) information encryption communication channel between him and the serving end;
  • the private information encrypted communication channel between the calling end transmits the telephone number of the calling end and a selected session generalized key source data HGYY to the called end, and causes the called end to ring;
  • the server end communicates with the calling end
  • the private information encryption communication channel sends the same selected HGYY and ringback signal to the calling end; after the communication channel is established, the two communication parties use the selected HGYY given by the server to form an information encryption channel for information encryption communication.
  • the calling end After the calling end establishes communication with the called end, they use the session generalized key source data HGYY sent by the server to encrypt the session information.
  • the session process still maintains the "one-time pad" method.
  • the way the server generates HGYY is exactly the same as the way the encryption and decryption chip manufacturer generates the generalized key source data GYY given in Example 2, and considering the huge amount of generalized key source data, it can be guaranteed that the server only Generalized keys are used once and discarded. Therefore, the encryption of the communication information assisted by the service provider can be done as a one-time pad. That is to say, in the communication system, it is only necessary to ensure that the session generalized key source data HGYY cannot be obtained by others.
  • the server uses the true random number generated by a dedicated machine to automatically generate the dedicated session generalized key source data. This process is not involved in the process, which is the same as the process of writing the preset generalized key source data to the encryption and decryption chip in Embodiment 2;
  • the server uses autonomous communication encryption technology to send the session generalized key source data HGYY to each session participant;
  • the session is encrypted with the one-time session generalized key source data HGYY sent by the server;
  • the server is the only third party that can obtain HGYY, and then obtain the communication content, and it is also the only node that leaks session generalized key source data HGYY.
  • Embodiment 6 "One-to-many" information encryption communication method composed of encryption and decryption chips
  • the encryption and decryption chip described in Embodiment 2 can also be applied to "one-to-many" information encryption channels. Since the GYY written by an encryption and decryption chip does not occupy many storage units, an integrated circuit with an area of one square centimeter can accommodate more than a thousand sets of GYY. Therefore, an encryption center chip that hides thousands of sets of generalized key source data can be constructed. Each set of "generalized key source data" contained in the encryption center chip can form an information encryption private channel with a small encryption and decryption chip, and these chips generally form a "one-to-many" information encryption channel.
  • the encryption center chip is located at the ATM machine management node, and each small encryption and decryption chip is located in each ATM machine, so the communication confidentiality of the ATM machine reaches an unbreakable level. If the encryption center chip is located in the network transaction center, and each small encryption and decryption chip is located in the personal mobile phone, the security of network transaction communication will reach an unbreakable level.
  • Embodiment 7 "Intra-group broadcast” information encryption communication method composed of encryption and decryption chips
  • a group of encryption and decryption chips provided in Embodiment 2 includes a group of identical GYYs in each chip, then the communication in the information encryption channel formed by this group of GYYs is all open information to the group of chips, so in this group of chips
  • the information encryption channel can constitute a broadcast communication for this group of chips, while it is still an information encryption communication for other people outside the group. For example: if all the encryption and decryption chips inside a unit (such as a ship) set an information encryption channel with common generalized key source data, the channel will appear as "information without encryption" in the unit, but it will not be used outside the unit. The eavesdroppers are still in the state of information encryption.
  • Embodiment 8 "User-built” information encryption communication method composed of encryption and decryption chips
  • Embodiment 9 The way of judging the security of the information encryption channel
  • the communication party asks the other party to enter the agreed identification code from time to time, so as to judge whether the information encryption channel is safe or not.
  • the encryption and decryption chip of the other party is stolen, damaged, or the normal user is separated from the encryption and decryption chip, etc., the party seeking the identification code cannot receive the correct identification code on time, thus judging that the channel is not safe.
  • Embodiment 10 An information security local area communication network composed of encryption and decryption chips

Abstract

The present invention relates to the field of information encryption and decryption, and in particular to an encryption and decryption method and apparatus implemented using reconfigurable many-valued logic operation components. The encryption and decryption method may comprise encryption and decryption processes, processes of presetting an encryption component reconfiguration code, a decryption component reconfiguration code, and a key derivation component reconfiguration code, a preset key presetting process, and a process of generating a reservation code. The encryption and decryption apparatus may comprise an encryption component, a decryption component, and a read-only storage component consisting of hardware, and may further comprise an encryption module, a decryption module, and a configuration file consisting of software. An application scenario may be an autonomous communication encryption system or an assisted communication encryption system using encryption and decryption components, or may be a static information encryption system using encryption and decryption modules. The beneficial effects of the present invention are: a large number of optional keys obvious in random features and not shorter than plaintext can be derived, and according to the massive optional keys, an automatic execution capability of a computer, and a small number of storage units, a practical and feasible one-time pad technology is realized.

Description

一种加解密方法、装置及其通信系统An encryption and decryption method, device and communication system thereof 技术领域technical field
本发明涉及信息加解密领域,尤其涉及用可重构多值逻辑运算部件构建的加解密方法、装置及其应用场景。The present invention relates to the field of information encryption and decryption, in particular to an encryption and decryption method, device and application scene constructed with reconfigurable multi-valued logic operation components.
背景技术Background technique
随着电子商务、在线交易、战场数据链、云存储等技术的普及,以及大型自动化、远程控制化、数据依赖型设施遭网络黑客攻击的现实频频发生,使得人们对通信数据和存储数据的加密技术倍受关注;随着计算机能力的不断提高,依靠算法复杂性建立的现代加密方法受到严重威胁,也需要开发对各类电子文件的新加密技术。于是,1940年就被香农在理论上证明是不可破解的“一次性便签加密术(也称‘一次一密’技术)”成为人们追求的新目标。With the popularization of technologies such as e-commerce, online transactions, battlefield data links, and cloud storage, and the fact that large-scale automation, remote control, and data-dependent facilities are frequently attacked by network hackers, people encrypt communication data and storage data. Technology has attracted much attention; with the continuous improvement of computer capabilities, modern encryption methods based on algorithm complexity are seriously threatened, and new encryption technologies for various electronic files need to be developed. Therefore, in 1940, the "one-time note encryption (also known as 'one-time pad' technology)" that was theoretically proved to be unbreakable by Shannon became a new goal pursued by people.
与本发明直接相关的前期专利有3项,均为可重构多值逻辑运算器技术的专利,本发明专利以这3项专利提供的技术和设备为基础,并以此构造用于加解密操作的符号变换器。这3项专利分别为:[1]、无进位无借位n值运算器,中国专利:ZL200710041144.1,授权日:2009-10-28。此发明的要点在于公开了一种构造多值处理器的一般性方法,其主要技术落实在光学处理器,不涉及加密技术;[2]、可重构的三值光学处理器,中国发明专利:ZL201010584129.3,授权日:2012-05-02,主要专利公开了一种构造三值光学处理器的技术方案,不涉及加密技术;[3]、一种位数众多、可分组、可重构的多值电子运算器及方法,中国发明专利申请号:201811567284.7,申请日:2018-12-20,PCT号:PCT/CN2019/070318,主要公开了一种构造可重构多值逻辑电子处理器的技术方案,不涉及加密技术。There are 3 previous patents directly related to the present invention, all of which are patents of reconfigurable multi-valued logic operator technology. The patent of the present invention is based on the technology and equipment provided by these 3 patents, and this structure is used for encryption and decryption The sign changer for the operation. These 3 patents are: [1], n-value arithmetic unit without carry and borrow, Chinese patent: ZL200710041144.1, authorized date: 2009-10-28. The gist of this invention is to disclose a general method for constructing a multi-valued processor, the main technology of which is implemented in the optical processor and does not involve encryption technology; [2], reconfigurable three-valued optical processor, Chinese invention patent : ZL201010584129.3, date of authorization: 2012-05-02, the main patent discloses a technical scheme for constructing a ternary optical processor, which does not involve encryption technology; [3], a multi-digit, groupable, repeatable Structured multi-valued electronic calculator and method, Chinese invention patent application number: 201811567284.7, application date: 2018-12-20, PCT number: PCT/CN2019/070318, mainly discloses a reconfigurable multi-valued logic electronic processing The technical solution of the device does not involve encryption technology.
发明内容Contents of the invention
针对现有技术中的问题,现提供一种基于可重构多值逻辑运算部件的加解密方法、装置及其应用场景。Aiming at the problems in the prior art, an encryption and decryption method, device and application scenarios based on reconfigurable multi-valued logical operation components are now provided.
1.本发明提供一种加解密方法1. The present invention provides an encryption and decryption method
该方法包括一个加密过程、一个解密过程、一个预置加密部件重构码以及解密部件重构码过程、一个预置密钥派生部件重构码的过程、一个预置预设密钥过程和一个生成预约码的过程。优选的是:加密部件、解密部件和密钥派生部件都使用可重构多值逻辑运算部件作为符号变换部件,相应地,加密部件重构码、解密部件重构码和密钥派生部件重构码都是可重构多值逻辑运算部件的重构码,每个重构码设定相应多值逻辑运算部件的当前运算规则。The method includes an encryption process, a decryption process, a process of presetting encryption part reconfiguration code and decryption part reconfiguration code, a presetting key deriving part reconfiguration code process, a presetting presetting key process and a The process of generating a reservation code. Preferably: the encryption unit, the decryption unit and the key derivation unit all use a reconfigurable multi-valued logical operation unit as a symbol transformation unit, and correspondingly, the encryption unit reconstruction code, the decryption unit reconstruction code and the key derivation unit reconstruction The codes are reconfigurable codes of the reconfigurable multi-valued logical operation unit, and each reconfigured code sets the current operation rule of the corresponding multi-valued logical operation unit.
所述加密过程的具体步骤包括:The concrete steps of described encryption process include:
步骤A1:预先根据加密部件的重构码设定本次使用的加密规则,并根据所述加密规则,以当前的明文段对应的加密密钥,对当前的所述明文段进行加密,得到相应的密文段;Step A1: Set the encryption rule used this time in advance according to the reconstruction code of the encryption component, and according to the encryption rule, use the encryption key corresponding to the current plaintext segment to encrypt the current plaintext segment to obtain the corresponding the ciphertext segment;
步骤A2:预先根据密钥派生部件的重构码设定本次使用的加密密钥派生规则,并根据所述加密密钥派生规则,对当前的所述明文段以及对应的加密密钥进行处理,生成加密下一个所述明文段的加密密钥。Step A2: Set the encryption key derivation rule used this time in advance according to the reconfiguration code of the key derivation component, and process the current plaintext segment and the corresponding encryption key according to the encryption key derivation rule , generating an encryption key that encrypts the next said plaintext segment.
A1与A2的执行次序不分先后,也可以并行。The execution order of A1 and A2 is not in particular order, and they can also be executed in parallel.
所述解密过程具体步骤包括:The specific steps of the decryption process include:
步骤B1:预先根据与对端的所述加密部件的重构码配对的解密部件重构码来设定本次使用的解密规则,并根据所述解密规则,以当前的所述密文段对应的解密密钥,对当前的所述密文段进行解密,得到解密后的明文段;Step B1: Set the decryption rule used this time in advance according to the decryption component reconstruction code paired with the reconstruction code of the encryption component at the opposite end, and according to the decryption rule, use the current ciphertext segment corresponding The decryption key is used to decrypt the current ciphertext segment to obtain the decrypted plaintext segment;
步骤B2:预先以设定当前加密密钥派生规则的密钥派生部件重构码设定本次使用的解密密钥派生规则,并根据所述解密密钥派生规则,对解密后的所述明文段以及对应的解密密钥进行处理,生成解密下一密文段的解密密钥。Step B2: Pre-set the decryption key derivation rule used this time with the key derivation component reconstruction code that sets the current encryption key derivation rule, and according to the decryption key derivation rule, decrypt the decrypted plaintext segment and the corresponding decryption key to generate a decryption key for decrypting the next ciphertext segment.
B1与B2的执行次序不分先后,也可以并行。B1 and B2 are executed in no particular order, and can also be executed in parallel.
所述与加密部件重构码配对的解密部件重构码是指:用其中一个重构码设定的加密规则从明文生成密文,该密文可以用另一个重构码设定的解密规则来解密,从密文生成明文。The decryption component reconstruction code paired with the encryption component reconstruction code refers to: use one of the encryption rules set by the reconstruction code to generate ciphertext from plaintext, and the ciphertext can use the decryption rule set by another reconstruction code To decrypt, generate plaintext from ciphertext.
所述预置加密部件重构码以及解密部件重构码的过程,具体包括:The process of presetting the reconfiguration code of the encryption part and the reconfiguration code of the decryption part specifically includes:
步骤C1:在本加解密方法的一个具体实现物投入使用之前,即:在加密器、解密器投入使用,执行加密过程和解密过程之前;以及在加密单元、解密单元投入使用,执行加密过程和解密过程之前,从重构码序列中,随机选出并保存多个所述加密部件重构码与对应的解密部件重构码组成的重构码配 对,作为一个具体实现物使用的加密部件和解密部件重构码配对组;Step C1: Before a specific implementation of the encryption and decryption method is put into use, that is: before the encryptor and decryptor are put into use, the encryption process and the decryption process are executed; and before the encryption unit and the decryption unit are put into use, the encryption process and Before the decryption process, from the reconstruction code sequence, randomly select and save a plurality of reconstruction codes composed of the encryption component reconstruction code and the corresponding decryption component reconstruction code pairing, as a specific implementation of the encryption component and Decryption component reconstruction code pairing group;
步骤C2:获取对应于本次加密和解密过程使用的第一预约数,并根据所述第一预约数从所述加密部件和解密部件重构码配对组中提取并预置本次加密和解密过程使用的加密部件重构码和解密部件重构码。Step C2: Obtain the first reservation number corresponding to the current encryption and decryption process, and extract and preset this encryption and decryption from the paired group of the encryption component and the decryption component reconstruction code according to the first reservation number Encrypted component reconstruction codes and decrypted component reconstruction codes used by the process.
所述预置密钥派生部件重构码的过程,具体包括:The process of reconstructing the code of the preset key derivation component specifically includes:
步骤D1:在本加解密方法的一个具体实现物投入使用之前,即:在加密密钥派生器、解密密钥派生器投入使用,执行加密过程和解密过程之前;以及在加密密钥派生单元、解密密钥派生单元投入使用,执行加密过程和解密过程之前,从所述重构码序列中,随机选出多个所述密钥派生部件的重构码,作为该具体实现物使用的密钥派生部件重构码组;Step D1: Before a specific implementation of this encryption and decryption method is put into use, that is: before the encryption key derivation device and the decryption key derivation device are put into use, and before the encryption process and decryption process are performed; and before the encryption key derivation unit, The decryption key derivation unit is put into use, and before the encryption process and the decryption process are performed, a plurality of reconstruction codes of the key derivation unit are randomly selected from the reconstruction code sequence as the key used by the specific implementation Derived component reconstruction code group;
步骤D2:获取对应于本次加密和解密过程使用的第二预约数,并根据所述第二预约数从所述密钥派生部件重构码组中提取并预置本次使用的密钥派生部件的重构码。Step D2: Obtain the second reserved number corresponding to the current encryption and decryption process, and extract and preset the key derivation used this time from the reconfigured code group of the key derivation component according to the second reserved number The refactoring code for the part.
所述预置预设密钥的过程,具体包括:The process of presetting the preset key specifically includes:
所述预设密钥用于加密第一个所述明文段,以及解密第一个所述密文段。The preset key is used to encrypt the first plaintext segment and decrypt the first ciphertext segment.
步骤E1:在本加解密方法的一个具体实现物投入使用之前,即:只读存储部件,或配置文件使用之前,从预设密钥序列中,随机选出多个所述预设密钥,作为该具体实现物使用的预设密钥组;Step E1: Before a specific realization of this encryption and decryption method is put into use, that is: before the use of the read-only storage component or the configuration file, randomly select a plurality of the preset keys from the preset key sequence, as the preset key set used by the concrete implementation;
步骤E2:获取对应于本次加密和解密过程使用的第三预约数,并根据所述第三预约数从所述预设密钥组中提取并设定本次使用的预设密钥。Step E2: Obtain the third reservation number corresponding to the current encryption and decryption process, and extract and set the preset key used this time from the preset key group according to the third reservation number.
步骤C1、D1和E1必须在具体实现物投入使用前执行一次,且不执行第二次。但C2、D2和E2在具体实现物每次执行加解密操作时要都先执行一次。Steps C1, D1 and E1 must be performed once before the concrete implementation is put into use, and not performed a second time. However, C2, D2, and E2 must be executed once each time the encryption and decryption operations are executed in the specific implementation.
所述生成预约码的过程,具体包括:The process of generating the reservation code specifically includes:
以本次加解密过程使用的预约码所包含的多个预约数为初始值,对本次加解密过程中的待加密的明文中的多种符号排列分别进行计数,计数结果为新的多个预约数,将所有新预约数依序连接,组成下一次加解密过程将使用的所述预约码。Taking the multiple reservation numbers contained in the reservation code used in this encryption and decryption process as the initial value, count the various symbol arrangements in the plaintext to be encrypted in this encryption and decryption process, and the counting result is a new multiple Reservation numbers, all new reservation numbers are connected in order to form the reservation code to be used in the next encryption and decryption process.
2.本发明提供一种实现所述加解密方法的电子装置2. The present invention provides an electronic device for implementing the encryption and decryption method
该电子装置以硬件设备为主体来实现上述的加解密方法。其特征硬件包括:一个加密部件、一个解密部件、一个只读存储部件、一个非易失读写存 储器、一组循环计数器和一个出品厂独有的专属配套写入设备。这种电子装置的常见形态为集成电路芯片,也称为加解密芯片。优选的是:加密部件和解密部件使用的符号变换部件都是可重构多值逻辑运算部件。The electronic device uses hardware equipment as the main body to implement the encryption and decryption method described above. Its characteristic hardware includes: an encryption unit, a decryption unit, a read-only storage unit, a non-volatile read-write memory, a group of cycle counters and a unique supporting writing device unique to the factory. A common form of such an electronic device is an integrated circuit chip, also known as an encryption and decryption chip. Preferably, the symbol transformation components used by the encryption component and the decryption component are both reconfigurable multi-valued logic operation components.
⑴加密部件包括:(1) Encryption components include:
加密器f:每次加密过程开始前,用一个随机抽取的加密器重构码设定加密器f,使f具有具体的加密规则;f对当前的加密密钥Y(i)和当前的明文段p(i)进行多值逻辑运算,生成当前密文段p’(i),完成加密。Encryptor f: Before each encryption process starts, use a random encrypted encryption reconstruction code to set the encryption f, so that f has specific encryption rules; Segment p(i) performs multi-valued logic operations to generate the current ciphertext segment p'(i) to complete encryption.
加密密钥派生器F:每次加密开始前,用一个随机抽取的密钥派生器重构码设定F,使F具有具体的密钥派生规则;F对当前的加密密钥Y(i)和当前的明文段p(i)进行多值逻辑运算,生成加密下一个明文段的加密密钥Y(i+1)。Encryption key derivation F: before the start of each encryption, set F with a randomly extracted key derivation reconstruction code, so that F has specific key derivation rules; Perform multi-valued logic operations with the current plaintext segment p(i) to generate an encryption key Y(i+1) for encrypting the next plaintext segment.
优选的:加密器f和加密密钥派生器F都使用可重构多值逻辑运算部件作为符号变换部件。相应地,加密器重构码和加密密钥派生器重构码都是可重构多值逻辑运算部件的重构码。由于各个加密器重构码与各个密钥派生器重构码都不相同,决定了f与F必定用不同的重构码进行配置,故二者必定是不同运算规则的多值逻辑运算器,进而决定了当前密文段p’(i)与派生的加密密钥Y(i+1)必定不相同。Preferably: both the encryptor f and the encryption key derivation unit F use a reconfigurable multi-valued logical operation unit as a symbol transformation unit. Correspondingly, both the reconfiguration codes of the encryptor and the reconfiguration codes of the encryption key derivation are reconfigurable codes of the multi-valued logical operation unit. Since the reconstruction codes of each encryption device are different from those of each key derivation device, it is determined that f and F must be configured with different reconstruction codes, so the two must be multi-valued logic operators with different operation rules. It is further determined that the current ciphertext segment p'(i) must be different from the derived encryption key Y(i+1).
⑵解密部件包括:⑵Decryption components include:
解密器f’:每次解密开始前,用与对端的加密器重构码配对的解密器重构码来设定解密器f’,使f’具有具体的解密规则;f’以当前的解密密钥Y’(i),对当前的密文段p’(i)进行解密,得到解密后的明文段p(i)。Decryptor f': Before each decryption starts, use the decryptor reconstruction code paired with the peer's encryption reconstruction code to set the decryptor f', so that f' has specific decryption rules; f' uses the current decryption code The key Y'(i) decrypts the current ciphertext segment p'(i) to obtain the decrypted plaintext segment p(i).
解密密钥派生器F’:每次解密开始前,用对端加密器选定的密钥派生器重构码设定F’,使F’具有与F相同的密钥派生规则;F’对解密后的当前明文段p(i)以及当前的解密密钥Y’(i)进行处理,生成解密下一个密文段的解密密钥Y’(i+1)。Decryption key derivation F': Before starting each decryption, set F' with the key derivation code selected by the peer encryptor, so that F' has the same key derivation rules as F; F' has the same key derivation rules as F; The decrypted current plaintext segment p(i) and the current decryption key Y'(i) are processed to generate the decryption key Y'(i+1) for decrypting the next ciphertext segment.
优选的:解密器f’和解密密钥派生器F’都使用可重构多值逻辑运算部件作为符号变换部件。相应地,解密器重构码和解密密钥派生器重构码都是可重构多值逻辑运算部件的重构码。在配对的加密器和解密器中,F与F’相同,Y(0)与Y’(0)相同,加密明文段和解密后明文段相同,都是p(i),决定了派生密钥Y(i+1)与Y’(i+1)相同。Preferably: both the decryptor f' and the decryption key derivation device F' use the reconfigurable multi-valued logical operation unit as the symbol transformation unit. Correspondingly, both the decryptor reconstruction code and the decryption key derivation reconstruction code are reconstruction codes of the reconfigurable multi-valued logical operation unit. In the paired encryptor and decryptor, F is the same as F', Y(0) is the same as Y'(0), the encrypted plaintext segment and the decrypted plaintext segment are the same, both are p(i), which determines the derived key Y(i+1) is the same as Y'(i+1).
⑶加密部件和解密部件附带的工作寄存器(3) The working registers attached to the encryption part and the decryption part
加密部件附带一些工作寄存器,包括:加密器f附带有:第一加密输入寄存器(Rfy),用于存储当前密钥;第二加密输入寄存器(Rfm),用于存储当前明文段;加密输出寄存器(CRf),用于存储当前密文段并输出。加密密钥派生器F附带有:第一加密密钥派生输入寄存器(RFY),用于存储当前密钥;第二加密密钥派生输入寄存器(RFm),用于存储当前明文段;加密密钥派生输出寄存器(CRF),用于存储对下一明文段加密的密钥并输出。The encryption part comes with a number of working registers, including: Encryptor f comes with: a first encrypted input register (Rfy) for storing the current key; a second encrypted input register (Rfm) for storing the current plaintext segment; an encrypted output register (CRf), used to store and output the current ciphertext segment. The encryption key derivation device F is attached with: the first encryption key derivation input register (RFY), used to store the current key; the second encryption key derivation input register (RFm), used to store the current plaintext segment; the encryption key The derived output register (CRF) is used to store and output the encryption key for the next plaintext segment.
相应地,解密部件也附带一些工作寄存器,包括:解密器f’附带有:第一解密输入寄存器(Rf’y),用于存储当前密钥;第二解密输入寄存器(Rf’m),用于存储当前密文段;解密输出寄存器(CRf’),用于存储解密后的当前明文段;解密密钥派生器F’附带有:第一解密派生输入寄存器(RF’Y),用于存储当前密钥;第二解密派生输入寄存器(RF’m),用于存储当前密文段解密后的明文段;解密派生输出寄存器(CRF’),用于存储解密下一密文段的密钥。Correspondingly, the decryption part also has some working registers, including: the decryptor f' is attached with: a first decryption input register (Rf'y), which is used to store the current key; a second decryption input register (Rf'm), which is used to for storing the current ciphertext segment; the decryption output register (CRf') is used to store the current plaintext segment after decryption; the decryption key derivation device F' is attached with: the first decryption derivation input register (RF'Y) is used for storing Current key; the second decryption derived input register (RF'm), used to store the plaintext segment after decryption of the current ciphertext segment; decryption derived output register (CRF'), used to store the key for decrypting the next ciphertext segment .
⑷加密部件和解密部件的重构寄存器⑷Reconfiguration registers of encryption components and decryption components
加密器f的每一位、解密器f’的每一位、密钥派生器F和F’的每一位都配有一个重构寄存器,它们第i位的重构寄存器分别标记为:Cgf(i)、Cgf’(i)、CgF(i)和CgF’(i)。给这些重构寄存器写入重构码,可修改对应符号变换器位的多值逻辑运算规则。Each bit of the encryptor f, each bit of the decryptor f', each bit of the key derivation F and F' is equipped with a reconfiguration register, and the reconfiguration registers of their i-th bits are respectively marked as: Cgf (i), Cgf'(i), CgF(i), and CgF'(i). Writing reconfiguration codes to these reconfiguration registers can modify the multi-valued logic operation rules corresponding to the sign converter bits.
⑸只读存储部件:⑸Read-only storage components:
用于保存一个几KB的控制程序和大约10MB的广义密钥源数据GYY。GYY为藏入该加解密电子装置内的多个加密器重构码和解密器重构码配对、多个密钥派生器重构码以及多个预设密钥Y(0)。只读存储部件只能由出产厂用专门装置写入数据一次。只读存储部件不设数据读出电子装置的通道,故其保存的程序和GYY永远不能被读出到电子装置之外,但所述程序和GYY可以在电子装置内部无限次使用。所述只读存储部件包含多个存储区,包括:控制程序存储区、加密器重构码存储区、解密器重构码存储区、密钥派生器重构码存储区和预设密钥存储区。It is used to save a few KB control program and about 10MB generalized key source data GYY. GYY is a plurality of pairs of encryptor reconfiguration codes and decryptor reconfiguration codes, a plurality of key derivation reconfiguration codes and a plurality of preset keys Y(0) stored in the encryption and decryption electronic device. The read-only storage unit can only write data once with a special device by the manufacturer. The read-only storage unit does not have a channel for reading data from the electronic device, so the program and GYY stored in it can never be read out of the electronic device, but the program and GYY can be used indefinitely inside the electronic device. The read-only storage part contains multiple storage areas, including: control program storage area, encryption device reconstruction code storage area, decryptor reconstruction code storage area, key derivation device reconstruction code storage area and preset key storage area Area.
⑹广义密钥源数据GYY:⑹Generalized key source data GYY:
每个加解密电子装置都由生产厂家在出厂前用专门写入设备写入一组广义密钥源数据GYY。每个GYY的值都是一个加密器重构码和对应的解码器重 构码配对、一个密钥派生器重构码和一个预设密钥的组合,故每个GYY值决定了一种加解密操作使用的规则和密钥。由于加密端和解密端使用的GYY必须相同,故至少要有两个电子装置写入的GYY及其排列序号完全相同才能构成信息加密的通信系统。若给多个加解密芯片写入序号和内容完全相同的GYY,这些芯片之间会同时解密传送的密文,形成组内信息开放的通信系统。Each encryption and decryption electronic device is written in a set of generalized key source data GYY by the manufacturer with a special writing device before leaving the factory. Each GYY value is a combination of an encryption code and a corresponding decoder reconstruction code pair, a key derivation code and a preset key, so each GYY value determines an encryption The rules and keys used for decryption operations. Since the GYY used by the encryption end and the decryption end must be the same, at least two electronic devices must have the same GYY and their sequence numbers to form an information encrypted communication system. If you write GYY with the same serial number and content to multiple encryption and decryption chips, these chips will decrypt the transmitted ciphertext at the same time, forming a communication system with open information within the group.
所述专门写入装置只设置在芯片出品厂,不属于芯片的附属件。每个加解密芯片必须由出品厂用所述写入装置写入专用程序,并写入以随机方式从所有可能的GYY值中选取出的一组GYY之后,才能成为可用产品。所述写入装置包括:第一烧录器,用于将随机选出的多个加密器重构码写入只读存储部件的加密器重构码存储区;第二烧录器,用于将各个加密器重构码配对的解密器重构码写入只读存储部件的解密器重构码存储区;第三烧录器,用于将随机选出的多个密钥派生器重构码写入只读存储部件的派生器重构码存储区;第四烧录器,用于将随机选出的多个预设密钥写入只读存储部件的预设密钥存储区。The special writing device is only installed in the chip factory and is not an accessory of the chip. Each encryption and decryption chip must be written with a special program by the manufacturer using the writing device, and after writing a group of GYY selected from all possible GYY values in a random manner, it can become a usable product. The writing device includes: a first burner, used to write a plurality of randomly selected encryptor reconstruction codes into the encryptor reconstruction code storage area of the read-only storage unit; a second burner, used for Write the decryptor reconfiguration code paired with each encryptor reconfiguration code into the decryptor reconfiguration code storage area of the read-only storage unit; the third burner is used to reconfigure a plurality of randomly selected key derivations The code is written into the derivation reconstruction code storage area of the read-only storage unit; the fourth burner is used to write a plurality of preset keys randomly selected into the preset key storage area of the read-only storage unit.
⑺加密部件和解密部件互为对端关系⑺The encryption component and the decryption component are peers
此处的对端关系是指:加密处理待加密明文以及解密处理该明文对应的密文的配对技术和部件。当将加解密芯片应用于信道两端进行信息加解密通信时,此处的加密部件为一端的加解密芯片中用于加密明文生成密文的部件,而对端的解密部件则为另一端的加解密芯片中用于解密该密文的部件。具体地,可如图7所示,加解密芯片A中的加密部件a和加解密芯片B的解密部件b互为对端,加解密芯片A中的解密部件a’和加解密芯片B的加密部件b’互为对端。The peer relationship here refers to: the pairing technology and components for encrypting and processing the plaintext to be encrypted and decrypting and processing the ciphertext corresponding to the plaintext. When the encryption and decryption chip is applied to both ends of the channel for information encryption and decryption communication, the encryption component here is the component used to encrypt plaintext to generate ciphertext in the encryption and decryption chip at one end, and the decryption component at the opposite end is the encryption and decryption component at the other end. The components in the decryption chip are used to decrypt the ciphertext. Specifically, as shown in FIG. 7, the encryption component a in the encryption and decryption chip A and the decryption component b in the encryption and decryption chip B are peers, and the encryption and decryption component a' in the encryption and decryption chip A and the encryption and decryption chip B Components b' are opposite to each other.
⑻预约数与预约码⑻ Reservation number and reservation code
加密部件中设置三个独立的循环计数器,分别对明文或密文中指定的不同符号排列进行统计,本次通信结束时得到的统计值分别为第一预约数、第二预约数和第三预约数,三个预约数顺序连接形成一个方便存储和传送的代码,称为预约码。由于明文或密文中出现某种符号序列具有均匀概率随机性,故三个预约数都具有随机性,因而预约码也是随机数。Three independent cycle counters are set in the encryption part to count the different symbol arrangements specified in plaintext or ciphertext respectively. The statistical values obtained at the end of this communication are the first reservation number, the second reservation number and the third reservation number , the three reservation numbers are sequentially connected to form a code that is convenient for storage and transmission, called the reservation code. Since the appearance of a certain symbol sequence in plaintext or ciphertext has uniform probability randomness, the three reservation numbers are all random, so the reservation code is also a random number.
预约数的作用:为下一次通信过程随机选择广义密钥源数据GYY创造条件,具体讲:本次通信结束后,加密部件立即依据第一预约数,从只读存储 部件中提取一个加密器重构码,并用这个重构码设定加码器f的多值逻辑运算功能;解密部件也依据第一预约数,从只读存储部件中提取到与加密器重构码配对的解密器重构码,并用此解码器重构码设定解密器f’的多值逻辑运算功能;加密部件和解密部件都依据第二预约数,从只读存储部件提取同一个密钥派生器重构码,并用这个重构码设定加密密钥派生器F和解密密钥派生器F’的多值逻辑运算功能;加密部件和解密部件都依据第三预约数,从只读存储器提取同一个预设密钥Y(0)。从而为下一次通信做好准备,同时冲掉了本次通信使用过的GYY,消除事后获取本次通信广义密钥的可能性。The role of the reservation number: to create conditions for the random selection of the generalized key source data GYY in the next communication process, specifically: after the end of this communication, the encryption unit immediately extracts an encryption key from the read-only storage unit according to the first reservation number code, and use this reconfiguration code to set the multi-valued logical operation function of the encoder f; the decryption part also extracts the decryptor reconfiguration code paired with the encryption device reconfiguration code from the read-only storage part according to the first reserved number , and use this decoder reconstruction code to set the multi-valued logic operation function of the decryptor f'; both the encryption unit and the decryption unit extract the same key derivation reconstruction code from the read-only storage unit according to the second reservation number, and use This reconstruction code sets the multi-valued logical operation function of the encryption key derivation device F and the decryption key derivation device F'; both the encryption part and the decryption part extract the same preset key from the read-only memory according to the third reserved number Y(0). In this way, it is ready for the next communication, and at the same time, the GYY used in this communication is washed away, and the possibility of obtaining the generalized key of this communication afterwards is eliminated.
预约过程:当加密器收到通信信息完成命令时,立刻将三个预约数组成预约码,并将预约码保存在预约码寄存器和发送给解密端;解密端将收到的预约码保存到本端的预约码寄存器,并回送给加密端;加密端将收到的回送预约码与保存的预约码比较,若二者相同,则预约成功,发出终结本次通信过程的指令,完成本次通信;若二者不相同,则重新发出预约码,等待再次收到回送预约码,若连续多次预约不成功,则发出线路故障报警。Reservation process: When the encryptor receives the command to complete the communication information, it immediately forms the reservation code with three reservation numbers, and saves the reservation code in the reservation code register and sends it to the decryption terminal; the decryption terminal saves the received reservation code to the The reservation code register at the end, and send it back to the encryption end; the encryption end compares the received reservation code with the saved reservation code, if the two are the same, the reservation is successful, and an instruction to terminate the communication process is issued to complete the communication; If the two are not the same, then re-send the reservation code, wait for the return reservation code to be received again, if the reservation is unsuccessful for many times in a row, then send a line failure alarm.
预约码也可以由解密器产生,并由解密器发起预约过程;预约码也可以由加密器和解密器分别产生,由先收到通信信息完成命令端发起预约过程。The reservation code can also be generated by the decryptor, and the decryptor initiates the reservation process; the reservation code can also be generated separately by the encryptor and the decryptor, and the order terminal that receives the communication information first initiates the reservation process.
3.本发明提供一种实现所述加解密方法的计算机软件结构3. The present invention provides a computer software structure for realizing the encryption and decryption method
该加解密计算机软件结构包括:加密软件模块、解密软件模块、配置文件、多个循环计数变量和厂家拥有的专用写入程序。优选地:加密软件模块和解密软件模块中使用的符号变换规则都是可重构多值逻辑运算规则。The encryption and decryption computer software structure includes: an encryption software module, a decryption software module, a configuration file, a plurality of cycle counting variables and a special writing program owned by the manufacturer. Preferably: the symbol transformation rules used in the encryption software module and the decryption software module are reconfigurable multi-valued logic operation rules.
⑴加密软件模块:⑴ Encryption software module:
包括:加密程序段Rf:每次加密过程开始前,用一个随机抽取的加密器重构码设定所述加密程序段Rf的加密规则,加密程序段以当前的加密密钥,对当前的所述明文段P(i)进行加密,得到对应的当前密文段P’(i)。Including: Encryption program segment Rf: Before each encryption process starts, use a randomly extracted encryptor reconstruction code to set the encryption rule of the encryption program segment Rf, and the encryption program segment uses the current encryption key to The plaintext segment P(i) is encrypted to obtain the corresponding current ciphertext segment P'(i).
加密密钥派生程序段RF:每次加密过程开始前,用一个随机抽取的密钥派生器重构码设定所述加密密钥派生程序段RF的密钥派生规则,加密密钥派生程序段对当前的所述明文段P(i)以及当前的加密密钥Y(i)进行处理,生成加密下一个所述明文段的加密密钥Y(i+1)。Encryption key derivation program segment RF: Before each encryption process starts, use a randomly extracted key derivation reconstruction code to set the key derivation rules of the encryption key derivation program segment RF, the encryption key derivation program segment The current plaintext segment P(i) and the current encryption key Y(i) are processed to generate the encryption key Y(i+1) for encrypting the next plaintext segment.
优选的:加密程序段rf和加密密钥派生程序段rF中都使用可重构多值逻辑运算规则作为符号变换规则。相应地,加密器重构码和加密密钥派生器 重构码都是可重构多值逻辑运算规则的重构码。Preferably: both the encryption program segment rf and the encryption key derivation program segment rF use reconfigurable multi-valued logic operation rules as symbol transformation rules. Correspondingly, both the encryption code and the encryption key derivation code are reconstruction codes that can reconfigure multi-valued logic operation rules.
⑵解密软件模块:⑵ Decryption software module:
包括:解密程序段Rf’:每次解密过程开始前,用与加密器重构码配对的解密器重构码来设定所述解密程序段Rf’的解密规则,Rf’以当前的解密密钥Y’(i),对当前的密文段P’(i)进行解密,得到对应的解密后的明文段P(i)。Including: decryption program segment Rf': before each decryption process starts, use the decryptor reconstruction code paired with the encryption device reconstruction code to set the decryption rule of the decryption program segment Rf', Rf' is encrypted with the current decryption code The key Y'(i) decrypts the current ciphertext segment P'(i) to obtain the corresponding decrypted plaintext segment P(i).
解密密钥派生程序段RF’:每次解密过程开始前,用选定的加密密钥派生器重构码来设定解密密钥派生程序段RF’的当前密钥派生规则,RF’对当前解密后的明文段P(i)以及当前的解密密钥Y’(i)进行处理,生成解密下一个所述密文段的解密密钥Y’(i+1)。Decryption key derivation program section RF': Before each decryption process starts, use the selected encryption key derivation reconstruction code to set the current key derivation rule of the decryption key derivation program section RF', RF' is to the current key derivation rule The decrypted plaintext segment P(i) and the current decryption key Y'(i) are processed to generate the decryption key Y'(i+1) for decrypting the next ciphertext segment.
优选地:解密程序段rf’和解密密钥派生程序段rF’中都使用可重构多值逻辑运算规则作为符号变换规则。相应地,解密器重构码和解密密钥派生器重构码都是可重构多值逻辑运算规则的重构码。Preferably: both the decryption program segment rf' and the decryption key derivation program segment rF' use reconfigurable multi-valued logic operation rules as symbol transformation rules. Correspondingly, both the decryptor reconfiguration code and the decryption key derivation reconfiguration code are reconfigurable multi-valued logic operation rules.
⑶配置文件:⑶ configuration file:
配置文件保存相应加解密软件预置的广义密钥源数据GYY和预约码,每个加解密软件都有一个独占的配置文件,任意两个不同的加解密软件的配置文件不同。配置文件分为多个文件段落,包括:加密器重构码文件段落,解密器重构码文件段落,密钥派生器重构码文件段落,预设密钥文件段落和预约码存储单元。其中的预约码存储单元由加密软件模块读取和改写,其余文件段落都由出品厂家用专门的写入设备进行唯一的一次赋值,给配置文件写入预置的GYY,然后该加解密软件才有对各类电子文档的加密和解密功能。The configuration file saves the generalized key source data GYY and reservation code preset by the corresponding encryption and decryption software. Each encryption and decryption software has an exclusive configuration file, and any two different encryption and decryption software have different configuration files. The configuration file is divided into multiple file sections, including: the section of the encryptor reconstruction code file, the section of the decryptor reconstruction code file, the section of the key derivation reconstruction code file, the section of the preset key file and the reservation code storage unit. The reservation code storage unit is read and rewritten by the encryption software module, and the rest of the file paragraphs are assigned by the manufacturer with a special writing device to write the preset GYY to the configuration file, and then the encryption and decryption software There are encryption and decryption functions for various electronic documents.
⑷厂家拥有的专用写入软件⑷Special writing software owned by the manufacturer
包括:第一写入模块,用于将随机选出的多个加密器重构码写入加密器重构码文件段落;第二写入模块,用于将与各个加密器重构码配对的解密器重构码写进解密器重构码文件段落;第三写入段,用于将随机选出多个密钥派生器重构码写进派生器重构码文件段落;第四写入段,用于将随机选出的多个预设密钥写进预设密钥文件段落。Including: a first writing module, used to write a plurality of encrypted reconstruction codes randomly selected into the paragraphs of the encrypted reconstruction code file; a second writing module, used to write The decryptor reconstruction code is written into the section of the decryptor reconstruction code file; the third writing section is used to write the randomly selected multiple key derivation reconstruction codes into the section of the derivation reconstruction code file; the fourth writing section, used to write multiple randomly selected preset keys into the section of the preset key file.
⑸多个循环计数变量与预约码存储单元:⑸Multiple cycle count variables and reservation code storage unit:
每次加密过程开始前,加密软件模块从配置文件的预约码存储单元中读出本次加密使用的预约码。每个循环计数变量分别以本次使用的预约码中的相应预约数为初始值,每个循环计数变量对本次加密的明文中的一种符号排 列进行计数,不同的循环计数变量计数不同的符号排列;每个循环计数变量的最终结果为相应的新预约数,所有新预约数组成新预约码,新预约码存入预约码存储单元,等待所述加密软件模块下次工作时读取。Before each encryption process starts, the encryption software module reads out the reservation code used for this encryption from the reservation code storage unit of the configuration file. Each cycle counting variable takes the corresponding reservation number in the reservation code used this time as the initial value, and each cycle counting variable counts a symbol arrangement in the encrypted plaintext this time, and different cycle counting variables count different Arrangement of symbols; the final result of each cycle counting variable is the corresponding new reservation number, all new reservation numbers form a new reservation code, and the new reservation code is stored in the reservation code storage unit, waiting for the encryption software module to read when it works next time.
⑹加密软件模块设定过程:首先从配置文件的预约码存储单元读出本次加密使用的预约码,并从预约码分离出第一预约数、第二预约数和第三预约数;然后将本次使用的预约码写入密文文件的开始位置;将各个预约数设定为相应循环计数变量的初值;再根据第一预约数,从所述加密器重构码文件段落提取相应的加密器重构码,将该加密器重构码写入加密器重构寄存器RCgf(i),从而设定加密程序段Rf的当前符号变换规则;根据本次使用的第二预约数,从所述密钥派生器重构码文件段落提取相应的密钥派生器重构码,将该密钥派生器重构码写入加密密钥派生重构码寄存器RCgF(i),从而设定加密密钥派生程序段RF的当前符号变换规则;根据本次使用的第三预约数,从所述预设密钥文件段落提取相应预设密钥,并将该预设密钥设定为本次使用的加密预设密钥Y(0)。(6) Encryption software module setting process: first read the reservation code used for this encryption from the reservation code storage unit of the configuration file, and separate the first reservation number, the second reservation number and the third reservation number from the reservation code; The reservation code used this time is written into the starting position of the ciphertext file; each reservation number is set as the initial value of the corresponding cycle count variable; then according to the first reservation number, extract the corresponding paragraph from the encryption device reconstruction code file Encryptor reconfiguration code, write the cipher reconfiguration code into the reconfiguration register RCgf(i) of the cipher, thereby setting the current symbol transformation rule of the encrypted program segment Rf; according to the second reservation number used this time, from the Extract the corresponding key derivation reconstruction code from the section of the key derivation reconstruction code file described above, and write the key derivation reconstruction code into the encryption key derivation reconstruction code register RCgF(i), thereby setting the encryption key The current symbol transformation rule of the key derivation program segment RF; according to the third reservation number used this time, extract the corresponding preset key from the paragraph of the preset key file, and set the preset key as the current use The encrypted default key Y(0).
⑺解密软件模块设定过程:首先从密文文件开始位置读出本次解密使用的预约码,并从预约码分离出第一预约数、第二预约数和第三预约数;再根据第一预约数,从解密器重构码文件段落提取相应的解密器重构码,将该解密器重构码写入解密器重构码寄存器RCgf’(i),从而设定解密程序段Rf’的当前符号变换规则;根据第二预约数,从所述密钥派生器重构码文件段落提取相应的密钥派生器重构码,将该密钥派生器重构码写入解密密钥派生器重构码寄存器RCgF’(i),从而设定解密密钥派生程序段RF’的当前符号变换规则;根据第三预约数,从所述配置文件的预设密钥文件段落提取相应的预设密钥,并将该预设密钥设定为本次使用的解密预设密钥Y’(0)。⑺Decryption software module setting process: first read the reservation code used for this decryption from the beginning position of the ciphertext file, and separate the first reservation number, the second reservation number and the third reservation number from the reservation code; then according to the first Reservation number, extract the corresponding decryptor reconstruction code from the decryptor reconstruction code file paragraph, write the decryptor reconstruction code into the decryptor reconstruction code register RCgf'(i), so as to set the decryption program segment Rf' Current symbol transformation rule; according to the second reservation number, extract the corresponding key derivation reconstruction code from the key derivation reconstruction code file paragraph, and write the key derivation reconstruction code into the decryption key derivation Reconfigure the code register RCgF'(i), thereby setting the current symbol transformation rule of the decryption key derivation program segment RF'; according to the third reservation number, extract the corresponding preset from the preset key file paragraph of the configuration file key, and set the default key as the decryption default key Y'(0) used this time.
本发明的技术方案有益效果在于:用可重构多值逻辑运算部件能够派生出随机特征明显、不短于明文、数量众多的可选密钥,依据海量的可选密钥、计算机的自动执行能力和较少的存储单元,实现了实际可行的一次一密流密码技术。具体地,利用可重构多值逻辑运算部件,不仅能够使得预设密钥能派生出很多不同的实际密钥,从而使实际密钥的随机性对预设密钥随机性的依赖扩大为同时依靠预设密钥的随机性和多值逻辑运算器功能的随机性,还可以采用可重构多值逻辑运算器构成加密器、解密器、派生密钥器,以使得 同一个密钥对同一个明文能够生成很多个密文,其效果相当于进一步增加了实际密钥的随机性。The beneficial effects of the technical solution of the present invention are: the reconfigurable multi-valued logic operation unit can be used to derive a large number of optional keys with obvious random characteristics, no shorter than plaintext, and a large number of optional keys based on the automatic execution of the computer. capacity and fewer storage units, and realizes a practical one-time secret stream cipher technology. Specifically, the use of reconfigurable multi-valued logic operation components not only enables the preset key to derive many different actual keys, but also expands the dependence of the randomness of the actual key on the randomness of the preset key to simultaneously Relying on the randomness of the preset key and the randomness of the function of the multi-valued logic operator, the reconfigurable multi-valued logic operator can also be used to form an encryptor, a decryptor, and a key-derived device, so that the same key pair can be used at the same time. A plaintext can generate many ciphertexts, and its effect is equivalent to further increasing the randomness of the actual key.
本发明技术提供的应用场景可以是实时通信的加密系统,也可以是一种对存储或传送的电子文件的加密系统,将结合实施例对实现本发明技术的方法和应用场景进行说明。The application scenario provided by the technology of the present invention may be an encryption system for real-time communication, or an encryption system for storing or transmitting electronic files. The method and application scenario for realizing the technology of the present invention will be described in conjunction with embodiments.
附图说明Description of drawings
图1为加密过程的流程示意图;Fig. 1 is the schematic flow chart of encryption process;
图2为解密过程的流程示意图;Fig. 2 is a schematic flow chart of the decryption process;
图3为设定加密器重构码以及解密器重构码的流程示意图;Fig. 3 is the schematic flow diagram of setting the reconfiguration code of the encryptor and the reconfiguration code of the decryptor;
图4为设定密钥派生器重构码的流程示意图;Fig. 4 is the schematic flow chart of setting key derivation device reconstruction code;
图5为设定预设密钥流程示意图;FIG. 5 is a schematic diagram of the flow of setting a default key;
图6为一种加解密装置的结构示意图;6 is a schematic structural diagram of an encryption and decryption device;
图7为一种加密通信系统的结构示意图。Fig. 7 is a schematic structural diagram of an encrypted communication system.
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,但不作为对本发明的限定。显然,所描述的实施例仅仅是本发明的一部分实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention, but this is not intended to limit the present invention. Obviously, the described embodiments are only some of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative efforts fall within the protection scope of the present invention.
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。It should be noted that, in the case of no conflict, the embodiments of the present invention and the features in the embodiments can be combined with each other.
实施例1.本发明提供的一种加解密方法 Embodiment 1. An encryption and decryption method provided by the present invention
结合图1、图2、图3、图4和图5对发明内容部分所述的一种加解密方法给出详细说明:Combining with Figure 1, Figure 2, Figure 3, Figure 4 and Figure 5, a detailed description of an encryption and decryption method described in the Summary of the Invention is given:
如图1所示,加密过程中包括发明内容部分所述的步骤A1和步骤A2。如图2所示,解密过程中包括发明内容部分所述的步骤B1和步骤B2。As shown in FIG. 1 , the encryption process includes Step A1 and Step A2 described in the Summary of the Invention. As shown in FIG. 2 , the decryption process includes step B1 and step B2 described in the summary of the invention.
对所述加密过程和解密过程的具体说明为:设明文最终的长度为n个符号,明文长度可以事先给定,也可以不断被追加;以m个符号为单位,将获得的明文依序划分成多个明文段,表示为p(i),i=0,1,2,3……(n/m-1), 若最后一个明文段不足m位,则用0补足该明文段;在对明文开始加密前,从预置的多个预设密钥中随机选择本次加密使用的一个预设密钥Y(0);同时,从预置的多个加密部件重构码中随机选择本次加密所使用的一个加密部件重构码,用选择出的加密部件重构码设定加密部件f,形成对本明文加密过程使用的具体加密规则,在本次对所有明文段p(i)加密时f不变;同时从预置的多个密钥派生部件重构码中随机选择本次加密使用的一个密钥派生部件的重构码,用选择的密钥派生部件重构码设定加密密钥派生部件F,形成本次加密过程使用的具体加密密钥派生规则,在本次加密过程中F不变;f以当前加密密钥Y(i),对当前明文段p(i)进行加密,得到密文段p’(i);F对当前明文段p(i)以及当前加密密钥Y(i)进行处理,生成用于加密下一明文段的加密密钥Y(i+1);用f和Y(i+1)加密下一明文段p(i+1),得到密文段p’(i+1)。显然,密文段的数量于明文段一样多。The specific description of the encryption process and decryption process is as follows: assume that the final length of the plaintext is n symbols, the length of the plaintext can be given in advance, or can be continuously added; the obtained plaintext is divided in order by using m symbols as a unit into multiple plaintext segments, expressed as p(i), i=0, 1, 2, 3...(n/m-1), if the last plaintext segment is less than m bits, then use 0 to make up the plaintext segment; Before starting to encrypt the plaintext, randomly select a preset key Y(0) used for this encryption from the preset multiple preset keys; at the same time, randomly select the reconstructed code from the preset multiple encryption components An encryption component reconstruction code used in this encryption, the encryption component f is set with the selected encryption component reconstruction code to form a specific encryption rule used in this plaintext encryption process, in this time for all plaintext segments p(i) When encrypting, f remains unchanged; at the same time, randomly select the reconstruction code of a key derivation component used in this encryption from the reconstruction codes of multiple preset key derivation components, and use the selected key derivation component reconstruction code to set The encryption key derivation component F forms the specific encryption key derivation rules used in this encryption process, and F remains unchanged in this encryption process; f uses the current encryption key Y(i) to generate the current plaintext segment p(i) Encrypt to obtain the ciphertext segment p'(i); F processes the current plaintext segment p(i) and the current encryption key Y(i) to generate an encryption key Y(i+i) for encrypting the next plaintext segment 1); Use f and Y(i+1) to encrypt the next plaintext segment p(i+1) to obtain the ciphertext segment p'(i+1). Obviously, there are as many ciphertext segments as there are plaintext segments.
相应地,在解密过程开始前,用所述的加密预设密钥Y(0)作为解密预设密钥Y’(0);同时用与加密部件重构码配对的解密部件重构码来设定解密部件f’,形成本次解密过程中使用的具体解密规则,在本次对所有密文段p’(i)解密时f’不变;同时以所述选择出的加密密钥派生部件重构码来设定解密密钥派生部件F’,形成本次解密过程中使用的解密密钥派生规则,在本次解密过程中F’不变;f’以当前解密密钥Y’(i),对当前密文段p’(i)进行解密,得到解密后的当前明文段p(i);F’对解密后的当前明文段p(i)以及当前的解密密钥Y’(i)进行处理,生成用于解密下一密文段的解密密钥Y’(i+1);用f’和Y’(i+1)解密下一密文段p’(i+1),得到下一解密明文段p(i+1)。Correspondingly, before the decryption process starts, use the encryption preset key Y(0) as the decryption preset key Y'(0); meanwhile, use the decryption component reconstruction code paired with the encryption component reconstruction code to Set the decryption component f' to form the specific decryption rules used in this decryption process, and f' remains unchanged when decrypting all ciphertext segments p'(i) this time; The component reconstruction code is used to set the decryption key derivation component F' to form the decryption key derivation rule used in this decryption process, and F' remains unchanged in this decryption process; f' is based on the current decryption key Y'( i), decrypt the current ciphertext segment p'(i) to obtain the decrypted current plaintext segment p(i); F' decrypts the decrypted current plaintext segment p(i) and the current decryption key Y'( i) Process to generate the decryption key Y'(i+1) for decrypting the next ciphertext segment; use f' and Y'(i+1) to decrypt the next ciphertext segment p'(i+1) , get the next decrypted plaintext segment p(i+1).
由于F与F’相同,Y(0)与Y’(0)相同,明文段与对应的解密后明文段相同,则各个加密派生密钥Y(i)与对应的解密派生密钥Y’(i)也相同。Since F is the same as F', Y(0) is the same as Y'(0), and the plaintext segment is the same as the corresponding decrypted plaintext segment, then each encrypted derived key Y(i) and the corresponding decrypted derived key Y'( i) is also the same.
也就是说,一次完整的加解密过程,无论明文有多长,仅选择一个加密部件重构码、一个解密部件重构码、一个预设密钥、一个密钥派生部件重构码,相应地采用一个加密规则、一个解密规则以及一个密钥派生规则,即可完成对所有明文段的加密以及对所有密文段的解密。That is to say, for a complete encryption and decryption process, no matter how long the plaintext is, only one encryption component reconstruction code, one decryption component reconstruction code, one preset key, and one key derivation component reconstruction code are selected, correspondingly Using one encryption rule, one decryption rule and one key derivation rule, the encryption of all plaintext segments and the decryption of all ciphertext segments can be completed.
本发明优选的实施方式中,如图3所示,还包括为一次加解密过程随机选择一个加密部件(f)的重构码以及对应的解密部件(f’)的重构码的过程,具体分前后两个步骤:第一步为发明内容部分所述的步骤C1,第二步为发明内 容部分所述的步骤C2;如图4所示,还包括为一次加解密过程随机选择一个密钥派生部件(F和F’)的重构码的过程,具体分前后两个步骤:第一步为发明内容部分所述的步骤D1,第二步为发明内容部分所述的步骤D2;如图5所示,还包括为一次加解密过程随机选择一个预设密钥Y(0)的过程,具体分前后两个步骤:第一步为发明内容部分所述的步骤E1,第二步为发明内容部分所述的步骤E2。In a preferred embodiment of the present invention, as shown in Figure 3, it also includes a process of randomly selecting a reconstruction code of an encryption component (f) and a reconstruction code of a corresponding decryption component (f') for an encryption and decryption process, specifically It is divided into two steps: the first step is step C1 described in the summary of the invention, and the second step is step C2 described in the summary of the invention; as shown in Figure 4, it also includes randomly selecting a key for an encryption and decryption process The process of reconstructing the code of the derived components (F and F') is specifically divided into two steps: the first step is step D1 described in the summary of the invention, and the second step is step D2 described in the summary of the invention; As shown in 5, it also includes the process of randomly selecting a preset key Y(0) for an encryption and decryption process, which is specifically divided into two steps: the first step is the step E1 described in the summary of the invention, and the second step is the invention Step E2 as described in the Contents section.
要说明的是:步骤C1、步骤D1和步骤E1仅在实现所述加解密方法的每一个具体实物(如:加解密芯片、加解密计算机软件)投入使用前都由出品商执行一次,而且不执行第2次。步骤C2、步骤D2和步骤E2在每一次使用一个加解密实物时都由加解密实物自动先执行一次。It should be noted that: step C1, step D1 and step E1 are only executed once by the manufacturer before each specific object (such as: encryption and decryption chip, encryption and decryption computer software) that realizes the encryption and decryption method is put into use, and not Execute the 2nd time. Step C2, step D2 and step E2 are automatically executed once by the encryption and decryption object each time an encryption and decryption object is used.
执行步骤C1时,依据随机生成的第一随机数,从海量的加密部件重构码和与其配对的解密部件重构码中选出一个配对,并从海量的重构码序列中删去所选出的加密部件重构码和解密部件重构码,重复执行多次,即可获得多个加密部件重构码与解密部件重构码配对。执行步骤D1时,依据随机生成的第二随机数,从海量的密钥派生部件重构码序列中选出一个密钥派生部件重构码,并从密钥派生部件重构码序列中删去所述选出的密钥派生部件重构码,重复执行多次,即可获得多个密钥派生部件重构码。执行步骤E1,依据随机生成的第三随机数,从大量的密钥序列中选出一个预设密钥,并从密钥序列中删去所述选出的预设密钥,重复执行多次,即可获得多个预设密钥。When step C1 is executed, according to the first random number randomly generated, a pair is selected from the massive encryption component reconstruction code and its paired decryption component reconstruction code, and the selected pair is deleted from the massive reconstruction code sequence. The reconfiguration codes of the encrypted components and the reconfigured codes of the decrypted components are repeatedly executed multiple times to obtain multiple pairs of the reconfigured codes of the encrypted components and the reconfigured codes of the decrypted components. When executing step D1, select a key derivation component reconstruction code from the massive key derivation component reconstruction code sequence according to the randomly generated second random number, and delete the key derivation component reconstruction code sequence from the key derivation component reconstruction code sequence The reconfiguration code of the selected key derivation component is repeatedly executed multiple times to obtain a plurality of reconfiguration codes of the key derivation component. Execute step E1, select a preset key from a large number of key sequences according to the randomly generated third random number, delete the selected preset key from the key sequence, and repeat the execution for many times , you can get multiple preset keys.
执行步骤C2时,依据本次加解密使用的预约码中的第1预约数,例如,该预约数可为预约码的中间几位,从步骤C1选出的多个加密部件重构码和解密部件重构码配对中提取出本次使用的一个加密部件重构码和解密部件重构码配对;用所述配对中的加密部件重构码配置加密部件,用解密部件重构码配置解密部件。执行步骤D2时,依据本次加解密使用的预约码中的第2预约数,例如,该预约数可为预约码的低几位,从步骤D1选出的多个密钥派生部件重构码中提取出本次使用的密钥派生部件重构码;用所述的密钥派生部件重构码配置密钥派生部件。执行步骤E2时,依据本次加解密使用的预约码中的第3预约数,例如,该预约数可为预约码的高几位,从步骤E1选出的多个预设密钥中提取出本次使用的预设密钥Y(0)。When step C2 is executed, according to the first reservation number in the reservation code used for encryption and decryption this time, for example, the reservation number can be the middle digits of the reservation code, and the multiple encryption components selected in step C1 reconstruct the code and decrypt An encryption component reconstruction code and a decryption component reconstruction code pair used this time are extracted from the component reconstruction code pairing; the encryption component is configured with the encryption component reconstruction code in the pair, and the decryption component is configured with the decryption component reconstruction code . When step D2 is executed, according to the second reservation number in the reservation code used for encryption and decryption this time, for example, the reservation number can be the lower digits of the reservation code, and the code is reconstructed from a plurality of key derivation components selected in step D1 Extract the reconfiguration code of the key derivation component used this time; use the reconfiguration code of the key derivation component to configure the key derivation component. When executing step E2, according to the third reservation number in the reservation code used for encryption and decryption this time, for example, the reservation number can be the upper digits of the reservation code, extracted from the multiple preset keys selected in step E1 The preset key Y(0) used this time.
步骤C、步骤D和步骤E之间没有先后顺序。There is no sequence among Step C, Step D and Step E.
本发明优选的实施方式中,还包括一生成预约码的过程,具体包括:以本次使用的预约码为初始值,对本次待加密明文或解密出的明文中的多种符号序列进行计数,每个计数值各为一个预约数;所有预约数连接成下次使用的预约码。In the preferred embodiment of the present invention, it also includes a process of generating a reservation code, which specifically includes: taking the reservation code used this time as the initial value, counting various symbol sequences in the plaintext to be encrypted or decrypted this time , each count value is a reservation number; all reservation numbers are connected into the next reservation code.
实施例2.一种实现所述加解密方法的集成电路芯片结构Embodiment 2. An integrated circuit chip structure for implementing the encryption and decryption method
为方便叙述,实施例2中以64位二值数据为明文段和密文段长度,鉴于两位二值数据就是一位四值数据,故64位二值数据也是32位四值数据。实施例2中都以32位四值逻辑运算器为加密器f、解密器和f’密钥派生器F和F’,但这不应妨碍本专利涵盖以其它位数的二值数据长度截取明文段和密文段,不应妨碍本专利涵盖使用其它多值逻辑运算器,包括混合使用多种多值逻辑运算器,作为加密器、解密器和密钥派生器的同类加解密技术的专属权。For convenience of description, in embodiment 2, 64-bit binary data is used as the length of the plaintext segment and the ciphertext segment. Since two-bit binary data is exactly one bit of four-value data, 64-bit binary data is also 32-bit four-value data. In embodiment 2, all use 32-bit four-valued logic operator as encryptor f, decryptor and f'key derivation device F and F', but this should not prevent this patent from covering the interception of binary data lengths with other digits The plaintext segment and the ciphertext segment shall not prevent this patent from covering the use of other multi-valued logical operators, including the mixed use of multiple multi-valued logical operators, as the exclusive use of the same encryption and decryption technology as the encryptor, decryptor and key derivation device. right.
本实施例的芯片内部逻辑结构如图6所示,包括加密部件、解密部件和只读存储部件三大部分,设置过程说明如下。The internal logic structure of the chip in this embodiment is shown in Figure 6, including three parts: an encryption component, a decryption component, and a read-only storage component. The setting process is described as follows.
⑴芯片引脚设置⑴Chip pin setting
本实施例的芯片可以设12个引脚,功用和标示名分别为:明文串行输入引脚Xmin、密文串行输出引脚XMout、密文串行输入引脚XMin、明文串行输出引脚Xmout、发送控制引脚Ksend、发送状态引脚Ssend、接收控制引脚Krece、接收状态引脚Srece、时钟输入引脚Clock、预写引脚Yin、电源Vcc和地电平引脚。The chip of this embodiment can be provided with 12 pins, and the function and label name are respectively: plaintext serial input pin Xmin, ciphertext serial output pin XMout, ciphertext serial input pin XMin, plaintext serial output pin Pin Xmout, send control pin Ksend, send status pin Ssend, receive control pin Krece, receive status pin Srece, clock input pin Clock, pre-write pin Yin, power supply Vcc and ground level pin.
Yin为高电平时,Xmin构成广义密钥源数据GYY和微程序串行写入端口,XMin引脚被施加Clock的64分频时钟,XMin与Clock构成芯片操作控制时钟,Ksend和Krece引脚构成对芯片内部操作的控制指令输入端口,它们用于给芯片内部的只读存储器写入预设的广义密钥源数据GYY和微程序;当Yin为低电平时,各引脚恢复标示功能。When Yin is at a high level, Xmin constitutes the generalized key source data GYY and microprogram serial write port, the XMin pin is applied with the 64 frequency division clock of Clock, XMin and Clock constitute the chip operation control clock, and the Ksend and Krece pins constitute The control command input ports for the internal operation of the chip are used to write the preset generalized key source data GYY and microprograms to the read-only memory inside the chip; when Yin is low, each pin resumes the marking function.
⑵符号变换器设置⑵Symbol converter settings
设置一个32位4值逻辑运算器为加密器f,带有两个64位输入寄存器RfY和Rfm,一个64位输出寄存器CRf。给RfY置入密钥Y(i),Rfm置入当前明文段p(i)后,f输出密文M的当前段p’(i)并将其存入CRf。Set a 32-bit 4-value logic operator as an encryptor f, with two 64-bit input registers RfY and Rfm, and a 64-bit output register CRf. Put the key Y(i) into RfY, and after Rfm puts the current plaintext segment p(i), f outputs the current segment p'(i) of the ciphertext M and stores it in CRf.
设置一个32位4值逻辑器为运算解密器f’,f’与f的符号变换功能相反,f’带有两个64位输入寄存器Rf’Y和Rf’m,一个64位输出寄存器CRf’。给Rf’Y 置入当前密钥Y(i),Rf’m置入当前密文段p’(i)后,f’输出解密后的明文m的当前段p(i),并将其存入CRf’。Set a 32-bit 4-valued logic device as an operation decryptor f', f' is opposite to the sign transformation function of f, f' has two 64-bit input registers Rf'Y and Rf'm, and a 64-bit output register CRf' . Put the current key Y(i) into Rf'Y, put the current ciphertext segment p'(i) into Rf'm, and f' output the current segment p(i) of the decrypted plaintext m, and save it into CRf'.
设置一个32位4值逻辑运算器为加密密钥派生器F,带有两个64位输入寄存器RFY和RFm,一个64位输出寄存器CRF。给RFY置入当前密钥Y(i),RFm置入当前明文段p(i)后,F输出加密部件的下一个派生密钥Y(i+1),并将其存入其CRF。Set a 32-bit 4-value logical operator as an encryption key derivation F, with two 64-bit input registers RFY and RFm, and a 64-bit output register CRF. After putting the current key Y(i) into RFY and RFm into the current plaintext segment p(i), F outputs the next derived key Y(i+1) of the encryption component and stores it in its CRF.
设置一个32位4值逻辑运算器为解密密钥派生器F’,F’于F的功能相同,带有两个64位输入寄存器RF’Y和RF’m,一个64位输出寄存器CRF’。给RF’Y置入当前密钥Y(i),RF’m置入当前解密后的明文段p(i)后,F’输出解密部件的下一个派生密钥Y’(i+1),并将其存入其CRF’。A 32-bit 4-value logic operator is set as the decryption key derivation F', F' has the same function as F, with two 64-bit input registers RF'Y and RF'm, and a 64-bit output register CRF'. Put the current key Y(i) into RF'Y, put the current decrypted plaintext segment p(i) into RF'm, and F' output the next derived key Y'(i+1) of the decryption component, and deposit it into its CRF'.
⑶重构寄存器设置(3) Reconfiguration register settings
的每一位F(i)和F’(i)都配有一个32位的重构寄存器,分别标记为:Rf(i)、Rf’(i)、RF(i)和RF’(i)。给这4个寄存器写入重构码,可修改对应符号变换器位的4值逻辑运算规则。Each bit of F(i) and F'(i) is assigned a 32-bit reconfiguration register, labeled: Rf(i), Rf'(i), RF(i) and RF'(i) . Writing reconfiguration codes to these 4 registers can modify the 4-valued logic operation rules corresponding to the sign converter bits.
⑷广义密钥源数据GYY存储区设置⑷Generalized key source data GYY storage area setting
设置1024个64位的Y(0)存储区。每个存储单元隐藏一个64位预设密钥Y(0)。Y(0)只能通过内部数据总线输入到RfY、Rf’Y、RFY和RF’Y。Set 1024 64-bit Y(0) memory areas. Each storage unit hides a 64-bit preset key Y(0). Y(0) can only be input to RfY, Rf’Y, RFY and RF’Y through the internal data bus.
设置两个存储区:f-f’存储器区和F-F’存储器区,每个存储器区各有1024行,每行有32个64位的存储单元。其中f-f’存储单元的前32位保存一个f(i)的重构码,后32位保存一个f’(i)的重构码,且每行的32个64位存储单元只能通过芯片内部数据总线作为一个整体顺序传送给Rf(i)和Rf’(i),i=1,2,……,32;F-F’存储单元的前32位保存一个F(i)的重构码,后32位保存一个F’(i)的重构码,且每行的32个64位存储单元只能通过芯片内部数据总线作为一个整体顺序传送给RF(i)和RF’(i),i=1,2,……,32。Two storage areas are set: f-f' storage area and F-F' storage area, each storage area has 1024 rows, and each row has 32 64-bit storage units. Among them, the first 32 bits of the f-f' storage unit store a f(i) reconstruction code, and the last 32 bits store a f'(i) reconstruction code, and the 32 64-bit storage units in each row can only pass The internal data bus of the chip is sent to Rf(i) and Rf'(i) sequentially as a whole, i=1, 2,...,32; the first 32 bits of the F-F' storage unit save a heavy value of F(i) Code construction, the last 32 bits save a reconstructed code of F'(i), and the 32 64-bit storage units in each row can only be transmitted to RF(i) and RF'(i) sequentially through the internal data bus of the chip as a whole ), i=1,2,...,32.
⑸预约数计数器和预约码寄存器设置⑸Reservation number counter and reservation code register setting
设置三个10位的预约数循环计数器Jm1、Jm01和Jm11,分别计数由Xmin引脚输入的明文数据中如100值、01值和101值的个数,形成三个预约数。Set up three 10-digit reservation number cycle counters Jm1, Jm01 and Jm11 to count the number of values such as 100, 01 and 101 in the plaintext data input by the Xmin pin respectively to form three reservation numbers.
设置一个30位的预约码寄存器Rm,每次加密操作结束后,Jm1接续Jm01再接续Jm11的值形成一个随机预约码存入Rm。Set up a 30-bit reservation code register Rm. After each encryption operation, Jm1 is connected to Jm01 and then Jm11 to form a random reservation code and store it in Rm.
⑹其它寄存器设置⑹Other register settings
每个引脚都设置一位引脚数据寄存器,其值为对应引脚的实时状态,以抵御外界高频干扰对引脚信号的影响。Each pin is provided with a pin data register whose value is the real-time status of the corresponding pin to resist the influence of external high-frequency interference on the pin signal.
Xmin和XMin引脚各有一个“1位输入64位输出”的串行转并行数据移位寄存器。加密部件中的移位寄存器串行输入端连接Xmin引脚,并行输出端连接寄存器Rfm和RFm;解密部件中的移位寄存器串行输入端连接XMin引脚,并行输出端连接寄存器Rf’m。The Xmin and XMin pins each have a "1-bit input 64-bit output" serial-to-parallel data shift register. The serial input end of the shift register in the encryption part is connected to the Xmin pin, and the parallel output end is connected to the registers Rfm and RFm; the serial input end of the shift register in the decryption part is connected to the XMin pin, and the parallel output end is connected to the register Rf'm.
Xmout和XMout引脚各有一个“64位输入1位输出”的并行转串行数据移位寄存器。加密部件中的该移位寄存器并行输入端连接寄存器CRf,串行输出端连接XMout引脚;解密部件中的该移位寄存器并行输入端连接寄存器CRf’,串行输出端连接Xmout引脚。The Xmout and XMout pins each have a "64-bit input 1-bit output" parallel-to-serial data shift register. The parallel input end of the shift register in the encryption part is connected to the register CRf, and the serial output end is connected to the XMout pin; the parallel input end of the shift register in the decryption part is connected to the register CRf', and the serial output end is connected to the Xmout pin.
⑺芯片内部数据总线设置:⑺ Chip internal data bus settings:
一个64位总线缓冲器,用于控制内部存储器的读写操作;一个17位地址译码器,用于控制内部128M存储器地址的寻址。A 64-bit bus buffer is used to control the read and write operations of the internal memory; a 17-bit address decoder is used to control the addressing of the internal 128M memory address.
⑻微程序运行设置:⑻Microprogram running settings:
64位微指令译码器、64位微指令寄存器和11位的微程序计数器PC。64-bit micro-instruction decoder, 64-bit micro-instruction register and 11-bit micro-program counter PC.
⑼预写广义密钥源数据GYY和微指令程序:⑼ Pre-write generalized key source data GYY and microinstruction program:
将一对加解密芯片插入专用写入设备的插口,该对芯片的Yin引脚会连接高电平,芯片被置为写入广义密钥源数据GYY或微程序状态。此时计数器Jm1和Jm01连接成一个20位的计数器,对XMin引脚的时钟信号计数,XMin引脚时钟是Clock引脚时钟的64分频,20位计数器的低17位实时值输出到17位内部存储器地址译码器,形成对内部存储器自动寻址机制;Xmin引脚和其串行转并行移位寄存器在Clock时钟控制下,构成写入数据通道;Ksend和Krece引脚构成写入目标控制:当Ksend:Krece=00时,写入数据通道的数据赋给20位计数器,形成存储器写入初始地址,Ksend:Krece=11时,写入数据通道的数据赋给64位总线缓冲器,Ksend:Krece的其它编码备用;当20位计数器的初值设定为00000H时,应从第一条微指令开始写入微指令程序;当20位计数器的初值设定为00800H时,应写入Y(0)值;当20位计数器的初值设定为00C00H时,逐一写入1024个f和f’各个位f(i)和f’(i)的重构码,f(i)的重构码在0-31位,f’(i)的重构码在32-63位;连续32个地址的重构码构成一个32位f和配对的32位f’的重构码。当20位计数器的初值设 定为09000H时,逐一写入1024个F和F’各个位F(i)和F’(i)的重构码,F(i)的重构码在0-31位,F’(i)的重构码在32-63位,且0-31位和32-63位的数据相同,连续32个地址的重构码构成一个32位F和32位F’的重构码。Insert a pair of encryption and decryption chips into the socket of the dedicated writing device, the Yin pin of the pair of chips will be connected to a high level, and the chip will be set to write the generalized key source data GYY or the microprogram state. At this time, the counters Jm1 and Jm01 are connected to form a 20-bit counter to count the clock signal of the XMin pin. The XMin pin clock is divided by 64 of the Clock pin clock, and the real-time value of the lower 17 bits of the 20-bit counter is output to 17 bits. The internal memory address decoder forms an automatic addressing mechanism for the internal memory; the Xmin pin and its serial-to-parallel shift register are controlled by the Clock clock to form a write data channel; the Ksend and Krece pins form a write target control : when Ksend:Krece=00, the data written into the data channel is assigned to 20-bit counters to form the initial address of the memory, and when Ksend:Krece=11, the data written into the data channel is assigned to the 64-bit bus buffer, Ksend : Other codes of Krece are reserved; when the initial value of the 20-bit counter is set to 00000H, the microinstruction program should be written from the first microinstruction; when the initial value of the 20-bit counter is set to 00800H, it should be written into Y (0) value; when the initial value of the 20-bit counter is set to 00C00H, write the reconstruction codes of 1024 f and f' each bit f(i) and f'(i) one by one, and the reconstruction code of f(i) The construction code is at 0-31 bits, and the reconstruction code of f'(i) is at 32-63 bits; the reconstruction codes of 32 consecutive addresses constitute a reconstruction code of 32-bit f and paired 32-bit f'. When the initial value of the 20-bit counter is set to 09000H, write the reconstruction codes of 1024 F and F' each bit F(i) and F'(i) one by one, and the reconstruction code of F(i) is between 0- 31 bits, the reconstruction code of F'(i) is in 32-63 bits, and the data of 0-31 bits and 32-63 bits are the same, and the reconstruction codes of 32 consecutive addresses constitute a 32-bit F and 32-bit F' The refactored code.
⑽均匀概率真随机数生成举例⑽Uniform probability true random number generation example
加解密芯片的专用写入设备配备一个均匀概率真随机数发生器,写入设备按发生器送出的真随机数来选择f(i)、f’(i)、F(i)的重构码和Y(0)值,从而使各对加解密芯片中隐藏的广义密钥源数据GYY具有均匀概率随机特性。真随机数发生器有多种构造,例如:64个重量均匀、直径1厘米、厚度1毫米、一面绝缘、另一面为金属的圆片,从2米高处自由落下,经过钉板的随机碰撞,落到有64个圆窝的平板,平板微微震动,每个圆窝落入一个圆片。当圆片的金属面向下时,圆窝中的电路被接通,该圆窝输出低电平,当圆片的绝缘面向下时,圆窝中的电路不连通,该圆窝输出高电平。于是,每抛一次圆片就得到一个64位的真随机数。大约5秒钟可获得一个64位真随机,每天可获得不少于17000个64位的真随机数。The special writing device of the encryption and decryption chip is equipped with a uniform probability true random number generator, and the writing device selects the reconstruction codes of f(i), f'(i), and F(i) according to the true random number sent by the generator and Y(0), so that the generalized key source data GYY hidden in each pair of encryption and decryption chips has uniform probability random characteristics. True random number generators have a variety of structures, for example: 64 discs with uniform weight, 1 cm in diameter, 1 mm in thickness, one side is insulated, and the other side is metal, falling freely from a height of 2 meters, passing through the random collision of the nail plate , falling onto a plate with 64 dimples, the plate vibrates slightly, and each dimple falls into a disc. When the metal side of the disc is facing down, the circuit in the dimple is connected, and the dimple outputs a low level. When the insulating face of the disc is down, the circuit in the dimple is disconnected, and the dimple outputs a high level. . Therefore, every time a wafer is thrown, a 64-bit true random number is obtained. A 64-bit true random number can be obtained in about 5 seconds, and no less than 17,000 64-bit true random numbers can be obtained every day.
⑾1024个预设密钥Y(0)的随机选取和预置入芯片⑾1024 preset keys Y(0) are randomly selected and preset into the chip
在专用写入设备中,将随机数发生器送来的64位随机数与既往送来的随机数逐一对比,若新送来的随机数与保存在第一随机数存储器中的既往送来的随机数都不相同,新送来的64位随机数作为一个被选取的预设密钥Y(0)写入芯片GYY存储区的Y(0)存储区,专用写入设备把新收到的64位随机数按其大小顺序保存在自身的第一随机数存储器中;若新送来的随机数与一个既往送来的随机数相同,专用写入设备放弃新送来的随机数,而接收下一个64位随机数;直到给当前芯片对写入1024个预设密钥Y(0),转而处理下一对芯片。In the dedicated writing device, the 64-bit random number sent by the random number generator is compared with the random number sent in the past one by one. The random numbers are different, and the newly sent 64-bit random number is used as a selected preset key Y(0) to be written into the Y(0) storage area of the GYY storage area of the chip, and the dedicated writing device writes the newly received The 64-bit random number is stored in the first random number memory of itself according to its size order; if the new random number sent is the same as the random number sent in the past, the dedicated writing device abandons the newly sent random number and receives The next 64-bit random number; until 1024 preset keys Y(0) are written to the current chip pair, then the next pair of chips is processed.
⑿1024个加密器/解密器配对重构码的随机择取和预置入芯片⑿1024 encryption/decryptor paired reconstruction codes are randomly selected and preset into the chip
多值逻辑运算器的重构码决定于多值逻辑运算器的结构,当使用《一种位数众多、可分组、可重构的多值电子运算器及方法》(中国发明专利申请号:201811567284.7,PCT号:PCT/CN2019/070318)的实施例中给出的四值逻辑运算器时,每一位四值逻辑运算器的重构码都为4个顺序的8位行重构码,即每位四值逻辑运算器的重构码为32位,故32位的加密器、32位的解密器和32位的密钥派生器都需要32个32位的存储器来存放它们的一个重构码。The reconstruction code of the multi-valued logic operator is determined by the structure of the multi-value logic operator, when using "a kind of multi-valued electronic operator and method with many digits, groupable and reconfigurable" (Chinese invention patent application number: 201811567284.7, PCT No.: PCT/CN2019/070318) for the four-valued logic operator given in the embodiment, the reconstruction code of each four-valued logic operator is 4 sequential 8-bit row reconstruction codes, That is, the reconstruction code of each four-valued logic operator is 32 bits, so a 32-bit encryptor, a 32-bit decryptor, and a 32-bit key derivation device all need 32 32-bit memories to store one of their reconfiguration codes. build code.
考虑到加密器的重构码与解密器的重构码总是配对使用,本实施例用一个64位存储单元放置配对加密器和解密器的同一位的重构码,加密器的重构码放置在0-31位,配对的解密器的重构码放置在32-63位。于是,连续的32个64位存储器放置一对32位加密器和解密器的重构码。Considering that the reconfiguration code of the encryptor and the reconfiguration code of the decryptor are always used in pairs, this embodiment uses a 64-bit storage unit to place the reconfiguration code of the same bit of the paired encryptor and decryptor, and the reconfiguration code of the encryptor Placed in bits 0-31, and the reconstruction code of the paired decryptor is placed in bits 32-63. Therefore, the reconstruction codes of a pair of 32-bit encryptor and decryptor are placed in consecutive 32 64-bit memories.
在专用写入设备中,将随机数发生器送来的连续16个64位随机数连接在一起形成一个1024位的随机数,对所述1024位随机数以4位为单位从最高位向最低位扫描,将不适合用于加密器的重构码替换为特定的适用于加密器的重构码,形成整理后的1024位随机数,整理过程中的重构码替换规则与所用四值逻辑运算器的结构有关,不属于本专利的论述范围。将整理后的新1024位随机数与保存在第2随机数存储器中既往送来的所有整理过的1024位随机数逐一对比;若新送来的1024位随机数与既往送来的随机数都不相同,新送来的1024位随机数可以看成是一个32位加密器的每个位的重构码,将其按大小顺序存入专用写入设备的第2随机数存储器;同时将所述1024位随机数分割成32个32位随机数,每个32位随机数临时放置到专用写入设备的第1寄存器组的一个64位寄存器的0-31位,第1寄存器组共有32个64位寄存器;每个寄存器的0-7位、8-15位、16-23位和24-31位各是加密器的一个行重构码;分别将这4个行重构码的配对解密器行重构码找出来,并对应存储在该寄存器的后32位。则第1寄存器组的32个64位寄存器中保有一配对的32位加密器和解密器的重构码;将所述第1寄存器组的32个64位寄存器的内容作为一个被选取的加密器/解密器配对,写入芯片GYY存储区的f-f’存储区。若新送来的经过整理的1024位随机数与第2随机数存储器中的一个既往送来的经整理过的1024位随机数相同,专用写入设备放弃新送来的随机数。专用写入设备继续接收下16个64位随机数,重复上述操作,直到给当前芯片对写满1024个配对的加密器/解密器重构码。In the dedicated writing device, 16 consecutive 64-bit random numbers sent by the random number generator are connected together to form a 1024-bit random number, and the 1024-bit random number is from the highest bit to the lowest in units of 4 bits Bit scanning, replace the reconstruction code that is not suitable for the cipher with a specific reconstruction code suitable for the cipher to form a sorted 1024-bit random number, the replacement rule of the reconstruction code during the sorting process and the four-valued logic used It is related to the structure of the arithmetic unit and does not belong to the scope of discussion of this patent. The new 1024-bit random number after sorting is compared with all the 1024-bit random numbers that have been sent in the past and stored in the second random number memory; Not the same, the newly sent 1024-bit random number can be regarded as the reconstructed code of each bit of a 32-bit encryptor, which is stored in the second random number memory of the dedicated writing device in order of size; The above 1024-bit random number is divided into 32 32-bit random numbers, and each 32-bit random number is temporarily placed in bits 0-31 of a 64-bit register in the first register group of the dedicated writing device, and the first register group has a total of 32 64-bit register; 0-7 bits, 8-15 bits, 16-23 bits and 24-31 bits of each register are a row reconstruction code of the encryptor; respectively decrypt the pairs of these 4 row reconstruction codes The reconfiguration code of the device line is found out, and correspondingly stored in the last 32 bits of the register. Then keep the reconstruction code of a paired 32-bit encryptor and decryptor in 32 64-bit registers of the 1st register group; use the content of 32 64-bit registers of the 1st register group as a selected encryptor /decryptor pairing, write to the f-f' storage area of the chip GYY storage area. If the newly sent 1024-bit random number is the same as the 1024-bit random number sent in the past in the second random number memory, the dedicated writing device abandons the newly sent random number. The dedicated writing device continues to receive the next 16 64-bit random numbers, and repeats the above operations until the current chip pair is filled with 1024 paired encryptor/decryptor reconstruction codes.
⒀1024个加密/解密密钥派生器重构码的随机择取和预置入芯片⒀1024 encryption/decryption key derivation reconstruction codes are randomly selected and preset into the chip
考虑到加密密钥派生器重构码与解密密钥派生器重构码也总是同时使用,本实施例也用一个64位存储单元放置加密密钥派生器和对应解密密钥派生器的同一位的重构码,加密密钥派生器的重构码放置在0-31位,对应的解密密钥派生器的重构码放置在32-63位,鉴于这两个密钥派生器的重构码相同,于是这个存储单元的前32位与后32位的内容相同。于是,连续的32 个64位存储器放置一对32位密钥派生器重构码。Considering that the reconstruction code of the encryption key derivation and the reconstruction code of the decryption key derivation are always used at the same time, this embodiment also uses a 64-bit storage unit to place the same key of the encryption key derivation and the corresponding decryption key derivation. bit reconstruction code, the reconstruction code of the encryption key derivation is placed in 0-31 bits, and the reconstruction code of the corresponding decryption key derivation is placed in 32-63 bits, in view of the reconstruction of the two key derivations The coding is the same, so the contents of the first 32 bits and the last 32 bits of this storage unit are the same. Thus, a pair of 32-bit key derivation reconstruction codes are placed in 32 consecutive 64-bit memories.
在专用写入设备中,将随机数发生器送来的连续16个64位随机数连接在一起,形成一个1024位的随机数,由于所有的四值逻辑运算器都适合用做密钥派生器,无需对所述1024位随机数进行整理。将这个新1024位随机数与保存在第3随机数存储器中的既往送来的所有1024位随机数逐一对比;若新送来的1024位随机数与既往送来的随机数都不相同,新送来的1024位随机数可以看成是一个32位密钥派生器的每个位的重构码,将其按大小顺序存入专用写入设备的第3随机数存储器;同时将所述1024位随机数分割成32个32位随机数,每个32位随机数临时放置到专用写入设备的第2寄存器组的一个64位寄存器的0-31位,第2寄存器组共有32个64位寄存器;每个寄存器的0-7位、8-15位、16-23位和24-31位各是密钥派生器的一个行重构码;分别将这4个行重构码复制到该寄存器的后32位。则第2寄存器组的32个64位寄存器中保有相同两个32位密钥派生器的重构码;将所述第2寄存器组的32个64位寄存器的内容作为一对被选取的加密密钥派生器/解密密钥派生器,写入芯片GYY存储区的F-F’存储区。若新送来的1024位随机数与第3随机数存储器中的一个既往送来的1024位随机数相同,专用写入设备放弃新送来的随机数。专用写入设备继续接收下16个64位随机数,重复上述操作直到给芯片对写满1024个加密密钥派生器/解密密钥派生器重构码。In the dedicated writing device, 16 consecutive 64-bit random numbers sent by the random number generator are connected together to form a 1024-bit random number, because all four-valued logic operators are suitable for use as a key derivation device , no need to tidy up said 1024-bit random number. This new 1024-bit random number is compared with all 1024-bit random numbers sent in the past stored in the third random number memory; if the newly sent 1024-bit random number is not the same as the random number sent in the past, the new The 1024-bit random number sent can be regarded as the reconstruction code of each bit of a 32-bit key derivation device, which is stored in the 3rd random number memory of the dedicated writing device in order of size; The bit random number is divided into 32 32-bit random numbers, and each 32-bit random number is temporarily placed in bits 0-31 of a 64-bit register in the second register group of the dedicated writing device, and the second register group has a total of 32 64-bit registers; bits 0-7, bits 8-15, bits 16-23 and bits 24-31 of each register are a row reconstruction code of the key derivation device; copy these 4 row reconstruction codes to the The last 32 bits of the register. Then the 32 64-bit registers of the 2nd register group retain the reconstruction codes of the same two 32-bit key derivators; The key derivation device/decryption key derivation device is written into the FF' storage area of the GYY storage area of the chip. If the newly sent 1024-bit random number is identical to the 1024-bit random number sent in the past in the 3rd random number memory, the dedicated writing device abandons the newly sent random number. The dedicated writing device continues to receive the next 16 64-bit random numbers, and repeats the above operations until the chip pair is filled with 1024 encryption key derivation/decryption key derivation reconstruction codes.
⒁加解密芯片面积估算⒁ Encryption and decryption chip area estimation
依据现有集成电路制作技术,可以估算构造实施例2给出的加解密芯片所需要的晶体管的大致数量。According to the existing integrated circuit manufacturing technology, the approximate number of transistors required to construct the encryption and decryption chip given in Embodiment 2 can be estimated.
构造一位可重构4值逻辑运算器需要44个二值逻辑门、8个8选1器件和4个8位重构寄存器(Rf(i)或Rf’(i)或RF(i)或RF’(i)),大约需要500个晶体管;故构造一个32位的4值逻辑运算器需要大约16000个晶体管;于是构造该加解密芯片包含的4个32位4值逻辑运算器(即f、f’、F和F’)需要大约64000个晶体管。Constructing a reconfigurable 4-value logic operator requires 44 binary logic gates, 8 8-to-1 devices, and 4 8-bit reconfigurable registers (Rf(i) or Rf'(i) or RF(i) or RF'(i)), about 500 transistors are needed; therefore, about 16,000 transistors are needed to construct a 32-bit 4-valued logic operator; so four 32-bit 4-valued logic operators (that is, f , f', F, and F') require approximately 64,000 transistors.
f、f’、F和F’各带有3个64位的输入输出寄存器(RfY、Rfm、CRf、Rf’Y、Rf’m、CRf’、RFY、RFm、CRF、RF’Y、RF’m和CRF’),构造这12个64位寄存器大约需要2500个晶体管。f, f', F, and F' each have three 64-bit I/O registers (RfY, Rfm, CRf, Rf'Y, Rf'm, CRf', RFY, RFm, CRF, RF'Y, RF' m and CRF'), constructing the twelve 64-bit registers requires about 2500 transistors.
加解密芯片包含三个10位的随机计数器(Jm1、Jm01和Jm11)、一个30 位的预约码寄存器(Rm)、四个64位的串并转换寄存器、一个64位总线缓冲器、一个17位地址译码器、一个64位微指令译码器、一个64位微指令寄存器、一个11位的微程序计数器PC和十个引脚的1位数据寄存器,构造这部件大约需要20000个晶体管。The encryption and decryption chip contains three 10-bit random counters (Jm1, Jm01 and Jm11), a 30-bit reservation code register (Rm), four 64-bit serial-to-parallel conversion registers, a 64-bit bus buffer, and a 17-bit Address decoder, a 64-bit micro-instruction decoder, a 64-bit micro-instruction register, an 11-bit micro-program counter PC and a ten-pin 1-bit data register, the construction of this part requires about 20,000 transistors.
加解密芯片中包含一个2048×64位的微程序存储器、一个1024行×64位的Y(0)存储区、两个1024行×32列×64位的二维存储区(f-f’和F-F’),构造这67K的64位存储器大约需要1.8×10 7个晶体管。 The encryption and decryption chip contains a microprogram memory of 2048×64 bits, a Y(0) storage area of 1024 rows×64 bits, two two-dimensional storage areas of 1024 rows×32 columns×64 bits (f-f' and F-F'), about 1.8×10 7 transistors are needed to construct this 67K 64-bit memory.
由此可以估算构造一个加解密芯片大约需要1.809×10 7个晶体管。扩大200%的余量,取构造一个加解密芯片用5.5×10 7个晶体管。 From this, it can be estimated that about 1.809×10 7 transistors are needed to construct an encryption and decryption chip. To expand the margin of 200%, take 5.5×10 7 transistors to construct an encryption and decryption chip.
目前用16微米集成电路工艺,每平方厘米芯片可以制作出1.5×10 11个晶体管,即1平行厘米的芯片上能制作出2千7百多个加解密芯片。 At present, with 16-micron integrated circuit technology, 1.5×10 11 transistors can be produced per square centimeter chip, that is, more than 2,700 encryption and decryption chips can be produced on a 1 parallel centimeter chip.
实施例3.一种实现所述加解密方法的计算机软件Embodiment 3. A kind of computer software that realizes described encryption and decryption method
实施例3给出的计算机软件主要用于对各种二值数据文件进行加密,为便于论述,本实施例以128位二值数据为段长度,对待加密的明文文件或待解密的密文文件进行分段,故本实施例的预设密钥rY(0)和派生密钥rY(i)都是128位二值数据。为体现混合使用不同的多值逻辑运算规则构造加密变换、解密变换和密钥派生变换,并便于论述,安排本实施例的软件中包含三个相同的混合多值逻辑运算单元:2个可重构八值逻辑运算器和61个可重构四值逻辑运算器。2个八值逻辑运算器位置在前6位,即:第一个可重构八值逻辑运算器处理0号、1号和2号位的数据,第二个可重构八值逻辑运算器处理3号、4号和5号位的数据;其余位上的数据顺序由61个可重构四值逻辑运算器处理。三个混合多值逻辑运算单元分别用做加密变换rf、解密变换rf’和密钥派生变换rF。但这不应妨碍本专利涵盖以其它位数的二值数据长度截取明文段和密文段,不应妨碍本专利涵盖使用其它多值逻辑运算模块,包括混合使用多种多值逻辑运算模块作为加密变换、解密变换和密钥派生变换的同类加解密计算机软件的专属权。The computer software provided in Embodiment 3 is mainly used to encrypt various binary data files. For the convenience of discussion, this embodiment takes 128-bit binary data as the segment length, and the plaintext file to be encrypted or the ciphertext file to be decrypted Segmentation is performed, so the preset key rY(0) and derived key rY(i) in this embodiment are both 128-bit binary data. In order to reflect the mixed use of different multi-valued logic operation rules to construct encryption transformation, decryption transformation and key derivation transformation, and to facilitate discussion, the software of this embodiment is arranged to include three identical mixed multi-value logic operation units: 2 reusable Construct eight-valued logic operators and 61 reconfigurable four-valued logic operators. The positions of the 2 eight-valued logic operators are in the first 6 positions, namely: the first reconfigurable eight-valued logic operator processes the data of bits 0, 1 and 2, and the second reconfigurable eight-valued logic operator Process the data of No. 3, No. 4 and No. 5 bits; the data sequence on the remaining bits is processed by 61 reconfigurable four-valued logic operators. Three mixed multi-valued logic operation units are respectively used as encryption transformation rf, decryption transformation rf' and key derivation transformation rF. But this should not prevent this patent from covering the interception of plaintext segments and ciphertext segments with binary data lengths of other digits, and should not prevent this patent from covering the use of other multi-valued logical operation modules, including the mixed use of multiple multi-valued logical operation modules as The exclusive right of the same kind of encryption and decryption computer software for encryption transformation, decryption transformation and key derivation transformation.
实施例3的软件有三个主体模块:加密模块、解密模块和配置文件。The software of embodiment 3 has three main modules: encryption module, decryption module and configuration file.
(1)软件主要模块的功用(1) Functions of the main modules of the software
加密模块:对应于实施例2中的加密部件,包括加密器f、密钥派生器F和相关联的寄存器。加密模块使用加密变换rf,依据软件广义密钥源数据 rGYY,将明文m变换为密文M。rf有两个128位的输入变量rRfY和rRfm,一个128位的输出变量rCRf,给rRfY置入当前密钥rY(i),rRfm置入当前明文段后,rf输出密文M的当前段到rCRf。该模块中的密钥派生变换rF带有两个128位的输入变量rRFY和rRFm,一个128位的输出变量rCRF,给rRFY置入当前密钥rY(i),rRFm置入当前明文段后,rF输出下一个派生密钥rY(i+1)到rCRF。Encryption module: corresponding to the encryption component in Embodiment 2, including an encryption unit f, a key derivation unit F and associated registers. The encryption module uses encryption transformation rf to transform plaintext m into ciphertext M according to software generalized key source data rGYY. rf has two 128-bit input variables rRfY and rRfm, and a 128-bit output variable rCRf. Put the current key rY(i) into rRfY. After rRfm is put into the current plaintext segment, rf outputs the current segment of the ciphertext M to rCRf. The key derivation transformation rF in this module has two 128-bit input variables rRFY and rRFm, and one 128-bit output variable rCRF. After putting the current key rY(i) into rRFY and rRFm into the current plaintext segment, rF outputs the next derived key rY(i+1) to rCRF.
解密模块:对应于实施例2中的解密部件,包括:解密器f’、密钥派生器F’和相关的寄存器。解密模块使用解密变换rf’,依据软件广义密钥源数据rGYY,将密文M转换为明文m。rf’有两个128位的输入变量rRf’Y和rRf’M,一个128位的输出变量rCRf’,给rRf’Y置入当前密钥rY(i),rRf’M置入当前密文段后,rf’输出解密后的明文m的当前段到rCRf’。该模块也使用rF来生成新的派生密钥,但置入rRFm的值是当前密文解密得到的明文段。Decryption module: corresponding to the decryption component in Embodiment 2, including: decryptor f', key derivation device F' and related registers. The decryption module uses the decryption transformation rf' to convert the ciphertext M into plaintext m according to the software generalized key source data rGYY. rf' has two 128-bit input variables rRf'Y and rRf'M, and a 128-bit output variable rCRf', which puts the current key rY(i) into rRf'Y, and rRf'M puts the current ciphertext segment After that, rf' outputs the current segment of the decrypted plaintext m to rCRf'. This module also uses rF to generate a new derived key, but the value placed in rRFm is the plaintext segment obtained by decrypting the current ciphertext.
重构码变量:rf、rf’和rF的每一位(rf(j)、rf’(j)和rF(j),j=1,2,3,……,63)都配有一个位重构变量rRfj、rRf’j和rRFj,其中两个八值逻辑运算器的位重构变量分别为rRf0和rRf1、rRf’0和rRf’1、rRF0和rRF1,它们都有144位,而其余的四值逻辑运算器的位重构变量都是32位,故共有6个144位的位重构变量和3×61=183个32位的位重构变量。给rRfj、rRf’j和rRFj中写入重构码,对应的混合多值逻辑运算单元就具有这组重构码设定的运算规则。Reconstruction code variables: each bit of rf, rf' and rF (rf(j), rf'(j) and rF(j), j=1, 2, 3,..., 63) is equipped with a bit The reconstruction variables rRfj, rRf'j and rRFj, the bit reconstruction variables of the two eight-valued logic operators are rRf0 and rRf1, rRf'0 and rRf'1, rRF0 and rRF1 respectively, and they all have 144 bits, while the rest The bit reconstruction variables of the four-valued logical operator are all 32 bits, so there are six 144-bit bit reconstruction variables and 3×61=183 32-bit bit reconstruction variables. Write reconstruction codes into rRfj, rRf'j and rRFj, and the corresponding mixed multi-valued logic unit has the operation rules set by this group of reconstruction codes.
配置文件:对应于实施例2中的只读存储部件,包括:隐藏广义密钥源数据GYY的Y(0)存储区、f-f’存储区、F-F’存储区和预约码寄存器。配置文件用一维数组rY0保存1024个128位的预设密钥rY(0),每个数组元素放置一个rY(0)值;配置文件设有三个1024行63列的二维数组:rf、rf’和rF数组,每个数组有1024×63=64152个数组单元,前两个数组单元为144位,其余数组单元为32位,前两个数组单元存放一位8值逻辑运算规则的软件重构码,其余数组单元存放一位4值逻辑运算规则的软件重构码。于是配置文件中保存有1024个Y(0)、1024个rf/rf’和1024个rF,对应于保有1024 3=1073741824个软件广义密钥源数据rGYY。 Configuration file: corresponding to the read-only storage unit in Embodiment 2, including: Y(0) storage area, f-f' storage area, FF' storage area and reservation code register for hiding generalized key source data GYY. The configuration file uses a one-dimensional array rY0 to save 1024 128-bit preset keys rY(0), and each array element places a rY(0) value; the configuration file has three two-dimensional arrays with 1024 rows and 63 columns: rf, rf' and rF arrays, each array has 1024×63=64152 array units, the first two array units are 144 bits, the rest of the array units are 32 bits, the first two array units store a 8-value logic operation rule software The reconfiguration code, and the rest of the array units store a software reconfiguration code of a 4-value logic operation rule. Therefore, 1024 Y(0), 1024 rf/rf' and 1024 rF are stored in the configuration file, corresponding to 1024 3 =1073741824 software generalized key source data rGYY.
循环计数变量:为实现一次一密、密钥具有真随机性、解密时正确取得rGYY,加密模块中设置三个10位的循环计数变量rJm1、rJm01和rJm11,它 们分别计数明文中的符号(如001、010和101)的个数,于是这三个计数器的值具有随机性。配置文件中相应设有三个10位的读写存储单元rRm1、rRm01和rRm11。每次加密操作结束后,加密模块将rJm1、rJm01和rJm11的当前值分别存入rRm1、rRm01和rRm11。每次加密操作开始时,加密模块又将rRm1、rRm01和rRm11的值读入rJm1、rJm01和rJm11计数器,作为各个计数器的计数初值,并且按这三个随机数选择本次加密操作使用的广义密钥源数据rGYY、将这三个随机数写入相应密文的头部,保证未来解密该密文时能直接取得正确的rGYY。Circulation counting variable: In order to realize the one-time pad, the key has true randomness, and correctly obtain rGYY when decrypting, three 10-bit cyclic counting variables rJm1, rJm01 and rJm11 are set in the encryption module, which respectively count the symbols in the plaintext (such as 001, 010 and 101), so the values of these three counters are random. Correspondingly, there are three 10-bit read-write storage units rRm1, rRm01 and rRm11 in the configuration file. After each encryption operation, the encryption module stores the current values of rJm1, rJm01 and rJm11 into rRm1, rRm01 and rRm11 respectively. At the beginning of each encryption operation, the encryption module reads the values of rRm1, rRm01, and rRm11 into the rJm1, rJm01, and rJm11 counters as the initial counting values of each counter, and selects the generalized value used in this encryption operation according to these three random numbers. The key source data rGYY, write these three random numbers into the head of the corresponding ciphertext, to ensure that the correct rGYY can be directly obtained when decrypting the ciphertext in the future.
(2)给配置文件中写入一组有真随机性的软件广义密钥源数据rGYY。(2) Write a group of software generalized key source data rGYY with true randomness into the configuration file.
软件出品前,用专门的写入设备给每个序列号的加解密软件的配置文件写入按真随机数择取的1024个rY(0)、1024个rf的重构码、rf’的重构码和1024个rF的重构码。真随机数由具有均匀概率的随机物理事件或设备产生。写入操作的一个实例与实施例2中给加解密芯片准备广义密钥源数据的方法相同,不再赘述。Before the software is produced, use a special writing device to write 1024 rY(0), 1024 rf reconstruction codes, and rf' reconstruction codes selected according to true random numbers into the configuration file of the encryption and decryption software for each serial number. Construction codes and reconstruction codes of 1024 rFs. True random numbers are generated by random physical events or devices with uniform probability. An example of the write operation is the same as the method of preparing the generalized key source data for the encryption and decryption chip in Embodiment 2, and will not be repeated here.
(3)加密操作(3) Encryption operation
打开加解密软件的加密模块,按提示给出明文的文件名(对明文格式没有限制),加密模块即刻工作。首先从配置文件读出rRm1、rRm01和rRm11的当前值,并将其分别送入计数器rJm1、rJm01和rJm11,作为各个计数器的计数初值。然后进行以下操作:Open the encryption module of the encryption and decryption software, give the plaintext file name according to the prompt (there is no restriction on the plaintext format), and the encryption module will work immediately. First read the current values of rRm1, rRm01 and rRm11 from the configuration file, and send them to the counters rJm1, rJm01 and rJm11 respectively as the initial counting values of each counter. Then do the following:
①准备rGYY:将配置文件中rY0数组的第rRm1号数组单元保存的预设密钥rY(0)拷贝入两个输入变量rRfY和rRFY,备好当前使用的预设密钥rY(0);将rRm01的值作为rf数组的行序号,将该数组行中各个单元保存的加密变换各位的重构码rRf(ij)(i=rRm01的值)拷贝入rf各位的位重构变量rRfj,备好当前加密变换rf;将rRm11的值作为rF数组的行序号,将该数组行各个单元保存的密钥派生变换各位的重构码rRF(ij)(i=rRm11的值)拷贝入rF各位的位重构变量rRFj,备好密钥派生变换rF。① Prepare rGYY: copy the preset key rY(0) stored in the rRm1 array unit of the rY0 array in the configuration file into the two input variables rRfY and rRFY, and prepare the currently used preset key rY(0); The value of rRm01 is used as the row sequence number of the rf array, and the encrypted transformation code rRf (ij) (the value of i=rRm01) of each unit stored in the array row is copied into the bit reconstruction variable rRfj of each of the rf, ready for use Now encrypt and transform rf; use the value of rRm11 as the row number of the rF array, and copy the key derivation transformation code rRF(ij) (the value of i=rRm11) of each member of the array row into each member of rF Bit reconstruction variable rRFj, prepared key derivation transformation rF.
②rRm1、rRm01和rRm11写入密文文件开始位置,形成解密操作选择rGYY的预约码。② rRm1, rRm01 and rRm11 are written into the starting position of the ciphertext file to form a reservation code for selecting rGYY for decryption operation.
③将明文m的当前段送入变量rRfm和rRFm。③ Send the current segment of plaintext m into variables rRfm and rRFm.
④rf生成密文的当前段,并送入变量rCRf;rF生成新派生密钥,并送 入变量rCRF。④rf generates the current segment of the ciphertext and sends it to the variable rCRf; rF generates a new derived key and sends it to the variable rCRF.
⑤rCRf的内容接续到密文后面;rCRF的内容送入变量rRfY和rRFY。⑤ The content of rCRf is continued to the back of the ciphertext; the content of rCRF is sent to the variables rRfY and rRFY.
⑥顺序重复③、④和⑤步骤,直到完成对全部明文的加密。如明文的最后一个段不足128位,则在明文后边补0,使该段达到128位。⑥ Repeat steps ③, ④ and ⑤ in sequence until the encryption of all plaintext is completed. If the last segment of the plaintext is less than 128 bits, add 0 to the back of the plaintext to make the segment reach 128 bits.
⑦加密过程中,三个计数器rJm1、rJm01和rJm11分别统计当前明文段中特定符号序列出现的个数,直到将明文加密完毕。然后把rJm1、rJm01和rJm11的最后值写入配置文件的rRm1、rRm01和rRm11存储单元。⑦ During the encryption process, the three counters rJm1, rJm01 and rJm11 respectively count the number of specific symbol sequences in the current plaintext segment until the plaintext is encrypted. Then write the last values of rJm1, rJm01 and rJm11 into the rRm1, rRm01 and rRm11 storage units of the configuration file.
⑧将密文文件存储到明文的同一个文件夹中,密文文件名以.jym(或.JYM)为后缀,并以明文的文件名及其后缀为密文文件名。⑧ store the ciphertext file in the same folder as the plaintext, the ciphertext file name is suffixed with .
⑨加密操作结束。⑨The encryption operation ends.
(4)解密操作(4) Decryption operation
打开加解密软件的解密模块,按提示给出密文的文件名,解密模块即刻工作。首先从密文的开始位置读出生成该密文时保存的rRm1、rRm01和rRm11值,然后做下列操作:Open the decryption module of the encryption and decryption software, give the file name of the ciphertext according to the prompt, and the decryption module will work immediately. First read the rRm1, rRm01 and rRm11 values saved when generating the ciphertext from the beginning of the ciphertext, and then do the following:
①准备rGYY:将配置文件中rY0数组的第rRm1号数组单元保存的预设密钥rY(0)拷贝入两个输入变量rRf’Y和rRFY,备好当前使用的预设密钥rY(0);将rRm01的值作为rf’数组的行序号,将该数组行中各个单元保存的解密变换各位的重构码rRf’(ij)(i=rRm01的值)拷贝入rf’各位的位重构变量rRf’j,备好当前解密变换rf’;将rRm11的值作为rF数组的行序号,将该数组行各个单元保存的密钥派生变换各位的重构码rRF(ij)(i=rRm11的值)拷贝入rF各位的位重构变量rRFj,备好密钥派生变换rF;① Prepare rGYY: Copy the preset key rY(0) saved in the rRm1 array unit of the rY0 array in the configuration file into the two input variables rRf'Y and rRFY, and prepare the currently used preset key rY(0 ); use the value of rRm01 as the row number of the rf' array, and copy the decrypted transformation code rRf' (ij) (the value of i=rRm01) that each unit saves in the array row into the bit weight of each bit of rf' Construct the variable rRf'j, prepare the current decryption transformation rf'; use the value of rRm11 as the row number of the rF array, derive and transform the reconstruction code rRF(ij)(i=rRm11 value) copy into the bit reconstruction variable rRFj of rF, and prepare the key derivation transformation rF;
②将密文M的当前段送入变量rRf’M;② Send the current segment of the ciphertext M into the variable rRf'M;
③rf’生成明文m的当前段,并送入变量rCRf’;③rf' generates the current segment of the plaintext m and sends it to the variable rCRf';
④rCRf’内容接续到解密后明文文件的最后,并送入变量rRFm;④ The content of rCRf' is continued to the end of the decrypted plaintext file and sent to the variable rRFm;
⑤rF生成新派生密钥,并送入变量rCRF;⑤ rF generates a new derived key and sends it to the variable rCRF;
⑥rCRF的内容送入变量rRf’Y和rRFY;⑥ The contents of rCRF are sent to variables rRf’Y and rRFY;
⑦顺序重复②到⑥步骤,直到完成对全部密文的解密;⑦ Repeat steps ② to ⑥ in order until the decryption of all ciphertexts is completed;
⑧删除明文尾部的0,形成解密后的明文文件;⑧Delete the 0 at the end of the plaintext to form a decrypted plaintext file;
⑨明文文件存储到密文的同一个文件夹中,解密后明文的文件名为:密文文件名前面增添JYM-(或jym-)标识,并去除.jym后缀;⑨The plaintext file is stored in the same folder as the ciphertext, and the name of the plaintext file after decryption: add the JYM- (or jym-) logo in front of the ciphertext file name, and remove the .jym suffix;
⑩解密操作结束。⑩The decryption operation ends.
实施例4.用一对加解密芯片构成信息加密通信系统Embodiment 4. Use a pair of encryption and decryption chips to form an information encryption communication system
如图7所示,本发明提供的一种信息加密通信系统,包括通信对端的两个通信设备,其特征在于每个通信设备上分别设置实施例2所述的加解密芯片;由加解密芯片将传送的信息进行实时加密和解密,在通信设备之间传输密文信息。As shown in Figure 7, an information encryption communication system provided by the present invention includes two communication devices at the opposite end of communication, and is characterized in that the encryption and decryption chip described in Embodiment 2 is respectively set on each communication device; The transmitted information is encrypted and decrypted in real time, and the ciphertext information is transmitted between communication devices.
实际操作中,可将两个相同的加解密芯片A和加解密芯片B分别安置在通用信道两端的数字设备和通信设备之间,从而在通用公共信道上构建出一对通信方向相反的加密信道。加解密芯片A中的加密部件a和加解密芯片B的解密部件b互为对端,形成A向B的加密信道;加解密芯片A中的解密部件a’和加解密芯片B的加密部件b’互为对端,形成B向A加密信道。In actual operation, two identical encryption and decryption chips A and B can be placed between the digital equipment and the communication equipment at both ends of the common channel, so as to construct a pair of encrypted channels with opposite communication directions on the common public channel. . Encryption component a in encryption and decryption chip A and decryption component b in encryption and decryption chip B are opposite to each other, forming an encryption channel from A to B; decryption component a' in encryption and decryption chip A and encryption component b in encryption and decryption chip B 'They are peers and form an encrypted channel from B to A.
信息加密通信系统还采用一预约码机制来择取本次使用的加密器重构码、解密器重构码以及密钥派生器重构码和预置密钥;预约码机制包括:The information encryption communication system also adopts a reservation code mechanism to select the encrypted device reconstruction code, decryptor reconstruction code, key derivation device reconstruction code and preset key used this time; the reservation code mechanism includes:
一发送单元,用于在其中一个通信设备结束通信时,发出预约码;A sending unit, used for sending out the reservation code when one of the communication devices ends the communication;
一接收单元,用于接收其中另一个通信设备返回的回送预约码;A receiving unit, used for receiving the callback reservation code returned by another communication device;
一判断单元,用于判断预约码和回送预约码是否相同,并得到对应的判断结果;A judging unit, used to judge whether the reservation code and the callback reservation code are the same, and obtain a corresponding judgment result;
一第一处理单元,连接判断单元,用于在判断结果表示预约码和回送预约码相同时,两个通信设备之间结束通信;A first processing unit, connected to a judging unit, used to end the communication between the two communication devices when the judging result indicates that the reservation code and the callback reservation code are the same;
一第二处理单元,连接判断单元,用于在判断结果表示预约码和回送预约码不同时,控制发送单元再次发送预约码。A second processing unit, connected to the judgment unit, used to control the sending unit to send the reservation code again when the judgment result indicates that the reservation code is different from the callback reservation code.
具体地,当通信双方呼叫联通后,任一方数字设备发出的明文m进入发送端加解密芯片的加密部件,当前加密器f和当前密钥Y(i)将明文m的符号替换成对应密文M的符号,密文送入发送端的通信设备,随后进入公共通用信道;密文到达接收端后,进入接收端通信设备,然后进入接收端加解密芯片的解密部件,当前解密器f’和当前密钥Y(i)将密文符号替换成对应的明文符号;明文送入接收端的数字设备,通信过程完成。Specifically, when both communication parties call China Unicom, the plaintext m sent by the digital device of either party enters the encryption part of the encryption and decryption chip at the sending end, and the current encryptor f and the current key Y(i) replace the symbols of the plaintext m with the corresponding ciphertext The symbol of M, the ciphertext is sent to the communication device at the sending end, and then enters the public general channel; after the ciphertext reaches the receiving end, it enters the communication device at the receiving end, and then enters the decryption part of the encryption and decryption chip at the receiving end, the current decryptor f' and the current The key Y(i) replaces the ciphertext symbols with the corresponding plaintext symbols; the plaintext is sent to the digital device at the receiving end, and the communication process is completed.
而当任一方发出长串的0值或1值时,例如长时间不讲话,由于f(i)的各个位的变换规则不相同和y(i)各个位的值不相同,对于明文不同位置上的0或1,f(i)和y(i)会生成不同的密文符号,故f(i)和y(i)仍会生成非长串 0且非长串1的密文;同理F(i)和y(i)会生成非长串0且非长串1的派生密钥y(i+1),由于y(i+1)不同于y(i),所以对于明文中后续的长串0或长串1,仍会生成非长串0且非长串1的密文及下一个派生密钥。当明文中的长串0或长串1结束后,加密过成随即恢复正常。即密文中自然隐去了明文中的长串0或长串1信息,而不影响加密过程正常工作。即便某个派生密钥Y(k)为全0或全1,恰巧被加密的明文段也是全0或全1,由于f(i)各个位的变换功能不同,生成的密文段也不可能为全0或全1;由于F(i)各个位的变换功能不同,生成的下一个派生密钥Y(ki+1)也不会是全0或全1。And when either party sends out a long string of 0 or 1 values, such as not speaking for a long time, since the conversion rules of each bit of f(i) are different and the values of each bit of y(i) are different, for different positions of the plaintext 0 or 1 above, f(i) and y(i) will generate different ciphertext symbols, so f(i) and y(i) will still generate ciphertexts with non-long strings of 0 and non-long strings of 1; the same The reason F(i) and y(i) will generate a derived key y(i+1) that is not a long string of 0 and a non-long string of 1. Since y(i+1) is different from y(i), for the plaintext Subsequent long strings of 0s or long strings of 1s will still generate ciphertexts that are not long strings of 0s and non-long strings of 1s and the next derived key. When the long string of 0 or long string of 1 in the plaintext ends, the encryption will return to normal immediately. That is, the long string of 0 or long string of 1 information in the plaintext is naturally hidden in the ciphertext, without affecting the normal operation of the encryption process. Even if a derived key Y(k) is all 0s or all 1s, the encrypted plaintext segment happens to be all 0s or all 1s, because the transformation function of each bit of f(i) is different, the generated ciphertext segment is also impossible is all 0s or all 1s; because the conversion function of each bit of F(i) is different, the next generated key Y(ki+1) will not be all 0s or all 1s.
当一方数字设备发出结束通信命令时,该端的加解密芯片会将Jm1、Jm01和Jm11的当前值连接成预约码(Rm),存入预约码寄存器,该端加解密芯片在发送完会话结束命令后,继续把该芯片的预约码(Rm)的值发送给对方,对方接收到预约码(Rm)的值,存入己方的预约码寄存器,并根据收到的预约码,回送一预约码(Rm’),发送方收到回送预约码(Rm’),如果回送预约码(Rm’)与发出的预约码(Rm)的值不同,则重发预约码(Rm),直到二者相同,若8次重复都得不到相同的预约码值,则报告系统故障;如果收到的回送预约码(Rm’)与发出的预约码(Rm)的值相同,则预约成功,双方下线,通信结束。When a digital device sends a command to end communication, the encryption and decryption chip at this end will connect the current values of Jm1, Jm01, and Jm11 into a reservation code (Rm) and store it in the reservation code register. The encryption and decryption chip at this end will send the session end command After that, continue to send the value of the reservation code (Rm) of the chip to the other party, and the other party receives the value of the reservation code (Rm), stores it in its own reservation code register, and returns a reservation code ( Rm'), the sender receives the callback reservation code (Rm'), if the value of the callback reservation code (Rm') is different from the sent reservation code (Rm), resend the reservation code (Rm) until the two are the same, If the same reservation code value cannot be obtained after 8 repetitions, a system failure will be reported; if the value of the received reservation code (Rm') is the same as the value of the sent reservation code (Rm), the reservation is successful, and both parties are offline. The communication is over.
预约成功后,双方的加解密芯片立刻依据刚约定的Rm值,选择出新的Y(0)以及f(i)/f’(i)和F(i)的重构码送入相应的寄存器,为下次通信做好准备。同时,选择出的广义密钥源数据GYY冲掉了本次通信最后的派生密钥Y(i)以及f(i)/f’(i)和F(i)的重构码,于是本次通信的密文即便被截获,也无人能找到对应的预设密钥和解密器。从而在保证一次一密的同时,保证了已有密文的安全。After the appointment is successful, the encryption and decryption chips of both parties immediately select the new Y(0) and f(i)/f'(i) and F(i) reconstruction codes according to the Rm value just agreed and send them to the corresponding registers , ready for the next communication. At the same time, the selected generalized key source data GYY washes out the last derived key Y(i) and the reconstruction codes of f(i)/f'(i) and F(i) in this communication, so this time Even if the ciphertext of the communication is intercepted, no one can find the corresponding preset key and decryptor. Thus, while ensuring the one-time pad, the security of the existing ciphertext is guaranteed.
预约码只是给出下次通信将使用的广义密钥源数据GYY在加解密芯片只读存储器中的序列编号(即:存储地址),不是预设密钥Y(0)、加密器f(i)重构码、解密器f’(i)重构码和派生器F(i)重构码本身,而每对芯片暗藏的预设密钥Y(0)、加密器f(i)的重构码、解密器f’(i)的重构码和派生器F(i)的重构码都不同,所以预约码不怕被截获,它可用密文或明文传送。The reservation code only gives the serial number (namely: storage address) of the generalized key source data GYY to be used in the next communication in the read-only memory of the encryption and decryption chip, not the preset key Y(0), the encryptor f(i ) reconstruction code, decryptor f'(i) reconstruction code and derivative F(i) reconstruction code itself, and each pair of hidden preset key Y(0), encryption device f(i) reconstruction code The construction code, the reconstruction code of the decryptor f'(i) and the reconstruction code of the derivative F(i) are all different, so the reservation code is not afraid of being intercepted, and it can be transmitted in ciphertext or plaintext.
本实施例给出的信息加密通信系统,每对加解密芯片中藏有不同的广义密钥源数据GYY,由六个方面协作来保证这些广义密钥源数据GYY不可被窃取。In the information encryption communication system given in this embodiment, different generalized key source data GYY are hidden in each pair of encryption and decryption chips, and six parties cooperate to ensure that these generalized key source data GYY cannot be stolen.
第1个方面,给加解密芯片写入GYY的过程由芯片出品商用专门的写入设备来完成,整个写入过程不允许人为介入,从而无人知道每对芯片中藏入GYY的具体内容,只知道哪两个芯片是一对。In the first aspect, the process of writing GYY to the encryption and decryption chip is completed by the chip manufacturer with a commercially dedicated writing device. The entire writing process does not allow human intervention, so that no one knows the specific content of GYY hidden in each pair of chips. It is only known which two chips are a pair.
第2个方面,当芯片流入市场后,出品商不会知道哪个用户使用哪对芯片,所以,不可能通过芯片出品人获得某个信息加密通信信道的广义密钥源数据GYY。In the second aspect, when the chips enter the market, the producer will not know which pair of chips is used by which user, so it is impossible to obtain the generalized key source data GYY of a certain information encrypted communication channel through the chip producer.
第3个方面,每个加解密芯片隐藏的广义密钥源数据GYY都不能被读出,所以拿到加解密芯片的人无法得知该芯片隐藏的GYY。In the third aspect, the generalized key source data GYY hidden by each encryption and decryption chip cannot be read out, so the person who gets the encryption and decryption chip cannot know the hidden GYY of the chip.
第4个方面,每个加解密芯片中隐藏了数量足够多的广义密钥源数据,以至于无法在有意义的时间内,用“明文-密文对”推测出这些广义密钥源数据的有意义信息。In the fourth aspect, enough generalized key source data are hidden in each encryption and decryption chip, so that it is impossible to use "plaintext-ciphertext pairs" to deduce the generalized key source data within a meaningful time. meaningful information.
第5个方面,每对加解密芯片隐藏的广义密钥源数据GYY都不相同,即便用特殊的方法获得了一个加解密芯片隐藏的广义密钥源数据,也对破解其它加解密芯片对形成的密文没有任何帮助。所以,不可能通过拥有一些加解密芯片而得知某个信息加密通信信道的广义密钥源数据。In the fifth aspect, the generalized key source data GYY hidden by each pair of encryption and decryption chips is different. Even if the generalized key source data hidden by one encryption and decryption chip is obtained by a special method, it is also difficult to crack other encryption and decryption chip pairs. The ciphertext doesn't help. Therefore, it is impossible to know the generalized key source data of a certain information encryption communication channel by owning some encryption and decryption chips.
第6个方面,密文中不包含广义密钥的任何信息,通信双方沟通下次加密特征的唯一途径是预约码,所以不可能从密文中直接获得广义密钥源数据的任何内容,只可能获得预约码。但同一个预约码在不同的加解密芯片对中对应着不同的广义密钥源数据,所以不可能从传送的密文得知某个加密信道的广义密钥源数据。In the sixth aspect, the ciphertext does not contain any information about the generalized key. The only way for the communication parties to communicate the characteristics of the next encryption is the reservation code. Therefore, it is impossible to directly obtain any content of the generalized key source data from the ciphertext. It is only possible to obtain reservation code. But the same reservation code corresponds to different generalized key source data in different encryption and decryption chip pairs, so it is impossible to know the generalized key source data of an encrypted channel from the transmitted ciphertext.
实施例5.服务端协助下,加解密芯片构成的信息加密通信系统Embodiment 5. With the assistance of the server, an information encryption communication system composed of an encryption and decryption chip
一种服务端协助下实现的任意呼叫信息加密通信系统,包括呼叫端、服务端以及被呼叫端。服务端设置于呼叫端和被呼叫端之间,呼叫端与服务端之间、被呼叫端与服务端之间分别设有如实施例4所述的信息加密通信方式;An arbitrary call information encryption communication system realized with the assistance of a server, including a calling end, a server end, and a called end. The server end is arranged between the calling end and the called end, and between the calling end and the server end, between the called end and the server end, information encryption communication methods as described in embodiment 4 are respectively provided;
服务端包括:The server includes:
一生成单元,用于生成多个广义密钥源数据,包括多个预约密钥、加密器重构码、解密器重构码以及密钥派生器重构码;A generation unit, used to generate a plurality of generalized key source data, including a plurality of reservation keys, encryption device reconstruction codes, decryptor reconstruction codes and key derivation device reconstruction codes;
一呼叫单元,用于根据呼叫请求,向被呼叫端发送一组选定的预约密钥、加密器重构码、解密器重构码以及密钥派生器重构码;A calling unit, used to send a set of selected reservation keys, encryptor reconfiguration codes, decryptor reconfiguration codes and key derivation device reconfiguration codes to the called terminal according to the call request;
一回铃单元,用于向呼叫端发送选定的预约密钥、加密器重构码、解密 器重构码以及密钥派生器重构码;A ringback unit, used to send the selected reservation key, encryptor reconfiguration code, decryptor reconfiguration code and key derivation device reconfiguration code to the calling end;
呼叫端和被呼叫端,使用服务端发来的预约密钥、加密器重构码、解密器重构码以及密钥派生器重构码,构建信息加密信道,以进行信息加密通信。The calling end and the called end use the reservation key, encryption device reconstruction code, decryptor reconstruction code, and key derivation device reconstruction code sent by the server to construct an information encryption channel for encrypted information communication.
具体地,每台电话或手机或网络端点都要与很多个电话或手机或网络端点通信,这时就要采用服务端协助信息加密通信,对应构成服务端协助的信息加密通信系统,其中的每个手机或电话或网络结点都与服务端保有一对加解密芯片,每个电话或手机或网络端点都能和服务商通信,如:发送通话请求和被呼叫方号码、接收呼叫和信息等。此时的服务端不断产生多个预设密钥Y(0)、密钥派生器重构码F(i)、加密器重构码f(i)和解密器重构码f’(i)(下述可简称为会话广义密钥源数据HGYY)。其主要操作如下:呼叫端在他与服务端之间的私有(如实施例4所述的信息加密通信方法)信息加密通信信道向服务端发送通话请求和被呼叫方号码;服务端在与被呼叫端之间的私有信息加密通信信道,向被呼叫端传送呼叫端的电话号码和选定的一个会话广义密钥源数据HGYY,并引发被呼叫端振铃;服务端在与呼叫端之间的私有信息加密通信信道,向呼叫端发送选定的同一个HGYY和回铃信号;通信双方的信道建立后,通信双方用服务端给出的选定HGYY构成信息加密信道,进行信息加密通信。Specifically, each phone or mobile phone or network endpoint must communicate with many phones or mobile phones or network endpoints. At this time, it is necessary to use the server-assisted information encryption communication, which corresponds to the information encryption communication system assisted by the server. Each of them Each mobile phone or phone or network node has a pair of encryption and decryption chips with the server, and each phone or mobile phone or network node can communicate with the service provider, such as: sending call requests and called party numbers, receiving calls and information, etc. . At this time, the server continuously generates multiple preset keys Y(0), key derivation reconstruction code F(i), encryption reconstruction code f(i) and decryption reconstruction code f'(i) (The following may be referred to as session generalized key source data HGYY for short). Its main operations are as follows: the calling end sends a call request and the called party number to the serving end in a private (information encryption communication method as described in embodiment 4) information encryption communication channel between him and the serving end; The private information encrypted communication channel between the calling end transmits the telephone number of the calling end and a selected session generalized key source data HGYY to the called end, and causes the called end to ring; the server end communicates with the calling end The private information encryption communication channel sends the same selected HGYY and ringback signal to the calling end; after the communication channel is established, the two communication parties use the selected HGYY given by the server to form an information encryption channel for information encryption communication.
当会话一方暂停讲话时,明文中出现长串0信号或长串1信号,此时f和y(i)仍会生成非长串0且非长串1的密文,同时F和y(i)会生成非长串0且非长串1的y(i+1),于是密文中隐去了暂停讲话这一有助于破解密文的特征信息。When one party in the conversation pauses, a long string of 0 signals or a long string of 1 signals appears in the plaintext, at this time f and y(i) will still generate a ciphertext that is not a long string of 0s and a non-long string of 1s, while F and y(i ) will generate y(i+1) that is not a long string of 0s and a non-long string of 1s, so the ciphertext hides the characteristic information of pausing speech that helps to crack the ciphertext.
对于服务端协助信息加密通信系统,呼叫端与被叫端建立通信后,他们使用服务端发给的会话广义密钥源数据HGYY给会话信息加密,只要服务商给予的HGYY是一次性使用,则会话过程仍然保持“一次一密”方式。而服务端生成HGYY的方式与实施例2给出的加解密芯片生产商生成广义密钥源数据GYY的方式完全相同,再考虑到广义密钥源数据的数量巨大,完全可以保证服务端只将广义密钥使用一次即丢弃。于是,对服务商协助通信信息的加密完全可以做的一次一密,也就是说,该通信系统中仅需要保证会话广义密钥源数据HGYY不能被其他人获取即可。For the server-assisted information encryption communication system, after the calling end establishes communication with the called end, they use the session generalized key source data HGYY sent by the server to encrypt the session information. As long as the HGYY given by the service provider is for one-time use, then The session process still maintains the "one-time pad" method. The way the server generates HGYY is exactly the same as the way the encryption and decryption chip manufacturer generates the generalized key source data GYY given in Example 2, and considering the huge amount of generalized key source data, it can be guaranteed that the server only Generalized keys are used once and discarded. Therefore, the encryption of the communication information assisted by the service provider can be done as a one-time pad. That is to say, in the communication system, it is only necessary to ensure that the session generalized key source data HGYY cannot be obtained by others.
本实施例可依靠下列四个方面保证其广义密钥源数据不能被窃取:This embodiment can rely on the following four aspects to ensure that its generalized key source data cannot be stolen:
①服务端用专用机器生成的真随机数自动产生专用会话广义密钥源数据,此过程没有人介入,与实施例2中给加解密芯片写入预设广义密钥源数据的过程相同;①The server uses the true random number generated by a dedicated machine to automatically generate the dedicated session generalized key source data. This process is not involved in the process, which is the same as the process of writing the preset generalized key source data to the encryption and decryption chip in Embodiment 2;
②服务端用自主通信加密技术将会话广义密钥源数据HGYY发送给每一位会话参与者;②The server uses autonomous communication encryption technology to send the session generalized key source data HGYY to each session participant;
③会话都用服务端送来的一次性会话广义密钥源数据HGYY进行加密;③ The session is encrypted with the one-time session generalized key source data HGYY sent by the server;
④随着会话明文的改变,会话广义密钥不断在改变,其不可被获取性与实施例4给出的信息加密通信技术相同。④ With the change of the plaintext of the session, the generalized key of the session is constantly changing, and its inaccessibility is the same as the information encryption communication technology given in Embodiment 4.
服务端是能够获得HGYY,进而获得通信内容的唯一第三方,也是泄露会话广义密钥源数据HGYY的唯一结点。The server is the only third party that can obtain HGYY, and then obtain the communication content, and it is also the only node that leaks session generalized key source data HGYY.
实施例6.加解密芯片构成的“一对多”信息加密通信方式Embodiment 6. "One-to-many" information encryption communication method composed of encryption and decryption chips
实施例2所述的加解密芯片还可应用于“一对多”信息加密信道。由于一个加解密芯片写入的GYY占据的存储单元并不多,每平方厘米面积的集成电路可以容纳千余组GYY。于是可以构建一种隐藏了数千组广义密钥源数据的加密中心芯片。加密中心芯片包含的每组“广义密钥源数据”都能与一个小加解密芯片构成一个信息加密私有信道,则这些芯片在总体上构成“一对多”型信息加密信道。例如:加密中心芯片位于ATM机管理结点,各个小加解密芯片位于各个ATM机,则ATM机的通信保密性达到不可破解水平。若加密中心芯片位于网络交易中心,各个小加解密芯片位于个人手机端,则网络交易通信的安全性达到不可破解水平。The encryption and decryption chip described in Embodiment 2 can also be applied to "one-to-many" information encryption channels. Since the GYY written by an encryption and decryption chip does not occupy many storage units, an integrated circuit with an area of one square centimeter can accommodate more than a thousand sets of GYY. Therefore, an encryption center chip that hides thousands of sets of generalized key source data can be constructed. Each set of "generalized key source data" contained in the encryption center chip can form an information encryption private channel with a small encryption and decryption chip, and these chips generally form a "one-to-many" information encryption channel. For example: the encryption center chip is located at the ATM machine management node, and each small encryption and decryption chip is located in each ATM machine, so the communication confidentiality of the ATM machine reaches an unbreakable level. If the encryption center chip is located in the network transaction center, and each small encryption and decryption chip is located in the personal mobile phone, the security of network transaction communication will reach an unbreakable level.
实施例7.加解密芯片构成的“组内广播式”信息加密通信方式Embodiment 7. "Intra-group broadcast" information encryption communication method composed of encryption and decryption chips
若一组实施例2给出的加解密芯片的每个芯片中都包含有一组相同的GYY,则在这组GYY构成的信息加密信道中的通信对该组芯片都是开放信息,于是在该信息加密信道对于该组芯片可构成广播式通信,而对该组外的其它人仍然是信息加密通信。例如:一个单位(如一艘舰艇)内部的所有加解密芯片设置一个有共同广义密钥源数据的信息加密信道,该信道就会在该单位内表现为“信息无加密”状态,但对单位外的窃听者仍是信息加密状态。If a group of encryption and decryption chips provided in Embodiment 2 includes a group of identical GYYs in each chip, then the communication in the information encryption channel formed by this group of GYYs is all open information to the group of chips, so in this group of chips The information encryption channel can constitute a broadcast communication for this group of chips, while it is still an information encryption communication for other people outside the group. For example: if all the encryption and decryption chips inside a unit (such as a ship) set an information encryption channel with common generalized key source data, the channel will appear as "information without encryption" in the unit, but it will not be used outside the unit. The eavesdroppers are still in the state of information encryption.
实施例8.加解密芯片构成的“用户自建”信息加密通信方式Embodiment 8. "User-built" information encryption communication method composed of encryption and decryption chips
给每个芯片设定一个允许用户写入适量广义密钥源数据的存储区X0,并给芯片增设一个引脚ZDY。当ZDY和Yin都接高电平时,用户可以通过写入 数据通道依次写入自己拟定的多个Y(0)、多个f-f’重构码和多个F-F’重构码到增加的X0存储区。当ZDY接高电平,而Yin接低电平时,微程序将使用这部分用户拟定的GYY。当ZDY接低电平时,芯片恢复到正常状态。Set a storage area X0 for each chip that allows the user to write an appropriate amount of generalized key source data, and add a pin ZDY to the chip. When both ZDY and Yin are connected to high level, the user can write multiple Y(0), multiple f-f' reconstruction codes and multiple F-F' reconstruction codes to the Increased X0 memory area. When ZDY is connected to high level and Yin is connected to low level, the microprogram will use the GYY drawn up by this part of the user. When ZDY is connected to low level, the chip returns to normal state.
若用户A和用户B之间有信息加密私有信道Z1,用户B和用户C之间有信息加密私有信道Z2,则用户A、B和C可以通过信息加密私有信道Z1和Z2商定自己的预设密钥源数据,并写入X0,则三位用户之间自行建立起实用性的近似一次一密加密小组信道。If there is an information encrypted private channel Z1 between user A and user B, and an information encrypted private channel Z2 between user B and user C, then users A, B and C can agree on their own presets through the information encrypted private channel Z1 and Z2 Key source data, and write it into X0, then a practical approximate one-time pad encryption group channel will be established among the three users.
实施例9.判断信息加密信道安全性的方式Embodiment 9. The way of judging the security of the information encryption channel
通信一方不定时要求对方输入商定好的识别码,可判断信息加密信道是否安全。当对方的加解密芯片被窃、损坏、正常使用人与加解密芯片分离等意外事件发生时,寻求识别码的一方就不能按时收到正确的识别码,从而判断信道不安全。The communication party asks the other party to enter the agreed identification code from time to time, so as to judge whether the information encryption channel is safe or not. When the encryption and decryption chip of the other party is stolen, damaged, or the normal user is separated from the encryption and decryption chip, etc., the party seeking the identification code cannot receive the correct identification code on time, thus judging that the channel is not safe.
实施例10.加解密芯片构成的信息安全局域通信网Embodiment 10. An information security local area communication network composed of encryption and decryption chips
在网关或电话交换机内装置信息加密中心芯片,并有生成随机广义密钥源数据的能力,即可用服务端协助信息加密通信方式建立单位内部的安全通信局域网、电话和手机通信网。Install the information encryption center chip in the gateway or telephone exchange, and have the ability to generate random generalized key source data, that is, use the server to assist information encryption communication to establish a secure communication LAN, telephone and mobile communication network within the unit.
以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所做出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。The above are only preferred embodiments of the present invention, and are not intended to limit the implementation and protection scope of the present invention. For those skilled in the art, they should be able to realize that all equivalent replacements made by using the description and illustrations of the present invention The solutions obtained with obvious changes shall all be included in the protection scope of the present invention.

Claims (10)

  1. 一种加解密方法,其特征在于,包括一个加密过程、一个解密过程、一个预置加密部件重构码以及解密部件重构码过程、一个预置密钥派生部件重构码的过程、一个预置预设密钥过程和一个生成预约码的过程,所述加密部件重构码、解密部件重构码和密钥派生部件重构码都是可重构多值逻辑运算部件的重构码。An encryption and decryption method, characterized in that it includes an encryption process, a decryption process, a pre-configured encryption component reconfiguration code and decryption component re-configuration code process, a pre-set key derivation component re-configuration code process, a pre-set A process of setting a preset key and a process of generating a reservation code, the reconfiguration codes of the encryption part, the decryption part and the key derivation part are all reconfigurable codes of the reconfigurable multi-valued logic operation part.
    所述加密过程具体包括:The encryption process specifically includes:
    步骤A1:预先根据加密部件重构码设定本次使用的加密规则,并根据所述加密规则,以当前的明文段对应的加密密钥,对当前的所述明文段进行加密,得到相应的密文段;Step A1: Set the encryption rule used this time in advance according to the encryption component reconstruction code, and according to the encryption rule, use the encryption key corresponding to the current plaintext segment to encrypt the current plaintext segment to obtain the corresponding ciphertext segment;
    步骤A2:预先根据密钥派生部件重构码设定本次使用的加密密钥派生规则,并根据所述加密密钥派生规则,对当前的所述明文段以及对应的加密密钥进行处理,生成加密下一个所述明文段的加密密钥;Step A2: Set the encryption key derivation rule used this time in advance according to the reconfiguration code of the key derivation component, and process the current plaintext segment and the corresponding encryption key according to the encryption key derivation rule, generate an encryption key for encrypting the next said plaintext segment;
    所述解密过程具体包括:The decryption process specifically includes:
    步骤B1:预先根据对应于对端的所述加密部件重构码的解密部件重构码设定本次使用的解密规则,并根据所述解密规则,以当前的所述密文段对应的解密密钥,对当前的所述密文段进行解密,得到解密后的明文段;Step B1: Set the decryption rule used this time in advance according to the decryption component reconstruction code corresponding to the encryption component reconstruction code of the opposite end, and according to the decryption rule, use the decryption code corresponding to the current ciphertext segment key to decrypt the current ciphertext segment to obtain the decrypted plaintext segment;
    步骤B2:预先以设定当前加密密钥派生规则的密钥派生部件重构码设定本次使用的解密密钥派生规则,并根据所述解密密钥派生规则,对解密后的所述明文段以及对应的解密密钥进行处理,生成解密下一个密文段的解密密钥;Step B2: Pre-set the decryption key derivation rule used this time with the key derivation component reconstruction code that sets the current encryption key derivation rule, and according to the decryption key derivation rule, decrypt the decrypted plaintext segment and the corresponding decryption key to generate a decryption key for decrypting the next ciphertext segment;
    预置所述加密部件重构码以及所述解密部件重构码的过程,具体包括:The process of presetting the reconfiguration code of the encryption component and the reconfiguration code of the decryption component specifically includes:
    步骤C1:执行所述加密过程和所述解密过程之前,从重构码序列中,随机选出并保存多个所述加密部件重构码与对应的所述解密部件重构码组成的重构码配对,作为本次加密过程和解密过程使用的加密部件和解密部件重构码配对组;Step C1: before performing the encryption process and the decryption process, randomly select and save a plurality of reconstruction codes composed of the encryption component reconstruction codes and the corresponding decryption component reconstruction codes from the reconstruction code sequence Code pairing, as the encryption component and decryption component reconstruction code pairing group used in this encryption process and decryption process;
    步骤C2:获取对应于本次加密过程和解密过程使用的第一预约数,并根据所述第一预约数从所述加密部件和解密部件重构码配对组中提取并预置本次加密和解密过程使用的加密重构码和解密重构码;Step C2: Obtain the first reservation number corresponding to the current encryption process and decryption process, and extract and preset the encryption and decryption code pairing group of the encryption component and the decryption component according to the first reservation number Encrypted reconstruction code and decrypted reconstruction code used in the decryption process;
    预置所述密钥派生部件重构码的过程,具体包括:The process of presetting the reconfiguration code of the key derivation component specifically includes:
    步骤D1:执行所述加密过程和所述解密过程之前,从所述重构码序列中,随机选出多个所述密钥派生部件的重构码,作为本次加密过程和解密过程使用的密钥派生部件重构码组;Step D1: Before performing the encryption process and the decryption process, randomly select a plurality of reconstruction codes of the key derivation components from the reconstruction code sequence, as the encryption and decryption process used in this time The key derivation component reconstructs the code group;
    步骤D2:获取对应于本次加密和解密过程使用的第二预约数,并根据所述第二预约数从所述密钥派生部件重构码组中提取并预置本次使用的密钥派生部件的重构码;Step D2: Obtain the second reserved number corresponding to the current encryption and decryption process, and extract and preset the key derivation used this time from the reconfigured code group of the key derivation component according to the second reserved number refactoring code for the component;
    预置所述预设密钥的过程,具体包括:The process of presetting the preset key specifically includes:
    所述预设密钥用于加密第一个所述明文段,以及解密第一个所述密文段。The preset key is used to encrypt the first plaintext segment and decrypt the first ciphertext segment.
    步骤E1:执行所述加密过程和所述解密过程之前,从预设密钥序列中,随机选出多个所述预设密钥,作为本次加密过程和解密过程使用的预设密钥组;Step E1: before performing the encryption process and the decryption process, randomly select a plurality of the preset keys from the preset key sequence as the preset key group used in the encryption process and the decryption process ;
    步骤E2:获取对应于本次加密和解密过程使用的第三预约数,并根据所述第三预约数从所述预设密钥组中提取并设定本次使用的预设密钥;Step E2: Obtain the third reservation number corresponding to the current encryption and decryption process, and extract and set the preset key used this time from the preset key group according to the third reservation number;
    生成所述预约码的过程,具体包括:The process of generating the reservation code specifically includes:
    以本次使用的预约码所包含的多个预约数为初始值,对本次待加密的明文的多种符号排列分别进行计数,计数结果为新的多个预约数,将所有新预约数依序连接,组成下一次使用的所述预约码。Taking the multiple reservation numbers contained in the reservation code used this time as the initial value, count the various symbol arrangements of the plaintext to be encrypted this time, and the counting result is a new number of reservations, and calculate all the new reservation numbers according to sequence connection to form the reservation code used next time.
  2. 一种加解密装置,其特征在于,所述加解密装置包括用硬件构成的加密部件、解密部件和只读存储部件;An encryption and decryption device, characterized in that the encryption and decryption device includes an encryption component, a decryption component and a read-only storage component composed of hardware;
    所述加密部件包括:The encryption components include:
    加密器:预先以加密器重构码设定所述加密器的加密规则,并根据所述加密规则,以待加密明文中当前的明文段对应的加密密钥,对当前的所述明文段进行加密,得到对应的当前密文段;Encryptor: set the encryption rule of the encryptor in advance with the encryption device reconstruction code, and according to the encryption rule, use the encryption key corresponding to the current plaintext segment in the plaintext to be encrypted to perform encryption on the current plaintext segment Encrypt to get the corresponding current ciphertext segment;
    加密密钥派生器:预先以密钥派生器重构码设定所述加密密钥派生器的加密密钥派生规则,并根据所述加密密钥派生规则,对当前的所述明文段以及对应的加密密钥进行处理,生成加密下一个所述明文段的加密密钥;Encryption key derivation: set the encryption key derivation rules of the encryption key derivation with the key derivation reconstruction code in advance, and according to the encryption key derivation rules, the current plaintext segment and the corresponding The encryption key is processed to generate the encryption key for encrypting the next said plaintext segment;
    所述解密部件包括:The decryption components include:
    解密器:预先以与对端的所述加密器重构码配对的解密器重构码设定所述解密器的解密规则,并根据所述解密规则,以待解密密文中当前的密文段 对应的解密密钥,对当前的所述密文段进行解密,得到解密后的明文段;Decryptor: set the decryption rules of the decryptor in advance with the decryptor reconstruction code paired with the encryption reconstruction code of the opposite end, and according to the decryption rules, correspond to the current ciphertext segment in the ciphertext to be decrypted The decryption key is used to decrypt the current ciphertext segment to obtain the decrypted plaintext segment;
    解密密钥派生器:预先以设定当前加密密钥派生器的密钥派生器重构码来设定所述解密密钥派生器的解密密钥派生规则,并根据所述解密密钥派生规则,对所述解密后的明文段以及对应的解密密钥进行处理,生成解密下一个所述密文段的解密密钥。Decryption key derivation device: set the decryption key derivation rule of the decryption key derivation device in advance by setting the key derivation code of the current encryption key derivation device, and according to the decryption key derivation rule , processing the decrypted plaintext segment and the corresponding decryption key to generate a decryption key for decrypting the next ciphertext segment.
    所述只读存储部件,用于保存由加密器重构码、解码器重构码、密钥派生器重构码和预设密钥组成的广义密钥源数据,具体包括:The read-only storage component is used to save the generalized key source data composed of encryption device reconstruction code, decoder reconstruction code, key derivation device reconstruction code and preset key, specifically including:
    加密器重构码存储区,保存随机选出的多个加密器重构码;Encryptor reconstruction code storage area, storing a plurality of randomly selected encryption reconstruction codes;
    解密器重构码存储区,保存与随机选出的各个加密器重构码配对的解密器重构码;Decryptor reconstruction code storage area, storing the decryptor reconstruction code paired with each encrypted reconstruction code randomly selected;
    密钥派生器重构码存储区,保存随机选出的多个密钥派生器重构码;The key derivation code storage area stores multiple randomly selected key derivation codes;
    预设密钥存储区,保存随机选出的多个预设密钥。The preset key storage area stores multiple preset keys randomly selected.
  3. 根据权利要求2所述的一种加解密装置,其特征在于:还配套一个写入装置,每个加解密装置在投入使用前,用所述写入装置给加解密装置的只读存储部件烧录进去一组所述的广义密钥源数据,所述写入装置包括:A kind of encryption and decryption device according to claim 2, characterized in that: it is also equipped with a writing device, and each encryption and decryption device uses the writing device to burn the read-only storage part of the encryption and decryption device before it is put into use. Enter a set of generalized key source data, the writing device includes:
    第一烧录器,将从重构码序列中随机选出的多个所述加密器重构码,烧录进所述只读存储部件的加密器重构码存储区;The first burner burns a plurality of said encryptor reconfiguration codes randomly selected from the reconfiguration code sequence into the encryptor reconfiguration code storage area of said read-only storage unit;
    第二烧录器,将从重构码序列中选出的多个对应于所述加密器重构码的所述解密器重构码,烧录进所述只读存储部件的解密器重构码存储区;The second burner burns a plurality of decryptor reconfiguration codes selected from the reconfiguration code sequence corresponding to the encryptor reconfiguration code into the decryptor reconfiguration of the read-only storage unit code storage area;
    第三烧录器,将从所述重构码序列中随机选出的多个所述密钥派生器重构码,烧录进所述只读存储部件的密钥派生器重构码存储区;The third burner burns a plurality of reconfiguration codes randomly selected from the reconfiguration code sequence into the key derivation reconfiguration code storage area of the read-only storage unit ;
    第四烧录器,将从预设密钥序列中随机选出多个所述预设密钥,烧录进所述只读存储部件的预设密钥存储区。The fourth burner randomly selects a plurality of preset keys from the preset key sequence, and burns them into the preset key storage area of the read-only storage unit.
  4. 根据权利要求2所述的一种加解密装置,其特征在于,所述加密部件中包括多个循环计数器和一个预约码存储器,每次加解密过程开始前,所述加密部件从所述预约码存储器中读出本次加解密使用的预约码;The encryption and decryption device according to claim 2, wherein the encryption unit includes a plurality of cycle counters and a reservation code memory, and each time before the encryption and decryption process starts, the encryption unit starts from the reservation code Read out the reservation code used in this encryption and decryption from the memory;
    每个循环计数器都以本次使用的预约码中包含的对应预约数为初始值,对本次加密过程中的明文中的多种符号排列进行计数;每个所述循环计数器的最终计数值为对应的新预约数;所述新预约数用于从所述只读存储部件中选取下次加解密操作将使用的广义密钥源数据;Each cycle counter uses the corresponding reservation number contained in the reservation code used this time as an initial value to count the various symbol arrangements in the plaintext in this encryption process; the final count value of each cycle counter is The corresponding new reservation number; the new reservation number is used to select the generalized key source data to be used in the next encryption and decryption operation from the read-only storage unit;
    预约码存储器连接所有所述循环计数器的输出端,用于保存所述的多个循环计数器的计数结果依序连接组成的新预约码,所述新预约码用于为下次加解密操作提供各个预约数;The reservation code memory is connected to the output terminals of all the cycle counters, and is used to save the counting results of the plurality of cycle counters to form a new reservation code sequentially connected, and the new reservation code is used to provide each encryption and decryption operation for the next time. number of appointments;
    所述加密部件根据本次使用的第一预约数,从所述只读存储部件的加密器重构码存储区提取并预置本次使用的加密器重构码;根据本次使用的第二预约数,从所述只读存储部件的密钥派生器重构码存储区提取并预置本次使用的加密密钥派生器重构码;根据本次使用的第三预约数,从所述只读存储部件的预设密钥存储区提取并预置本次使用的加密预设密钥;According to the first reservation number used this time, the encryption part extracts and presets the encryption device reconstruction code used this time from the encryption device reconstruction code storage area of the read-only storage part; according to the second reservation number used this time Reservation number, extracting and presetting the encryption key derivation code used this time from the key derivation code storage area of the read-only storage part; according to the third reservation number used this time, from the The preset key storage area of the read-only storage part extracts and presets the encrypted preset key used this time;
    所述解密部件根据本次使用的所述第一预约数,从所述只读存储部件的解密器重构码存储区提取并预置本次使用的解密器重构码;根据本次使用的第二预约数,从所述只读存储部件的密钥派生器重构码存储区提取并预置本次使用的解密密钥派生器重构码;根据本次使用的第三预约数,从所述只读存储部件的预设密钥存储区提取并预置本次使用的解密预设密钥。The decryption component extracts and presets the decryptor reconstruction code used this time from the decryptor reconstruction code storage area of the read-only storage component according to the first reservation number used this time; The second reservation number is to extract and preset the decryption key derivation device reconstruction code used this time from the key derivation code storage area of the read-only storage part; according to the third reservation number used this time, from The preset key storage area of the read-only storage component extracts and presets the decryption preset key used this time.
  5. 一种加解密装置,其特征在于,所述加解密装置包括用软件构成的加密模块、解密模块和配置文件;An encryption and decryption device, characterized in that the encryption and decryption device includes an encryption module, a decryption module and a configuration file composed of software;
    所述加密模块包括:The encryption module includes:
    加密单元:预先以加密单元重构码设定所述加密单元的加密规则,并根据所述加密规则,以待加密明文中当前明文段对应的加密密钥,对当前的所述明文段进行加密,得到对应的当前密文段;Encryption unit: set the encryption rule of the encryption unit in advance with the encryption unit reconstruction code, and encrypt the current plaintext segment with the encryption key corresponding to the current plaintext segment in the plaintext to be encrypted according to the encryption rule , get the corresponding current ciphertext segment;
    加密密钥派生单元:预先以密钥派生单元重构码设定所述加密密钥派生单元的加密密钥派生规则,并根据所述加密密钥派生规则,对当前的所述明文段以及对应的加密密钥进行处理,生成加密下一个所述明文段的密钥;Encryption key derivation unit: set the encryption key derivation rules of the encryption key derivation unit in advance with the key derivation unit reconstruction code, and according to the encryption key derivation rules, the current plaintext segment and the corresponding The encryption key is processed to generate the key for encrypting the next said plaintext segment;
    所述解密模块包括:The decryption module includes:
    解密单元:预先以与对端的所述加密单元重构码配对的解密单元重构码设定所述解密单元的解密规则,并根据所述解密规则,以待解密密文中当前的密文段对应的解密密钥,对当前的所述密文段进行解密,得到解密后的明文段;Decryption unit: set the decryption rule of the decryption unit in advance with the decryption unit reconstruction code paired with the encryption unit reconstruction code of the opposite end, and according to the decryption rule, correspond to the current ciphertext segment in the ciphertext to be decrypted The decryption key is used to decrypt the current ciphertext segment to obtain the decrypted plaintext segment;
    解密密钥派生单元:预先以所述密钥派生单元重构码设定所述解密密钥派生单元的解密密钥派生规则,并根据所述解密密钥派生规则,对所述解密后的明文段以及对应的解密密钥进行处理,生成解密下一个所述密文段的解 密密钥;Decryption key derivation unit: set the decryption key derivation rule of the decryption key derivation unit with the reconfiguration code of the key derivation unit in advance, and according to the decryption key derivation rule, decrypt the decrypted plaintext segment and the corresponding decryption key to generate a decryption key for decrypting the next ciphertext segment;
    所述配置文件用于保存由加密单元重构码、解码单元重构码、密钥派生单元重构码和预设密钥组成的广义密钥源数据,具体包括:The configuration file is used to save generalized key source data composed of encryption unit reconstruction code, decoding unit reconstruction code, key derivation unit reconstruction code and preset key, specifically including:
    加密单元重构码文件段落:保存随机选出的多个加密单元重构码;Encryption unit reconfiguration code file paragraph: save multiple encryption unit reconfiguration codes randomly selected;
    解密单元重构码文件段落:保存与随机选出的各个加密单元重构码配对的解密单元重构码;Decryption unit reconstruction code file paragraph: save the decryption unit reconstruction code paired with each encryption unit reconstruction code randomly selected;
    密钥派生单元重构码文件段落:保存随机选出的多个密钥派生单元重构码;Key derivation unit reconfiguration code file paragraph: save multiple randomly selected key derivation unit reconfiguration codes;
    预设密钥文件段落,保存随机选出的多个预设密钥。Preset key file paragraph, save multiple preset keys randomly selected.
  6. 根据权利要求5所述的一种加解密装置,其特征在于,还包括一配套的写入装置,每个加解密装置在投入使用前,用所述写入装置给加解密装置的配置文件写入一组所述的广义密钥源数据,所述写入装置包括:An encryption and decryption device according to claim 5, characterized in that it also includes a supporting writing device, and each encryption and decryption device uses the writing device to write to the configuration file of the encryption and decryption device before it is put into use. Entering a set of generalized key source data, the writing means includes:
    第一写入单元:将从所述重构码序列中随机选出的多个所述加密单元重构码,写入配置文件的加密单元重构码文件段落;The first writing unit: write a plurality of encryption unit reconstruction codes randomly selected from the reconstruction code sequence into the encryption unit reconstruction code file paragraph of the configuration file;
    第二写入单元:将从重构码序列中选出的多个对应于所述加密单元重构码的所述解密单元重构码,写入所述配置文件的解密单元重构码文件段落;The second writing unit: write the multiple decryption unit reconstruction codes selected from the reconstruction code sequence corresponding to the encryption unit reconstruction codes into the decryption unit reconstruction code file paragraph of the configuration file ;
    第三写入单元:将从所述重构码序列中随机选出的多个所述密钥派生单元重构码,写入所述配置文件的密钥派生单元重构码文件段落;The third writing unit: write a plurality of key derivation unit reconstruction codes randomly selected from the reconstruction code sequence into the key derivation unit reconstruction code file paragraph of the configuration file;
    第四写入单元:将从所述预设密钥序列中随机选出多个所述预设密钥,写入配置文件的预设密钥文件段落。The fourth writing unit: randomly select a plurality of preset keys from the preset key sequence, and write them into the preset key file paragraph of the configuration file.
  7. 根据权利要求5所述的一种加解密装置,其特征在于,所述加密模块中包括多个循环计数变量和配置文件中包含一个预约码变量;The encryption and decryption device according to claim 5, wherein the encryption module includes a plurality of cycle count variables and the configuration file includes a reservation code variable;
    所述加密模块每次开始工作时,先读取配置文件中的预约码变量,得到本次加密过程使用的预约码,并把本次使用的预约码写入密文文件的指定位置;所述每个循环计数变量都以本次使用的预约码中包含的对应预约数为初始值,对本次加密过程中的明文中的多种符号排列进行计数;每个所述循环计数变量的最终计数值是对应的新预约数;新预约数用于从配置文件中选取下次加密操作将使用的广义密钥源数据;When the encryption module starts working at every turn, it first reads the reservation code variable in the configuration file, obtains the reservation code used in this encryption process, and writes the reservation code used this time into the specified position of the ciphertext file; Each cycle count variable uses the corresponding reservation number contained in the reservation code used this time as an initial value to count the various symbol arrangements in the plaintext in this encryption process; the final count of each cycle count variable The value is the corresponding new reservation number; the new reservation number is used to select the generalized key source data that will be used for the next encryption operation from the configuration file;
    所述配置文件中的所述预约码变量保存所述多个预约数连接组成的所述预约码,新预约码用于为下次加密操作提供各个预约数;The reservation code variable in the configuration file stores the reservation code formed by connecting the plurality of reservation numbers, and the new reservation code is used to provide each reservation number for the next encryption operation;
    所述加密模块根据本次使用的第一预约数,从所述配置文件的加密单元重构码文件段落提取并预置本次使用的加密单元重构码;根据本次使用的第二预约数,从所述配置文件的密钥派生单元重构码文件段落提取并预置本次使用的加密密钥派生单元重构码;根据本次使用的第三预约数,从所述配置文件的预设密钥文件段落提取并预置本次使用的加密预设密钥;According to the first reservation number used this time, the encryption module extracts and presets the encryption unit reconstruction code used this time from the encryption unit reconstruction code file paragraph of the configuration file; according to the second reservation number used this time , extract and preset the encryption key derivation unit reconstruction code used this time from the key derivation unit reconstruction code file paragraph of the configuration file; according to the third reservation number used this time, from the preset configuration file Set the key file paragraph to extract and preset the encryption default key used this time;
    所述解密模块每次开始工作时,先从密文文件的指定位置读得本次解密过程使用的预约码。根据本次使用的所述第一预约数,从所述配置文件的解密单元重构码文件段落提取并预置本次使用的解密单元重构码;根据本次使用的第二预约数,从所述配置文件的密钥派生单元重构码文件段落提取并预置本次使用的解密密钥派生单元重构码;根据本次使用的第三预约数,从所述配置文件的预设密钥文件段落提取并预置本次使用的解密预设密钥。When the decryption module starts to work each time, it first reads the reservation code used in the decryption process from the designated position of the ciphertext file. According to the first reservation number used this time, extract and preset the decryption unit reconstruction code used this time from the decryption unit reconstruction code file paragraph of the configuration file; according to the second reservation number used this time, from The key derivation unit reconstruction code file paragraph of the configuration file extracts and presets the decryption key derivation unit reconstruction code used this time; according to the third reservation number used this time, from the preset encryption code of the configuration file Extract the key file paragraph and preset the decryption default key used this time.
  8. 一种自主通信加密系统,包括通信对端的两个通信设备。其特征在于:每个所述通信设备上分别设置上述权利要求2-4中任意一项所述的加解密装置;An autonomous communication encryption system includes two communication devices at communication peers. It is characterized in that: the encryption and decryption device described in any one of the above-mentioned claims 2-4 is respectively set on each of the communication devices;
    所述通信设备之间构建一临时加密信道,用于传输所述密文;A temporary encrypted channel is constructed between the communication devices for transmitting the ciphertext;
    采用一预约码配置本次使用的所述加密器重构码、所述解密器重构码、所述派生重构码以及预设密钥;Using a reservation code to configure the encrypted device reconstruction code, the decryptor reconstruction code, the derived reconstruction code and the preset key used this time;
    所述自主通信加密系统包括:The autonomous communication encryption system includes:
    一发送单元,用于在其中一个所述通信设备结束通信时,发出预约码;A sending unit, configured to send out a reservation code when one of the communication devices ends communication;
    一接收单元,用于接收其中另一个所述通信设备返回的回送预约码;a receiving unit, configured to receive a callback reservation code returned by another communication device;
    一判断单元,用于判断所述预约码和所述回送预约码是否相同,并得到对应的判断结果;A judging unit, used to judge whether the reservation code and the callback reservation code are the same, and obtain a corresponding judgment result;
    一第一处理单元,连接所述判断单元,用于在所述判断结果表示所述预约码和所述回送预约码相同时,两个所述通信设备之间结束通信;A first processing unit, connected to the judging unit, used to terminate the communication between the two communication devices when the judging result indicates that the reservation code and the callback reservation code are the same;
    一第二处理单元,连接所述判断单元,用于在所述判断结果表示所述预约码和所述回送预约码不同时,控制所述发送单元再次发送所述预约码。A second processing unit, connected to the judging unit, for controlling the sending unit to send the reservation code again when the judgment result indicates that the reservation code is different from the callback reservation code.
  9. 一种协助通信加密系统,其特征在于,包括呼叫端、服务端以及被呼叫端,所述呼叫端和所述被呼叫端中分别包括如权利要求2-4中任意一项所述的加解密装置,所述服务端设置于所述呼叫端和所述被呼叫端之间;An assisted communication encryption system, characterized in that it includes a calling end, a server end, and a called end, and the calling end and the called end respectively include the encryption and decryption described in any one of claims 2-4. device, the server is set between the calling end and the called end;
    所述服务端包括:The server includes:
    一生成单元,用于生成多个预约密钥、加密器重构码、解密器重构码以及密钥派生器重构码;A generation unit, used to generate a plurality of reservation keys, encryption device reconstruction codes, decryptor reconstruction codes and key derivation device reconstruction codes;
    一呼叫单元,用于根据所述呼叫请求,向所述被呼叫端发送一组选定的预约密钥、加密器重构码、解密器重构码以及密钥派生器重构码;A calling unit, configured to send a set of selected reservation keys, encryptor reconfiguration codes, decryptor reconfiguration codes, and key derivation device reconfiguration codes to the called terminal according to the call request;
    一回铃单元,用于向所述呼叫端发送选定的所述预约密钥、加密器重构码、解密器重构码以及密钥派生器重构码;a ringback unit, used to send the selected reservation key, encryptor reconfiguration code, decryptor reconfiguration code and key derivation device reconfiguration code to the calling end;
    所述呼叫端和所述被呼叫端,根据所述预约密钥、加密器重构码、解密器重构码以及密钥派生器重构码,构建加密信道,以进行加密通信。The calling terminal and the called terminal construct an encrypted channel according to the reservation key, the reconfiguration code of the encryptor, the reconfiguration code of the decryptor and the reconfiguration code of the key derivation device, so as to perform encrypted communication.
  10. 一种静态信息加密系统,应用于上述权利要求5-7任意一项所述的加解密装置,其特征在于,包括一加密程序、一解密程序和一配置文件。A static information encryption system, applied to the encryption and decryption device according to any one of claims 5-7, characterized in that it includes an encryption program, a decryption program and a configuration file.
    所述加密程序,用于获取待加密的明文并进行加密生成密文,并将预约码包括在所述密文内进行传输和保存;The encryption program is used to obtain the plaintext to be encrypted and encrypt it to generate a ciphertext, and include the reservation code in the ciphertext for transmission and storage;
    所述解密程序,用于获取密文并根据所述预约码对所述密文进行解密。The decryption program is used to obtain ciphertext and decrypt the ciphertext according to the reservation code.
PCT/CN2021/110681 2021-07-15 2021-08-04 Encryption and decryption method and apparatus, and communication system WO2023284036A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110801365.4 2021-07-15
CN202110801365.4A CN113630386B (en) 2021-07-15 2021-07-15 Encryption and decryption method and device and communication system thereof

Publications (1)

Publication Number Publication Date
WO2023284036A1 true WO2023284036A1 (en) 2023-01-19

Family

ID=78379939

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/110681 WO2023284036A1 (en) 2021-07-15 2021-08-04 Encryption and decryption method and apparatus, and communication system

Country Status (2)

Country Link
CN (1) CN113630386B (en)
WO (1) WO2023284036A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365589A (en) * 1992-02-07 1994-11-15 Gutowitz Howard A Method and apparatus for encryption, decryption and authentication using dynamical systems
US5870470A (en) * 1996-02-20 1999-02-09 International Business Machines Corporation Method and apparatus for encrypting long blocks using a short-block encryption procedure
US20010031050A1 (en) * 2000-02-14 2001-10-18 Lateca Computer Inc. N.V. Key generator
CN101394268A (en) * 2008-09-12 2009-03-25 华南理工大学 Advanced ciphering system and method based on broad sense information field
CN106953875A (en) * 2017-04-26 2017-07-14 吉林大学珠海学院 Ordered encryption method based on multi-key cipher stream cipher
CN110298186A (en) * 2019-07-02 2019-10-01 北京计算机技术及应用研究所 A kind of non-key data encipher-decipher method based on dynamic reconfigurable crypto chip

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3923267B2 (en) * 1999-04-28 2007-05-30 富士ソフト株式会社 Random number generator and encryption system
JP3864675B2 (en) * 2000-03-09 2007-01-10 株式会社日立製作所 Common key encryption device
CN101436930A (en) * 2007-11-16 2009-05-20 华为技术有限公司 Method, system and equipment for distributing cipher key
CN101651538A (en) * 2009-09-04 2010-02-17 瑞达信息安全产业股份有限公司 Method for safe transmission of data based on creditable password module
CN101742492B (en) * 2009-12-11 2015-07-22 中兴通讯股份有限公司 Key processing method and system
CN107196760B (en) * 2017-04-17 2020-04-14 徐智能 Sequence encryption method of adjoint random reconstruction key with adjustability
CN108573176B (en) * 2018-03-22 2022-04-12 福建师范大学 Method and system for safely deleting data of mobile terminal encrypted by key derivation
CN108599930B (en) * 2018-04-02 2021-05-14 湖南国科微电子股份有限公司 Firmware encryption and decryption system and method
CN111722831B (en) * 2020-05-07 2024-03-19 中山大学 Encryption system and implementation method thereof
CN112615824B (en) * 2020-12-03 2021-12-24 清华大学 Anti-leakage one-time pad communication method and device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365589A (en) * 1992-02-07 1994-11-15 Gutowitz Howard A Method and apparatus for encryption, decryption and authentication using dynamical systems
US5870470A (en) * 1996-02-20 1999-02-09 International Business Machines Corporation Method and apparatus for encrypting long blocks using a short-block encryption procedure
US20010031050A1 (en) * 2000-02-14 2001-10-18 Lateca Computer Inc. N.V. Key generator
CN101394268A (en) * 2008-09-12 2009-03-25 华南理工大学 Advanced ciphering system and method based on broad sense information field
CN106953875A (en) * 2017-04-26 2017-07-14 吉林大学珠海学院 Ordered encryption method based on multi-key cipher stream cipher
US20190207745A1 (en) * 2017-04-26 2019-07-04 Zhuhai College Of Jilin University Sequential Encryption Method Based On Multi-Key Stream Ciphers
CN110298186A (en) * 2019-07-02 2019-10-01 北京计算机技术及应用研究所 A kind of non-key data encipher-decipher method based on dynamic reconfigurable crypto chip

Also Published As

Publication number Publication date
CN113630386A (en) 2021-11-09
CN113630386B (en) 2023-05-09

Similar Documents

Publication Publication Date Title
US3796830A (en) Recirculating block cipher cryptographic system
JP6307665B2 (en) System and method for non-reproducible communication session
EP0002389B1 (en) Multiple domain data communication
EP0002578B1 (en) Data communication method
US4386234A (en) Cryptographic communication and file security using terminals
CN109040090B (en) A kind of data ciphering method and device
US6259789B1 (en) Computer implemented secret object key block cipher encryption and digital signature device and method
US4238854A (en) Cryptographic file security for single domain networks
US4255811A (en) Key controlled block cipher cryptographic system
CN104540237B (en) Smart machine accesses the method and system of network
US9270462B2 (en) Method and system for conducting high speed, symmetric stream cipher encryption
CN104253684A (en) Encryption method and encryption device
CN107707347A (en) The backup method and device of user key, the introduction method and device of user key
JP2001522056A (en) Virtual matrix encryption (VME) and virtual key cryptography and apparatus
CN109714368B (en) Message encryption and decryption method and device, electronic equipment and computer readable storage medium
WO2019214069A1 (en) Method and apparatus for encrypted user communication on blockchain, and terminal device and storage medium
CN109698744B (en) Satellite networking session key negotiation method and device
CN108768636A (en) A method of restoring private key using multi-party collaboration
CN110636028A (en) Key generation device, encryption device, key generation and distribution system
WO2023284036A1 (en) Encryption and decryption method and apparatus, and communication system
US6301361B1 (en) Encoding and decoding information using randomization with an alphabet of high dimensionality
CN114444140A (en) Non-duplicable function application in memory
CN109428712A (en) Data Encrypt and Decrypt method and data Encrypt and Decrypt system
CN116073987A (en) Reliability design method of block cipher mode, cipher card and server
TW200418298A (en) Crypto-system with an inverse key evaluation circuit

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21949814

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE