JP2000066587A - Data processing device, communication system, and recording medium - Google Patents
Data processing device, communication system, and recording mediumInfo
- Publication number
- JP2000066587A JP2000066587A JP10237206A JP23720698A JP2000066587A JP 2000066587 A JP2000066587 A JP 2000066587A JP 10237206 A JP10237206 A JP 10237206A JP 23720698 A JP23720698 A JP 23720698A JP 2000066587 A JP2000066587 A JP 2000066587A
- Authority
- JP
- Japan
- Prior art keywords
- block
- small block
- small
- numbered
- data 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】この発明はデータ処理装置及
び通信システム並びに記録媒体、特にデータの暗号化や
復号に用いるのに適したデータ処理装置及び通信システ
ム並びに記録媒体に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device, a communication system, and a recording medium, and more particularly to a data processing device, a communication system, and a recording medium suitable for use in encrypting and decrypting data.
【0002】[0002]
【従来の技術】近年計算機を用いてデータを暗号化する
ことが広く行われるようになっている。このための暗号
アルゴリズムは、データを一定長のブロックとしてブロ
ック毎に暗号化処理するブロック暗号と、入力データを
1文字づつ暗号化するストリーム暗号に大別される。ブ
ロック暗号は同じ入力であれば同じ出力に変換される
が、ストリーム暗号は同じ入力であっても異なる出力に
変換されるという違いがある。2. Description of the Related Art In recent years, encryption of data using a computer has been widely performed. Cryptographic algorithms for this purpose are broadly classified into block ciphers in which data is encrypted for each block as blocks of a fixed length and stream ciphers in which input data is encrypted one character at a time. Block ciphers are converted to the same output if they have the same input, but stream ciphers are converted to different outputs even if the input is the same.
【0003】従来のブロック暗号としては、入出力長が
固定長の暗号方式しか知られておらず、入出力長が可変
となる暗号は未だ実現されていない。従来の方法では、
可変長の入力を暗号化するためにはブロック毎に暗号化
するかブロックを連鎖させるしかなかった。[0003] As a conventional block cipher, only an encryption method with a fixed input / output length is known, and an encryption with a variable input / output length has not yet been realized. In the traditional way,
The only way to encrypt a variable-length input is to encrypt each block or chain the blocks.
【0004】このような可変長の入力を暗号化する方式
としては操作モードが有名である。この方法は、ブロッ
ク長の倍数とは限らない入力に対し、ブロック長に足り
なくなるブロックには適当な大きさの詰め物( パディン
グ) をすることで、入力を所定ブロック長の複数ブロッ
クに分割するものである。しかしながら、この方法で
は、ブロック長を合わせてから暗号化しなければならな
いため、伝送効率が落ちるという問題がある。An operation mode is famous as a method for encrypting such a variable-length input. This method divides the input into multiple blocks of a given block length by padding the input that is not always a multiple of the block length with padding of an appropriate size for blocks that are short of the block length. It is. However, this method has a problem that the transmission efficiency is reduced because the encryption must be performed after adjusting the block length.
【0005】一方、ブロック暗号は同じ入力に対して出
力が同じであるというブロック暗号のもつ性質のため
に、ブロック長を短くできないという欠点がある。これ
は、ブロック長が短い場合には出力に対応する入力の表
を作ることが可能であるためである。このような表が作
られてしまえば、たとえ鍵が知られなくても暗号文のみ
を元の平文に復号し情報を取り出すことが可能である。On the other hand, the block cipher has a drawback that the block length cannot be reduced due to the property of the block cipher that the same input and the same output are obtained. This is because it is possible to create a table of inputs corresponding to outputs when the block length is short. Once such a table is created, even if the key is not known, it is possible to decrypt only the ciphertext into the original plaintext and extract the information.
【0006】これに対し、ストリーム暗号は乱数発生器
とみなすことができ、初期値( 鍵)により出力される乱
数系列は異なっているため、乱数系列から初期値を求め
ることが困難である。この点がストリーム暗号の安全性
の根拠となっているが、同じ鍵を使い続けると乱数系列
そのものが判明してしまい、鍵を知らなくても暗号が解
読できてしまう危険性がある。ブロック暗号は、ストリ
ーム暗号のもつこのような問題を、ブロック長を大きく
することで回避していると考えることができる。On the other hand, a stream cipher can be regarded as a random number generator, and a random number sequence output by an initial value (key) is different, so that it is difficult to obtain an initial value from the random number sequence. Although this point is the basis of the security of the stream cipher, if the same key is used for a long time, the random number sequence itself becomes clear, and there is a risk that the cipher can be decrypted without knowing the key. It can be considered that the block cipher avoids such a problem of the stream cipher by increasing the block length.
【0007】[0007]
【発明が解決しようとする課題】ここで、比較的短い電
文を暗号化しようとした場合を考える。長い電文であれ
ばブロック暗号のパディングに起因する伝送効率の劣化
は問題にならないが、比較的短い電文の場合、重大な問
題となる場合がある。Here, consider a case where an attempt is made to encrypt a relatively short electronic message. Deterioration of transmission efficiency due to padding of the block cipher is not a problem for long messages, but may be a serious problem for relatively short messages.
【0008】例えば、衛星放送のように番組に課金する
システムでは、番組自体を暗号化した鍵を、契約したユ
ーザにだけユーザの鍵で暗号化して送る個別情報により
課金を実現している。個別情報は比較的短いブロック長
であり、件数が多いのでパディングに起因する伝送効率
の劣化は大きな問題である。伝送効率を高くしようとす
れば、パディングを小さくするためにブロック長を短く
する必要があり、安全性が低くなるという問題がある。[0008] For example, in a system for charging a program such as a satellite broadcast, the charge is realized by individual information which is transmitted by encrypting a key obtained by encrypting the program itself only to a contracted user with the user's key. Since the individual information has a relatively short block length and a large number of cases, deterioration of transmission efficiency due to padding is a serious problem. In order to increase the transmission efficiency, it is necessary to shorten the block length in order to reduce the padding, and there is a problem that the security is reduced.
【0009】上記問題のうち、伝送効率の問題について
はストリーム暗号を使うことにより解決するが、安全性
を高めるためには頻繁に鍵を変える必要が生じ、そのた
めのコストは膨大になる。[0009] Of the above problems, the problem of transmission efficiency can be solved by using a stream cipher. However, in order to enhance security, it is necessary to frequently change the key, and the cost is enormous.
【0010】一方、Nybergらは、ブロック暗号に
おいて、安全なDES型暗号方式すなわちFeiste
1(フェイステル)型暗号を設計するために必要となる
安全な置換表の構成法を示している。すなわち、APN
( Almost Perfect Non−linea
r) と呼ばれる性質をもつように置換表を作れば、代表
的な暗号攻撃法である差分解読法や線形解読法に対して
証明可能な安全性をもつ暗号を構成できることを示し
た。On the other hand, Nyberg et al. Describe a secure DES type cryptosystem, namely Feiste, in block ciphers.
It shows a method of constructing a secure permutation table necessary for designing a 1 (Faitel) type cipher. That is, APN
(Almost Perfect Non-linea
It has been shown that if a permutation table is created so as to have a property called r), a cipher having provable security can be constructed for typical cryptographic attack methods such as differential cryptanalysis and linear cryptanalysis.
【0011】したがって、上記した比較的短い電文を多
数暗号化するような場合でも、ストリーム暗号でなく、
Nybergらが提案する設計指針を適用可能なフェイ
ステル型暗号となるブロック暗号方式によって、かつ高
効率に暗号化できる手段が要望されている。Therefore, even when a large number of relatively short telegrams are encrypted, a stream cipher is used instead of a stream cipher.
There is a need for a means capable of encrypting with high efficiency by a block cipher which is a Feistel encryption to which the design guideline proposed by Nyberg et al. Can be applied.
【0012】本発明は、このような実情を考慮してなさ
れたもので、その第1の目的は、ブロック暗号において
そのブロック長が短い場合であっても、ブロック長が短
いことに起因する安全性の低下を防止しつつ伝送効率を
高くすることができ、かつフェイステル型暗号とするこ
とができるデータ処理装置及び通信システム並びに記録
媒体を提供することにある。また、第2の目的は、ブロ
ック長自体を可変とすることができるデータ処理装置及
び通信システム並びに記録媒体を提供することにある。The present invention has been made in view of such circumstances, and a first object of the present invention is to provide a cipher for a block cipher which has a small block length even if the block length is short. It is an object of the present invention to provide a data processing device, a communication system, and a recording medium that can increase transmission efficiency while preventing a decrease in performance and that can be a Feistel encryption. A second object is to provide a data processing device, a communication system, and a recording medium that can make the block length itself variable.
【0013】[0013]
【課題を解決するための手段】上記課題を解決するため
に、請求項1に対応する発明は、平文又は暗号文を2以
上の小ブロックに分割し、この小ブロック単位でデータ
処理を施して新たな小ブロックとし、これにより暗号化
処理又は復号処理を行うデータ処理装置であって、小ブ
ロックを鍵により変換する変換手段と、変換手段によっ
て変換された小ブロックを他の小ブロックと相互作用さ
せる相互作用手段と、小ブロックを他の小ブロックと連
鎖させる連鎖手段とを備えたデータ処理装置である。According to an aspect of the present invention, a plaintext or ciphertext is divided into two or more small blocks, and data processing is performed on a small block basis. A data processing device for performing an encryption process or a decryption process by using a new small block as a new small block, wherein the conversion unit converts the small block with a key, and the small block converted by the conversion unit interacts with another small block. This is a data processing device provided with an interaction means for causing the small block to chain with another small block.
【0014】本発明はこのような手段を設けたので、小
ブロック単位の相互作用を可能とし、また小ブロック間
でも適宜連鎖が行われるので、暗号強度を高くすること
ができる。According to the present invention, since such means are provided, interaction in units of small blocks is enabled, and chaining is appropriately performed between small blocks, so that encryption strength can be increased.
【0015】また、連鎖により実質的に小ブロックの長
さを長くするのと同様な効果が得られるので、小ブロッ
クの長さを短くしても暗号強度が低下するのを防止する
ことができる。[0015] Further, since the same effect as substantially increasing the length of a small block can be obtained by the chain, it is possible to prevent a decrease in encryption strength even if the length of the small block is shortened. .
【0016】次に、請求項2に対応する発明は、請求項
1に対応する発明において、平文又は暗号文の2以上の
小ブロックへの分割は、平文又は暗号文の先頭からの順
次分割とするとともに、その先頭から奇数番目の小ブロ
ック及びデータ処理を受けたその後継たる小ブロックを
奇数列の小ブロックとし、また、その先頭から偶数番目
の小ブロック及びデータ処理を受けたその後継たる小ブ
ロックを偶数列の小ブロックとし、相互作用手段は、奇
数列の小ブロックと偶数列の小ブロックとを相互作用さ
せ、連鎖手段は、奇数列同士又は偶数列同士を連鎖させ
るデータ処理装置である。Next, a second aspect of the present invention is the invention according to the first aspect, wherein the division of the plaintext or ciphertext into two or more small blocks is performed by sequentially dividing the plaintext or ciphertext from the beginning. At the same time, the odd-numbered small blocks from the beginning and the succeeding small blocks that have undergone data processing are designated as odd-numbered row small blocks, and the even-numbered small blocks from the beginning and subsequent succeeding small blocks that have undergone data processing. The block is an even-numbered small block, the interaction means is an odd-numbered small block and an even-numbered small block, and the chaining means is a data processing device for chaining odd-numbered rows or even-numbered rows. .
【0017】本発明はこのような手段を設けたので、奇
数列と偶数列間でブロックを相互作用させる暗号とする
ことができる。したがって、例えば奇遇列間でフェイス
テル暗号を実現させることも可能となる。また、奇数列
間及び偶数列間で小ブロックの連鎖が行われることから
上記相互作用は実質的には奇数列全体と偶数列全体での
相互作用となる。Since the present invention is provided with such means, it is possible to provide a cipher in which blocks interact between odd-numbered columns and even-numbered columns. Therefore, for example, it is also possible to realize Feistel encryption between odd sequences. Further, since the small blocks are chained between the odd columns and the even columns, the above-mentioned interaction is substantially the interaction between the entire odd column and the entire even column.
【0018】また、小ブロックの長さを短くしても連鎖
作用により暗号強度を保持することができる。したがっ
て、小ブロック分割前の平文がたとえ短いものであって
も短い小ブロックによる効率的な暗号化を実現すること
が可能である。Further, even if the length of the small block is shortened, the encryption strength can be maintained by the chain action. Therefore, even if the plaintext before the small block division is short, efficient encryption using short small blocks can be realized.
【0019】このようにブロック暗号においてそのブロ
ック長が短い場合であっても、ブロック長が短いことに
起因する安全性の低下を防止しつつ伝送効率を高くする
ことができ、かつフェイステル型暗号を可能とすること
ができる。As described above, even if the block length of the block cipher is short, the transmission efficiency can be increased while preventing a decrease in security caused by the short block length, and the Feistel cipher can be used. Can be made possible.
【0020】また、小ブロックを連鎖させる数を変更す
ることにより、複数の小ブロックからなるブロック(実
施形態でいう分割ブロック)の長さ自体を可変とするこ
とができる。Further, by changing the number of chained small blocks, the length itself of a block composed of a plurality of small blocks (divided block in the embodiment) can be made variable.
【0021】次に、請求項3に対応する発明は、請求項
2に対応する発明において、連鎖の方向は列の順次方向
とするとともに、変換手段は、奇遇各列に対応してそれ
ぞれ1段以上設けられたデータ処理装置である。Next, a third aspect of the present invention is the invention according to the second aspect, wherein the direction of the chain is the sequential direction of the columns, and the conversion means includes one stage corresponding to each of the odd-numbered columns. This is the data processing device provided above.
【0022】したがって、段数を調整することにより暗
号強度及び処理時間を調整することができる。次に、請
求項4に対応する発明は、請求項3に対応する発明にお
いて、変換手段の段数は、奇数列及び偶数列の列数が大
きくなる列部分では少なくするデータ処理装置である。Therefore, the encryption strength and the processing time can be adjusted by adjusting the number of stages. Next, an invention corresponding to claim 4 is the data processing apparatus according to claim 3, wherein the number of stages of the conversion means is reduced in a column portion where the number of columns of the odd columns and the even columns is large.
【0023】小ブロックの連鎖は、暗復号対象の先頭側
から順次行われる。例えばある変換手段での結果を一つ
おいた次の列に入力し、その列の小ブロックと排他的論
理和をとる等する。この処理を順次一つおきの列につい
て行うのである。Chaining of small blocks is performed sequentially from the head of encryption / decryption. For example, the result of a certain conversion means is input to the next column after one, and exclusive OR is performed with a small block in that column. This process is sequentially performed for every other column.
【0024】このような順次連鎖処理を行う場合には、
各列の処理結果は順次出力される。したがって、列数が
大きくなった部分では変換手段による処理段数を減らせ
ば全体としての処理速度を速くすることができる。な
お、列数が大きいところほど連鎖によるデータ攪拌等の
効果が高いので、この部分では段数を少なくしても暗号
強度へ与える悪影響は少ない。When such a sequential chaining process is performed,
The processing results of each column are sequentially output. Therefore, in a portion where the number of columns is large, the overall processing speed can be increased by reducing the number of processing stages by the conversion means. Since the effect of data agitation by chaining and the like is higher as the number of columns is larger, even if the number of stages is reduced, there is little adverse effect on the encryption strength in this part.
【0025】次に、請求項5に対応する発明は、請求項
3又は4に対応する発明において、段数が所定条件とな
ったときに、連鎖の方向を列の順次方向から逆順方向に
切り替えるデータ処理装置である。Next, the invention corresponding to claim 5 is the invention according to claim 3 or 4, wherein when the number of stages becomes a predetermined condition, the data for switching the direction of the chain from the sequential direction of the column to the reverse direction is used. Processing device.
【0026】このような連鎖を実現させた場合には、列
数が大きい部分のみでなく、列数の少ない部分でもデー
タ攪拌等の効果を高くすることができ、一層暗号強度を
高くすることができる。When such a chain is realized, the effect of data agitation and the like can be enhanced not only in a portion having a large number of columns but also in a portion having a small number of columns, and the encryption strength can be further increased. it can.
【0027】次に、請求項6に対応する発明は、請求項
3〜5に対応する発明において、相互作用手段又は連鎖
手段の処理により依存関係を生じる変換手段同士以外の
変換手段の処理については、並列処理するデータ処理装
置である。Next, the invention according to claim 6 is the invention according to claims 3 to 5, wherein the processing of the conversion means other than the conversion means which generates a dependency due to the processing of the interaction means or the chain means is not described. , A data processing device that performs parallel processing.
【0028】本発明はこのような手段を設けたことによ
り、効率的処理を実現することができる。次に、請求項
7に対応する発明は、請求項2〜6に対応する発明にお
いて、小ブロックの長さ及び又は小ブロックを連鎖させ
る数を変更可能に構成されたデータ処理装置である。According to the present invention, by providing such means, efficient processing can be realized. Next, a seventh aspect of the present invention is a data processing device according to the second to sixth aspects, wherein the length of the small blocks and / or the number of small blocks to be chained can be changed.
【0029】本発明はこのような手段を設けたことによ
り、暗号強度を保持したままで、複数の小ブロックから
なるブロックの長さ自体を自在に変更することができ
る。次に、請求項8に対応する発明は、請求項2乃至6
の何れかのデータ処理装置を用いた通信装置同士で暗号
通信を行う通信システムであって、小ブロックの長さ及
び小ブロックを連鎖させる数により決まるブロック長を
送受信側での共有の秘密とする通信システムである。According to the present invention, by providing such means, it is possible to freely change the length itself of a block composed of a plurality of small blocks while maintaining the encryption strength. Next, the invention corresponding to claim 8 relates to claims 2 to 6
A communication system for performing cryptographic communication between communication devices using any of the data processing devices described above, wherein a block length determined by the length of the small blocks and the number of chains of the small blocks is set as a shared secret on the transmission and reception sides. It is a communication system.
【0030】本発明はこのような手段を設けたので、請
求項2乃至6の何れかのデータ処理装置による効果のみ
ならず、ブロック長を秘密にすることにより、暗号解読
を一層困難にすることができる。Since the present invention is provided with such means, not only the effect of the data processing device according to any one of claims 2 to 6 but also the deciphering becomes more difficult by keeping the block length secret. Can be.
【0031】次に、請求項9に対応する発明は、請求項
8に対応する発明において、ブロック長をブロック毎に
可変とする通信システムである。次に、請求項10に対
応する発明は、請求項9に対応する発明において、送受
信側が共有するシードに基づいて、可変とするブロック
長を決定する乱数発生器を備えた通信システムである。Next, the invention corresponding to claim 9 is the communication system according to claim 8, wherein the block length is variable for each block. Next, a tenth aspect of the present invention is the communication system according to the ninth aspect, further comprising a random number generator that determines a variable block length based on a seed shared by the transmitting and receiving sides.
【0032】本発明はこのような手段を設けたので、ブ
ロック長の第三者による検知を一層困難にし、暗号強度
を一層高くすることができる。次に、請求項11に対応
する発明は、請求項8〜10に対応する発明において、
連鎖の方向を切り替えるタイミングを送受信側での共有
の秘密とする通信システムである。Since the present invention is provided with such means, it becomes more difficult for a third party to detect the block length, and the encryption strength can be further increased. Next, the invention corresponding to claim 11 is the invention according to claims 8 to 10,
This is a communication system in which the timing at which the direction of the chain is switched is set as a secret shared by the transmitting and receiving sides.
【0033】本発明はこのような手段を設けたので、連
鎖の仕方を秘密にすることができ、暗号強度を一層高く
することができる。次に、請求項12に対応する発明
は、請求項1に対応する発明をコンピュータに実現させ
るプログラムを記録した記録媒体である。Since the present invention is provided with such means, the chaining method can be kept secret, and the encryption strength can be further increased. Next, an invention corresponding to claim 12 is a recording medium on which a program for causing a computer to realize the invention corresponding to claim 1 is recorded.
【0034】この記録媒体から読み出されたプログラム
により制御されるコンピュータは、請求項1のデータ処
理装置として機能する。次に、請求項13に対応する発
明は、請求項2に対応する発明をコンピュータに実現さ
せるプログラムを記録した記録媒体である。A computer controlled by the program read from the recording medium functions as the data processing device of the first aspect. Next, a thirteenth aspect of the present invention is a recording medium storing a program for causing a computer to implement the second aspect of the present invention.
【0035】この記録媒体から読み出されたプログラム
により制御されるコンピュータは、請求項2のデータ処
理装置として機能する。次に、請求項14に対応する発
明は、請求項7に対応する発明をコンピュータに実現さ
せるプログラムを記録した記録媒体である。この記録媒
体から読み出されたプログラムにより制御されるコンピ
ュータは、請求項7のデータ処理装置として機能する。The computer controlled by the program read from the recording medium functions as a data processing device according to the present invention. Next, an invention corresponding to claim 14 is a recording medium on which a program for causing a computer to realize the invention corresponding to claim 7 is recorded. The computer controlled by the program read from the recording medium functions as the data processing device according to claim 7.
【0036】[0036]
【発明の実施の形態】以下、本発明の実施の形態につい
て説明する。 (発明の第1の実施の形態)図1は本発明の第1の実施
の形態に係るデータ処理装置の構成例を示すブロック図
である。Embodiments of the present invention will be described below. (First Embodiment of the Invention) FIG. 1 is a block diagram showing a configuration example of a data processing device according to a first embodiment of the present invention.
【0037】このデータ処理装置は、パーソナルコンピ
ュータやワークステーション等の計算機からなる暗復号
装置1として構成される。この暗復号装置は、暗号化処
理及び復号処理を実行する暗復号処理部2と、平文ファ
イル3,暗号文ファイル4及び鍵ファイル5を格納する
記憶手段(図示せず)から構成されている。This data processing device is configured as an encryption / decryption device 1 including a computer such as a personal computer or a workstation. This encryption / decryption device includes an encryption / decryption processing unit 2 for executing encryption and decryption processing, and storage means (not shown) for storing the plaintext file 3, the ciphertext file 4, and the key file 5.
【0038】ここで、平文ファイル3にはブロック化さ
れていない暗号化対象のデータが格納されている。ま
た、鍵ファイル5には、暗復号処理部2で使用する秘密
鍵が格納されている。Here, the plaintext file 3 stores data to be encrypted which is not blocked. The key file 5 stores a secret key used in the encryption / decryption processing unit 2.
【0039】暗復号処理部2は、m段の暗号化処理及び
復号処理を実行するデータ攪拌部11と、秘密鍵からm
個の拡大鍵K1,K2,..Km(以下、単に鍵ともい
う)を生成しデータ攪拌部11に与える鍵変換部12
と、各段に対応した初期値を生成する初期値生成部13
と、小ブロック切出編集部14,15と、ブロック長指
定部16とから構成されている。The encryption / decryption processing unit 2 includes a data agitation unit 11 for executing m-stage encryption and decryption processes, and m
Expanded keys K1, K2,. . A key conversion unit 12 that generates Km (hereinafter, also simply referred to as a key) and provides it to a data stirring unit 11
And an initial value generation unit 13 for generating an initial value corresponding to each stage
And small block cutout editing units 14 and 15 and a block length designation unit 16.
【0040】ブロック長指定部16は、所定の設定値に
基づき、あるいは外部からのブロック長指定入力に基づ
き、暗号化若しくは復号のための小ブロックのブロック
長(例えば1バイト)及び後述の連鎖数を決定し、当該
ブロック長を小ブロック切出編集部14,15、データ
攪拌部11及び初期値生成部13に与えるようになって
いる。また、小ブロックのブロック長は固定とし、ブロ
ック長と連鎖数の積となる暗号化対象の実質的な長さ
(後述する分割ブロック長)から連鎖数のみを算出し、
各部に入力する場合もある。The block length designating section 16 has a block length (for example, 1 byte) of a small block for encryption or decryption and a chain number to be described later, based on a predetermined set value or an externally input block length designation. Is determined, and the block length is given to the small block cutout editing units 14 and 15, the data agitation unit 11, and the initial value generation unit 13. Also, the block length of the small block is fixed, and only the number of chains is calculated from the substantial length of the encryption target (the divided block length described later) which is the product of the block length and the number of chains.
It may be input to each part.
【0041】小ブロック切出編集部14は、平文ファイ
ル3からの平文を指定されたブロック長でその先頭から
小ブロックに分割し、奇数番目の小ブロックを攪拌部1
1の奇数ブロック処理部17へ、偶数番目の小ブロック
を偶数ブロック処理部18へ入力する。また、攪拌部1
1から小ブロック単位で出力される復号データを編集し
て平文として平文ファイル3に出力する。The small block extracting and editing unit 14 divides the plaintext from the plaintext file 3 into small blocks from the beginning with the designated block length, and divides the odd-numbered small blocks into the stirring unit 1.
One odd-numbered block processing unit 17 and even-numbered small blocks are input to an even-numbered block processing unit 18. Also, the stirring unit 1
The decrypted data output from 1 in small block units is edited and output to the plaintext file 3 as plaintext.
【0042】小ブロック切出編集部15は攪拌部11の
最終段(m段)側で小ブロック切出編集部14と同様な
処理を行う。すなわち暗号文ファイル4からの暗号文を
指定されたブロック長でその先頭から小ブロックに分割
して攪拌部11へ入力するとともに、攪拌部11から出
力される暗号化データを編集して暗号文として暗号文フ
ァイル3に出力する。The small block extracting and editing unit 15 performs the same processing as the small block extracting and editing unit 14 on the last stage (m stage) of the stirring unit 11. That is, the ciphertext from the ciphertext file 4 is divided into small blocks from the beginning with a designated block length and input to the agitating unit 11, and the encrypted data output from the agitating unit 11 is edited as ciphertext. Output to ciphertext file 3.
【0043】データ攪拌部11は、奇数ブロック処理部
17と偶数ブロック処理部18とからなり、ブロック長
指定部16から指定されたブロック長の小ブロックを初
期値及び鍵変換部12からの拡大鍵Kにより暗号化処理
及び復号処理を行う。The data agitating unit 11 includes an odd block processing unit 17 and an even block processing unit 18. The small block having the block length designated by the block length designation unit 16 is used as an initial value and an expanded key from the key conversion unit 12. K performs encryption and decryption.
【0044】奇数ブロック処理部17は、奇数番目の小
ブロックが入力され、暗復号処理のうち第1段,3段,
5段,...,m−1段の処理を担当し、一方、偶数ブ
ロック処理部18は、当初に偶数番目の小ブロックが入
力され、暗復号処理のうち第2段,4段,6
段,...,m段の処理を担当する。なお、暗号化の場
合には、第1段から順次処理が実行され、第m段の処理
が終了したデータが暗号化データとして出力される。逆
に復号の場合には、第m段から逆順に処理が実行され、
第1段の処理が終了したデータが復号データとして出力
される。The odd-numbered block processing section 17 receives the odd-numbered small blocks, and performs the first, third, and third stages in the encryption / decryption processing.
5 steps,. . . , M−1 stages, while the even-number block processing unit 18 receives an even-numbered small block at first, and performs the second, fourth, and sixth stages of the encryption / decryption process.
Dan,. . . , M stages of processing. In the case of encryption, the processing is sequentially performed from the first stage, and the data after completion of the m-th stage is output as encrypted data. Conversely, in the case of decoding, processing is performed in reverse order from the m-th stage,
The data for which the processing of the first stage has been completed is output as decoded data.
【0045】また、この奇数ブロック処理部17及び偶
数ブロック処理部18については、図1では模式的に示
されているが、実際には入力される小ブロックを連鎖等
させる多数の処理から構成される。具体的には後述する
が、奇数ブロック処理と偶数ブロック処理と間でフェイ
ステル型の処理が実現されており、また、各奇数ブロッ
ク処理内及び偶数ブロック処理内における小ブロック間
の処理が連鎖するように構成されている。The odd block processing section 17 and the even block processing section 18 are schematically shown in FIG. 1, but are actually constituted by a large number of processes for chaining input small blocks. You. As will be described in detail later, Feistel type processing is realized between odd block processing and even block processing, and processing between small blocks in each odd block processing and even block processing is linked. It is configured as follows.
【0046】このデータ攪拌部11における処理構成
を、図2〜6を用いて具体的に説明する。なお、図中単
に鍵としているものは、先に述べたように単一の鍵から
生成された拡大鍵であってもよい。The processing configuration in the data agitating section 11 will be specifically described with reference to FIGS. Note that what is simply referred to as a key in the figure may be an expanded key generated from a single key as described above.
【0047】図2は本実施形態におけるデータ攪拌部の
具体的な構成例を示す図である。同図に示すように、入
力である平文21は、小ブロック22に分割されて入力
される。この小ブロック22は先頭から順に奇数ブロッ
ク23と偶数ブロック24とに分けて入力され、それぞ
れ奇数ブロック処理又は偶数ブロック処理が施されるよ
うになっている。平文21の各小ブロック22に対応す
る処理列を順に第1列、2列、...とすると、奇数列
の処理が奇数ブロック処理に対応し、偶数列の処理が偶
数ブロック処理に対応する。FIG. 2 is a diagram showing a specific configuration example of the data agitating section in the present embodiment. As shown in the figure, a plaintext 21 as an input is divided into small blocks 22 and input. The small blocks 22 are sequentially input from the head into an odd block 23 and an even block 24, and are subjected to odd block processing or even block processing, respectively. The processing sequence corresponding to each small block 22 of the plaintext 21 is sequentially described as a first column, a second column,. . . Then, the processing of the odd columns corresponds to the odd block processing, and the processing of the even columns corresponds to the even block processing.
【0048】なお、暗号文25も小ブロック26からな
り、復号時には順に奇数ブロック27と偶数ブロック2
8とに分けて入力されることになる。図3は図2の構成
から隣り合う奇数列及び偶数列の各1列を抜き出した図
である。The ciphertext 25 is also composed of small blocks 26. At the time of decryption, the odd block 27 and the even block 2
8 is input separately. FIG. 3 is a diagram in which one adjacent row of odd-numbered rows and even-numbered rows is extracted from the configuration of FIG.
【0049】この抜き出された1組の奇遇列の処理で
は、第i列(iは奇数)の第iブロック23は、拡大鍵
K1により第1段の関数F31で変換され、この変換結
果の一方は第i+1列に入力されて第i+1ブロック2
4との排他的論理和が取られて第2段の関数F32に入
力される。この第2段の関数F32ではその入力が拡大
鍵K2により変換され、この変換結果の一方は第i列に
戻され、上記第1段の関数F31からの他方の出力と排
他的論理和が取られて第3段の関数F33に入力され
る。In the processing of the extracted set of odd-numbered columns, the i-th block 23 in the i-th column (i is an odd number) is converted by the function F31 of the first stage using the expanded key K1. One is input to the (i + 1) th column and the (i + 1) th block 2
The exclusive-OR of the result with X.4 is taken and input to the function F32 of the second stage. In the function F32 of the second stage, the input is converted by the expanded key K2, one of the conversion results is returned to the i-th column, and the other output from the function F31 of the first stage is exclusive-ORed with the other output. And input to the third-stage function F33.
【0050】以下、第i列と第i+1列との間でこのよ
うな相互作用を繰り替えしつつ、処理が最終段まで進行
し、それぞれ暗号化された小ブロック27及び28が出
力される。Hereinafter, while repeating such an interaction between the i-th column and the (i + 1) -th column, the processing proceeds to the final stage, and encrypted small blocks 27 and 28 are output, respectively.
【0051】このように奇数番目の処理結果を偶数番目
の処理結果に相互作用させることにより、より解読しず
らく安全な暗号を構成している。ここで、この第i列と
第i+1列との間の処理はフェイステル型の暗号処理で
ある。Thus, by making the odd-numbered processing results interact with the even-numbered processing results, a more difficult-to-decrypt and secure cipher is constructed. Here, the processing between the i-th column and the (i + 1) -th column is Feistel-type encryption processing.
【0052】図4はフェイステル型ブロック暗号におけ
る形態の例を模式的に示す図である。同図(a),
(b),(c)は何れもフェイステル型ブロック暗号と
なるデータ攪拌処理の構成例である。本実施形態の場合
は、図4(a)に該当する。なお、図4(b)はいわゆ
るDES方式である。なお、本実施形態は、図4(a)
の形態をとっているが、本発明は図4(a),(b)又
は(c)の何れの形態をとってもよいものである。FIG. 4 is a diagram schematically showing an example of the form in the Feistel block cipher. FIG.
(B) and (c) are configuration examples of the data agitation process that becomes a Feistel block cipher. In the case of the present embodiment, this corresponds to FIG. FIG. 4B shows a so-called DES system. In this embodiment, FIG.
However, the present invention may take any of the forms shown in FIGS. 4A, 4B and 4C.
【0053】ところで、図3の奇遇列の相互作用は、隣
り合う2列が相互に及ぼす処理のみを抽出して示したも
のであって、図2に示すデータ攪拌部11全体で行われ
る処理は図3に示したものを単に組み合わせたものでは
ない。今度は、特定の第j段の処理のみを抽出し、段方
向、すなわち平文21や暗号文25の進行方向に沿った
連鎖がどのようになっているかを図5により説明する。By the way, the interaction between the odd columns in FIG. 3 is obtained by extracting only the processing that two adjacent columns exert on each other, and the processing performed by the entire data agitating section 11 shown in FIG. It is not a simple combination of those shown in FIG. This time, only the processing of the specific j-th stage is extracted, and how the chain along the direction of the stages, that is, the plaintext 21 and the ciphertext 25 along the traveling direction is described with reference to FIG.
【0054】図5は図2から暗号化処理の第j段目(j
は奇数)のみを抜き出した図である。同図に示すよう
に、奇数列の処理(奇数ブロック処理)は連鎖するよう
構成される。なお、偶数列の処理も同様である。FIG. 5 shows the j-th stage (j
(The odd numbers are extracted.) As shown in the figure, the processing of odd columns (odd block processing) is configured to be chained. The same applies to the processing of the even-numbered columns.
【0055】ここでまず、第1列の入力41は初期値4
2と排他的論理和された後、拡大鍵Kjを使って、関数
F43により変換される。変換結果は次段への入力44
と第3列(次奇数ブロック)の変換への入力45とに出
力される。First, the input 41 in the first column has an initial value of 4
After exclusive-ORing with 2, the result is converted by the function F43 using the expanded key Kj. The conversion result is input to the next stage 44.
And the input 45 to the transformation of the third column (the next odd block).
【0056】第3列の入力46は、第1列の出力45と
排他的論理和された後、拡大鍵Kjを使って、関数F4
7により変換される。変換結果は次段への入力48と第
5列(次奇数ブロック)の変換への入力49へと出力さ
れる。The input 46 of the third column is XORed with the output 45 of the first column, and then the function F4 is calculated using the expanded key Kj.
7 is converted. The result of the conversion is output to an input 48 to the next stage and an input 49 to the conversion of the fifth column (the next odd block).
【0057】以下、同様にして、前奇数ブロックの処理
結果が次奇数ブロックの変換に入力される連鎖が継続す
る。このように奇数列の処理(奇数ブロック処理)のみ
及び偶数列の処理(偶数ブロック処理)のみでそれぞれ
連鎖処理が行われるようになっている。In the same manner, the chain in which the processing result of the previous odd block is input to the conversion of the next odd block continues. As described above, only the odd-numbered column processing (odd-block processing) and the even-numbered column processing (even-numbered block processing) are performed, respectively.
【0058】なお、初期値42の入力があることで、奇
遇各列の処理は全く同一の回路とすることができる。こ
のため、同一回路を使い回すことが可能となることから
データ攪拌部11に準備すべき奇数ブロック処理及び偶
数ブロック処理の回路数は少ないものとなる。したがっ
て、初期値は例えばダミーでもよい。By the input of the initial value 42, the processing of each of the odd-numbered columns can be made exactly the same circuit. Therefore, since the same circuit can be reused, the number of circuits for the odd-number block processing and the even-number block processing to be prepared in the data agitation unit 11 is small. Therefore, the initial value may be a dummy, for example.
【0059】さて、図2に示したデータ攪拌部11は、
図3で示す奇遇列の相互作用からなる処理回路と、図5
で示す奇数列及び偶数列それぞれ内での連鎖処理の回路
とを組み合わせたものである。Now, the data agitating section 11 shown in FIG.
FIG. 5 shows a processing circuit comprising the interaction of the odd columns shown in FIG.
This is a combination of a chain processing circuit in each of the odd-numbered column and the even-numbered column indicated by.
【0060】したがって、図2に示す回路の処理を説明
すると次のようになる。まず、第1列の奇数小ブロック
23は1段目の初期値51と演算した後、1段目の拡大
鍵K1により関数F52で変換される。その変換結果5
3は、第3列の奇数小ブロック23との演算54及び第
2列の偶数小ブロック24との演算55及び第3段目の
演算56に使用される。Accordingly, the processing of the circuit shown in FIG. 2 will be described as follows. First, the odd-numbered small blocks 23 in the first column are calculated with the initial value 51 in the first row, and then converted by the function F52 by the expanded key K1 in the first row. Conversion result 5
3 is used in an operation 54 with the odd-numbered small blocks 23 in the third column, an operation 55 with the even-numbered small blocks 24 in the second column, and a third-stage operation 56.
【0061】ここで、演算55,56は第1列と第2列
が相互作用するための相互作用手段をなしており、演算
54は第1列と第3列とが連鎖するための連鎖手段をな
していることがわかる。Here, the operations 55 and 56 constitute an interaction means for the first column and the second column to interact with each other, and the operation 54 is a chain means for the first column and the third column to be chained. You can see that
【0062】このように第i列第j段の変換の出力結果
は、第i+2列へ連鎖するために第i+2列第j段への
入力と演算される。また、同出力結果は、iが奇数の場
合には第i+1列(iが偶数の場合には第i−1列、以
下同様)と第i列が相互作用すべく、第i+1列第j+
1段への入力と演算され、また、第i+1列第j+1段
の出力と第i列第j+2段の入力側において演算され
る。こうして、上述した相互作用と連鎖が確保される。As described above, the output result of the conversion of the i-th column and the j-th stage is calculated as an input to the i-th column and the j-th stage in order to link to the (i + 2) -th column. In addition, the output result is such that the i + 1-th column and the (j + 1) -th column are used when the i-th column interacts with the (i + 1) -th column when i is an odd number (the i-th column when i is an even number).
The operation is performed on the input to the first stage, and the operation is performed on the output of the (i + 1) th column and the (j + 1) th stage and the input side of the (i) th column and the (j + 2) th stage. Thus, the above-mentioned interaction and chain are secured.
【0063】図1からわかるように、この暗号化処理は
入力に対し逐次的に処理することができ、処理結果の暗
号文は処理が終わり次第逐次的に出力できるため、入力
を一旦記憶手段に貯えてから全ての処理を行う必要がな
い特徴がある。As can be seen from FIG. 1, this encryption process can be processed sequentially with respect to the input, and the resulting encrypted text can be sequentially output as soon as the process is completed. There is a feature that it is not necessary to perform all processing after storing.
【0064】復号処理は暗号処理の逆手順で行う。すな
わち、図1でいえば下から上に向かって処理することに
なる。次に、連鎖処理の作用を説明する。The decryption processing is performed in the reverse order of the encryption processing. That is, in FIG. 1, processing is performed from bottom to top. Next, the operation of the chain processing will be described.
【0065】本実施形態では、小ブロック22のブロッ
ク長及び連鎖数を自在に設定可能とし、例えばブロック
長1バイト程度と短い小ブロック22でも安全な暗号化
が可能である。これは、小ブロック22の連鎖作用によ
り実質的に大きなブロック(これを分割ブロックともい
う)で暗号化処理を行っているのと同等な結果となるか
らである。なお、隣り合う各小ブロック間での相互作用
は図3を用いて上述したが、図2の処理では、奇数小ブ
ロック同士が連鎖した全体と偶数小ブロック同士が連鎖
した全体同士もフェイスタル型となる相互作用を行って
いる。この点については後述する。In the present embodiment, the block length and the number of chains of the small block 22 can be freely set, and secure encryption can be performed even for the small block 22 having a short block length of, for example, about 1 byte. This is because the chaining action of the small blocks 22 has the same result as performing the encryption processing on a substantially large block (also referred to as a divided block). Although the interaction between adjacent small blocks has been described above with reference to FIG. 3, in the processing of FIG. 2, the whole of odd-numbered small blocks and the whole of even-numbered small blocks are also of the facial type. The interaction that becomes. This will be described later.
【0066】また、図1のブロック長指定部16により
連鎖数を自在に設定することができ、この連鎖を何回さ
せるかにより、入力ブロック(平文21)の長さが異な
る可変長の入力を暗号化することが可能となる。The number of chains can be freely set by the block length specifying section 16 in FIG. 1. Depending on how many times the chains are made, input of variable lengths having different lengths of the input block (plaintext 21) can be performed. It becomes possible to encrypt.
【0067】例えばまず、平文ファイル3から暗号復号
処理部2に対して次々と入力される長さの異なる各平文
のバイト数をブロック長指定部16でそれぞれ読み取
る。次に、ブロック長を例えば1バイトとして各平文の
バイト数を連鎖数として、ブロック長指定部16から各
部11,13,14,15に入力すればよい。For example, first, the block length designation unit 16 reads the number of bytes of each plaintext having a different length, which are successively input to the encryption / decryption processing unit 2 from the plaintext file 3. Next, the block length is set to, for example, 1 byte, and the number of bytes of each plaintext is set as the number of chains, and is input from the block length specifying unit 16 to each of the units 11, 13, 14, 15.
【0068】次に、奇数小ブロック同士が連鎖した全体
と偶数小ブロック同士が連鎖した全体同士が行う相互作
用について説明する。図6は図2の暗号回路と等価な回
路の例を示す図である。Next, a description will be given of the interaction between the whole of the odd-numbered small blocks and the whole of the even-numbered small blocks. FIG. 6 is a diagram showing an example of a circuit equivalent to the encryption circuit of FIG.
【0069】この回路ではまず、変換P61によって入
力される平文21が奇数小ブロック22のみを集めた奇
数部分62と、偶数小ブロック23のみを集めた偶数部
分63に並び替えられる。In this circuit, first, the plaintext 21 input by the conversion P61 is rearranged into an odd part 62 in which only the odd-numbered small blocks 22 are collected and an even-numbered part 63 in which only the even-numbered small blocks 23 are collected.
【0070】奇数部分62は関数G64により変換され
た後、その変換結果65は次段の変換への入力66と、
偶数部分63の処理の入力67に伝達される。以下、交
互に変換結果を相互作用させながら変換が進み、変換P
61の逆変換P-168を行うことにより暗号文26が得
られる。After the odd part 62 is converted by the function G64, the conversion result 65 is an input 66 to the next-stage conversion,
It is transmitted to the input 67 of the processing of the even part 63. Hereinafter, the conversion proceeds while alternately interacting the conversion results, and the conversion P
The ciphertext 26 is obtained by performing the inverse transformation P- 1 68 of 61.
【0071】なお、図6の部分拡大図に示すように、関
数Gは、入力69を各小ブロック70に分解した後、図
4と同様な連鎖を伴う変換(関数Fを含む)を経た結果
71を出力する。As shown in the partial enlarged view of FIG. 6, the function G is obtained by decomposing the input 69 into small blocks 70 and then performing the same transformation (including the function F) as in FIG. 71 is output.
【0072】このように、図6の処理は、見かけは異な
るものの図2と同様の処理をする構成であることがわか
る。また、図6に示す構成は、フェイステル型ブロック
暗号の形式に属する暗号と形式的に等価(図4(a))
であって、フェイステル型暗号において適用できる安全
性の論議を、そのまま適用することができる。As described above, it can be seen that the processing in FIG. 6 is the same as the processing in FIG. 2 although the appearance is different. The configuration shown in FIG. 6 is formally equivalent to a cipher belonging to the form of the Feistel block cipher (FIG. 4A).
Therefore, the security discussion applicable to the Feistel encryption can be applied as it is.
【0073】したがって、Nybergらが示したフェ
イステル型暗号についての安全な置換表の構成、すなわ
ち、APNな置換表による暗号化構成を取ることが可能
である。本実施形態の暗号復号処理部2では、このAP
Nな置換表による暗号化構成を取っている。Therefore, it is possible to adopt a configuration of a secure replacement table for the Feistel type encryption shown by Nyberg et al., That is, an encryption configuration using an APN replacement table. In the decryption processing unit 2 of the present embodiment, the AP
An encryption configuration based on N substitution tables is used.
【0074】次に、以上のように構成された本実施形態
におけるデータ処理装置の動作について説明する。本装
置では、まず、平文ファイル3から長さ不特定の平文
(分割ブロック)が取り出される。この平文長さに対応
して、ブロック長及び連鎖数がブロック長指定部16に
より決定されるとともに、当該平文が小ブロック切出編
集部14に入力される。Next, the operation of the data processing device according to the present embodiment configured as described above will be described. In the present apparatus, first, a plaintext (divided block) having an unspecified length is extracted from the plaintext file 3. The block length and the number of chains are determined by the block length specifying unit 16 corresponding to the plaintext length, and the plaintext is input to the small block cutout editing unit 14.
【0075】小ブロック切出編集部14において、平文
は小ブロック22に順次切り出され、奇偶数小ブロック
毎にデータ攪拌部11に入力される。データ攪拌部11
に入力された平文は先頭の小ブロック22から末尾の小
ブロック22に向けて逐次的に処理され、連鎖及び相互
作用を受ける。このときの暗号化処理は、図2の第1列
が最終列に向けてかつ第1段から第m段に向けての順次
処理となり、暗号化結果も第1列から順次小ブロック2
6単位で出力される。In the small block extracting and editing unit 14, the plain text is sequentially extracted into small blocks 22, and is input to the data agitation unit 11 for each odd and even small block. Data stirring unit 11
Are processed sequentially from the first small block 22 to the last small block 22, and are subjected to chaining and interaction. The encryption process at this time is a sequential process in which the first column in FIG. 2 is directed to the last column and from the first stage to the m-th stage.
Output in 6 units.
【0076】こうして暗号化された各小ブロック26
は、小ブロック切出編集部15により編集され、暗号文
として暗号文ファイル4に格納される。なお、復号の場
合は、上記と逆の処理が行われる。Each small block 26 thus encrypted
Is edited by the small block cutout editing unit 15 and stored in the ciphertext file 4 as ciphertext. In the case of decryption, the reverse process is performed.
【0077】上述したように、本発明の実施の形態に係
るデータ処理装置は、その暗号化アルゴリズムにおい
て、暗号対象を小ブロックに分割するとともに各小ブロ
ックを奇数列同士及び偶数列同士で連鎖させるようにし
たので、たとえ小ブロックのサイズが小さい場合でも安
全な暗号化を実現させることができる。As described above, in the data processing device according to the embodiment of the present invention, in the encryption algorithm, the object to be encrypted is divided into small blocks, and each small block is linked between odd columns and even columns. Thus, even if the size of the small block is small, secure encryption can be realized.
【0078】また、小ブロックの長さ及び連鎖数を調整
することで、可変長ブロックの処理を可能とし、異なる
長さで比較的短い平文の場合でも、安全かつ効率的な暗
号化を行うことができる。Further, by adjusting the length and the number of chains of the small blocks, it is possible to process variable-length blocks, and to perform secure and efficient encryption even for plaintexts having different lengths and relatively short lengths. Can be.
【0079】さらに、データ攪拌部11では逐次的な処
理が可能であるので、中間的な処理結果をバッファに記
憶しておく必要もなく、処理が済み次第順次出力するこ
とができる。Further, since the data agitation unit 11 can perform sequential processing, there is no need to store intermediate processing results in a buffer, and the data can be sequentially output as soon as the processing is completed.
【0080】また、逐次的な処理が行われることから暗
号処理部2に入力するブロック長を長くしても、全体的
な処理効率は落ちない。したがって、たとえ短い鍵を使
った場合でも、例えば連鎖数を多くして相互作用する実
質ブロック長を長くすることで総当たり攻撃に対する安
全性を高くすることができる。Further, since the sequential processing is performed, the overall processing efficiency does not decrease even if the block length input to the encryption processing unit 2 is increased. Therefore, even if a short key is used, security against a brute force attack can be increased by, for example, increasing the number of chains and increasing the length of the interacting real block.
【0081】なお、本実施形態では、鍵変換部12は秘
密鍵方式により拡大鍵Kを生成してデータ攪拌部11の
各段に鍵供給するものとしたが、本発明はこのような鍵
付与方式に限られるものではない。例えば鍵変換部11
へはすべて同一の鍵を与えるようにしてよいし、全ての
処理段に拡大鍵でない異なる由来の鍵を与えるようにし
てもよい。さらに、各段毎のみならず各列毎に異なる鍵
を与えるようにしてもよい。In the present embodiment, the key conversion unit 12 generates the expanded key K by the secret key method and supplies the key to each stage of the data agitation unit 11. It is not limited to the method. For example, the key conversion unit 11
May be given the same key, or all processing stages may be given keys of different origins other than the expanded key. Further, a different key may be provided not only for each row but also for each column.
【0082】また、本実施形態のデータ攪拌部11にお
いては、例えば列数が大きくなった場合には、変換手段
としての関数Fの処理が行われる段数を少なくするよう
にしてもよい。このようにすれば逐次処理による最終列
の暗号化結果を早く出力することができ、暗復号処理の
効率を上げることができる。また、列数が大きい部分で
は連鎖が十分に行われているので、段数を少なくしても
十分な暗号強度が得られると考えられる。Further, in the data agitating section 11 of the present embodiment, for example, when the number of columns becomes large, the number of stages in which the processing of the function F as the conversion means is performed may be reduced. By doing so, the encryption result of the last column by the sequential processing can be output quickly, and the efficiency of encryption / decryption processing can be increased. Further, since chaining is sufficiently performed in a portion having a large number of columns, it is considered that sufficient encryption strength can be obtained even if the number of stages is reduced.
【0083】なお、段数の変更方法としては、一定の列
数以上になった場合に段数を少なくする方法や列数に対
応させて順次段数を少なくする方法等が考えられる。 (発明の第2の実施の形態)本実施形態は、第1の実施
形態のデータ処理装置において、その段数に依存して連
鎖の方向を切り替えるようにしたものである。As a method of changing the number of stages, a method of reducing the number of stages when the number of columns exceeds a certain number or a method of sequentially reducing the number of stages corresponding to the number of columns can be considered. (Second Embodiment of the Invention) In the present embodiment, the direction of a chain is switched depending on the number of stages in the data processing apparatus of the first embodiment.
【0084】本実施形態のデータ処理装置は、図2に対
応するデータ攪拌部の連鎖方向が指定された段数から逆
方向連鎖に切り替えられている点を除く他、第1の実施
形態と同様に構成されている。The data processing apparatus of the present embodiment is similar to the first embodiment except that the chain direction of the data agitating section corresponding to FIG. 2 is switched from the designated number of stages to the reverse chain. It is configured.
【0085】図7は本発明の第2の実施の形態に係るデ
ータ処理装置におけるデータ攪拌部の一部構成の例を示
すブロック図である。同図は、データ攪拌部から第j
段,j+2段,l段,l+1段における連鎖関連する処
理構成のみを抜き出したものである。FIG. 7 is a block diagram showing an example of a partial configuration of a data agitating section in a data processing device according to the second embodiment of the present invention. FIG.
Only the processing configuration related to the chain in the stage, j + 2 stage, l stage, and l + 1 stage is extracted.
【0086】第j段,j+2段を含む第1段から第l−
2段における連鎖は、第1の実施形態の場合と同様であ
り、奇数小ブロックが第1列から第n−1列にかけて順
方向に連鎖していくものである。なお、本実施形態では
最終列は第n列であり、したがって、連鎖数はn/2で
ある。From the first stage including the j-th stage and j + 2 stage to the l-th stage
The chaining in the second stage is the same as in the first embodiment, in which odd-numbered small blocks are chained in the forward direction from the first column to the (n-1) th column. In the present embodiment, the last column is the n-th column, and therefore, the number of chains is n / 2.
【0087】これに対し、第l段から以降最終段まで
は、第n−1列から第1列にかけて逆方向に連鎖が行わ
れるように構成されている。なお、偶数列も奇数列と同
様に構成されており、第l+1段から連鎖方向が切り替
わる。On the other hand, from the 1st stage to the final stage, the chaining is performed in the reverse direction from the (n-1) th column to the first column. Note that the even-numbered column has the same configuration as the odd-numbered column, and the chain direction switches from the (l + 1) th stage.
【0088】また、この連鎖方向の切替段数は、奇数偶
数列それぞれ独立にかつ変更自在に、ブロック長指定部
から指定できるようになっている。通常状態の暗号化で
は、上記の場合のように、奇数列偶数列がほぼ同じタイ
ミングで連鎖方向切り替えされるように指定される。The number of switching stages in the chain direction can be specified from the block length specifying section independently and freely in each of the odd and even columns. In the encryption in the normal state, as in the case described above, it is specified that the odd-numbered columns and the even-numbered columns are switched in the chain direction at substantially the same timing.
【0089】上述したように、本発明の実施の形態に係
るデータ処理装置は、第1の実施形態と同様な構成が設
けられる他、所定の段数から連鎖方向を切り替えるよう
にしたので、第1の実施形態と同様な効果が得られる
他、全ての入力が暗号結果に影響を及ぼすこととなり、
より解読しずらく安全性が高い暗号を構成することがで
きる。As described above, the data processing apparatus according to the embodiment of the present invention has the same configuration as that of the first embodiment, and also switches the chain direction from a predetermined number of stages. In addition to the same effects as those of the embodiment, all inputs will affect the encryption result,
It is possible to compose a highly secure encryption that is more difficult to decipher.
【0090】また、どの段がどちらの方向に連鎖させる
かを、暗号利用者の秘密とすることで、より安全性の高
い通信を行うことが可能となる。 (発明の第3の実施の形態)本実施形態は、第1若しく
は第2の実施形態において、入力に依存関係のない複数
の変換手段を並列処理するものである。Further, it is possible to perform communication with higher security by setting which stage is chained in which direction in secret of the cryptographic user. (Third Embodiment of the Invention) In this embodiment, in the first or second embodiment, a plurality of conversion means having no dependency on the input are processed in parallel.
【0091】本実施形態のデータ処理装置は、このよう
な並列処理が行われる点を除く他、第1又は第2の実施
形態と同様に構成されている。図8は本発明の第3の実
施の形態に係るデータ処理装置における並列処理部分を
示すブロック図である。The data processing apparatus of this embodiment has the same configuration as that of the first or second embodiment except that such parallel processing is performed. FIG. 8 is a block diagram showing a parallel processing part in the data processing device according to the third embodiment of the present invention.
【0092】同図において、破線の丸81で囲まれた部
分に含まれる2つの関数F82と関数F83とは互いに
入出力に依存関係がないため、並列処理することが可能
であり、特に図示しない手段で並列処理するようになっ
ている。In the figure, the two functions F82 and F83 included in the portion surrounded by the dashed circle 81 do not have any input / output dependency, so that they can be processed in parallel, and are not particularly shown. Parallel processing is performed by means.
【0093】また、2つの丸81のうち、丸81aと丸
81bの位置関係となる丸内の各処理間にも入出力に依
存関係がないため、並列処理することが可能であり、こ
れらの間でも上記と同様に並列処理するようになってい
る。Further, among the two circles 81, since there is no input / output dependency between the processes in the circles which are the positional relationship between the circles 81a and 81b, parallel processing is possible. Between them, parallel processing is performed in the same manner as described above.
【0094】上述したように、本発明の実施の形態に係
るデータ処理装置は、第1又は第2の実施形態と同様な
構成を設けた他、入出力に依存関係のない処理を並列処
理するようにしたので、第1又は第2の実施形態と同様
な効果が得られる他、全体的な処理速度を向上させるこ
とができ、処理効率を上げることができる。 (発明の第4の実施の形態)本実施形態は、第1〜第3
の実施形態における暗復号処理装置としてのデータ処理
装置を一方の通信者とし、同暗号復号処理装置を他方の
通信者としたときの通信システムについて説明する。As described above, the data processing apparatus according to the embodiment of the present invention has a configuration similar to that of the first or second embodiment, and performs parallel processing of input / output independent processing. As a result, the same effects as those of the first or second embodiment can be obtained, the overall processing speed can be improved, and the processing efficiency can be improved. (Fourth Embodiment of the Invention) The present embodiment relates to first to third embodiments.
A description will be given of a communication system in which the data processing device as the encryption / decryption processing device according to the embodiment is one communicator and the encryption / decryption processing device is the other communicator.
【0095】図9は本発明の第4の実施の形態に係る通
信システムの構成例を示すブロック図であり、図1〜図
8と同一部分には同一符号を付して説明を省略し、ここ
では異なる部分についてのみ述べる。FIG. 9 is a block diagram showing a configuration example of a communication system according to the fourth embodiment of the present invention. The same parts as those in FIGS. Here, only different parts will be described.
【0096】この通信システムは、通信装置91Aと通
信装置91Bとが通信路92を介して接続してなるもの
である。通信路92としては、LANやインターネット
等種々の形態が考えられる。In this communication system, a communication device 91A and a communication device 91B are connected via a communication path 92. As the communication path 92, various forms such as a LAN and the Internet can be considered.
【0097】各通信装置91Aと91Bは、一方が送信
者、他方が受信者となるだけで同一の構成を有するもの
である。すなわち、図1の暗号復号装置1に、平文分割
部93,分割ブロック長引渡部94及び通信処理部95
を付加して構成される。Each of the communication devices 91A and 91B has the same configuration except that one is a sender and the other is a receiver. That is, the plaintext division unit 93, the divided block length delivery unit 94, and the communication processing unit 95 are provided to the encryption / decryption device 1 of FIG.
Is added.
【0098】平文分割部93は、送信すべき平文を不定
期な長さのブロックに分割し、その単位で暗号化するた
めに、当該分割ブロック毎に暗復号処理部2の小ブロッ
ク切出編集部14に入力するとともに、その各ブロック
の長さをブロック長指定部16及び分割ブロック長引渡
部94に引き渡す。なお、ここでいう平文を分割したブ
ロックは、小ブロック及びそのブロック長と区別するた
め、以下、分割ブロックといい、分割ブロックのブロッ
ク長を分割ブロック長という。なお、ブロック長に連鎖
数をかけたものが分割ブロック長となる。The plaintext dividing section 93 divides the plaintext to be transmitted into blocks of irregular length and encrypts the block in units of small blocks. In addition to the input to the unit 14, the length of each block is transferred to the block length designation unit 16 and the divided block length transfer unit 94. Note that the block obtained by dividing the plain text here is referred to as a divided block hereinafter to distinguish it from a small block and its block length, and the block length of the divided block is referred to as a divided block length. Note that the block length multiplied by the number of chains is the divided block length.
【0099】分割ブロック長引渡部94は、各分割ブロ
ック長についての情報を、例えば暗号化することで通信
装置91Aから91Bへ、あるいはその逆方向に秘密裏
に引き渡す。また、両通信装置91A,Bの暗復号処理
部2で使用する鍵の共有も行う。The division block length transfer section 94 transfers information on each division block length from the communication device 91A to the communication device 91B by, for example, encrypting the information, or secretly transfers the information in the reverse direction. Further, the key used by the encryption / decryption processing unit 2 of both communication devices 91A and 91B is also shared.
【0100】次に、以上のように構成された本実施形態
における通信システムの動作について説明する。まず、
送信側である通信装置91Aにおいて、暗号化通信した
い平文96は、必ずしも等しくない長さの分割ブロック
97に平文分割部93にて分割され、可変長ブロックを
処理できる暗復号処理部2により秘密鍵を使ってブロッ
ク毎に暗号化される。この暗号化のための小ブロック長
及び連鎖数はブロック長指定部16において分割ブロッ
ク長から算出される。なお、本実施形態の場合、小ブロ
ックのブロック長は1バイト固定である。Next, the operation of the communication system according to the present embodiment configured as described above will be described. First,
In the communication device 91A on the transmitting side, a plaintext 96 to be encrypted and communicated is divided by the plaintext dividing unit 93 into divided blocks 97 having unequal lengths, and the encryption / decryption processing unit 2 capable of processing a variable-length block outputs a secret key. Is used to encrypt each block. The small block length and the number of chains for this encryption are calculated from the divided block length in the block length designation unit 16. In the present embodiment, the block length of the small block is fixed at 1 byte.
【0101】こうして作成された暗号文98は、通信路
92を介して伝送される。平文を、どのように分割する
かは暗号通信の送信者と受信者があらかじめ打ち合わせ
ておく必要があるが、これは分割ブロック長情報として
分割ブロック長引渡部94同士の処理により事前引き渡
しがなされる。The ciphertext 98 created in this way is transmitted via the communication path 92. It is necessary for the sender and receiver of the encrypted communication to discuss in advance how the plaintext should be divided, but this is performed in advance by the processing between the divided block length delivery units 94 as the divided block length information. .
【0102】次に、受信側である通信装置91Bにおい
ては、受信した分割ブロック情報と暗号文98が分割ブ
ロック99毎に復号される。このとき、分割ブロック長
から暗号化された各分割ブロック99の連鎖数が算出さ
れる。Next, in the communication device 91B on the receiving side, the received divided block information and the cipher text 98 are decrypted for each divided block 99. At this time, the number of chains of each encrypted divided block 99 is calculated from the divided block length.
【0103】復号した後、分割ブロック97を連結する
ことで元と同一の平文96が復元される。上述したよう
に、本発明の実施の形態に係る通信システムは、第1〜
第3の暗復号処理部2と平文分割部93及び分割ブロッ
ク長引渡部94を設けた通信装置間で不定期な分割ブロ
ック長の暗号文98を作成して暗号通信を行うととも
に、分割ブロック長を秘密情報として通信装置間で授受
するようにしたので、第1〜第3の実施形態と同様な効
果が得られる他、ブロックの長さや連鎖方向を可変なパ
ラメータとして暗号通信の送受信者共有の秘密とし、よ
り安全な暗号化通信を行うことができる。After decryption, the same plaintext 96 as the original is restored by connecting the divided blocks 97. As described above, the communication system according to the embodiment of the present invention includes first to first communication systems.
The communication device provided with the third encryption / decryption processing unit 2 and the plaintext division unit 93 and the division block length transfer unit 94 creates an irregularly-divided ciphertext 98 having a divided block length, performs cipher communication, and performs the encrypted block length. Is transmitted and received as confidential information between the communication devices, so that the same effects as those of the first to third embodiments can be obtained. Secret communication can be performed more securely.
【0104】これは通常の暗号化通信とよく似ている
が、暗号化処理されるブロックのブロック長が可変なた
め、悪意の第三者が通信路92を盗聴しても、ブロック
の区切りが分からないので、暗号解読することは不可能
である。 (発明の第5の実施の形態)本実施形態は、第4の実施
形態において平文分割部における平文から分割ブロック
への分割方法を改良したものである。This is very similar to the normal encrypted communication, but since the block length of the block to be encrypted is variable, even if a malicious third party eavesdrops on the communication path 92, the block division is not performed. It is impossible to decipher because you do not know. (Fifth Embodiment of the Invention) This embodiment is an improvement of the method of dividing a plaintext into divided blocks in the plaintext dividing unit in the fourth embodiment.
【0105】図10は本発明の第5の実施の形態に係る
通信システムにおける平文分割部の構成例を示すブロッ
ク図であり、図9と同一部分には同一符号を付して説明
を省略し、ここでは異なる部分についてのみ述べる。FIG. 10 is a block diagram showing an example of the configuration of a plaintext division unit in a communication system according to the fifth embodiment of the present invention. Here, only the different parts will be described.
【0106】本実施形態の通信システムは、各通信装置
91A,91Bにおける平文分割部93の構成に変更が
加えられる他、第4の実施形態と同様に構成されてい
る。平文分割部93は、シード格納部101、乱数発生
器102及び分割処理部103により構成されている。The communication system of this embodiment has the same configuration as that of the fourth embodiment except that the configuration of the plaintext division unit 93 in each of the communication devices 91A and 91B is changed. The plaintext division unit 93 includes a seed storage unit 101, a random number generator 102, and a division processing unit 103.
【0107】シード格納部101はシードを格納する。
乱数発生器102は、シード格納部101から取り出さ
れるシードを基に乱数を発生し、これを分割ブロック長
として暗復号処理部2のブロック長指定部16及び分割
処理部103に出力する。The seed storage section 101 stores a seed.
The random number generator 102 generates a random number based on the seed extracted from the seed storage unit 101 and outputs the generated random number to the block length designation unit 16 and the division processing unit 103 of the encryption / decryption processing unit 2 as a division block length.
【0108】分割処理部103は、乱数発生器102か
ら得た分割ブロック長により平文を分割し、分割ブロッ
クとして小ブロック切り出し編集部14に出力する。次
に、以上のように構成された本実施形態におけるデータ
処理装置の動作について説明する。The division processing unit 103 divides the plain text according to the division block length obtained from the random number generator 102, and outputs the divided plain block to the small block cutout editing unit 14. Next, the operation of the data processing device according to the present embodiment configured as described above will be described.
【0109】まず、シードは分割ブロック長を算出する
ための基礎となるものであり、図示しないシード共有手
段により通信相手に通知される。このシード共有手段は
図9の分割ブロック長引渡部94のように暗号通信手段
でもよく、また、通信路92を介しない記録媒体による
引き渡し等でもよい。したがって、本実施形態の場合は
分割ブロック長を通信装置間で直接授受する必要はな
い。First, the seed is the basis for calculating the divided block length, and is notified to the communication partner by a seed sharing means (not shown). This seed sharing means may be an encrypted communication means like the divided block length delivery unit 94 in FIG. 9, or may be a delivery using a recording medium not via the communication path 92. Therefore, in the case of the present embodiment, it is not necessary to directly transfer the divided block length between the communication devices.
【0110】次に、送信者が所有するシードが初期値と
なり乱数発生器102によって乱数が出力される。この
発生乱数は、さらに同乱数発生器102によって分割ブ
ロック長に使用できる数値に変換され出力される。Next, the seed owned by the sender becomes the initial value, and the random number generator 102 outputs a random number. This generated random number is further converted by the same random number generator 102 into a value that can be used for the divided block length and output.
【0111】平文は分割処理部103において、乱数発
生器102により得られる分割ブロック長で順次分割さ
れ暗復号処理部2に入力される。一方、分割ブロック長
自体も暗復号処理部2に入力され、連鎖数の算出に用い
られる。The plaintext is sequentially divided by the division block length obtained by the random number generator 102 in the division processing unit 103 and input to the encryption / decryption processing unit 2. On the other hand, the divided block length itself is also input to the encryption / decryption processing unit 2 and used for calculating the number of chains.
【0112】以下の動作は第4の実施形態と同様であ
る。上述したように、本発明の実施の形態に係る通信シ
ステムは、第4の実施形態と同様な構成を有する他、シ
ードに基づく乱数発生により分割ブロック長を算出する
ようにしたので、第4の実施形態と同様な効果が得られ
る他、可変な分割ブロック長が乱数により決められ暗号
文の分割ブロックの区切りをより一層わかりにくいもの
とすることができる。The following operation is the same as in the fourth embodiment. As described above, the communication system according to the embodiment of the present invention has the same configuration as that of the fourth embodiment, and also calculates the divided block length by generating a random number based on a seed. In addition to the same effects as in the embodiment, a variable divided block length is determined by a random number, so that it is possible to further make it difficult to distinguish the divided blocks of the ciphertext.
【0113】したがって、たとえ通信路92が盗聴され
暗号文が他人に入手されても、ブロックの区切りが分か
らず暗号解読することができない。なお、実施形態に記
載した手法は、計算機(コンピュータ)に実行させるこ
とができるプログラム(ソフトウエア手段)として、例
えば磁気ディスク(フロッピーディスク、ハードディス
ク等)、光ディスク(CD−ROM、DVD等)、半導
体メモリ等の記憶媒体に格納し、また通信媒体により伝
送して頒布することもできる。なお、媒体側に格納され
るプログラムには、計算機に実行させるソフトウエア手
段(実行プログラムのみならずテーブルやデータ構造も
含む)を計算機内に構成させる設定プログラムをも含む
ものである。本装置を実現する計算機は、記憶媒体に記
録されたプログラムを読み込み、また場合により設定プ
ログラムによりソフトウエア手段を構築し、このソフト
ウエア手段によって動作が制御されることにより上述し
た処理を実行する。Therefore, even if the communication path 92 is eavesdropped and the ciphertext is obtained by another person, the delimitation of the block is not known and the code cannot be decrypted. The method described in the embodiment may be a program (software means) that can be executed by a computer (computer), for example, a magnetic disk (floppy disk, hard disk, etc.), an optical disk (CD-ROM, DVD, etc.), semiconductor It can also be stored in a storage medium such as a memory or transmitted and distributed via a communication medium. The program stored on the medium side includes a setting program for causing the computer to execute software means (including not only an execution program but also a table and a data structure) to be executed in the computer. A computer that realizes the present apparatus reads a program recorded in a storage medium, and in some cases, constructs software means by using a setting program, and executes the above-described processing by controlling the operation of the software means.
【0114】[0114]
【発明の効果】以上詳記したように本発明によれば、暗
号対象となるブロック全体をさらに小ブロックに分けこ
れを連鎖及び相互作用させつつ暗号化するようにしたの
で、ブロック暗号においてそのブロック長が短い場合で
あっても、ブロック長が短いことに起因する安全性の低
下を防止しつつ伝送効率を高くすることができ、かつフ
ェイステル型暗号とすることができるデータ処理装置及
び通信システム並びに記録媒体を提供することができ
る。As described above in detail, according to the present invention, the entire block to be encrypted is further divided into small blocks and the blocks are encrypted while being chained and interacting with each other. Data processing apparatus and communication system capable of increasing transmission efficiency while preventing a decrease in security due to a short block length even when the length is short, and capable of performing Feistel encryption In addition, a recording medium can be provided.
【0115】また、本発明によれば、連鎖数又は小ブロ
ック長さを可変とすることで、暗号対象となるブロック
長自体を可変とすることができるデータ処理装置及び通
信システム並びに記録媒体を提供することができる。Further, according to the present invention, there is provided a data processing apparatus, a communication system, and a recording medium in which the number of chains or the length of a small block is made variable so that the block length itself to be encrypted can be made variable. can do.
【図1】本発明の第1の実施の形態に係るデータ処理装
置の構成例を示すブロック図。FIG. 1 is a block diagram showing a configuration example of a data processing device according to a first embodiment of the present invention.
【図2】同実施形態におけるデータ攪拌部の具体的な構
成例を示す図。FIG. 2 is a view showing a specific configuration example of a data agitating unit in the embodiment.
【図3】図2の構成から隣り合う奇数列及び偶数列の各
1列を抜き出した図。3 is a diagram in which one adjacent row of an odd-numbered row and an even-numbered row is extracted from the configuration of FIG. 2;
【図4】フェイステル型ブロック暗号における形態の例
を模式的に示す図。FIG. 4 is a diagram schematically showing an example of a form in a Feistel block cipher.
【図5】図2から暗号化処理の第j段目(jは奇数)の
みを抜き出した図。FIG. 5 is a diagram showing only the j-th stage (j is an odd number) of the encryption processing extracted from FIG. 2;
【図6】図2の暗号回路と等価な回路の例を示す図。FIG. 6 is a diagram showing an example of a circuit equivalent to the encryption circuit of FIG. 2;
【図7】本発明の第2の実施の形態に係るデータ処理装
置におけるデータ攪拌部の一部構成の例を示すブロック
図。FIG. 7 is a block diagram showing an example of a partial configuration of a data agitation unit in a data processing device according to a second embodiment of the present invention.
【図8】本発明の第3の実施の形態に係るデータ処理装
置における並列処理部分を示すブロック図。FIG. 8 is a block diagram showing a parallel processing part in a data processing device according to a third embodiment of the present invention.
【図9】本発明の第4の実施の形態に係る通信システム
の構成例を示すブロック図。FIG. 9 is a block diagram showing a configuration example of a communication system according to a fourth embodiment of the present invention.
【図10】本発明の第5の実施の形態に係る通信システ
ムにおける平文分割部の構成例を示すブロック図。FIG. 10 is a block diagram showing a configuration example of a plaintext division unit in a communication system according to a fifth embodiment of the present invention.
1…暗復号装置 2…暗復号処理部 3…平文ファイル 4…暗号文ファイル 5…鍵ファイル 11…データ攪拌部 12…鍵変換部 13…初期値生成部 14…小ブロック切出編集部 15…小ブロック切出編集部 16…ブロック長指定部 17…奇数ブロック処理部 18…偶数ブロック処理部 21…平文 22…小ブロック 23…奇数ブロック 24…偶数ブロック 25…暗号文 26…小ブロック 27…奇数ブロック 28…偶数ブロック 41,44,45,48,48…入力 51…初期値 54…演算 55,56…演算 62…奇数部分 63…偶数部分 81,81a,81b…破線の丸 91A,91B…通信装置 92…通信路 93…平文分割部 94…分割ブロック長引渡部 95…通信処理部 96…平文 97,99…分割ブロック 98…暗号文 101…シード格納部 102…乱数発生器 103…分割処理部 F…関数 G…関数 K,K1,K2,..,Km…拡大鍵 P…変換 DESCRIPTION OF SYMBOLS 1 ... Encryption / decryption device 2 ... Encryption / decryption processing unit 3 ... Plaintext file 4 ... Ciphertext file 5 ... Key file 11 ... Data agitation unit 12 ... Key conversion unit 13 ... Initial value generation unit 14 ... Small block cutout editing unit 15 ... Small block cutout editing section 16 Block length specifying section 17 Odd block processing section 18 Even block processing section 21 Plaintext 22 Small block 23 Odd block 24 Even block 25 Ciphertext 26 Small block 27 Odd number Block 28: Even block 41, 44, 45, 48, 48 ... Input 51 ... Initial value 54 ... Calculation 55, 56 ... Calculation 62 ... Odd part 63 ... Even part 81, 81a, 81b ... Dotted circle 91A, 91B ... Communication Device 92 Communication channel 93 Plaintext division unit 94 Divided block length delivery unit 95 Communication processing unit 96 Plaintext 97, 99 Divided block 98 Dark Statement 101 ... seed storage unit 102 ... random number generator 103 ... division processing section F ... function G ... function K, K1, K2 ,. . , Km ... expanded key P ... conversion
Claims (14)
分割し、この小ブロック単位でデータ処理を施して新た
な小ブロックとし、これにより暗号化処理又は復号処理
を行うデータ処理装置であって、 小ブロックを鍵により変換する変換手段と、 前記変換手段によって変換された小ブロックを他の小ブ
ロックと相互作用させる相互作用手段と、 小ブロックを他の小ブロックと連鎖させる連鎖手段とを
備えたことを特徴とするデータ処理装置。1. A data processing device that divides a plaintext or ciphertext into two or more small blocks, performs data processing in units of the small blocks to form new small blocks, and thereby performs an encryption process or a decryption process. Conversion means for converting a small block by a key, interaction means for causing the small block converted by the conversion means to interact with another small block, and chain means for linking the small block with another small block. A data processing device comprising:
ロックへの分割は、平文又は暗号文の先頭からの順次分
割とするとともに、その先頭から奇数番目の小ブロック
及びデータ処理を受けたその後継たる小ブロックを奇数
列の小ブロックとし、また、その先頭から偶数番目の小
ブロック及びデータ処理を受けたその後継たる小ブロッ
クを偶数列の小ブロックとし、 前記相互作用手段は、奇数列の小ブロックと偶数列の小
ブロックとを相互作用させ、前記連鎖手段は、奇数列同
士又は偶数列同士を連鎖させることを特徴とした請求項
1記載のデータ処理装置。2. The method according to claim 1, wherein the plaintext or the ciphertext is divided into two or more small blocks sequentially from the beginning of the plaintext or the ciphertext, and an odd-numbered small block from the beginning and data processing are performed. The succeeding small block is an odd-numbered column small block, and the even-numbered small block from the beginning and the succeeding small block that has undergone data processing are an even-numbered small block. 2. The data processing apparatus according to claim 1, wherein the small block and the even-numbered small block interact with each other, and the chaining unit links odd-numbered columns or even-numbered columns.
ともに、 前記変換手段は、奇遇各列に対応してそれぞれ1段以上
設けられたことを特徴とする請求項2記載のデータ処理
装置。3. The data processing device according to claim 2, wherein the direction of the chain is a sequential direction of the columns, and the conversion unit is provided at least one stage corresponding to each of the odd columns. .
前記偶数列の列数が大きくなる列部分では少なくするこ
とを特徴とする請求項3記載のデータ処理装置。4. The data processing apparatus according to claim 3, wherein the number of stages of said conversion means is reduced in a column portion where the number of columns of said odd-numbered column and said even-numbered column is large.
鎖の方向を列の順次方向から逆順方向に切り替えること
を特徴とする請求項3又は請求項4記載のデータ処理装
置。5. The data processing apparatus according to claim 3, wherein the direction of the chain is switched from the sequential direction of the columns to the reverse direction when the number of stages becomes a predetermined condition.
理により依存関係を生じる変換手段同士以外の変換手段
の処理については、並列処理することを特徴とする請求
項3乃至5のうち、何れか一項記載のデータ処理装置。6. The processing according to claim 3, wherein the processing of the conversion units other than the conversion units that generate a dependency due to the processing of the interaction unit or the chaining unit is performed in parallel. A data processing device according to claim 1.
クを連鎖させる数を変更可能に構成されたことを特徴と
する請求項2乃至6のうち、何れか一項記載のデータ処
理装置。7. The data processing apparatus according to claim 2, wherein a length of the small block and / or a number of the small blocks to be chained can be changed.
理装置を用いた通信装置同士で暗号通信を行う通信シス
テムであって、 前記小ブロックの長さ及び小ブロックを連鎖させる数に
より決まるブロック長を送受信側での共有の秘密とする
ことを特徴とする通信システム。8. A communication system for performing encrypted communication between communication devices using the data processing device according to any one of claims 2 to 6, wherein the communication device is determined by the length of the small block and the number of small blocks to be chained. A communication system wherein a block length is used as a secret shared by a transmitting side and a transmitting side.
ることを特徴とする請求項8記載の通信システム。9. The communication system according to claim 8, wherein said block length is variable for each block.
いて、可変とする前記ブロック長を決定する乱数発生器
を備えたことを特徴とする請求項9記載の通信システ
ム。10. The communication system according to claim 9, further comprising a random number generator that determines the variable block length based on a seed shared by the transmitting and receiving sides.
グを送受信側での共有の秘密とすることを特徴とする請
求項8乃至10のうち、何れか一項記載の通信システ
ム。11. The communication system according to claim 8, wherein a timing of switching the direction of the chain is set as a secret shared by a transmitting side and a transmitting side.
に分割し、この小ブロック単位でデータ処理を施して新
たな小ブロックとし、これにより暗号化処理又は復号処
理を行うデータ処理装置の制御プログラムであって、 小ブロックを鍵により変換する変換手段と、 前記変換手段によって変換された小ブロックを他の小ブ
ロックと相互作用させる相互作用手段と、 小ブロックを他の小ブロックと連鎖させる連鎖手段とし
てコンピュータを機能させるためのプログラムを記録し
たコンピュータ読み取り可能な記録媒体。12. Control of a data processing device that divides a plaintext or ciphertext into two or more small blocks and performs data processing on a small block basis to form a new small block, thereby performing encryption processing or decryption processing. A conversion means for converting a small block by a key; an interaction means for causing the small block converted by the conversion means to interact with another small block; and a chain for linking the small block with another small block. A computer-readable recording medium on which a program for causing a computer to function as means is recorded.
ブロックへの分割は、平文又は暗号文の先頭からの順次
分割とするとともに、その先頭から奇数番目の小ブロッ
ク及びデータ処理を受けたその後継たる小ブロックを奇
数列の小ブロックとし、また、その先頭から偶数番目の
小ブロック及びデータ処理を受けたその後継たる小ブロ
ックを偶数列の小ブロックとし、 前記相互作用手段は、奇数列の小ブロックと偶数列の小
ブロックとを相互作用させ、前記連鎖手段は、奇数列同
士又は偶数列同士を連鎖させることを特徴とした請求項
12記載の記録媒体。13. The division of the plaintext or the ciphertext into two or more small blocks is performed by sequentially dividing the plaintext or the ciphertext from the head and receiving an odd-numbered small block from the head and data processing. The succeeding small block is an odd-numbered column small block, and the even-numbered small block from the beginning and the succeeding small block that has undergone data processing are an even-numbered small block. 13. The recording medium according to claim 12, wherein the small block and the even-numbered small block interact with each other, and the chaining unit links odd-numbered columns or even-numbered columns.
かつ、前記変換手段は奇遇各列に対応してそれぞれ1段
以上設けられるとともに、 前記小ブロックの長さ及び又は小ブロックを連鎖させる
数を変更可能とする手段と備えたことを特徴とする請求
項13記載の記録媒体。14. The direction of the chain is a sequential direction of columns.
The conversion means is provided in one or more stages corresponding to each of the odd columns, and is provided with means for changing the length of the small blocks and / or the number of chained small blocks. Item 14. The recording medium according to Item 13.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10237206A JP2000066587A (en) | 1998-08-24 | 1998-08-24 | Data processing device, communication system, and recording medium |
| EP99306642A EP0982894B1 (en) | 1998-08-24 | 1999-08-23 | Block cipher with chaining |
| US09/379,797 US6772343B1 (en) | 1998-08-24 | 1999-08-24 | Data processor, communication system and recording medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10237206A JP2000066587A (en) | 1998-08-24 | 1998-08-24 | Data processing device, communication system, and recording medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000066587A true JP2000066587A (en) | 2000-03-03 |
Family
ID=17011963
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10237206A Pending JP2000066587A (en) | 1998-08-24 | 1998-08-24 | Data processing device, communication system, and recording medium |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6772343B1 (en) |
| EP (1) | EP0982894B1 (en) |
| JP (1) | JP2000066587A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030083326A (en) * | 2002-04-20 | 2003-10-30 | 엘지전자 주식회사 | Method for encipherment |
| JP2007034212A (en) * | 2005-07-29 | 2007-02-08 | Nippon Telegr & Teleph Corp <Ntt> | Block encryption device, block decryption device, method and program thereof |
| JP2012070048A (en) * | 2010-09-21 | 2012-04-05 | Toshiba Corp | Encryption apparatus and decryption apparatus |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1081888B1 (en) * | 1999-08-31 | 2005-12-21 | Matsushita Electric Industrial Co., Ltd. | Encryption method, encryption apparatus, decryption method, and decryption apparatus |
| US6952477B1 (en) * | 2000-07-03 | 2005-10-04 | International Business Machines Corporation | Fault intolerant cipher chaining |
| US7382878B2 (en) * | 2001-06-22 | 2008-06-03 | Uponus Technologies, Llc | System and method for data encryption |
| US20040131181A1 (en) * | 2002-04-03 | 2004-07-08 | Rhoads Steven Charles | Method and apparatus for encrypting content |
| RU2003131278A (en) * | 2002-10-29 | 2005-04-20 | Хай-О Информтех Эсдиэн Биэйчди (MY) | DATA ENCRYPTION METHOD |
| FR2851862B1 (en) * | 2003-02-27 | 2006-12-29 | Radiotelephone Sfr | METHOD FOR GENERATING A PSEUDO-RANDOM PERMUTATION OF A WORD COMPRISING N DIGITS |
| AU2006324920B2 (en) * | 2005-12-14 | 2010-08-12 | Nds Limited | Method and system for usage of block cipher encryption |
| US7428306B2 (en) * | 2006-04-18 | 2008-09-23 | International Business Machines Corporation | Encryption apparatus and method for providing an encrypted file system |
| US7995750B2 (en) | 2006-07-06 | 2011-08-09 | Sap Ag | Privacy-preserving concatenation of strings |
| US7986780B2 (en) * | 2006-07-06 | 2011-07-26 | Sap Ag | Privacy-preserving substring creation |
| KR20080072345A (en) * | 2007-02-02 | 2008-08-06 | 삼성전자주식회사 | Encryption device and method |
| JP5617845B2 (en) * | 2009-10-27 | 2014-11-05 | 日本電気株式会社 | ENCRYPTION DEVICE, ENCRYPTION METHOD, AND PROGRAM |
| US9066117B2 (en) * | 2012-02-08 | 2015-06-23 | Vixs Systems, Inc | Container agnostic encryption device and methods for use therewith |
| WO2014082090A1 (en) * | 2012-11-26 | 2014-05-30 | Massively Parallel Technologies, Inc. | System and method for secure communications and data storage using multidimensional encryption |
| US10148425B2 (en) | 2012-11-26 | 2018-12-04 | Massively Parallel Technologies, Inc. | System and method for secure communications and data storage using multidimensional encryption |
| US12462048B2 (en) * | 2023-11-30 | 2025-11-04 | Dell Products L.P. | Computing systems and methods providing segmented encryption |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3798359A (en) * | 1971-06-30 | 1974-03-19 | Ibm | Block cipher cryptographic system |
| US3798360A (en) * | 1971-06-30 | 1974-03-19 | Ibm | Step code ciphering system |
| US3962539A (en) | 1975-02-24 | 1976-06-08 | International Business Machines Corporation | Product block cipher system for data security |
| US4074066A (en) * | 1976-04-26 | 1978-02-14 | International Business Machines Corporation | Message verification and transmission error detection by block chaining |
| GB2288519A (en) * | 1994-04-05 | 1995-10-18 | Ibm | Data encryption |
-
1998
- 1998-08-24 JP JP10237206A patent/JP2000066587A/en active Pending
-
1999
- 1999-08-23 EP EP99306642A patent/EP0982894B1/en not_active Expired - Lifetime
- 1999-08-24 US US09/379,797 patent/US6772343B1/en not_active Expired - Fee Related
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030083326A (en) * | 2002-04-20 | 2003-10-30 | 엘지전자 주식회사 | Method for encipherment |
| JP2007034212A (en) * | 2005-07-29 | 2007-02-08 | Nippon Telegr & Teleph Corp <Ntt> | Block encryption device, block decryption device, method and program thereof |
| JP2012070048A (en) * | 2010-09-21 | 2012-04-05 | Toshiba Corp | Encryption apparatus and decryption apparatus |
| US9031234B2 (en) | 2010-09-21 | 2015-05-12 | Kabushiki Kaisha Toshiba | Encryption device and decryption device |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0982894A1 (en) | 2000-03-01 |
| EP0982894B1 (en) | 2006-10-11 |
| US6772343B1 (en) | 2004-08-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4127472B2 (en) | Data conversion apparatus, data conversion method and program for data conversion apparatus, and computer-readable recording medium | |
| US5745577A (en) | Symmetric cryptographic system for data encryption | |
| JP3901909B2 (en) | ENCRYPTION DEVICE AND RECORDING MEDIUM CONTAINING PROGRAM | |
| JP2000066587A (en) | Data processing device, communication system, and recording medium | |
| JP2010140026A (en) | Method and device for encryption chained mode | |
| JPWO2001067425A1 (en) | Block cipher using auxiliary transformation | |
| JP2000162965A (en) | Encryption / decryption device and storage medium | |
| JPH11509940A (en) | Cryptographic method and apparatus for non-linearly combining data blocks and keys | |
| JP4025722B2 (en) | Method and apparatus for data encryption | |
| Masoodi et al. | Symmetric algorithms I | |
| KR20180081559A (en) | Generate key sequence for encryption operation | |
| Karthigaikumar et al. | Simulation of image encryption using AES algorithm | |
| WO2022096141A1 (en) | Method for processing encrypted data | |
| Achkoun et al. | SPF-CA: A new cellular automata based block cipher using key-dependent S-boxes | |
| US12328384B2 (en) | Scrambler apparatus and method in particular for cryptographic applications, and descrambler apparatus and method therefor | |
| JPH10240500A (en) | Random number generation device and method, encryption device and method, decryption device and method, and stream encryption system | |
| CN111262685B (en) | Novel method and device for realizing Shield block cipher generated by secret key and readable storage medium | |
| JP3769804B2 (en) | Decoding method and electronic device | |
| JP2003516659A (en) | One's complement crypto combiner | |
| CN116488795A (en) | GCM-AES processing method and device | |
| EP1629626B1 (en) | Method and apparatus for a low memory hardware implementation of the key expansion function | |
| CN114826558A (en) | Mass data rapid encryption method and system | |
| Patel et al. | Hybrid security algorithms for data transmission using AES-DES | |
| Gujar | Image encryption using AES algorithm based on FPGA | |
| JP2002108205A (en) | Block ciphering method and decoding method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040330 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040727 |