JPS62237834A - Data ciphering device - Google Patents

Data ciphering device

Info

Publication number
JPS62237834A
JPS62237834A JP61079915A JP7991586A JPS62237834A JP S62237834 A JPS62237834 A JP S62237834A JP 61079915 A JP61079915 A JP 61079915A JP 7991586 A JP7991586 A JP 7991586A JP S62237834 A JPS62237834 A JP S62237834A
Authority
JP
Japan
Prior art keywords
data
random number
input data
input
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.)
Pending
Application number
JP61079915A
Other languages
Japanese (ja)
Inventor
Akira Maeda
章 前田
Fuminobu Furumura
文伸 古村
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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP61079915A priority Critical patent/JPS62237834A/en
Publication of JPS62237834A publication Critical patent/JPS62237834A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To attain the data ciphering with high reliability by providing a means operating random number data generated from a random number generator and input data. CONSTITUTION:Keys K1, K2 are inputted externally prior to the ciphering and stored in key registers 1, 2. Random number generators 3,4 generate a pseudo random number series one after another by,e.g., the congruence method according to the content of the registers 1, 2. The input data is applied with operation (g) to a random number data generated by the generator 4 and stored in order from the head of an input data buffer 5. After 256set of data are stored in the buffer 5, an address generator 6 inputs the output data just before being stored in a delay device 7 and the result of operation (f) applied to the random number data generated from the generator 3 and outputs an address in the buffer 5 for the data to be outputted.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報の秘匿またはデータの保護を目的とするデ
ータの暗号化方式に係り、特に第3者による解読または
データの改変を困難とする事により信頼性を向上するの
に好適なデータ暗号化方式〔従来の技術〕 従来入力データをブロックに分割し、各ブロックの位置
を入れ替える31tにより暗号化または復号化する方式
が知られている。この方式を文書画像に適用した例とし
て特開昭59−32243号公報に示された方式がある
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a data encryption method for the purpose of concealing information or protecting data, and in particular makes it difficult for a third party to decode or modify the data. Data Encryption Method Suitable for Improving Reliability [Prior Art] Conventionally, a method is known in which input data is divided into blocks and encrypted or decrypted using 31t, in which the positions of each block are swapped. An example of applying this method to document images is the method disclosed in Japanese Patent Laid-Open No. 59-32243.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

しかしながら、上記の例を含めた従来の方式では、入れ
替え順序そのものが暗号化I!!(以下、jp−に鍵と
略す)であるか、または鍵によって定まる入れ替え順序
を用いて位置の入れ替えを行うため、異なる入力データ
に対しても固定された順序で入れ替えを行う事になり、
その結果暗号としての強度が低下し、第3者による解読
またはデータの改変が容易になり信頼性が低下するとい
った欠点があった。
However, in conventional methods including the above example, the replacement order itself is the encryption I! ! (hereinafter abbreviated as jp-key) or the position is swapped using the swap order determined by the key, so different input data are swapped in a fixed order.
As a result, the strength of the encryption is reduced, making it easier for a third party to decrypt or modify the data, resulting in a reduction in reliability.

従来、暗号強度を高める方式としてフィードバック、す
なわち人力データに依存した手順で暗号化する方式があ
る。この方式によれば、同一の9?で異なる入力データ
を暗号化しても、暗号化の手順が異なるため、一般に解
読が困難となる。
Conventionally, as a method for increasing encryption strength, there is a method of encrypting using a feedback procedure, that is, a procedure that relies on human data. According to this method, the same 9? Even if different input data are encrypted, it is generally difficult to decipher because the encryption procedure is different.

しかし、たとえフィードバックを取り入れたとしても、
文書画像の如く背景に一様な明るさをもつ大きな領域が
存在する場合などにおいて、単に位置の入れ替えだけで
入力データが類指されてしまい、十分な暗号強度をもつ
データ暗号化方式を実現することが難しい、という問題
点が残る。
However, even if we incorporate feedback,
To realize a data encryption method with sufficient cryptographic strength in cases where there is a large area with uniform brightness in the background, such as in a document image, where the input data will be similar just by changing the position. The problem remains that it is difficult to do so.

また一般にフィードバックを取り入れた方式では暗号デ
ータ上で何らかの原因により発生した誤りが、復時デー
タ上で伝播し、誤りが拡大するという性質がある。誤り
に強い、すなわち暗号データ−ヒにおける誤りの復号デ
ータ上に及ぼす影響を小さくする手段についても、従来
考えられてぃなかった。
Additionally, in general, systems that incorporate feedback have the property that errors that occur for some reason in the encrypted data are propagated to the decoded data, causing the errors to expand. Conventionally, no means has been considered to be resistant to errors, that is, to reduce the influence of errors in encrypted data on decrypted data.

本発明の[1的は、上記の如き欠点を解消し、より信頼
性の高いデータ暗号化方式を提供する事にある。
One object of the present invention is to eliminate the above-mentioned drawbacks and provide a more reliable data encryption method.

〔問題点を解決するための手段〕[Means for solving problems]

一ヒ記1]的のうち、暗号強度を高める目的は、鍵を2
種類用意し、第1の鍵と入力データの両者から入れ替え
順序を定め、上記フィードバックを実現しさらに第2の
鍵に従って乱数データを発生し、該乱数データと人力デ
ータの間で演算を行う事により達成される。さらに誤り
の伝播を小さくするという目的は上記乱数データを格納
するデータバッファを設け、入力データの入れ替え順序
を定めるのと同様の方法で第1の鍵と入力データの両者
から定まるアドレスによって乱数データを指定しその乱
数データと、入れ替え後の人力データの演算を行う半に
より達成されろ。
1) The purpose of increasing the encryption strength is to
By preparing a type, determining the replacement order from both the first key and input data, realizing the above feedback, and further generating random number data according to the second key, and performing calculations between the random number data and human data. achieved. Furthermore, the purpose of reducing the propagation of errors is to provide a data buffer to store the random number data, and to store the random number data using the address determined from both the first key and the input data in the same way as determining the order in which input data is exchanged. This can be achieved by specifying random number data and performing calculations on the human data after replacement.

〔作用〕[Effect]

第2の鍵による乱数データと入力データとで演算する事
により、見掛は上人力データ中で近くに位置するデータ
同士の相関性をなくす事ができる。
By performing calculations using the random number data generated by the second key and the input data, it is possible to eliminate the apparent correlation between data located nearby in the jonin data.

その後で位置の入れ替えを行う事により、暗号データか
ら入力データを類推する事はできない。また入れ替えは
入力データに依存して行うため2種類の入力データを同
一の鍵で暗号化した場合に、暗号データ上で同一の位置
にあるデータでも、一般に異なる乱数データとの演算が
なされているため、解読は難しい。
By subsequently exchanging the positions, it is no longer possible to infer the input data from the encrypted data. Also, since the swapping is done depending on the input data, when two types of input data are encrypted with the same key, even data at the same position on the encrypted data is generally operated on different random number data. Therefore, it is difficult to decipher.

また乱数データを一度データバッファに格納し指定され
たアドレスにある乱数データを使用することにより、暗
狡データ上に誤りが発生しても、誤りが発生したブロッ
クとその直後のブロックのみが暗号化の時と異なる乱数
データを用いて復号処理がなされろため、正しく復シ)
がなされない。
In addition, by storing random number data in the data buffer once and using the random number data at the specified address, even if an error occurs in the data, only the block where the error occurred and the block immediately after it will be encrypted. The decryption process must be performed using random number data different from that used in
is not done.

しかし、その他のブロックは正しく復号されるため誤り
の伝播と最小限に抑える11tができる。
However, since the other blocks are correctly decoded, error propagation can be minimized by 11t.

〔実施例〕〔Example〕

以下、本発明の一実施例を第1図および第2図により説
明する6第1図は1【a号化装置を示したもので、ある
鍵Kt、Kzをパラメータとし1人力データを暗号変換
したデータを出力する。ここでの暗号変換は、乱数デー
タとの演算および入力データの位置の入れ替えである。
Hereinafter, one embodiment of the present invention will be explained with reference to Figs. 1 and 2.6 Fig. 1 shows an encryption device 1 [a], in which data is encrypted manually using certain keys Kt and Kz as parameters. Output the data. The cryptographic conversion here is an operation with random number data and a swapping of the positions of input data.

また人力データは256バイト毎に暗号化するものとし
、入れ替えの中4位となるブロックは1バイトから成る
ものとする。入力データ長、ブロック長は、もちろん他
の組み合わせによってもよい。
Furthermore, it is assumed that human data is encrypted every 256 bytes, and the fourth block in the replacement consists of 1 byte. Of course, other combinations of the input data length and block length may be used.

まず、暗号化に先立って、鍵Kt*Kzが外部から入力
され、鍵レジスタ1および鍵レジスタ2に格納される。
First, prior to encryption, a key Kt*Kz is input from the outside and stored in key register 1 and key register 2.

乱数発生器:3および乱数発生器4は、鍵レジスタ1お
よび2の内容に従って、例えば合同法などにより次々と
疑似乱数系列を発生する。
Random number generator 3 and random number generator 4 generate pseudo-random number sequences one after another according to the contents of key registers 1 and 2, for example, by a congruence method.

入力データはまず、乱数発生器4により発生された乱数
データと演算gを施され、入力データバッファ5の先頭
から順番に格納される。ここで演算gは例えばビット毎
の排他的論理和など、逆演算の可能な演算の内の1つで
あるとする。
The input data is first subjected to operation g with the random number data generated by the random number generator 4, and then stored in the input data buffer 5 in order from the beginning. Here, it is assumed that the operation g is one of possible inverse operations such as bitwise exclusive OR.

人力データバッファ5に256個のデータが格納された
後、アドレス発生器6は遅延器7に格納された直前の出
力データと、乱数発生器:3により発生された乱数デー
タに演算fを施した結果を入力し、出力すべきデータの
入力データバッファ5中のアドレスを出力する。ただし
最初に動作する時は、直前の出力データとしてOを仮定
しておく。
After 256 pieces of data have been stored in the manual data buffer 5, the address generator 6 performs operation f on the previous output data stored in the delay device 7 and the random number data generated by the random number generator 3. The result is input, and the address in the input data buffer 5 of the data to be output is output. However, when operating for the first time, O is assumed as the previous output data.

出力されたデータは、出力されると同時に遅延器7にも
人力され、次のサイクルの演算fの入力となる。
The output data is also input to the delay unit 7 at the same time as being output, and becomes the input to the calculation f of the next cycle.

以上の動作を人力データバッファ5中のブロックの個数
256回繰り返して、1つの入力データに対する暗号化
処理が終了する。次いで新しい256バイトの入力デー
タが人力され、人力データバッファ5の内容が更新され
た後、同様の動作により暗号化処理がなされる〕IGに
なる。
The above operation is repeated 256 times for each block in the manual data buffer 5, and the encryption process for one input data is completed. Next, new 256-byte input data is input manually, the contents of the input data buffer 5 are updated, and then encryption processing is performed in the same manner.

一意的な復号化が可能となるためには、アドレス発生器
6は、Oから255までのアドレスを各1回ずつ発生し
なければならない。次にこのための演算fおよびアドレ
ス発生器6の処理内容を説明する。
For unique decoding to be possible, the address generator 6 must generate each address from O to 255 once. Next, the calculation f and the processing contents of the address generator 6 for this purpose will be explained.

まず乱数発生器;3は0.0以上1.0未満の乱数デー
タr、を発生するものとし、1バイトの出力データのブ
ロックb、は0以上255以下の整数と見なす。
First, the random number generator 3 is assumed to generate random number data r of 0.0 or more and less than 1.0, and the 1-byte output data block b is assumed to be an integer of 0 or more and 255 or less.

まず初期化としてb o = Oとおく。演算fは第i
サイクルにおいてb +−1とrtを入力とし、f (
b+−s、rt)=mod(int(rt ・(256
−j)) +b*−t。
First, set b o = O as initialization. The operation f is the i-th
In the cycle, b + - 1 and rt are input, and f (
b+-s, rt)=mod(int(rt ・(256
-j)) +b*-t.

256−i) で定義するajntは整数化、mod(m + n )
はrnをnで割った余りを表すす。したがって0≦f(
b+−ipri)≦256−iである。
256-i) ajnt defined by is converted into an integer, mod (m + n)
represents the remainder when rn is divided by n. Therefore, 0≦f(
b+-ipri)≦256-i.

アドレス発生器6はf (bt−ipri)を入力し、
今までに出力していないアドレスの内で小さい方からf
 (b+−ipri)番目にあたるアドレスを求めそれ
を出力する。この処理をiが1から256まで256回
繰り返す。
Address generator 6 inputs f (bt-ipri),
f from the smallest address that has not been output so far
Find the (b+-ipri)th address and output it. This process is repeated 256 times for i from 1 to 256.

第1図の装置において、演算f、演算g、およびアドレ
ス発生器6における処理は通常のマイクロプロセッサや
、専用のハードウェアにより容易に実現する事ができる
In the apparatus shown in FIG. 1, the operations f, g, and the processing in the address generator 6 can be easily implemented using a normal microprocessor or dedicated hardware.

復号化においては第1図におけるデータの流れを逆にす
る事で、暗号データからもとの入力データが復元される
事は明らかである。すなわち、暗号化時と同一の鍵を入
力すると、アドレス発生器6の出力も同一となり、入力
バッファ5の対応する場所に順次格納していく。256
個の入力データの格納が終了した時点で乱数発生器4に
より順次発生される乱数データを演算gの逆演算を施す
It is clear that the original input data can be restored from the encrypted data by reversing the data flow in FIG. 1 during decryption. That is, if the same key as used for encryption is input, the output of the address generator 6 will also be the same, and will be sequentially stored in the corresponding location of the input buffer 5. 256
When the storage of the input data is completed, the random number data sequentially generated by the random number generator 4 is subjected to the inverse calculation of the calculation g.

ただし復号化の際には、演算fは直前の復号データと乱
数データに対する演算となる。
However, during decoding, the operation f is an operation on the immediately previous decoded data and random number data.

第2図に、もう一つの復号化装置の例を示す。FIG. 2 shows another example of a decoding device.

入力データは第1図と同じく256バイト単位に暗号・
化するものとし、入れ替えの単位となるブロックは1バ
イトから成るものとする。
The input data is encoded and encoded in 256-byte units as in Figure 1.
It is assumed that the block used as the unit of replacement consists of 1 byte.

まず暗号化に先立って、i3B K tおよびに2が外
部から入力され、鍵レジスタ11および12に格納され
る。乱数発生器13およ乱数発生器14は、各々鍵レジ
スタ11または1.2の内容に従って乱数データを発生
する。
First, prior to encryption, i3B K t and 2 are input from the outside and stored in key registers 11 and 12 . Random number generator 13 and random number generator 14 generate random number data according to the contents of key register 11 or 1.2, respectively.

256バイトの人力データが入力データバッファ15に
順次格納されるのと並行して、乱数発生器14による乱
数データが乱数データバッファ16に順次格納される。
In parallel with the 256-byte manual data being sequentially stored in the input data buffer 15, the random number data generated by the random number generator 14 is sequentially stored in the random number data buffer 16.

ここで乱数発生器14は0以上255以下の整数をラン
ダムに発生する。
Here, the random number generator 14 randomly generates an integer between 0 and 255.

入力データバッファ15および乱数データバッファL6
にデータが全て格納されると、第1図と同様、遅延器1
7から出力される直前の出力データと乱数発生器13に
よって発生される乱数データが演算fを施され、結果が
アドレス発生器18に人力される。アドレス発生器18
は第1図のアドレス発生器6と同様にして、入力データ
バッファ15のアドレスを出力する。
Input data buffer 15 and random number data buffer L6
When all the data is stored in the delay unit 1, as in FIG.
The immediately preceding output data outputted from 7 and the random number data generated by the random number generator 13 are subjected to a calculation f, and the result is manually input to the address generator 18. address generator 18
outputs the address of the input data buffer 15 in the same manner as the address generator 6 in FIG.

一方、演算fの結果は、乱数データバッファ16のアド
レスとしても人力され、該アドレスに格納された乱数デ
ータは、人力データバッファ15中でアドレス発生器1
8の出力アドレスに格納されている入力データと、演算
gを施され暗号データとして出力される。演算gは第1
図と同じく5例えば排他的論理和など、逆演算の存在す
る演算である。
On the other hand, the result of the operation f is manually inputted as an address of the random number data buffer 16, and the random number data stored at the address is stored in the manually operated data buffer 15 by the address generator 1.
The input data stored at the output address 8 is subjected to operation g and output as encrypted data. The operation g is the first
As in the figure, 5 is an operation in which there is an inverse operation, such as exclusive OR.

出力データは遅延器17にも入力され、次のサイクルの
演算fの入力となる。
The output data is also input to the delay device 17 and becomes the input for the calculation f in the next cycle.

以上の処理を256回繰り返し、256バイトの人力デ
ータに対する暗号化処理が終了する。
The above process is repeated 256 times, and the encryption process for 256 bytes of manual data is completed.

以上の2つの実施例では1次元的な入れ替えのみを対象
としたが、画像データに適用する場合に2次元的な入れ
替えとするのは容易であり、全く同様の効果が得られる
事は言うまでもない。
In the above two examples, only one-dimensional replacement was targeted, but it goes without saying that two-dimensional replacement is easy when applied to image data, and the same effect can be obtained. .

〔発明の効果〕〔Effect of the invention〕

以上述べた様に、本発明によれば、同一の鍵であっても
入力データが異なれば全く異なる暗号化処理が施されろ
ため、より信頼性の高い暗号方式が実現できる。一方、
暗号データ上に発生した誤りが復号データ上に及ぼす影
響を小さく抑えることもできるので、雑音や妨害に強い
暗号方式が実現できるという効果がある。
As described above, according to the present invention, even if the input data is the same, completely different encryption processing is performed for different input data, so a more reliable encryption method can be realized. on the other hand,
Since it is possible to suppress the influence of errors that occur on encrypted data on decrypted data to a small extent, it is possible to realize an encryption system that is resistant to noise and interference.

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

第1図は本発明の第1の実施例の装置構成図。 第2図は第2の実施例の装置構成図である。 FIG. 1 is an apparatus configuration diagram of a first embodiment of the present invention. FIG. 2 is a diagram showing the configuration of a device according to a second embodiment.

Claims (1)

【特許請求の範囲】 1、入力データをブロックに分割し各ブロックの位置を
第1の暗号化鍵と入力データとによつて定められた順序
で入れ替えることにより入力データを暗号化もしくは復
号化する装置において、第2の暗号化鍵の制御のもとに
乱数を発生する乱数発生器と、該乱数発生器によつて発
生された乱数データと入力データの演算を行う手段を設
けた事を特徴とするデータ暗号化装置。 2、上記乱数データを格納するデータバッファと、該デ
ータバッファに格納された乱数データを、入力データと
第1の暗号化鍵の両者によつて定まるアドレスによつて
選択する手段と、該手段により選択された乱数データと
第1項の手段により定められた入れ替え順序に従つて入
れ替えられた入力データの演算を行う手段を設けた事を
特徴とする第1項のデータ暗号化装置。
[Claims] 1. Encrypting or decoding input data by dividing input data into blocks and replacing the position of each block in an order determined by a first encryption key and input data. The device is characterized by being provided with a random number generator that generates random numbers under the control of the second encryption key, and means for performing calculations on the random number data generated by the random number generator and input data. data encryption device. 2. a data buffer for storing the random number data; a means for selecting the random number data stored in the data buffer according to an address determined by both the input data and the first encryption key; 1. The data encryption device according to item 1, further comprising means for performing arithmetic operations on the selected random number data and the input data that has been permuted in accordance with the permutation order determined by the means according to item 1.
JP61079915A 1986-04-09 1986-04-09 Data ciphering device Pending JPS62237834A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61079915A JPS62237834A (en) 1986-04-09 1986-04-09 Data ciphering device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61079915A JPS62237834A (en) 1986-04-09 1986-04-09 Data ciphering device

Publications (1)

Publication Number Publication Date
JPS62237834A true JPS62237834A (en) 1987-10-17

Family

ID=13703589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61079915A Pending JPS62237834A (en) 1986-04-09 1986-04-09 Data ciphering device

Country Status (1)

Country Link
JP (1) JPS62237834A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0241052A (en) * 1988-08-01 1990-02-09 Agency Of Ind Science & Technol Cryptographic method for color picture
JP2009531728A (en) * 2006-03-31 2009-09-03 シューマッハ,アラン Encryption methods for highest security applications
JPWO2008114829A1 (en) * 2007-03-19 2010-07-08 学校法人東京電機大学 Encryption device, decryption device, encryption program, decryption program, and recording medium
JP2015045674A (en) * 2013-08-27 2015-03-12 株式会社 日立産業制御ソリューションズ Encryption system, encryption method and computer program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0241052A (en) * 1988-08-01 1990-02-09 Agency Of Ind Science & Technol Cryptographic method for color picture
JP2009531728A (en) * 2006-03-31 2009-09-03 シューマッハ,アラン Encryption methods for highest security applications
JPWO2008114829A1 (en) * 2007-03-19 2010-07-08 学校法人東京電機大学 Encryption device, decryption device, encryption program, decryption program, and recording medium
JP4737334B2 (en) * 2007-03-19 2011-07-27 学校法人東京電機大学 Encryption device, decryption device, encryption program, decryption program, and recording medium
JP2015045674A (en) * 2013-08-27 2015-03-12 株式会社 日立産業制御ソリューションズ Encryption system, encryption method and computer program

Similar Documents

Publication Publication Date Title
US5222139A (en) Cryptographic method and apparatus
US11546135B2 (en) Key sequence generation for cryptographic operations
US7613297B2 (en) Method and apparatus for data encryption
WO2006012363A1 (en) Stream cipher combining system and method
JPH06266284A (en) Coding device
JP3824121B2 (en) Method and apparatus for decrypting encrypted data
JPH10240500A (en) Random number generator and method, enciphering device and method, decoder and method and stream cipher system
JP2000511755A (en) How to encrypt binary code information
JP3769804B2 (en) Decoding method and electronic device
JP2950485B2 (en) Stream cipher processor
Blaze et al. The MacGuffin block cipher algorithm
JP2004157535A (en) Data ciphering method
JPS62237834A (en) Data ciphering device
EP1629626B1 (en) Method and apparatus for a low memory hardware implementation of the key expansion function
JPS6281145A (en) Data ciphering system
JPH10303883A (en) Enciphering method
JPH09251267A (en) Encryption device and encryption method
KR100546777B1 (en) Apparatus and method for SEED Encryption/Decryption, and F function processor therefor
JPH06149153A (en) General purpose high-speed encoding device
JP4335374B2 (en) Data conversion apparatus and data conversion method
JP2005529365A (en) AES mix column conversion
JPS59167147A (en) Ciphering device
JPH10214026A (en) Electronic signature method
JPH081367U (en) Sequential encryption device
KR19990027040A (en) Encryption method and device