WO2006098015A1 - データ変換装置及びデータ変換方法 - Google Patents
データ変換装置及びデータ変換方法 Download PDFInfo
- Publication number
- WO2006098015A1 WO2006098015A1 PCT/JP2005/004637 JP2005004637W WO2006098015A1 WO 2006098015 A1 WO2006098015 A1 WO 2006098015A1 JP 2005004637 W JP2005004637 W JP 2005004637W WO 2006098015 A1 WO2006098015 A1 WO 2006098015A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bit
- data conversion
- storage unit
- input
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7233—Masking, e.g. (A**e)+r mod n
- G06F2207/7242—Exponent masking, i.e. key masking, e.g. A**(e+r) mod n; (k+r).P
Definitions
- the present invention relates to a data conversion apparatus and a data conversion method.
- the encryption device and the decryption device in Patent Document 1 conceal data using masks a and b, and use the mask by removing the influence of these masks after encryption or decryption operations. , Got the data.
- the mask a and the mask b By using the mask a and the mask b in this way, prediction of internal data is prevented, and decoding by power analysis is difficult.
- Patent Document 1 Japanese Unexamined Patent Publication No. 2000-66585 (Page 7-13, Fig. 4)
- FIG. 21 is a diagram illustrating an example in which a difference in calculation delay for each bit affects power consumption.
- the difference in delay between input bits A and B affects the output bits of the AND gate.
- the greater the difference in input delay the easier it is for power changes to occur and the power consumption per unit time increases.
- An object of the present invention is, for example, to reduce the power consumption of computations related to data encryption or decryption and make power analysis difficult.
- the data conversion device of the present invention includes: In a data converter that converts data using a combination of multiple-bit operations, the power consumption per unit time can be reduced to the power consumption for parallel operations by processing the processing that allows multi-bit parallel operations with serial operations. It is characterized by being made smaller than.
- the data conversion device comprises:
- a first storage unit that stores a plurality of bits and outputs one bit at a time
- a second storage unit for storing other plural bits and outputting one bit at a time
- a calculation unit that calculates the bit output from the first storage unit and the bit output from the second storage unit, and stores the calculation result in the first storage unit.
- the data converter further includes:
- a selection unit that selects a type of calculation performed by the calculation unit is provided.
- the first storage unit and the second storage unit are shift registers.
- the data conversion device comprises:
- the data conversion device of the present invention provides:
- processing that can perform operations linked in the front-rear direction is performed by a separate operation by providing a storage unit between the previous operation and the subsequent operation.
- the feature is that the power consumption per unit time is smaller than the power consumption in the case of the calculation in which the front and back are connected.
- the storage unit stores all the bits included in the result of the previous calculation, and then gives all the bits to the subsequent calculation.
- the data conversion device comprises:
- It has a plurality of input ports for inputting the result of the previous calculation and a calculation unit for performing the subsequent calculation by the input of the plurality of input ports.
- the storage unit is provided in front of each input port of the arithmetic unit.
- the data conversion method of the present invention includes: In a data conversion method using a data conversion device that converts data by a combination of multi-bit operations,
- the power consumption per unit time is made smaller than the power consumption in the case of parallel computation by processing the processing capable of parallel calculation of multiple bits by serial computation.
- the data conversion method includes:
- the bit output from the first storage unit and the bit output from the second storage unit are calculated, and the calculated result is stored in the first storage unit.
- the data conversion method further includes:
- the type of calculation performed by the calculation unit is selected.
- the data conversion method includes:
- the data conversion method of the present invention includes:
- the data conversion method includes:
- the storage unit is provided in front of each input port of the arithmetic unit.
- the invention's effect [0021]
- the processing capable of parallel operation of multiple bits is processed by serial operation, so that the power consumption per unit time is smaller than the power consumption in the case of parallel operation. In addition, it becomes possible to make power analysis difficult.
- the first storage unit stores a plurality of bits and outputs the bits one by one
- the second storage unit stores the other plurality of bits and outputs the bits one by one
- the arithmetic unit Allows the first storage unit to be used efficiently by storing the result of computing the bits output from the first storage unit and the bits output from the second storage unit in the first storage unit. It becomes.
- the selection unit selects the type of calculation performed by the calculation unit, whereby the first storage unit and the second storage unit can be efficiently used.
- the first storage unit and the second storage unit are shift registers, it becomes possible to generate a unique state of power consumption.
- the processing that allows the concatenation of the operations in the front and back is processed by the operation separated by providing a storage unit between the previous operation and the subsequent operation. It is possible to make the power analysis difficult by reducing the per-unit power consumption compared to the power consumption in the case of the calculation of concatenating front and back.
- the output timing of the storage unit is adjusted by giving all bits to the subsequent calculation. It becomes possible.
- the calculation unit has a plurality of input ports for inputting the results of the previous calculation, and performs the subsequent calculation based on the input of the plurality of input ports, and the storage unit receives each input of the calculation unit By providing it before the port, it is possible to align the timing of multiple inputs to subsequent operations.
- a process capable of performing a multi-bit parallel operation is processed by a serial operation, thereby reducing the power consumption per unit time in the case of a parallel operation. Make power analysis difficult by making it smaller than consumption. It is possible to
- a plurality of bits are stored in the first storage unit included in the data conversion apparatus and output one bit at a time, and another plurality of bits are stored in the second storage unit and 1 bit is stored.
- the first storage unit is operated by calculating the bit output from the first storage unit and the bit output from the second storage unit, and storing the calculated result in the first storage unit. Part can be used efficiently.
- the first storage unit and the second storage unit can be selected by selecting the type of operation for calculating the bit output from the first storage unit and the bit output from the second storage unit. It is possible to efficiently use the second storage unit.
- m (m> l) bit input ⁇ ( ⁇ > 1) The processing capable of parallel operation of bit output is processed by m bit input 1 bit output serial operation, It becomes possible to adjust the output timing of each bit of the n-bit output.
- processing capable of performing concatenated operations is processed by a separate operation by providing a storage unit between the previous operation and the subsequent operation. By doing so, it is possible to make it difficult to analyze the power, which is smaller than the power consumption in the case of the calculation that concatenates the power consumption per unit time.
- the subsequent calculation is performed by inputting the plurality of input ports, and the storage unit is By providing it before each input port of the calculation unit, it is possible to align the timing of multiple inputs to subsequent calculations.
- FIG. 1 is a diagram showing an example of the appearance of a data conversion apparatus according to the following embodiment.
- the data converter 100 includes a system unit 910, a CRT (Cathode Ray Tube) display device 901, a keyboard (KZB) 902, a mouse 903, and a compact disc device.
- Device (CDD) 905, printer device 906, and scanner device 907 which are connected by a cable.
- the data conversion apparatus 100 is connected to the fax machine 932 and the telephone 931 via a cable, and is connected to the Internet 940 via a local area network (LAN) 942 and a gateway 941 !.
- LAN local area network
- FIG. 2 is a diagram illustrating an example of a hardware configuration of the data conversion apparatus according to the following embodiment.
- the data conversion apparatus 100 includes a CPU (Central Processing Unit) 911 that executes a program.
- CPU911 via ROM 912 ROM913, RA M914, communication board 915, CRT display device 901, K / B902, mouse 903, FDD (Flexible Disk Drive) 904, magnetic disk device 920, CDD905, printer device 906, Connected to the scanner device 907.
- CPU Central Processing Unit
- the RAM 914 is an example of a volatile memory.
- the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are examples of nonvolatile memories. These are examples of a storage device or a storage unit.
- the communication board 915 is connected to a fax machine 932, a telephone 931, a LAN 942, and the like.
- the communication board 915, the K / B 902, the scanner device 907, the FDD 904, and the like are examples of the input unit. Further, for example, the communication board 915, the CRT display device 901, and the like are examples of the output unit.
- the communication board 915 is not limited to the LAN 942, and may be directly connected to the Internet 940 or a WAN (Wide Area Network) such as ISDN (Integrated Services Digital Network).
- a WAN Wide Area Network
- ISDN Integrated Services Digital Network
- the data conversion apparatus 100 is connected to the Internet 940 or a WAN such as ISDN, and the gateway 941 is unnecessary.
- the magnetic disk device 920 stores an operating system (OS) 921, a window system 922, a program group 923, and a file group 924.
- the program group 923 is executed by the CPU 911, the OS 921, and the window system 922.
- the program group 923 stores a program for executing a function described as "part" in the description of the embodiment described below.
- Program to CPU911 Read and execute.
- the arrows in the flowcharts described in the following description of the embodiment mainly indicate data input / output.
- data is stored in the magnetic disk device 920, FD (Flexible Disk), optical disc, CD (compact disc), MD (mini disc), DVD (Digital Versatile Disk) and other recording media.
- FD Flexible Disk
- CD compact disc
- MD mini disc
- DVD Digital Versatile Disk
- it is transmitted through a signal line or other transmission medium.
- firmware stored in the ROM 913 may be realized by firmware stored in the ROM 913.
- firmware may be implemented by software alone, hardware alone, a combination of software and hardware, or a combination of firmware.
- a program that implements the embodiment described below includes a magnetic disk device 920, an FD (Flexible Disk), an optical disk, a CD (compact disk), an MD (mini disk), a DV D (Digital Versatile Disk), and the like.
- the recording may be performed using a recording apparatus using other recording media.
- DES Data Encryption Standard
- FIG. 3 is a diagram showing a round structure that is the basis of the DES operation.
- DES repeats this round 16 times to encrypt or decrypt 64-bit data.
- the round input is 64-bit data. This input data consists of upper 32 bits and lower
- n is a round number.
- Rn-1 is an input of a function called a force mixing function (MF) 201.
- Power mixing function 20 is an input of a function called a force mixing function (MF) 201.
- 1 is an n-round key (Kn).
- 32-bit data is output. [0056] Next, an exclusive OR operation 202 of the 32-bit output of the force mixing function 201 and Ln-1 is performed. The result is a 32-bit Rn. 32-bit Ln is the same as 32-bit Rn—1. 64-bit data combining these Ln and Rn is output as n rounds of output.
- FIG. 4 is a diagram showing details of the calculation process of the force mixing function (MF).
- 32-bit R is input to the force mixing function. Divide the bits of this block into 8 blocks of 6 bits each, allowing duplication. An exclusive OR operation 203 is performed between this and a 48-bit round key. This operation yields eight 6-bit blocks. For each of these blocks, eight 4-bit blocks can be obtained by performing substitution processing using a specified 6-bit input 4-bit output table called S-Box204. This 32-bit data is rearranged (the details of the rearrangement process are omitted) and output as a force mixing function.
- the 56 bits excluding the 8 bits of the norm are sorted and divided into two blocks of 28 bits R and L.
- One of these blocks is shown as “28-bit Key” in FIG.
- This “28-bit Key” register is rotated 1 bit or 2 bits to the left depending on the round.
- 24 bits of the rotated “28-bit Key” are rearranged according to the rules (P), and one 24 bits of Kn are obtained.
- the other 24 bits of Kn are obtained by the same process.
- “28—bit Key” can be rotated left again and rearranged to find Kn + 1.
- the block cipher algorithm is configured by combining exclusive OR, table processing, rearrangement t, and simple arithmetic elements.
- the block cipher is implemented and used in the form of HW (no one door) or SW (software). Data is concealed using devices, methods, and programs that implement block ciphers. I can. With cryptographic algorithms implemented as HW and SW, it is relatively easy to measure the power at the moment when HW and SW are operating. For example, a pattern that supplies power to a semiconductor chip is cut, an appropriate resistor is inserted therein, and the potential difference between both ends of the resistor can be measured with an oscilloscope or the like. From this measured power, various information can be extracted (for details, refer to the Internet: http: //Z/www.cryptography, com, resources, whitepapers / DPA—technical.html>). In the HW and SW that simply implemented the DES described above, Kn can be obtained by the method described in the above document by predicting the output value of the S-Box in the MF.
- a block cipher algorithm is configured by combining simple arithmetic elements such as exclusive OR, table processing, and rearrangement.
- simple arithmetic elements such as exclusive OR, table processing, and rearrangement.
- such an operation is implemented by configuring with a 1-bit output element.
- this embodiment can be applied not only to block cipher algorithms but also to other roaring algorithms.
- FIG. 6 is a diagram illustrating a basic form of the data conversion algorithm according to the present embodiment
- FIG. 7 is a diagram illustrating an example of the configuration of the data conversion apparatus according to the present embodiment.
- FIGS. 6 and 7 show a part of the encryption algorithm, and the algorithm of FIG. 6 is a basic form.
- the exclusive OR of the 32-bit key and the 32-bit input data is parallel-calculated to obtain 32-bit output data.
- a 32-bit key is stored in the key register 102
- 32-bit input data is stored in the input register 101.
- the exclusive OR of the 32-bit key and the 32-bit input data is calculated by the parallel calculator 103 and the calculation result is stored in the output register 104.
- this basic algorithm is implemented and calculated as in the algorithm of FIG.
- the key is stored in the 32-bit key shift register (second storage unit) 106, the input data is stored in the 32-bit input shift register (first storage unit) 105, and 1 bit each of the key and input data is serialized.
- the key shift register 106 performs a cyclic right shift. This 32 The 32-bit operation is completed by repeating the operation, and the final result is held in the input shift register 105.
- FIG. 8 is a flowchart showing an example of the operation of the data conversion apparatus according to the present embodiment.
- “+” indicates an exclusive OR operation.
- the data conversion apparatus first inputs 32-bit data to the input shift register 105 (step S101), and inputs a 32-bit key to the key shift register 106 (step S102).
- step S101 the input shift register 105 is shifted to the right by 1 bit (step S103), and 1 bit is output from the input shift register 105 (step S104).
- the bit output from the input shift register 1 05 is i.
- step S105 the key shift register 106 is shifted to the right by 1 bit (step S105), and 1 bit is output from the key shift register 106 (step S106).
- the bit output from the key shift register 106 is k.
- step S107 an exclusive OR of i and k is calculated by the serial calculator 107 (step S107), and the calculation result is input to the input shift register 105 (step S108). K is input to the key shift register 106 (step S109). Repeat steps S103 to S109 for 32 bits.
- serial computing unit 107 performs serial operation for each bit, but the above-described effect can be obtained even with 2-bit or 3-bit operation. is there.
- the power for realizing serial computation by the configuration of HW for example
- serial operation may be realized by the SW configuration.
- a shift register may be used, and the operation result of serial arithmetic unit 107 may be stored in another register that is stored in input shift register 105.
- the input shift register 105 and the key shift register 106 may be other types of registers than the shift register.
- processing capable of multi-bit parallel computation is processed by serial computation, so that power consumption per unit time is reduced by parallel computation. It is possible to make the power analysis difficult by reducing the power consumption compared to the case.
- the first storage unit stores a plurality of bits and outputs the bits one by one
- the second storage unit stores the other plurality of bits and outputs the bits one by one
- the arithmetic unit Allows the first storage unit to be used efficiently by storing the result of computing the bits output from the first storage unit and the bits output from the second storage unit in the first storage unit. It becomes.
- the first storage unit and the second storage unit are shift registers, it becomes possible to generate a unique state of power consumption.
- the data conversion method using the data converter is configured so that the power consumption per unit time can be reduced in parallel by processing a process capable of parallel calculation of multiple bits by serial calculation. It is possible to make the power analysis difficult by reducing the power consumption compared to the calculation.
- a plurality of bits are stored in the first storage unit included in the data conversion apparatus and output one bit at a time, and another plurality of bits are stored in the second storage unit and 1 bit is stored.
- Z The first storage unit by calculating the bit output from the first storage unit and the bit output from the second storage unit, and storing the calculated result in the first storage unit. Can be used efficiently.
- the apparatus according to the present embodiment is
- FIG. 9 is a diagram illustrating a basic form of the data conversion algorithm according to the present embodiment
- FIG. 10 is a diagram illustrating an example of the configuration of the data conversion apparatus according to the present embodiment.
- FIG. 9 and 10 show a part of the encryption algorithm, and the algorithm of FIG. 9 is a basic form. That is, the exclusive OR of the 32-bit input data and the 32-bit key is parallel-calculated, and then the logical OR of the data obtained by this operation and the other 32-bit key is parallel-calculated. Bit data is output.
- 32-bit input data is stored in the input register 108
- 32-bit keys are stored in the first key register 109
- other 32-bit keys are stored in the second key register 111 !.
- the exclusive OR of the 32-bit input data and the 32-bit key is calculated by the first parallel computing unit 110, and the OR of the operation result and the other 32-bit key is calculated by the second parallel operation. Calculated by the instrument 112.
- the operation result of the logical sum is stored in the output register 113.
- a temporary register 114 is provided between the exclusive OR and the logical OR to hold the data once, and then move from the previous operation to the subsequent operation.
- FIG. 11 is a flowchart showing an example of the operation of the data conversion apparatus according to the present embodiment.
- “+” indicates an exclusive OR operation
- “I” indicates an OR operation.
- the data conversion apparatus according to the present embodiment first inputs 32-bit data to input register 108 (step S201). Let the data input to the input register 108 be I. Then, a 32-bit key is input to the first key register 109 (step S202). Let K be the key entered in the first key register 109. Next, I is output from the input register 108 (step S203). Next, K is output from the first key register 109 (step S204). Then, the first parallel computing unit 110 computes the exclusive OR of I and K (step S205), and inputs the computation result to the temporary register 114 (step S206). The data input to temporary register 114 is ⁇ .
- the other 32-bit key is input to the second key register 111 (step S207).
- the key input to the second key register 111 is assumed to be K ′.
- ⁇ is output from the temporary register 114 (step S208).
- K ′ is output from the second key register 111 (step S209).
- the second parallel calculator 112 calculates a logical sum of ⁇ and ⁇ (step S210), and inputs the calculation result to the output register 113 (step S211).
- the order of some processes may be changed! Some processes may be executed in parallel with other processes. Further, the keys input to the first key register and the second key register may be the same key.
- a shift in processing time that differs for each calculation is received once by the register, and the timing is fixed. This has the effect of preventing the timing delay from propagating to the subsequent stage. If the timing is constant, the transient state (unstable state of the operation result that occurs until the final result is determined) associated with the operation can be reduced, and the power can be reduced. Such an effect makes power analysis difficult.
- the processing that can be performed in the front-rear operation is processed by the operation separated by providing a storage unit between the previous operation and the subsequent operation.
- the power consumption per unit time can be made smaller than the power consumption in the case of the calculation in which front and back are connected, making it difficult to analyze the power.
- the output timing of the storage unit is given by giving all the bits to the subsequent calculation. Can be adjusted.
- the data conversion method using the data conversion apparatus separates the processing capable of performing the concatenated operation by providing a storage unit between the previous operation and the subsequent operation.
- processing by calculation it becomes possible to make it difficult to analyze the power, which is smaller than the power consumption in the case of the calculation that concatenates the power consumption per unit time.
- the output of the storage unit is provided by giving all the bits to the subsequent calculation.
- the timing can be adjusted.
- the apparatus according to the present embodiment is
- a temporary register such as the temporary register 114 of FIG. 10 described in the second embodiment can be provided.
- FIG. 12 shows an example of the configuration of the data conversion apparatus according to the present embodiment.
- the input data is stored in a 32-bit input shift register (first storage unit) 115
- the key is a 32-bit first key shift register (second storage unit) 116 and a second key. It is stored in the shift register (second storage unit) 118.
- the first serial computing unit (arithmetic unit) 117 performs exclusive OR operation on each bit of the key and the input data
- the second serial computing unit (arithmetic unit) 119 comprises 1 bit each of the key and the input data. Is ORed.
- the first selector (selection unit) 120 selects between the first serial computing unit 117 and the second serial computing unit 119
- the second selector (selection unit) 121 is the first key.
- Shift register 116 and second key shift register 118 Select one of the following. As described above, in the present embodiment, the exclusive OR and the OR output are switched at the timing and input to the 32-bit shift register for input data. For the key, prepare the primary and secondary shift registers, switch at the timing, and input to the positive shift register of the key.
- FIG. 13 is a flowchart showing an example of the operation of the data conversion apparatus according to the present embodiment.
- “+” indicates an exclusive OR operation
- “I” indicates an OR operation.
- the data conversion apparatus first inputs 32-bit data to the input shift register 115 (step S301), and inputs a 32-bit key to the first key shift register 116 ( Step S302).
- the serial selector is selected by the first selector 120 (step S303).
- the first serial computing unit 117 is selected.
- the second selector 121 selects a key shift register (step S304).
- the first key shift register 116 is selected.
- the input shift register 115 is shifted right by 1 bit (step S305), and 1 bit is output from the input shift register 115 (step S306). Let the bit output from the input shift register 115 be i.
- the first key shift register 116 is shifted to the right by 1 bit (step S307), and 1 bit is output from the first key shift register 116 (step S308).
- the bit output from the first key shift register 116 is k.
- the exclusive OR of i and k is calculated by the first serial calculator 117 selected at step S303 (step S309), and the calculation result is input to the input shift register 115 (step S310).
- Step S304 Since the first key shift register 116 is selected in step S304 !, k is input to the first key shift register 116 (step S313). Step S305 also repeats step S313 for 32 bits. When the 32-bit exclusive OR serial operation ends, the process returns to step S303.
- the serial calculator is selected again by the first selector 120 (step S303).
- the second serial computing unit 119 is selected.
- the second selector 121 selects a key shift register (step S304).
- the second key shift register 118 is selected.
- the input shift register 115 is shifted right by 1 bit (step S305), and 1 bit is output from the input shift register 115 (step S306).
- Output from input shift register 115 Let i be the bit.
- the first key shift register 116 is shifted to the right by 1 bit (step S307), and 1 bit is output from the first key shift register 116 (step S308).
- the bit output from the first key shift register 116 is k.
- the second serial arithmetic unit 119 selected in step S303 calculates the logical sum of i and k (step S311), and inputs the calculation result to the input shift register 115 (step S312).
- step S304 Since the second key shift register 118 is selected in step S304, one bit is output from the second key shift register 118 (step S314). Let the bits output from the second key shift register 118 be Is input to the first key shift register 116 (step S315). Repeat steps S305 to S315 for 32 bits.
- step S309 and step S311 are actually executed.
- step S304 the key held by the key shift register selected by the second selector 121 in step S304 is not used in the immediately following operation.
- the first key shift register is used. It is input to 116 and used in the next 32-bit operation.
- the data converter may be configured so that the second selector 121 selects the output to the serial arithmetic unit as well as the key shift register power.
- the selection unit selects the type of calculation performed by the calculation unit, thereby efficiently connecting the first storage unit and the second storage unit. It can be used.
- the type of calculation for calculating the bit output from the first storage unit and the bit output from the second storage unit is also used. By selecting, it becomes possible to efficiently use the first storage unit and the second storage unit.
- FIG. 14 is a diagram illustrating a basic form of the data conversion algorithm according to the present embodiment
- FIG. 15 is a diagram illustrating an example of the configuration of the data conversion apparatus according to the present embodiment.
- FIG. 14 and 15 show a part of the encryption algorithm, and the algorithm of FIG. 14 is the basic form.
- the algorithm in Figure 14 shows an m-bit input and n-bit output table processing.
- m-bit input data is input to an m X n / recup table (m-bit input n-bit output parallel computing unit) 122, converted into n-bit output data, and output at a time.
- LUT represents a lookup table.
- this basic algorithm is implemented as shown in the algorithm of FIG. In other words, prepare m x 1 lookup table (m bit input 1 bit output serial calculator) 123 with m bit input and 1 bit output, and perform n table processing at different timings. Hold the output in a register.
- FIG. 16 corresponds to FIG. 14 above
- FIG. 17 corresponds to FIG. 15 above.
- each m X 1 look-up table 123 outputs one of the n bits output from the m X n look-up table 122.
- FIG. 18 is a flowchart showing an example of the operation of the data conversion apparatus according to the present embodiment.
- the data conversion apparatus inputs m-bit data to m X 1 look-up table 123 (step S401) and outputs 1 bit (step S402). This is repeated n times, and finally all outputs are stored in an n-bit register.
- table processing may be performed in memory, or without using memory,
- the processing capable of multi-bit parallel computation is processed by serial computation, thereby reducing the power consumption per unit time by parallel computation. It is possible to make the power analysis difficult by reducing the power consumption compared to the case.
- power consumption per unit time is reduced in parallel by performing serial calculation on a process capable of parallel calculation of a plurality of bits, according to a data conversion method using a data converter. It is possible to make the power analysis difficult by reducing the power consumption compared to the calculation.
- the apparatus according to the present embodiment is
- FIG. 19 is a diagram illustrating a basic form of the data conversion algorithm according to the present embodiment
- FIG. 20 is a diagram illustrating an example of the configuration of the data conversion apparatus according to the present embodiment.
- FIG. 19 and FIG. 20 show a circuit for implementing a part of the encryption algorithm, and the algorithm of FIG. 19 is a basic form.
- the circuits as shown in FIGS. 19 and 20 are circuits when logic becomes deep, such as table processing.
- FIG. 19 when a 6-bit input is input simultaneously, the input timing to the two input ports is shifted at the input of the AND gate (arithmetic unit) 125a. Further, the output timing of the AND gate (arithmetic unit) 125a is shifted from the output timing of the OR gate (arithmetic unit) 124b. Therefore, in FIG. 19, when a 6-bit input is input simultaneously, the input timing to the two input ports is shifted at the input of the AND gate (arithmetic unit) 125a. Further, the output timing of the AND gate (arithmetic unit) 125a is shifted from the output timing of the OR gate (arithmetic unit) 124b. Therefore, in FIG.
- a flip-flop (storage unit) 127 is provided in front of each input port of the XOR gate (arithmetic unit) 126a to adjust the input timing to each input port of the XOR gate (arithmetic unit) 126a.
- the circuit shown in FIG. 20 can be used, for example, as the m X 1 lookup table of FIG. 15 described in the fourth embodiment.
- a flip-flop 127c that receives the 1-bit output of the XOR gate (arithmetic unit) 126a may be provided.
- a flip-flop (not shown) may be provided in front of each input port of the AND gate 125a. Further, a flip-flop may be provided in front of each input port of all logic elements.
- processing capable of performing concatenated operations is processed by a separate operation by providing a storage unit between the previous operation and the subsequent operation.
- the power consumption per unit time can be made smaller than the power consumption in the case of the calculation in which front and back are connected, making it difficult to analyze the power.
- the calculation unit has a plurality of input ports for inputting the results of the previous calculation, and performs the subsequent calculation based on the input of the plurality of input ports, and the storage unit receives each input of the calculation unit.
- a process capable of performing a concatenated operation is performed by an operation in which a storage unit is provided between the previous operation and the subsequent operation.
- a storage unit is provided between the previous operation and the subsequent operation.
- a calculation unit having a plurality of input ports for inputting a result of a previous calculation is used to perform a subsequent calculation by inputting the plurality of input ports, and the storage unit is connected to each of the calculation units.
- the apparatus according to the present embodiment is
- FIG. 1 is a diagram showing an example of the appearance of a data conversion apparatus according to Embodiments 1 to 5.
- FIG. 2 is a diagram showing an example of a hardware configuration of a data conversion apparatus according to Embodiments 1 to 5.
- FIG. 3 is a diagram showing a round structure that is the basis of DES operations.
- FIG. 4 is a diagram showing details of calculation processing of a force mixing function (MF).
- FIG. 5 is a diagram showing round key generation processing.
- FIG. 6 is a diagram showing a basic form of a data conversion algorithm according to the first embodiment.
- FIG. 7 is a diagram showing an example of the configuration of the data conversion apparatus according to the first embodiment.
- FIG. 8 is a flowchart showing an example of the operation of the data conversion apparatus according to the first embodiment.
- FIG. 8 A diagram showing a basic form of a data conversion algorithm according to the second embodiment.
- FIG. 10 is a diagram showing an example of the configuration of the data conversion apparatus according to the second embodiment.
- FIG. 12 A diagram showing an example of the configuration of a data conversion apparatus according to the third embodiment.
- FIG. 13 is a flowchart showing an example of the operation of the data conversion apparatus according to the third embodiment.
- FIG. 14 shows a basic form of a data conversion algorithm according to the fourth embodiment.
- FIG. 16 A diagram showing a specific example of a basic form of a data conversion algorithm according to the fourth embodiment.
- FIG. 17 is a diagram showing a specific example of a data conversion algorithm according to the fourth embodiment.
- FIG. 18 is a flowchart showing an example of the operation of the data conversion apparatus according to the fourth embodiment.
- FIG. 19 shows a basic form of a data conversion algorithm according to the fifth embodiment.
- ⁇ 20 A diagram showing an example of a configuration of a data conversion apparatus according to the fifth embodiment.
- ⁇ 21 A diagram showing an example in which the difference in calculation delay for each bit affects the power consumption.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
Claims
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007507985A JP4700051B2 (ja) | 2005-03-16 | 2005-03-16 | 暗号装置及び暗号方法 |
| EP05720891.0A EP1860630B1 (en) | 2005-03-16 | 2005-03-16 | Data converting apparatus and data converting method |
| PCT/JP2005/004637 WO2006098015A1 (ja) | 2005-03-16 | 2005-03-16 | データ変換装置及びデータ変換方法 |
| CN2005800362270A CN101044535B (zh) | 2005-03-16 | 2005-03-16 | 数据变换装置以及数据变换方法 |
| US11/884,314 US7949807B2 (en) | 2005-03-16 | 2005-03-16 | Data conversion apparatus and data conversion method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2005/004637 WO2006098015A1 (ja) | 2005-03-16 | 2005-03-16 | データ変換装置及びデータ変換方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2006098015A1 true WO2006098015A1 (ja) | 2006-09-21 |
Family
ID=36991375
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2005/004637 Ceased WO2006098015A1 (ja) | 2005-03-16 | 2005-03-16 | データ変換装置及びデータ変換方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US7949807B2 (ja) |
| EP (1) | EP1860630B1 (ja) |
| JP (1) | JP4700051B2 (ja) |
| CN (1) | CN101044535B (ja) |
| WO (1) | WO2006098015A1 (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015212804A (ja) * | 2014-03-27 | 2015-11-26 | インテル・コーポレーション | 複数のハッシュ動作を効率的に実行する方法および装置 |
| CN108763982A (zh) * | 2018-05-30 | 2018-11-06 | 浙江矽微智能科技有限公司 | 一种适用于rfid阅读器的des加密解密装置 |
| US10148428B2 (en) | 2012-12-29 | 2018-12-04 | Intel Corporation | Instruction and logic to provide SIMD secure hashing round slice functionality |
| US10503510B2 (en) | 2013-12-27 | 2019-12-10 | Intel Corporation | SM3 hash function message expansion processors, methods, systems, and instructions |
| US10592245B2 (en) | 2014-09-26 | 2020-03-17 | Intel Corporation | Instructions and logic to provide SIMD SM3 cryptographic hashing functionality |
| US10623175B2 (en) | 2014-09-04 | 2020-04-14 | Intel Corporation | SM3 hash algorithm acceleration processors, methods, systems, and instructions |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100495961C (zh) | 2007-11-19 | 2009-06-03 | 西安西电捷通无线网络通信有限公司 | 一种基于分组密码算法的加密处理方法 |
| CN100581101C (zh) * | 2007-11-19 | 2010-01-13 | 西安西电捷通无线网络通信有限公司 | 一种基于分组密码算法的加密处理设备 |
| EP2259488A1 (en) * | 2008-03-25 | 2010-12-08 | Mitsubishi Electric Corporation | Encryption operation device, encryption operation program, and recording medium |
| US20100329450A1 (en) * | 2009-06-30 | 2010-12-30 | Sun Microsystems, Inc. | Instructions for performing data encryption standard (des) computations using general-purpose registers |
| CN101697116B (zh) * | 2009-10-27 | 2011-11-09 | 飞天诚信科技股份有限公司 | 数据变换方法及装置 |
| KR101646705B1 (ko) * | 2009-12-01 | 2016-08-09 | 삼성전자주식회사 | 에스-박스를 구현한 암호화 장치 |
| US10038550B2 (en) | 2013-08-08 | 2018-07-31 | Intel Corporation | Instruction and logic to provide a secure cipher hash round functionality |
| GB2524335A (en) * | 2014-03-22 | 2015-09-23 | Primary Key Associates Ltd | Methods and apparatus for resisting side channel attack |
| EP3424175B1 (en) | 2016-03-03 | 2024-02-21 | Cryptography Research, Inc. | Converting a boolean masked value to an arithmetically masked value for cryptographic operations |
| JP2018182429A (ja) * | 2017-04-06 | 2018-11-15 | 株式会社村田製作所 | データ変換装置 |
| US12476786B2 (en) * | 2023-12-05 | 2025-11-18 | Nxp B.V. | Statistical ineffective fault analysis protection of Sbox |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05265706A (ja) | 1992-03-17 | 1993-10-15 | Fujitsu Ltd | 演算装置 |
| JP2000066585A (ja) | 1998-08-20 | 2000-03-03 | Toshiba Corp | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
| US6466669B1 (en) | 1997-05-30 | 2002-10-15 | Mitsubishi Denki Kabushiki Kaisha | Cipher processor, IC card and cipher processing method |
| JP2004318670A (ja) | 2003-04-18 | 2004-11-11 | Fujitsu Ltd | 演算装置及び演算器 |
| EP1507247A1 (en) | 2002-05-23 | 2005-02-16 | Mitsubishi Denki Kabushiki Kaisha | Data conversion device and data conversion method |
| US20050055596A1 (en) | 2003-07-07 | 2005-03-10 | Jouji Abe | Cryptographic processing apparatus, cryptographic processing method and computer program |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5694143A (en) * | 1994-06-02 | 1997-12-02 | Accelerix Limited | Single chip frame buffer and graphics accelerator |
| US6510518B1 (en) * | 1998-06-03 | 2003-01-21 | Cryptography Research, Inc. | Balanced cryptographic computational method and apparatus for leak minimizational in smartcards and other cryptosystems |
| JP4596686B2 (ja) | 2001-06-13 | 2010-12-08 | 富士通株式会社 | Dpaに対して安全な暗号化 |
| JP4191915B2 (ja) * | 2001-08-30 | 2008-12-03 | 独立行政法人情報通信研究機構 | 変換装置、暗号化復号化システム、多段変換装置、プログラム、ならびに、情報記録媒体 |
| US7006021B1 (en) * | 2003-06-27 | 2006-02-28 | Cypress Semiconductor Corp. | Low power serializer circuit and method |
| US20050114710A1 (en) * | 2003-11-21 | 2005-05-26 | Finisar Corporation | Host bus adapter for secure network devices |
| US20060176241A1 (en) * | 2004-09-27 | 2006-08-10 | Sampsell Jeffrey B | System and method of transmitting video data |
-
2005
- 2005-03-16 JP JP2007507985A patent/JP4700051B2/ja not_active Expired - Fee Related
- 2005-03-16 CN CN2005800362270A patent/CN101044535B/zh not_active Expired - Fee Related
- 2005-03-16 WO PCT/JP2005/004637 patent/WO2006098015A1/ja not_active Ceased
- 2005-03-16 US US11/884,314 patent/US7949807B2/en not_active Expired - Fee Related
- 2005-03-16 EP EP05720891.0A patent/EP1860630B1/en not_active Expired - Lifetime
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05265706A (ja) | 1992-03-17 | 1993-10-15 | Fujitsu Ltd | 演算装置 |
| US6466669B1 (en) | 1997-05-30 | 2002-10-15 | Mitsubishi Denki Kabushiki Kaisha | Cipher processor, IC card and cipher processing method |
| JP2000066585A (ja) | 1998-08-20 | 2000-03-03 | Toshiba Corp | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
| EP1507247A1 (en) | 2002-05-23 | 2005-02-16 | Mitsubishi Denki Kabushiki Kaisha | Data conversion device and data conversion method |
| JP2004318670A (ja) | 2003-04-18 | 2004-11-11 | Fujitsu Ltd | 演算装置及び演算器 |
| US20050055596A1 (en) | 2003-07-07 | 2005-03-10 | Jouji Abe | Cryptographic processing apparatus, cryptographic processing method and computer program |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10148428B2 (en) | 2012-12-29 | 2018-12-04 | Intel Corporation | Instruction and logic to provide SIMD secure hashing round slice functionality |
| US10686591B2 (en) | 2012-12-29 | 2020-06-16 | Intel Corporation | Instruction and logic to provide SIMD secure hashing round slice functionality |
| US10503510B2 (en) | 2013-12-27 | 2019-12-10 | Intel Corporation | SM3 hash function message expansion processors, methods, systems, and instructions |
| JP2015212804A (ja) * | 2014-03-27 | 2015-11-26 | インテル・コーポレーション | 複数のハッシュ動作を効率的に実行する方法および装置 |
| US9912481B2 (en) | 2014-03-27 | 2018-03-06 | Intel Corporation | Method and apparatus for efficiently executing hash operations |
| US10623175B2 (en) | 2014-09-04 | 2020-04-14 | Intel Corporation | SM3 hash algorithm acceleration processors, methods, systems, and instructions |
| US11075746B2 (en) | 2014-09-04 | 2021-07-27 | Intel Corporation | SM3 hash algorithm acceleration processors, methods, systems, and instructions |
| US11128443B2 (en) | 2014-09-04 | 2021-09-21 | Intel Corporation | SM3 hash algorithm acceleration processors, methods, systems, and instructions |
| US12132821B2 (en) | 2014-09-04 | 2024-10-29 | Intel Corporation | SM3 hash algorithm acceleration processors, methods, systems, and instructions |
| US10592245B2 (en) | 2014-09-26 | 2020-03-17 | Intel Corporation | Instructions and logic to provide SIMD SM3 cryptographic hashing functionality |
| CN108763982A (zh) * | 2018-05-30 | 2018-11-06 | 浙江矽微智能科技有限公司 | 一种适用于rfid阅读器的des加密解密装置 |
| CN108763982B (zh) * | 2018-05-30 | 2021-07-09 | 无锡矽微智能科技有限公司 | 一种适用于rfid阅读器的des加密解密装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP1860630A1 (en) | 2007-11-28 |
| CN101044535A (zh) | 2007-09-26 |
| CN101044535B (zh) | 2011-06-15 |
| EP1860630B1 (en) | 2018-12-26 |
| US20080276106A1 (en) | 2008-11-06 |
| JP4700051B2 (ja) | 2011-06-15 |
| EP1860630A4 (en) | 2009-07-15 |
| JPWO2006098015A1 (ja) | 2008-08-21 |
| US7949807B2 (en) | 2011-05-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Morioka et al. | A 10-Gbps full-AES crypto design with a twisted BDD S-box architecture | |
| JP4700051B2 (ja) | 暗号装置及び暗号方法 | |
| Sklavos et al. | Architectures and VLSI implementations of the AES-proposal Rijndael | |
| US11018849B2 (en) | Hardware masked substitution box for the data encryption standard | |
| KR100610367B1 (ko) | 정보 누출 공격을 방지하기 위한 갈로아 필드 상의 곱셈방법 및 장치, 역변환 장치 그리고 aes 바이트 치환연산장치 | |
| KR100800468B1 (ko) | 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법 | |
| CN100511331C (zh) | 密码处理装置、密码处理方法及其计算机程序 | |
| JPH07104976A (ja) | 擬似乱数発生装置 | |
| CN112422272A (zh) | 一种防功耗攻击的aes加密方法及电路 | |
| CN110197076A (zh) | 一种sm4加密算法的软件优化实现方法 | |
| JPH09179726A (ja) | 擬似乱数発生装置 | |
| Wong et al. | Circuit and system design for optimal lightweight AES encryption on FPGA | |
| Singh et al. | An efficient hardware design and implementation of advanced encryption standard (AES) algorithm | |
| JP3940714B2 (ja) | 演算装置、および、暗号・復号演算装置 | |
| JP2002510058A (ja) | 2進データ・ブロックの暗号変換のための方法 | |
| EP1059760A1 (en) | Method for the block-encryption of discrete data | |
| Xiao et al. | Hardware design and analysis of block cipher components | |
| US20020172355A1 (en) | High-performance booth-encoded montgomery module | |
| RU2140716C1 (ru) | Способ криптографического преобразования блоков цифровых данных | |
| JPH1152850A (ja) | 暗号変換方法および装置 | |
| Rao et al. | FPGA implementation of combined AES-128 | |
| KR100316025B1 (ko) | 데이터 암호 표준 알고리즘을 이용한 암호 및 복호 장치 | |
| Hulle et al. | Compact Reconfigurable Architecture for Sosemanuk Stream Cipher | |
| KR20030087893A (ko) | 라운드 키의 온라인 계산 기능을 갖는 모듈화 구조의 AESRijndael 라운드 키 생성 회로 | |
| Sugawara et al. | A high-performance ASIC implementation of the 64-bit block cipher CAST-128 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 2007507985 Country of ref document: JP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 200580036227.0 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2005720891 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 11884314 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| NENP | Non-entry into the national phase |
Ref country code: RU |
|
| WWW | Wipo information: withdrawn in national office |
Country of ref document: RU |
|
| WWP | Wipo information: published in national office |
Ref document number: 2005720891 Country of ref document: EP |