JPS6343754B2 - - Google Patents

Info

Publication number
JPS6343754B2
JPS6343754B2 JP58251761A JP25176183A JPS6343754B2 JP S6343754 B2 JPS6343754 B2 JP S6343754B2 JP 58251761 A JP58251761 A JP 58251761A JP 25176183 A JP25176183 A JP 25176183A JP S6343754 B2 JPS6343754 B2 JP S6343754B2
Authority
JP
Japan
Prior art keywords
random number
random numbers
buffer memory
random
number generator
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.)
Expired
Application number
JP58251761A
Other languages
Japanese (ja)
Other versions
JPS60142387A (en
Inventor
Mitsuo Ooiso
Kazuo Kamaga
Tomohiro Umibe
Koji Nimata
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP58251761A priority Critical patent/JPS60142387A/en
Publication of JPS60142387A publication Critical patent/JPS60142387A/en
Publication of JPS6343754B2 publication Critical patent/JPS6343754B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 (A) 発明の技術分野 本発明は乱数混合回路、特に例えば暗号用乱数
発生器と共に使用されるものであつて、乱数解析
を困難にするため、圧縮変形を行うとともに、圧
縮変換により捨てる乱数を用いて転置を行う乱数
混合回路に関するものである。
[Detailed Description of the Invention] (A) Technical Field of the Invention The present invention relates to a random number mixing circuit, which is used in particular with a random number generator for cryptography. , relates to a random number mixing circuit that performs transposition using random numbers discarded by compression conversion.

(B) 技術の背景と問題点 乱数発生方式には、例えば「数理科学No.203
(May、1980)第77頁〜」に示されるように、多
くの種類があるが、暗号機で多く用いられるのは
連鎖乱数である。連鎖乱数には、中央2乗法によ
るもの、合同法によるもの、混合合同法によるも
の、Feedback Shift Registerによるものなどが
あり、これらは一般に使用する乱数としては充分
であつても、暗号機用乱数としてみるとき、一部
の乱数列から乱数発生アルゴリズムを解析される
おそれがあるため、そのままでは使用できない。
そこで、乱数を圧縮変換したり転置したりして、
乱数解析を困難にすることが考えられている。
(B) Technical background and problems Random number generation methods include, for example, “Mathematical Science No. 203
(May, 1980), p. 77~, there are many types, but the one most often used in cryptographic machines is chained random numbers. Chained random numbers include those based on the central square method, those based on the congruential method, those based on the mixed congruential method, and those based on the Feedback Shift Register. Although these are sufficient as random numbers for general use, they are insufficient as random numbers for cryptographic machines. When looking at a random number sequence, the random number generation algorithm may be analyzed from a part of the random number sequence, so it cannot be used as is.
Therefore, by compressing or transposing the random numbers,
It is thought that this makes random number analysis difficult.

圧縮変換と転置の例として、アメリカ標準局の
定めたデータ・エンクリブシヨン・システム
(DES)暗号の例を示す。
As an example of compression conversion and transposition, we will use the Data Enclosure System (DES) encryption established by the American Bureau of Standards.

第1図は圧縮変換の例を説明するための図であ
つて、6ビツトの乱数を4ビツトの乱数に圧縮変
換するものである。6ビツト入力のうちの2ビツ
ト(0〜3)で、第1図に示す縦列を、残りの4
ビツト(0〜15)で横列を選択し、交点の0ない
し15の4ビツトの乱数を出力する。
FIG. 1 is a diagram for explaining an example of compression conversion, in which a 6-bit random number is compressed and converted into a 4-bit random number. Two bits (0 to 3) of the 6-bit input change the column shown in Figure 1 to the remaining 4 bits.
Select a row using bits (0 to 15) and output a 4-bit random number from 0 to 15 at the intersection.

第2図は転置の例を説明するための図である。
転置の場合、言わば数値の場所を置き換える。例
えば、32本の信号線に0〜31の番号を付与する。
そして、入力の1本を4進×8進で表現したと
き、第2図で表わした出力線と結ぶ。このように
して、32本から他の32本への転置を行う。
FIG. 2 is a diagram for explaining an example of transposition.
In the case of transposition, you replace the location of a number, so to speak. For example, numbers 0 to 31 are assigned to 32 signal lines.
Then, when one of the input lines is expressed in quaternary x octal notation, it is connected to the output line shown in FIG. In this way, 32 lines are transposed to the other 32 lines.

以上のような圧縮変換や転置は、一見非常に複
雑であるが、論理を固定したまま多量のデータを
扱うと、統計的に解読されるおそれがある。ま
た、暗号機そのものを盗まれたときや、上記
DESのように公表されたときには、暗号解読者
にとつては、作業量が多少増す効果しかない。
Compression conversion and transposition as described above may seem very complicated at first glance, but if a large amount of data is handled with the logic fixed, there is a risk that it will be statistically deciphered. Also, if the encryption machine itself is stolen or
When a code is made public like DES, it only has the effect of slightly increasing the amount of work for codebreakers.

(C) 発明の目的と構成 本発明は上記問題点の解決を図り、従来のよう
な固定的変換ではなく、使用する度に変化するよ
うな変換を行い、統計的に変換アルゴリズムを推
定できなくするばかりか、例えば暗号機に利用し
た場合に、その暗号機が盗まれ、変換アルゴリズ
ムが判つても、なお解析できないような乱数混合
回路を提供することを目的としている。そのた
め、本発明の乱数混合回路は、乱数発生器と共に
用いられ、上記乱数発生器が発生する乱数の圧縮
変換または/および転置を行う乱数混合回路にお
いて、乱数発生器から供給されるa桁からなる乱
数を記憶するb個のバツフアーメモリと、該b個
のバツフアーメモリからc桁のデータを取り出す
手段と、上記c桁のデータのうちの一部を出力し
一部を次に選択するバツフアーメモリのアドレス
に使用する手段とをそなえたことを特徴としてい
る。以下、図面を参照しつつ、実施例に従つて説
明する。
(C) Purpose and Structure of the Invention The present invention aims to solve the above-mentioned problems, and instead of using fixed conversion as in the past, it performs a conversion that changes each time it is used, making it impossible to statistically estimate the conversion algorithm. In addition, it is an object of the present invention to provide a random number mixing circuit that, when used in a cryptographic machine, for example, will not be able to be analyzed even if the cryptographic machine is stolen and the conversion algorithm is known. Therefore, the random number mixing circuit of the present invention is used together with a random number generator, and in the random number mixing circuit that performs compression conversion and/or transposition of the random numbers generated by the random number generator, the random number mixing circuit consists of a digits supplied from the random number generator. b buffer memories for storing random numbers, means for taking out c-digit data from the b buffer memories, and a buffer for outputting a part of the c-digit data and selecting a part for the next time. It is characterized in that it has a means for use in addressing the far memory. Hereinafter, embodiments will be described with reference to the drawings.

(D) 発明の実施例 第3図は本発明の一実施例構成、第4図は第3
図図示実施例の動作を説明するための図を示す。
(D) Embodiment of the invention FIG. 3 shows the configuration of an embodiment of the invention, and FIG.
FIG. 3 shows a diagram for explaining the operation of the illustrated embodiment.

図中、B0ないしB9はバツフアーメモリ、1
は乱数発生器、2はアドレス・レジスタ、3はデ
コーダ、A0ないしA19はアンド回路を表わ
す。
In the figure, B0 to B9 are buffer memories, 1
is a random number generator, 2 is an address register, 3 is a decoder, and A0 to A19 are AND circuits.

本発明による乱数混合回路は、次のような原理
による。乱数発生器が発生する乱数を、ある桁で
区分し、その一部を出力する。これ自体は、単純
な圧縮変換と同様と考えてよい。そして、圧縮変
換により出力しなかつた乱数を用いて、次に使用
する区分点を選ぶ。すなわち、転置に相当する処
理を、圧縮変換により捨てられる乱数で行う。
The random number mixing circuit according to the present invention is based on the following principle. The random numbers generated by the random number generator are divided into certain digits and a part of them is output. This itself can be considered to be similar to simple compression conversion. Then, using the random numbers that were not output due to compression conversion, the next division point to be used is selected. That is, processing equivalent to transposition is performed using random numbers discarded by compression conversion.

乱数列の一部を捨てると、暗号解読者は捨てら
れた乱数を推測しながら、乱数発生のアルゴリズ
ムを探さなければならないため、作業量が増加す
る。捨てる量が多いほど、作業量が増加すること
になる。次に、乱数により転置した乱数は、乱数
を仮定して復元しても、仮定が正しいことを示す
手掛りがない。この両者を組合せることにより、
解析強度大なる乱数が得られる上、入力乱数と出
力乱数間の使用効率の良い乱数混合回路が得られ
る。
When part of a random number sequence is discarded, codebreakers have to guess the discarded random numbers and search for an algorithm to generate random numbers, which increases the amount of work they do. The more you throw away, the more work you will have to do. Next, even if the random numbers transposed by random numbers are restored assuming random numbers, there is no clue that the assumption is correct. By combining these two,
Not only can random numbers with high analysis strength be obtained, but also a random number mixing circuit with high utilization efficiency between input random numbers and output random numbers can be obtained.

第3図において、乱数発生器1は、例えば混合
合同法やFSR方式などによつて、連鎖的に乱数
を発生させるものである。乱数発生器1にて作ら
れた乱数は、バツフアーメモリB0〜B9にアン
ド回路A0〜A9を経て格納される。アドレス・
レジスタ2は、バツフアーメモリB0〜B9のう
ちの1つを指定するレジスタである。アドレス・
レジスタ2が指定したアドレスは、デコーダ3で
デコードされ、バツフアーメモリの出力および入
力の選択信号となる。
In FIG. 3, a random number generator 1 generates random numbers in a chain by, for example, the mixed congruence method or the FSR method. Random numbers generated by the random number generator 1 are stored in buffer memories B0 to B9 via AND circuits A0 to A9. address·
Register 2 is a register that specifies one of buffer memories B0 to B9. address·
The address designated by the register 2 is decoded by the decoder 3 and becomes a selection signal for the output and input of the buffer memory.

例えば、アドレス・レジスタ2が、バツフアー
メモリB6のアドレスを示すとき、デコーダ3の
出力により、バツフアーメモリB6が選択され、
バツフアーメモリB6の内容がアンド回路A16
を経て取り出される。これと同時に乱数発生器1
により作られた乱数が、バツフアーメモリB6の
桁数分だけ、アンド回路A6を経て設定される。
バツフアーメモリB6から取り出されたデータ
は、その一部が出力乱数とされ、残部は、次のバ
ツフアーメモリB0〜B9の選択のために、アド
レス・レジスタ2にセツトされる。以下同様に乱
数の出力が繰り返されるようになつている。
For example, when address register 2 indicates the address of buffer memory B6, buffer memory B6 is selected by the output of decoder 3,
The contents of buffer memory B6 are AND circuit A16
It is taken out after passing through. At the same time, random number generator 1
The random numbers generated are set by the number of digits in the buffer memory B6 via the AND circuit A6.
A part of the data taken out from buffer memory B6 is used as an output random number, and the rest is set in address register 2 for selection of the next buffer memory B0 to B9. Random numbers are then repeatedly output in the same way.

次に、第4図を参照して、第3図図示回路によ
る乱数混合例を説明する。
Next, referring to FIG. 4, an example of random number mixing using the circuit shown in FIG. 3 will be described.

第4図イに図示した乱数列は、乱数発生器1が
発生したもので、次式に基づいて生成されてい
る。
The random number sequence shown in FIG. 4A is generated by the random number generator 1, and is generated based on the following equation.

Xi+1≡581Xi+781(mod1000) この式によつて得られる乱数を、第4図イ図示
のように、3桁で区切り、10項づつ横に並べる
と、上下欄において末尾桁の並びが、「3、6、
9、2、5、………」と同じになり、規則性が見
出される。また、上欄の中間桁に3を加えたもの
が下欄の中間桁となつており、この点にも明らか
に規則性がある。この規則性を解除して、解析を
困難にするために、次のように第3図図示回路を
用いる。
X i +1 ≡581 But “3, 6,
9, 2, 5, ......'', and regularity is found. Furthermore, the middle digit in the lower column is the middle digit in the upper column plus 3, and there is clearly a regularity in this point as well. In order to eliminate this regularity and make analysis difficult, the circuit shown in FIG. 3 is used as follows.

まず、乱数発生器1が発生する上記乱数を、2
桁づつバツフアーメモリB0〜B9へ初期設定す
る。第4図ロ図示の如く、バツフアーメモリB0
には、「723」のうちの「72」が、バツフアーメモ
リB1には「723」の末尾桁と「786」の最上位桁
との組合わせによる「37」が、またバツフアーメ
モリB2には、「786」のうちの「86」がというよ
うに、順次バツフアーメモリB9まで2桁づつ値
が設定されることになる。ここで、アドレス・レ
ジスタ2が「0」に初期設定されているとする
と、最初にバツフアーメモリB0が選択され、そ
のデータ「72」がアンド回路A10を経由して取
り出される。そして、例えば左桁の「7」を出力
乱数とし、右桁「2」を次のアドレスに使用する
ために、アドレス・レジスタ2へ設定する。な
お、バツフアーメモリB0からデータを取り出す
際に、乱数発生器1から供給される次の乱数
「15」が、アンド回路A0を経由して、新たにバ
ツフアーメモリB0にセツトされる。
First, the random number generated by random number generator 1 is 2
Initialize buffer memories B0 to B9 digit by digit. As shown in Figure 4B, buffer memory B0
"72" out of "723" is stored in buffer memory B1, "37" which is the combination of the last digit of "723" and the most significant digit of "786" is stored in buffer memory B2, and "37" is stored in buffer memory B2. The values are sequentially set two digits at a time up to buffer memory B9, such as "86" out of "786". Here, assuming that address register 2 is initialized to "0", buffer memory B0 is selected first, and its data "72" is taken out via AND circuit A10. Then, for example, the left digit "7" is set as the output random number, and the right digit "2" is set in the address register 2 to be used for the next address. Note that when data is taken out from the buffer memory B0, the next random number "15" supplied from the random number generator 1 is newly set in the buffer memory B0 via the AND circuit A0.

次の出力には、アドレス・レジスタ2の保持す
る値が「2」であるから、バツフアーメモリB2
が選択され、同様に、左桁の「8」が出力乱数と
され、右桁の「6」が次回のアドレスとされる。
このとき、バツフアーメモリB2には、新たに次
の2桁の乱数「04」がセツトされる。続いて、バ
ツフアーメモリB6が選択され、同様に出力が繰
り返される。すなわち、第4図ロに図示したよう
に、、、、、………、の順番で動作し
て行くことになる。このようにして得られた出力
乱数の結果は、第4図ハ図示の如くになり、規則
性を持たないものとなる。
In the next output, since the value held by address register 2 is "2", buffer memory B2
is selected, and similarly, "8" in the left digit is set as the output random number, and "6" in the right digit is set as the next address.
At this time, the next two-digit random number "04" is newly set in the buffer memory B2. Subsequently, buffer memory B6 is selected and output is repeated in the same manner. That is, as shown in FIG. 4B, the operations are performed in the following order. The output random numbers obtained in this way are as shown in FIG. 4C, and have no regularity.

上記実施例においては、バツフアーメモリから
の乱数の取り出しと、次の乱数の補給とを同時に
行うとして説明したが、これを別回路とし、乱数
の補給順も乱数によつて決めるようにしてもよ
い。また、乱数取り出し桁数と補給桁数とを変え
て実施してもよい。さらに、バツフアーメモリか
ら取り出す乱数のうち、どの部分を出力乱数と
し、どの部分をアドレスとし、またはどの部分を
廃棄するかについては、任意に割振ることができ
る。供給する乱数も、1個の乱数発生器とは限ら
ず、2個以上の乱数発生器からの出力を供給し
て、実施することもできる。
In the above embodiment, it has been explained that the retrieval of random numbers from the buffer memory and the replenishment of the next random number are performed at the same time, but it is also possible to use a separate circuit for this and to also decide the order of replenishment of random numbers based on the random numbers. good. Further, the number of random number extraction digits and the number of replenishment digits may be changed. Furthermore, it is possible to arbitrarily allocate which part of the random numbers taken out from the buffer memory should be used as output random numbers, which part should be used as addresses, and which part should be discarded. The random number to be supplied is not limited to one random number generator, and it is also possible to supply outputs from two or more random number generators.

(E) 発明の効果 以上説明した如く本発明によれば、解析強度の
大なる乱数列を、比較的単純な乱数列からも、得
ることができる。たとえ、混合アルゴリズムが判
明していても、得られた乱数列から、元の乱数発
生アルゴリズムを解析することは不可能に近いと
言つてよく、例えば暗号機に応用した場合に、効
果が大きい。回路は、非常に単純で、素子も少数
でよく、経済的に設計可能である。
(E) Effects of the Invention As explained above, according to the present invention, a random number sequence with high analysis strength can be obtained even from a relatively simple random number sequence. Even if the mixed algorithm is known, it is nearly impossible to analyze the original random number generation algorithm from the resulting random number sequence, and this is particularly effective when applied to cryptographic machines, for example. The circuit is very simple, requires a small number of components, and can be designed economically.

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

第1図は圧縮変換の例を説明するための図、第
2図は転置の例を説明するための図、第3図は本
発明の一実施例構成、第4図は第3図図示実施例
の動作を説明するための図を示す。 図中、1は乱数発生器、2はアドレス・レジス
タ、3はデコーダ、B0ないしB9はバツフアー
メモリを表わす。
Fig. 1 is a diagram for explaining an example of compression conversion, Fig. 2 is a diagram for explaining an example of transposition, Fig. 3 is a configuration of an embodiment of the present invention, and Fig. 4 is an illustration of the implementation shown in Fig. 3. A diagram for explaining the operation of an example is shown. In the figure, 1 is a random number generator, 2 is an address register, 3 is a decoder, and B0 to B9 are buffer memories.

Claims (1)

【特許請求の範囲】[Claims] 1 乱数発生器と共に用いられ、上記乱数発生器
が発生する乱数の圧縮変換または/および転置を
行う乱数混合回路において、乱数発生器から供給
されるa桁からなる乱数を記憶するb個のバツフ
アーメモリと、該b個のバツフアーメモリからc
桁のデータを取り出す手段と、上記c桁のデータ
のうちの一部を出力し一部を次に選択するバツフ
アーメモリのアドレスに使用する手段とをそなえ
たことを特徴とする乱数混合回路。
1. In a random number mixing circuit that is used with a random number generator and performs compression conversion and/or transposition of random numbers generated by the random number generator, b buffers that store random numbers consisting of a digits supplied from the random number generator. memory and c from the b buffer memories.
A random number mixing circuit comprising means for taking out digit data, and means for outputting a part of the c-digit data and using the part as an address of a buffer memory to be selected next.
JP58251761A 1983-12-28 1983-12-28 Random number mixing circuit Granted JPS60142387A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58251761A JPS60142387A (en) 1983-12-28 1983-12-28 Random number mixing circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58251761A JPS60142387A (en) 1983-12-28 1983-12-28 Random number mixing circuit

Publications (2)

Publication Number Publication Date
JPS60142387A JPS60142387A (en) 1985-07-27
JPS6343754B2 true JPS6343754B2 (en) 1988-09-01

Family

ID=17227525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58251761A Granted JPS60142387A (en) 1983-12-28 1983-12-28 Random number mixing circuit

Country Status (1)

Country Link
JP (1) JPS60142387A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2567681B2 (en) * 1988-09-30 1996-12-25 三洋電機株式会社 Random number generator
JP2008165008A (en) * 2006-12-28 2008-07-17 Megachips Lsi Solutions Inc Data processor and data processing method

Also Published As

Publication number Publication date
JPS60142387A (en) 1985-07-27

Similar Documents

Publication Publication Date Title
US4751733A (en) Substitution permutation enciphering device
JP3029381B2 (en) Data converter
CA1331789C (en) Dynamic feedback arrangement scrambling technique keystream generator
JPH11509940A (en) Cryptographic method and apparatus for non-linearly combining data blocks and keys
JP2000182012A5 (en)
JP2005004048A (en) Key-expanding apparatus, key expansion method, and key expansion program
WO2005076522A1 (en) Methods for generating identification values for identifying electronic messages
JP2002040932A (en) Ciphering device using standard algorithm for ciphering data
EP1059760A1 (en) Method for the block-encryption of discrete data
JP4120193B2 (en) Encryption / decryption circuit
JP2950485B2 (en) Stream cipher processor
JPS6343754B2 (en)
KR20030051111A (en) Round processing circuit and on-line round key generation circuit for the hardware implementation of AES Rijndael cipher algorithm
US20070140482A1 (en) Method for storing data in a random access memory and encryption and decryption device
US6035042A (en) High speed and method of providing high speed table generation for block encryption
JP2008140104A (en) Memory system and memory access method
JP3070072B2 (en) Data transmission method
RU2024209C1 (en) Binary information coding device
JP2003143120A (en) Data randomizing circuit and method
JPH01265609A (en) Pseudo random number generator
JP2902449B2 (en) Address pattern generator
JPS58145980A (en) Combination code generator
JP2003500681A (en) Cryptographic engine using radix conversion, logical operation and pseudo-random number generator for data array to increase dispersibility of cipher text
JPS61117940A (en) Data protection system
JPH01308978A (en) Pattern data generation circuit