JPH09258655A - Data encryption device - Google Patents

Data encryption device

Info

Publication number
JPH09258655A
JPH09258655A JP8071759A JP7175996A JPH09258655A JP H09258655 A JPH09258655 A JP H09258655A JP 8071759 A JP8071759 A JP 8071759A JP 7175996 A JP7175996 A JP 7175996A JP H09258655 A JPH09258655 A JP H09258655A
Authority
JP
Japan
Prior art keywords
data
bit
unit
variable
affine transformation
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.)
Granted
Application number
JP8071759A
Other languages
Japanese (ja)
Other versions
JP3079032B2 (en
Inventor
Motoji Omori
基司 大森
Makoto Tatebayashi
誠 館林
Natsume Matsuzaki
なつめ 松崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP08071759A priority Critical patent/JP3079032B2/en
Publication of JPH09258655A publication Critical patent/JPH09258655A/en
Application granted granted Critical
Publication of JP3079032B2 publication Critical patent/JP3079032B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To make it possible to execute secrete communication in real time even on communication lines having poor quality and to form ciphertext data having high safety. SOLUTION: Plaintext data is subjected to affine transformation in the block unit based on key data by a first exclusive-OR section 101, a first variable bit substitution section 102 and a first fixed bit substitution section 103. In succession, the data is subjected to the non-affine transformation in the block unit based on the key data by a first variable non-affine transformation section 104 limited in the error spreading rate to a specified value. Finally, the data is subjected to the affine transformation in the block unit based on the key data by a second exclusive-OR section 105 and a second variable bit substitution section 106, by which the ciphertext data is formed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、データ暗号化装置
に関し、より特定的にはディジタル化された音声データ
などによる秘密通信のためのデータ暗号化技術に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data encryption device, and more particularly to a data encryption technique for secret communication using digitized voice data or the like.

【0002】[0002]

【従来の技術】近年、携帯電話機などの小型軽量の通信
機器が普及してきたが、このような機器においては盗聴
防止のためにデータの暗号化が要求される。 (第1の従来例)データ暗号化方式の第1の従来例とし
て、疑似乱数加算型暗号がある。
2. Description of the Related Art In recent years, small and lightweight communication devices such as mobile phones have become widespread. However, in such devices, data encryption is required to prevent wiretapping. (First Conventional Example) As a first conventional example of the data encryption method, there is pseudorandom number addition type encryption.

【0003】この方式では、送信側・受信側双方が同じ
鍵を共有しており、平文データMを一定長の平文データ
ブロックMiに区切り、区切られた各Miに対して、共
有している鍵をシードとして平文データブロックMiと
同じ長さの乱数データRを発生させる。そして、各平文
データブロックMiとその乱数データRとを対応するビ
ット毎に排他的論理和の計算を行なうことによって、暗
号文データブロックCiを得る。式に表現すると以下の
通りである。
In this system, both the transmitting side and the receiving side share the same key, the plaintext data M is divided into plaintext data blocks Mi of a fixed length, and the shared key is given to each divided Mi. Is used as a seed to generate random number data R having the same length as the plaintext data block Mi. Then, the ciphertext data block Ci is obtained by calculating the exclusive OR of each plaintext data block Mi and its random number data R for each corresponding bit. This is expressed as follows.

【0004】Ci = Mi(+)R 但し、操作(+)は、対応するビット毎の排他的論理和
を意味する。最後に、得られた各暗号文データブロック
Ciを連結し、暗号文Cが得られるというものである。
この方式は、暗号文Cが送信されている途中等において
ビット誤り(反転)が生じた場合であっても、その誤り
は別のビットにまで波及することはない、即ち、誤り波
及度が1ビットであるという特徴を持っている。ここ
で、誤り波及度とは、暗号化や符号変換の性質の一つで
あって、1桁(ビット)の値だけが異なる2個の入力デ
ータがそれぞれ暗号化(変換)されて得られた2個の出
力データを比較した場合にその値が異なることとなる桁
(ビット)数をいう。
Ci = Mi (+) R However, the operation (+) means an exclusive OR for each corresponding bit. Finally, the obtained ciphertext data blocks Ci are connected to obtain the ciphertext C.
In this method, even if a bit error (reversal) occurs during transmission of the ciphertext C, the error does not spread to another bit, that is, the error spread is 1 It has the characteristic of being a bit. Here, the error ripple is one of the properties of encryption and code conversion, and is obtained by encrypting (converting) two pieces of input data that differ only in one-digit (bit) value. It is the number of digits (bits) whose values differ when two output data are compared.

【0005】しかし、この方式は、きわめて安全性が低
い。即ち、いま暗号化する鍵の値が同じであるとする
と、わずか1組の平文データブロックMiと暗号文デー
タブロックCiとを入手しただけで、以下の式より、乱
数Rが判明するので、他の全ての平文データブロックM
iを解読することが出来てしまう。 R = Mi(+)Ci (第2の従来例)データ暗号化方式の第2の従来例とし
て、アフィン変換暗号がある。
However, this method is extremely low in safety. That is, assuming that the values of the keys to be encrypted are the same, the random number R can be found from the following equation by only obtaining one set of plaintext data block Mi and ciphertext data block Ci. All plaintext data blocks M
i can be deciphered. R = Mi (+) Ci (Second Conventional Example) As a second conventional example of the data encryption method, there is an affine transformation cipher.

【0006】この方式は、送信側・受信側双方が同じ鍵
を共有しており、平文データMを一定長(ここではnビ
ットとする)の平文データブロックMiに区切り、共有
している鍵によって定まるn×n行列G(行列の各成分
は0、または1である)と共有している鍵によって定ま
るnビットのデータAとを用いることによって、以下の
式から暗号文データブロックCiを得るものである。
In this system, both the transmitting side and the receiving side share the same key, and the plaintext data M is divided into plaintext data blocks Mi having a fixed length (here, n bits) and the shared key is used. An n × n matrix G (where each element of the matrix is 0 or 1) determined and n-bit data A determined by the shared key are used to obtain a ciphertext data block Ci from the following equation Is.

【0007】Ci = G*Mi(+)A 但し、操作*は、通常の行列の積演算を意味するが、行
列の積におけるビット単位の積は論理積(AND)であ
り、ビット単位の和は排他的論理和(EOR)である。
この方式は、行列Gをビット置換行列とした場合には、
上述の第1従来技術と同様に、誤り波及度が1ビットで
あるという特徴を持っている。
Ci = G * Mi (+) A However, the operation * means a normal matrix product operation, but the bit-wise product in the matrix product is the logical product (AND), and the bit-wise sum. Is an exclusive OR (EOR).
In this method, when matrix G is a bit permutation matrix,
Similar to the above-mentioned first conventional technique, it has a feature that the error spread is 1 bit.

【0008】ここで、ビット置換とは、1つのデータ内
において、そのデータを構成する各ビットの位置を入れ
換える2次元線形変換をいい、ビット置換行列とは、そ
のようなビット置換操作の内容を一義的に定義する行列
であり、nビットのデータをビット置換する操作はn×
n行列で表すことができる。従って、ビット置換前にお
いてデータを構成するあるビットが誤って反転していて
も、ビット置換後のデータにおいても、対応するビット
でしか誤りが生じない。また、全てのデータに対して同
じデータをビット毎に排他的論理和をとるという操作
も、2データ間で異なるビットの位置は変わらない。こ
れらのことから、本暗号方式は、誤り波及のない暗号方
式と言えるのである。
Here, the bit permutation means a two-dimensional linear conversion in which the position of each bit constituting the data is exchanged in one data, and the bit permutation matrix means the contents of such bit permutation operation. This is a matrix that is uniquely defined, and the operation of bit-permuting n-bit data is n ×
It can be represented by an n matrix. Therefore, even if a certain bit forming the data is erroneously inverted before the bit replacement, an error occurs only in the corresponding bit even in the data after the bit replacement. Further, even in the operation of taking the exclusive OR of the same data for all the data for each bit, the positions of the different bits between the two data do not change. From these things, it can be said that the present cryptosystem is a cryptosystem that does not cause error ripple.

【0009】しかし、この方式でも、安全性において充
分なものとは言えない。いま、暗号化する鍵の値が同じ
であるとし、平文データブロックMiと暗号文データブ
ロックCiの組が(n+1)組(i=0,1,…,n)
入手できたとする。すると、 C0(+)C1 = {G*M0(+)A}(+){G*M1(+)A} = G*{M0(+)M1} C0(+)C2 = {G*M0(+)A}(+){G*M2(+)A} = G*{M0(+)M2} … C0(+)Cn = {G*M0(+)A}(+){G*Mn(+)A} = G*{M0(+)Mn} となるので、いま、Xを、C0(+)C1,C0(+)
C2,…,C0(+)Cn,がこの順に行列の列となる
n×n行列とし、Yを、M0(+)M1,M0(+)M
2,…,M0(+)Mn,がこの順に行列の列となるn
×n行列とすると、上記n個の式をまとめて、 X = G*Y と表現できる。ここで、X及びYは既知であるから、Y
の逆行列を求めて、 G = X*Y-1 より、Gを知ることが出来てしまう。
However, even this method is not sufficient in terms of safety. Now, assuming that the values of the keys to be encrypted are the same, the set of the plaintext data block Mi and the ciphertext data block Ci is (n + 1) sets (i = 0, 1, ..., N).
Suppose you have obtained it. Then, C0 (+) C1 = {G * M0 (+) A} (+) {G * M1 (+) A} = G * {M0 (+) M1} C0 (+) C2 = {G * M0 ( +) A} (+) {G * M2 (+) A} = G * {M0 (+) M2} ... C0 (+) Cn = {G * M0 (+) A} (+) {G * Mn ( +) A} = G * {M0 (+) Mn}, so that X is now C0 (+) C1, C0 (+)
Let C2, ..., C0 (+) Cn, be the n × n matrix in which the columns of the matrix are in this order, and let Y be M0 (+) M1 and M0 (+) M.
2, ..., M0 (+) Mn, are the columns of the matrix in this order n
When the matrix is × n, the above n expressions can be collectively expressed as X = G * Y. Here, since X and Y are known, Y
It is possible to know G from G = X * Y -1 by obtaining the inverse matrix of.

【0010】さらに、 A = G*M0(+)C0 より、Aを求めることが出来るので、本アフィン変換暗
号は解読されてしまう。なお、全ての入力データMと対
応する出力データCに対して、 C = G*M(+)A を満たす行列GとデータAが存在する場合には、このよ
うな入力データMから出力データCへの写像を「アフィ
ン変換」と呼ぶ。
Further, since A can be obtained from A = G * M0 (+) C0, this affine transformation cipher is deciphered. Note that if there is a matrix G and data A that satisfy C = G * M (+) A for all input data M and corresponding output data C, such input data M to output data C The mapping to is called "affine transformation".

【0011】一方、上式を満たす行列GとデータAが存
在しない場合には、「非アフィン変換」と呼ぶ。 (第3の従来例)データ暗号化方式の第3の従来例とし
ては、DES(Data Encryption Standard)方式やF
EAL(Fast Data Encipherment Algorithm)方式とい
ったブロック暗号方式というものがある。DES方式な
らびにFEAL方式は、岡本栄司著「暗号理論入門」
(共立出版)に詳しく述べられている。
On the other hand, when the matrix G and the data A satisfying the above equation do not exist, it is called "non-affine transformation". (Third Conventional Example) As a third conventional example of the data encryption method, a DES (Data Encryption Standard) method or an F
There is a block cipher system such as EAL (Fast Data Encipherment Algorithm) system. The DES and FEAL methods are described in Eiji Okamoto "Introduction to Cryptography"
(Kyoritsu Shuppan).

【0012】このブロック暗号方式は、64ビットの入
出力データを扱うものであるが、強力にデータを攪乱す
る能力を持っている。1ビットだけ異なる2種類の平文
データが同じ鍵を用いて暗号化された場合であっても、
それらから得られる暗号文データは平均32ビットも異
なる、即ち、誤り波及度の平均が32ビットとなるよう
に設計されている。
This block cipher system handles input / output data of 64 bits, but has a strong ability to disturb the data. Even if two types of plaintext data that differ by only 1 bit are encrypted using the same key,
The ciphertext data obtained from them are different by an average of 32 bits, that is, the error spread is designed to have an average of 32 bits.

【0013】このことは、反面において欠点ともなる。
即ち、通信路で生起された1ビットの誤りは、復号器の
出力端においては本来の出力とは平均32ビット異な
る。これは、誤りが32倍に拡大されたことを意味す
る。例えば、わずかな外乱によって音声データに誤りが
生じた場合であっても、結果的に大きな誤りが重畳して
しまうことになり、音声の劣化を引き起こす。
On the other hand, this is also a drawback.
That is, the 1-bit error generated in the communication path differs from the original output by 32 bits at the output end of the decoder. This means that the error was magnified 32 times. For example, even if an error occurs in the voice data due to a slight disturbance, a large error will eventually be superimposed, resulting in deterioration of the voice.

【0014】また、仮に通信路に誤り訂正装置を導入し
たとしても、通信回線の品質の悪い場合においては誤り
訂正能力を越える誤りが生じる場合があるが、このよう
な場合には、誤り訂正装置は誤って訂正してしまう結
果、やはり復号器入力端において1ビット以上の誤りビ
ットが生起し、これが復号器出力端においては32倍に
拡大してしまう。
Even if an error correction device is installed in the communication path, an error exceeding the error correction capability may occur when the quality of the communication line is poor. In such a case, the error correction device is used. Erroneously corrects as a result, one or more erroneous bits still occur at the decoder input end, which is magnified 32 times at the decoder output end.

【0015】その対策として、一般のデータ通信であれ
ば、受信側において誤りが検出されれば送信側に対して
再送信を要求するという方法をとることも考えられる。
しかし、携帯電話機などのリアルタイムの通信の場合に
は再送信による音声の遅延は許されない。従って、品質
の悪い通信回線において特にリアルタイムの通信が要求
される場合には、本方式とは異なる誤り波及の少ない暗
号化方式が望まれる。 (第4の従来例)誤り波及の少ない暗号方式として、平
文データのビット位置を、鍵によって定められるビット
置換操作と、誤り波及に制限を加えた非アフィン変換操
作とを組み合わせた暗号方式が考えられる。第2の従来
例でも述べたように、ビット置換操作は、誤り波及がな
いという性質を持っており、これはビット置換が鍵によ
って変わる場合も同様である。この方法は、例えば特開
平7−177139号公報に示されているものの一部に
少し操作を加えたデータ攪乱回路により実現される。
As a countermeasure, in general data communication, a method may be considered in which, if an error is detected on the receiving side, the transmitting side is requested to retransmit.
However, in the case of real-time communication such as that of a mobile phone, delay of voice due to retransmission is not allowed. Therefore, when real-time communication is particularly required in a communication line of poor quality, an encryption method with less error ripple different from this method is desired. (Fourth Conventional Example) As an encryption method with less error ripple, an encryption method that combines a bit replacement operation of the bit position of plaintext data with a key-defined bit replacement operation and a non-affine transformation operation with error ripple restriction is considered. To be As described in the second conventional example, the bit permutation operation has the property of not causing error propagation, and this is the same when the bit permutation changes depending on the key. This method is realized, for example, by a data disturbing circuit in which a part of the method disclosed in JP-A-7-177139 is slightly modified.

【0016】図8は、そのデータ攪乱回路の構成を示す
ブロック図である。データ攪乱回路は、排他的論理和部
30、可変ビット置換部31、固定換字部32及び鍵生
成回路33から構成される。排他的論理和部30は、3
2ビットのデータと、それに対して鍵生成回路33から
与えられる32ビットの鍵とをビット毎の排他的論理和
をとる。ビット毎の排他的論理和という操作は、同一桁
のビット同士の演算なので、誤り波及がないという性質
を持っている。
FIG. 8 is a block diagram showing the configuration of the data disturbing circuit. The data disturbing circuit includes an exclusive OR unit 30, a variable bit replacing unit 31, a fixed replacing unit 32, and a key generating circuit 33. The exclusive-OR unit 30 has 3
The 2-bit data and the 32-bit key given from the key generation circuit 33 are exclusive-ORed bit by bit. The operation of exclusive OR for each bit has the property that it does not cause error propagation because it is an operation between bits of the same digit.

【0017】可変ビット置換部31はこの排他的論理和
部30で排他的論理和された32ビットのデータに対し
て、鍵生成回路33から与えられる鍵の値によって決定
されるビット置換を行なう。先に述べたようにビットの
置換操作は、誤り波及がない。なお、この可変ビット置
換部31の如く変換操作の内容が鍵の値によって決定さ
れる場合を「可変」といい、一方、変換操作の内容が固
定的に決定されている場合を「固定」という。
The variable bit permutation unit 31 performs bit permutation on the 32-bit data which is exclusive ORed by the exclusive OR unit 30, which is determined by the key value given from the key generation circuit 33. As described above, the bit replacement operation has no error ripple. It should be noted that the case where the content of the conversion operation is determined by the key value as in the variable bit replacing unit 31 is called "variable", and the case where the content of the conversion operation is fixedly determined is called "fixed". .

【0018】この可変ビット置換部31はさらに、可変
ビット入れ換え部311と固定ビット置換部312とか
らなる。可変ビット入れ換え部311は、鍵生成回路3
3で生成された鍵の値に基づいて、隣接するビットデー
タの間でビットデータの入れ換えを行なう。固定ビット
置換部312は、可変ビット入れ換え部311で入れ換
えられたビットデータに対して、予め定められたビット
置換を行なう。
The variable bit replacement unit 31 further includes a variable bit replacement unit 311 and a fixed bit replacement unit 312. The variable bit replacement unit 311 includes the key generation circuit 3
Based on the value of the key generated in 3, bit data is exchanged between adjacent bit data. The fixed bit replacement unit 312 performs a predetermined bit replacement on the bit data replaced by the variable bit replacement unit 311.

【0019】固定換字部32は、可変ビット置換部31
で転置された32ビットのデータに対して8ビットずつ
4ブロックに分割し、予め定められた非アフィン変換を
行なう。そして非アフィン変換されたデータを再び連結
して暗号文データとする。この固定換字部32での非ア
フィン変換操作は、誤り波及度が2ビットとなるように
制限したものが採用されているとしている。
The fixed substituting section 32 is a variable bit substituting section 31.
The 32-bit data transposed by is divided into 4 blocks of 8 bits each, and a predetermined non-affine transformation is performed. Then, the non-affine-transformed data is reconnected to form ciphertext data. It is said that the non-affine transformation operation in the fixed substituting unit 32 is adopted so that the error spread is limited to 2 bits.

【0020】従って、このデータ攪乱回路全体として
も、入力で1ビットだけ異なる2種類のデータが入力さ
れた場合に、出力では2ビットだけ異なるという性質を
持ち、第3の従来例で述べた誤り波及の問題が解消され
る。即ち、入力データが、32ビットのデータ中の2ビ
ットの誤りを訂正できる誤り訂正符号が付加された構成
になっている場合であれば、通信回線上での雑音により
1ビットの誤りが生じたとしても、本来のデータに復号
することができる。
Therefore, the data disturbing circuit as a whole has the property that when two kinds of data differing by only 1 bit at the input are input, the difference at the output is only 2 bits, which is the error described in the third conventional example. The spillover problem is resolved. That is, if the input data has a configuration in which an error correction code capable of correcting a 2-bit error in 32-bit data is added, a 1-bit error occurs due to noise on the communication line. However, the original data can be decrypted.

【0021】[0021]

【発明が解決しようとする課題】しかしながら、この第
4の従来例におけるデータ攪乱回路の場合、以下の通
り、安全性の点において問題がある。いま、解読者が、
ある特定の1ビットだけが異なる2つの平文データとそ
れぞれに対する暗号文データを入手できたとすると、そ
の1ビットが可変ビット置換部31でどのように置換さ
れているかがわかる。
However, in the case of the data disturbing circuit in the fourth conventional example, there is a problem in safety as described below. Now the decryptor
If it is possible to obtain two plaintext data differing only in a specific 1 bit and ciphertext data for each, it is possible to know how the 1 bit is replaced by the variable bit replacing unit 31.

【0022】なぜならば、排他的論理和部30での操作
はこれら2つの平文データに対して同じ鍵の値を用いて
ビット毎に排他的論理和をとるという演算であるので、
2つの平文データで異なっているビットの位置は、この
排他的論理和部30に入力する前と後では変わらない。
さらに、1ビットだけ異なる2つのデータは固定換字部
32で2ビットだけ異なるように変換されるが、これら
2つの暗号文の異なる2ビットの位置から、固定換字部
32に入力される前のこれら2つのデータで異なってい
た1ビットの位置がわかってしまう。従って、入手した
その1ビットに関する可変ビット置換部31の動作が判
明してしまう。
This is because the operation in the exclusive OR unit 30 is an operation of performing an exclusive OR for each bit of these two plaintext data by using the same key value.
The bit positions that are different in the two plaintext data do not change before and after being input to the exclusive OR unit 30.
Furthermore, two pieces of data differing by only 1 bit are converted by the fixed substituting section 32 so as to differ by only 2 bits. The position of 1 bit, which was different in the two data, is known. Therefore, the operation of the variable bit replacement unit 31 for the obtained one bit is clarified.

【0023】よって、もし、解読者が、1ビットだけ異
なる2個の平文とそれら暗号文との組を、その1ビット
が平文の全ての桁(ビット)にわたるような32組だけ
入手できたとすると、可変ビット置換部31の全ての動
作が判明し、そして排他的論理和部30に入力される鍵
の値も判明し、解読に成功する。すなわち安全性に問題
がある。
Therefore, if the decryption person can obtain only two sets of two plaintexts differing by one bit and their ciphertexts, such that one bit extends over all the digits (bits) of the plaintext. , All the operations of the variable bit replacement unit 31 are found, and the value of the key input to the exclusive OR unit 30 is also found, and the decryption is successful. That is, there is a problem in safety.

【0024】それゆえに、本発明の目的は、品質の悪い
通信回線上においてもリアルタイムで秘密通信をするこ
とができ、かつ、解読者が自分にとって都合の良い平文
と暗号文の組を入手出来る場合においても解読されにく
い安全性の高い暗号文データを生成するデータ暗号化装
置を提供することである。
Therefore, an object of the present invention is to enable secret communication in real time even on a communication line of poor quality, and for a decryption person to obtain a convenient plaintext / ciphertext pair. The object of the present invention is to provide a data encryption device that generates highly secure ciphertext data that is difficult to be decrypted.

【0025】[0025]

【課題を解決するための手段】上記目的を達成するため
に、本発明は、予め与えられた鍵データに基づいて平文
データを暗号化するデータ暗号化装置であって、その平
文データに対して鍵データによって定まるアフィン変換
を行う手段と、続いて、誤り波及度を所定値に制限した
非アフィン変換を行う手段と、最後に、鍵データによっ
て定まるアフィン変換を行う手段から構成されることと
している。
In order to achieve the above object, the present invention is a data encryption device for encrypting plaintext data based on key data given in advance. It is supposed to be composed of means for performing affine transformation determined by the key data, subsequently means for performing non-affine transformation with the error ripple limited to a predetermined value, and finally means for performing affine transformation determined by the key data. .

【0026】これにより、非アフィン変換を挟む形式で
鍵データによるアフィン変換が行われるので、安全性が
高く、また、非アフィン変換における誤り波及が制限さ
れているので、リアルタイムの秘密通信に好適なデータ
暗号化装置が実現される。
As a result, the affine transformation is performed with the key data in a format sandwiching the non-affine transformation, so that the security is high and the error spread in the non-affine transformation is limited, which is suitable for real-time secret communication. A data encryption device is realized.

【0027】[0027]

【発明の実施形態】これより本発明の実施形態について
述べる。通常、データ暗号化装置で暗号化された暗号文
データは、暗号化した際の鍵データを共有しているデー
タ復号装置で暗号化変換と逆変換となる操作を施され、
復号文データとなって出力される。本実施形態では、デ
ータ暗号化装置を有する送信機において、ある平文デー
タが暗号化されて暗号文データとなり送信され、その暗
号文データがデータ復号装置を有する受信機で復号され
て復号文データとなり出力されるという暗号通信システ
ムとして説明する。 (暗号通信システムの構成)図1は、本実施形態に係る
暗号通信システムの構成を示すブロック図である。この
暗号通信システムは、送信機1及び受信機2から構成さ
れる。送信機1及び受信機2は、たとえば、無線通信の
盗聴防止が施された携帯電話機やコードレス電話機など
である。
Embodiments of the present invention will now be described. Usually, the ciphertext data encrypted by the data encryption device is subjected to an operation of encryption conversion and inverse conversion by the data decryption device that shares the key data at the time of encryption,
The decrypted text data is output. In the present embodiment, in a transmitter having a data encryption device, certain plaintext data is encrypted and transmitted as ciphertext data, and the ciphertext data is decrypted by a receiver having a data decryption device to be decrypted text data. This will be described as an encrypted communication system that outputs data. (Configuration of Encryption Communication System) FIG. 1 is a block diagram showing the configuration of the encryption communication system according to the present embodiment. This cryptographic communication system includes a transmitter 1 and a receiver 2. The transmitter 1 and the receiver 2 are, for example, mobile phones, cordless phones, and the like, which are protected from eavesdropping on wireless communication.

【0028】送信機1は、図1に示されるように、デー
タ暗号化装置10及び送信部11を備えるが、これらの
他に、一般の携帯電話機が備える図示されていないマイ
ク、音声コーデック、誤り訂正回路等も備える。データ
暗号化装置10には、32ビットの平文データと144
ビットの鍵データが入力される。この平文データは、マ
イクから入力された音声が符号化された後に誤り訂正符
号が付加されたものである。また、鍵データは、予め送
信機1と受信機2との間で定めていたものである。これ
ら平文データと鍵データは、データ暗号化装置10に入
力され処理を施されて32ビットの暗号文データとな
り、送信部11により変調・増幅され受信機2に送信さ
れる。
As shown in FIG. 1, the transmitter 1 includes a data encryption device 10 and a transmission unit 11, but in addition to these, a microphone, a voice codec, an error code (not shown) included in a general mobile phone are provided. It also has a correction circuit. The data encryption device 10 includes 32-bit plaintext data and 144
Bit key data is input. This plaintext data is data to which an error correction code is added after the voice input from the microphone is encoded. Moreover, the key data is previously determined between the transmitter 1 and the receiver 2. The plaintext data and the key data are input to the data encryption device 10 and processed to become 32-bit ciphertext data, which is modulated / amplified by the transmitter 11 and transmitted to the receiver 2.

【0029】受信機2は、図1に示されるように、デー
タ復号装置20及び受信部21を備えるが、これらの他
に図示されていないスピーカ、音声コーデック、誤り訂
正回路等も備える。データ復号装置20には、受信部2
1を介して受信した32ビットの暗号文データと、予め
送信機1と受信機2で定めている144ビットの鍵デー
タが入力される。これら暗号文データと鍵データは、デ
ータ復号装置20に入力され処理を施されて復号文デー
タとなり、誤り訂正が行われた後にスピーカに出力され
る。 (データ暗号化装置10の構成)図2は、図1に示され
るデータ暗号化装置10の構成の一例を示すブロック図
である。図2において、このデータ暗号化装置10は、
第1排他的論理和部101と、第1可変ビット置換部1
02と、第1固定ビット置換部103と、第1可変非ア
フィン変換部104と、第2排他的論理和部105と、
第2可変ビット置換部106と、鍵分割部107とを備
えている。
As shown in FIG. 1, the receiver 2 is provided with a data decoding device 20 and a receiving section 21, but is also provided with a speaker, a voice codec, an error correction circuit and the like which are not shown. The data decoding device 20 includes a receiving unit 2
The 32-bit ciphertext data received via 1 and the 144-bit key data previously determined by the transmitter 1 and the receiver 2 are input. The ciphertext data and the key data are input to the data decryption device 20 to be processed into decrypted text data, which are output to the speaker after error correction is performed. (Configuration of Data Encryption Apparatus 10) FIG. 2 is a block diagram showing an example of the configuration of the data encryption apparatus 10 shown in FIG. In FIG. 2, the data encryption device 10 is
First exclusive OR unit 101 and first variable bit replacement unit 1
02, the first fixed bit replacement unit 103, the first variable non-affine transformation unit 104, the second exclusive OR unit 105,
The second variable bit replacing unit 106 and the key dividing unit 107 are provided.

【0030】第1排他的論理和部101は、入力される
32ビットの平文データと鍵分割部107から入力され
る第1の32ビットの加算鍵を、ビット毎の排他的論理
和操作を行ない、その値を出力する。第1可変ビット置
換部102は、第1排他的論理和部101から入力され
る32ビットのデータを、鍵分割部107から入力され
る第1の32ビットの置換鍵に従ってビット置換して出
力する。
The first exclusive OR unit 101 performs an exclusive OR operation for each bit of the input 32-bit plaintext data and the first 32-bit addition key input from the key dividing unit 107. , That value is output. The first variable bit permutation unit 102 bit-performs the 32-bit data input from the first exclusive OR unit 101 according to the first 32-bit substitution key input from the key division unit 107, and outputs it. .

【0031】第1固定ビット置換部103は、第1可変
ビット置換部102から入力される32ビットのデータ
をどのデータに対しても決まったビット置換を行ない出
力する。以上の3つの構成部101〜103は、排他的
論理和とビット置換を順次行うものであるので、全体と
して一つのアフィン変換を行っていることになる。
The first fixed bit replacement unit 103 performs a fixed bit replacement on any data of the 32-bit data input from the first variable bit replacement unit 102 and outputs it. The above three constituent units 101 to 103 sequentially perform the exclusive OR and the bit replacement, and thus perform one affine transformation as a whole.

【0032】第1可変非アフィン変換部104は、第1
固定ビット置換部103から入力される32ビットのデ
ータを、鍵分割部107から入力される第1の16ビッ
トの選択鍵に従い変換して出力する。第2排他的論理和
部105は、第1可変非アフィン変換部104から入力
される32ビットのデータと鍵分割部107から入力さ
れる第2の32ビットの加算鍵を、ビット毎の排他的論
理和操作を行ない、その値を出力する。
The first variable non-affine transformation unit 104 has a first
The 32-bit data input from the fixed bit replacement unit 103 is converted and output according to the first 16-bit selection key input from the key division unit 107. The second exclusive OR unit 105 performs exclusive exclusion for each bit on the 32-bit data input from the first variable non-affine transformation unit 104 and the second 32-bit addition key input from the key division unit 107. The logical sum operation is performed and the value is output.

【0033】第2可変ビット置換部106は、第2排他
的論理和部105から入力される32ビットのデータ
を、鍵分割部107から入力される第2の32ビットの
置換鍵に従ってビット置換して出力する。以上の2つの
構成部105、106も、排他的論理和とビット置換を
順次行うものであるので、全体として一つのアフィン変
換を行っていることになる。
The second variable bit permutation unit 106 bit-performs the 32-bit data input from the second exclusive OR unit 105 according to the second 32-bit substitution key input from the key division unit 107. Output. The above-described two constituent units 105 and 106 also sequentially perform the exclusive OR and the bit replacement, so that one affine transformation is performed as a whole.

【0034】鍵分割部107は、入力された144ビッ
トの鍵データを、第1の32ビットの加算鍵、第1の3
2ビットの置換鍵、第1の16ビットの選択鍵、第2の
32ビットの加算鍵、第2の32ビットの置換鍵に分割
する。なお、以上のデータ暗号化装置10の各構成部
は、より具体的には、汎用のマイクロプロセッサ、制御
プログラムや後述するテーブルを格納したROM、作業
域としてのRAM等からなるコンピュータシステム上で
のソフトウェアによって実現される。 (データ復号装置20の構成)図3は、図1に示される
データ復号装置20の構成の一例を示すブロック図であ
る。図3において、このデータ復号装置20は、第3可
変ビット置換部201と、第3排他的論理和部202
と、第2可変非アフィン変換部203と、第2固定ビッ
ト置換部204と、第4可変ビット置換部205と、第
4排他的論理和部206と、鍵分割部207とを備えて
いる。
The key dividing unit 107 converts the input 144-bit key data into a first 32-bit addition key and a first 3-bit addition key.
It is divided into a 2-bit replacement key, a first 16-bit selection key, a second 32-bit addition key, and a second 32-bit replacement key. More specifically, each component of the data encryption device 10 described above is more specifically implemented on a computer system including a general-purpose microprocessor, a ROM storing a control program and a table described later, and a RAM serving as a work area. It is realized by software. (Structure of Data Decoding Device 20) FIG. 3 is a block diagram showing an example of the structure of the data decoding device 20 shown in FIG. In FIG. 3, the data decoding device 20 includes a third variable bit replacing unit 201 and a third exclusive OR unit 202.
And a second variable non-affine transformation unit 203, a second fixed bit replacement unit 204, a fourth variable bit replacement unit 205, a fourth exclusive OR unit 206, and a key division unit 207.

【0035】第3可変ビット置換部201は、入力され
る32ビットのデータを、鍵分割部207から入力され
る第3の32ビットの置換鍵に従ってビット置換して出
力する。第3排他的論理和部202は、第3可変ビット
置換部201から入力される32ビットのデータと鍵分
割部207から入力される第3の32ビットの加算鍵
を、ビット毎の排他的論理和操作を行ない、その値を出
力する。
The third variable bit permutation unit 201 performs bit permutation on the input 32-bit data according to the third 32-bit permutation key input from the key division unit 207 and outputs it. The third exclusive OR unit 202 sets the 32-bit data input from the third variable bit replacement unit 201 and the third 32-bit addition key input from the key division unit 207 to an exclusive logic for each bit. Performs a sum operation and outputs the value.

【0036】第2可変非アフィン変換部203は、第3
排他的論理和部202から入力される32ビットのデー
タを、鍵分割部207から入力される第2の16ビット
の選択鍵に従い変換して出力する。第2固定ビット置換
部204は、第2可変非アフィン変換部203から入力
される32ビットのデータをどのデータに対しても決ま
ったビット置換を行ない出力する。
The second variable non-affine transformation unit 203 has a third
The 32-bit data input from the exclusive OR unit 202 is converted according to the second 16-bit selection key input from the key dividing unit 207 and output. The second fixed bit replacement unit 204 performs fixed bit replacement on any of the 32-bit data input from the second variable non-affine conversion unit 203 and outputs the result.

【0037】第4可変ビット置換部205は、第2固定
ビット置換部204から入力される32ビットのデータ
を、鍵分割部207から入力される第4の32ビットの
置換鍵に従ってビット置換して出力する。第4排他的論
理和部206は、第4可変ビット置換部205から入力
される32ビットのデータと鍵分割部207から入力さ
れる第4の32ビットの加算鍵を、ビット毎の排他的論
理和操作を行ない、その値を出力する。
The fourth variable bit permutation unit 205 bit-performs the 32-bit data input from the second fixed bit permutation unit 204 according to the fourth 32-bit substitution key input from the key division unit 207. Output. The fourth exclusive OR unit 206 compares the 32-bit data input from the fourth variable bit replacing unit 205 and the fourth 32-bit addition key input from the key dividing unit 207 with an exclusive logic for each bit. Performs a sum operation and outputs the value.

【0038】鍵分割部207は、入力された144ビッ
トの鍵データを、第4の32ビットの加算鍵、第4の3
2ビットの置換鍵、第2の16ビットの選択鍵、第3の
32ビットの加算鍵、第3の32ビットの置換鍵に分割
する。なお、以上のデータ復号装置20の各構成部は、
データ暗号化装置10と同様に、より具体的には、汎用
のマイクロプロセッサ、制御プログラムや後述するテー
ブルを格納したROM、作業域としてのRAM等からな
るコンピュータシステム上でのソフトウェアによって実
現される。 (第1排他的論理和部101、第2排他的論理和部10
5、第3排他的論理和部202及び第4排他的論理和部
206の動作)データ暗号化装置10が備える第1排他
的論理和部101及び第2排他的論理和部105、並び
にデータ復号装置20が備える第3排他的論理和部20
2及び第4排他的論理和部206は、それぞれ同じ操作
を行なう。すなわち入力される32ビットのデータIN
と32ビットの鍵データ(第1または第2の加算鍵)K
EYに対して、32ビットの出力データOUTは、 OUT = IN(+)KEY となるものである。ただし(+)はビット毎の排他的論
理和(EORもしくはXOR)を指し示す。
The key dividing unit 207 converts the input 144-bit key data into a fourth 32-bit addition key and a fourth 3-bit addition key.
It is divided into a 2-bit replacement key, a second 16-bit selection key, a third 32-bit addition key, and a third 32-bit replacement key. In addition, each component of the above data decoding device 20 is
Similar to the data encryption device 10, more specifically, it is realized by software on a computer system including a general-purpose microprocessor, a ROM storing a control program and a table described later, and a RAM as a work area. (First exclusive OR section 101, second exclusive OR section 10
5. Operation of third exclusive OR unit 202 and fourth exclusive OR unit 206) First exclusive OR unit 101 and second exclusive OR unit 105 included in the data encryption device 10, and data decryption Third exclusive OR unit 20 included in the device 20
The second and fourth exclusive OR units 206 respectively perform the same operation. That is, the input 32-bit data IN
And 32-bit key data (first or second addition key) K
With respect to EY, 32-bit output data OUT is OUT = IN (+) KEY. However, (+) indicates an exclusive OR (EOR or XOR) for each bit.

【0039】なお、このような操作を行なうことから、
第1の加算鍵と第4の加算鍵が同じ値の時、第1排他的
論理和部101と第4排他的論理和部206はお互いに
逆変換になっている。また同様に、第2の加算鍵と第3
の加算鍵が同じ値の時、第2排他的論理和部105と第
3排他的論理和部202はお互いに逆変換になってい
る。 (第1可変ビット置換部102の動作)図4は、データ
暗号化装置10が備える第1可変ビット置換部102の
操作を詳細に述べた図である。第1可変ビット置換部1
02は、2つの操作から成り立っている。
Since such an operation is performed,
When the first addition key and the fourth addition key have the same value, the first exclusive OR unit 101 and the fourth exclusive OR unit 206 are inverse conversions of each other. Similarly, the second addition key and the third addition key
When the addition keys of 2 and 3 have the same value, the second exclusive OR unit 105 and the third exclusive OR unit 202 are inversely converted. (Operation of First Variable Bit Substitution Unit 102) FIG. 4 is a diagram showing in detail the operation of the first variable bit substitution unit 102 included in the data encryption device 10. First variable bit replacement unit 1
02 consists of two operations.

【0040】第1の操作は、ビット置換である。まず、
入力される32ビットのデータは、4ビットずつの8ブ
ロックB[7],B[6],…,B[0]に分割され
る。第1の32ビットの置換鍵も、上位24ビットを3
ビットずつに分割してSK[7],SK[6],…,S
K[0]とする。分割されたデータB[i](i=0,
1,…,7)はSK[i]に従ってビット置換され,C
[i]となる。なおこの置換は、8種類のビット置換テ
ーブルによって定まっており、どのビット置換テーブル
を選択するかは、SK[i]の値によって決定される。
The first operation is bit replacement. First,
The input 32-bit data is divided into 8 blocks B [7], B [6], ..., B [0] of 4 bits each. The first 32-bit replacement key also includes the upper 24 bits of 3
Bit-by-bit division SK [7], SK [6], ..., S
Let K [0]. The divided data B [i] (i = 0,
1, ..., 7) are bit-replaced according to SK [i], and C
[I] is obtained. Note that this replacement is determined by eight types of bit replacement tables, and which bit replacement table is selected is determined by the value of SK [i].

【0041】このビット置換テーブルの例を表1に示
す。
Table 1 shows an example of this bit replacement table.

【0042】[0042]

【表1】 [Table 1]

【0043】表1は、縦軸に入力ビットの番号,横軸に
鍵データがそれぞれ記されている。4ビットのデータB
[i]は上位から第3ビット,第2ビット,第1ビッ
ト,第0ビットとなっている。SK[i]の値(0〜
7)によって縦軸を選び、入力の各ビットのデータが出
力の第何ビットとなるかを示している。例えば,SK
[i]=1であるとき,入力の第0ビットは出力の第3
ビット、入力の第1ビットは出力の第2ビット、入力の
第2ビットは出力の第1ビット、入力の第3ビットは出
力の第0ビット、とそれぞれなって出力される。
In Table 1, the vertical axis shows the number of input bits and the horizontal axis shows the key data. 4-bit data B
[I] is the 3rd bit, the 2nd bit, the 1st bit, and the 0th bit from the higher order. Value of SK [i] (0 to
The vertical axis is selected by 7) to show what number of bits of the data of each input bit is the output. For example, SK
When [i] = 1, the 0th bit of the input is the 3rd bit of the output.
The first bit of the input is the second bit of the output, the second bit of the input is the first bit of the output, and the third bit of the input is the zeroth bit of the output.

【0044】続く第2の操作は、ブロック置換である。
まず、8個のブロックC[7],C[6],…,C
[0]を,第1の置換鍵鍵の下位8ビットL1に従って
ブロックの中身を置換して8個のブロックD[7],D
[6],…,D[0]とする。なおこの置換は、256
種類のブロック置換テーブルによって定まっており、ど
の置換テーブルを選択するかは、L1によって決定され
る。
The second operation that follows is block replacement.
First, eight blocks C [7], C [6], ..., C
Eight blocks D [7], D are obtained by replacing the contents of the block with [0] according to the lower 8 bits L1 of the first replacement key key.
Let [6], ..., D [0]. Note that this replacement is 256
It is determined by the type of block replacement table, and which replacement table is selected is determined by L1.

【0045】このブロック置換テーブルの実例を表2に
示す。
Table 2 shows an example of this block replacement table.

【0046】[0046]

【表2】 [Table 2]

【0047】表2は、縦軸に入力ブロックの番号,横軸
に鍵データがそれぞれ記されている。L1の値(0〜2
55)によって縦軸を選び、入力の各ブロックのデータ
が出力の第何ブロックにいくかを示している。例えば,
L1=1であるとき,入力のC[0]は出力のD
[5]、入力のC[1]は出力のD[2]、…、入力の
C[7]は出力のD[4]、とそれぞれなって出力され
る。そしてブロック置換された8ブロックD[7],D
[6],…,D[0]を連結して32ビットの出力デー
タとする。 (第4可変ビット置換部205の動作)図5は、データ
復号装置20が備える第4可変ビット置換部205の操
作を詳細に述べた図である。第4可変ビット置換部20
5は、入力される第4の32ビットの置換鍵が第1の3
2ビットの置換鍵と同じ値である場合、第1可変ビット
置換部102と逆変換となっている。すなわち以下のよ
うな2つの操作から成り立っている。
In Table 2, the vertical axis shows the input block number and the horizontal axis shows the key data. Value of L1 (0 to 2
55), the vertical axis is selected and the number of output blocks of the data of each input block is shown. For example,
When L1 = 1, input C [0] is output D
[5], the input C [1] is output D [2], ..., and the input C [7] is output D [4]. Then, eight blocks D [7], D that have been block-replaced
[6], ..., D [0] are concatenated to form 32-bit output data. (Operation of Fourth Variable Bit Substituting Unit 205) FIG. 5 is a diagram showing in detail the operation of the fourth variable bit substituting unit 205 included in the data decoding device 20. Fourth variable bit replacement unit 20
5 is the input of the fourth 32-bit replacement key is the first 3
When the value is the same as that of the 2-bit replacement key, the conversion is reverse to that of the first variable bit replacement unit 102. That is, it consists of the following two operations.

【0048】第1の操作は、ブロック置換である。ま
ず、入力される32ビットのデータは、4ビットずつの
8ブロックd[7],d[6],…,d[0]に分割さ
れる。分割された8個のブロックd[7],d[6],
…,d[0]は,第4の置換鍵鍵の下位8ビットl1に
従ってブロックの中身を置換して8個のブロックc
[7],c[6],…,c[0]とする。
The first operation is block replacement. First, the input 32-bit data is divided into 8 blocks d [7], d [6], ..., D [0] of 4 bits each. Eight divided blocks d [7], d [6],
, D [0] is the eight blocks c obtained by substituting the contents of the block according to the lower 8 bits 11 of the fourth replacement key.
Let [7], c [6], ..., C [0].

【0049】なお、この置換は、256種類のブロック
置換テーブルによって定まっており、どの置換テーブル
を選択するかは、l1によって決定される。このブロッ
ク置換テーブルは、図4に示された第1可変ビット置換
部102のブロック置換テーブルの逆変換となってい
て、表2と同様の形式となっている。続く第2の操作
は、ビット置換である。まず、第4の32ビットの置換
鍵も、上位24ビットを3ビットずつに分割してsk
[7],sk[6],…,sk[0]とする。分割され
たデータc[i](i=0,1,…,7)はsk[i]
に従ってビット置換され,b[i]となる。なおこの置
換は、8種類のビット置換テーブルによって定まってお
り、どのビット置換テーブルを選択するかは、sk
[i]の値によって決定される。
This replacement is determined by 256 types of block replacement tables, and which replacement table is selected is determined by l1. This block replacement table is an inverse conversion of the block replacement table of the first variable bit replacement unit 102 shown in FIG. 4, and has the same format as Table 2. The second operation that follows is bit replacement. First, for the fourth 32-bit replacement key, the upper 24 bits are also divided into 3 bits, and sk
Let [7], sk [6], ..., Sk [0]. The divided data c [i] (i = 0, 1, ..., 7) is sk [i]
Then, the bits are replaced according to the above, resulting in b [i]. Note that this replacement is determined by eight types of bit replacement tables, and which bit replacement table is selected depends on sk.
Determined by the value of [i].

【0050】なお、このビット置換テーブルは、図4に
示された第1可変ビット置換部102のビット置換テー
ブルの逆変換となっていて、表1と同様の形式となって
いる。そしてブロック置換された8ブロックを連結して
32ビットの出力データとする。従って、入力される第
1の置換鍵と第4の置換鍵が同じ値の時,第1可変ビッ
ト置換部102と第4可変ビット置換部205はお互い
に逆変換となっている。 (第2可変ビット置換部106の動作)データ暗号化装
置10が備える第2可変ビット置換部106は、第1可
変ビット置換部102と同様な構成をしている。ただ
し、ビット置換テーブルとブロック置換テーブルは異な
るものを使用しているが、形式はそれぞれ表1、表2と
同様の形式である。 (第3可変ビット置換部201の動作)データ復号装置
20が備える第3可変ビット置換部201は、第4可変
ビット置換部205と同様な構成をしている。ただし、
第3可変ビット置換部201におけるビット置換テーブ
ルとブロック置換テーブルは入力される第2の置換鍵と
第3の置換鍵が同じ値の時、第2可変ビット置換部10
6と第3可変ビット置換部201はお互いに逆変換とな
るようになっている。 (第1固定ビット置換部103の動作)データ暗号化装
置10が備える第1固定ビット置換部103は、32ビ
ットの入力データに対して固定のビット置換を行なって
出力する。 (第2固定ビット置換部204の動作)データ復号装置
20が備える第2固定ビット置換部204は、第1固定
ビット置換部103の逆置換となる固定のビット置換を
行なう。 (第1可変非アフィン変換部104の動作)図6は、デ
ータ暗号化装置10が備える第1可変非アフィン変換部
104の操作を詳細に述べた図である。
The bit replacement table is an inverse conversion of the bit replacement table of the first variable bit replacement unit 102 shown in FIG. 4, and has the same format as Table 1. Then, the block-replaced 8 blocks are concatenated to form 32-bit output data. Therefore, when the input first substitution key and fourth substitution key have the same value, the first variable bit substitution unit 102 and the fourth variable bit substitution unit 205 perform inverse conversion with each other. (Operation of Second Variable Bit Substitution Unit 106) The second variable bit substitution unit 106 included in the data encryption device 10 has the same configuration as the first variable bit substitution unit 102. However, although the bit substitution table and the block substitution table are different, the formats are the same as those in Table 1 and Table 2, respectively. (Operation of Third Variable Bit Replacement Unit 201) The third variable bit replacement unit 201 included in the data decoding device 20 has the same configuration as the fourth variable bit replacement unit 205. However,
When the bit substitution table and the block substitution table in the third variable bit permutation unit 201 have the same value for the input second substitution key and third substitution key, the second variable bit substitution unit 10
6 and the third variable bit permutation unit 201 are adapted to perform inverse conversion with each other. (Operation of First Fixed Bit Substitution Unit 103) The first fixed bit substitution unit 103 included in the data encryption device 10 performs fixed bit substitution on 32-bit input data and outputs it. (Operation of Second Fixed Bit Replacement Unit 204) The second fixed bit replacement unit 204 included in the data decoding device 20 performs fixed bit replacement that is the reverse replacement of the first fixed bit replacement unit 103. (Operation of First Variable Non-Affine Transformation Unit 104) FIG. 6 is a diagram showing in detail the operation of the first variable non-affine transformation unit 104 included in the data encryption device 10.

【0051】入力される32ビットのデータは、8ビッ
トずつの4ブロックE[3],E[2],…,E[0]
に分割される。入力される第1の16ビットの選択鍵も
4ビットずつに分割されて、CK[3],CK[2],
…,CK[0]となる。各ブロックE[i](i=0,
1,2,3)は、CK[i]に従って非アフィン変換さ
れてF[i]となる。なおこの非アフィン変換は、16
種類の非アフィン変換テーブルによって定まっており、
どの非アフィン変換テーブルを選択するかは、CK
[i]の値によって決定される。
The input 32-bit data is 4 blocks of 8 bits each E [3], E [2], ..., E [0].
Is divided into The input first 16-bit selection key is also divided into 4 bits, and CK [3], CK [2],
…, CK [0]. Each block E [i] (i = 0,
1, 2, 3) are non-affine transformed according to CK [i] to become F [i]. Note that this non-affine transformation is 16
It is determined by the kind of non-affine conversion table,
CK which non-affine conversion table is selected
Determined by the value of [i].

【0052】この非アフィン変換テーブルの例を表3に
示す。
Table 3 shows an example of this non-affine conversion table.

【0053】[0053]

【表3】 [Table 3]

【0054】表3は、縦軸に入力データ(0〜25
5),横軸に鍵データがそれぞれ記されている。8ビッ
トのデータE[i]は、CK[i]の値(0〜15)に
よって選ばれた縦軸に属する出力値のうち、そのデータ
E[i]に対応する出力値F[i]に変換される。例え
ば、CK[i]=1である場合、入力データE[i]が
0である時の出力値F[i]は255で、入力データE
[i]が1である時の出力値F[i]は251で、…、
入力が255である時の出力値は172である。
In Table 3, the vertical axis represents input data (0 to 25).
5), key data is written on the horizontal axis. The 8-bit data E [i] is the output value F [i] corresponding to the data E [i] among the output values belonging to the vertical axis selected by the value (0 to 15) of CK [i]. To be converted. For example, when CK [i] = 1, the output value F [i] when the input data E [i] is 0 is 255, and the output value F [i] is
The output value F [i] when [i] is 1 is 251, and ...
The output value when the input is 255 is 172.

【0055】なお、この表は、8ビットの入力データを
8ビットの出力データに変換する全ての非アフィン変換
のうち、誤り波及度の平均が1.5ビットとなるような
16個の変換を、予め計算機によるいわゆる総当たり検
索によって選び出したものである。これは、受信機2に
備えられている誤り訂正回路が8ビット中の2ビットの
誤りを訂正する能力を有するので、この値を越えない誤
り波及度とするためである。
This table shows 16 conversions out of all non-affine conversions that convert 8-bit input data into 8-bit output data, so that the average error spread is 1.5 bits. , Is selected in advance by a so-called brute force search by a computer. This is because the error correction circuit provided in the receiver 2 has a capability of correcting an error of 2 bits out of 8 bits, so that the error ripple factor does not exceed this value.

【0056】最後に、非アフィン変換された4ブロック
F[3],F[2],…,F[0]を連結して32ビッ
トの出力データとする。 (第2可変非アフィン変換部203の動作)図7は、デ
ータ復号装置20が備える第2可変非アフィン変換部2
03の操作を詳細に述べた図である。
Finally, the non-affine-transformed four blocks F [3], F [2], ..., F [0] are concatenated to form 32-bit output data. (Operation of Second Variable Non-Affine Transformation Unit 203) FIG. 7 shows the second variable non-affine transformation unit 2 included in the data decoding device 20.
It is the figure which described the operation of 03 in detail.

【0057】入力される32ビットのデータは、8ビッ
トずつの4ブロックf[3],f[2],…,f[0]
に分割される。入力される第2の16ビットの選択鍵も
4ビットずつに分割されて、ck[3],ck[2],
…,ck[0]となる。各ブロックf[i](i=0,
1,2,3)は、ck[i]に従って非アフィン変換さ
れてe[i]となる。なおこの非アフィン変換は、16
種類の非アフィン変換テーブルによって定まっており、
どの非アフィン変換テーブルを選択するかは、ck
[i]の値によって決定される。
The input 32-bit data is 4 blocks of 8 bits, f [3], f [2], ..., F [0].
Is divided into The input second 16-bit selection key is also divided into 4 bits, and ck [3], ck [2],
..., ck [0]. Each block f [i] (i = 0,
1, 2, 3) are non-affine transformed according to ck [i] to be e [i]. Note that this non-affine transformation is 16
It is determined by the kind of non-affine conversion table,
Which non-affine translation table to select is ck
Determined by the value of [i].

【0058】この非アフィン変換テーブルは、第1可変
非アフィン変換部104における非アフィン変換テーブ
ルの逆変換となっていて、表3と同様の形式となってい
る。従って、入力される第1の選択鍵と第3の選択鍵が
同じ値である場合には、第1可変非アフィン変換部10
4と第2可変非アフィン変換部203はお互いに逆変換
となっている。 (暗号通信システムの動作)次に、上述の図1〜図7を
参照し、本暗号通信システム全体の動作を説明する。
This non-affine conversion table is an inverse conversion of the non-affine conversion table in the first variable non-affine conversion unit 104, and has the same format as Table 3. Therefore, when the input first selection key and the third selection key have the same value, the first variable non-affine transformation unit 10
4 and the second variable non-affine transformation unit 203 are inverse transformations of each other. (Operation of Cryptographic Communication System) Next, the operation of the entire cryptographic communication system will be described with reference to FIGS.

【0059】まず、送信機1においては、マイクから入
力された一定時間長の音声は音声コーデックにより符号
化され、さらに誤り訂正回路による誤り訂正符号が付加
され、32ビットの平文データが生成される。その平文
データと送信機1に予め保持されていた144ビットの
鍵データは、データ暗号化装置10に入力される。
First, in the transmitter 1, the voice of a fixed time length input from the microphone is encoded by a voice codec, and an error correction code is added by an error correction circuit to generate 32-bit plaintext data. . The plaintext data and the 144-bit key data previously held in the transmitter 1 are input to the data encryption device 10.

【0060】144ビットの鍵データは、鍵分割部10
7に入力され、上位から第1の32ビットの加算鍵、第
1の32ビットの置換鍵、第1の16ビットの選択鍵、
第2の32ビットの加算鍵、第2の32ビットの置換鍵
に分割される。32ビットの平文データは第1排他的論
理和部101に入力され、鍵分割部107から入力され
る第1の加算鍵と、ビット毎の排他的論理和操作を行な
い出力され、次に第1可変ビット置換部102に入力さ
れる。
The 144-bit key data is stored in the key division unit 10
7, the first 32-bit addition key from the higher order, the first 32-bit replacement key, the first 16-bit selection key,
It is divided into a second 32-bit addition key and a second 32-bit replacement key. The 32-bit plaintext data is input to the first exclusive OR unit 101, bit-wise exclusive OR operation is performed with the first addition key input from the key division unit 107, and then the first addition key is output. It is input to the variable bit replacement unit 102.

【0061】第1可変ビット置換部102に入力された
データは、第1可変ビット置換部102に入力され、鍵
分割部107から入力される第1の32ビットの置換鍵
に従ってビット置換して出力され、次に第1固定ビット
置換部103に入力される。第1固定ビット置換部10
3に入力されたデータは、固定されたビット置換が行な
われ出力され、次に第1可変非アフィン変換部104に
入力される。
The data input to the first variable bit permutation unit 102 is input to the first variable bit permutation unit 102, bit-permuted according to the first 32-bit permutation key input from the key division unit 107, and output. And then input to the first fixed bit replacement unit 103. First fixed bit replacement unit 10
The data input to 3 is subjected to fixed bit permutation and output, and then input to the first variable non-affine transformation unit 104.

【0062】第1可変非アフィン変換部104に入力さ
れたデータは、鍵分割部107から入力される第1の1
6ビットの選択鍵に従い非アフィン変換されて出力さ
れ、次に第2排他的論理和部105に入力される。第2
排他的論理和部105に入力されたデータは、鍵分割部
107から入力される第2の32ビットの加算鍵と、ビ
ット毎の排他的論理和操作を行ない出力され、次に第2
可変ビット置換部106に入力される。
The data input to the first variable non-affine transformation unit 104 is the first 1 input from the key division unit 107.
It is non-affine-transformed according to the 6-bit selection key, is output, and is then input to the second exclusive OR unit 105. Second
The data input to the exclusive OR unit 105 is output by performing an exclusive OR operation for each bit with the second 32-bit addition key input from the key division unit 107, and then output to the second
It is input to the variable bit replacement unit 106.

【0063】第2可変ビット置換部106に入力された
データは、鍵分割部107から入力される第2の32ビ
ットの置換鍵に従ってビット置換して出力され、32ビ
ットの暗号文データとなる。そして、データ暗号化装置
10から出力された32ビットの暗号文データは、送信
部11を介して受信機2に送信される。
The data input to the second variable bit permutation unit 106 is bit-permuted according to the second 32-bit permutation key input from the key division unit 107 and output to become 32-bit ciphertext data. Then, the 32-bit ciphertext data output from the data encryption device 10 is transmitted to the receiver 2 via the transmission unit 11.

【0064】受信機2では、送信機1から送信されてき
た32ビットの暗号文データは、受信部21に受信さ
れ、144ビットの鍵データと共にデータ復号装置20
に入力される。144ビットの鍵データは、鍵分割部2
07に入力され、上位から第4の32ビットの加算鍵、
第4の32ビットの置換鍵、第2の16ビットの選択
鍵、第3の32ビットの加算鍵、第3の32ビットの置
換鍵に分割される。
In the receiver 2, the 32-bit ciphertext data transmitted from the transmitter 1 is received by the receiver 21 and together with the 144-bit key data, the data decryption device 20.
Is input to The 144-bit key data is stored in the key division unit 2
07, which is the fourth 32-bit addition key from the higher order,
It is divided into a fourth 32-bit replacement key, a second 16-bit selection key, a third 32-bit addition key, and a third 32-bit replacement key.

【0065】32ビットの暗号文データは第3可変ビッ
ト置換部201に入力され、鍵分割部207から入力さ
れる第3の32ビットの置換鍵に従ってビット置換して
出力され、次に第3排他的論理和部202に入力され
る。第3排他的論理和部202に入力されたデータは、
鍵分割部207から入力される第3の32ビットの加算
鍵と、ビット毎の排他的論理和操作を行ない出力され、
次に第2可変非アフィン変換部203に入力される。
The 32-bit ciphertext data is input to the third variable bit permutation unit 201, bit-permuted according to the third 32-bit permutation key input from the key division unit 207, and then output. It is input to the logical OR section 202. The data input to the third exclusive OR section 202 is
The third 32-bit addition key input from the key division unit 207 and an exclusive OR operation for each bit are performed and output.
Then, it is input to the second variable non-affine transformation unit 203.

【0066】第2可変非アフィン変換部203に入力さ
れたデータは、鍵分割部207から入力される第2の1
6ビットの選択鍵に従い変換して出力され、次に第2固
定ビット置換部204に入力される。第2固定ビット置
換部204に入力されたデータは、固定のビット置換を
行ない出力され、次に第4可変ビット置換部205に入
力される。
The data input to the second variable non-affine transformation unit 203 is the second 1 input from the key division unit 207.
The data is converted and output according to the 6-bit selection key, and then input to the second fixed bit replacement unit 204. The data input to the second fixed bit replacement unit 204 is output after performing fixed bit replacement, and then input to the fourth variable bit replacement unit 205.

【0067】第4可変ビット置換部205に入力された
データは、鍵分割部207から入力される第4の32ビ
ットの置換鍵に従ってビット置換して出力され、次に第
4排他的論理和部206に入力される。第4排他的論理
和部206に入力されたデータは、鍵分割部207から
入力される第4の32ビットの加算鍵と、ビット毎の排
他的論理和操作を行ない出力され、32ビットの復号文
データとなる。
The data input to the fourth variable bit permutation unit 205 is bit-permuted according to the fourth 32-bit permutation key input from the key division unit 207 and output, and then the fourth exclusive OR unit. It is input to 206. The data input to the fourth exclusive OR unit 206 is output by performing an exclusive OR operation for each bit with the fourth 32-bit addition key input from the key division unit 207, and is decrypted to 32 bits. It becomes sentence data.

【0068】復号文データは、受信機2の誤り訂正回路
により誤り訂正が行われた後に、音声コーデックにより
音声信号に変換されてスピーカから出力される。ここ
で、上述したように、第1排他的論理和部101と第4
排他的論理和部206、第1可変ビット置換部102と
第4可変ビット置換部205、第1可変非アフィン変換
部104と第2可変非アフィン変換部203、第2排他
的論理和部105と第3排他的論理和部202、第2可
変ビット置換部106と第3可変ビット置換部201
は、それぞれ入力される、第1の加算鍵と第4の加算
鍵、第1の置換鍵と第4の置換鍵、第1の選択鍵と第2
の選択鍵、第2の加算鍵と第3の選択鍵、第2の置換鍵
と第3の置換鍵が等しい値である場合、お互いに逆変換
となるようになっている。また第1固定ビット置換部1
03と第2固定ビット置換部204もお互いに逆変換で
ある。
The decoded text data is subjected to error correction by the error correction circuit of the receiver 2, converted into a voice signal by the voice codec, and output from the speaker. Here, as described above, the first exclusive OR section 101 and the fourth exclusive OR section 101
An exclusive OR section 206, a first variable bit replacing section 102 and a fourth variable bit replacing section 205, a first variable non-affine converting section 104, a second variable non-affine converting section 203, and a second exclusive OR section 105. Third exclusive OR section 202, second variable bit replacing section 106 and third variable bit replacing section 201.
Are the first addition key and the fourth addition key, the first replacement key and the fourth replacement key, the first selection key and the second input key, which are respectively input.
If the selection key, the second addition key and the third selection key, and the second replacement key and the third replacement key have the same value, they are inversely transformed. Also, the first fixed bit replacement unit 1
03 and the second fixed bit replacement unit 204 are also inverse transforms of each other.

【0069】従って、入力される144ビットの鍵デー
タが同じ値である場合には、データ暗号化装置10で行
なう変換とデータ復号装置20で行なう変換は、お互い
に逆変換となる。即ち、鍵データを送信機1と受信機2
で同じ値を共有している場合には、送信機1で平文デー
タから作成した暗号文データをデータ復号装置20で復
号した復号文データは、その平文データと一致する。
Therefore, when the input 144-bit key data has the same value, the conversion performed by the data encryption device 10 and the conversion performed by the data decryption device 20 are reverse conversions. That is, the key data is sent to the transmitter 1 and the receiver 2
In the case where the same value is shared by, the decrypted text data obtained by decrypting the encrypted text data created by the transmitter 1 from the plain text data by the data decryption device 20 matches the plain text data.

【0070】また、第1排他的論理和部101、第1可
変ビット置換部102、第1固定ビット置換部103、
第2排他的論理和部105、第2可変ビット置換部10
6で行なわれる操作は、「従来の技術」の項で述べたよ
うに、全て誤り波及のない操作である。そして、第1可
変非アフィン変換部104で行なわれる操作も、誤り波
及度は平均1.5ビットに制限されているので、全体の
操作における誤り波及度も平均1.5ビットである。
Further, the first exclusive OR unit 101, the first variable bit replacing unit 102, the first fixed bit replacing unit 103,
Second exclusive OR section 105, second variable bit replacing section 10
The operations performed in 6 are all operations that do not cause error ripple, as described in the section "Prior Art". The error spread of the operations performed by the first variable non-affine transform section 104 is also limited to 1.5 bits on average, so that the error spread of all operations is also 1.5 bits on average.

【0071】従って、例えば、送信機1から受信機2へ
の通信路での雑音により暗号文データの8ビット中の1
ビットに誤りが生じたとしても、受信機2での復号文デ
ータにおいて平均1.5ビットの誤りにしか拡大してい
ないので、2ビットの誤り訂正能力を有する受信機2に
おいて元の平文データに復元される。これにより、受信
機2は、送信機1に対して暗号文データの再送を要求す
る必要がなくなり、雑音の多い通信路におけるリアルタ
イム性を損なわない暗号通信が可能となる。
Therefore, for example, 1 in 8 bits of the ciphertext data due to noise on the communication path from the transmitter 1 to the receiver 2
Even if an error occurs in the bit, the average of the decoded text data in the receiver 2 is expanded to an error of 1.5 bits, so that the receiver 2 having the error correction capability of 2 bits returns to the original plaintext data. Restored. This eliminates the need for the receiver 2 to request the transmitter 1 to retransmit the ciphertext data, and enables encrypted communication without impairing the real-time property in a noisy communication path.

【0072】次に、安全性について述べる。解読者が入
力で1ビット異なる2つの平文データとそれぞれに対応
する暗号文データを入手できた時に、従来の技術の項で
述べた方法により、第1可変ビット置換部102と第2
可変ビット置換部106を組み合わせたビット置換全体
の動きはわかる。しかし、解読者は、第1可変ビット置
換部102と第2可変ビット置換部106のそれぞれが
どのように置換しているかはわからない。すなわち、第
1可変非アフィン変換部104においてどこのブロック
として変換されているかはわからない。
Next, safety will be described. When the decrypter can obtain two plaintext data different by 1 bit at the input and the ciphertext data corresponding to each, the first variable bit replacement unit 102 and the second variable bit replacement unit 102 and
The operation of the entire bit permutation in which the variable bit permutation unit 106 is combined can be understood. However, the decryption person does not know how each of the first variable bit replacement unit 102 and the second variable bit replacement unit 106 replaces each other. That is, it is unknown which block is converted in the first variable non-affine conversion unit 104.

【0073】従って、解読者が、従来の技術で述べたよ
うな自分にとって都合の良い平文と暗号文の組を32組
入手したとしても、任意の暗号文から平文を決定するこ
とは出来ず、解読に失敗する。よって、本暗号方式は、
上述の第4の従来例よりも安全性が高い。なお、本実施
形態で述べた第1可変ビット置換部102と第2可変ビ
ット置換部106は、内部で、4ビットずつ8ブロック
に分割して各ブロック内でビット置換を行ない、その後
8ブロック間の置換を行なっているが、先に8ブロック
間の置換を行ない、その後各ブロック内でのビット置換
するようにしても同様な効果が得られる。ただしこの場
合、第3可変ビット置換部201と第4可変ビット置換
部205においては、先にブロック内のビット置換を行
ない、その後にブロック間の置換を行なうことになる。
Therefore, even if the decrypter obtains 32 sets of plaintext and ciphertext that are convenient for himself as described in the conventional technique, he cannot determine the plaintext from arbitrary ciphertext. Decryption fails. Therefore, this encryption method is
The safety is higher than that of the above-mentioned fourth conventional example. The first variable bit replacement unit 102 and the second variable bit replacement unit 106 described in the present embodiment are internally divided into 8 blocks by 4 bits, perform the bit replacement within each block, and then between 8 blocks. However, the same effect can be obtained by first performing replacement between 8 blocks and then performing bit replacement within each block. However, in this case, in the third variable bit substituting unit 201 and the fourth variable bit substituting unit 205, the bit permutation within the block is performed first, and then the inter-block permutation is performed.

【0074】また、本実施形態で述べた第1固定ビット
置換部103と第2固定ビット置換部204は、それぞ
れ逆変換であるとしていて別変換としているが、第1固
定ビット置換部103のビット置換がその逆変換と等し
くなるようなものとすれば、第1固定ビット置換部10
3と第2固定ビット置換部204を同一にすることがで
きる。
Further, although the first fixed bit replacement unit 103 and the second fixed bit replacement unit 204 described in the present embodiment are assumed to be inverse conversion and separate conversion, respectively, the bits of the first fixed bit replacement unit 103 are different. If the permutation is equal to the inverse transform, the first fixed bit permutation unit 10
3 and the second fixed bit replacement unit 204 can be the same.

【0075】また、本実施形態で述べた第1可変ビット
置換部102と第2可変ビット置換部106は、それぞ
れが別変換となるようにビット置換テーブルとブロック
置換テーブルを設定しているが、同じビット置換テーブ
ルとブロック置換テーブルを用いて同一にすることもで
きる。その場合、第4可変ビット置換部205と第3可
変ビット置換部201も同一にすることもできる。
Further, the first variable bit permutation unit 102 and the second variable bit permutation unit 106 described in the present embodiment set the bit permutation table and the block permutation table so that they are different conversions, respectively. The same bit permutation table and block permutation table can be used to make them identical. In that case, the fourth variable bit replacement unit 205 and the third variable bit replacement unit 201 may be the same.

【0076】また、本実施形態では、データ暗号化装置
10及びデータ復号装置20はソフトウェアによって実
現されるとしたが、これに限定されるものではない。例
えば、XOR等の論理回路からなる専用のハードウェア
により第1排他的論理和部101等を実現したり、第1
固定ビット置換部103からの出力データをアドレス入
力とする表3を格納したROMにより第1可変非アフィ
ン変換部104等を実現してもよい。これにより、デー
タ暗号化及び復号の処理が高速化される。
Further, in this embodiment, the data encryption device 10 and the data decryption device 20 are realized by software, but the invention is not limited to this. For example, the first exclusive OR unit 101 or the like is realized by dedicated hardware including a logic circuit such as XOR, or
The first variable non-affine conversion unit 104 and the like may be realized by a ROM that stores Table 3 in which the output data from the fixed bit replacement unit 103 is an address input. This speeds up data encryption and decryption processing.

【0077】さらに、送信機1においては、音声データ
に誤り訂正符号が付加された後に暗号化されたが、この
順序に限定されるものではなく、音声データが暗号化さ
れた後に誤り訂正符号が付加されてもよい。その場合に
は、受信機2においては、受信した暗号文データの誤り
訂正を行った後に復号すればよい。
Further, in the transmitter 1, although the error correction code is added to the voice data and then encrypted, the order is not limited to this order, and the error correction code is transmitted after the voice data is encrypted. It may be added. In that case, in the receiver 2, the received ciphertext data may be subjected to error correction and then decrypted.

【0078】[0078]

【発明の効果】以上の説明から明らかなように、本発明
に係るデータ暗号化装置は、複数ビットからなる平文デ
ータを予め与えられた鍵データに基づいて暗号化するデ
ータ暗号化装置であって、前記平文データに対して前記
鍵データに基づいて定まるアフィン変換を行う第1可変
アフィン変換手段と、前記第1可変アフィン変換手段に
より得られたデータに対して誤り波及度を所定値に制限
した非アフィン変換を行う非アフィン変換手段と、前記
非アフィン変換手段により得られたデータに対して前記
鍵データに基づいて定まるアフィン変換を行う第2可変
アフィン変換手段とを備えることを特徴とする。
As is apparent from the above description, the data encryption device according to the present invention is a data encryption device for encrypting plaintext data consisting of a plurality of bits based on key data given in advance. , First variable affine transformation means for performing affine transformation determined on the plaintext data on the basis of the key data, and error propagation degree of the data obtained by the first variable affine transformation means is limited to a predetermined value. It is characterized by comprising non-affine transformation means for performing non-affine transformation, and second variable affine transformation means for performing affine transformation determined on the basis of the key data with respect to the data obtained by the non-affine transformation means.

【0079】これにより、平文データはアフィン変換さ
れた後に非アフィン変換され最後に再びアフィン変換さ
れるので、アフィン変換後に非アフィン変換のみを行う
従来の暗号化に比較し、このデータ暗号化装置での非ア
フィン変換操作が隠ぺいされ、安全性は高い。さらに、
非アフィン変換手段での誤り波及度は所定値に制限され
ているので、この所定値を、この暗号文データを復号す
る受信機が有する誤り訂正能力の範囲内とすることによ
り、雑音の多い通信路でのリアルタイム通信に好適な暗
号文データが生成される。
As a result, the plaintext data is affine-transformed, then non-affine-transformed, and finally affine-transformed again. Therefore, this data encryption apparatus is compared with the conventional encryption in which only non-affine transformation is performed after affine transformation. The non-affine transformation operation of is hidden and the security is high. further,
Since the error ripple factor in the non-affine transforming means is limited to a predetermined value, noisy communication can be achieved by setting this predetermined value within the error correction capability of the receiver that decrypts the ciphertext data. Ciphertext data suitable for real-time communication on the road is generated.

【0080】ここで、前記第1可変アフィン変換手段及
び前記第2可変アフィン変換手段は、前記鍵データが同
一であれば同一のアフィン変換を行なうこととすること
もできる。これにより、第1可変アフィン変換手段及び
第2可変アフィン変換手段を同一の構成要素とすること
ができるので、より少ない構成要素によりデータ暗号化
装置を実現することが可能となる。
Here, the first variable affine transforming means and the second variable affine transforming means may perform the same affine transformation if the key data is the same. Thus, the first variable affine transforming means and the second variable affine transforming means can be the same constituent element, so that the data encryption device can be realized with fewer constituent elements.

【0081】また、第1可変アフィン変換手段及び第2
可変アフィン変換手段は、それぞれ、その変換とその逆
変換とが同一となるような変換を行うこととすることも
できる。これにより、第1可変アフィン変換手段や第2
可変アフィン変換手段と、それぞれの逆変換を行う復号
手段とを同一の構成要素とすることができるので、暗号
化装置とその復号装置とを一体に備える通信機器等の小
型化が実現される。
Also, the first variable affine transformation means and the second
The variable affine transformation means can also perform transformation such that the transformation and the inverse transformation thereof are the same. Thereby, the first variable affine transformation means and the second variable affine transformation means
Since the variable affine transforming means and the decrypting means for performing the respective inverse transforms can be the same constituent element, miniaturization of a communication device including the encryption device and the decryption device can be realized.

【0082】また、前記非アフィン変換手段での非アフ
ィン変換は、前記鍵データに基づいて定まることとする
こともできる。これにより、固定的な非アフィン変換を
採用する場合よりも安全性の高いデータ暗号化装置が実
現される。ここで、前記非アフィン変換手段は、前記第
1可変アフィン変換手段より得られたデータを所定ビッ
トからなる複数のブロックに分割し、分割されたブロッ
クごとに非アフィン変換を行い、非アフィン変換された
各ブロックを連結することとし、また、その非アフィン
変換を分割されたブロックごとの鍵データに基づいて独
立して暗号化することにより、さらに暗号強度が高めら
れる。
Further, the non-affine transformation in the non-affine transformation means may be determined based on the key data. As a result, a data encryption device with higher security than when a fixed non-affine transformation is adopted is realized. Here, the non-affine transformation unit divides the data obtained by the first variable affine transformation unit into a plurality of blocks each having a predetermined bit, performs non-affine transformation on each divided block, and performs non-affine transformation. The encryption strength can be further increased by connecting each block and by independently encrypting the non-affine transformation based on the key data for each divided block.

【0083】また、前記第1可変アフィン変換手段は、
前記鍵データに基づいて定まる第1加算鍵データと前記
平文データとの排他的論理和を算出する第1排他的論理
和部と、前記第1排他的論理和部により算出されたデー
タに対して前記鍵データに基づいて定まるビット置換を
行う第1可変ビット置換部とからなり、前記非アフィン
変換手段は、前記第1可変ビット置換部により得られた
データに対して非アフィン変換を行い、前記第2可変ア
フィン変換手段は、前記鍵データに基づいて定まる第2
加算鍵データと前記非アフィン変換手段により得られた
データとの排他的論理和を算出する第2排他的論理和部
と、前記第2排他的論理和部により算出されたデータに
対して前記鍵データに基づいて定まるビット置換を行う
第2可変ビット置換部とからなることとすることもでき
る。
Further, the first variable affine transformation means is
For a first exclusive OR unit that calculates an exclusive OR of the first addition key data determined based on the key data and the plaintext data, and for the data calculated by the first exclusive OR unit A first variable bit permutation unit that performs bit permutation determined based on the key data, and the non-affine transformation unit performs non-affine transformation on the data obtained by the first variable bit substitution unit, The second variable affine transformation means is the second variable affine transformation means, which is determined based on the key data.
A second exclusive OR section for calculating an exclusive OR of the addition key data and the data obtained by the non-affine transformation means, and the key for the data calculated by the second exclusive OR section. The second variable bit replacement unit may perform the bit replacement determined based on the data.

【0084】これにより、第1及び第2可変アフィン変
換手段での変換操作は単純な論理演算の合成で表される
ので、プログラムや論理回路で実現し易いデータ暗号化
装置となる。ここで、前記第1可変ビット置換部及び前
記第2可変ビット置換部は、前記鍵データが同一であれ
ば同一のビット置換を行うこととしたり、又、前記鍵デ
ータが同一であれば逆変換の関係にあることとすること
もできる。
As a result, since the conversion operation in the first and second variable affine conversion means is represented by a simple combination of logical operations, the data encryption device can be easily realized by a program or a logic circuit. Here, the first variable bit permutation unit and the second variable bit permutation unit perform the same bit permutation if the key data is the same, or perform the inverse conversion if the key data are the same. It is possible to have a relationship of

【0085】これにより、第1及び第2可変ビット置換
部に必要とされる変換アルゴリズムが共通化され、デー
タ暗号化装置や対応するデータ復号装置の実現が簡単化
される。また、前記第1可変ビット置換部及び前記第2
可変ビット置換部は、それぞれ前記第1排他的論理和部
及び前記第2排他的論理和部により算出されたデータを
所定ビットからなる複数のブロックに分割し、分割され
たブロックごとに前記鍵データに基づいて定められるビ
ット置換を行った後にそれらブロックに対して前記鍵デ
ータに基づいて定められるブロック置換を行い、ブロッ
ク置換された各ブロックを連結することとしたり、又、
前記第1可変ビット置換部及び前記第2可変ビット置換
部は、それぞれ前記第1排他的論理和部及び前記第2排
他的論理和部により算出されたデータを所定ビットから
なる複数のブロックに分割し、分割されたブロックに対
して前記鍵データに基づいて定められるブロック置換を
行った後にそれらブロックごとに前記鍵データに基づい
て定められるビット置換を行い、ビット置換された各ブ
ロックを連結することとすることもできる。
As a result, the conversion algorithms required for the first and second variable bit permutation units are made common, and the implementation of the data encryption device and the corresponding data decryption device is simplified. Also, the first variable bit replacement unit and the second variable bit replacement unit.
The variable bit replacement unit divides the data calculated by the first exclusive OR unit and the second exclusive OR unit into a plurality of blocks each having a predetermined bit, and the key data is divided for each block. After performing bit replacement determined based on the above, block replacement determined based on the key data is performed on those blocks, and each block subjected to block replacement is connected, or
The first variable bit replacement unit and the second variable bit replacement unit divide the data calculated by the first exclusive OR unit and the second exclusive OR unit into a plurality of blocks each having a predetermined bit. Then, after performing block replacement determined on the basis of the key data for the divided blocks, performing bit replacement determined on the basis of the key data for each of the blocks, and concatenating the bit-substituted blocks. Can also be

【0086】これにより、平文データはブロック分割さ
れた後にブロックごとの鍵データに基づいて独立して暗
号化されるので、暗号強度が高くなる。また、前記第1
可変アフィン変換手段はさらに、前記第1可変ビット置
換部により得られたデータに対して予め定められたビッ
ト置換を行なう固定ビット置換部を備えることで、さら
に暗号強度を高められる。
As a result, since the plaintext data is divided into blocks and then independently encrypted based on the key data for each block, the encryption strength is increased. In addition, the first
The variable affine transformation means further includes a fixed bit replacement unit that performs a predetermined bit replacement on the data obtained by the first variable bit replacement unit, whereby the encryption strength can be further increased.

【0087】ここで、前記固定ビット置換部でのビット
置換は、そのビット置換とその逆変換とが同一となるよ
うな変換であることとすることもできる。これにより、
このデータ暗号化装置とこれに対応するデータ復号装置
での固定ビット置換部に必要とされる構成要素を共通化
することが可能となる。以上のように、本発明により、
品質の悪い通信回線上においてもリアルタイムで秘密通
信をすることができ、かつ、解読者が自分にとって都合
の良い平文と暗号文の組を入手出来る場合においても解
読されにくい安全性の高い暗号文データを生成するデー
タ暗号化装置が実現される。
Here, the bit permutation in the fixed bit permutation unit may be a conversion in which the bit permutation and its inverse conversion are the same. This allows
It is possible to share the components required for the fixed bit replacement unit in this data encryption device and the corresponding data decryption device. As described above, according to the present invention,
Highly secure ciphertext data that enables real-time secret communication even on poor-quality communication lines, and is difficult to decipher even if the decryptor can obtain a convenient plaintext / ciphertext pair. A data encryption device for generating is realized.

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

【図1】本発明の実施形態に係るデータ暗号化装置の構
成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a data encryption device according to an embodiment of the present invention.

【図2】図1に示されたデータ暗号化装置10の構成を
示すブロック図である。
FIG. 2 is a block diagram showing a configuration of a data encryption device 10 shown in FIG.

【図3】図1に示されたデータ復号装置20の構成を示
すブロック図である。
3 is a block diagram showing a configuration of a data decoding device 20 shown in FIG.

【図4】図2に示された第1可変ビット置換部102の
操作を詳細に述べた図である。
FIG. 4 is a diagram detailing the operation of the first variable bit replacement unit 102 shown in FIG.

【図5】図3に示された第4可変ビット置換部205の
操作を詳細に述べた図である。
5 is a diagram detailing an operation of a fourth variable bit replacement unit 205 shown in FIG.

【図6】図2に示された第1可変非アフィン変換部10
4の操作を詳細に述べた図である。
6 is a first variable non-affine transformation unit 10 shown in FIG.
FIG. 4 is a diagram illustrating in detail the operation of No. 4.

【図7】図3に示された第2可変非アフィン変換部20
3の操作を詳細に述べた図である。
FIG. 7 is a second variable non-affine transformation unit 20 shown in FIG.
It is a figure which described operation of 3 in detail.

【図8】従来のデータ暗号化装置の構成を示すブロック
図である。
FIG. 8 is a block diagram showing a configuration of a conventional data encryption device.

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

1 送信機 2 受信機 10 データ暗号化装置 11 送信部 20 データ復号装置 21 受信部 101 第1排他的論理和部 102 第1可変ビット置換部 103 第1固定ビット置換部 104 第1可変非アフィン変換部 105 第2排他的論理和部 106 第2可変ビット置換部 107 鍵分割部 201 第3可変ビット置換部 202 第3排他的論理和部 203 第2可変非アフィン変換部 204 第2固定ビット置換部 205 第4可変ビット置換部 206 第4排他的論理和部 207 鍵分割部 1 transmitter 2 receiver 10 data encryption device 11 transmission unit 20 data decryption device 21 reception unit 101 first exclusive OR unit 102 first variable bit permutation unit 103 first fixed bit permutation unit 104 first variable non-affine transformation Unit 105 second exclusive OR unit 106 second variable bit replacement unit 107 key division unit 201 third variable bit replacement unit 202 third exclusive OR unit 203 second variable non-affine conversion unit 204 second fixed bit replacement unit 205 fourth variable bit replacing unit 206 fourth exclusive OR unit 207 key dividing unit

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】 複数ビットからなる平文データを予め与
えられた鍵データに基づいて暗号化するデータ暗号化装
置であって、 前記平文データに対して前記鍵データに基づいて定まる
アフィン変換を行う第1可変アフィン変換手段と、 前記第1可変アフィン変換手段により得られたデータに
対して誤り波及度を所定値に制限した非アフィン変換を
行う非アフィン変換手段と、 前記非アフィン変換手段により得られたデータに対して
前記鍵データに基づいて定まるアフィン変換を行う第2
可変アフィン変換手段とを備えることを特徴とするデー
タ暗号化装置。
1. A data encryption device for encrypting plaintext data consisting of a plurality of bits based on key data given in advance, wherein the plaintext data is subjected to affine transformation determined based on the key data. 1 variable affine transforming means, non-affine transforming means for performing non-affine transforming on data obtained by the first variable affine transforming means with an error ripple limited to a predetermined value, and non-affine transforming means The affine transformation determined based on the key data for the second data
A data encryption device comprising variable affine transformation means.
【請求項2】 前記第1可変アフィン変換手段及び前記
第2可変アフィン変換手段は、前記鍵データが同一であ
れば同一のアフィン変換を行なうことを特徴とする請求
項1記載のデータ暗号化装置。
2. The data encryption apparatus according to claim 1, wherein the first variable affine transformation means and the second variable affine transformation means perform the same affine transformation if the key data are the same. .
【請求項3】 前記第1可変アフィン変換手段は、その
変換とその逆変換とが同一となるような変換を行い、 前記第2可変アフィン変換手段は、その変換とその逆変
換とが同一となるような変換を行うことを特徴とする請
求項1記載のデータ暗号化装置。
3. The first variable affine transformation means performs a transformation such that the transformation is the same as the inverse transformation thereof, and the second variable affine transformation means performs the transformation and the inverse transformation thereof are the same. The data encryption device according to claim 1, wherein the data encryption device performs the following conversion.
【請求項4】 前記非アフィン変換手段での非アフィン
変換は、前記鍵データに基づいて定まることを特徴とす
る請求項1記載のデータ暗号化装置。
4. The data encryption device according to claim 1, wherein the non-affine transformation in the non-affine transformation means is determined based on the key data.
【請求項5】 前記非アフィン変換手段は、前記第1可
変アフィン変換手段より得られたデータを所定ビットか
らなる複数のブロックに分割し、分割されたブロックご
とに非アフィン変換を行い、非アフィン変換された各ブ
ロックを連結することを特徴とする請求項1記載のデー
タ暗号化装置。
5. The non-affine transformation means divides the data obtained by the first variable affine transformation means into a plurality of blocks each having a predetermined bit, and performs non-affine transformation on each of the divided blocks to obtain a non-affine transformation. The data encryption device according to claim 1, wherein the converted blocks are connected to each other.
【請求項6】 前記非アフィン変換手段におけるブロッ
クごとの非アフィン変換は、前記鍵データに基づいてそ
れぞれ独立に定められることを特徴とする請求項5記載
のデータ暗号化装置。
6. The data encryption apparatus according to claim 5, wherein the non-affine transformation for each block in the non-affine transformation means is independently determined based on the key data.
【請求項7】 前記第1可変アフィン変換手段は、 前記鍵データに基づいて定まる第1加算鍵データと前記
平文データとの排他的論理和を算出する第1排他的論理
和部と、 前記第1排他的論理和部により算出されたデータに対し
て前記鍵データに基づいて定まるビット置換を行う第1
可変ビット置換部とからなり、 前記非アフィン変換手段は、前記第1可変ビット置換部
により得られたデータに対して非アフィン変換を行い、 前記第2可変アフィン変換手段は、 前記鍵データに基づいて定まる第2加算鍵データと前記
非アフィン変換手段により得られたデータとの排他的論
理和を算出する第2排他的論理和部と、 前記第2排他的論理和部により算出されたデータに対し
て前記鍵データに基づいて定まるビット置換を行う第2
可変ビット置換部とからなることを特徴とする請求項1
記載のデータ暗号化装置。
7. The first variable affine transformation means, a first exclusive OR section for calculating an exclusive OR of the first addition key data determined based on the key data and the plaintext data, 1 bit replacement determined based on the key data is performed on the data calculated by the exclusive OR unit.
A variable bit permutation unit, the non-affine transformation unit performs non-affine transformation on the data obtained by the first variable bit substitution unit, and the second variable affine transformation unit is based on the key data. A second exclusive OR unit for calculating an exclusive OR of the second addition key data determined by the above and the data obtained by the non-affine transformation unit, and the data calculated by the second exclusive OR unit. Secondly, the second bit replacement is performed based on the key data.
2. A variable bit replacement section, comprising:
The data encryption device described.
【請求項8】 前記第1可変ビット置換部及び前記第2
可変ビット置換部は、前記鍵データが同一であれば同一
のビット置換を行うことを特徴とする請求項7記載のデ
ータ暗号化装置。
8. The first variable bit replacement unit and the second variable bit replacement unit.
The data encryption device according to claim 7, wherein the variable bit replacement unit performs the same bit replacement if the key data are the same.
【請求項9】 前記第1可変ビット置換部でのビット置
換と前記第2可変ビット置換部でのビット置換とは、前
記鍵データが同一であれば逆変換の関係にあることを特
徴とする請求項7記載のデータ暗号化装置。
9. The bit permutation in the first variable bit permutation unit and the bit permutation in the second variable bit permutation unit have an inverse conversion relationship if the key data is the same. The data encryption device according to claim 7.
【請求項10】前記第1可変ビット置換部及び前記第2
可変ビット置換部は、それぞれ前記第1排他的論理和部
及び前記第2排他的論理和部により算出されたデータを
所定ビットからなる複数のブロックに分割し、分割され
たブロックごとに前記鍵データに基づいて定められるビ
ット置換を行った後にそれらブロックに対して前記鍵デ
ータに基づいて定められるブロック置換を行い、ブロッ
ク置換された各ブロックを連結することを特徴とする請
求項7記載のデータ暗号化装置。
10. The first variable bit replacement unit and the second variable bit replacement unit.
The variable bit replacement unit divides the data calculated by the first exclusive OR unit and the second exclusive OR unit into a plurality of blocks each having a predetermined bit, and the key data is divided for each block. 8. The data encryption according to claim 7, wherein the block permutation determined based on the key data is performed after performing the bit permutation determined based on the key data, and the blocks subjected to the block permutation are connected. Device.
【請求項11】前記第1可変ビット置換部及び前記第2
可変ビット置換部は、それぞれ前記第1排他的論理和部
及び前記第2排他的論理和部により算出されたデータを
所定ビットからなる複数のブロックに分割し、分割され
たブロックに対して前記鍵データに基づいて定められる
ブロック置換を行った後にそれらブロックごとに前記鍵
データに基づいて定められるビット置換を行い、ビット
置換された各ブロックを連結することを特徴とする請求
項7記載のデータ暗号化装置。
11. The first variable bit replacement unit and the second variable bit replacement unit.
The variable bit replacement unit divides the data calculated by the first exclusive OR unit and the second exclusive OR unit into a plurality of blocks each having a predetermined bit, and the divided block is divided into the keys. 8. The data encryption according to claim 7, wherein after the block replacement determined based on the data is performed, the bit replacement determined based on the key data is performed for each block, and the bit-substituted blocks are connected. Device.
【請求項12】 前記第1可変ビット置換部及び前記第
2可変ビット置換部におけるブロックごとのビット置換
は、前記鍵データに基づいてそれぞれ独立に定められる
ことを特徴とする請求項10又は11記載のデータ暗号
化装置。
12. The bit permutation for each block in the first variable bit permutation unit and the second variable bit permutation unit is independently determined on the basis of the key data. Data encryption device.
【請求項13】 前記第1可変アフィン変換手段はさら
に、前記第1可変ビット置換部により得られたデータに
対して予め定められたビット置換を行なう固定ビット置
換部を備え、 前記非アフィン変換手段は、前記第1可変ビット置換部
により得られたデータに代えて前記固定ビット置換部に
より得られたデータに対して非アフィン変換を行うこと
を特徴とする請求項7記載のデータ暗号化装置。
13. The first variable affine transformation unit further includes a fixed bit substitution unit that performs a predetermined bit substitution on the data obtained by the first variable bit substitution unit, and the non-affine transformation unit. The data encryption device according to claim 7, wherein the non-affine transformation is performed on the data obtained by the fixed bit substitution unit instead of the data obtained by the first variable bit substitution unit.
【請求項14】 前記固定ビット置換部でのビット置換
は、そのビット置換とその逆変換とが同一となるような
変換であることを特徴とする請求項13記載のデータ暗
号化装置。
14. The data encryption device according to claim 13, wherein the bit replacement in the fixed bit replacement unit is a conversion in which the bit replacement and its inverse conversion are the same.
JP08071759A 1996-03-27 1996-03-27 Data encryption device and data decryption device Expired - Lifetime JP3079032B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08071759A JP3079032B2 (en) 1996-03-27 1996-03-27 Data encryption device and data decryption device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08071759A JP3079032B2 (en) 1996-03-27 1996-03-27 Data encryption device and data decryption device

Publications (2)

Publication Number Publication Date
JPH09258655A true JPH09258655A (en) 1997-10-03
JP3079032B2 JP3079032B2 (en) 2000-08-21

Family

ID=13469799

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08071759A Expired - Lifetime JP3079032B2 (en) 1996-03-27 1996-03-27 Data encryption device and data decryption device

Country Status (1)

Country Link
JP (1) JP3079032B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010109516A1 (en) * 2009-03-23 2010-09-30 富士通株式会社 Data processing device and data processing method
JP2011250466A (en) * 2011-07-29 2011-12-08 Nippon Telegr & Teleph Corp <Ntt> Information encryption method, information encryption apparatus, program, and recording medium

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010109516A1 (en) * 2009-03-23 2010-09-30 富士通株式会社 Data processing device and data processing method
CN102356418A (en) * 2009-03-23 2012-02-15 富士通株式会社 Data processing device and data processing method
JPWO2010109516A1 (en) * 2009-03-23 2012-09-20 富士通株式会社 Data processing apparatus and data processing method
US8707057B2 (en) 2009-03-23 2014-04-22 Fujitsu Limited Data processing apparatus and data processing method
JP5541277B2 (en) * 2009-03-23 2014-07-09 富士通株式会社 Data processing apparatus and data processing method
JP2011250466A (en) * 2011-07-29 2011-12-08 Nippon Telegr & Teleph Corp <Ntt> Information encryption method, information encryption apparatus, program, and recording medium

Also Published As

Publication number Publication date
JP3079032B2 (en) 2000-08-21

Similar Documents

Publication Publication Date Title
KR100362458B1 (en) Cryptographic processing apparatus, cryptographic processing method, and recording medium recording cryptographic processing program for realizing high-speed crypographic processing without impairing security
AU2003296887B2 (en) Efficient encryption and authentication for data processing systems
US6246768B1 (en) Data encryption system for encrypting plaintext data
JP4828082B2 (en) Replacement box for symmetric key cryptography
US6459792B2 (en) Block cipher using key data merged with an intermediate block generated from a previous block
US20020044651A1 (en) Method and apparatus for improving the security of cryptographic ciphers
JPH0863097A (en) Method and system for symmetric encoding for encoding of data
CA2493569A1 (en) Efficient encryption and authentication for data processing systems
US20050117745A1 (en) Data encryption and decryption method using a public key
CN111800255A (en) Dynamic white-box library generation and use method suitable for block cipher white-box
JP2000511755A (en) How to encrypt binary code information
JP2003516659A (en) One&#39;s complement crypto combiner
JP2009088641A (en) Transmission reception method, communication system and transmitter
KR100551992B1 (en) encryption/decryption method of application data
US20030174835A1 (en) Data encryption device, data decryption device, and data encryption/decryption device
Mahalakshmi et al. Image encryption method using differential expansion technique, AES and RSA algorithm
JP3079032B2 (en) Data encryption device and data decryption device
KR101583285B1 (en) Block cipher method using expansion key and apparatus thereof
JP2001016197A (en) Self-synchronized stream enciphering system and mac generating method using the same
JPH09200196A (en) Ciphering communication system
JPH04335730A (en) Random ciphering communication system
JP3154991B2 (en) Cryptographic processing device, cryptographic processing method, and storage medium storing cryptographic processing program
US20040071290A1 (en) Encryption apparatus and method in a wireless communications system
JP3473171B2 (en) Sequential encryption
Dhamodharan et al. Multifarious mapping schemes on Elliptic curve cryptography for IoT security

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000606

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080616

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090616

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130616

Year of fee payment: 13

EXPY Cancellation because of completion of term