JPH11338347A - Cipher key formation and encryption method - Google Patents

Cipher key formation and encryption method

Info

Publication number
JPH11338347A
JPH11338347A JP10149024A JP14902498A JPH11338347A JP H11338347 A JPH11338347 A JP H11338347A JP 10149024 A JP10149024 A JP 10149024A JP 14902498 A JP14902498 A JP 14902498A JP H11338347 A JPH11338347 A JP H11338347A
Authority
JP
Japan
Prior art keywords
pseudo
random number
encryption
sequence
processing
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.)
Pending
Application number
JP10149024A
Other languages
Japanese (ja)
Inventor
Keiichi Tsukamoto
惠一 塚本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP10149024A priority Critical patent/JPH11338347A/en
Publication of JPH11338347A publication Critical patent/JPH11338347A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To make illicit decipherment difficult and to make the high-speed processing with an electronic computer possible by forming two pseudo-random number sequences, changing the sequence of the one pseudo-random number sequence in accordance with the value of another pseudo-random number sequence and outputting the pseudo- random number sequence after a sequence change as a cipher key. SOLUTION: The pseudo-random number RF is set at RX=RX0 for the purpose of initialization. The pseudo-random number RX is stored in an array element V[0] and a subscript I for storing the pseudo-random number RX formed in the subsequent processing into the array V is initialized to I=1 (S402, S403). The next pseudo-random number RX is calculated and is stored in the array element V[I] of the subscript I and further the subscript I of the array V for assigning the array element for storing the pseudo-random number RX to be calculated next is added (S404 to S406). A pointer P is positioned at the word at the top of plaintext/ciphertext data and the first/second pseudo-random number are calculated (S409). Next, the processing to obtain the agitation random numbers agitating the first pseudo-random number sequence is executed and Bellman processing is executed with the fetched pseudo-random number Rn as a key.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、データ通信やデー
タの保管時に、そのデータを暗号化するために用いる暗
号鍵生成方法、および該暗号鍵生成方法で生成した暗号
鍵を用いてデータを暗号化する暗号化方法に関するもの
である。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encryption key generation method used for encrypting data during data communication and data storage, and to encrypt data using the encryption key generated by the encryption key generation method. The present invention relates to an encryption method to be encrypted.

【0002】[0002]

【従来の技術】従来において、通信を秘密裏に行うため
に各種の暗号化方法が案出されている。
2. Description of the Related Art Conventionally, various encryption methods have been devised for performing communication in secret.

【0003】その中に、シーザー暗号(Caesar ciphe
r)と言われるものがある。このシーザー暗号は、英字
からなる平文の暗号を考えた場合、その平文をn文字ず
らす操作を行うことによって暗号化するものである。例
えば、次のような英字からなる平文が与えられた場合、
AをB、CをD、というように1文字ずらすことによ
り、暗号化するものである。 平文 HELLOW 暗号文 IFMMPX この場合、正当な解読者には、n=1であることを予め
通知しておく。これにより、正当でない盗聴者による解
読が困難になる。このシーザー暗号では、nが暗号の鍵
になる。このシーザー暗号では、次のような平文と暗号
文があり、n=3であった場合、下記のような変換表を
用いていることになる。 平文 HELLOW 暗号文 KHOORZ [変換表] 平文 ABCDEFGHIJKLMNOPQRS
TUVWXYZ 暗号文 DEFGHIJKLMNOPQRSTUV
WXYZABC また、多表式暗号法と言われるものがある。シーザー暗
号では暗号鍵であるnの値を固定すると、暗号文の文字
の出現頻度などから不正な解読を容易に行なうことがで
きる。その改善策として、ずらす文字数の組{1,3,
2}などを順番に適用する方式がある。 平文 HELLOW 鍵 132132 暗号文 IHNMRY この暗号法では、下記の変換表を用いていることにな
る。 平文 ABCDEFGHIJKLMNOPQRSTU
VWXYZ 暗号1 BCDEFGHIJKLMNOPQRSTUV
WXYZA 暗号2 CDEFGHIJKLMNOPQRSTUVW
XYZAB 暗号3 DEFGHIJKLMNOPQRSTUVWX
YZABC 鍵を固定したシーザー暗号法の変換表を1つとすれば、
3つの変換表を用いていることになるので、多表式暗号
と呼ばれている。
[0003] Among them, Caesar ciphe (Caesar ciphe)
There is something called r). In the Caesar cipher, when a plaintext cipher consisting of English characters is considered, the plaintext is encrypted by performing an operation of shifting the plaintext by n characters. For example, given a plain text consisting of the following alphabets:
A is encrypted by shifting A by one character such as B and C by D. Plaintext HELLOW Ciphertext IFMMPX In this case, a valid reader is notified in advance that n = 1. This makes it difficult for an unauthorized eavesdropper to decipher. In the Caesar cipher, n is a key of the cipher. In this Caesar cipher, there are the following plaintext and ciphertext, and when n = 3, the following conversion table is used. Plaintext HELLOW Ciphertext KHOORZ [Conversion Table] Plaintext ABCDEFGHIJKLMNOPQRS
TUVWXYZ Ciphertext DEFGHIJKLMNOPQRSTUV
WXYZABC There is also what is called polytable encryption. In the Caesar cipher, if the value of n, which is an encryption key, is fixed, unauthorized decryption can be easily performed based on the appearance frequency of characters in cipher text. As a remedy, a set of the number of characters to be shifted
There is a method in which 2} is applied in order. Plaintext HELLOW key 132132 Ciphertext IHNMRY In this cryptography, the following conversion table is used. Plaintext ABCDEFGHIJKLMNOPQRSTU
VWXYZ Code 1 BCDEFGHIJKLMNOPQRSTUV
WXYZA Encryption 2 CDEFGHIJKLMNOPQRSTUVW
XYZAB Encryption 3 DEFGHIJKLMNOPQRSTUVWX
If there is one conversion table for Caesar cryptography with a fixed YZABC key,
Since three conversion tables are used, it is called polytable encryption.

【0004】次に、バーナム暗号法(Vernam cipher)
と呼ばれる暗号法がある。これは、1917年にGilber
t Vernamが提案したものである。 平文の文字数と同じ長さの乱数を用意する、 の乱数を鍵として多表式暗号化を行う、 乱数は使い捨てとする、 このバーナム暗号法によれば、下記のような関係の暗号
文が得られる。 平文 HELLOW 乱数 314159 暗号文 KFPMTF このバーナム暗号法は、原理的に不正な解読の心配がな
いと言われている。
[0004] Next, Vernam cipher
There is a cryptography called. This was Gilber in 1917
t Suggested by Vernam. Prepare a random number of the same length as the number of characters in the plain text, perform polytable encryption using the random number of as a key, and dispose of the random number. According to this Vernam cryptography, a ciphertext with the following relationship is obtained. Can be Plaintext HELLOW Random number 314159 Ciphertext KFPMTF It is said that this Burnham cryptography has no fear of illegal decryption in principle.

【0005】次に、ベルマン暗号法(Verman cipher)
と言われるものがある。このベルマン暗号法は、電子計
算機の排他的論理和演算を効果的に活用したものであ
る。すなわち、電子計算機では論理演算の排他的論理和
(xor)を用いた暗号化方法が多用されている。これ
はプログラムが簡単で、電子計算機での暗号化と復号化
が極めて高速に行えるからである。通常の電子計算機の
場合、排他的論理和演算は乗算の5分の1以下の短時間
で済む。通常の電子計算機のレジスタは32ビットで、
4文字が格納できる。32ビットの秘密のビットパター
ンKを用意し、これを暗号鍵とする。平文の4文字を
X、暗号の4文字をYとする。 Y=XxorK、X=YxorK で、暗号化と復号化が行える。
Next, Verman cipher
There is something called. This Bellman cryptography effectively utilizes an exclusive OR operation of a computer. That is, in an electronic computer, an encryption method using an exclusive OR (xor) of logical operations is frequently used. This is because the program is simple, and encryption and decryption can be performed at an extremely high speed by a computer. In the case of a normal computer, the exclusive OR operation requires only a short time of 1/5 or less of the multiplication. Normal computer registers are 32 bits,
Can store 4 characters. A 32-bit secret bit pattern K is prepared and used as an encryption key. It is assumed that four characters of plaintext are X and four characters of encryption are Y. With Y = XxorK and X = YxorK, encryption and decryption can be performed.

【0006】1ビットに着目すれば、以下の関係が成り
立つからである。X K XxorK (XxorK)xorK 1 1 0 1 1 0 1 1 0 1 1 0 0 0 0 0 このベルマン暗号法の電子計算機での処理時間は、5単
位/32ビット程度である。ここで、1単位は、電子計
算機の基本命令の処理時間で、マシン・サイクルとも呼
ばれているものである。
This is because the following relationship holds when focusing on one bit. XK XxorK (XxorK) xorK 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 The processing time of this Bellman cryptosystem on an electronic computer is about 5 units / 32 bits. Here, one unit is the processing time of the basic instruction of the computer, which is also called a machine cycle.

【0007】一方、電子計算機を用いて擬似的に乱数を
生成する方法が考えられている。代表的なものに合同法
がある。
On the other hand, there has been proposed a method of generating a pseudo-random number using an electronic computer. A typical one is a joint law.

【0008】乱数を{Rn}で表わせば、その漸化式は
以下の通りである。 Rn+1=((Rn*A)+C)mod M Mには、(2の(電子計算機のレジスタのビット数)
乗)を用いることが多い。AとCは定数である。Mが上
記のような「2のべき乗の数」の場合、Aには8で割っ
て5余る数を、Cには奇数を割り当てるのが適切とされ
ている。
If a random number is represented by {Rn}, its recurrence formula is as follows. Rn + 1 = ((Rn * A) + C) mod M In M, (2 (the number of bits of the register of the computer))
Power) is often used. A and C are constants. When M is the “number of powers of 2” as described above, it is appropriate to assign A to the remainder of 5 by dividing by 8 and C to an odd number.

【0009】ここで、Mは既知であることが多いので、
{Rn}は{R0,A,C}から生成されると考えられ
る。この{R0,A,C}を擬似乱数の種と呼ぶ。電子
計算機の場合、合同法によって擬似乱数を生成するに
は、3つの数{R0,A,C}があればよい。また、電
子計算機では、日付と時刻などを用いて、暗号化の度に
適当な数を選ぶのも容易である。そこで、合同法による
擬似乱数を用いて、擬似的なバーナム暗号を生成するこ
とが考えられる。
Here, since M is often known,
{Rn} is considered to be generated from {R 0 , A, C}. This {R 0 , A, C} is referred to as a seed of a pseudo-random number. In the case of an electronic computer, three numbers {R 0 , A, C} may be used to generate a pseudo-random number by a congruential method. In an electronic computer, it is easy to select an appropriate number for each encryption using date and time. Therefore, it is conceivable to generate a pseudo Vernam cipher using pseudorandom numbers based on a joint method.

【0010】しかし、平文の初めの数文字が既知である
場合にはこの暗号は容易に解読できる。平文の文字をX
n、暗号の文字をYnとすれば、 Y0=X0+R01=X1+(R0*A+C) Y2=X2+((R0*A+C)*A+C) のような{R0,A,C}に関する3元方程式が推定で
きるからである。
However, if the first few characters of the plaintext are known, this cipher can be easily deciphered. X in plain text
Assuming that n and the encryption character are Yn, Y 0 = X 0 + R 0 Y 1 = X 1 + (R 0 * A + C) Y 2 = X 2 + ((R 0 * A + C) * A + C) This is because a ternary equation relating to R 0 , A, C} can be estimated.

【0011】単純な式や漸化式で生成される擬似乱数に
ついては、上記のような方法で不正な解読が可能にな
る。
A pseudorandom number generated by a simple formula or a recurrence formula can be illegally decoded by the above method.

【0012】式や漸化式の項や演算子を増やすだけで
は、電子計算機を用いた不正な解読には安全とは言えな
い。歴史的にはエニグマ暗号の解読例が有名である。エ
ニグマ暗号とは、 擬似乱数{Rn=((C0のn乗 mod M0)* (C1のn乗 mod M1)* ... (Cxのn乗 mod Mx))mod M} を用いた暗号法である。
Simply increasing the number of terms and operators in an equation or recurrence equation is not safe for unauthorized decryption using an electronic computer. Historically, examples of breaking Enigma ciphers are famous. The Enigma cipher uses a pseudo-random number {Rn = ((C 0 n-th mod M 0 ) * (C 1 n-th mod M 1 ) *... (Cx n-th mod Mx)) mod M} It was a cryptographic method.

【0013】[0013]

【発明が解決しようとする課題】このように単純な擬似
乱数を用いた多表式暗号には安全性に問題があり、方式
公開暗号法としては不適切と考えられてきた。
As described above, polytable encryption using a simple pseudo-random number has a problem in security, and has been considered to be inappropriate as a public encryption method.

【0014】しかし、DES(Data encryption Stan
dard)などの暗号法は、ビット操作を含むために処理時
間が長くなるという問題があり、大量データの暗号化に
は適さない。また、将来の多数の通信者間の暗号と期待
されるRSAなどの公開鍵暗号法はDESなどより10
0倍程度処理時間が長くなると言われている。
However, DES (Data encryption Stan)
Cryptographic methods such as dard) have the problem that the processing time is long because of including bit manipulation, and are not suitable for encrypting large amounts of data. In addition, public key cryptography such as RSA, which is expected to be ciphers between a large number of communicating parties in the future, is 10
It is said that the processing time is about 0 times longer.

【0015】ちなみに、公開方式暗号の代表例であるD
ESの通常の電子計算機での処理時間は、SSLeay
と呼ばれるEric Youngのプログラムの場合で、200単
位/32ビット程度である。また、公開鍵暗号の代表例
であるRSAの通常の電子計算機での処理時間は、2
0,000単位/32ビット程度である。
By the way, D, which is a typical example of the public system encryption, is used.
The processing time of a normal computer of ES is SSLea
In the case of Eric Young's program, it is about 200 units / 32 bits. In addition, the processing time of a typical computer using RSA, which is a typical example of public key cryptography, is 2 seconds.
It is about 000 units / 32 bits.

【0016】擬似乱数を用いた暗号法は、電子計算機で
高速に処理できるので、安全性の問題を解決できれば、
大量データの暗号化や公開鍵暗号の実用化に寄与でき
る。
An encryption method using pseudo-random numbers can be processed at high speed by an electronic computer.
It can contribute to the encryption of large amounts of data and the practical use of public key cryptography.

【0017】本発明は、このような事情に鑑みてなされ
たもので、電子計算機で高速に処理でき、かつ、不正な
解読を困難にする擬似乱数を用いた暗号鍵生成方法およ
び暗号化方法を提供することにある。
SUMMARY OF THE INVENTION The present invention has been made in view of such circumstances, and provides an encryption key generation method and an encryption method using pseudo-random numbers that can be processed at high speed by an electronic computer and that make it difficult to perform unauthorized decryption. To provide.

【0018】[0018]

【課題を解決するための手段】上記目的を達成するため
に、本発明は、2つの擬似乱数列を生成し、一方の擬似
乱数列の順序を他方の擬似乱数列の値に基いて変更し、
順序変更後の擬似乱数列を暗号鍵として出力することを
特徴とする。また、前記2つの擬似乱数列のうち一方の
擬似乱数列を、他方の擬似乱数列の全部または一部を用
いて生成することを特徴とする。更に、前記の暗号鍵生
成方法で生成した暗号鍵を用いて暗号化対象のデータを
暗号化することを特徴とする。
In order to achieve the above object, the present invention generates two pseudo-random number sequences and changes the order of one pseudo-random number sequence based on the value of the other pseudo-random number sequence. ,
The pseudo-random number sequence after the order change is output as an encryption key. Further, one of the two pseudo-random number sequences is generated using all or a part of the other pseudo-random number sequence. Further, the present invention is characterized in that data to be encrypted is encrypted using an encryption key generated by the above-described encryption key generation method.

【0019】[0019]

【発明の実施の形態】以下、本発明を図示する実施の形
態に基づいて詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail based on embodiments shown in the drawings.

【0020】図1は、本発明の暗号鍵生成方法を用いて
暗号鍵を生成し、さらにその暗号鍵を用いて平文を暗号
化して出力するシステムの一実施の形態を示すブロック
構成図であり、擬似乱数列の生成、暗号鍵の生成処理を
行う処理装置101と、処理装置101が実行する処理
のプログラムおよび生成された擬似乱数列等を格納する
メモリ102とを備え、メモリ102には、処理装置1
01が生成した暗号鍵に基づいて暗号化処理および復号
化処理を行う暗号化/復号化プログラム103が格納さ
れ、また生成された擬似乱数列等を格納する作業用メモ
リ104を備えて構成される。処理装置101は、電子
計算機または専用の演算装置で構成することができる。
また、暗号化/復号化プログラム103は、処理装置1
01の外部機能として設けることができる。
FIG. 1 is a block diagram showing an embodiment of a system for generating an encryption key using the encryption key generation method of the present invention, and encrypting and outputting plaintext using the encryption key. , A processing device 101 for performing a process of generating a pseudo-random number sequence and a process of generating an encryption key, and a memory 102 for storing a program for the process executed by the processing device 101 and the generated pseudo-random number sequence and the like. Processing device 1
01 stores an encryption / decryption program 103 for performing an encryption process and a decryption process based on the encryption key generated by the device 01, and includes a working memory 104 for storing the generated pseudo-random number sequence and the like. . The processing device 101 can be configured by an electronic computer or a dedicated arithmetic device.
In addition, the encryption / decryption program 103 is
01 as an external function.

【0021】はじめに、本発明の原理について簡単に説
明する。本発明は、2つの擬似乱数列{RXn}、{R
Yn}を生成し、第1の擬似乱数列{RXn}の順序を
第2の擬似乱数列{RYn}の値に基いて変更し、順序
変更後の擬似乱数列{Rn}を生成する。このようにし
て生成された擬似乱数列{Rn}は、{RXn}を攪拌
したものとなる。この擬似乱数列{Rn}を暗号鍵とし
て用い、暗号化処理および復号化処理を実施する。
First, the principle of the present invention will be briefly described. The present invention provides two pseudo-random number sequences {RXn}, {R
Yn}, the order of the first pseudo-random number sequence {RXn} is changed based on the value of the second pseudo-random number sequence {RYn}, and the pseudo-random number sequence {Rn} after the order change is generated. The pseudo-random number sequence {Rn} generated in this way is a mixture of {RXn}. Using the pseudo random number sequence {Rn} as an encryption key, an encryption process and a decryption process are performed.

【0022】この方法によれば、{Rn}の一部から擬
似乱数列の「種」を推定する方程式を作ることは困難で
ある。例え、{Rn}の生成方程式を推定する方法が存
在するとしても、少なくとも配列に記憶される{RX
n}の数以上の{Rn}が必要と予想される。ここで、
{RXn}の攪拌に用いる{RYn}は、{RXn}の
一部または全部を用いるようにしても良く、このように
しても安全性を損なうことはない。{RYn}を{RX
n}の一部または全部を用いるようにした場合、{R
n}の生成時間を更に短縮することができる。
According to this method, it is difficult to create an equation for estimating the "seed" of the pseudo-random sequence from a part of {Rn}. Even if there is a method for estimating the generation equation of {Rn}, at least the {RX
It is anticipated that more than {n} {Rn} will be needed. here,
As for {RYn} used for stirring of {RXn}, part or all of {RXn} may be used, and this does not impair safety. {RYn} to {RX
When part or all of n} is used, {R
The generation time of n} can be further reduced.

【0023】図2および図3は、本発明に対して具体的
な数値を当てはめて擬似乱数列{Rn}が生成される過
程を示したものである。以下、図2および図3を参照し
ながら、本発明の原理を具体的に説明する。
FIGS. 2 and 3 show a process of generating a pseudo-random number sequence {Rn} by applying specific numerical values to the present invention. Hereinafter, the principle of the present invention will be specifically described with reference to FIGS.

【0024】<前提> ・レジスタ長のビット数:4 ・RX(n+1)=(RXn*A+C)modM RYn=RX(n+Q) ・配列V[I]の要素数としてV[0]〜V[Q−1]
のQ個を確保 ・RX0=3、A=5,C=7,M=2の4乗=16,
Q=4<結果> ・In=RYnmodQとし、Rnの値を配列要素V
[In]に格納されている値とした後、配列要素V[I
n]にRYnの値を格納 <過程> (a)RX0〜RX3の算出と格納 RX(n+1)=(RXn*A+C)modM=(RX
n*5+7)mod16 からRX1,RX2,RX3を算出し、RX0,RX1,R
2,RX3の各々を配列要素V[0]〜V[3]に格納 V[0]=RX0=03,V[1]=RX1=06,V
[2]=RX2=05,V[3]=RX3=00(図2
()参照) (b)RYnの算出 RYn=RX(n+4)からRY0,RY1,RY2,R
3,RY4,…を算出 RY0=07, RY1=10, RY2=09, RY3
=04,RY4=11, RY5=14, RY6=1
3, RY7=08,RY8=15, RY9=02,
RY10=01, RY11=12,(図2()参照) (c)Inの算出、V[In]の決定、Rnの決定、V[In]への新擬似乱 数格納 <n=0> ・I0 :I0=RY0modQ=(07)mod4=03 (図2()参照) ・V[I0] :V[3] ・R0 :R0=V[3]=00 (図2()参照) ・V[I0]新格納値:V[3]=RY0=07 (図2()参照) <n=1> ・I1 :I1=RY1modQ=(10)mod4=02 (図2()参照) ・V[I1] :V[2] ・R1 :R1=V[2]=05 (図2()参照) ・V[I1]新格納値:V[2]=RY1=10 (図2()参照) <n=2> ・I2 :I2=RY2modQ=(09)mod4=01 (図2()参照) ・V[I2] :V[1] ・R2 :R2=V[1]=06 (図2()参照) ・V[I2]新格納値:V[1]=RY2=09 (図2()参照) <n=3> ・I3 :I3=RY3modQ=(04)mod4=00 (図2()参照) ・V[I3] :V[0] ・R3 :R3=V[0]=03 (図2()参照) ・V[I2]新格納値:V[0]=RY3=04 (図2()参照) <n=4> ・I4 :I4=RY4modQ=(11)mod4=03 (図2()参照) ・V[I4] :V[3] ・R4 :R4=V[3]=07 (図2()参照) ・V[I4]新格納値:V[3]=RY4=11 (図2()参照) <n=5>以降についても、同様である。
<Premises> • Number of bits of register length: 4 • RX (n + 1) = (RXn * A + C) modM RYn = RX (n + Q) • Number of elements in array V [I], V [0] to V [Q] -1]
RX 0 = 3, A = 5, C = 7, M = 2 to the fourth power = 16,
Q = 4 <Result> In = RYnmmodQ, and the value of Rn is an array element V
After setting the value stored in [In], the array element V [I
n] The value of RYn is stored in <Process> (a) Calculation and storage of RX 0 to RX 3 RX (n + 1) = (RXn * A + C) mod M = (RX
from n * 5 + 7) mod16 calculates RX 1, RX 2, RX 3 , RX 0, RX 1, R
Store each of X 2 and RX 3 in array elements V [0] to V [3] V [0] = RX 0 = 03, V [1] = RX 1 = 06, V
[2] = RX 2 = 05, V [3] = RX 3 = 00 (FIG. 2
(B) Calculation of RYn From RYn = RX (n + 4), RY 0 , RY 1 , RY 2 , R
Calculate Y 3 , RY 4 ,... RY 0 = 07, RY 1 = 10, RY 2 = 09, RY 3
= 04, RY 4 = 11, RY 5 = 14, RY 6 = 1
3, RY 7 = 08, RY 8 = 15, RY 9 = 02,
RY 10 = 01, RY 11 = 12, (see FIG. 2 ()) (c) Calculation of In, determination of V [In], determination of Rn, storage of new pseudorandom number in V [In] <n = 0 > · I 0: I 0 = RY 0 modQ = (07) mod4 = 03 ( FIG. 2 () reference) · V [I 0]: V [3] · R 0: R 0 = V [3] = 00 ( (See FIG. 2) V. [I 0 ] New stored value: V [3] = RY 0 = 07 (see FIG. 2 ()) <n = 1> I 1 : I 1 = RY 1 modQ = (10 ) mod4 = 02 reference (FIG. 2 ()) · V [I 1]: V [2] · R 1: reference R 1 = V [2] = 05 ( FIG. 2 ()) · V [I 1] new stores value: (see Fig. 2 ()) V [2] = RY 1 = 10 <n = 2> · I 2: I 2 = RY 2 modQ = (09) mod4 = 01 ( FIG. 2 () refer) · V [ I 2]: V [1] · R 2: R 2 = V [ ] = 06 (FIG. 2 () refer) · V [I 2] New storage value: V [1] = RY 2 = 09 ( FIG. 2 () refer) <n = 3> · I 3: I 3 = RY 3 modQ = (04) (see Figure 2 ()) mod4 = 00 · V [I 3]: V [0] · R 3: ( see Fig. 2 ()) R 3 = V [0] = 03 · V [I 2] new storage value: V [0] = RY 3 = 04 ( see FIG. 2 ()) <n = 4 > · I 4: see I 4 = RY 4 modQ = ( 11) mod4 = 03 ( FIG. 2 () V [I 4 ]: V [3] R 4 : R 4 = V [3] = 07 (see FIG. 2 ()) V [I 4 ] New stored value: V [3] = RY 4 = 11 (see FIG. 2 ()) The same applies to <n = 5> and thereafter.

【0025】このようにして、以下の擬似乱数列{R
n}が得られる。
As described above, the following pseudo-random number sequence {R
n} is obtained.

【0026】{Rn}={R0=00、R1=05、R2
=06、R3=03、R4=07、R5=10、R6=0
9、a} (図2()参照)。 上記の擬似乱数列{Rn}={00、05、06、0
3、07、10、09、a}を暗号鍵として、例えばシ
ーザー暗号処理を行なうと、平文に対し下記のような暗
号文が得られる。 平文 C I P H E R 暗号鍵 0 5 6 3 7 10 暗号文 C N V K L B 図4は、本発明の暗号鍵生成処理と暗号化処理の手順を
示すフローチャートである。このフローチャートで示す
暗号鍵生成処理では、次の式(1)で第1の擬似乱数列
{RXn}を算出する。 RX(n+1)=(RXn*A+C)modM …(1) また、この擬似乱数列{RXn}の攪拌に用いる{RY
n}は、次の式(2)で算出する。 RYn=RX(n+Q) …(2) なお、図4のフローチャートにおいては、暗号化/復号
化に必要な擬似乱数列{Rn}の要素全てを生成してか
ら一度に暗号化/復号化を行うようにはしておらず、一
つの擬似乱数Rnを算出するごとに語の単位で暗号化/
復号化を行うようにしている。ここでいう語とは、コン
ピュータ内部でデータの長さを表現する場合の一つの単
位を表現する語の意味である。
{Rn} = {R 0 = 00, R 1 = 05, R 2
= 06, R 3 = 03, R 4 = 07, R 5 = 10, R 6 = 0
9, a} (see FIG. 2 ()). The above pseudo-random number sequence {Rn} = {00, 05, 06, 0
When, for example, Caesar encryption processing is performed using 3, 07, 10, 09, a} as an encryption key, the following encrypted text is obtained from the plain text. Plaintext CIPHER encryption key 0 5 6 3 7 10 Encrypted text CNV KLB FIG. 4 is a flowchart showing the procedure of the encryption key generation process and the encryption process of the present invention. In the encryption key generation processing shown in this flowchart, a first pseudo-random number sequence {RXn} is calculated by the following equation (1). RX (n + 1) = (RXn * A + C) modM (1) Also, {RY used for stirring this pseudo-random number sequence {RXn}
n} is calculated by the following equation (2). RYn = RX (n + Q) (2) In the flowchart of FIG. 4, all elements of the pseudo-random number sequence {Rn} required for encryption / decryption are generated and then encrypted / decrypted at once. In this case, each time one pseudo-random number Rn is calculated, encryption /
Decryption is performed. The word here means a word expressing one unit when expressing the length of data inside the computer.

【0027】図5〜図10は、上記の式(1)、(2)
において、RX0=3,A=5,C=7,M=2の8乗
=256,Q=16として、擬似乱数列{Rn}を計算
した場合の配列要素V[0]〜V[Q−1]=V[1
5]の格納値の変化と擬似乱数列{Rn}の具体例を例
示したものである。図11および図12は、平文データ
(1語の4文字)と攪拌された暗号鍵である擬似乱数R
nとの排他的論理和をとって、平文データ(1語の4文
字)を暗号化する過程を示したものである。以下、図4
〜図12を参照して、本発明の暗号鍵生成処理と暗号化
処理を説明する。なお、図4のフローチャートの説明に
おいては、図5〜図12に示す具体例を参照して説明す
る都合上、図4のフローチャート中で使用している定数
等を、下記に示す値とする。 RX0=3,A=5,C=7,M=2の8乗=256,
Q=16 まず、前記の式(1)によって擬似乱数列{RXn}を
算出するために、擬似乱数RXを初期化するためRX=
RX0に設定する(ステップ401)。次に、ステップ
401で初期化した擬似乱数RXを配列要素V[0]に
格納する(ステップ402)。そして、以降の処理で生
成する擬似乱数RXを配列Vに順次格納するための添字
IをI=1に初期化する(ステップ403)。
FIGS. 5 to 10 show the above equations (1) and (2).
, Where RX 0 = 3, A = 5, C = 7, M = 2 to the eighth power = 256, Q = 16, and array elements V [0] to V [Q when the pseudo-random number sequence {Rn} is calculated -1] = V [1
5] and a specific example of the pseudo-random number sequence {Rn}. FIG. 11 and FIG. 12 show a pseudo-random data R as a plaintext data (four characters of one word) and a mixed encryption key.
This shows a process of encrypting plaintext data (4 characters of one word) by taking an exclusive OR with n. Hereinafter, FIG.
The encryption key generation processing and the encryption processing of the present invention will be described with reference to FIGS. In the description of the flowchart of FIG. 4, for the sake of convenience with reference to specific examples shown in FIGS. 5 to 12, the constants and the like used in the flowchart of FIG. RX 0 = 3, A = 5, C = 7, M = 2 to the eighth power = 256,
Q = 16 First, in order to calculate the pseudo-random number sequence {RXn} by the above equation (1), RX =
RX0 is set (step 401). Next, the pseudo random number RX initialized in step 401 is stored in the array element V [0] (step 402). Then, the subscript I for sequentially storing the pseudo random numbers RX generated in the subsequent processing in the array V is initialized to I = 1 (step 403).

【0028】次に、前記の式(1)によって、その次の
擬似乱数RXを算出する(ステップ404)。ステップ
404で算出した擬似乱数RXを添字Iの配列要素V
[I]に格納し(ステップ405)、さらにその次に算
出する擬似乱数RXを格納するための配列要素を指定す
る配列Vの添字Iをプラス1する(ステップ406)。
Next, the next pseudo random number RX is calculated by the above equation (1) (step 404). The pseudo random number RX calculated in step 404 is assigned to the array element V of the subscript I.
It is stored in [I] (step 405), and the suffix I of the array V that specifies the array element for storing the pseudorandom number RX calculated next is incremented by one (step 406).

【0029】ステップ404からステップ406までの
処理を添字Iが所定の値、ここではI=Q=16に達す
るまで繰り返す。この処理により、16個の擬似乱数R
0〜RX15が生成され、この順で配列要素V[0]か
らV[15]に格納される。
The processing from step 404 to step 406 is repeated until the subscript I reaches a predetermined value, here, I = Q = 16. By this processing, 16 pseudo random numbers R
X 0 to RX 15 are generated and stored in this order in array elements V [0] to V [15].

【0030】この結果は、図5〜図10の()に示す
各々の値となる。
The results are the respective values shown in FIGS.

【0031】この後、平文/暗号文データの先頭の語に
ポインタPを位置付け(ステップ408、図11()
参照)、第1の擬似乱数RX(n+Q)兼第2の擬似乱
数RYnを前記式(2)によって算出する(ステップ4
09)。
Thereafter, the pointer P is positioned at the first word of the plaintext / ciphertext data (step 408, FIG. 11 ()).
), A first pseudo-random number RX (n + Q) and a second pseudo-random number RYn are calculated by the above equation (2) (step 4).
09).

【0032】次に、第1の擬似乱数列{RXn}を攪拌
した攪拌乱数Rnを得るため、ステップ410からステ
ップ412を実行する。まず、V[0]からV[Q−
1]=V[15]の擬似乱数RXの中のいずれかを得る
ために、配列Vの添字Inを、次の式(3)によって決
定する(ステップ410)。 In=RX/(2のM乗/Q) …(3) RYn=RX(n+16)の各値を図5の()、これ
らの値に対応するInの値を図5の()に示す。
Next, in order to obtain a stirring random number Rn obtained by stirring the first pseudo random number sequence {RXn}, steps 410 to 412 are executed. First, V [0] to V [Q−
1] = V [15] In order to obtain any of the pseudo random numbers RX, the subscript In of the array V is determined by the following equation (3) (step 410). In = RX / (2M / Q) (3) Each value of RYn = RX (n + 16) is shown in FIG. 5 (), and the value of In corresponding to these values is shown in () of FIG.

【0033】次に、ステップ410で決定した添字In
によって配列要素V[In]を選択し、この配列要素V
[In]に格納されている擬似乱数を攪拌乱数Rnとす
る(ステップ411、図5()参照)。更に、ステッ
プ409で生成したRYnを配列要素V[In]に格納
す(ステップ412)。これにより、ステップ411に
おいて攪拌乱数Rnとして取出された配列要素V[I
n]の内容が新しい擬似乱数RYnに変更される。例え
ば、RYnがRY0=211であると、(3)式の演算
結果であるI0はI0=003となり、配列V[3]が選
択される。したがって、この場合は配列V[3]に格納
されている値V[3]=080が攪拌乱数R0の値とな
る。そして、配列V[3]にはRY0=211の値があ
らためて格納される。また、RYnがRY1=038で
あると、(3)式の演算結果であるI1はI1=006と
なり、配列V[6]が選択される。したがって、この場
合は配列V[6]に格納されている値V[6]=233
が攪拌乱数R1の値となる。そして、配列V[6]には
RY1=038の値があらためて格納される。
Next, the subscript In determined at step 410
To select an array element V [In], and
The pseudo random number stored in [In] is set as the random number Rn (step 411, see FIG. 5 ()). Further, RYn generated in step 409 is stored in array element V [In] (step 412). Thereby, the array element V [I extracted in step 411 as the stirring random number Rn
n] is changed to a new pseudo random number RYn. For example, if RYn is RY 0 = 211 then I 0, which is the calculation result of the equation (3), becomes I 0 = 003, and the array V [3] is selected. Therefore, in this case, the value V [3] = 080 stored in the array V [3] is the value of the random number R 0 . Then, the value of RY 0 = 211 is stored again in the array V [3]. Further, when the RYn is a RY 1 = 038, (3) it 1 is the result of the operation expression is I 1 = 006, and the sequence V [6] is selected. Therefore, in this case, the value V [6] = 233 stored in the array V [6]
There is a value of agitating the random number R 1. Then, the value of RY 1 = 038 is stored again in the array V [6].

【0034】次に、ステップ411において取出した擬
似乱数Rnを鍵としてベルマン暗号処理を行う。具体的
には、ポインタPが指している平文の語とステップ41
1で決定した擬似乱数Rnとの排他的論理和を求め、暗
号化/復号化する(ステップ413)。
Next, Bellman encryption processing is performed using the pseudo random number Rn extracted in step 411 as a key. Specifically, the plaintext word pointed by the pointer P and the step 41
An exclusive OR with the pseudorandom number Rn determined in step 1 is obtained, and encryption / decryption is performed (step 413).

【0035】例えば、ステップ413の1回目の実行、
すなわち暗号鍵RnがR0=080の場合は、平文デー
タの最初の英文字の4字であるA,B,C,Dが図12
(b)の()に示す内容に暗号化される。ステップ4
13の2回目の実行、すなわち暗号鍵RnがR1=23
3の場合は、平文データの次の英文字の4字であるE,
F,G,Hが図12(d)の()に示す内容に暗号化
される。
For example, the first execution of step 413,
That is, when the encryption key Rn is R 0 = 080, the first four letters A, B, C, and D of the plaintext data are changed as shown in FIG.
(B) Encrypted contents shown in (). Step 4
13, the encryption key Rn is R 1 = 23
In the case of 3, E, which is the next four English characters of the plaintext data,
F, G, and H are encrypted to the contents shown in parentheses in FIG.

【0036】ステップ413の実行により1語4文字の
暗号化/復号化が終わったことになるので、ポインタP
を次の語に位置付ける(ステップ414)。次に、処理
対象の平文データ/暗号文データの終わりであるか否か
を判断し(ステップ415)、平文データ/暗号文デー
タの最後の語まで暗号化/復号化が終了していれば、処
理を終了し、最後の語まで暗号化/復号化が終了してい
なければ、ステップ409に戻り、同様のことを繰り返
すことによって平文データを暗号化または暗号文データ
を復号化する。このステップ409からステップ415
に至る処理を繰り返すことにより、第2の擬似乱数列
{RYn}で攪拌された第1の擬似乱数列{RXn}、
すなわち攪拌暗号鍵擬似乱数列{Rn}によって操作対
象データが暗号化/復号化されたものとなる。
The execution of step 413 means that the encryption / decryption of one character and four characters has been completed.
Is positioned to the next word (step 414). Next, it is determined whether or not the end of the plaintext data / ciphertext data to be processed is reached (step 415). If the encryption / decryption has been completed up to the last word of the plaintext data / ciphertext data, When the processing is completed and the encryption / decryption is not completed up to the last word, the process returns to step 409, and the same operation is repeated to encrypt the plaintext data or decrypt the ciphertext data. Steps 409 to 415
, The first pseudo-random number sequence {RXn} stirred by the second pseudo-random number sequence {RYn},
That is, the operation target data is encrypted / decrypted by the agitation encryption key pseudo random number sequence {Rn}.

【0037】ところで、本発明によると、配列Vの要素
数を256個とした場合、256個の32ビットデータ
が必要になる。これは、連続する1024文字の平文が
既知であることを意味している。従って、攪拌暗号鍵擬
似乱数列{Rn}の生成方法を推定できたとしても、連
続する1024文字の平文まで推定できるとは考え難
い。さらに、前述したバーナム暗号の要点は「乱数は使
い捨て」ということである。これは、擬似乱数生成の元
になる数(擬似乱数の種)を暗号化のたびに変更するこ
とで実施できる。
According to the present invention, when the number of elements of the array V is 256, 256 32-bit data are required. This means that a continuous text of 1024 characters is known. Therefore, even if the method of generating the agitation encryption key pseudo-random number sequence {Rn} can be estimated, it is difficult to imagine that it is possible to estimate up to 1024 consecutive plaintexts. Furthermore, the key point of the above-mentioned Vernam cipher is that “random numbers are disposable”. This can be performed by changing the number (seed of the pseudorandom number) from which the pseudorandom number is generated every time encryption is performed.

【0038】擬似乱数を使い捨てにするためには、暗号
化の度に{RX0,A,C}を生成すれば良い。そこ
で、Ntを日付と時刻から求める値、Ndを平文データ
から求める値とすれば、NtとNdは暗号化の度に変わ
る値である。それを用いて以下の計算を行う。 RX0=Nt+Nd A =(RX0*8+5)mod(2の23乗) C =(RX0*2+1)mod(2の15乗) 擬似乱数の種は、NtとNdの2つで、通常は64ビッ
トに収まるようにすることができる。そこで、この擬似
乱数の種をDESやRSAなどの安全な暗号処理で暗号
化して必要箇所(例えば通信相手先)に送付する。そし
て、この擬似乱数の種を用いて前記の擬似乱数列{R
n}を送信元と送信先で生成し、生成した擬似乱数列
{Rn}によって送信側では暗号化処理を行い、受信側
では復号化処理を行うことにより、安全性の高い通信が
可能になる。DESなどの方式公開暗号を用いてこの擬
似乱数の種を暗号化した場合は、本発明全体が方式公開
暗号となり、RSAなどの公開鍵暗号を用いてこの擬似
乱数の種を暗号化した場合は、本発明全体が公開鍵暗号
となる。
In order to make the pseudo-random number disposable, it is sufficient to generate {RX 0 , A, C} every time encryption is performed. Therefore, if Nt is a value obtained from date and time and Nd is a value obtained from plaintext data, Nt and Nd are values that change every time encryption is performed. The following calculation is performed using it. RX 0 = Nt + Nd A = (RX 0 * 8 + 5) mod (2 to the 23rd power) C = (RX 0 * 2 + 1) mod (2 to the 15th power) The seeds of the pseudo-random numbers are Nt and Nd. It can fit in 64 bits. Therefore, the seed of the pseudorandom number is encrypted by a secure encryption process such as DES or RSA and transmitted to a necessary portion (for example, a communication partner). Then, using the seed of the pseudorandom number, the pseudorandom number sequence {R
n} is generated at the transmission source and the transmission destination, and encryption processing is performed on the transmission side by the generated pseudo-random number sequence {Rn}, and decryption processing is performed on the reception side, thereby enabling highly secure communication. . If the seed of this pseudo-random number is encrypted using a public encryption scheme such as DES, the entire present invention becomes a public encryption scheme. If the seed of this pseudo-random number is encrypted using public key encryption such as RSA, Thus, the whole invention becomes public key cryptography.

【0039】ところで、2のべき乗で割ったり、余りを
求めたりすることは、通常の電子計算機では基本命令と
して実装される。従って、本実施形態の通常の電子計算
機での処理時間は、以下のように、20単位/32ビッ
ト程度である。 擬似乱数の算出乗算(10単位)と加算(1単位) 添字の決定 シフト(1単位) 攪拌乱数出力 転送(1単位) 暗号化/復号化 排他的論理和(1単位)と加算(1単位) 擬似乱数記録 転送(1単位) ループ処理 加算(1単位)と判定分岐(1単位) 合計 18単位 例えば、電子計算機の暗号処理では131,072ビッ
ト(16,384文字)を暗号化の単位としている例が
多い。この16,384文字データの暗号化/復号化の
DESおよび本発明での処理時間は以下のようになり、
本発明の処理時間はDESの約10分の1である。 [DESの処理時間] 200単位*(16,384文字/4文字)=819,
200単位 [本発明の処理時間] 準備 (200単位*2)+(20単位*256)+100単位
=5,620単位 ただし、上記(20単位*256)の256は定数Qを
Q=256とした場合の値である。 暗号化/復号化 20単位*(16,384文字/4文字)=81,92
0単位 計 +=5,620単位+81,920単位=
87,540単位 本発明を用いた場合の安全性は「擬似乱数の種」に施す
暗号の安全性にだけ依存するため、本発明を用いること
により、DESに代表される対称暗号法やRSAに代表
される公開鍵暗号法の安全性を損なわないまま、暗号化
/復号化処理を大幅に高速化できる。
By the way, dividing by a power of 2 or finding a remainder is implemented as a basic instruction in an ordinary computer. Therefore, the processing time in a normal computer of this embodiment is about 20 units / 32 bits as follows. Pseudorandom number calculation Multiplication (10 units) and addition (1 unit) Subscript determination Shift (1 unit) Stirring random number output Transfer (1 unit) Encryption / decryption Exclusive OR (1 unit) and addition (1 unit) Pseudorandom number recording Transfer (1 unit) Loop processing Addition (1 unit) and decision branch (1 unit) Total 18 units For example, in encryption processing of a computer, 131,072 bits (16,384 characters) are used as the unit of encryption. There are many examples. The processing time in the DES for encryption / decryption of the 16,384 character data and the processing time in the present invention is as follows.
The processing time of the present invention is about one tenth of DES. [DES processing time] 200 units * (16,384 characters / 4 characters) = 819,
200 units [Processing time of the present invention] Preparation (200 units * 2) + (20 units * 256) +100 units = 5,620 units However, in the above (20 units * 256) 256, the constant Q is Q = 256. The value of the case. Encryption / decryption 20 units * (16,384 characters / 4 characters) = 81,92
0 units Total + = 5,620 units + 81,920 units =
87,540 units Since the security in the case of using the present invention depends only on the security of the encryption applied to the “seed of pseudo-random numbers”, by using the present invention, the symmetric encryption method represented by DES or the RSA The encryption / decryption processing can be significantly speeded up without impairing the security of the representative public key cryptography.

【0040】[0040]

【発明の効果】以上説明したように、本発明によれば、
電子計算機で高速に処理でき、かつ、不正な解読を困難
にする擬似乱数を用いた暗号鍵を生成することができ
る。また、その暗号鍵を用いて暗号対象データを暗号化
することにより、高速で、安全性の高いデータを送受す
ることが可能になるなどの効果がある。特に、インタネ
ット等の通信媒体が一般市民レベルで広範に使用される
ようになってきた現在では、パーソナルコンピュータな
どの汎用のコンピュータで電子商取引き等の高度のセキ
ュリティを必要とする通信が現実化しており、このよう
な環境において、本発明を適用することにより、高速か
つ安全性の高いデータ送受信を行い、かつ通信トラフィ
ックの削減などを図ることに大きく貢献することができ
る。
As described above, according to the present invention,
It is possible to generate an encryption key using pseudo-random numbers that can be processed at high speed by an electronic computer and makes unauthorized decryption difficult. In addition, by encrypting the data to be encrypted using the encryption key, it is possible to transmit and receive data at high speed and with high security. In particular, now that communication media such as the Internet have been widely used at the general public level, communications requiring high security such as e-commerce using general-purpose computers such as personal computers have been realized. In such an environment, by applying the present invention, it is possible to greatly contribute to high-speed and highly secure data transmission and reception, and to reduce communication traffic.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明による暗号鍵を生成するシステムの一実
施の形態を示すブロック構成図である。
FIG. 1 is a block diagram showing an embodiment of a system for generating an encryption key according to the present invention.

【図2】本発明を用いて生成した擬似乱数列の例を示す
図である。
FIG. 2 is a diagram illustrating an example of a pseudo-random number sequence generated using the present invention.

【図3】図2の続きを示す図である。FIG. 3 is a view showing a continuation of FIG. 2;

【図4】本発明の暗号鍵生成方法と暗号化方法の処理手
順を示すフローチャートである。
FIG. 4 is a flowchart showing a processing procedure of an encryption key generation method and an encryption method of the present invention.

【図5】擬似乱数列{Rn}を計算した場合の配列要素
V[0]〜V[Q−1]=V[15]の格納値の変化と
擬似乱数列{Rn}の具体例を例示した図である。
FIG. 5 illustrates a change in stored values of array elements V [0] to V [Q-1] = V [15] when a pseudo random number sequence {Rn} is calculated and a specific example of a pseudo random number sequence {Rn}. FIG.

【図6】図5の続きを示す図である。FIG. 6 is a view showing a continuation of FIG. 5;

【図7】図5の続きを示す図である。FIG. 7 is a view showing a continuation of FIG. 5;

【図8】図5の続きを示す図である。FIG. 8 is a view showing a continuation of FIG. 5;

【図9】図5の続きを示す図である。FIG. 9 is a view showing a continuation of FIG. 5;

【図10】図5の続きを示す図である。FIG. 10 is a view showing a continuation of FIG. 5;

【図11】平文データ(1語の4文字)と攪拌された暗
号鍵である擬似乱数Rnとの排他的論理和をとって、平
文データ(1語の4文字)を暗号化する過程を示した図
である。
FIG. 11 shows a process of encrypting the plaintext data (four characters of one word) by taking an exclusive OR of the plaintext data (four characters of one word) and the pseudo-random number Rn which is a mixed encryption key. FIG.

【図12】平文データ(1語の4文字)と攪拌された暗
号鍵である擬似乱数Rnとの排他的論理和結果を示す図
である。
FIG. 12 is a diagram illustrating an exclusive OR result of plaintext data (four characters of one word) and a pseudo random number Rn that is a mixed encryption key.

【符号の説明】[Explanation of symbols]

101:処理装置、102:メモリ、103:暗号化/
復号化プログラム。
101: processing device, 102: memory, 103: encryption /
Decryption program.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 計算機または専用の演算装置を用いて暗
号鍵を生成する方法であって、 2つの擬似乱数列を生成し、一方の擬似乱数列の順序を
他方の擬似乱数列の値に基いて変更し、順序変更後の擬
似乱数列を暗号鍵として出力することを特徴とする暗号
鍵生成方法。
1. A method for generating an encryption key using a computer or a dedicated arithmetic device, comprising: generating two pseudo-random number sequences; and ordering one of the pseudo-random number sequences based on the value of the other pseudo-random number sequence. And outputting the pseudo-random number sequence after the order change as an encryption key.
【請求項2】 前記2つの擬似乱数列のうち一方の擬似
乱数列を、他方の擬似乱数列の全部または一部を用いて
生成することを特徴とする請求項1記載の暗号鍵生成方
法。
2. The encryption key generating method according to claim 1, wherein one of the two pseudo-random number sequences is generated using all or a part of the other pseudo-random number sequence.
【請求項3】 請求項1または請求項2の暗号鍵生成方
法で生成した暗号鍵を用いて暗号化対象のデータを暗号
化することを特徴とする暗号化方法。
3. An encryption method, wherein data to be encrypted is encrypted using an encryption key generated by the encryption key generation method according to claim 1.
JP10149024A 1998-05-29 1998-05-29 Cipher key formation and encryption method Pending JPH11338347A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10149024A JPH11338347A (en) 1998-05-29 1998-05-29 Cipher key formation and encryption method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10149024A JPH11338347A (en) 1998-05-29 1998-05-29 Cipher key formation and encryption method

Publications (1)

Publication Number Publication Date
JPH11338347A true JPH11338347A (en) 1999-12-10

Family

ID=15466011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10149024A Pending JPH11338347A (en) 1998-05-29 1998-05-29 Cipher key formation and encryption method

Country Status (1)

Country Link
JP (1) JPH11338347A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002245154A (en) * 2001-02-15 2002-08-30 Satoshi Kemi Resources saving service, shopping bag used for the same and method for identifying user for the same
JP2008165008A (en) * 2006-12-28 2008-07-17 Megachips Lsi Solutions Inc Data processor and data processing method
KR101039487B1 (en) 2001-11-13 2011-06-08 에릭슨 인크. Secure handling of stored-value data objects
CN113572592A (en) * 2021-06-16 2021-10-29 昆明理工大学 Asymmetric key encryption method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002245154A (en) * 2001-02-15 2002-08-30 Satoshi Kemi Resources saving service, shopping bag used for the same and method for identifying user for the same
KR101039487B1 (en) 2001-11-13 2011-06-08 에릭슨 인크. Secure handling of stored-value data objects
JP2008165008A (en) * 2006-12-28 2008-07-17 Megachips Lsi Solutions Inc Data processor and data processing method
CN113572592A (en) * 2021-06-16 2021-10-29 昆明理工大学 Asymmetric key encryption method

Similar Documents

Publication Publication Date Title
JP4828068B2 (en) Computer efficient linear feedback shift register
US5623549A (en) Cipher mechanisms with fencing and balanced block mixing
US6189095B1 (en) Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
Mitali et al. A survey on various cryptography techniques
EP1191739B1 (en) Stream cipher encryption application accelerator and methods thereof
JP2005527853A (en) Advanced Encryption Standard (AES) hardware cryptography engine
Lamba Design and analysis of stream cipher for network security
JP2000511755A (en) How to encrypt binary code information
JPWO2006019152A1 (en) Message authenticator generation device, message authenticator verification device, and message authenticator generation method
Skrobek Cryptanalysis of chaotic stream cipher
EP0996250A2 (en) Efficient block cipher method
CN107896149A (en) 128 symmetric encryption methods based on three group operationes
JPH11338347A (en) Cipher key formation and encryption method
Ledda et al. Enhancing IDEA algorithm using circular shift and middle square method
JPH1117673A (en) Common key encryption communication method and its communication network
Venkatesha et al. AES based algorithm for image encryption and decryption
JP3358953B2 (en) Pseudo-random bit string generator and cryptographic communication method using the same
JP3358954B2 (en) Pseudo-random bit string generator and cryptographic communication method using the same
Paar et al. The data encryption standard (DES) and alternatives
Henricksen Tiny Dragon-an encryption algorithm for wireless sensor networks
JPH10303881A (en) Enciphering and decoding device, and method
Amro et al. Known-plaintext attack and improvement of PRNG-based text encryption
Banoth et al. Security Standards for Classical and Modern Cryptography
Wali et al. Effective coding and performance evaluation of the Rijndael algorithm (AES)
Reddy et al. Secure Encryption Framework for Multi-Cloud Environments: Leveraging Symmetric and Asymmetric Encryption

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040623