JPS62237834A - Data ciphering device - Google Patents
Data ciphering deviceInfo
- 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
Links
- 238000000034 method Methods 0.000 abstract description 21
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
Abstract
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.
しかしながら、上記の例を含めた従来の方式では、入れ
替え順序そのものが暗号化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.
一ヒ記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.
第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.
以下、本発明の一実施例を第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. .
以上述べた様に、本発明によれば、同一の鍵であっても
入力データが異なれば全く異なる暗号化処理が施されろ
ため、より信頼性の高い暗号方式が実現できる。一方、
暗号データ上に発生した誤りが復号データ上に及ぼす影
響を小さく抑えることもできるので、雑音や妨害に強い
暗号方式が実現できるという効果がある。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.
第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の暗号化鍵と入力データとによつて定められた順序
で入れ替えることにより入力データを暗号化もしくは復
号化する装置において、第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.
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)
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 |
-
1986
- 1986-04-09 JP JP61079915A patent/JPS62237834A/en active Pending
Cited By (5)
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 |