WO2004086673A1 - 乱数生成、暗号化および復号のための装置、方法、プログラム、並びに記録媒体 - Google Patents

乱数生成、暗号化および復号のための装置、方法、プログラム、並びに記録媒体 Download PDF

Info

Publication number
WO2004086673A1
WO2004086673A1 PCT/JP2003/003595 JP0303595W WO2004086673A1 WO 2004086673 A1 WO2004086673 A1 WO 2004086673A1 JP 0303595 W JP0303595 W JP 0303595W WO 2004086673 A1 WO2004086673 A1 WO 2004086673A1
Authority
WO
WIPO (PCT)
Prior art keywords
cells
cell
state value
state
random number
Prior art date
Application number
PCT/JP2003/003595
Other languages
English (en)
French (fr)
Inventor
Song-Ju Kim
Akio Hasegawa
Ken Umeno
Original Assignee
National Institute Of Information And Communications Technology Incorporated Administrative Agency
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Institute Of Information And Communications Technology Incorporated Administrative Agency filed Critical National Institute Of Information And Communications Technology Incorporated Administrative Agency
Priority to CNA038261987A priority Critical patent/CN1759563A/zh
Priority to JP2004569925A priority patent/JP4399602B2/ja
Priority to KR1020057017319A priority patent/KR101010226B1/ko
Priority to US10/545,857 priority patent/US7925014B2/en
Priority to PCT/JP2003/003595 priority patent/WO2004086673A1/ja
Publication of WO2004086673A1 publication Critical patent/WO2004086673A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/001Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • H04L9/0668Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence

Definitions

  • the present invention relates to an apparatus, a method, a program, and a recording medium for random number generation, encryption, and decryption applied to, for example, stream encryption.
  • FIG. 1 illustrates block ciphers.
  • the plaintext information bit string is divided into predetermined lengths (blocks), and encrypted by the encryptor 1 for each block.
  • the encrypted text is also divided for each block.
  • the random number generated by the encryptor (random number generator) 2 is applied to the information bit sequence on a bit-by-bit basis to perform encryption. I do.
  • the plaintext bit sequence is m1, m2, m3,...
  • stream encryption is faster than block encryption, and stream encryption is more suitable for encrypting and transmitting large amounts of data such as image data.
  • stream encryption can reduce the circuit size. For this reason, stream ciphers are used even though block ciphers such as DES (Data Encryption Standard) and AES (Advanced Encryption Standard) are standardized.
  • block ciphers such as DES (Data Encryption Standard) and AES (Advanced Encryption Standard) are standardized.
  • RC 4 (Rivest Cipher) 4 Stream Cipher), which is the most widely used stream cipher at present, has weak keys, problems due to the use of Wired Equivalent Privacy protocol (WEP), and bias in output. There is a problem of its safety in an academic sense. RC 4 is designed for software, and its encryption speed is limited. From this, it can be said that secure and high-speed stream encryption for hardware is required.
  • WEP Wired Equivalent Privacy protocol
  • CA cello-automaton
  • FIG. 2 shows a configuration based on an encryption algorithm using CA.
  • the input information data plaintext
  • the input information data (plaintext) is input to an exclusive OR circuit (hereinafter, appropriately referred to as an EX-OR gate) 3 as a 1-bit stream.
  • the key stream which is a 1-bit stream from CA core 4 (random number generator), is used as the other input of EX-0 R gate 3 and the encrypted text is output from EX- ⁇ R gate 3 Is done.
  • the secret key and clock as initial values are input to the CA core 4, and a random number is generated.
  • One-dimensional two-state three-neighbor cellular automaton means that cells are arranged on a one-dimensional grid, each cell has a state value of 0 or 1, and the next time
  • the state value of each cell in (hereinafter referred to as a time step) is given by a function (rule) that depends only on its own state value and the state values on both sides, and the state value of each cell is calculated by this function Updated synchronously by That is, it is represented by the following equation (1).
  • S appended with i and t represents the state of the i-th cell at time step t.
  • Figure 3 shows the time (t) on the vertical axis and the cell number (i) on the horizontal axis.
  • FIG. 3 shows that the state of the i-th shaded cell, for example, the sixth cell number is used as a key stream.
  • Stephen Wolfram examined the randomness of the bit sequence generated by CA rule 30 by performing seven types of statistical tests.However, only by examining the randomness of the bit sequence a few times, it became a pseudorandom number generator. The performance evaluation was insufficient.
  • NIST National Institute of Standards and Technology
  • SP National Institute of Standards and Technology
  • Fig. 4 shows 16 types of test items of NIST.
  • the p-value is determined for an n-bit column. p-value is the probability that the theoretically perfect random sequence generator will produce a bit sequence that is less random than the bit sequence.
  • “low randomness” means that the characteristic value being tested is far from the average value.
  • FIG. 6 shows the test result of RC 4 (256 bit key), and FIG. 7 shows the test result of CA rule 30.
  • Each figure shows two test results obtained with different initial values.
  • the horizontal axis indicates the type of test
  • the vertical axis indicates the success rate
  • the area surrounded by the upper and lower lines is the pass area.
  • the bit string was sampled in the time direction with the cell number fixed. The number of cells is, for example, 100,000.
  • the uniformity of p-value passes in all tests, but the seventh test item (one template of Non-overlapping Temporate Matching Test) In the seventh test, pattern matching is performed using 148 types of temp lates, and the success rate is calculated for each type. In some cases, the 10th test item (Lempel Ziv Compression) is also missing, and thus RC4 does not pass some tests.
  • the third test item (Runs Test), the 15th test item (Random Excursions), the first test item ( There is a problem that Random Excursions Variant) does not pass. More seriously, the p-value of the 10th test item (Lempel Ziv Compression) is not uniform. This means that there is a bias in the characteristics of the bit string, and there is a possibility that it may be possible to distinguish it from the random string. In addition, since there is a restriction that only one bit of information can be used in one time step, there is a problem that even if the number of cells (the number of gates) increases, the encryption processing speed cannot be increased.
  • an object of the present invention is to provide a random number generator and a cipher which can pass all tests when a CA is used, are excellent in randomness, and can improve the processing speed of encryption.
  • An object of the present invention is to provide an apparatus, a method, a program, and a recording medium for encoding and decoding. Disclosure of the invention
  • a plurality of cells are arranged one-dimensionally, each cell has 0 or 1 as a state value, and the state value of each cell at the next time is close to its own state value.
  • the state value of each cell is given by a rule that depends only on the state value of the cell, and the state value of each cell is updated according to this rule.
  • a random number generation device including shift processing means inserted into a path and shifting the output of a plurality of cells by a predetermined number of cells.
  • each cell of the plurality of cells has a state value of 0 or 1, and the state value of each cell at the next time is only the state value of its own and the state value of the neighboring cell.
  • the state value of each cell is given by a dependent rule, and the state value of each cell is updated by this rule.
  • a random number generation method that shifts the output of multiple cells by a predetermined number of cells when the outputs of multiple cells at the current time are fed back to the input in order to update the state value of the next cell at the next time It is.
  • the state value of each cell of the plurality of cells has a value of 0 or 1 to the computer, and the state value of each cell at the next time is equal to its own
  • the state value of each cell is given by a rule that depends only on the state value of the cell, and the state value of each cell is updated by this rule.
  • the invention according to claim 11 is a computer-readable recording medium that stores a program for executing a random number generation method.
  • the invention according to claim 12 is an encryption device that generates a cipher text by an exclusive OR of a plain text and a random number.
  • the random number is one-dimensionally arranged with a plurality of cells, each cell has a state value of 0 or 1, and the state value of each cell at the next time is the state value of its own and the state value of neighboring cells
  • the state value of each cell is generated by a random number generator based on the one-dimensional one-state K-neighbor cell automaton updated by this rule.
  • An encryption device comprising: a shift processing unit that shifts the output of a plurality of cells into a predetermined number of cells, which is input to a path.
  • the invention according to claim 17 is an encryption method for generating a cipher text by an exclusive OR of a plain text and a random number
  • the random number is given by a rule in which each cell of a plurality of cells has a state value of 0 or 1 and the state value of each cell at the next time depends only on its own state value and the state values of neighboring cells.
  • the state value of each cell is generated by a random number generation method using a one-dimensional two-state K-neighbor cell-maton which is updated according to this rule.
  • the random number generation method outputs the output of at least one of the cells and outputs the output of the cells at the current time to the input in order to update the state value of the cells at the next time.
  • This is an encryption method characterized in that the output of a plurality of cells is shifted by a predetermined number of cells when performing one backup.
  • the invention according to claim 21 is a program for causing a computer to execute an encryption method for generating a ciphertext by exclusive OR of a plaintext and a random number,
  • the random number is given by a rule in which each cell of a plurality of cells has a state value of 0 or 1 and the state value of each cell at the next time depends only on its own state value and the state values of neighboring cells.
  • the state value of each cell is generated by a random number generation method using a one-dimensional one-state K-neighbor cell-maton which is updated by this rule.
  • the random number generation method outputs the output of at least one cell of multiple cells and feeds back the output of multiple cells at the current time to the input to update the state value of the next time of multiple cells.
  • the output of a plurality of cells is shifted by a predetermined number of cells. This is a program to be executed.
  • the invention according to claim 22 is a computer-readable recording medium recording a program for executing an encryption method.
  • the invention according to claim 23 is a decryption device for decrypting a ciphertext by an exclusive OR of the ciphertext and a random number
  • the random number is one-dimensionally arranged with a plurality of cells, each cell has a state value of 0 or 1, and the state value of each cell at the next time is the state value of its own and the state value of neighboring cells
  • the state value of each cell is generated by a random number generator based on a one-dimensional two-state K-neighbor cell automaton updated by this rule,
  • a shift processing unit inserted into a path for shifting outputs of a plurality of cells by a predetermined number of cells.
  • the invention according to claim 26 is a decryption method for decrypting a ciphertext by an exclusive OR of the ciphertext and a random number
  • the random number is given by a rule in which each cell of a plurality of cells has a state value of 0 or 1 and the state value of each cell at the next time depends only on its own state value and the state values of neighboring cells.
  • the state value of each cell is generated by a random number generation method using a one-dimensional two-state K-neighbor cellular automaton updated by this rule.
  • the random number generation method outputs the output of at least one cell of multiple cells and feeds back the output of multiple cells at the current time to the input to update the state value of the next time of multiple cells.
  • a decoding method characterized by shifting the output of a plurality of cells by a predetermined number of cells when performing the decoding. You.
  • the invention according to claim 28 is a program for causing a computer to execute a decryption method of decrypting a ciphertext by an exclusive OR of a ciphertext and a random number,
  • the random number is given by a rule in which each cell of a plurality of cells has a state value of 0 or 1 and the state value of each cell at the next time depends only on its own state value and the state values of neighboring cells.
  • the state value of each cell is generated by a random number generation method using a one-dimensional one-state K-neighbor cellular automaton updated by this rule,
  • the random number generation method outputs the output of at least one of the cells and outputs the output of the cells at the current time to the input in order to update the state value of the cells at the next time.
  • This is a program for executing a decoding method characterized by shifting the output of a plurality of cells by a predetermined number of cells when performing one readback.
  • the invention of claim 29 is a computer-readable recording medium recording a program for executing a decoding method.
  • FIG. 1 is a schematic diagram for explaining an outline of conventional block ciphers and stream ciphers.
  • FIG. 2 is a block diagram showing a configuration of a conventional encryptor using CA.
  • FIG. 3 is a schematic diagram used for explaining a key stream in a conventional encryptor using CA.
  • FIG. 4 is a schematic diagram showing test items as an example of a statistical test of evaluation as a random number for encryption.
  • FIG. 5 is a schematic diagram showing parameters of an example of a statistical test of evaluation as a random number for encryption—evening.
  • FIG. 6 is a schematic diagram showing an example of a result of a statistical test of RC4, which is a conventional stream cipher, and another example.
  • FIG. 7 is a schematic diagram illustrating an example of a result of a statistical test of cryptography using a conventional CA and another example.
  • FIG. 8 is a block diagram showing a basic configuration and an embodiment of an encryptor according to the present invention.
  • FIG. 9 is a block diagram showing an embodiment of the encryptor according to the present invention.
  • FIG. 10 is a schematic diagram used to explain a key stream in an embodiment of the encryptor according to the present invention.
  • FIG. 11 is a schematic diagram showing an example of a result of a statistical test of the present invention for performing a rotation shift and another example.
  • FIG. 12 is a schematic diagram showing an example of a result of a statistical test according to an embodiment of the present invention and another example.
  • FIG. 8A shows the basic configuration of the present invention.
  • the input information data plaintext
  • the key stream of M-bit parallel data from CA core 12 is used as the other input of EX- EXR gate 11 and EX-0 R-gate 11 outputs ciphertext.
  • the data and clock of the secret key as initial values are input to the CA core 12, and 40-bit parallel random number data (key stream) is generated.
  • CA core 1 and 2 This is a one-dimensional, two-state, three-neighbor cell network, and the state is updated according to rule 30 as shown in equation (2) or (3).
  • the configuration of the decryptor is the same as that of the above-described encryptor. That is, the ciphertext is supplied to the EX-0R gate, and the key stream is supplied to the EX-0R gate to perform the decryption processing. By using a common initial value and synchronizing, a common key is used for encryption and decryption.
  • FIG. 9 shows an example of the configuration of the CA core 12 in one embodiment (3 neighboring CAs, the number of cells is 100).
  • S I, S 2, S 3,..., S 999, and S 1000 indicate the first to the first 1000 cells, respectively.
  • For each cell a total of three inputs are provided to itself and the cell next to the rain.
  • the input to cell S1000 is used as the input to the cell to the left of the first cell S1, and the input to cell S1 is used as the input to the cell to the right of the 1000th cell S1000 Is done.
  • Each cell performs a logical operation represented by the above-described equation (2) or (3), and outputs a logical operation result 01 to O1000.
  • Each of the cells S1 to S1000 includes a register, and each register is configured to sequentially acquire and hold a logical operation result in synchronization with a clock (not shown).
  • a clock not shown
  • Outputs 0 1 to 0 1000 of cells S 1 to S 1000 are fed back to cells S 1 to S 1000 for the calculation of the next time step, in which case the rotation shift section 13 outputs Rotation shift operation
  • the outputs # 1 to # 1000 are shifted to the left as viewed in the figure as a whole, and the cells are fed back.
  • a shift of 11 cells is performed.
  • the output 012 is input to the leftmost cell S1
  • the output 013 is input to the first cell S2 from the left.
  • a shift of 11 cells is made and fed back.
  • Outputs 01 to # 11 protruding to the left of cell S1 are input to the right one of cells S990 to S1000.
  • the rotation shift direction is on the left side when viewed in the drawing, the rotation shift may be performed on the opposite right side.
  • the mouth shift portion 13 can be configured by a connection method.
  • the rotation shift section 13 may be constituted by a switching circuit in order to enable the setting of the rotation shift amount to be changed.
  • One of the outputs Ol to No. 1000 of the cells S1 to S1000 can be selected as a 1-bit key stream and used as an encryption key.
  • the outputs Ol to # 1000 of the cells S1 to S1000 are supplied to the sampling unit 14 for output as a multi-bit key stream.
  • the sampling section 14 selects the M bits in the outputs # 1 to 01000 as a key stream.
  • n-th (n> 1) cell number a (n) is represented by the following equation (4).
  • the sampling section 14 It can be configured simply by setting. However, the sampling section 14 may be constituted by a switching circuit in order to enable the setting of the sampling method to be changed. Further, although the interval between the cell numbers to be sampled is gradually increased, it may be gradually decreased. Further, the interval between cells may be randomly changed.
  • FIG. 10 shows a key stream output from the sampling unit 14 in the above-described embodiment.
  • cell numbers 1, 7, 14, 24, 22, 31, ... are selected and output from the original C A as a key stream.
  • Mouth—Because the session shift process is performed, at the next time step (t 2), the cell numbers 1 2, 1 8, 2 5, 3 3,. It is selected and output as one stream.
  • FIG. 11 shows the results of the NIST test in the above-described embodiment of the present invention in which only the rotation shift section I3 is provided and the sampling section 14 is not provided.
  • FIG. 12 shows the results of the NIST test when both the rotation shift section 13 and the sampling section 14 are provided.
  • the number of cells is 100, and the information of 40 cells is obtained by sampling. According to the test results (Fig. 12) when extracting a pattern, one pattern of the seventh test (Non-overlapping Template Matching Test) did not pass, but did not always pass, depending on the initial value. There is no problem.
  • the clock frequency was 27 MHz, and an encryption (decryption) speed of about 1 Gbps was achieved.
  • the randomness can be further improved as compared with the previously proposed RC 4 and rule 30. Also, since a multi-bit random number can be extracted without losing security, it is possible to improve the speed of encryption. Furthermore, since the circuit configuration is simple, the maximum operating frequency can be increased. In other words, hardware for processing a large amount of information at high speed can be easily realized.
  • the present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the gist of the present invention.
  • the present invention can use a one-dimensional two-state K-cell cellular automaton that generally depends on the state values of K cells.
  • the random number generator according to the present invention can be applied to the Monte Carlo method in addition to the stream encryption.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Storage Device Security (AREA)

Abstract

暗号化のための乱数がCAコアによって生成される。CAコアは、1次元2状態3近傍セルオートマトンの構成とされる。セルの各セルに対しては、自分自身と両隣のセルに対する合計3個の入力が供給される。各セルは、論理演算を行い、論理演算結果を出力する。各セルには、レジスタが含まれ、各レジスタがクロックに同期して論理演算結果を順次取り込み、保持する。セルの出力が次のタイムステップの演算のために、セルに対してフィードバックされるが、その場合に、出力を左側へシフトさせてセルにフィードバックするローテーションシフト操作がなされる。多ビットの乱数として出力するために、セルの出力の中の40ビットが選択される。選択されるセル番号は、等間隔ではなく、選択されるセル番号の間隔が徐々に大きくなるようにされる。

Description

明 細 書
乱数生成、 暗号化および復号のための装置、 方法、 プログラム、 並 びに記録媒体 技術分野
この発明は、 例えばス ト リーム暗号化に適用される乱数生成、 暗号 化および復号のための装置、 方法、 プログラム、 並びに記録媒体に関 する。
背景技術
近年のィンターネッ トゃモバイルコミュニケーショ ンの急速な普及 に伴い、 ディジタル情報の保護の重要性が増大している。 暗号技術と して、 暗号化と復号に同じ秘密鍵を使用する共通鍵方式が知られてお 、 共通鍵方式の中に、 プロック暗号とストリーム暗号とがある。 .罕 1図 Aは、 ブロック暗号を説明するものである。 平文の情報ビッ ト列を所定の長さ (ブロック) に区切り、 ブロック毎に暗号化器 1に よって暗号化する。 暗号化文もブロック毎に区切られている。
一方、 第 1図 Bに示すように、 スト リ一ム暗号の場合では、 暗号化 器 (乱数生成器) 2によって発生した乱数をビッ ト毎に情報ビッ ト列 に対して作用させて暗号化を行う。
スト リ一ム暗号においては、 平文のビッ ト系列を m 1 , m 2 , m 3 , · · · とし、 乱数のビッ ト系列を r 1 , r 2 , r 3 , . · . とし、 暗号文のビッ ト系列を c 1 , c 2 , c 3 , · · · とすると、 暗号化処 理は、 c i = m i @ r i (©は、 mod. 2の演算、 i = l , 2 , 3, · • - ) となり、 復号処理は、 m i = c i © r i ( +は、 mod. 2の演算 、 i = 1, 2, 3, · · · ) となる。
送信側と受信側とで共通の乱数を生成することが必要とされる。 乱 数列または乱数生成のパターンが知られてしまうと、 容易に解読され てしまう。 したがって、 暗号用として安全な乱数は、 統計的な乱数の 一様性のみならず、 過去の乱数列から将来の乱数列が予測不可能であ ることも必要である。
一般的にスト リ一ム暗号の方がプロック暗号より高速であり、 画像 デ一夕のような大量のデータを暗号化して伝送する場合では、 スト リ ーム暗号の方が適している。 また、 スト リーム暗号の方が回路規模を 小さくできる場合が多い。 このため、 D E S (Data Encryption Stand ard)や A E S (Advanced Encryption Standard)等のブロック暗号が標 準化されているにもかかわらず、 ス ト リーム暗号が使われている。
しかしながら、 現在最も広く使用されているストリーム暗号である RC 4 ((Rivest Cipher) 4 Stream Cipher)は、 weak key の存在、 W E P (Wired Equivalent Privacy protocol)を使うことによる問題点 、 アウ トプッ 卜におけるバイアスの存在など、 その安全性がァカデミ ックな意味で問題視されている。 また、 RC 4は、 ソフトウェア向け にデザインされたものであり、 その暗号化速度には限界がある。 この ことから、 ハードウヱァ向けの安全で高速なスト リ一ム暗号が求めら れていると言える。
一方、 非線形力学系の分野で研究されてきたカオスを用いた暗号化 アルゴリズムが近年盛んに研究されている。 しかしながら、 その多く は、 写像力学系に基づいており、 状態、 時間、 空間が全て離散な力学 系であるセルォ一トマトン (以下、 適宜 C Aと表記する) を用いた暗 号化アルゴリズムは、 広く知られていない。 CAは、 その構成上ハー ドウヱァの埋め込みに適しており、 高速なスト リーム暗号の実現が期 待される。 Stephen Wolframは、 " Adv. Appl. Math. Vol.7 (1986) 123 - 169"、 "Lecture Notes in Computer Science Vol.218 (1986) 429-43 2"等において、 1次元 2状態 3近傍セルォ一トマトンのルール 3 0を 用いたス ト リーム暗号を提案している。
第 2図は、 C Aを用いた暗号化アルゴリズムによる構成を示す。 入 力情報データ (平文) が 1 ビッ 卜のス ト リームとして排他的論理和回 路 (以下、 適宜 E X— O Rゲートと称する) 3に入力される。 C Aコ ァ 4 (乱数生成器) からの 1 ビッ 卜のスト リームであるキ一スト リー ムが E X— 0 Rゲート 3の他方の入力とされ、 E X—〇 Rゲート 3か ら暗号文が出力される。 C Aコア 4に対しては、 初期値としてのシー クレツ トキ一とクロックとが入力され、 乱数が生成される。
1次元 2状態 3近傍セルオートマトンとは、 1次元格子上にセルが 配置され、 各セルは、 状態値として 0か 1 を持つものとし、 次の時刻
(以下、 タイムステップと適宜称する) での各セルの状態値は、 自分 自身の状態値と両隣りの状態値だけに依存する関数 (ルール) で与え られ、 各セルの状態値は、 この関数によって同期的に更新される。 す なわち、 下記の式 ( 1 ) で表される。
Figure imgf000005_0001
ここで、 iおよび tが付加された Sは、 タイムステップ tでの i番 目のセルの状態を表す。
Stephen Wo I f ramは、 ランダム列を生み出すルールを 1次元 2状態 3近傍 C Aの範囲で探索し、 ルール 3 0が最も良い擬似乱数生成器で あることを示した。 このルール 3 0の状態更新ルールは、 下記の式 ( 2 ) で表される。 ; : ^㊉^㊉ i+,l㊉^ 'ί.+Ι ( 2 ) で、 @は、 mod. 2の加算を表す ( 式 ( 2 ) をブ一ル代数で表すと、 以下の式 ( 3 ) で示すものとなる
= S XOR {S OR SM' ) (3) 第 3図は、 縦軸に時間 ( t ) をと.り、 横軸にセル番号 ( i ) をとつ た図を示す。 第 3図では、 影を付した i番目例えば第 6番目のセル番 号の状態がキーストリームとして使用されることを示している。
Stephen Wolframは、 C Aルール 3 0が生み出すビッ ト列を 7種類 の統計テストにかけてそのランダム性を調べたが、 ビッ ト列のランダ ム性を何個か調べただけで、 擬似乱数生成器としての性能評価として は不十分なものであった。
暗号用の乱数としての評価の試験とし、 一例として、 N I S T(Nat ional Institute of Standards and Technology:米国標準技術研究所 ) が公開している RNG Testingがある (N I S T Special Publica tion (SP) 800-22 A Statistical Test Suite for Random and Pseudo random Number Generators for Cryptographic Appl ications)。 第 4 図は、 N I S Tの 1 6種類のテスト項目を示す。
N I S Tのテストでは、 nビッ トの列に対して p- valueを求める。 p -valueは、 理論上の完全なランダム列生成器がそのビッ ト列よりラン ダム性が低いビッ ト列を出す確率である。 ここでの 「ランダム性が低 い」 とは、 テスト している特性量が平均値より離れていることを意味 する。
求められた p-valueについて、 p- value≥ αの場合を 「サクセス」 と する。 これを mサンプルに対して行い、 そのサクセス率と p- valueの 一様性を評価する。 P- valueがー様で、 かつサクセス率が 1一 αを中 心とする特定の範囲に収まっている場合にテス トを 「パスする」 と言 う。 初期値 (C Aコアに与えられるシークレツ トキ一) に対して多少 テス トの結果が異なるので、 各テス 卜に対して数通りの初期値でテス 卜する。 以下の例では、 η= 1 06、 α = 0 · 0 1、 m= 1 0 0 0を 用いた。 各テス トで用いたパラメータを第 5図に示す。
第 6図は、 R C 4 ( 2 5 6 ビッ トキー) のテス ト結果を示し、 第 7 図は、 C Aルール 3 0のテス ト結果を示す。 各図は、 初期値を異なら せて得られた二つのテス ト結果を示している。 テス ト結果を示すグラ フにおいて、 横軸は、 テス 卜の種類、 縦軸はサクセス率を示し、 上下 の線で囲まれた領域がパス領域である。 また、 CAの場合、 セル番号 を固定して時間方向にビッ ト列をサンプリ ングした。 セル数は、 例え ば 1 0 0 0である。
第 6図から分かるように、 R C 4では、 全てのテス トで p-valueの 一様性は、 パスするが、 7番目のテス ト項目(Non- overlapping Tempi ate Matching Testの一つの templateに対してだけ常にサクセス率が 範囲からはずれている問題がある。 7番目のテス トでは、 1 4 8種類 の temp lateを用いてパターンマッチングし、 各種類に対するサクセス 率が計算される。 また、 初期値によっては、 1 0番目のテス ト項目(L empel Ziv Compression)もはずれている。 このように、 RC 4は、 い くつかのテス トをパスしないという問題がある。
第 7図から分かるように、 C Aルール 3 0では、 初期値によっては 、 3番目のテス ト項目(Runs Test)、 1 5番目のテス ト項目(Random E xcursions) 1 り番目のテス ト項目 (Random Excursions Variant)カ パスしないという問題がある。 それより も深刻なことは、 1 0番目の テス ト項目(Lempel Ziv Compression)の p- valueの一様性が破れてい ることである。 これは、 ビッ ト列の特徴に偏りがあることを意味して おり、 そこからランダム列との区別ができる可能性があり問題である また、 1 タイムステップで 1 ビッ 卜の情報しか使用することができ ないという制約があるので、 セル数 (ゲート数) が増えても暗号化の 処理速度を高速とできないという問題があった。
したがって、 この発明の目的は、 C Aを用いた場合に、 全てのテス トをパスすることができ、 ランダム性に優れ、 また、 暗号化の処理速 度を向上させることが可能な乱数生成、 暗号化および復号のための装 置、 方法、 プログラム、 並びに記録媒体を提供することにある。 発明の開示
請求の範囲 1の発明は、 1次元的に複数のセルが配置され、 各セル が状態値として 0か 1 を持ち、 次の時刻での各セルの状態値は自分自 身の状態値と近傍のセルの状態値だけに依存するルールで与えられ、 各セルの状態値はこのルールによつて更新される 1次元 1状態 K近傍 セルオートマトンによる乱数生成装置において、
複数のセルの少なく とも一つのセルの出力を出力すると共に、 複数 のセルの次の時刻の状態値を更新するために、 現在の時刻の複数のセ ルの出力を入力にフィ一ドバックする経路と、
経路に挿入され、 複数のセルの出力を所定のセル数シフ卜するシフ ト処理手段とを備えた乱数生成装置である。
請求の範囲 6の発明は、 複数のセルの各セルが状態値として 0か 1 を持ち、 次の時刻での各セルの状態値は自分自身の状態値と近傍のセ ルの状態値だけに依存するルールで与えられ、 各セルの状態値はこの ルールによって更新される 1次元 1状態 K近傍セルォ一トマトンによ る乱数生成方法において、
複数のセルの少なく とも一つのセルの出力を出力すると共に、 複数 のセルの次の時刻の状態値を更新するために、 現在の時刻の複数のセ ルの出力を入力にフィ一ドバックする時に、 複数のセルの出力を所定 のセル数シフ卜する乱数生成方法である。
請求の範囲 1 0の発明は、 コンピュータに対して、 複数のセルの各 セルが状態値として 0か 1 を持ち、 次の時刻での各セルの状態値は自 分自身の状態値と近傍のセルの状態値だけに依存するルールで与えら れ、 各セルの状態値はこのルールによって更新される 1次元 2状態 K 近傍セルオートマトンによる乱数生成方法を実行させるためのプログ ラムにおいて、
複数のセルの少なく とも一つのセルの出力を出力すると共に、 複数 のセルの次の時刻の状態値を更新するために、 現在の時刻の複数のセ ルの出力を入力にフィ一ドバックする時に、 複数のセルの出力を所定 のセル数シフ卜する乱数生成方法を実行させるためのプログラムであ る。
請求の範囲 1 1の発明は、 乱数生成方法を実行させるためのプログ ラムを記録したコンピュータで読み取り可能な記録媒体である。
請求の範囲 1 2の発明は、 平文と乱数との排他的論理和によって暗 号文を生成する暗号化装置において、
乱数は、 1次元的に複数のセルが配置され、 各セルが状態値として 0か 1 を持ち、 次の時刻での各セルの状態値は自分自身の状態値と近 傍のセルの状態値だけに依存するルールで与えられ、 各セルの状態値 はこのルールによって更新される 1次元 1状態 K近傍セルオートマト ンによる乱数生成装置によって生成され、
複数のセルの少なく とも一つのセルの出力を出力すると共に、 複数 のセルの次の時刻の状態値を更新するために、 現在の時刻の複数のセ ルの出力を入力にフィードバックする経路と、 経路に揷入され、 複数のセルの出力を所定のセル数シフ卜するシフ 卜処理手段とを備えたことを特徴とする暗号化装置である。
請求の範囲 1 7の発明は、 平文と乱数との排他的論理和によって暗 号文を生成する暗号化方法において、
乱数は、 複数のセルの各セルが状態値として 0か 1を持ち、 次の時 刻での各セルの状態値は自分自身の状態値と近傍のセルの状態値だけ に依存するルールで与えられ、 各セルの状態値はこのルールによつて 更新される 1次元 2状態 K近傍セルォ一トマトンによる乱数生成方法 によつて生成され、
乱数生成方法は、 複数のセルの少なく とも一つのセルの出力を出力 すると共に、 複数のセルの次の時刻の状態値を更新するために、 現在 の時刻の複数のセルの出力を入力にフィ一ドバックする時に、 複数の セルの出力を所定のセル数シフ 卜することを特徴とする暗号化方法で ある。
請求の範囲 2 1の発明は、 コンピュータに対して、 平文と乱数との 排他的論理和によって暗号文を生成する暗号化方法を実行させるため のプログラムにおいて、
乱数は、 複数のセルの各セルが状態値として 0か 1 を持ち、 次の時 刻での各セルの状態値は自分自身の状態値と近傍のセルの状態値だけ に依存するルールで与えられ、 各セルの状態値はこのルールによって 更新される 1次元 1状態 K近傍セルォ一トマトンによる乱数生成方法 によつて生成され、
乱数生成方法は、 複数のセルの少なく とも一つのセルの出力を出力 すると共に、 複数のセルの次の時刻の状態値を更新するために、 現在 の時刻の複数のセルの出力を入力にフィードバックする時に、 複数の セルの出力を所定のセル数シフ 卜することを特徴とする暗号化方法を 実行させるためのプログラムである。
請求の範囲 2 2の発明は、 暗号化方法を実行させるためのプログラ ムを記録したコンピュータで読み取り可能な記録媒体である。
請求の範囲 2 3の発明は、 暗号文と乱数との排他的論理和によって 暗号文を復号する復号装置において、
乱数は、 1次元的に複数のセルが配置され、 各セルが状態値として 0か 1 を持ち、 次の時刻での各セルの状態値は自分自身の状態値と近 傍のセルの状態値だけに依存するルールで与えられ、 各セルの状態値 はこのルールによって更新される 1次元 2状態 K近傍セルオートマト ンによる乱数生成装置によって生成され、
複数のセルの少なく とも一つのセルの出力を出力すると共に、 複数 のセルの次の時刻の状態値を更新するために、 現在の時刻の複数のセ ルの出力を入力にフィ一ドバックする経路と、
経路に挿入され、 複数のセルの出力を所定のセル数シフ卜するシフ ト処理手段とを備えたことを特徴とする復号装置である。
請求の範囲 2 6の発明は、 暗号文と乱数との排他的論理和によって 暗号文を復号する復号方法において、
乱数は、 複数のセルの各セルが状態値として 0か 1 を持ち、 次の時 刻での各セルの状態値は自分自身の状態値と近傍のセルの状態値だけ に依存するルールで与えられ、 各セルの状態値はこのルールによって 更新される 1次元 2状態 K近傍セルオートマトンによる乱数生成方法 によって生成され、
乱数生成方法は、 複数のセルの少なく とも一つのセルの出力を出力 すると共に、 複数のセルの次の時刻の状態値を更新するために、 現在 の時刻の複数のセルの出力を入力にフィードバックする時に、 複数の セルの出力を所定のセル数シフ卜することを特徴とする復号方法であ る。
請求の範囲 2 8の発明は、 コンピュータに対して、 暗号文と乱数と の排他的論理和によって暗号文を復号する復号方法を実行させるため のプログラムにおいて、
乱数は、 複数のセルの各セルが状態値として 0か 1 を持ち、 次の時 刻での各セルの状態値は自分自身の状態値と近傍のセルの状態値だけ に依存するルールで与えられ、 各セルの状態値はこのルールによって 更新される 1次元 1状態 K近傍セルオートマトンによる乱数生成方法 によつて生成され、
乱数生成方法は、 複数のセルの少なく とも一つのセルの出力を出力 すると共に、 複数のセルの次の時刻の状態値を更新するために、 現在 の時刻の複数のセルの出力を入力にフィ一ドバックする時に、 複数の セルの出力を所定のセル数シフ卜することを特徴とする復号方法を実 行させるためのプログラムである。
請求の範囲 2 9の発明は、 復号方法を実行させるためのプログラム を記録したコンピュータで読み取り可能な記録媒体である。 図面の簡単な説明
第 1図は、 従来のブロック暗号およびスト リーム暗号の概略を説明 するための略線図である。
第 2図は、 従来の C Aを用いた暗号化器の構成を示すブロック図で 'ある。
第 3図は、 従来の C Aを用いた暗号化器におけるキースト リ一ムの 説明に用いる略線図である。
第 4図は、 暗号用の乱数としての評価の統計テス トの一例のテス ト 項目を示す略線図である。 第 5図は、 暗号用の乱数としての評価の統計テス卜の一例のパラメ —夕を示す略線図である。
第 6図は、 従来のスト リーム暗号である R C 4の統計テストの結果 の一例および他の例を示す略線図である。
第 7図は、 従来の C Aを用いた暗号の統計テス トの結果の一例およ び他の例を示す略線図である。
第 8図は、 この発明による暗号化器の基本構成および一実施形態を 示すブロック図である。
第 9図は、 この発明による暗号化器の一実施形態を示すブロック図 である。
第 1 0図は、 この発明による暗号化器の一実施形態におけるキース トリームの説明に用いる略線図である。
第 1 1図は、 ローテーションシフ トを行うこの発明の統計テス トの 結果の一例および他の例を示す略線図である。
第 1 2図は、 この発明の一実施形態の統計テス トの結果の一例およ び他の例を示す略線図である。 発明を実施するための最良の形態
第 8図 Aは、 この発明の基本的構成を示す。 入力情報データ (平文 ) が Mビッ 卜の並列データに変換されて E X—〇Rゲート 1 1に入力 される。 C Aコア 1 2からの Mビッ トの並列データのキーストリーム が E X—〇 Rゲート 1 1の他方の入力とされ、 E X— 0 Rゲート 1 1 から暗号文が出力される。 C Aコア 1 2に対しては、 初期値としての シークレッ トキ一のデ タとクロックとが入力され、 4 0 ビッ ト並列 の乱数データ (キーストリーム) が生成される。 図 8 Bは、 一例とし て、 M = 4 0 とした場合の一実施形態を示す。 C Aコア 1 2は、 前述 の 1次元 2状態 3近傍セルォ一トマ卜ンの構成とされ、 式 ( 2 ) また は式 ( 3 ) で示すようなルール 3 0にしたがって状態更新がなされる ものである。
復号器の構成は、 図示しないが、 上述した暗号化器と同様に構成さ れる。 すなわち、 暗号文が E X— 0 Rゲートに供給され、 キース ト リ ームが E X— 0 Rゲートに供給されることによって復号処理がなされ る。 初期値を共通として、 同期をとることによって暗号化と復号とで 、 共通の鍵が使用される。
第 9図は、 一実施形態 ( 3近傍 C A、 セル数 1 0 0 0 ) における C Aコア 1 2の構成の一例を示す。 S I , S 2 , S 3 , · · · · , S 999, S 1000は、 それぞれ第 1番目から第 1 0 0 0番目のセルを示す。 各セ ルに対しては、 自分自身と雨隣のセルに対する合計 3個の入力が供給 される。 第 1番目のセル S 1に対する左隣のセルに対する入力として 、 セル S 1000に対する入力が使用され、 第 1000番目のセル S 1000に対 する右隣のセルに対する入力として、 セル S 1に対する入力が使用さ れる。 各セルは、 前述した式 ( 2 ) または式 ( 3 ) で表される論理演 算を行い、 論理演算結果 0 1〜O 1000を出力する。
セル S 1〜 S 1000には、 それぞれレジスタが含まれ、 各レジス夕が クロック (図示しない) に同期して論理演算結果を順次取り込み、 保 持する構成とされている。 あるタイムステップ tにおける論理演算結 果がセル S 1〜 S 1000から出力されると、 各セルにおいて演算された 次のタイムステップ t + 1の論理演算結果がレジスタに取り込まれる ことになる。
セル S 1〜S 1000の出力 0 1〜0 1000が次のタイムステップの演算の ために、 セル S 1〜S 1000に対してフィードバックされるが、 その場 合に、 ローテーショ ンシフ ト部 1 3によってローテーショ ンシフ ト操 作がなされる。 ローテーショ ンシフ ト操作は、 出力〇1〜〇1000を全 体的に図に向かって見て左側ヘシフ トさせてセルにフィ一ドバッ クす るものである。 一例として、 1 1セルのシフ トがなされる。 この場合 では、 最も左端のセル S1に対して、 出力 012が入力され、 左から 1 番目のセル S2に対して、 出力 013が入力される。 以下、 1 1セル分 のシフ トがなされてフィードバッ クされる。 また、 セル S 1の左側に はみ出した出力 01〜〇11は、 右側の 1 1個のセル S 990〜S 1000に対 して入力される。
なお、 ローテ一シヨ ンシフ トの方向は、 図面に向かって見て左側と したが、 反対の右側へローテーショ ンシフ ト しても良い。 また、 口一 テーシヨ ンシフ ト量は、 設定された後に変える必要がないので、 口一 テ一シヨ ンシフ ト部 1 3は、 結線の仕方によって構成できる。 但し、 ローテーショ ンシフ ト量の設定の変更を可能とするために、 スィッチ ング回路によってローテ一シヨ ンシフ ト部 1 3を構成しても良い。 セル S1〜S 1000の出力 Ol〜〇 1000の中の一つの出力を 1 ビッ 卜の キ一ス ト リームして選択して暗号鍵として使用することができる。 一 実施形態では、 多ビッ トのキース ト リ一ムとして出力するために、 セ ル S1〜S 1000の出力 Ol〜〇 1000がサンプリ ング部 1 4に供給される 。 サンプリ ング部 1 4は、 出力〇 1〜 01000の中の Mビッ トをキース ト リームとして選択する。 サンプリ ングされるセル番号は、 等間隔で はなく、 選択されるセル番号の間隔が徐々に大きくなるようにされる 。 例えば N = 1 0 0 0, M = 4 0の場合、 1 , 7 , 1 4 , , 3 1 , 4 1 , 5 2 , 6 4 , · · · , 9 7 6 と間隔が 1ずつ増加するように なされる。
一般に、 n番目 (n > 1 ) のセル番号 a (n) は、 下記の式 ( 4 ) で表したものとなる。 上述した例の場合、 パラメータは、 a ( 1 ) = 1 , d = 6である。
n-l
fl(«) = fl(l)+2 (d+m~l) (4) なお、 サンプリ ングの方法は、 設定された後に変える必要がないの で、 サンプリング部 1 4は、 有効な出力線を設定するだけで構成でき る。 但し、 サンプリ ングの方法の設定の変更を可能とするために、 ス イツチング回路によってサンプリ ング部 1 4を構成しても良い。 また 、 サンプリングされるセル番号の間隔が徐々に大きくなるようにした が、'徐々に小さくなるようにしても良い。 また、 ランダムにセルの間 隔が変化するものであっても良い。
第 1 0図は、 上述した一実施形態においてサンプリング部 1 4から 出力されるキースト リームを示すものである。 最初のタイムステップ ( t = 1 ) では、 元の C Aから見ると、 セル番号の 1, 7 , 1 4 , 2 2 , 3 1 , . · ' がキ一ストリームとして選択されて出力される。 口 —テ一ションシフト処理がなされるので、 次のタイムステップ ( t = 2 ) では、 元の CAから見ると、 セル番号の 1 2 , 1 8 , 2 5 , 3 3 , · · · がキ一スト リームとして選択されて出力される。
第 1 1図は、 上述したこの発明の一実施形態において、 ローテーシ ヨンシフ ト部 I 3のみを有し、 サンプリング部 1 4を有しない場合の N I S Tテス 卜の結果を示す。 第 1 2図は、 ローテーショ ンシフ ト部 1 3およびサンプリング部 1 4の両方を有する場合の N I S Tテス ト の結果を示す。
ローテーショ ンシフト数を 1 1 とした場合のテスト結果 (第 1 1図 ) から分かるように、 二つの初期値に対して 1 6種類の全てのテスト をパスすることができる。
また、 セル数が 1 0 0 0で、 サンプリングによって 4 0セルの情報 を抜き出した場合のテスト結果 (第 1 2図) では、 初期値によっては 、 7番目のテス 卜 (Non - overlapping Template Matching Test)の一つ のパターンがパスしていないが、 常にパスしないということではない ので問題はない。
セル数 1 0 0 0の C Aルール 3 0 (ローテ一シヨ ンシフ ト数 1 1セ ル) を F P GA(Field Programraab I e Gate Array:大規模 P L D (Pro gramraable logic Device) に実装した結果、 (ゲート数 = 1 4 6 9 9 、 最大動作周波数- 1 0 5. 8 3 1 MHz, 暗号化 (復号) 速度 = . 2 3 3 Gbps) の結果が得られた。 例えばディジタルビデオデ一夕の リアルタイム暗号化および復号では、 クロックの周波数が 2 7 MHzで あり、 約 1 Gbpsの暗号 (復号) 化速度を達成できた。
上述したこの発明によれば、 先に提案されている R C 4およびルー ル 3 0と比較してランダム性をより向上することができる。 また、 安 全性を損なうことなく、 多ビッ 卜の乱数を取り出すことができるので 、 暗号化の速度を向上することが可能となる。 さらに、 回路構成が単 純であるので、 最大動作周波数を高くすることができる。 すなわち、 大量の情報を高速に処理するハードウ ァを容易に実現できる。
この発明は、 上述した実施形態に限定されるものではなく、 この発 明の要旨を逸脱しない範囲内で種々の変形や応用が可能である。 例え ばこの発明は、 一般的に K個のセルの状態値に依存する 1次元 2状態 K近傍のセルオートマトンを使用できる。 また、 この発明による乱数 生成器は、 スト リーム暗号以外にモンテカルロ法に対しても適用する ことができる。

Claims

請求の範囲
1 . 1次元的に複数のセルが配置され、 各セルが状態値として 0か 1 を持ち、 次の時刻での各セルの状態値は自分自身の状態値と近傍のセ ルの状態値だけに依存するルールで与えられ、 各セルの状態値はこの ルールによって更新される 1次元 2状態 K近傍セルォ一トマ トンによ る乱数生.成装置において、
複数のセルの少なく とも一つのセルの出力を出力すると共に、 上記 複数のセルの次の時刻の状態値を更新するために、 現在の時刻の上記 複数のセルの出力を入力にフィ一ドバックする経路と、
上記経路に挿入され、 上記複数のセルの出力を所定のセル数シフト するシフト処理手段とを備えた乱数生成装置。
2 . 請求の範囲 1 において、
上記 1次元 2状態 K近傍セルオートマトンは、 次の時刻での各セル の状態値は自分自身の状態値と両隣のセルの状態値だけに依存するル ールで与えられ、 各セルの状態値はこのルールによって更新される 1 次元 2状態 3近傍セルオートマトンである乱数生成装置。
3 . 請求の範囲 1において、
さらに、 上記複数のセルの出力の中で、 所定の複数のセルを選択し て並列化して出力するためのサンプリング手段を備えた乱数生成装置
4 . 請求の範囲 3において、
上記所定の複数のセルは、 選択されるセルの互いの間隔が順に大き くなるか、 または順に小さくなる乱数生成装置。
5 . 請求の範囲 1において、
上記フィードバックする経路および上記シフ ト処理手段が集積回路 上に実現されたことを特徴とする乱数生成装置。
6 . 複数のセルの各セルが状態値として 0か 1 を持ち、 次の時刻での 各セルの状態値は自分自身の状態値と近傍のセルの状態値だけに依存 するルールで与えられ、 各セルの状態値はこのルールによって更新さ れる 1次元 2状態 K近傍セルオートマトンによる乱数生成方法におい て、
複数のセルの少なく とも一つのセルの出力を出力すると共に、 上記 複数のセルの次の時刻の状態値を更新するために、 現在の時刻の上記 複数のセルの出力を入力にフィ一ドバックする時に、 上記複数のセル の出力を所定のセル数シフ 卜する乱数生成方法。
7 . 請求の範囲 6において、
上記 1次元 2状態 K近傍セルオートマトンは、 次の時刻での各セル の状態値は自分自身の状態値と雨隣のセルの状態値だけに依存するル —ルで与えられ、 各セルの状態値はこのルールによって更新される 1 次元 2状態 3近傍セルオートマトンである乱数生成方法。
8 . 請求の範囲 6において、
さらに、 上記複数のセルの出力の中で、 所定の複数のセルを選択し て並列化して出力する乱数生成方法。
9 . 請求の範囲 8において、
上記所定の複数のセルは、 選択されるセルの互いの間隔が順に大き くなるか、 または順に小さくなる乱数生成方法。
1 0 . コンピュータに対して、 複数のセルの各セルが状態値として 0 か 1 を持ち、 次の時刻での各セルの状態値は自分自身の状態値と近傍 のセルの状態値だけに依存するルールで与えられ、 各セルの状態値は このルールによって更新される 1次元 2状態 K近傍セルオートマトン による乱数生成方法を実行させるためのプログラムにおいて、
複数のセルの少なく とも一つのセルの出力を出力すると共に、 上記 複数のセルの次の時刻の状態値を更新するために、 現在の時刻の上記 複数のセルの出力を入力にフィ一ドバックする時に、 上記複数のセル の出力を所定のセル数シフ卜する乱数生成方法を実行させるためのプ ログラ厶。
1 1 . コンピュータに対して、 複数のセルの各セルが状態値として 0 か 1 を持ち、 次の時刻での各セルの状態値は自分自身の状態値と近傍 のセルの状態値だけに依存するルールで与えられ、 各セルの状態値は このルールによって更新される 1次元 2状態 K近傍セルオートマトン による乱数生成方法を実行させるためのプログラムを記録したコンピ ユ ータで読み取り可能な記録媒体において、
複数のセルの少なく とも一つのセルの出力を出力すると共に、 上記 複数のセルの次の時刻の状態値を更新するために、 現在の時刻の上記 複数のセルの出力を入力にフィ一ドバックする時に、 上記複数のセル の出力を所定のセル数シフ卜する乱数生成方法を実行させるためのプ ログラムを記録したコンピュータで読み取り可能な記録媒体。
1 2 . 平文と乱数との排他的論理和によって暗号文を生成する暗号化 装置において、
乱数は、 1次元的に複数のセルが配置され、 各セルが状態値として 0か 1 を持ち、 次の時刻での各セルの状態値は自分自身の状態値と近 傍のセルの状態値だけに依存するルールで与えられ、 各セルの状態値 はこのルールによって更新される 1次元 2状態 K近傍セルォ一トマト ンによる乱数生成装置によって生成され、
複数のセルの少なく とも一つのセルの出力を出力すると共に、 上記 複数のセルの次の時刻の状態値を更新するために、 現在の時刻の上記 複数のセルの出力を入力にフィ一ドバックする経路と、
上記経路に揷入され、 上記複数のセルの出力を所定のセル数シフト するシフ ト処理手段とを備えたことを特徴とする暗号化装置。
1 3 . 請求の範囲 1 2において、
上記 1次元 1状態 K近傍セルオートマトンは、 次の時刻での各セル の状態値は自分自身の状態値と両隣のセルの状態値だけに依存するル —ルで与えられ、 各セルの状態値はこのルールによって更新される 1 次元 2状態 3近傍セルオートマ ト ンである暗号化装置。
1 4 . 請求の範囲 1 3において、
さらに、 上記乱数生成装置が上記複数のセルの出力の中で、 所定の 複数のセルを選択して並列化して出力するためのサンプリング手段を 備えた暗号化装置。
1 5 . 請求の範囲 1 3において、
上記所定の複数のセルは、 選択されるセルの互いの間隔が順に大き くなるか、 または順に小さくなる暗号化装置。
1 6 . 請求の範囲 1 3において、
上記フィ一ドバックする経路および上記シフト処理手段が集積回路 上に実現されたことを特徴とする暗号化装置。
1 7 . 平文と乱数との排他的論理和によって暗号文を生成する暗号化 方法において、
乱数は、 複数のセルの各セルが状態値として 0か 1 を持ち、 次の時 刻での各セルの状態値は自分自身の状態値と近傍のセルの状態値だけ に依存するルールで与えられ、 各セルの状態値はこのルールによつて 更新される 1次元 2状態 K近傍セルォ一トマトンによる乱数生成方法 によって生成され、
上記乱数生成方法は、 複数のセルの少なく とも一つのセルの出力を 出力すると共に、 上記複数のセルの次の時刻の状態値を更新するため に、 現在の時刻の上記複数のセルの出力を入力にフィ一ドバックする 時に、 上記複数のセルの出力を所定のセル数シフ 卜することを特徴と する暗号化方法。
1 8 . 請求の範囲 1 7において、
上記 1次元 1状態 K近傍セルオートマトンは、 次の時刻での各セル の状態値は自分自身の状態値と両隣のセルの状態値だけに依存するル —ルで与えられ、 各セルの状態値はこのルールによって更新される 1 次元 2状態 3近傍セルオートマ卜ンである暗号化方法。
1 9 . 請求の範囲 1 7において、
さらに、 上記乱数生成方法が上記複数のセルの出力の中で、 所定の 複数のセルを選択して並列化して出力する暗号化方法。
2 0 . 請求の範囲 1 7において、
上記所定の複数のセルは、 選択されるセルの互いの間隔が順に大き くなるか、 または順に小さくなる暗号化方法。
2 1 . コンピュータに対して、 平文と乱数との排他的論理和によって 暗号文を生成する暗号化方法を実行させるためのプログラムにおいて 乱数は、 複数のセルの各セルが状態値として 0か 1 を持ち、 次の時 刻での各セルの状態値は自分自身の状態値と近傍のセルの状態値だけ に依存するルールで与えられ、 各セルの状態値はこのルールによつて 更新される 1次元 2状態 K近傍セルオートマトンによる乱数生成方法 によって生成され、
上記乱数生成方法は、 複数のセルの少なく とも一つのセルの出力を 出力すると共に、 上記複数のセルの次の時刻の状態値を更新するため に、 現在の時刻の上記複数のセルの出力を入力にフィ一ドバックする 時に、 上記複数のセルの出力を所定のセル数シフ卜することを特徴と する暗号化方法を実行させるためのプログラム。
2 2 . コンピュータに対して、 平文と乱数との排他的論理和によって 暗号文を生成する暗号化方法を実行させるためのプログラムを記録し たコンピュータで読み取り可能な記録媒体において、
乱数は、 複数のセルの各セルが状態値として 0か 1 を持ち、 次の時 刻での各セルの状態値は自分自身の状態値と近傍のセルの状態値だけ に依存するルールで与えられ、 各セルの状態値はこのルールによつて 更新される 1次元 2状態 K近傍セルォ一トマ卜ンによる乱数生成方法 によつて生成され、
上記乱数生成方法は、 複数のセルの少なく とも一つのセルの出力を 出力すると共に、 上記複数のセルの次の時刻の状態値を更新するため に、 現在の時刻の上記複数のセルの出力を入力にフィ一ドバックする 時に、 上記複数のセルの出力を所定のセル数シフ 卜することを特徴と する暗号化方法を実行させるためのプログラムを記録したコンピュー 夕で読み取り可能な記録媒体。
2 3 . 暗号文と乱数との排他的論理和によって暗号文を復号する復号 装置において、
乱数は、 I次元的に複数のセルが配置され、 各セルが状態値として 0か 1 を持ち、 次の時刻での各セルの状態値は自分自身の状態値と近 傍のセルの状態値だけに依存するルールで与えられ、 各セルの状態値 はこのルールによって更新される 1次元 2状態 K近傍セルォ一トマト ンによる乱数生成装置によって生成され、
複数のセルの少なく とも一つのセルの出力を出力すると共に、 上記 複数のセルの次の時刻の状態値を更新するために、 現在の時刻の上記 複数のセルの出力を入力にフィ一ドバックする経路と、
上記経路に揷入され、 上記複数のセルの出力を所定のセル数シフト するシフ ト処理手段とを備えたことを特徴とする復号装置。
2 4 . 請求の範囲 2 3において、
上記 1次元 2状態 K近傍セルオートマトンは、 次の時刻での各セル の状態値は自分自身の状態値と両隣のセルの状態値だけに依存するル ールで与えられ、 各セルの状態値はこのルールによって更新される 1 次元 2状態 3近傍セルオー卜マ卜ンである復号装置。
2 5 · 請求の範囲 2 3において、
上記フィ一ドバックする経路および上記シフ ト処理手段が集積回路 上に実現されたことを特徴とする復号装置。
2 6 . 暗号文と乱数との排他的論理和によって暗号文を復号する復号 方法において、
乱数は、 複数のセルの各セルが状態値として 0か 1 を持ち、 次の時 刻での各セルの状態値は自分自身の状態値と近傍のセルの状態値だけ に依存するルールで与えられ、 各セルの状態値はこのルールによつて 更新される 1次元 2状態 K近傍セルオートマトンによる乱数生成方法 によって生成され、
上記乱数生成方法は、 複数のセルの少なく とも一つのセルの出力を 出力すると共に、 上記複数のセルの次の時刻の状態値を更新するため に、 現在の時刻の上記複数のセルの出力を入力にフィ一ドバックする 時に、 上記複数のセルの出力を所定のセル数シフ 卜することを特徴と する復号方法。
2 7 . 請求の範囲 2 6において、
上記 1次元 2状態 K近傍セルオートマトンは、 次の時刻での各セル の状態値は自分自身の状態値と両隣のセルの状態値だけに依存するル ールで与えられ、 各セルの状態値はこのルールによって更新される 1 次元 2状態 3近傍セルオートマ 卜ンである復号方法。
2 8 . コンピュータに対して、 暗号文と乱数との排他的論理和によつ て暗号文を復号する復号方法を実行させるためのプログラムにおいて 乱数は、 複数のセルの各セルが状態値として 0か 1 を持ち、 次の時 刻での各セルの状態値は自分自身の状態値と近傍のセルの状態値だけ に依存するルールで与えられ、 各セルの状態値はこのル一ルによって 更新される 1次元 2状態 K近傍セルオートマ卜 ンによる乱数生成方法 によつて生成され、
上記乱数生成方法は、 複数のセルの少なく とも一つのセルの出力を 出力すると共に、 上記複数のセルの次の時刻の状態値を更新するため に、 現在の時刻の上記複数のセルの出力を入力にフィードバックする 時に、 上記複数のセルの出力を所定のセル数シフ 卜することを特徴と する復号方法を実行させるためのプログラム。
2 9 . コンピュータに対して、 コンピュータに対して、 暗号文と乱数 との排他的論理和によって暗号文を復号する復号方法を実行させるた めのプログラムを記録したコンピュータで読み取り可能な記録媒体に おいて、
乱数は、 複数のセルの各セルが状態値として 0か 1 を持ち、 次の時 刻での各セルの状態値は自分自身の状態値と近傍のセルの状態値だけ に依存するルールで与えられ、 各セルの状態値はこのルールによつて 更新される 1次元 2状態 K近傍セルオートマトンによる乱数生成方法 によって生成され、
上記乱数生成方法は、 複数のセルの少なく とも一つのセルの出力を 出力すると共に、 上記複数のセルの次の時刻の状態値を更新するため に、 現在の時刻の上記複数のセルの出力を入力にフィ一ドバックする 時に、 上記複数のセルの出力を所定のセル数シフトすることを特徴と する復号方法を実行させるためのプログラムを記録したコンピュータ で読み取り可能な記録媒体。
PCT/JP2003/003595 2003-03-25 2003-03-25 乱数生成、暗号化および復号のための装置、方法、プログラム、並びに記録媒体 WO2004086673A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CNA038261987A CN1759563A (zh) 2003-03-25 2003-03-25 用于随机数生成、加密和解密的装置、方法、程序及记录介质
JP2004569925A JP4399602B2 (ja) 2003-03-25 2003-03-25 乱数生成、暗号化および復号のための装置、方法、プログラム、並びに記録媒体
KR1020057017319A KR101010226B1 (ko) 2003-03-25 2003-03-25 난수 생성, 암호화 및 복호를 위한 장치, 방법, 프로그램,및 기록 매체
US10/545,857 US7925014B2 (en) 2003-03-25 2003-03-25 Random number generating, encrypting, and decrypting apparatus, method thereof, program thereof, and recording medium thereof
PCT/JP2003/003595 WO2004086673A1 (ja) 2003-03-25 2003-03-25 乱数生成、暗号化および復号のための装置、方法、プログラム、並びに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/003595 WO2004086673A1 (ja) 2003-03-25 2003-03-25 乱数生成、暗号化および復号のための装置、方法、プログラム、並びに記録媒体

Publications (1)

Publication Number Publication Date
WO2004086673A1 true WO2004086673A1 (ja) 2004-10-07

Family

ID=33045128

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/003595 WO2004086673A1 (ja) 2003-03-25 2003-03-25 乱数生成、暗号化および復号のための装置、方法、プログラム、並びに記録媒体

Country Status (5)

Country Link
US (1) US7925014B2 (ja)
JP (1) JP4399602B2 (ja)
KR (1) KR101010226B1 (ja)
CN (1) CN1759563A (ja)
WO (1) WO2004086673A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006171A (zh) * 2010-11-24 2011-04-06 北京天地融科技有限公司 更新动态密码令牌内时钟的方法及令牌、认证设备、系统
JP2020532177A (ja) * 2017-08-23 2020-11-05 エヌチェーン ホールディングス リミテッドNchain Holdings Limited データの高度なセキュリティ、高速暗号化および、伝送のためのコンピュータ実装システムおよび方法
US12010216B2 (en) 2017-08-23 2024-06-11 Nchain Licensing Ag Computer-implemented system and method for highly secure, high speed encryption and transmission of data

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072891A (ja) * 2004-09-06 2006-03-16 Sony Corp セルオートマトンに基づく、制御可能な周期を有する擬似乱数シーケンスの生成方法および装置
HU227781B1 (hu) * 2006-03-17 2012-02-28 Pal Bela Dr Doemoesi Szimmetrikus kulcsú kriptográfiai berendezés és eljárás információk titkosítására és visszafejtésére
CN102006300B (zh) * 2010-11-29 2013-07-31 北京卓微天成科技咨询有限公司 一种云存储数据加密方法、装置及系统
WO2012159192A1 (en) * 2011-05-26 2012-11-29 Certicom Corp. Randomness for encryption operations
CN102307089B (zh) * 2011-08-12 2014-02-26 黑龙江大学 一种基于初始值可变和伪解密的混沌加密方法
CN102546158B (zh) * 2011-12-22 2014-05-07 河海大学 一种基于奇偶元胞自动机的分组加密方法
DE102013205168A1 (de) * 2013-03-22 2014-09-25 Robert Bosch Gmbh Verfahren zum Erzeugen einer zufälligen Ausgangsbitfolge
GB201713499D0 (en) * 2017-08-23 2017-10-04 Nchain Holdings Ltd Computer-implemented system and method
KR102348797B1 (ko) * 2019-12-04 2022-01-07 한밭대학교 산학협력단 Rsa 암호화 시스템의 rsa 회로 모듈

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030076956A1 (en) * 2001-10-17 2003-04-24 Shackleford J. Barry Software implementation of cellular automata based random number generators
US7571200B2 (en) 2002-04-24 2009-08-04 Hewlett-Packard Development Company, L.P. Seedable pseudo-random number generator
KR100813954B1 (ko) 2003-01-16 2008-03-14 삼성전자주식회사 암호화 장치 및 암호화 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MIHALJEVIC, M. et al.: "A Family of Fast Keystream Generators Based on Programable Linear Cellular Automata over GF(q) and Time-Variant Table", IEICE Transactions on Fundamentals of Electronics, Communications and Computer Science, 25 January 1999, Vol. E82-A, No. 1, pages 32-91 *
MIHALJEVIC, M. et al.: "An Improved Key Stream Generator Based on the Programable Cellular Automata", Lecture Notes in Computer Science, November 1997, Vol. 1334, pages 181-191 *
NANDI, S. et al.: "Theory and Applications of Cellular Automata in Cryptography", IEEE Transactions on Computers, December 1994, Vol. 43, No. 12, pages 1346-1357 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006171A (zh) * 2010-11-24 2011-04-06 北京天地融科技有限公司 更新动态密码令牌内时钟的方法及令牌、认证设备、系统
JP2020532177A (ja) * 2017-08-23 2020-11-05 エヌチェーン ホールディングス リミテッドNchain Holdings Limited データの高度なセキュリティ、高速暗号化および、伝送のためのコンピュータ実装システムおよび方法
US12010216B2 (en) 2017-08-23 2024-06-11 Nchain Licensing Ag Computer-implemented system and method for highly secure, high speed encryption and transmission of data

Also Published As

Publication number Publication date
US20060159267A1 (en) 2006-07-20
CN1759563A (zh) 2006-04-12
US7925014B2 (en) 2011-04-12
KR20050119121A (ko) 2005-12-20
KR101010226B1 (ko) 2011-01-21
JPWO2004086673A1 (ja) 2006-06-29
JP4399602B2 (ja) 2010-01-20

Similar Documents

Publication Publication Date Title
US10320554B1 (en) Differential power analysis resistant encryption and decryption functions
JP5402632B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
KR101516574B1 (ko) 형태보존 암호화를 위한 가변길이 블록암호 장치 및 방법
US8553880B2 (en) Pseudorandom number generating system, encryption system, and decryption system
Li et al. Breaking a chaotic cryptographic scheme based on composition maps
US20180054301A1 (en) Method and device for data encryption
JPWO2004032098A1 (ja) 疑似乱数発生方法及び疑似乱数発生器
CA2414261A1 (en) Method of encryption using multi-key process to create a variable-length key
Reyad et al. Key-based enhancement of data encryption standard for text security
Kuang et al. Quantum safe lightweight cryptography with quantum permutation pad
WO2004086673A1 (ja) 乱数生成、暗号化および復号のための装置、方法、プログラム、並びに記録媒体
El Hennawy et al. LEA: link encryption algorithm proposed stream cipher algorithm
Ghazi et al. Robust and efficient dynamic stream cipher cryptosystem
Kadhim et al. Proposal of new keys generator for DES algorithms depending on multi techniques
Cardell et al. Recovering the MSS-sequence via CA
KR101076747B1 (ko) 스트림 모듈의 계층적 트리 구조를 통한 무작위 접근이 가능한 암호화/복호화 방법 및 장치
WO2006085283A1 (en) High speed encryption and decryption
Juremi et al. A survey on various dynamic S-box implementation in block cipher encryption algorithm
JP3816558B2 (ja) 暗号システム
Amro et al. Known-plaintext attack and improvement of PRNG-based text encryption
Sonawane et al. Synthesis and simulation of FPGA based hardware design of RC4 stream cipher
Kumar et al. A novel stream cipher based on quasigroups and QG-PRNG
Maolood et al. Modifying Advanced Encryption Standard (AES) Algorithm
Khaleel et al. A Comparative Performance Analysis of Modified DÓ § mÓ § si’ s Cryptosystem and Data Encryption Standard
Abdulhamid et al. Comparative Study of Cryptographic Algorithms.

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR US

WWE Wipo information: entry into national phase

Ref document number: 2004569925

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020057017319

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 20038261987

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1020057017319

Country of ref document: KR

ENP Entry into the national phase

Ref document number: 2006159267

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10545857

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10545857

Country of ref document: US