US20010014154A1 - Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same - Google Patents
Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same Download PDFInfo
- Publication number
- US20010014154A1 US20010014154A1 US09/810,404 US81040401A US2001014154A1 US 20010014154 A1 US20010014154 A1 US 20010014154A1 US 81040401 A US81040401 A US 81040401A US 2001014154 A1 US2001014154 A1 US 2001014154A1
- Authority
- US
- United States
- Prior art keywords
- data
- cyclic shift
- conversion
- encrypting
- determining
- 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.)
- Abandoned
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 153
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000004891 communication Methods 0.000 title claims description 10
- 238000012545 processing Methods 0.000 claims abstract description 184
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 155
- 230000004044 response Effects 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims 4
- 238000010586 diagram Methods 0.000 description 16
- 230000014509 gene expression Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000009792 diffusion process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000017105 transposition Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/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
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2230/00—General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
- G10H2230/005—Device type or category
- G10H2230/015—PDA [personal digital assistant] or palmtop computing devices used for musical purposes, e.g. portable music players, tablet computers, e-readers or smart phones in which mobile telephony functions need not be used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/601—Broadcast encryption
Definitions
- the present invention relates to encryption/decryption techniques for encrypting/decrypting digital data transferred among computers, home-use-destined electric/electronic equipment and the like.
- the encryption/decryption technology is indispensably required for preventing or disenabling unauthorized or illegal copying of digital data.
- R[N+ 1] (( L[N] EOR R[N] ) ⁇ R[N] )+ S[N+ 1], where 1 ⁇ N ⁇ 2 r.
- Another object of the present invention is to provide method and system for decrypting the encrypted text.
- Yet another object of the present invention is to provide a data communication system in which the encrypting/decrypting conversion techniques taught by the invention are adopted.
- an encryption system or apparatus for generating a encrypted text data of a predetermined length as an encrypted block from a plain-text data and key or keys as inputted which apparatus includes:
- a cyclic shift processing sequence determining module for determining an order or sequence for the selection of the cyclic shift processing selecting module on the basis of data for determining the shift number selecting sequence.
- an encrypting conversion apparatus which receives as inputs thereto at least one key and plain-text data to thereby output encrypted text data
- apparatus can be implemented in hardware fashion or software fashion and includes a cyclic shift processing module for determining a shift number on the basis of data for determining a shift number selecting sequence, a module for dividing inputted plain-text data into first data and second data and setting the first data as data L[1] while setting the second data as data R[1], at least one stage of an encrypting conversion processing module for receiving as inputs thereto data L[N] and R[N] to thereby output data L[N+1] and data R[N+1], wherein the encrypting conversion processing module is so arranged as to perform at least once for the data L[N] a conversion processing by using the key and a cyclic shift processing by means of the cyclic shift processing module, respectively, to thereby generate data X and wherein a value derived from arithm
- the cyclic shift processing module may be so arranged as to include at least two different fixed cyclic shift processing modules each for performing cyclic shift by a fixed number of bits leftward or alternatively rightward, a cyclic shift processing selecting module for selecting the fixed cyclic shift processing module, and a cyclic shift processing sequence determining module for determining a selecting sequence for the cyclic shift processing selecting modules on the basis of data for determining the shift number selecting sequence.
- the data for determining the shift number selecting sequence may be generated on the basis of the aforementioned key.
- a decrypting conversion apparatus which receives as inputs thereto at least one key and encrypted text data to thereby output plain-text data
- apparatus can be implemented hardwarewise or softwarewise and includes a cyclic shift processing module for determining a shift number on the basis of data for determining a shift number selecting sequence, a module for dividing inputted encrypted text data into first data and second data and setting the first data as data L[1] while setting the second data as data R[1], at least one stage of a decrypting conversion module for receiving as inputs thereto data L[N] and R[N] to thereby output data L[N+1] and data R[N+1], wherein the decrypting conversion module is so arranged as to perform at least once for the data R[N] a conversion processing by using the key and a cyclic shift processing by means of the cyclic shift processing module, respectively, to thereby generate data X and wherein a value derived from arithmetic operation of the
- the cyclic shift processing module may be so arranged as to include at least two different fixed cyclic shift processing modules each for performing cyclic shift by a fixed number of bits leftward or alternatively rightward, a cyclic shift processing selecting module for selecting the fixed cyclic shift processing module, and a cyclic shift processing sequence determining module for determining a selecting sequence for the cyclic shift processing selecting -modules on the basis of data for determining the shift number selecting sequence.
- the data for determining the shift number selecting sequence may be generated on the basis of the aforementioned key.
- the cyclic shift can be dynamically controlled independent of the data for conversion, and the encrypting conversion as well as the decrypting conversion can be realized with highly enhanced randomness with a simple system configuration.
- FIG. 1 is a block diagram showing schematically and generally an arrangement of an encrypting conversion apparatus according to an embodiment of the present invention
- FIG. 2 is a block diagram showing in detail a configuration of an encryption unit shown in FIG. 1;
- FIG. 3 is a view for illustrating conversion processing performed at an N-th conversion stage shown in FIG. 2;
- FIG. 4 is a view showing relations between control signals G 1 , G 2 and G 3 and a cyclic shift number S in the processing shown in FIG. 3;
- FIG. 5 is a circuit diagram showing a circuit configuration for realizing encrypting conversion through the processing shown in FIG. 3;
- FIG. 6 is a wiring diagram showing schematically structures of a leftward 2-bit cyclic shifter and a leftward 8-bit cyclic shifter shown in FIG. 5;
- FIG. 7 is a view for illustrating control for a multiplexer which is designed for switching the cyclic shifters shown in FIG. 5;
- FIG. 8 is a view for illustrating relations between initial values and internal statuses of a cyclic shift number generating circuit shown in FIG. 7;
- FIG. 9 is a diagram for illustrating in detail a circuit configuration of the cyclic shift number generating circuit shown in FIG. 7;
- FIG. 10 is a view for illustrating the effect of the cyclic shift for data diffusion (case #1) in the encrypting conversion process
- FIG. 11 is a view for illustrating the effect of the cyclic shift for data diffusion (case #2) in the encrypting conversion process
- FIG. 12 is a block diagram showing schematically a general arrangement of a decrypting conversion apparatus according to an embodiment of the invention.
- FIG. 13 is a block diagram showing a circuit arrangement for generating a data key from a plurality of work keys used in carrying out the invention
- FIG. 14 is a flow chart for illustrating processings when the present invention is carried out softwarewise
- FIG. 15 is a flow chart for illustrating an local variable initialize function incorporated in a cyclic shift generating module used in the conversion process shown in FIG. 14;
- FIG. 16 is a flow chart for illustrating cyclic shift and add function used in the conversion process shown in FIG. 14;
- FIG. 17 is a schematic block diagram illustrating a counterpart authenticity verifying scheme according to another embodiment of the invention.
- FIG. 18 is a block diagram showing a package contents distributing/circulating system according to a yet another embodiment of the present invention.
- FIG. 19 is a schematic view for illustrating an example of contents data which contains electronic transparent information
- FIG. 20 is a view showing schematically and illustratively another example of the contents data which contains electronic transparent information
- FIG. 21 is a view showing schematically and illustratively yet another example of the contents data which contains electronic transparent information
- FIG. 22 is a view showing a distributing/circulating system for contents according to still another embodiment of the present invention.
- FIG. 23 is a view for illustrating RC5 encryption algorithm known heretofore.
- FIG. 1 is a block diagram showing schematically and generally an arrangement of an encrypting conversion apparatus according to an embodiment of the present invention.
- a clear or plain text (C) 101 is inputted to an encryption unit 106 together with a work key (KA) 102 of 32 bits, a work key (KB) 103 of 32 bits and a work key (KG) 104 of 30 bits.
- KA work key
- KB work key
- KG work key
- M encrypted text
- the work key (KG) 104 may also be referred to as the algorithm key because this key serves for determining the algorithm to be realized in the encryption unit 106 .
- FIG. 2 is a block diagram showing in detail a configuration of the encryption unit 106 shown in FIG. 1.
- the plain-text (C) 101 of 64 bits inputted to the encryption unit 106 is separated or divided into more significant 32-bits data L[1] and least significant 32-bit data R[1], whereon both the data undergo repetitionally encrypting conversions at a first conversion stage 201 to a ten-th conversion stage 203 , respectively.
- both the finally obtained more significant 32-bit data L[11] and least significant 32-bit data R[11] undergone the encrypting conversions mentioned above are combined together, whereby the encrypted text (M) 105 is generated to be outputted from the encryption unit 106 .
- the encrypting conversion processing performed at a given or N-th conversion stage 202 is determined by control signals G 1 , G 2 and G 3 which are outputted from an N-th cyclic shift number generating stage 205 (where N represents an arbitrarily given natural number) to which 3-bit values KG ⁇ 3N ⁇ 1 ⁇ , KG ⁇ 3N ⁇ 2 ⁇ and KG ⁇ 3N ⁇ 3 ⁇ of the work key (KA) 102 , the work key (KB) 103 and the work key (KG) 104 , respectively, are inputted.
- KG ⁇ x ⁇ in general represents the x-th bit of the work key KG.
- FIG. 3 is a view for illustrating, by way of example only, the conversion processing performed at the N-th conversion stage 202 shown in FIG. 2.
- FIG. 4 is a view for illustrating operation involved in the conversion processing shown in FIG. 3. More specifically, FIG. 4 shows relations between the control signals G 1 , G 2 and G 3 and the cyclic shift number S.
- the encryption process according to the instant embodiment of the invention is realized by a transposition processing for effectuating the cyclic shift of concerned data itself and substitution processing including logic operation and arithmetic operation with other data.
- the processing contents illustrated in FIG. 3 will be described in order.
- FIG. 5 is a circuit diagram showing a circuit configuration of the N-th conversion stage 202 according to the instant embodiment of the invention as implemented in hardware.
- the circuit now under consideration is comprised of registers 601 , 603 and 611 , an adder 605 , an exclusive-OR circuit 612 , two-input multiplexers 602 and 607 , three-input multiplexers 604 and 606 , a leftward 2-bit cyclic shifter 608 , a leftward 8-bit cyclic shifter 609 and a leftward 14-bit cyclic shifter 610 .
- the data width is of 32 bits without exception.
- Execution of the conversion processings shown in FIG. 3 can be completed within six cycles by controlling the multiplexers 602 , 604 , 606 and 607 so that the processings designated by the reference numerals 301 to 306 in FIG. 3 can be realized.
- the three-input multiplexer 606 designed for switching the cyclic shifter is controlled by the control signals G 1 , G 2 and G 3 outputted sequentially from the N-th cyclic shift number generating stage 205 .
- FIG. 6 is a view showing schematically structures of the leftward 2-bit cyclic shifter 608 and the leftward 8-bit cyclic shifter 609 both of which can be realized by resorting to simple wired logic.
- FIG. 7 is a view for illustrating the control for the three-input multiplexer 606 which is designed for switching the cyclic shifter.
- the three-input multiplexer 606 receives as the input data thereto the 32-bit outputs from the leftward 2-bit cyclic shifter 608 , the leftward 8-bit cyclic shifter 609 and the leftward 14-bit cyclic shifter 610 , respectively. Further, the 2-bit control signals G 1 , G 2 and G 3 are inputted sequentially to the three-input multiplexer 606 .
- the three-input multiplexer 606 selects one input data from the three input data mentioned above to thereby output the selected data as the output value of 32 bits.
- the control inputs G 1 , G 2 and G 3 for the three-input multiplexer 606 are arithmetically determined by a cyclic shift number generating circuit 701 shown in FIG. 7. Parenthetically, the cyclic shift number generating circuit 701 corresponds to the cyclic shift number generating unit shown in FIG. 2.
- the cyclic shift number generating circuit 701 is implemented in the form of a sequencer circuit which can assume three internal statuses Q 0 , Q 1 and Q 2 .
- the internal statuses (Q 0 , Q 1 and Q 2 ) of the sequencer circuit constituting the cyclic shift number generating circuit 701 make state transitions in response to synchronizing signals as follows:
- the sequencer circuit can be represented by a ternary increment/decrement counter.
- the output values of the sequencer circuit are illustrated in a status transition diagram of the cyclic shift number generating circuit 701 shown in FIG. 7.
- FIG. 8 is a view for illustrating relations between the initial values P 1 and P 2 and the internal statuses. To say in another way, the initial values of the internal statuses are determined as shown in FIG. 8 when a signal LOAD is “high”.
- the cyclic shift number generating circuit 205 can be implemented in a simple circuit configuration.
- FIG. 9 is a circuit diagram of the cyclic shift number generating circuit. As is obvious for those skilled in the art, the circuit configuration shown in FIG. 9 is that of a ternary counter.
- FIGS. 10 and 11 illustrate the encrypting conversion processes in the encrypting conversion system according to the instant embodiment of the invention on the conditions that
- L[1] represents the more significant 32-bit data with R[1] representing the least significant 32-bit data
- sequences of the cyclic shifts are as follows:
- FIG. 12 is a block diagram showing schematically a general arrangement of a decrypting conversion apparatus according to the instant embodiment of the invention.
- inputted to a decryption unit 401 are an encrypted text (M) 105 of 64 bits, a work key (KA) 102 of 32 bits, a work key (KB) 103 of 32 bits and a work key (KG) 104 of 30 bits.
- a plain-text (C) 101 of 64 bits is outputted from the decryption unit 401 .
- the decryption unit 401 has a function of converting the inputted encrypted text to an original plain-text.
- the encrypting conversion processing at the N-the stage is stated as follows:
- the decrypting conversion processing at the N-th stage can be given by the following expressions:
- the decryption unit 401 can be realized by replacing the addition circuit 306 shown in FIG. 3 by a subtraction circuit. Further, at a given N-th decryption processing stage (where N represents a natural number), the inputs “R[N+1]” and “L[N+1]” are processed to be outputted as “R[N]” and “L[N]”. The decryption can be realized by repeating the above processing ten times at the respective decrypting stages.
- the cyclic shift encrypting conversion unit is so designed as to select three types of bit strings, i.e., leftward-shift-destined 2 bits, leftward-shift-destined 8 bits or leftward-shift-destined 14 bits with the work key KG (i.e., the data for determining the shift number selecting sequence). It is however noted that substantially same effects can be obtained by changing the number of bits to be shifted leftward or rightward as well as the number of different types of cyclic shift processings.
- the work key KG may be set previously and undergo no change or alternatively the work key KG may be altered on a period-by-period basis.
- the cyclic shift conversion unit may be so designed as to select leftward-shift-destined 2 bits, leftward-shift-destined 9 bits and leftward-shift-destined 19 bits. In this conjunction, such change of the bit strings to be shifted leftward or rightward can easily be realized simply by changing correspondingly the wired logic shown in FIG. 7 without involving any appreciable change in the circuit scale.
- a key generating unit 502 is designed to generate the work key KA, the work key KB and the work key KG from a data key (KD) 501 in such manners as defined below:
- Work key KA is generated by the addition of the more significant 32 bits and least significant 32 bits of the data key KD.
- KA data of work key #1 (32 bits)
- N counter value (8 bits)
- a plain-text C of 64 bits is divided into more significant 32-bit data which are substituted for (or set as) the encrypting conversion undergoing data L and the encrypting conversion undergoing data R, respectively.
- a counter value N is set to “ 1 ”.
- a returned value of an local variable initializing function INIT(KG, N) incorporated in the cyclic shift generating module is substituted for the internal status value Q of the cyclic shift generating module.
- the returned value of the local variable initializing function INIT(KG, N) incorporated in the cyclic shift is determined from the values of the work key (#2) KG ⁇ 3N ⁇ 3 ⁇ and the work key (#2) KG ⁇ 3N ⁇ 2 ⁇ in a processing step 1101 shown in FIG. 15.
- a fourth embodiment of the invention is directed to authentication of a counterpart. This embodiment will be described by referring to FIG. 17. It is assumed that an equipment (A) 1301 and an equipment (B) 1302 are interconnected through a network or an external bus 1303 and that the equipment (A) 1301 and the equipment (B) 1302 are home-use-destined electric/electronic equipment, personal computers or the like. Besides, it is presumed that each of encryption apparatuses 1304 and 1307 and each of decryption apparatuses 1305 and 1306 are implemented in the form of the encryption apparatus and the decryption apparatus described hereinbefore by reference to FIGS. 1 and 12, respectively. Now, description will be made of the authentication of the counterpart equipment in the system shown in FIG. 17.
- the equipment (B) 1302 generates a random number RB and transmits data RB ⁇ Text 1 to the equipment A, as indicated by reference numeral 1309 .
- “Text 1” represents auxiliary information
- the expression “X ⁇ Y” in general represents combination of “X” and “Y”.
- the equipment (A) 1301 generates data given by the undermentioned expression and sends it to the equipment (B) 1302 as indicated by an arrow 1308 .
- Token AB Text 3 ⁇ eKAB ( RA ⁇ RB ⁇ IB ⁇ Text 2)
- RA represents a random number generated by the equipment (A) 1301
- IB represents the identifier of the equipment (B) 1302
- Text 2 and “Text 3” represent auxiliary information
- eKAB(X) represents that “X” is encrypted with a shared secret key KAB common to both the equipment (A) 1301 and the equipment (B) 1302 .
- the equipment (B) 1302 generates data given by the undermentioned expression and sends it to the equipment (A) 1301 as indicated by an arrow 1310 .
- Token BA Text 5 ⁇ eKAB ( RB ⁇ RA ⁇ IA ⁇ Text 4)
- the equipment (A) 1301 Upon reception of the data “Token BA”, the equipment (A) 1301 decrypts the enciphered text portion to thereby confirm that both the random number RB received from the equipment (B) 1302 at the above-mentioned stage (1) and the random number RA sent to the equipment (B) 1302 at the above-mentioned stage (2) are contained in the data “Token BA”.
- the encryption apparatus as well as the decryption apparatus can enjoy the advantageous feature that the authenticity of the counterparts can be mutually confirmed.
- the auxiliary data or information Text 2 or Text 4 may be stored in the work key or data key.
- the data key or the work key can be shared by the equipment A and B with high security.
- FIG. 18 is a block diagram showing a package contents distributing/circulating system according to the instant embodiment of the invention.
- a contents provider 1401 registers copyright information at a copyright managing facility 1418 to obtain contents identification information (IDA) 1402 .
- the contents identification information (IDA) 1402 is embedded into the contents data 1403 by resorting to an electronic transparentizing technique (or so-called digital watermarking technique) which allows the identification information or the like to be contained in digital data in a hidden state, whereby package contents 1404 is finished.
- FIG. 19 is a schematic view illustrating the contents data contained in the package contents 1404 , wherein the contents identification information (IDA) 1402 is embedded as an electronic transparent information.
- FIG. 20 is a view showing schematically and illustratively the contents data transmitted along a path 1409 , which contains the contents identification information (IDA) 1402 and the user identification information (IDB) 1407 as the electronic transparent information.
- the encrypted data is decrypted by a decryption apparatus 1412 according to the invention by using key data (K) 1415 .
- K key data
- IC (integrated circuit) cards 1410 and 1417 may be employed for managing the user information and the key data.
- FIG. 21 is a view showing schematically and illustratively the contents data transmitted along a path 1416 , which contains the contents identification information (IDA) 1402 , the user identification information (IDB) 1407 and the user identification information (IDC) 1414 as the electronic transparent information.
- IC card 1417 may be employed for managing the user information and the key data.
- the copyright managing facility 1418 serves to monitor or supervise the data transferred via a network. Upon detection of the data not decrypted, the contents identification information IDA contained in the data is matched with the information contained in a copyright information managing database 1420 . When it is decided as the result of the matching that the data of concern is unauthorized copy, the copyright managing facility 1418 traces the latter back to the origin by making use of the user identification information and can impose penalty.
- FIG. 22 shows a distributing/circulating system for the digital contents via a broadcast system such as a digital satellite broadcasting or the like according to a sixth embodiment of the present invention.
- a contents provider 1401 registers copyright information at a copyright managing facility 1418 and obtains contents identification information (IDA) 1402 .
- the contents data having the contents identification information IDA embedded as electronic transparent information or watermark is sent to a broadcasting center 1801 and encrypted by means of an existing encryption apparatus 1802 to be subsequently broadcast toward home-use-destined electric/electronic equipment.
- the broadcast data as received is decrypted by means of an existing decryption apparatus 1803 .
- the home-use-destined electric/electronic equipment is equipped with an encryption apparatus 1406 incarnating the teachings of the present invention.
- the contents data is distributed or circulated in a manner similar to the case illustrated in FIG. 18.
Abstract
Encrypting/decrypting conversion method and apparatus capable of controlling dynamically cyclic shift independent of data to undergo encrypting/decrypting conversion includes two or more different fixed circulating shift processing means for shifting cyclically the data by a fixed bit number leftward or rightward, a cyclic shift processing selecting means for selecting fixed cyclic shift processing means. The selecting sequence determined by the cyclic shift processing means is determined on the basis of data for determining the shift number selecting sequence.
Description
- The present invention relates to encryption/decryption techniques for encrypting/decrypting digital data transferred among computers, home-use-destined electric/electronic equipment and the like.
- In the digital home-use-destined electric/electronic equipment promising further development in the future, the encryption/decryption technology is indispensably required for preventing or disenabling unauthorized or illegal copying of digital data.
- As the encryption technology known heretofore there has already been proposed what is known as the RC5 encryption algorithm in which data-dependent cyclic shift operation (also called end-around, circular or ring shift operation) is adopted, as is disclosed in R. L. Rivest: “The RC5 Encryption Algorithm”, FAST SOFTWARE ENCRYPTION, 2nd International Workshop, Springer-Verlag, (1995). The RC5 encryption algorithm is designed such that processed data length (i.e., the length of data to be processed) of w bits, secret key length of b bytes and processing round number r are variable. For having better understanding of the concept underlying the present invention, the RC5 encryption algorithm will be explained below in some detail.
- For the text data which has not undergone any encrypting conversion processing (hereinafter referred to simply as the plain-text data) and which is given by “L[0] and R[0]”, where L[0] represents more significant w/2 bits of the processed data length of w bits, and R[0] represents least significant w/2 bits thereof, there can be obtained through the RC5 encryption algorithm an encrypted text “L[2r+1], R[2r+1]” which can be derived through the procedure defined by the following expressions:
- L[1]=L[0]+S[0],
- R[1]=R[0]+S[0],
- L[N+1]=R[N], where 1≦N≦2r, and
- R[N+1]=((L[N] EOR R[N])<<<R[N])+S[N+1], where 1≦N≦2r.
- In the above expressions, the repetition represented by “1≦N≦2r” is illustrated for “N” in FIG. 23 of the accompanying drawings. In conjunction with the above definition, arithmetic expression “A+B” in general represents a remainder resulting from division of a sum of “A” and “B” by the x-th power of “2”, and operation symbol “EOR” represents an exclusive-OR on a bit-by-bit basis. Further, expression “x<<<y” in general represents arithmetic operation of shifting repetitionally “x” to the left (leftward shift) by least significant log(w) bits of “y”. According to the RC5 encryption algorithm, twice repetition of the arithmetic operation shown in FIG. 23 is referred to as one stage operation. The encrypted text can be generated by repeating the one-stage operation r times.
- Major features of the RC5 encrypting algorithm can be seen in that the length of the secret key is variable on a user-by-user basis and the cyclic shift can be varied or changed dynamically. However, because such algorithm structure is adopted that the dynamic change of the cyclic shift depends on the data for encryption the RC5 encryption algorithm suffers a drawback of not being sufficiently hard against the selective plain-text attack, one of the cryptanalysis methods. For more particulars in this respect, reference should be made to Lar R. Knudsen, Willi Meier: “IMPROVED DIFFERENTIAL CRYPTANALYSIS ON RC5”, Advances in Cryptology-CRYPTO '96, Springer-Verlag, 1996.
- In the light of the state of the art described above, it is an object of the present invention to provide encrypting conversion method and apparatus which are capable of controlling dynamically the cyclic shift independent of data for conversion and additionally capable of realizing the encrypting conversion with highly enhanced randomness with a simplified system configuration.
- Another object of the present invention is to provide method and system for decrypting the encrypted text.
- Yet another object of the present invention is to provide a data communication system in which the encrypting/decrypting conversion techniques taught by the invention are adopted.
- In view of the above and other objects which will become apparent as the description proceeds, there is provided an encryption system or apparatus for generating a encrypted text data of a predetermined length as an encrypted block from a plain-text data and key or keys as inputted, which apparatus includes:
- (1) at least two fixed cyclic shift processing modules for cyclically shifting data leftward or rightward,
- (2) a cyclic shift processing selecting module for selecting the fixed cyclic shift processing means, and
- (3) a cyclic shift processing sequence determining module for determining an order or sequence for the selection of the cyclic shift processing selecting module on the basis of data for determining the shift number selecting sequence.
- Thus, there is provided according to an aspect of the present invention an encrypting conversion apparatus which receives as inputs thereto at least one key and plain-text data to thereby output encrypted text data, which apparatus can be implemented in hardware fashion or software fashion and includes a cyclic shift processing module for determining a shift number on the basis of data for determining a shift number selecting sequence, a module for dividing inputted plain-text data into first data and second data and setting the first data as data L[1] while setting the second data as data R[1], at least one stage of an encrypting conversion processing module for receiving as inputs thereto data L[N] and R[N] to thereby output data L[N+1] and data R[N+1], wherein the encrypting conversion processing module is so arranged as to perform at least once for the data L[N] a conversion processing by using the key and a cyclic shift processing by means of the cyclic shift processing module, respectively, to thereby generate data X and wherein a value derived from arithmetic operation of the data R[N] and the data X is set as the data L[N+1] while the data L[N] being set as the data R[N+1], and a module for outputting a combination of two output data from a final stage of the encrypting conversion processing module as an encrypted text.
- In a mode for carrying out the invention, the cyclic shift processing module may be so arranged as to include at least two different fixed cyclic shift processing modules each for performing cyclic shift by a fixed number of bits leftward or alternatively rightward, a cyclic shift processing selecting module for selecting the fixed cyclic shift processing module, and a cyclic shift processing sequence determining module for determining a selecting sequence for the cyclic shift processing selecting modules on the basis of data for determining the shift number selecting sequence.
- In another mode for carrying out the invention, the data for determining the shift number selecting sequence may be generated on the basis of the aforementioned key.
- Further, according to another aspect of the present invention, there is provided a decrypting conversion apparatus which receives as inputs thereto at least one key and encrypted text data to thereby output plain-text data, which apparatus can be implemented hardwarewise or softwarewise and includes a cyclic shift processing module for determining a shift number on the basis of data for determining a shift number selecting sequence, a module for dividing inputted encrypted text data into first data and second data and setting the first data as data L[1] while setting the second data as data R[1], at least one stage of a decrypting conversion module for receiving as inputs thereto data L[N] and R[N] to thereby output data L[N+1] and data R[N+1], wherein the decrypting conversion module is so arranged as to perform at least once for the data R[N] a conversion processing by using the key and a cyclic shift processing by means of the cyclic shift processing module, respectively, to thereby generate data X and wherein a value derived from arithmetic operation of the data L[N] and the data X is set as the data R[N+1] while the data R[N] being set as the data L[N+1], and a module for outputting a combination of two output data from final stage of the encrypting conversion module as a plain-text.
- In a mode for carrying out the invention, the cyclic shift processing module may be so arranged as to include at least two different fixed cyclic shift processing modules each for performing cyclic shift by a fixed number of bits leftward or alternatively rightward, a cyclic shift processing selecting module for selecting the fixed cyclic shift processing module, and a cyclic shift processing sequence determining module for determining a selecting sequence for the cyclic shift processing selecting -modules on the basis of data for determining the shift number selecting sequence.
- In a further mode for carrying out the invention, the data for determining the shift number selecting sequence may be generated on the basis of the aforementioned key.
- By virtue of the arrangements described above, the cyclic shift can be dynamically controlled independent of the data for conversion, and the encrypting conversion as well as the decrypting conversion can be realized with highly enhanced randomness with a simple system configuration.
- The above and other objects, features and attendant advantages of the present invention will more easily be understood by reading the following description of the preferred embodiments thereof taken, only by way of example, in conjunction with the accompanying drawings.
- In the course of the description which follows, reference is made to the drawings, in which:
- FIG. 1 is a block diagram showing schematically and generally an arrangement of an encrypting conversion apparatus according to an embodiment of the present invention;
- FIG. 2 is a block diagram showing in detail a configuration of an encryption unit shown in FIG. 1;
- FIG. 3 is a view for illustrating conversion processing performed at an N-th conversion stage shown in FIG. 2;
- FIG. 4 is a view showing relations between control signals G1, G2 and G3 and a cyclic shift number S in the processing shown in FIG. 3;
- FIG. 5 is a circuit diagram showing a circuit configuration for realizing encrypting conversion through the processing shown in FIG. 3;
- FIG. 6 is a wiring diagram showing schematically structures of a leftward 2-bit cyclic shifter and a leftward 8-bit cyclic shifter shown in FIG. 5;
- FIG. 7 is a view for illustrating control for a multiplexer which is designed for switching the cyclic shifters shown in FIG. 5;
- FIG. 8 is a view for illustrating relations between initial values and internal statuses of a cyclic shift number generating circuit shown in FIG. 7;
- FIG. 9 is a diagram for illustrating in detail a circuit configuration of the cyclic shift number generating circuit shown in FIG. 7;
- FIG. 10 is a view for illustrating the effect of the cyclic shift for data diffusion (case #1) in the encrypting conversion process;
- FIG. 11 is a view for illustrating the effect of the cyclic shift for data diffusion (case #2) in the encrypting conversion process;
- FIG. 12 is a block diagram showing schematically a general arrangement of a decrypting conversion apparatus according to an embodiment of the invention;
- FIG. 13 is a block diagram showing a circuit arrangement for generating a data key from a plurality of work keys used in carrying out the invention;
- FIG. 14 is a flow chart for illustrating processings when the present invention is carried out softwarewise;
- FIG. 15 is a flow chart for illustrating an local variable initialize function incorporated in a cyclic shift generating module used in the conversion process shown in FIG. 14;
- FIG. 16 is a flow chart for illustrating cyclic shift and add function used in the conversion process shown in FIG. 14;
- FIG. 17 is a schematic block diagram illustrating a counterpart authenticity verifying scheme according to another embodiment of the invention;
- FIG. 18 is a block diagram showing a package contents distributing/circulating system according to a yet another embodiment of the present invention;
- FIG. 19 is a schematic view for illustrating an example of contents data which contains electronic transparent information;
- FIG. 20 is a view showing schematically and illustratively another example of the contents data which contains electronic transparent information;
- FIG. 21 is a view showing schematically and illustratively yet another example of the contents data which contains electronic transparent information;
- FIG. 22 is a view showing a distributing/circulating system for contents according to still another embodiment of the present invention; and
- FIG. 23 is a view for illustrating RC5 encryption algorithm known heretofore.
- The present invention will be described in detail in conjunction with what is presently considered as preferred or typical embodiments thereof by reference to the drawings.
-
Embodiment 1 - The encryption/decryption techniques according to the present invention will be described by reference to FIG. 1 which is a block diagram showing schematically and generally an arrangement of an encrypting conversion apparatus according to an embodiment of the present invention. Referring to FIG. 1, a clear or plain text (C)101 is inputted to an
encryption unit 106 together with a work key (KA) 102 of 32 bits, a work key (KB) 103 of 32 bits and a work key (KG) 104 of 30 bits. After enciphering or encrypting conversion, an encrypted text (M) 105 of 64 bits is outputted from theencryption unit 106. At this juncture, it should be mentioned that the work key (KG) 104 may also be referred to as the algorithm key because this key serves for determining the algorithm to be realized in theencryption unit 106. - FIG. 2 is a block diagram showing in detail a configuration of the
encryption unit 106 shown in FIG. 1. The plain-text (C) 101 of 64 bits inputted to theencryption unit 106 is separated or divided into more significant 32-bits data L[1] and least significant 32-bit data R[1], whereon both the data undergo repetitionally encrypting conversions at afirst conversion stage 201 to a ten-th conversion stage 203, respectively. Finally, both the finally obtained more significant 32-bit data L[11] and least significant 32-bit data R[11] undergone the encrypting conversions mentioned above are combined together, whereby the encrypted text (M) 105 is generated to be outputted from theencryption unit 106. The encrypting conversion processing performed at a given or N-th conversion stage 202 is determined by control signals G1, G2 and G3 which are outputted from an N-th cyclic shift number generating stage 205 (where N represents an arbitrarily given natural number) to which 3-bit values KG{3N−1}, KG{3N−2} and KG{3N−3} of the work key (KA) 102, the work key (KB) 103 and the work key (KG) 104, respectively, are inputted. Parenthetically, KG{x} in general represents the x-th bit of the work key KG. - FIG. 3 is a view for illustrating, by way of example only, the conversion processing performed at the N-
th conversion stage 202 shown in FIG. 2. Further, FIG. 4 is a view for illustrating operation involved in the conversion processing shown in FIG. 3. More specifically, FIG. 4 shows relations between the control signals G1, G2 and G3 and the cyclic shift number S. The encryption process according to the instant embodiment of the invention is realized by a transposition processing for effectuating the cyclic shift of concerned data itself and substitution processing including logic operation and arithmetic operation with other data. The processing contents illustrated in FIG. 3 will be described in order. - (1) An exclusive-OR (⊕) of “L(N)” (i.e., most significant 32-bit input data to the N-th conversion stage) and the work key KA is determined and denoted by “X1”. This corresponds to a
processing 301 shown in FIG. 3. Thus, theprocessing 301 can be expressed as follows: - X1=L[N] EOR KA
- At this juncture, it is presumed throughout the description that general arithmetic expression “A EOR B” represents an exclusive-OR of “A” and “B”.
- (2) On the basis of a 2-bit output value G1 derived at the N-th cyclic shift
number generating stage 205, the cyclic shift number S is determined in accordance with the relevant relation shown in FIG. 4. Subsequently, a value resulting from the leftward cyclic shift of the exclusive-OR X1 by the shift number S bits is added with “X1” and “1”. The sum obtained from this addition is represented by “X2”. This corresponds to the processing denoted byreference numeral 302 in FIG. 3. Expressing mathematically, - X2=(X1<<<S)+X1+1
- In this conjunction, it is presumed throughout the specification that the expression “A<<<B” in general represents that “A” undergoes cyclic shift by “B” bits leftwards. Equally, it is presumed throughout the description that the arithmetic expression “A +B” in general represents a remainder resulting from division of the result of addition of “A” and “B” by the 32nd power of “2”. This operation “A+B” will also be referred to simply as the addition.
- (3) On the basis of a 2-bit output value G2 derived at the N-th cyclic shift
number generating stage 205, the cyclic shift number S is determined in accordance with the relevant relation shown in FIG. 4. Subsequently, a value resulting from the leftward cyclic shift of “X2” by the shift number S bits is added with “X2”. The sum obtained from this addition is represented by “X3”. This corresponds to the processing denoted byreference numeral 303 in FIG. 3. Expressing mathematically, - X3=(X2<<<S)+X2
- (4) Addition between “X3” and the work key KB is performed, the result of which is represented by “X4”. This corresponds to the processing denoted by
reference numeral 304 in FIG. 3. Thus, expressing mathematically, X4 =X3 +KB - (5) On the basis of a 2-bit output value G3 derived from the N-th cyclic shift
number generating stage 205, the cyclic shift number S is determined in accordance with the relevant relation shown in FIG. 4. Subsequently, a value resulting from the leftward cyclic shift of “X4” by S bits is added with “X4”. The sum obtained from this addition is represented by “X5”. This corresponds to the processing denoted byreference numeral 305 in FIG. 3. Expressing mathematically, - X5=(X4<<<S)+X4
- (6) The result of the addition of “X5” and “R[N]” (i.e., least significant 32-bit input data to the N-th conversion stage) is outputted from the N-
th conversion stage 202 as the more significant 32-bit output data L[N+1]. This corresponds to the processing denoted byreference numeral 306 in FIG. 3. Expressing mathematically, - L[N+1]=X5+R[N]
- (7) The more significant 32-bit input data L[N] of the N-th conversion stage is converted to the least significant 32-bit output data R[N+1] of the N-
th conversion stage 202. This corresponds to the processing denoted byreference numeral 307 in FIG. 3. Expressing mathematically, - R[N+1]=L[N]
- When the encrypting conversion processings (1) to (5) described above are summarized in the form of a function “F(L[N], K, G)”, the processings performed at the N-
th conversion stage 202 can be stated as follows: - L[N+1]=R[N]+F(L[N], K, G)
- R[N+1]=L[N]
- In the foregoing, the encrypting conversion processings according to the invention have been described in detail.
- Next, description will be directed to a circuit configuration of the encrypting conversion apparatus.
- FIG. 5 is a circuit diagram showing a circuit configuration of the N-
th conversion stage 202 according to the instant embodiment of the invention as implemented in hardware. Referring to the figure, the circuit now under consideration is comprised ofregisters adder 605, an exclusive-OR circuit 612, two-input multiplexers input multiplexers cyclic shifter 608, a leftward 8-bitcyclic shifter 609 and a leftward 14-bitcyclic shifter 610. The data width is of 32 bits without exception. - Execution of the conversion processings shown in FIG. 3 can be completed within six cycles by controlling the
multiplexers reference numerals 301 to 306 in FIG. 3 can be realized. The three-input multiplexer 606 designed for switching the cyclic shifter is controlled by the control signals G1, G2 and G3 outputted sequentially from the N-th cyclic shiftnumber generating stage 205. - FIG. 6 is a view showing schematically structures of the leftward 2-bit
cyclic shifter 608 and the leftward 8-bitcyclic shifter 609 both of which can be realized by resorting to simple wired logic. - FIG. 7 is a view for illustrating the control for the three-
input multiplexer 606 which is designed for switching the cyclic shifter. Referring to the figure, the three-input multiplexer 606 receives as the input data thereto the 32-bit outputs from the leftward 2-bitcyclic shifter 608, the leftward 8-bitcyclic shifter 609 and the leftward 14-bitcyclic shifter 610, respectively. Further, the 2-bit control signals G1, G2 and G3 are inputted sequentially to the three-input multiplexer 606. In response to each of the control signals G1, G2 and G3, the three-input multiplexer 606 selects one input data from the three input data mentioned above to thereby output the selected data as the output value of 32 bits. At this juncture, it is to be mentioned that the relations between the output values of the three-input multiplexer 606 and the control inputs G1, G2 and G3, respectively, are such as defined in FIG. 4. The control inputs G1, G2 and G3 for the three-input multiplexer 606 are arithmetically determined by a cyclic shiftnumber generating circuit 701 shown in FIG. 7. Parenthetically, the cyclic shiftnumber generating circuit 701 corresponds to the cyclic shift number generating unit shown in FIG. 2. - The cyclic shift
number generating circuit 701 is implemented in the form of a sequencer circuit which can assume three internal statuses Q0, Q1 and Q2. When the input P0 is “0”, the internal statuses (Q0, Q1 and Q2) of the sequencer circuit constituting the cyclic shiftnumber generating circuit 701 make state transitions in response to synchronizing signals as follows: - Q0→Q1
- Q1→Q2
- Q2→Q0
- On the other hand, when the input P0 is “1”, the undermentioned status transitions take place.
- Q0→Q2
- Q1→Q0
- Q2→Q1
- Thus, the sequencer circuit can be represented by a ternary increment/decrement counter. The output values of the sequencer circuit are illustrated in a status transition diagram of the cyclic shift
number generating circuit 701 shown in FIG. 7. - The 3-bit data derived from the work key KG are employed as the input P0 as well as initial values P1 and P2, where P0, P1 and P2 are given as follows:
- P0=KG{3N−1}
- P1=KG{3N−2}
- P2=KG{3N−3}
- FIG. 8 is a view for illustrating relations between the initial values P1 and P2 and the internal statuses. To say in another way, the initial values of the internal statuses are determined as shown in FIG. 8 when a signal LOAD is “high”. Incidentally, the cyclic shift
number generating circuit 205 can be implemented in a simple circuit configuration. FIG. 9 is a circuit diagram of the cyclic shift number generating circuit. As is obvious for those skilled in the art, the circuit configuration shown in FIG. 9 is that of a ternary counter. - As will now be understood, according to the teachings of the present invention incarnated in the arrangement shown in FIG. 3, the encrypting conversion is carried out by combining the transposition processing realized by 2-bit, 8-bit and 14-bit leftward cyclic shift with the substitution processing, wherein the bit number for the cyclic shift at each stage is determined as shown in FIG. 4 on the basis of the values of the control signals G1, G2 and G3 which in turn are determined by the algorithm key KG, as can be seen in FIG. 2. Since the control signals G1, G2 and G3 at each stage assume mutually different values without exception, there can be conceived 6 (=3!) different orders or sequences for the cyclic shift operation. In the system according to the instant embodiment of the invention, it is assumed that ten encrypting conversion stages are provided. Consequently, the order or sequence for the cyclic shift operation is selected definitely from 6 10 (tenth power of six) types or varieties. Thus, it is safe to say that the encrypting conversion can be realized with very high randomness owing to the teachings of the invention.
- Next, in conjunction with the encrypting conversion illustrated in FIG. 3, the effect of the cyclic shift as exerted to the data diffusion will be examined. To this end, FIGS. 10 and 11 illustrate the encrypting conversion processes in the encrypting conversion system according to the instant embodiment of the invention on the conditions that
- KA=KB=0
- where KA and KB represent the work keys, respectively,
- L[1]=R[1]=0
- where L[1] represents the more significant 32-bit data with R[1] representing the least significant 32-bit data, and that the sequences of the cyclic shifts are as follows:
- Case #1 (FIG. 10): 2→8→14: at the first stage
- 2→14→8: at the second stage
- 8→2→14: at the third stage, and
- Case #2 (FIG. 11): 8→14→2: at the first stage
- 14→2→8: at the second stage
- 14→8→2: at the third stage
- The first bit “1” produced through the first-stage encrypting conversions4001 (FIG. 10) and 5001 (FIG. 11) and given by
- X2=(X1<<<S)+X1+1
- exerts influence to the median significant bit through the cyclic shift till the second-stage encrypting conversions4002 (FIG. 10) and 5002 (FIG. 11), and through the third-stage encrypting conversions 4003 (FIG. 10) and 5003 (FIG. 11), all the bits are diffused. Further, comparison of the
case # 1 with thecase # 2 shows that conversion to utterly different values is realized, which means that changes of the sequence of the cyclic shifts is effective for the data diffusion. - Now, description will turn to a decrypting conversion processing according to the instant embodiment of the invention.
- FIG. 12 is a block diagram showing schematically a general arrangement of a decrypting conversion apparatus according to the instant embodiment of the invention. Referring to the figure, inputted to a
decryption unit 401 are an encrypted text (M) 105 of 64 bits, a work key (KA) 102 of 32 bits, a work key (KB) 103 of 32 bits and a work key (KG) 104 of 30 bits. After the decrypting conversion performed for the encrypted text (M) 105, a plain-text (C) 101 of 64 bits is outputted from thedecryption unit 401. Needless to say, thedecryption unit 401 has a function of converting the inputted encrypted text to an original plain-text. As described previously, the encrypting conversion processing at the N-the stage is stated as follows: - L[N+1]=R[N]+F(L[N], K, G)
- R[N+1]=L[N]
- Accordingly, the decrypting conversion processing at the N-th stage can be given by the following expressions:
- R[N]L[N+1]−F(R[N+1], K, G)
- L[N]=R[N+1]
- At this juncture, it should be mentioned that throughout the specification, the arithmetic expression “A−B” in general represents a remainder resulting from division of the result of subtraction between “A” and “B” by the thirty-second power of “2”. Hereinafter, “A−B” will also be referred to simply as the subtraction. Thus, it will be understood that the
decryption unit 401 can be realized by replacing theaddition circuit 306 shown in FIG. 3 by a subtraction circuit. Further, at a given N-th decryption processing stage (where N represents a natural number), the inputs “R[N+1]” and “L[N+1]” are processed to be outputted as “R[N]” and “L[N]”. The decryption can be realized by repeating the above processing ten times at the respective decrypting stages. -
Embodiment 2 - A second embodiment of the present invention will be described.
- In the case of the encrypting conversion system according to the first -embodiment of the invention described hereinbefore by reference to FIG. 3, it has been assumed that the cyclic shift encrypting conversion unit is so designed as to select three types of bit strings, i.e., leftward-shift-destined 2 bits, leftward-shift-destined 8 bits or leftward-shift-destined 14 bits with the work key KG (i.e., the data for determining the shift number selecting sequence). It is however noted that substantially same effects can be obtained by changing the number of bits to be shifted leftward or rightward as well as the number of different types of cyclic shift processings. Besides, the work key KG may be set previously and undergo no change or alternatively the work key KG may be altered on a period-by-period basis. By way of example, the cyclic shift conversion unit may be so designed as to select leftward-shift-destined 2 bits, leftward-shift-destined 9 bits and leftward-shift-destined 19 bits. In this conjunction, such change of the bit strings to be shifted leftward or rightward can easily be realized simply by changing correspondingly the wired logic shown in FIG. 7 without involving any appreciable change in the circuit scale.
- Further, in conjunction with the encrypting conversion apparatus shown in FIG. 3, it has been assumed that the work key KA, the work key KB and the work key KG are handled as the independent keys. However, such scheme can equally be adopted in which these keys are generated from a single data key KD. An exemplary circuit configuration ta this end is shown in FIG. 13. Referring to the figure, a
key generating unit 502 is designed to generate the work key KA, the work key KB and the work key KG from a data key (KD) 501 in such manners as defined below: - 1) Work key KA is generated by the addition of the more significant 32 bits and least significant 32 bits of the data key KD.
- 2) Work key KB is generated by using the more significant 32 bits of the data key KD.
- 3) Work key KG is generated by using the least significant 30 bits of the work key KA.
-
Embodiment 3 - Next, referring to FIG. 14, description will be made of a third embodiment of the invention which is directed to realization of the teachings of the invention by resorting to software technique.
- In the instant embodiment of the invention, nine data mentioned below are used.
- L: data to undergo encrypting conversion (32 bits)
- R: data to undergo encrypting conversion (32 bits)
- KA: data of work key #1 (32 bits)
- KB: data of work key #1 (32 bits)
- KG: data of work key #2 (32 bits)
- Q: internal status value of cyclic shift generating module (8 bits)
- N: counter value (8 bits)
- X: data for the work (32 bits)
- S: data for the work (32 bits)
- Now, processing contents illustrated in FIG. 14 will be described in order.
- (1) In a
processing step 1001 shown in FIG. 14, a plain-text C of 64 bits is divided into more significant 32-bit data which are substituted for (or set as) the encrypting conversion undergoing data L and the encrypting conversion undergoing data R, respectively. - (2) In a
processing step 1002 shown in FIG. 14, a counter value N is set to “1”. - (3) In a
processing step 1003 shown in FIG. 14, a returned value of an local variable initializing function INIT(KG, N) incorporated in the cyclic shift generating module is substituted for the internal status value Q of the cyclic shift generating module. In the case of the instant embodiment of the invention, the returned value of the local variable initializing function INIT(KG, N) incorporated in the cyclic shift is determined from the values of the work key (#2) KG{3N−3} and the work key (#2) KG{3N−2} in aprocessing step 1101 shown in FIG. 15. - (4) Exclusive-OR of the encrypting conversion undergoing data L and the work key (#1) data KA is substituted for (or set as) the work-oriented data X in a
processing step 1004 shown in FIG. 14. - (5) In a
processing step 1005 shown in FIG. 14, the returned value S=FUNC(X, KG, N, Q) from the cyclic shift and add function is added with “1” and is substituted for (or set as) the work-oriented data X. - (6) In a
processing step 1006 shown in FIG. 14, the returned value S=FUNC(X, KG, N, Q) from the cyclic shift and add function is substituted for the work-oriented data X. - (7) The work-oriented data X is added with the work key (#1) KB data and substituted for the work-oriented data X in a
processing step 1007 shown in FIG. 14. - (8) In a
processing step 1008 shown in FIG. 14, the returned value S=FUNC(X, KG, N, Q) from the cyclic shift and add function is substituted for the work-oriented data X. - (9) The work-oriented data X is added with the encrypting conversion undergoing data R and substituted for (or set as) the work-oriented data X in a
processing step 1009 shown in FIG. 14. - (10) The encrypting conversion undergoing data L is substituted for the encrypting conversion undergoing data R in a
processing step 1010 shown in FIG. 14. - (11) The work-oriented data X is substituted for the encrypting conversion undergoing data L in a
processing step 1011 shown in FIG. 14. - (12) In a
processing step 1012 shown in FIG. 14, it is decided whether or not the counter value N is smaller than “10” inclusive. - (13) When it is decided in the
decision step 1012 that the counter value N is not greater than “10”, then the value of the counter value N is incremented by “1” (one) in aprocessing step 1013 shown in FIG. 14. Subsequently, theprocessing step 1003 is resumed. - (14) On the other hand, if the counter value N is greater than “10” in the
step 1012, then the encrypting conversion undergoing data L is combined with the encrypting conversion undergoing data R, the result of which is outputted as an encrypted text M. - The cyclic shift and the add function FUNC(X, KG, N, Q) are realized through the processings illustrated in a flow chart of FIG. 16. The contents of the processings shown in this figure will be described below.
- (1) On the basis of the internal status value Q, the leftward cyclic shift by 2 bits, by 8 bits or by 14 bits is performed for the work-oriented data X, the result of which is saved as the work-oriented data S in a
processing step 1201 shown in FIG. 16. - (2) Result of the addition of the work-oriented data S and the work-oriented data X is again saved as the work-oriented data S in a
processing step 1202. - (3) In case the value of the work-key (#2) data KG{3N−1} is “0”, the internal status value Q is updated to a value equal to a remainder resulting from division of the result of incrementation of the internal status value Q by “1”, whereas when the value of the work key (#2) data KG{3N−1} is “1”, the internal status value Q is updated to a value equal to a remainder resulting from division of the result of decrementation of the internal status value Q by “1” (
processing step 1203 in FIG. 16). - (4) The value of the work-oriented data S is substituted for the returned value in a
processing step 1204 shown in FIG. 16. - It is self-explanatory from the foregoing description that softwarewise decryption processings can be realized by replacing the
addition processing 1009 shown in FIG. 14 by the subtraction processing. In the foregoing, the embodiment of the invention which is directed to the softwarewise realization of the encryption processing and the decryption processing has been described. As can readily be understood, intelligent encryption processing can be realized with simple software structure. Accordingly, the teachings of the invention incarnated in the instant embodiment can easily be applied to the home-use-destined electric/electronic equipment. -
Embodiment 4 - A fourth embodiment of the invention is directed to authentication of a counterpart. This embodiment will be described by referring to FIG. 17. It is assumed that an equipment (A)1301 and an equipment (B) 1302 are interconnected through a network or an
external bus 1303 and that the equipment (A) 1301 and the equipment (B) 1302 are home-use-destined electric/electronic equipment, personal computers or the like. Besides, it is presumed that each ofencryption apparatuses decryption apparatuses - (1) Referring to FIG. 17, the equipment (B)1302 generates a random number RB and transmits data
RB∥Text 1 to the equipment A, as indicated byreference numeral 1309. At this juncture, it is to be noted that “Text 1” represents auxiliary information, and that the expression “X∥Y” in general represents combination of “X” and “Y”. - (2) The equipment (A)1301 generates data given by the undermentioned expression and sends it to the equipment (B) 1302 as indicated by an
arrow 1308. - Token AB=
Text 3∥eKAB(RA∥RB∥IB∥Text 2) - In the above expression, “RA” represents a random number generated by the equipment (A)1301, “IB” represents the identifier of the equipment (B) 1302, “
Text 2” and “Text 3” represent auxiliary information, and “eKAB(X)” represents that “X” is encrypted with a shared secret key KAB common to both the equipment (A) 1301 and the equipment (B) 1302. - (3) Upon reception of the data “Token AB”, the equipment (B)1302 decrypts the enciphered text portion to thereby confirm that the identifier IB as well as the random number RB sent-to the equipment A is correct.
- (4) The equipment (B)1302 generates data given by the undermentioned expression and sends it to the equipment (A) 1301 as indicated by an
arrow 1310. - Token BA=
Text 5∥eKAB(RB∥RA∥IA∥Text 4) - In the above expression, “
Text 4” and “Text 5” represent auxiliary information. - (5) Upon reception of the data “Token BA”, the equipment (A)1301 decrypts the enciphered text portion to thereby confirm that both the random number RB received from the equipment (B) 1302 at the above-mentioned stage (1) and the random number RA sent to the equipment (B) 1302 at the above-mentioned stage (2) are contained in the data “Token BA”.
- As is apparent from the above description in the paragraphs (1) to (5), the encryption apparatus as well as the decryption apparatus can enjoy the advantageous feature that the authenticity of the counterparts can be mutually confirmed. At this juncture, it should be added that the auxiliary data or
information Text 2 orText 4 may be stored in the work key or data key. In that case, the data key or the work key can be shared by the equipment A and B with high security. -
Embodiment 5 - Next, description will be made of a system for circulating or distributing package contents such as DVD-video or the like according to fourth embodiment of the present invention. FIG. 18 is a block diagram showing a package contents distributing/circulating system according to the instant embodiment of the invention.
- Referring to the figure, a
contents provider 1401 registers copyright information at acopyright managing facility 1418 to obtain contents identification information (IDA) 1402. The contents identification information (IDA) 1402 is embedded into thecontents data 1403 by resorting to an electronic transparentizing technique (or so-called digital watermarking technique) which allows the identification information or the like to be contained in digital data in a hidden state, wherebypackage contents 1404 is finished. FIG. 19 is a schematic view illustrating the contents data contained in thepackage contents 1404, wherein the contents identification information (IDA) 1402 is embedded as an electronic transparent information. - When the contents data contained in the
package contents 1404 is to be transferred from the home-use-destined electric/electronic equipment (B) 1405 to a personal computer (C) 1411, the user identification information (IDB) 1407 issued by thecopyright managing facility 1418 is embedded in thecontents data 1403 in the home-use-destined electric/electronic equipment (B) 1405, whereon thecontents data 1403 having the electronic transparent information embedded is encrypted with key data (K) 1408 by theencryption apparatus 1406 incarnating the teachings of the invention, to be outputted onto the external bus as the encrypted text data. FIG. 20 is a view showing schematically and illustratively the contents data transmitted along apath 1409, which contains the contents identification information (IDA) 1402 and the user identification information (IDB) 1407 as the electronic transparent information. - On the other hand, in the personal computer (C)1411 which receives the contents data from the home-use-destined electric/electronic equipment (B) 1405, the encrypted data is decrypted by a
decryption apparatus 1412 according to the invention by using key data (K) 1415. In the processing procedure described above, IC (integrated circuit)cards - When the contents data is to be transferred from the personal computer (C)1411 to the network, the user identification information (IDC) 1414 issued by the
copyright managing facility 1418 is embedded in the contents data as the electronic transparent information in the personal computer (C) 1411, whereon the contents data incorporating the electronic transparent information is encrypted with key data (K) 1415 by theencryption apparatus 1413 incarnating the teachings of the invention. FIG. 21 is a view showing schematically and illustratively the contents data transmitted along apath 1416, which contains the contents identification information (IDA) 1402, the user identification information (IDB) 1407 and the user identification information (IDC) 1414 as the electronic transparent information. In the processing procedure described above,IC card 1417 may be employed for managing the user information and the key data. - The
copyright managing facility 1418 serves to monitor or supervise the data transferred via a network. Upon detection of the data not decrypted, the contents identification information IDA contained in the data is matched with the information contained in a copyrightinformation managing database 1420. When it is decided as the result of the matching that the data of concern is unauthorized copy, thecopyright managing facility 1418 traces the latter back to the origin by making use of the user identification information and can impose penalty. - Embodiment 6
- FIG. 22 shows a distributing/circulating system for the digital contents via a broadcast system such as a digital satellite broadcasting or the like according to a sixth embodiment of the present invention. Referring to the figure, a
contents provider 1401 registers copyright information at acopyright managing facility 1418 and obtains contents identification information (IDA) 1402. The contents data having the contents identification information IDA embedded as electronic transparent information or watermark is sent to abroadcasting center 1801 and encrypted by means of an existingencryption apparatus 1802 to be subsequently broadcast toward home-use-destined electric/electronic equipment. In the home-use-destined electric/electronic equipment, the broadcast data as received is decrypted by means of an existing decryption apparatus 1803. In that case, the home-use-destined electric/electronic equipment is equipped with anencryption apparatus 1406 incarnating the teachings of the present invention. Thereafter, the contents data is distributed or circulated in a manner similar to the case illustrated in FIG. 18. - As is apparent from the above, it is possible to structurize a distribution/circulation system for digital contents by combining the encrypting conversion system according to the invention with the existing encrypting conversion system such as the digital satellite broadcasting system. In other words, the present invention can find application over a wide range of media such as package media, broadcasting media, communication media, etc.
- Finally, it should be added that the present invention provides encryption systems or schemes which ensure highly enhanced randomness.
Claims (27)
1. An encrypting conversion apparatus which receives as inputs thereto at least one key and plain-text data to thereby output encrypted text data, comprising:
cyclic shift processing means for determining a shift number on the basis of data for determining a shift number selecting sequence;
means for dividing inputted plain-text data into first data and second data and setting said first data as data L[1] while setting said second data as data R[1];
at least one stage of encrypting conversion processing means for receiving as inputs thereto data L[N] and R[N] to thereby output data L[N+1] and data R[N+1], said encrypting conversion processing means being so arranged as to perform at least once for said data L[N] a conversion processing by using said key and a cyclic shift processing by means of said cyclic shift processing means, respectively, to thereby generate data X, wherein a value derived from arithmetic operation of said data R[N] and said data X is set as said data L[N+1] while said data L[N] being set as said data R[N+1], and
means for outputting a combination of two output data from a final stage of said encrypting conversion processing means as an encrypted text.
2. An encrypting conversion apparatus according to ,
claim 1
wherein the data for determining said shift number selecting sequence is made to differ between at least two of said encrypting conversion processing means.
3. An encrypting conversion apparatus according to ,
claim 1
wherein said shift number is made to differ between at least two of said cyclic shift processing means.
4. An encrypting conversion apparatus which receives as inputs thereto at least one key and plain-text data to thereby output encrypted text data, comprising:
cyclic shift processing means for determining a shift number on the basis of data for determining a shift number selecting sequence;
said cyclic shift processing means including at least two different fixed cyclic shift processing means each for performing cyclic shift by a fixed number of bits leftward or alternatively rightward, cyclic shift processing selecting means for selecting said fixed cyclic shift processing means, and cyclic shift processing sequence determining means for determining a selecting sequence for said cyclic shift processing selecting means on the basis of data for determining said shift number selecting sequence;
means for dividing inputted plain-text data into first data and second data and setting said first data as data L[1] while setting said second data as data R[1];
at least one stage of encrypting conversion processing means for receiving as inputs thereto data L[N] and R[N] to thereby output data L[N+1] and data R[N+1], said encrypting conversion means being so arranged as to perform at least once for said data L[N] a conversion processing by using said key and a cyclic shift processing by means of said cyclic shift processing means, respectively, to thereby generate data X, wherein a value derived from arithmetic operation of said data R[N] and said data X is set as said data L[N+1] while said data L[N] being set as said data R[N+1], and
means for outputting a combination of two output data from a final stage of said encrypting conversion processing means as an encrypted text.
5. An encrypting conversion apparatus according to ,
claim 4
said cyclic shift sequence determining means being so arranged as to select at least two of said fixed cyclic shift processing means in accordance with the sequence determined by said cyclic shift sequence determining means;
said cyclic shift processing sequence determining means being so arranged as to determine the cyclic shift processing sequence which differs from one to another stage of said encrypting conversion processing means in response to input values of bit strings of the data, respectively, for thereby determining said shift number selecting sequence, said input values of said bit strings differing from one to another stage of said encrypting conversion processing means; and
said encrypting conversion processing means being so arranged as to perform block-based encrypting conversions which differ from one to another stage of said encrypting conversion processing means.
6. An encrypting conversion apparatus according to ,
claim 1
wherein said data for determining said shift number selecting sequence is generated on the basis of said key.
7. An encrypting conversion apparatus according to ,
claim 4
wherein said fixed cyclic shift processing means is constituted by a wired logic circuit.
8. An encrypting conversion apparatus according to ,
claim 4
wherein said cyclic shift processing selecting means is constituted by a multiplexer.
9. An encrypting conversion apparatus according to ,
claim 4
wherein said cyclic shift processing sequence determining means is implemented by a cyclic shift processing sequence generating circuit which makes internal status transition in response to a synchronizing signal by using said cyclic shift determining data as initial values of internal statuses and input signals for thereby outputting control input signals for said cyclic shift processing selecting means.
10. An encrypting conversion apparatus according to ,
claim 4
wherein said fixed cyclic shift processing means, said cyclic shift processing selecting means and said cyclic shift processing sequence determining means are each implemented softwarewise.
11. A decrypting conversion apparatus which receives as inputs thereto at least one key and encrypted text to thereby output plain-text data, comprising:
cyclic shift processing means for determining a shift number on the basis of data for determining a shift number selecting sequence;
means for dividing inputted encrypted text data into first data and second data and setting said first data as data L[1] while setting said second data as data R[1];
at least one stage of decrypting conversion means for receiving as inputs thereto data L[N] and R[N] to thereby output data L[N+1] and data R[N+1], said decrypting conversion means being so arranged as to perform at least once for said data R[N] a conversion processing by using said key and a cyclic shift processing by means of said cyclic shift processing means, respectively, to thereby generate data X, wherein a value derived from arithmetic operation of said data L[N] and said data X is set as said data R[N+1] while said data R[N] being set as said data L[N+1], and
means for outputting a combination of two output data from a final stage of said decrypting conversion means as a plain-text.
12. A decrypting conversion apparatus according to ,
claim 11
wherein said data for determining said shift number selecting sequence is made to differ between at least two of said decrypting conversion processing means.
13. A decrypting conversion apparatus according to ,
claim 11
wherein said shift number is made to differ between at least two of said cyclic shift processing means.
14. A decrypting conversion apparatus which receives as inputs thereto at least one key and encrypted text data to thereby output plain-text data, comprising:
cyclic shift processing means for determining a shift number on the basis of data for determining a shift number selecting sequence;
said cyclic shift processing means including at least two different fixed cyclic shift processing means each for performing cyclic shift by a fixed number of bits leftward or alternatively rightward, cyclic shift processing selecting means for selecting said fixed cyclic shift processing means, and cyclic shift processing sequence determining means for determining a selecting sequence for said cyclic shift processing selecting means on the basis of data for determining said shift number selecting sequence;
means for dividing inputted encrypted text data into first data and second data and setting said first data as data L[1] while setting said second data as data R[1];
at least one stage of decrypting conversion means for receiving as inputs thereto data L[N] and R[N] to thereby output data L[N+1] and data R[N+1], said decrypting conversion means being so arranged as to perform at least once for said data R[N] a conversion processing by using said key and a cyclic shift processing by means of said cyclic shift processing means, respectively, to thereby generate data X, wherein a value derived from arithmetic operation of said data L[N] and said data X is set as said data R[N+1] while said data R[N] being set as said data L[N+1], and
means for outputting a combination of two output data from final stage of said decrypting conversion means as a plain-text.
15. A decrypting conversion apparatus according to ,
claim 14
said cyclic shift sequence determining means being so arranged as to select at least two of said fixed cyclic shift processing means in accordance with the sequence determined by said cyclic shift sequence determining means;
said cyclic shift processing sequence determining means being so arranged as to determine the cyclic shift processing sequence which differs from one to another stage of said decrypting conversion processing means in response to input values of bit strings of the data, respectively, for thereby determining said shift number selecting sequence, said input values of said bit strings differing from one to another stage of said decrypting conversion processing means; and
said decrypting conversion processing means being so arranged as to perform block-based decrypting conversion processings which-differ from one to another stage of said decrypting conversion processing means.
16. A decrypting conversion apparatus according to ,
claim 11
wherein said data for determining said shift number selecting sequence is generated on the basis of said key.
17. A decrypting conversion apparatus according to ,
claim 14
wherein said cyclic shift processing sequence determining means is implemented by a cyclic shift processing sequence generating circuit which makes internal status transit in response to a synchronizing signal by using said cyclic shift determining data as initial values of internal statuses and input signals for thereby outputting a control input signal for said cyclic shift processing selecting means.
18. An encrypting conversion method of generating encrypted text data on the basis of at least one key and plain-text data as inputted, comprising the steps of:
performing a cyclic shift processing for determining a shift number on the basis of data for determining a shift number selecting sequence;
dividing inputted plain-text data into first data and second data and setting said first data as data L[1] while setting said second data as data R[1];
performing at least one encrypting conversion processing for data L[N] and R[N] inputted, to thereby output data L[N+1] and data R[N+1], said encrypting conversion processing being so arranged as to perform at least once for said data L[N] a conversion processing by using said key and a cyclic shift processing, respectively, to thereby generate data X, wherein a value derived from arithmetic operation of said data R[N] and said data X is set as said data L[N+1] while said data L[N] being set as said data R[N+1], and
outputting a combination of two output data from final stage of said encrypting conversion processing as an encrypted text.
19. A decrypting conversion method of generating plain-text data on the basis of at least one key and encrypted text data received as inputs, comprising the steps of:
performing a cyclic shift processing for determining a shift number on the basis of data for determining a shift number selecting sequence;
dividing inputted encrypted text data into first data and second data and setting said first data as data L[1] while setting said second data as data R[1];
performing at least one decrypting conversion processing for data L[N] and R[N] received as input to thereby output data L[N+1] and data R[N+1], said decrypting conversion processing being so arranged as to perform at least once for said data R[N] a conversion processing by using said key and a cyclic shift processing, respectively, to thereby generate data X, wherein a value derived from arithmetic operation of said data L[N] and said data X is set as said data R[N+1] while said data R[N] being set as said data L[N+1], and
outputting a combination of two output data from final stage of said decrypting conversion processing as a plain-text.
20. A data communication system in which a key encrypting key is previously set to be shared between two apparatuses A and B capable of communicating with each other,
said apparatus A generating a data key and then sending to said apparatus B data key encrypted with a key encrypting key, and
said apparatus B restoring original data by decrypting an encrypted text of the data key,
wherein encrypted text derived by encrypting plain-text data with said data key is transferred between said apparatus A and said apparatus B, for allowing encrypted communication to be performed between said apparatuses A and B to thereby derive the plain-text data by decrypting the received encrypted text with the data key.
21. A data communication system according to ,
claim 20
wherein said apparatus A includes means for preventing plain-text data from being sent externally of said apparatus A without performing encrypting conversion for said plain-text data.
22. A data communication system according to ,
claim 20
wherein said apparatus B includes means for preventing plain-text data derived through decrypting conversion of encrypted text data from being transmitted externally of said apparatus B.
23. A data communication system according to ,
claim 20
wherein said apparatus A or said apparatus B is arranged to communicate with another apparatus C, further comprising:
means for allowing said apparatus C to check whether or not data sent to said apparatus C from said apparatus A or said apparatus B has undergone encrypting conversion; and
means for sending a signal to other apparatus D indicating that said data has not undergone encrypting conversion processing unless said data has undergone the encrypting conversion processing.
24. A data communication system according to ,
claim 23
wherein when said apparatus D receives a signal indicating that said data has not undergone encrypting conversion, data to be sent from said apparatus D to said apparatus A is limited.
25. A data communication system according to ,
claim 20
said apparatus A or said apparatus B being so arranged to be capable-of communicating with another apparatus E,
wherein said apparatus E is so arranged as to send to said apparatus A an encrypted text #1 resulting from encryption of a plain-text data in accordance with an encryption scheme #1 to thereby obtain original plain-text data, whereon said plain-text data is again encrypted in accordance with an encryption scheme #2 differing from said encryption scheme #1 to thereby derive an encrypted text #2, whereon said encrypted text #2 is sent to said apparatus B.
26. A computer program for generating encrypted text data on the basis of at least one key and plain-text data as inputted, the computer program stored on a computer-readable medium comprising:
instructions for performing a cyclic shift processing for determining a shift number on the basis of data for determining a shift number selecting sequence;
instructions for dividing inputted plain-text data into first data and second data and setting said first data as data L[1] while setting said second data as data R[1];
instructions for performing at least one encrypting conversion processing for data L[N] and R[N] inputted, to thereby output data L[N+1] and data R[N+1], said encrypting conversion processing being so arranged as to perform at least once for said data L[N] a conversion processing by using said key and a cyclic shift processing, respectively, to thereby generate data X, wherein a value derived from arithmetic operation of said data R[N] and said data X is set as said data L[N+1] while said data L[N] being set as said data R[N+1], and
instructions for outputting a combination of two output data from final stage of said encrypting conversion processing as an encrypted text.
27. A computer program for generating plain-text data on the basis of at least one key and encrypted text data received as inputs, the computer program stored on a computer-readable medium comprising:
instructions for performing a cyclic shift processing for determining a shift number on the basis of data for determining a shift number selecting sequence;
instructions for dividing inputted encrypted text data into first data and second data and setting said first data as data L[1] while setting said second data as data R[1];
instructions for performing at least one decrypting conversion processing for data L[N] and R[N] received as input to thereby output data L[N+1] and data R[N+1], said decrypting conversion processing being so arranged as to perform at least once for said data R[N] a conversion processing by using said key and a cyclic shift processing, respectively, to thereby generate data X, wherein a value derived from arithmetic operation of said data L[N] and said data X is set as said data R[N+1] while said data R[N] being set as said data L[N+1], and instructions for outputting a combination of two output data from final stage of said decrypting conversion processing as a plain-text.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/810,404 US20010014154A1 (en) | 1997-08-07 | 2001-03-19 | Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21332797 | 1997-08-07 | ||
JP09-213327 | 1997-08-07 | ||
US09/130,529 US6606385B1 (en) | 1997-08-07 | 1998-08-04 | Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same |
US09/810,404 US20010014154A1 (en) | 1997-08-07 | 2001-03-19 | Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/130,529 Continuation US6606385B1 (en) | 1997-08-07 | 1998-08-04 | Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same |
Publications (1)
Publication Number | Publication Date |
---|---|
US20010014154A1 true US20010014154A1 (en) | 2001-08-16 |
Family
ID=16637327
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/130,529 Expired - Lifetime US6606385B1 (en) | 1997-08-07 | 1998-08-04 | Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same |
US09/810,404 Abandoned US20010014154A1 (en) | 1997-08-07 | 2001-03-19 | Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/130,529 Expired - Lifetime US6606385B1 (en) | 1997-08-07 | 1998-08-04 | Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same |
Country Status (3)
Country | Link |
---|---|
US (2) | US6606385B1 (en) |
EP (1) | EP0896452A3 (en) |
TW (1) | TW396704B (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040172543A1 (en) * | 2001-07-17 | 2004-09-02 | Katsuhiko Sato | Apparatus and method for generating data for detecting false alteration of encrypted data during processing |
US20050147252A1 (en) * | 2003-12-29 | 2005-07-07 | American Express Travel Related Services Company, Inc. | System and method for high speed reversible data encryption |
US20050152550A1 (en) * | 2004-01-08 | 2005-07-14 | Encryption Solutions, Inc. | System for transmitting encrypted data |
US20050152538A1 (en) * | 2004-01-08 | 2005-07-14 | Encryption Solutions, Inc. | Method of encrypting and transmitting data and system for transmitting encrypted data |
US20060004834A1 (en) * | 2004-06-30 | 2006-01-05 | Nokia Corporation | Dynamic shortcuts |
US20060045309A1 (en) * | 2004-06-14 | 2006-03-02 | Shan Suthaharan | Systems and methods for digital content security |
US20080040603A1 (en) * | 2004-01-08 | 2008-02-14 | Encryption Solutions, Inc. | Multiple level security system and method for encrypting data within documents |
GB2440992A (en) * | 2006-08-02 | 2008-02-20 | Farhad Dalvi | Encryption of an ordered first set of bits using rearrangement which depends on at least two encryption keys |
US20150121042A1 (en) * | 2011-08-26 | 2015-04-30 | Kabushiki Kaisha Toshiba | Arithmetic device |
CN111756518A (en) * | 2020-06-02 | 2020-10-09 | 杭州电子科技大学 | Color image encryption method based on memristor hyperchaotic system |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000041356A1 (en) * | 1998-12-30 | 2000-07-13 | Koninklijke Kpn N.V. | Method and device for cryptographically processing data |
JP2000305453A (en) * | 1999-04-21 | 2000-11-02 | Nec Corp | Ciphering device, deciphering device, and ciphering and deciphering device |
JP3701148B2 (en) | 1999-07-28 | 2005-09-28 | 株式会社日立製作所 | Content distribution method |
TW556111B (en) * | 1999-08-31 | 2003-10-01 | Toshiba Corp | Extended key generator, encryption/decryption unit, extended key generation method, and storage medium |
ATE359563T1 (en) * | 2000-03-20 | 2007-05-15 | Ibm | METHOD AND SYSTEM FOR REVERSIBLE MARKING OF A TEXT DOCUMENT WITH A SAMPLE OF ADDITIONAL SPACES FOR CERTIFICATION |
FR2814009B1 (en) * | 2000-09-14 | 2003-01-31 | Jean Roland Riviere | METHOD AND DEVICE FOR TRANSFORMING CONVOLUTIVE DATA AND VARIABLE OFFSETS, AND SYSTEMS IMPLEMENTING THE SAME |
US7170997B2 (en) | 2000-12-07 | 2007-01-30 | Cryptico A/S | Method of generating pseudo-random numbers in an electronic device, and a method of encrypting and decrypting electronic data |
DE10201441A1 (en) * | 2002-01-16 | 2003-08-14 | Infineon Technologies Ag | Pushing device and method for moving |
JP4986206B2 (en) * | 2006-02-22 | 2012-07-25 | 株式会社日立製作所 | Cryptographic processing method and cryptographic processing apparatus |
JP5710460B2 (en) * | 2011-12-16 | 2015-04-30 | 株式会社東芝 | Encryption key generation apparatus and program |
US11487858B2 (en) * | 2017-10-18 | 2022-11-01 | Visa International Service Association | Biometric data security system and method |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4255811A (en) * | 1975-03-25 | 1981-03-10 | International Business Machines Corporation | Key controlled block cipher cryptographic system |
US4731840A (en) | 1985-05-06 | 1988-03-15 | The United States Of America As Represented By The United States Department Of Energy | Method for encryption and transmission of digital keying data |
US4850019A (en) * | 1985-11-08 | 1989-07-18 | Nippon Telegraph And Telephone Corporation | Data randomization equipment |
EP0237805B1 (en) | 1986-02-19 | 1992-01-15 | Siemens Aktiengesellschaft | Method and arrangement for preventing the transmission of unciphered data |
US4797920A (en) | 1987-05-01 | 1989-01-10 | Mastercard International, Inc. | Electronic funds transfer system with means for verifying a personal identification number without pre-established secret keys |
JP2760799B2 (en) | 1988-04-28 | 1998-06-04 | 株式会社日立製作所 | Encryption method |
JP3053106B2 (en) | 1990-11-02 | 2000-06-19 | 株式会社日立製作所 | Encryption processing device and decryption processing device |
US5301247A (en) | 1992-07-23 | 1994-04-05 | Crest Industries, Inc. | Method for ensuring secure communications |
US6002772A (en) * | 1995-09-29 | 1999-12-14 | Mitsubishi Corporation | Data management system |
US5724428A (en) * | 1995-11-01 | 1998-03-03 | Rsa Data Security, Inc. | Block encryption algorithm with data-dependent rotations |
CA2164768C (en) | 1995-12-08 | 2001-01-23 | Carlisle Michael Adams | Constructing symmetric ciphers using the cast design procedure |
-
1998
- 1998-08-04 TW TW087112848A patent/TW396704B/en not_active IP Right Cessation
- 1998-08-04 US US09/130,529 patent/US6606385B1/en not_active Expired - Lifetime
- 1998-08-05 EP EP98114719A patent/EP0896452A3/en not_active Withdrawn
-
2001
- 2001-03-19 US US09/810,404 patent/US20010014154A1/en not_active Abandoned
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040172543A1 (en) * | 2001-07-17 | 2004-09-02 | Katsuhiko Sato | Apparatus and method for generating data for detecting false alteration of encrypted data during processing |
US7751556B2 (en) * | 2001-07-17 | 2010-07-06 | Sharp Kabushiki Kaisha | Apparatus and method of generating falsification detecting data of encrypted data in the course of process |
US20050147252A1 (en) * | 2003-12-29 | 2005-07-07 | American Express Travel Related Services Company, Inc. | System and method for high speed reversible data encryption |
US7257225B2 (en) | 2003-12-29 | 2007-08-14 | American Express Travel Related Services Company, Inc. | System and method for high speed reversible data encryption |
US20050152538A1 (en) * | 2004-01-08 | 2005-07-14 | Encryption Solutions, Inc. | Method of encrypting and transmitting data and system for transmitting encrypted data |
US8031865B2 (en) | 2004-01-08 | 2011-10-04 | Encryption Solutions, Inc. | Multiple level security system and method for encrypting data within documents |
US20080040603A1 (en) * | 2004-01-08 | 2008-02-14 | Encryption Solutions, Inc. | Multiple level security system and method for encrypting data within documents |
US8275997B2 (en) | 2004-01-08 | 2012-09-25 | Encryption Solutions, Inc. | Method of encrypting and transmitting data and system for transmitting encrypted data |
US7526643B2 (en) | 2004-01-08 | 2009-04-28 | Encryption Solutions, Inc. | System for transmitting encrypted data |
US20050152550A1 (en) * | 2004-01-08 | 2005-07-14 | Encryption Solutions, Inc. | System for transmitting encrypted data |
US7752453B2 (en) | 2004-01-08 | 2010-07-06 | Encryption Solutions, Inc. | Method of encrypting and transmitting data and system for transmitting encrypted data |
US20110194686A1 (en) * | 2004-01-08 | 2011-08-11 | Encryption Solutions, Inc. | Method of encrypting and transmitting data and system for transmitting encrypted data |
US20060045309A1 (en) * | 2004-06-14 | 2006-03-02 | Shan Suthaharan | Systems and methods for digital content security |
US20060004834A1 (en) * | 2004-06-30 | 2006-01-05 | Nokia Corporation | Dynamic shortcuts |
GB2440992A (en) * | 2006-08-02 | 2008-02-20 | Farhad Dalvi | Encryption of an ordered first set of bits using rearrangement which depends on at least two encryption keys |
US20150121042A1 (en) * | 2011-08-26 | 2015-04-30 | Kabushiki Kaisha Toshiba | Arithmetic device |
US9389855B2 (en) * | 2011-08-26 | 2016-07-12 | Kabushiki Kaisha Toshiba | Arithmetic device |
CN111756518A (en) * | 2020-06-02 | 2020-10-09 | 杭州电子科技大学 | Color image encryption method based on memristor hyperchaotic system |
Also Published As
Publication number | Publication date |
---|---|
US6606385B1 (en) | 2003-08-12 |
EP0896452A3 (en) | 2000-07-19 |
TW396704B (en) | 2000-07-01 |
EP0896452A2 (en) | 1999-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6606385B1 (en) | Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same | |
US5351299A (en) | Apparatus and method for data encryption with block selection keys and data encryption keys | |
CA2449662C (en) | Block encryption device using auxiliary conversion | |
US7949128B2 (en) | Method and device for the encryption and decryption of data | |
EP0839418B1 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
US6891950B1 (en) | Extended key generator, encryption/decryption unit, extended key generation method, and storage medium | |
US5222139A (en) | Cryptographic method and apparatus | |
KR100435052B1 (en) | Encryption device | |
KR100362458B1 (en) | Cryptographic processing apparatus, cryptographic processing method, and recording medium recording cryptographic processing program for realizing high-speed crypographic processing without impairing security | |
US7451310B2 (en) | Parallelizable authentication tree for random access storage | |
US20070174374A1 (en) | Pseudorandom number generator and pseudorandom number generation program | |
JP2005215688A (en) | Hardware encryption/decryption apparatus using s-box operation, and method for the same | |
US6111952A (en) | Asymmetrical cryptographic communication method and portable object therefore | |
JPWO2006019152A1 (en) | Message authenticator generation device, message authenticator verification device, and message authenticator generation method | |
CN101479774B (en) | Cipher processing apparatus, data converting method, data converting program, recording medium and integrated circuit | |
US20040039918A1 (en) | Secure approach to send data from one system to another | |
JP3906574B2 (en) | Encryption conversion method, encryption conversion device, decryption method, decryption device, and data communication system | |
JP2004004603A (en) | Extension key generation apparatus, enciphering apparatus and enciphering system | |
JP2000047580A (en) | Encipher converting device, decipher converting device, cryptographic communication equipment and automatic toll collecting device | |
JP3154991B2 (en) | Cryptographic processing device, cryptographic processing method, and storage medium storing cryptographic processing program | |
KR100546777B1 (en) | Apparatus and method for SEED Encryption/Decryption, and F function processor therefor | |
JP3371981B2 (en) | Block cipher creation device | |
JP3013774B2 (en) | Cryptographic device based on cyclic operation | |
CN117499010A (en) | Data processing method and device | |
JP3006490B2 (en) | Method and apparatus for generating encryption key for multiple remainder encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |