JPH09269727A - Encryption method and encryption device - Google Patents
Encryption method and encryption deviceInfo
- Publication number
- JPH09269727A JPH09269727A JP8077397A JP7739796A JPH09269727A JP H09269727 A JPH09269727 A JP H09269727A JP 8077397 A JP8077397 A JP 8077397A JP 7739796 A JP7739796 A JP 7739796A JP H09269727 A JPH09269727 A JP H09269727A
- Authority
- JP
- Japan
- Prior art keywords
- encryption
- key
- data
- generated
- encrypted data
- 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
Abstract
(57)【要約】
【課題】ハードウエア、ソフトウエアの資源を有効に利
用して暗号強度と暗号化処理速度の改善が図れる暗号化
方法および暗号化装置を提供する。
【解決手段】入力された鍵データ112に基づいて複数
の中間鍵K1〜Knを生成し、この生成された複数の中
間鍵のそれぞれを用いて入力ブロックデータ110に対
し複数(n)段の攪拌関数fにより攪拌処理を行って暗
号データ111を生成する暗号化方法および暗号化装置
であって、鍵更新部107は、予め定められたデータ量
の暗号化データ111が生成される毎に、攪拌関数fを
用いて最終段、初段の攪拌関数fに用いられる中間鍵K
n、K1を更新する。
(57) An object of the present invention is to provide an encryption method and an encryption device capable of improving encryption strength and encryption processing speed by effectively utilizing resources of hardware and software. SOLUTION: A plurality of intermediate keys K1 to Kn are generated based on input key data 112, and a plurality of (n) stages of stirring are performed on the input block data 110 using each of the generated plurality of intermediate keys. An encryption method and an encryption device that perform agitation processing by a function f to generate encrypted data 111, wherein the key update unit 107 agitates each time a predetermined amount of encrypted data 111 is generated. Intermediate key K used for the final stage and first stage stirring functions f using the function f
Update n and K1.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、例えば、セキュリ
ティが要求される情報通信ネットワークにおいて利用さ
れる情報の暗号化方法および暗号化装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and apparatus for encrypting information used in an information communication network requiring security, for example.
【0002】[0002]
【従来の技術】従来広く用いられている暗号方式として
DES(Data Encryp−tion Stan
dard、Federal InformationP
rocessing Standard No.46)
方式がある。これは分類上は秘密鍵暗号方式と呼ばれ、
RSA方式のような公開鍵暗号方式とは区別される。本
発明はDES方式のような秘密鍵暗号方式の構成に関す
るものである。2. Description of the Related Art A DES (Data Encryption-Stan) is used as a widely used encryption method.
dard, Federal InformationP
processing Standard No. 46)
There is a method. This is classified as a secret key cryptosystem,
It is distinguished from public key cryptosystems such as the RSA system. The present invention relates to a configuration of a secret key cryptosystem such as the DES system.
【0003】DES方式では、入力された鍵を拡大して
中間鍵を生成するための、鍵スケジュール部と、生成さ
れた中間鍵に基づいて平文データを攪拌し、暗号文デー
タに変換したり、逆に暗号文を平文に変換するデータ攪
拌部からなる。In the DES system, a key scheduling unit for expanding an input key to generate an intermediate key and plaintext data based on the generated intermediate key are mixed and converted into ciphertext data. Conversely, it consists of a data agitation unit that converts ciphertext into plaintext.
【0004】DES方式は高い信頼性を誇るものの、鍵
スケジュール部の仕様は、非常に単純であり、鍵の更新
手続きを含んでいないため、非常に多くの平文データを
入力し、その暗号結果を観測するような攻撃を適用する
と鍵データを高い確率で推定することができる。この原
理に基づく代表的攻撃法として、差分攻撃(E.Bih
am and A.Shamir ”Differen
tialCryptanalysis of DES−
like Crypto−systems”、Jour
nal of Cryptology、Vol.4、N
o.1、pp3−72、1991)が特に有名である。Although the DES system boasts high reliability, the specifications of the key schedule part are very simple and do not include a key update procedure. Therefore, a large amount of plaintext data is input and the encryption result is input. Applying an observing attack makes it possible to estimate key data with high probability. As a typical attack method based on this principle, differential attack (E. Bih
am and A. Shamir "Differen"
tialCryptanalysis of DES-
like Crypto-systems ”, Jour
nal of Cryptology, Vol. 4, N
o. 1, pp3-72, 1991) is particularly famous.
【0005】一方、データ攪拌部の構成としてDES方
式は比較的簡単で暗号的に弱い関数を多段に適用するこ
とによって暗号強度を上げるという構成を採っている。
段数を多くすると安全性は高まるが、処理速度は低下す
る。鍵を固定した場合、前記差分攻撃を無効化するため
には、16段程度の繰り返し処理が必要といわれてい
る。On the other hand, as the configuration of the data agitation unit, the DES method has a configuration in which the encryption strength is increased by applying a relatively simple and cryptographically weak function in multiple stages.
If the number of stages is increased, the safety is improved, but the processing speed is reduced. When the key is fixed, it is said that about 16 rounds of repetitive processing are required to nullify the differential attack.
【0006】[0006]
【発明が解決しようとする課題】以上述べてきたよう
に、DES方式では鍵スケジュール部で採用されている
中間鍵生成手続きが単純なため中間鍵相互の相関が大き
く、さらに鍵の更新をサポートしていないために、差分
攻撃のような一種の選択平文攻撃に対して弱いという問
題点があった。As described above, in the DES method, since the intermediate key generation procedure adopted in the key schedule part is simple, the mutual correlation between the intermediate keys is large, and the key update is supported. Therefore, there is a problem that it is weak against a kind of selective plaintext attack such as a differential attack.
【0007】また、データ攪拌部の処理段数を16段と
十分大きくとることによって攻撃への抵抗力を高めてい
るため、処理速度が犠牲となっていた。そこで、本発明
は、上記問題点に鑑みてなされたものであり、差分攻撃
等の攻撃に対して弱点となる中間鍵について鍵更新を行
なうことで暗号強度を増すことができ、さらに同じ暗号
強度を保ちながら処理速度を改善することができる暗号
化方法および暗号化装置を提供することを目的とする。Further, the processing speed is sacrificed because the resistance to attack is enhanced by increasing the number of processing steps of the data agitation unit to 16 steps. Therefore, the present invention has been made in view of the above problems, and it is possible to increase the cryptographic strength by performing key update for an intermediate key that is a weak point against attacks such as differential attacks, and the same cryptographic strength An object of the present invention is to provide an encryption method and an encryption device capable of improving the processing speed while maintaining the above.
【0008】[0008]
【課題を解決するための手段】本発明の暗号化方法は、
入力された鍵データに基づいて複数の中間鍵を生成し、
この生成された複数の中間鍵のそれぞれを用いて入力平
文データに対し複数段の暗号化処理を連続して行い暗号
データを生成し、予め定められたデータ量の暗号データ
が生成される毎に、最終段の暗号化処理に用いられる中
間鍵を更新することにより、ハードウエア、ソフトウエ
アの資源を有効に利用して暗号強度と暗号化処理速度の
改善が図れる。The encryption method of the present invention comprises:
Generate multiple intermediate keys based on the input key data,
Each time the input plaintext data is encrypted using a plurality of stages of encryption using each of the generated intermediate keys, encrypted data is generated, and encrypted data of a predetermined data amount is generated each time. By updating the intermediate key used for the encryption process at the final stage, it is possible to effectively use the resources of hardware and software to improve the encryption strength and the encryption processing speed.
【0009】また、本発明の暗号化方法は、予め定めら
れたデータ量の暗号データが生成される毎に、初段の暗
号化処理に用いられる中間鍵をさらに更新することによ
り、暗号強度がさらに向上する。The encryption method of the present invention further improves the encryption strength by further updating the intermediate key used for the encryption process at the first stage every time a predetermined amount of encrypted data is generated. improves.
【0010】また、本発明の暗号化方法は、前記鍵デー
タおよびそれまでに生成された中間鍵のうち少なくとも
2つに対し前記平文データを暗号化する際に用いる暗号
化処理を行って前記中間鍵を更新することにより、ハー
ドウエア、ソフトウエアの資源を有効に利用して暗号強
度と暗号化処理速度の改善が図れる。Further, in the encryption method of the present invention, at least two of the key data and the intermediate keys generated so far are subjected to an encryption process used when encrypting the plaintext data, and the intermediate data is encrypted. By updating the key, the resources of hardware and software can be effectively used to improve the encryption strength and the encryption processing speed.
【0011】また、本発明の暗号化方法は、入力された
鍵データに基づいて複数の中間鍵を生成し、入力平文デ
ータに対し第1の暗号化処理を行って第1の暗号データ
を生成し、この生成された第1の暗号化データに対し、
前記複数の中間鍵のそれぞれを用いて複数段の第2の暗
号化処理を連続して行い第2の暗号データを生成し、こ
の生成された第2の暗号データに対し第3の暗号化処理
を行って第3の暗号データを生成し、予め定められたデ
ータ量の第3の暗号化データが生成される毎に、前記鍵
データおよびそれまでに生成された中間鍵のうち少なく
とも2つに対し前記第2の暗号化処理を行って最終段の
第2の暗号化処理に用いられる中間鍵を更新することに
より、ハードウエア、ソフトウエアの資源を有効に利用
して暗号強度と暗号化処理速度の改善が図れる。Further, according to the encryption method of the present invention, a plurality of intermediate keys are generated based on the input key data, and the first plaintext data is subjected to the first encryption processing to generate the first encrypted data. Then, with respect to the generated first encrypted data,
A plurality of stages of the second encryption processing is continuously performed using each of the plurality of intermediate keys to generate second encrypted data, and a third encryption processing is performed on the generated second encrypted data. Is performed to generate the third encrypted data, and each time the third encrypted data having a predetermined data amount is generated, at least two of the key data and the intermediate keys generated so far are generated. On the other hand, by performing the second encryption processing and updating the intermediate key used for the final second encryption processing, the resources of hardware and software are effectively used, and encryption strength and encryption processing are performed. The speed can be improved.
【0012】また、本発明の暗号化方法は、予め定めら
れたデータ量の第3の暗号化データが生成される毎に、
前記鍵データおよびそれまでに生成された中間鍵のうち
少なくとも2つに対し前記第2の暗号化処理を行って初
段の第2の暗号化処理に用いられる中間鍵をさらに更新
することにより、暗号強度がさらに向上する。Further, the encryption method of the present invention, when the third encrypted data of a predetermined data amount is generated,
By performing the second encryption process on at least two of the key data and the intermediate keys generated so far, and further updating the intermediate key used for the first-stage second encryption process, Strength is further improved.
【0013】また、本発明の暗号化装置は、入力された
鍵データに基づいて複数の中間鍵を生成する中間鍵生成
手段と、この中間鍵生成手段で生成された複数の中間鍵
のそれぞれを用いて入力平文データに対し複数段の暗号
化処理を連続して行い暗号データを生成する生成手段
と、この生成手段で予め定められたデータ量の暗号化デ
ータが生成される毎に、最終段の暗号化処理に用いられ
る中間鍵を更新する更新手段と、を具備することによ
り、ハードウエア、ソフトウエアの資源を有効に利用し
て暗号強度と暗号化処理速度の改善が図れる。Further, the encryption apparatus of the present invention includes an intermediate key generating means for generating a plurality of intermediate keys based on the input key data and a plurality of intermediate keys generated by the intermediate key generating means. Using the generating means for continuously performing a plurality of stages of encryption processing on the input plaintext data to generate the encrypted data, and for each time the encrypted data of a predetermined data amount is generated by the generating means, the final stage is generated. The updating means for updating the intermediate key used in the encryption processing of 1. can effectively utilize the resources of the hardware and software to improve the encryption strength and the encryption processing speed.
【0014】また、前記更新手段は、前記生成手段で予
め定められたデータ量の暗号化データが生成される毎
に、初段の暗号化処理に用いられる中間鍵をさらに更新
することにより、暗号強度がさらに向上する。Further, the updating means further updates the intermediate key used for the first-stage encryption processing every time when the encrypted data of a predetermined data amount is generated by the generating means, whereby the encryption strength is increased. Is further improved.
【0015】また、前記更新手段は、鍵データおよびそ
れまでに生成された中間鍵の少なくとも2つに対し前記
平文データを暗号化する際に用いる暗号化処理を行って
前記中間鍵を更新することにより、ハードウエア、ソフ
トウエアの資源を有効に利用して暗号強度と暗号化処理
速度の改善が図れる。Further, the updating means updates the intermediate key by performing an encryption process for encrypting the plaintext data on at least two of the key data and the intermediate key generated so far. This makes it possible to effectively use hardware and software resources to improve encryption strength and encryption processing speed.
【0016】また、本発明の暗号化装置は、入力された
鍵データに基づいて複数の中間鍵を生成する中間鍵生成
手段と、入力平文データに対し第1の暗号化処理を行っ
て第1の暗号データを生成する第1の暗号化手段と、こ
の第1の暗号化手段で生成された第1の暗号化データに
対し、前記中間鍵生成手段で生成された複数の中間鍵の
それぞれを用いて複数段の第2の暗号化処理を連続して
行い第2の暗号データを生成する第2の暗号化手段と、
この第2の暗号化手段で生成された第2の暗号データに
対し、第3の暗号化処理を行って第3の暗号データを生
成する第3の暗号化手段と、予め定められたデータ量の
第3の暗号化データが生成される毎に、前記鍵データお
よびそれまでに生成された中間鍵のうち少なくとも2つ
に対し前記第2の暗号化処理を行って前記第2の暗号化
手段の最終段の第2の暗号化処理に用いられる中間鍵を
更新する更新手段と、を具備することにより、ハードウ
エア、ソフトウエアの資源を有効に利用して暗号強度と
暗号化処理速度の改善が図れる。Further, the encryption apparatus of the present invention performs the first encryption processing on the input plaintext data and the intermediate key generation means for generating a plurality of intermediate keys based on the input key data, and first And a plurality of intermediate keys generated by the intermediate key generating means for the first encryption data generated by the first encryption means and the first encryption data generated by the first encryption means. Second encryption means for continuously performing a plurality of stages of second encryption processing using the second encryption data, and
Third encryption means for performing third encryption processing on the second encryption data generated by the second encryption means to generate third encryption data, and a predetermined data amount Every time the third encrypted data of is generated, the second encryption processing is performed on at least two of the key data and the intermediate keys generated up to that time to perform the second encryption means. And an updating means for updating the intermediate key used for the second encryption processing at the final stage of the above, thereby effectively utilizing the resources of hardware and software to improve the encryption strength and the encryption processing speed. Can be achieved.
【0017】また、前記更新手段は、予め定められたデ
ータ量の第3の暗号化データが生成される毎に、前記鍵
データおよびそれまでに生成された中間鍵のうち少なく
とも2つに対し前記第2の暗号化処理を行って前記第2
の暗号化手段の初段の第2の暗号化処理に用いられる中
間鍵をさらに更新することにより、暗号強度がさらに向
上する。Further, the updating means sets the key data and at least two of the intermediate keys generated so far to at least two each time the third encrypted data of a predetermined data amount is generated. The second encryption is performed to perform the second
By further updating the intermediate key used in the first-stage second encryption processing of the encryption means of 1, the encryption strength is further improved.
【0018】[0018]
【発明の実施の形態実施例】以下、本発明の実施形態に
ついて図面を参照して説明する。図1は、本実施形態に
係る暗号化装置の構成を概略的に示したものである。図
1において、鍵スケジュール部102は、中間鍵展開部
106と鍵更新部107から構成され、中間鍵展開部1
06は、外部から入力された鍵データに基づいて初期中
間鍵(K1、K2、…Kn)を生成する。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 schematically shows the configuration of the encryption device according to this embodiment. In FIG. 1, the key scheduling unit 102 includes an intermediate key expanding unit 106 and a key updating unit 107.
06 generates an initial intermediate key (K1, K2, ... Kn) based on the key data input from the outside.
【0019】外部から入力された平文データは、所定長
のブロック単位にデータ攪拌部101に入力され(ブロ
ックデータ110)、前処理部103で前処理が行われ
た後、中間処理部104にて攪拌関数fを複数(i=1
〜n)回施され、さらに後処理部105で後処理を受
け、暗号化された出力ブロックデータ(暗号データ)1
11が出力される。Plaintext data input from the outside is input to the data mixing unit 101 (block data 110) in units of blocks of a predetermined length, preprocessed by the preprocessing unit 103, and then processed by the intermediate processing unit 104. A plurality of stirring functions f (i = 1
.About.n) times, further post-processed by the post-processing unit 105, and encrypted output block data (encrypted data) 1
11 is output.
【0020】攪拌関数fは、その第1の入力に前段の攪
拌関数fの出力が供給され、第2の入力には中間鍵展開
部106で生成された複数(n)の中間鍵のうちの1つ
が供給され、2入力1出力のアルゴリズムにて、入力さ
れたブロックデータに対し攪拌処理を施す暗号関数であ
る。The agitation function f is supplied with the output of the agitation function f of the preceding stage at its first input, and the second input of the plurality (n) of intermediate keys generated by the intermediate key expansion unit 106 at its second input. This is a cryptographic function that is supplied with one and performs shuffling processing on the input block data by an algorithm of two inputs and one output.
【0021】前処理部103、後処理部105での前処
理・後処理の具体例としてはビット位置の入れ替えがあ
る。より一般化して全単射の射像を用いる。前処理と後
処理が互いに逆変換の関係を持つように選ぶと、復号装
置を作り易い。なお、前処理・後処理として入力をその
まま出力にする関数を用いることもできる。As a specific example of the pre-processing / post-processing in the pre-processing unit 103 and the post-processing unit 105, there is the exchange of bit positions. A more generalized bijective image is used. If the pre-processing and the post-processing are selected so that they have an inverse transformation relationship with each other, it is easy to make a decoding device. It is also possible to use a function that directly outputs the input as the pre-processing / post-processing.
【0022】データ攪拌部101で所定回数暗号化が施
されると、鍵処理部107では中間鍵の更新処理を行う
ようになっている。このとき、少なくとも、最終段の攪
拌関数fに供給される鍵Knはその値が変化する様処理
される(偶然値が同じになったとしてもそれが続く確率
は極めて低い様に更新関数を設計される)。When the data agitation unit 101 has performed encryption a predetermined number of times, the key processing unit 107 is adapted to update the intermediate key. At this time, at least the key Kn supplied to the final-stage stirring function f is processed so that its value changes (the update function is designed so that the probability that it will continue even if the value becomes the same is extremely low). Be done).
【0023】差分攻撃は最終段の攪拌関数fへの入力の
差分値を攪拌関数fの伝達特性によって決まる一定の確
率で推定できるように入力差分を制御することによって
達成される。ところが、この様に最終段への鍵入力が比
較的頻度高く変化すると、有効な差分が最終段にたまた
ま到達してもその時使われていた鍵がそれ以後長い間使
われることはなく、最終段の鍵の推定は困難となる。The differential attack is achieved by controlling the input difference so that the difference value of the input to the final stage stirring function f can be estimated with a certain probability determined by the transfer characteristic of the stirring function f. However, if the key input to the final stage changes relatively frequently in this way, even if the effective difference happens to reach the final stage, the key used at that time will not be used for a long time after that, and the final stage will not be used. It is difficult to estimate the key.
【0024】また、鍵の更新関数として、データ攪拌部
101で用いられる攪拌関数fを利用することによっ
て、データ攪拌部101とのハードまたはソフトの共用
をはかることができ、コンパクトな実装が可能となる。Further, by using the shuffling function f used in the data shuffling section 101 as a key updating function, it is possible to share hardware or software with the data shuffling section 101, and a compact implementation is possible. Become.
【0025】次に、鍵の更新頻度であるが、もっとも頻
度が高いのは1データブロックを変換する度に鍵の更新
を行なうことである。一般にはk個のデータブロックを
処理する度に(kは自然数)更新することになるが、こ
れは安全性と処理速度との兼合で決定する必要があろ
う。Next, regarding the key update frequency, the highest frequency is to update the key each time one data block is converted. Generally, it is updated every time k data blocks are processed (k is a natural number), but this may need to be determined in consideration of safety and processing speed.
【0026】具体的決定方法の一例として、差分の伝達
特性確率がp(0<p<1)であらわされる時、適当な
係数aを定めてk=a/pで決めることが考えられる。
差分伝達特性確率がpであるとき1/p程度のオーダの
差分を観測すると高い確率で所望の差分が最終段のfの
入力となるから、a=1、0.1、0.001、…など
と与えることで安全係数を考慮しながらkを決めること
ができる。aとしては1以上の値を用いることも場合に
よっては可能である。As an example of a concrete determination method, when the transfer characteristic probability of the difference is represented by p (0 <p <1), it is considered that an appropriate coefficient a is determined and k = a / p is determined.
When the difference transfer characteristic probability is p, if a difference of the order of 1 / p is observed, the desired difference becomes the input of f at the final stage with a high probability, so a = 1, 0.1, 0.001 ,. It is possible to determine k while giving consideration to the safety factor by giving, for example, It is possible in some cases to use a value of 1 or more as a.
【0027】さて、本発明によれば暗号強度を損なうこ
となく処理速度を改善することも可能である。前述のよ
うに、鍵更新の頻度を上げるとそれによって、鍵推定の
困難さを増すことができる。ところが鍵推定の困難さは
攪拌関数fの接続段数にも依存しており、段数を増すこ
とで差分特性確率が増すことが知られている。したがっ
て、更新頻度を上げることで増した推定の困難さを段数
を削減することでもとの困難さと同等にできる可能性が
生じる。実際、新しい鍵を完全に無作為に決めることが
できるならば攪拌関数fは1段で処理内容も単なる第1
入力と第2入力のビット毎の排他的論理和を用いても安
全であることが知られている。実際には鍵を全く無作為
には決められず攪拌関数fによって決める訳であるが、
いずれにしても段数を削減することによって処理速度を
上げることができる。According to the present invention, it is also possible to improve the processing speed without deteriorating the encryption strength. As mentioned above, increasing the frequency of key updates can increase the difficulty of key estimation. However, it is known that the difficulty of key estimation depends on the number of connected stages of the stirring function f, and that the difference characteristic probability increases by increasing the number of stages. Therefore, there is a possibility that the difficulty of estimation increased by increasing the update frequency can be made equal to the original difficulty by reducing the number of stages. In fact, if the new key can be determined completely randomly, the agitation function f has one stage and the processing content is simply the first.
It is known that it is safe to use bitwise exclusive OR of the input and the second input. Actually, the key is not decided at all at random but is decided by the stirring function f.
In any case, the processing speed can be increased by reducing the number of stages.
【0028】次に、以上の原理に基づき、より具体的な
実施形態について説明する。図2は、DES方式の基本
構成を利用した本発明の暗号化装置の構成を概略的に示
したものである。Next, a more specific embodiment will be described based on the above principle. FIG. 2 schematically shows the configuration of the encryption device of the present invention using the basic configuration of the DES system.
【0029】図2のDESは中間鍵のビット長とデータ
攪拌部のビット幅が1:2の関係となるように変換した
ものである。図中SPEと書かれた関数は、DESのS
ボックスとP変換とE変換をこの順序で直列接続したも
のであり、図3はそのブロック図を示す。全体として4
8ビット入力48ビット出力の非線形関数を成してい
る。The DES in FIG. 2 is converted so that the bit length of the intermediate key and the bit width of the data agitation unit have a relationship of 1: 2. The function written as SPE in the figure is the S of DES
A box, a P conversion, and an E conversion are connected in series in this order, and FIG. 3 shows a block diagram thereof. 4 as a whole
It is a non-linear function with 8-bit input and 48-bit output.
【0030】図2の暗号化装置の構成は、鍵更新部20
7を除けば通常のDES方式の暗号化装置と全く等価で
ある。図2において、鍵の更新回数をtで表して、第i
段の攪拌関数fに供給される中間鍵をKi(t)と表し
ている。本実施形態では第(n−1)番の中間鍵と第n
番の鍵を入力として鍵更新部207が第n番(最終段)
の鍵を更新している。第1番から第(n−1)番の中間
鍵は鍵が変更されるまで同じ値を用いる。鍵更新は一定
数、例えば100ブロックの暗号文を出力する度に行な
われるものとする。The configuration of the encryption device shown in FIG.
Except for 7, it is completely equivalent to an ordinary DES encryption device. In FIG. 2, the number of times the key is updated is represented by t,
The intermediate key supplied to the stirring function f of the round is represented as Ki (t). In this embodiment, the (n-1) th intermediate key and the nth key
The key updating unit 207 receives the nth key as the input and the nth key (final stage)
Updating the key of. The same value is used for the first to (n-1) th intermediate keys until the key is changed. It is assumed that the key is updated every time a fixed number, for example, 100 blocks of ciphertext is output.
【0031】図2の暗号化装置において、鍵スケジュー
ル部202は、DES鍵展開部206と鍵更新部207
から構成され、DES鍵展開部206は、外部から入力
された64ビット(そのうち8ビットはパリティビット
とみなし、暗号化および復号化の過程では用いない。)
の鍵データKに基づいて中間鍵K1(t)、K2
(t)、…Kn(t)を生成する。In the encryption device shown in FIG. 2, the key scheduling unit 202 has a DES key expanding unit 206 and a key updating unit 207.
The DES key decompression unit 206 has 64 bits input from the outside (8 bits of which are regarded as parity bits and are not used in the process of encryption and decryption).
Intermediate keys K1 (t), K2 based on the key data K of
(T), ... Kn (t) are generated.
【0032】DES鍵展開部206では、まず、54ビ
ットの鍵データKに対し、転置PC−1(Permut
ed choice 1)と呼ばれるビットの順番を入
れ替える転置処理が施され、レジスタC、Dに2分割さ
れる。レジスタCおよびD内のビットは、1ビットまた
は2ビット左循環桁送りし復号時には右に循環けた送り
する。次いで、CおよびDレジスタ内の54ビットに対
し縮小転置PC−2(Permuted choice
2)を施すことにより、48ビットの中間鍵K1
(t)を生成する。以下、同様にして、レジスタCおよ
びD内に左循環桁送りおよび縮小転置PC−2を1回施
すことにより、中間鍵K2(t)、…Kn(t)が順次
生成される。In the DES key decompression unit 206, the transposed PC-1 (Permut) is first applied to the 54-bit key data K.
A transposing process called ed choice 1) for changing the order of bits is performed, and the registers C and D are divided into two. The bits in registers C and D are 1-bit or 2-bit left circular shifts and right circular shifts during decoding. Then a reduced transposed PC-2 (Permuted choice) for 54 bits in the C and D registers.
By applying 2), the 48-bit intermediate key K1
(T) is generated. Thereafter, in the same manner, by performing the left circulation shift and the reduced transpose PC-2 once in the registers C and D, the intermediate keys K2 (t), ... Kn (t) are sequentially generated.
【0033】外部から入力された平文データは、所定長
のブロック単位(64ビット)にデータ攪拌部201に
入力され(ブロックデータM)、まず、前処理として、
初期転置処理部210で初期転置IP、すなわち、ビッ
トの順番を入れ替える処理を施し、その後、32ビット
づつに2分割して、それぞれを転置処理部212a、2
12bに入力する。転置処理部212a、212bで
は、それぞれ、ビットを重複させる拡大転置Eを施し4
8ビットのブロックデータを出力する。Plaintext data input from the outside is input to the data mixing unit 201 in block units (64 bits) of a predetermined length (block data M). First, as preprocessing,
The initial transposition processing unit 210 performs an initial transposition IP, that is, a process of changing the order of bits, and thereafter, it is divided into two parts each having 32 bits, and the transposition processing units 212a and 212a,
Enter in 12b. In the transposition processing units 212a and 212b, the enlarged transposition E for overlapping the bits is performed, respectively.
Outputs 8-bit block data.
【0034】次に、中間処理を行う。まず、初段の攪拌
関数fで、転置処理部212aからの48ビットのブロ
ックデータとDES鍵展開部206で生成された中間鍵
K1(t)との排他論理和をとる(222a)。Next, an intermediate process is performed. First, the first-stage agitation function f calculates the exclusive OR of the 48-bit block data from the transposition processing unit 212a and the intermediate key K1 (t) generated by the DES key expansion unit 206 (222a).
【0035】排他論理和をとった結果の48ビットは、
8個の6ビットのブロックに分割され、SPE処理部2
21に入力される。図3に示すように、SPE処理部2
21では、8個の換字表、すなわち選択関数(S−bo
x)Sj(j=1〜8)が8個の6ビットのブロックを
それぞれ受け取り、選択関数Sjは4ビットのブロック
をそれぞれ出力する。S−boxから出力される合計3
2ビットに対し、次にビットの順番を置き換える転置P
を施し(P変換)、さらに、前述の拡大転置Eを施して
(E変換)48ビットのブロックが出力される。S−b
ox、P変換、E変換による処理をまとめて、ここでは
SPE関数と呼ぶ。The 48 bits of the result of the exclusive OR are
The SPE processing unit 2 is divided into eight 6-bit blocks.
21. As shown in FIG. 3, the SPE processing unit 2
In 21, the eight substitution tables, that is, the selection function (S-bo
x) Sj (j = 1 to 8) receives eight 6-bit blocks, and the selection function Sj outputs 4-bit blocks. Total of 3 output from S-box
Transpose P that replaces the bit order for 2 bits
(P conversion), and the above-mentioned enlarged transposition E is applied (E conversion) to output a 48-bit block. S-b
The processes by ox, P conversion, and E conversion are collectively referred to as an SPE function here.
【0036】さて、図2の説明に戻り、SPE処理部2
21の出力は転置処理部212bの出力と排他論理和が
とられ(222b)、その結果は、2段目の攪拌関数f
に入力され、前述同様にして、初段の攪拌関数fの出力
である48ビットのブロックデータとDES鍵展開部2
06で生成された中間鍵K2(t)との排他論理和をと
る(222a)。一方、2段目の攪拌関数fでは、転置
処理部212aの出力とSPE関数221の出力との排
他論理和がとられる(222b)。Now, returning to the description of FIG. 2, the SPE processing unit 2
The output of 21 is XORed with the output of the transposition processing unit 212b (222b), and the result is the stirring function f of the second stage.
To the DES key expansion unit 2 and the 48-bit block data which is the output of the first-stage agitation function f in the same manner as described above.
The exclusive OR with the intermediate key K2 (t) generated in 06 is obtained (222a). On the other hand, in the second-stage stirring function f, the exclusive OR of the output of the transposition processing unit 212a and the output of the SPE function 221 is obtained (222b).
【0037】以後同様にして、格段(i=3〜n)の攪
拌関数fでは、前段(i=iー1)の攪拌関数fからの
出力とDES鍵展開部206で生成された中間鍵Ki
(t)との排他論理和をとり(222a)、前々段(i
=i−2)の攪拌関数fの排他論理和(222b)の出
力結果と自段(i)のSPE関数221の出力との排他
論理和(222b)をとった結果を出力とする。Similarly, in the case of the agitation function f of a particular stage (i = 3 to n), the output from the agitation function f of the previous stage (i = i-1) and the intermediate key Ki generated by the DES key expansion unit 206.
The exclusive OR with (t) is taken (222a), and the previous stage (i)
= I−2), the output of the exclusive OR (222b) of the output of the exclusive OR (222b) of the stirring function f and the output of the SPE function 221 of the current stage (i) is output.
【0038】最終段(i=n)の攪拌関数fの48ビッ
トの出力に対し、次に、後処理を行う。最終段(i=
n)の攪拌関数fの48ビットの出力は前述の拡大転置
Eの逆転値E-1を施す転置処理部213bで32ビット
に縮小され、一方、(i=n−1)段目の攪拌関数fの
48ビットの出力も、前述の拡大転置Eの逆転値E-1を
施す転置処理部213aで32ビットに縮小される。各
転置処理部213a、213bの出力に対し、逆初期転
置処理部221で初期転置IPの逆転置IP-1を施し、
暗号化された出力ブロックデータCを出力する。The 48-bit output of the stirring function f at the final stage (i = n) is then subjected to post-processing. Last stage (i =
The 48-bit output of the stirring function f of n) is reduced to 32 bits by the transposition processing unit 213b that applies the inversion value E -1 of the above-mentioned enlarged transposition E, while the stirring function of the (i = n-1) th stage The 48-bit output of f is also reduced to 32 bits by the transposition processing unit 213a that applies the inversion value E −1 of the above-mentioned enlarged transposition E. The reverse initial transposition processing unit 221 applies the reverse transposition IP −1 of the initial transposition IP to the outputs of the transposition processing units 213a and 213b,
The encrypted output block data C is output.
【0039】鍵更新部207は、データ攪拌部201で
用いられる攪拌関数fで構成されている。すなわち、最
終段(第n段目)の攪拌関数fの中間鍵Kn(t)と第
(n−1)段目の攪拌関数fの中間鍵Kn−1(t)の
排他論理和をとり(222a)、その結果に対しSPE
関数221で攪拌処理を施し、SPE関数221の出力
と中間鍵Kn−1(t)の排他論理和をとって(222
b)、更新された最終段の中間鍵Kn(t+1)を出力
する。この鍵更新は、データ攪拌部201から、所定量
(例えば100ブロック)の暗号データが出力する度に
行なわれるものとする。The key updating unit 207 is composed of a stirring function f used in the data stirring unit 201. That is, the exclusive OR of the intermediate key Kn (t) of the stirring function f at the final stage (nth stage) and the intermediate key Kn-1 (t) of the stirring function f at the (n-1) th stage is calculated ( 222a), SPE for the result
The function 221 performs agitation processing, and the output of the SPE function 221 and the intermediate key Kn-1 (t) are exclusive-ORed (222).
b) The updated intermediate key Kn (t + 1) at the final stage is output. This key update is performed every time a predetermined amount (for example, 100 blocks) of encrypted data is output from the data agitation unit 201.
【0040】図4は鍵更新部の他の構成例を示したもの
である。これを図2の鍵更新部207と置き換えること
で新たな実施形態を提供するものである。図4の鍵更新
部は、2つのレジスタ(D−フリップ・フロップ回路、
以下簡単にFFと呼ぶ)300、301、攪拌関数f
(SPE関数、2つの排他的論理和演算部)から構成さ
れている。FIG. 4 shows another example of the configuration of the key updating unit. A new embodiment is provided by replacing this with the key updating unit 207 of FIG. The key updating unit in FIG. 4 has two registers (D-flip-flop circuit,
Hereinafter referred to simply as FF) 300, 301, stirring function f
(SPE function, two exclusive OR operation units).
【0041】初期設定時には、FF300には48ビッ
トの初期値が保持されていて、FF301には最終段
(第n段)の中間鍵の初期値Kn(0)が保持されてい
る。鍵更新時には、攪拌関数fにおいて、FF300に
保持されている値とFF301に保持されている値の排
他的論理和をとり(222a)、それをSPE関数22
1に入れ、その出力値とFF300に保持されている値
と排他的論理和をとり(222b)、その結果をFF3
01に保持すると同時に更新された中間鍵Kn(t)と
して出力する。このとき、それまでにFF301に保持
されていた更新前の中間鍵Kn(t−1)は、FF30
0に保持される。At the time of initialization, the FF 300 holds a 48-bit initial value, and the FF 301 holds the initial value Kn (0) of the intermediate key at the final stage (nth stage). At the time of updating the key, in the agitation function f, the value held in the FF 300 and the value held in the FF 301 are exclusive-ORed (222a) and the SPE function 22
It is put in 1, and the output value and the value held in FF300 are exclusive-ORed (222b), and the result is FF3.
The intermediate key Kn (t) is held at 01 and is simultaneously output as the updated intermediate key Kn (t). At this time, the intermediate key Kn (t-1) before update, which is held in the FF 301 by that time, is
It is kept at 0.
【0042】以上の処理を漸化式で書くと、 Kn(t+1) =EPS{Kn(t−1)+Kn
(t)}+Kn(t−1) となる。なお、ここで、EPS関数221の入力をxと
したときの出力をEPS(x)と表すものとする。When the above processing is written in a recurrence formula, Kn (t + 1) = EPS {Kn (t-1) + Kn
(T)} + Kn (t-1). Here, the output when the input of the EPS function 221 is x is represented by EPS (x).
【0043】以上の説明では暗号化処理のみを書いた
が、復号は暗号化の際につかった中間鍵の系列を生成で
きれば容易に構成できる。これは、鍵スケジュール部
(図1の鍵スケジュール部102、図2の鍵スケジュー
ル部202)で暗号の際に用いたのと同じ暗号関数、更
新関数を用いれば生成できるので、本発明による暗号装
置の復号は容易である。Although only the encryption processing is described in the above description, the decryption can be easily configured if the sequence of the intermediate key used in the encryption can be generated. This can be generated by using the same encryption function and update function as those used at the time of encryption by the key schedule unit (key schedule unit 102 in FIG. 1, key schedule unit 202 in FIG. 2), and thus the encryption device according to the present invention. Is easy to decrypt.
【0044】図5は、鍵更新部のさらに他の構成例であ
る。これを図2の鍵更新部207と置き換えることでさ
らに他の実施形態を提供するものである。なお、図4と
同一部分には同一符号を付し、異なる部分についてのみ
説明する。すなわち、EPS関数221の入力としてF
F301に保持されている値と外部から入力された56
ビットの鍵データKを48ビットに圧縮した値の排他的
論理和を用いている。FIG. 5 shows still another configuration example of the key updating unit. By replacing this with the key updating unit 207 of FIG. 2, yet another embodiment is provided. The same parts as those in FIG. 4 are designated by the same reference numerals, and only different parts will be described. That is, F as an input of the EPS function 221
Value held in F301 and 56 input from outside
The exclusive OR of the values obtained by compressing the bit key data K to 48 bits is used.
【0045】以上の説明では、最終段の鍵更新を行なう
場合を主に説明してきたが、初段の中間鍵も同様の手続
きで更新することは容易である。この場合の暗号化装置
の構成例を図6に示す。なお、図6において、図2と同
一部分には同一符号を付し、異なる部分についてのみ説
明する。すなわち、鍵更新部207の構成において、初
段の攪拌関数fに用いる中間鍵の更新を行う攪拌関数f
が追加されている。In the above description, the case where the key at the final stage is updated has been mainly described, but it is easy to update the intermediate key at the first stage by the same procedure. FIG. 6 shows a configuration example of the encryption device in this case. In FIG. 6, the same parts as those in FIG. 2 are designated by the same reference numerals, and only different parts will be described. That is, in the configuration of the key updating unit 207, the stirring function f for updating the intermediate key used for the stirring function f in the first stage is updated.
Has been added.
【0046】初段の攪拌関数fに用いる中間鍵の更新を
行う攪拌関数fでは、初段の攪拌関数fの中間鍵K1
(t)と2段目の攪拌関数fの中間鍵K2(t)の排他
論理和をとり(222a)、その結果に対しSPE関数
221で攪拌処理を施し、SPE関数221の出力と中
間鍵K2(t)の排他論理和をとって(222b)、更
新された初段の中間鍵K1(t+1)を出力する。In the stirring function f for updating the intermediate key used for the stirring function f in the first stage, the intermediate key K1 of the stirring function f in the first stage is updated.
The exclusive OR of (t) and the intermediate key K2 (t) of the second-stage stirring function f is calculated (222a), and the result is subjected to the stirring process by the SPE function 221, and the output of the SPE function 221 and the intermediate key K2. The exclusive OR of (t) is calculated (222b), and the updated first-stage intermediate key K1 (t + 1) is output.
【0047】図6に示した暗号化装置の構成では、差分
攻撃に対して安全性を極めて増大することができる。以
下その理由を述べる。DES方式に基づき暗号化された
暗号文の復号処理は中間鍵の生成順序を逆順にすること
で実現できるが、これは復号処理において最終段に入力
される鍵は、暗号化において初段に入力された鍵であ
る。すなわち、このようなDES方式の暗号化装置で
は、もし暗号化において初段の鍵が固定ならば、復号に
おける最終段の鍵が固定となり、適当な差分を設定した
偽暗号文を復号モードの装置に大量に入力することで、
最終段の鍵を推定される可能性が高い。The configuration of the encryption device shown in FIG. 6 can greatly increase the security against differential attacks. The reason will be described below. The decryption process of the ciphertext encrypted based on the DES method can be realized by reversing the generation order of the intermediate key. This is because the key input at the final stage in the decryption process is input at the first stage in encryption. It is the key. That is, in such a DES encryption device, if the first-stage key in the encryption is fixed, the last-stage key in the decryption is fixed, and the fake ciphertext with an appropriate difference is set in the decryption-mode device. By inputting a large amount,
There is a high possibility that the last-stage key will be estimated.
【0048】しかし、図6に示した構成によれば、暗号
モードで最終段の鍵ばかりでなく、初段の鍵も更新して
いるので、このような攻撃を完全に防止することが可能
となる。このような効果は、差分攻撃のみならず線形攻
撃に対しても同様である。However, according to the configuration shown in FIG. 6, not only the last-stage key but also the first-stage key is updated in the encryption mode, so that such an attack can be completely prevented. . Such an effect is similar not only to a differential attack but also to a linear attack.
【0049】以上、説明したように、上記実施形態の暗
号化方法および暗号化装置は、入力された鍵データKに
基づいて複数の中間鍵K1(t)〜Kn(t)を生成
し、この生成された複数の中間鍵のそれぞれを用いて入
力平文データに対し複数(n)段の攪拌関数fにより攪
拌処理を行って暗号データを生成する暗号化方法および
暗号化装置であって、最終段、初段の攪拌関数fに用い
られる中間鍵Kn(t)、K1(t)は、予め定められ
たデータ量の暗号化データが生成される毎に、鍵更新部
107、207において、攪拌関数fを用いて更新する
ことにより、ハードウエア、ソフトウエアの資源を有効
に利用して暗号強度と暗号化処理速度の改善が図れる。
すなわち、同じ段数で鍵更新を行なわない暗号装置にく
らべ著しく攻撃に対する抵抗力を上げることができる。As described above, the encryption method and the encryption device of the above embodiment generate a plurality of intermediate keys K1 (t) to Kn (t) based on the input key data K, and An encryption method and an encryption device that perform encryption processing on input plaintext data by using a plurality of (n) stages of agitation functions f using each of a plurality of generated intermediate keys to generate encrypted data. The intermediate keys Kn (t) and K1 (t) used for the first-stage agitation function f are generated in the key update units 107 and 207 by the agitation function f each time encrypted data of a predetermined data amount is generated. By using the update, the resources of hardware and software can be effectively used to improve the encryption strength and the encryption processing speed.
That is, it is possible to remarkably increase the resistance to an attack as compared with an encryption device that does not perform key update with the same number of steps.
【0050】また、データ攪拌関数fと同じ関数を鍵更
新処理に用いる構成であるため、ソフトウェア、ハード
ウェアの増大を最少限に押さえることができる。鍵更新
を行なう頻度を変更することが可能なので安全性の程度
をパラメータとして制御することも可能である。Further, since the same function as the data shuffling function f is used for the key updating process, the increase in software and hardware can be suppressed to a minimum. Since the frequency of key update can be changed, it is possible to control the degree of security as a parameter.
【0051】鍵の更新を行なうので鍵を固定にする方式
にくらべ、安全性をほぼ同じに保ちながら処理段数(攪
拌関数fの連結段数)を減らすことが可能であり、結果
として処理速度の向上が図れる。Since the key is updated, it is possible to reduce the number of processing steps (the number of connected steps of the agitation function f) while keeping the security almost the same as compared with the method of fixing the key. As a result, the processing speed is improved. Can be achieved.
【0052】また、更新する中間鍵を最終段の鍵に限定
すれば、鍵更新処理の負荷を軽減することができる。な
お、上記実施形態では、中間鍵の更新は、最終段と初段
の攪拌関数fに用いれる中間鍵についてのみ説明した
が、この場合のみならず、さらに、それ以外の中間鍵に
対し、例えば、全ての中間鍵に対して更新処理を行え
ば、暗号強度はさらに高まるであろう。If the intermediate key to be updated is limited to the last-stage key, the load of the key updating process can be reduced. In the above embodiment, the updating of the intermediate key is described only for the intermediate keys used for the final-stage and first-stage agitation functions f, but not only in this case, for other intermediate keys, for example, If all intermediate keys are updated, the cipher strength will be further increased.
【0053】また、鍵更新部を攪拌関数fで構成する場
合、その2つの入力は上記実施形態に示した場合に限ら
ず、外部から入力された鍵データKおよびそれまでに生
成された中間鍵のうち少なくとも2つを用いればよい。When the key updating unit is composed of the agitation function f, the two inputs are not limited to those shown in the above embodiment, but the key data K input from the outside and the intermediate key generated up to that point. At least two of them may be used.
【0054】[0054]
【発明の効果】以上説明したように、本発明によれば、
ハードウエア、ソフトウエアの資源を有効に利用して暗
号強度と暗号化処理速度の改善が図れる暗号化方法およ
び暗号化装置を提供することができる。As described above, according to the present invention,
It is possible to provide an encryption method and an encryption device capable of improving the encryption strength and the encryption processing speed by effectively utilizing the resources of hardware and software.
【図1】本発明の実施形態に係る暗号化装置の構成を概
略的に示したブロック図。FIG. 1 is a block diagram schematically showing the configuration of an encryption device according to an embodiment of the present invention.
【図2】DES方式を適用した場合の本発明の実施形態
に係る暗号化装置の構成を示したブロック図。FIG. 2 is a block diagram showing the configuration of an encryption device according to an embodiment of the present invention when the DES method is applied.
【図3】図2のSPE関数の処理を説明するための図。FIG. 3 is a diagram for explaining the processing of the SPE function of FIG.
【図4】図2の暗号化装置の鍵更新部の他の構成例を示
した図。FIG. 4 is a diagram showing another configuration example of a key update unit of the encryption device of FIG.
【図5】図2の暗号化装置の鍵更新部のさらに他の構成
例を示した図。FIG. 5 is a diagram showing still another configuration example of the key update unit of the encryption device of FIG.
【図6】本発明の実施形態に係る暗号化装置の他の構成
例を示した図で、初段の攪拌関数の中間鍵も更新する鍵
更新部を具備したものである。FIG. 6 is a diagram showing another configuration example of the encryption device according to the embodiment of the present invention, which is provided with a key updating unit that also updates the intermediate key of the first-stage stirring function.
101、201…データ攪拌部、102、202…鍵ス
ケジュール部、103…前処理部、104…中間処理
部、105…後処理部、106…中間鍵展開部、10
7、207…鍵更新部、110…ブロックデータ(入力
平文データ)、111…出力ブロックデータ(暗号デー
タ)、112…鍵データ、206…DES鍵展開部。101, 201 ... Data mixing section, 102, 202 ... Key scheduling section, 103 ... Pre-processing section, 104 ... Intermediate processing section, 105 ... Post-processing section, 106 ... Intermediate key expanding section, 10
7, 207 ... Key update unit, 110 ... Block data (input plaintext data), 111 ... Output block data (encrypted data), 112 ... Key data, 206 ... DES key expansion unit.
Claims (7)
間鍵を生成し、この生成された複数の中間鍵のそれぞれ
を用いて入力平文データに対し複数段の暗号化処理を連
続して行い暗号データを生成し、予め定められたデータ
量の暗号データが生成される毎に、最終段の暗号化処理
に用いられる中間鍵を更新することを特徴とする暗号化
方法。1. A plurality of intermediate keys are generated based on input key data, and a plurality of stages of encryption processing are continuously performed on input plaintext data using each of the generated plurality of intermediate keys. An encryption method, characterized in that encrypted data is generated and an intermediate key used in the final encryption process is updated every time a predetermined amount of encrypted data is generated.
生成される毎に、初段の暗号化処理に用いられる中間鍵
をさらに更新することを特徴とする請求項1記載の暗号
化方法。2. The encryption method according to claim 1, further comprising updating the intermediate key used for the first-stage encryption processing every time a predetermined amount of encrypted data is generated.
た中間鍵のうち少なくとも2つに対し前記平文データを
暗号化する際に用いる暗号化処理を行って前記中間鍵を
更新することを特徴とする請求項1記載の暗号化方法。3. The intermediate key is updated by performing an encryption process used when encrypting the plaintext data on at least two of the key data and the intermediate keys generated so far. The encryption method according to claim 1.
間鍵を生成し、入力平文データに対し第1の暗号化処理
を行って第1の暗号データを生成し、この生成された第
1の暗号化データに対し、前記複数の中間鍵のそれぞれ
を用いて複数段の第2の暗号化処理を連続して行い第2
の暗号データを生成し、この生成された第2の暗号デー
タに対し第3の暗号化処理を行って第3の暗号データを
生成し、予め定められたデータ量の第3の暗号化データ
が生成される毎に、前記鍵データおよびそれまでに生成
された中間鍵のうち少なくとも2つに対し前記第2の暗
号化処理を行って最終段の第2の暗号化処理に用いられ
る中間鍵を更新することを特徴とする暗号化方法。4. A plurality of intermediate keys are generated based on the input key data, a first encryption process is performed on the input plaintext data to generate a first encrypted data, and the generated first encrypted data is generated. Second encrypted processing is continuously performed on each of the encrypted data of step 2 using each of the plurality of intermediate keys.
Of the second encrypted data, the third encrypted data is generated by performing a third encryption process on the generated second encrypted data, and the third encrypted data of a predetermined data amount is generated. Each time it is generated, the second encryption process is performed on at least two of the key data and the intermediate keys generated up to that time to obtain an intermediate key used for the second encryption process at the final stage. An encryption method characterized by updating.
データが生成される毎に、前記鍵データおよびそれまで
に生成された中間鍵のうち少なくとも2つに対し前記第
2の暗号化処理を行って初段の第2の暗号化処理に用い
られる中間鍵をさらに更新することを特徴とする請求項
4記載の暗号化方法。5. Each time a predetermined amount of third encrypted data is generated, the second encryption is performed on at least two of the key data and the intermediate keys generated so far. The encryption method according to claim 4, wherein the intermediate key used for the first-stage second encryption process is further updated by performing the process.
間鍵を生成する中間鍵生成手段と、 この中間鍵生成手段で生成された複数の中間鍵のそれぞ
れを用いて入力平文データに対し複数段の暗号化処理を
連続して行い暗号データを生成する生成手段と、 この生成手段で予め定められたデータ量の暗号化データ
が生成される毎に、最終段の暗号化処理に用いられる中
間鍵を更新する更新手段と、 を具備したことを特徴とする暗号化装置。6. A plurality of intermediate key generating means for generating a plurality of intermediate keys based on the input key data, and a plurality of intermediate keys generated by the intermediate key generating means for a plurality of input plaintext data. Generating means for continuously performing the encryption process of the second stage to generate encrypted data, and an intermediate used for the encryption process of the final stage every time the generating device generates the encrypted data of a predetermined data amount. An encryption device comprising: update means for updating a key.
間鍵を生成する中間鍵生成手段と、 入力平文データに対し第1の暗号化処理を行って第1の
暗号データを生成する第1の暗号化手段と、 この第1の暗号化手段で生成された第1の暗号化データ
に対し、前記中間鍵生成手段で生成された複数の中間鍵
のそれぞれを用いて複数段の第2の暗号化処理を連続し
て行い第2の暗号データを生成する第2の暗号化手段
と、 この第2の暗号化手段で生成された第2の暗号データに
対し、第3の暗号化処理を行って第3の暗号データを生
成する第3の暗号化手段と、 予め定められたデータ量の第3の暗号化データが生成さ
れる毎に、前記鍵データおよびそれまでに生成された中
間鍵のうち少なくとも2つに対し前記第2の暗号化処理
を行って前記第2の暗号化手段の最終段の第2の暗号化
処理に用いられる中間鍵を更新する更新手段と、 を具備したことを特徴とする暗号化装置。7. An intermediate key generating means for generating a plurality of intermediate keys based on input key data, and a first encryption process for performing first encryption processing on input plaintext data. And a plurality of stages of second keys for each of the first encrypted data generated by the first encryption means and each of the plurality of intermediate keys generated by the intermediate key generation means. Second encryption means for continuously performing encryption processing to generate second encrypted data, and third encryption processing for the second encrypted data generated by the second encryption means. Third encryption means for generating the third encrypted data, and each time the third encrypted data of a predetermined data amount is generated, the key data and the intermediate key generated so far The second encryption processing is performed on at least two of the Encryption device, wherein the second updating means for updating the intermediate-key used for encryption processing in the final stage, by comprising the encryption means.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8077397A JPH09269727A (en) | 1996-03-29 | 1996-03-29 | Encryption method and encryption device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8077397A JPH09269727A (en) | 1996-03-29 | 1996-03-29 | Encryption method and encryption device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09269727A true JPH09269727A (en) | 1997-10-14 |
Family
ID=13632770
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8077397A Pending JPH09269727A (en) | 1996-03-29 | 1996-03-29 | Encryption method and encryption device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09269727A (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001067425A1 (en) * | 2000-03-09 | 2001-09-13 | Mitsubishi Denki Kabushiki Kaisha | Block encryption device using auxiliary conversion |
| WO2003050784A1 (en) * | 2001-12-12 | 2003-06-19 | Electronics And Telecommunications Research Institute | Encryption apparatus applying kasumi encryption algorithm |
| JP2007528172A (en) * | 2004-03-09 | 2007-10-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Key-based encryption |
| WO2009034929A1 (en) * | 2007-09-12 | 2009-03-19 | Nec Corporation | Ciphering method, ciphering device, and cipher processing program |
| JP2012519414A (en) * | 2009-02-26 | 2012-08-23 | エルエスアイ コーポレーション | Cryptographic independent interface for cryptographic hardware services |
| JP2017118560A (en) * | 2017-02-06 | 2017-06-29 | 株式会社 エヌティーアイ | Data processing device, data processing system, and data processing method |
-
1996
- 1996-03-29 JP JP8077397A patent/JPH09269727A/en active Pending
Cited By (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100392688C (en) * | 2000-03-09 | 2008-06-04 | 三菱电机株式会社 | Data conversion device and data conversion method |
| US7697684B2 (en) | 2000-03-09 | 2010-04-13 | Mitsubishi Denki Kabushiki Kaisha | Block cipher apparatus using auxiliary transformation |
| AU767323B2 (en) * | 2000-03-09 | 2003-11-06 | Mitsubishi Denki Kabushiki Kaisha | Block encryption device using auxiliary conversion |
| AU2003213312B2 (en) * | 2000-03-09 | 2004-03-25 | Mitsubishi Denki Kabushiki Kaisha | Block cipher apparatus using auxiliary transformation |
| AU2003213315B2 (en) * | 2000-03-09 | 2004-04-01 | Mitsubishi Denki Kabushiki Kaisha | Block cipher apparatus using auxiliary transformation |
| AU2003213317B2 (en) * | 2000-03-09 | 2004-04-01 | Mitsubishi Denki Kabushiki Kaisha | Block cipher apparatus using auxiliary transformation |
| AU2003213312C1 (en) * | 2000-03-09 | 2004-11-25 | Mitsubishi Denki Kabushiki Kaisha | Block cipher apparatus using auxiliary transformation |
| US7864950B2 (en) | 2000-03-09 | 2011-01-04 | Mitsubishi Denki Kabushiki Kaisha | Block encryption device using auxiliary conversion |
| US7822196B2 (en) | 2000-03-09 | 2010-10-26 | Mitsubishi Denki Kabushiki Kaisha | Block cipher apparatus using auxiliary transformation |
| WO2001067425A1 (en) * | 2000-03-09 | 2001-09-13 | Mitsubishi Denki Kabushiki Kaisha | Block encryption device using auxiliary conversion |
| US7760870B2 (en) | 2000-03-09 | 2010-07-20 | Mitsubishi Denki Kabushiki Kaisha | Block cipher apparatus using auxiliary transformation |
| US7760871B2 (en) | 2000-03-09 | 2010-07-20 | Mitsubishi Denki Kabushiki Kaisha | Block cipher using auxiliary transformation |
| WO2003050784A1 (en) * | 2001-12-12 | 2003-06-19 | Electronics And Telecommunications Research Institute | Encryption apparatus applying kasumi encryption algorithm |
| JP2007528172A (en) * | 2004-03-09 | 2007-10-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Key-based encryption |
| WO2009034929A1 (en) * | 2007-09-12 | 2009-03-19 | Nec Corporation | Ciphering method, ciphering device, and cipher processing program |
| JPWO2009034929A1 (en) * | 2007-09-12 | 2010-12-24 | 日本電気株式会社 | Encryption method, encryption device, and encryption processing program |
| JP2012519414A (en) * | 2009-02-26 | 2012-08-23 | エルエスアイ コーポレーション | Cryptographic independent interface for cryptographic hardware services |
| JP2017118560A (en) * | 2017-02-06 | 2017-06-29 | 株式会社 エヌティーアイ | Data processing device, data processing system, and data processing method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100435052B1 (en) | Encryption device | |
| US5745577A (en) | Symmetric cryptographic system for data encryption | |
| EP0839418B1 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
| KR100296958B1 (en) | Apparatus for encoding block data | |
| JP3188940B2 (en) | Encryption system | |
| EP0618701B1 (en) | Hardware arrangement for enciphering bit blocks while renewing a key at each iteration | |
| JP4828082B2 (en) | Replacement box for symmetric key cryptography | |
| US5949884A (en) | Design principles of the shade cipher | |
| JP2005527150A (en) | S-box encryption in block cipher implementation | |
| Preneel et al. | Recent developments in the design of conventional cryptographic algorithms | |
| JP3351305B2 (en) | Computer-readable recording medium storing an encryption device and a program for implementing the encryption device | |
| JPH0675525A (en) | Cipher communication equipment | |
| JPH09269727A (en) | Encryption method and encryption device | |
| JPH0738558A (en) | ENCRYPTION DEVICE, COMMUNICATION SYSTEM USING THE SAME, AND METHOD THEREOF | |
| US20060098815A1 (en) | Methods of encoding and decoding data | |
| JP2000075785A (en) | High-speed encryption processing circuit and processing method | |
| Poupard et al. | Decorrelated Fast Cipher: an AES Candidate well suited for low cost smart cards applications | |
| WO1999000783A1 (en) | Ciphering apparatus | |
| JP3517063B2 (en) | Encryption device and encryption method | |
| KR100350207B1 (en) | Method for cryptographic conversion of l-bit input blocks of digital data into l-bit output blocks | |
| JPH09251267A (en) | Encryption device and encryption method | |
| Rakeshkumar | Performance analysis of data encryption standard algorithm & proposed data encryption standard algorithm | |
| JPH10153954A (en) | Ciphering device | |
| JP2001142395A (en) | Extended key generation device, encryption / decryption device, extended key generation method, and storage medium | |
| KR100200531B1 (en) | Encryption method and system |