JP2001142395A - 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体 - Google Patents
拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体Info
- Publication number
- JP2001142395A JP2001142395A JP2000261098A JP2000261098A JP2001142395A JP 2001142395 A JP2001142395 A JP 2001142395A JP 2000261098 A JP2000261098 A JP 2000261098A JP 2000261098 A JP2000261098 A JP 2000261098A JP 2001142395 A JP2001142395 A JP 2001142395A
- Authority
- JP
- Japan
- Prior art keywords
- key
- conversion
- input
- expanded
- computer
- 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
Links
Abstract
の生成を阻止しつつ拡大鍵の攪拌性を向上でき、もっ
て、暗号強度の向上を図る。 【解決手段】 各鍵変換関数fk1〜fknとしては、
入力された鍵から得られた第1鍵KAに基づいてSボッ
クス14i(置換テーブル)により変換処理を行い、加
算部16iが、このSボックス14iによる変換結果を
左シフトさせた値と、入力された鍵から得られた第2鍵
KBとに基づいて拡大鍵K1〜K16を算出する拡大鍵
生成装置、暗復号装置及び記憶媒体。
Description
号に適用される拡大鍵生成装置、暗復号装置、拡大鍵生
成方法、及び記憶媒体に関する。
信データを暗号化して送信し、受信データを復号して受
信内容を得る暗号技術が広く知られている。この種の暗
号技術では、暗号化と復号に同じ秘密鍵(以下、共通鍵
という)を用いる暗号化アルゴリズムは共通鍵暗号と呼
ばれている。共通鍵暗号では、一般に、入力メッセージ
が固定長の入力ブロックに分割され、各ブロックが鍵に
基づいて攪拌処理され、暗号文が生成されている。係る
共通鍵暗号としては、例えばDES(データ暗号化規
格:data encryption standard)と呼ばれる方式が広く
用いられている。
(a)に示すように、平文に初期転置IPを施したデー
タに対し、ラウンド関数による処理を16回施す。さら
にラウンド関数処理されたデータに初期転置の逆転置I
P-1を施すことで暗号文を得ている。また、各ラウンド
関数に対し、元の鍵から生成される拡大鍵を与えること
でラウンド関数における処理が実行される。
多数のラウンド関数によって暗号化対象となるデータを
攪拌する攪拌部と、攪拌部の各ラウンド関数に拡大鍵を
与える鍵生成部をその主要構成としている。なお、従来
技術における鍵生成部による鍵の生成方法としては、例
えば、表や配線を用いてビットの並び替えを行ったり、
データ暗号化部と全く同じ鍵を用いたり、あるいは鍵ビ
ットから無作為に抽出したり等して生成している。
(b)に示すように、暗号化時とは逆の順番で復号対象
のデータにラウンド関数の処理を施す。従って、鍵生成
部からの拡大鍵も、暗号化時の最後のラウンド関数で使
用されたものから順番に生成する。
号化回路と復号回路の大半を共通化可能な構成にある。
つまり、図18(a)、図18(b)に示すように、攪
拌部のラウンド関数は、暗号化時と復号時とでは拡大鍵
の入力順序は逆になるが、同一の回路が使用される。
を用いて暗号化と復号とを行うため、管理対象の鍵が少
ないことである。なお、DES方式では、唯一の共通鍵
に基づいて拡大鍵を逆順に生成するため、鍵生成部では
次の処理を行っている。
回シフト(左ローテート)し、各拡大鍵を生成する。な
お、巡回シフト量の合計値を共通鍵のビット数に定め、
最終段で中間的な鍵が初期状態(共通鍵)に戻される。
これにより、暗号化時の最後の拡大鍵と復号時の最初の
拡大鍵とを同一の値に生成し得る。復号時には、共通鍵
を逆に右巡回シフト(右ローテート)して逆順に各拡大
鍵を生成すればよい。
の処理が転置処理のみで構成されるため、一般に弱鍵
(weak key)と呼ばれる安全性の低い鍵が存在するとい
う問題がある。なお、弱鍵は、本明細書中、互いに同一
な拡大鍵を意味しており、全ての拡大鍵K1〜K16が
互いに同一な場合(K1=K2=…=K16)と、半分
の拡大鍵K1〜K8,K9〜K16が互いに同一な場合
(K1=K16,K2=K15,…,K8=K9)とを
含んでいる。
はなく、弱鍵を生成するパターンをもつ共通鍵の入力を
除去する装置、あるいは生成された拡大鍵が弱鍵でない
か否かを判別し且つ弱鍵のときには除去する装置を付加
することにより、充分に阻止可能であると考えられる。
関する装置を付加した場合、拡大鍵生成装置及び暗復号
装置の価格を上昇させてしまい、さらに、拡大鍵生成装
置及び暗復号装置の規模を増大させる可能性がある。
阻止することにより、本来の各ラウンド毎に異なる拡大
鍵を用いた場合の暗号強度を実現させ、さらに、その暗
号強度を向上し得る暗号方式が望まれている。
来の拡大鍵生成装置及び暗復号装置では、安全性の低下
を阻止する観点から、弱鍵の生成阻止に関する装置を付
加すると、拡大鍵生成装置及び暗復号装置の価格を上昇
させてしまい、さらに、拡大鍵生成装置及び暗復号装置
の規模を増大させる可能性がある。
の処理が暗号強度の向上にあまり貢献しておらず、暗号
強度の向上が望まれている。
で、装置価格や装置規模を抑え、弱鍵の生成を阻止しつ
つ拡大鍵の攪拌性を向上でき、もって、暗号強度の向上
を図り得る拡大鍵生成装置、暗復号装置、拡大鍵生成方
法、及び記憶媒体を提供することを目的とする。
は、各ラウンド毎に異なる鍵が入力され、それぞれ前記
鍵に基づいて拡大鍵を生成する複数の鍵変換関数部がカ
スケードに連結された拡大鍵生成装置であって、前記各
鍵変換関数部としては、前記入力された鍵から得られた
第1鍵に基づいて所定の置換テーブルにより変換処理を
行う第1鍵変換手段と、この第1鍵変換手段による変換
結果と前記入力された鍵から得られた第2鍵とに基づい
て前記拡大鍵を算出する拡大鍵算出手段とを備えた拡大
鍵生成装置である。
1に対応する拡大鍵生成装置において、前記各鍵変換関
数部としては、入力された鍵を左又は右に巡回シフトさ
せ、前記巡回シフトの完了した鍵を次ラウンドの鍵変換
関数部に入力する巡回シフト手段を備えた拡大鍵生成装
置である。
項2に対応する拡大鍵生成装置において、前記巡回シフ
ト手段のシフト量としては、前記第1鍵変換手段の出力
ビット数と互いに素な値である拡大鍵生成装置である。
1に対応する拡大鍵生成装置において、前記各鍵変換関
数部としては、入力された鍵を置換テーブルにより変換
し、この変換の完了した鍵を次ラウンドの鍵変換関数部
に入力する入力鍵変換手段を備えた拡大鍵生成装置であ
る。
項1乃至請求項4のいずれか1項に対応する拡大鍵生成
装置において、前記各鍵変換関数部としては、前記第1
鍵変換手段による変換結果を拡大変換させて前記拡大鍵
算出手段に入力する拡大変換手段を備えた拡大鍵生成装
置である。
5に対応する拡大鍵生成装置において、前記拡大変換手
段による拡大変換としては、所定ビット数のシフトであ
る拡大鍵生成装置である。
項6に対応する拡大鍵生成装置において、所定ビット数
のシフトは、第1鍵変換手段による変換結果のビット数
の半分のビット数、あるいは半分のビット数に変換結果
のビット数の整数倍を加えた値のビット数だけ、当該変
換結果を左シフトすることにより行う拡大鍵生成装置で
ある。
項1乃至請求項7のいずれか1項に対応する拡大鍵生成
装置において、前記拡大鍵演算手段による演算として
は、桁上りを伴う加算である拡大鍵生成装置である。
1乃至請求項8のいずれか1項に対応する拡大鍵生成装
置を備えた暗復号装置において、前記各鍵変換関数部に
より生成された各拡大鍵に基づいて、入力された平文を
暗号化して暗号文を出力し、且つ、入力された暗号文を
復号して平文を出力する攪拌部を備えた暗復号装置であ
る。
求項9に対応する暗復号装置において、前記攪拌部が、
前記暗号化及び前記復号のための複数の置換テーブルを
有し、前記攪拌部のいずれかの置換テーブルが、前記第
1鍵変換手段の置換テーブルと共有化されている暗復号
装置である。
ウンド毎に異なる鍵を入力し、入力された鍵から第1鍵
を生成し、生成された第1鍵を所定の置換テーブルによ
り変換し、変換結果と、入力された鍵から生成された第
2鍵とに基づいて拡大鍵を算出する拡大鍵生成方法であ
る。
ピュータに、各ラウンド毎に入力された異なる鍵から第
1鍵を生成させ、前記生成された第1鍵を所定の置換テ
ーブルにより変換させ、前記変換結果と前記入力された
鍵から得られる第2鍵とに基づいて拡大鍵を算出させる
ためのプログラムを記憶するコンピュータ読取り可能な
記憶媒体である。
ンピュータに、前記入力された鍵を左又は右に巡回シフ
トさせ、前記巡回シフトの完了した鍵を次ラウンドに入
力させるためのプログラムを記憶したコンピュータ読取
り可能記憶媒体である。
求項13に対応するコンピュータ読取り可能記憶媒体に
おいて、前記巡回シフトのシフト量は前記第1鍵変換の
出力ビット数と互いに素な値であるコンピュータ読取り
可能記憶媒体である。
求項14に対応するコンピュータ読取り可能記憶媒体に
おいて、コンピュータに、前記入力された鍵を置換テー
ブルにより変換させ、前記変換の完了した鍵を次ラウン
ドに入力させるためのプログラムを記憶したコンピュー
タ読取り可能記憶媒体である。
求項12に対応するコンピュータ読取り可能記憶媒体に
おいて、コンピュータに、前記第1鍵にもとづく変換結
果を拡大変換させるためのプログラムを記憶したコンピ
ュータ読取り可能記憶媒体である。
求項12に対応するコンピュータ読取り可能記憶媒体に
おいて、前記拡大変換させる機能は所定ビット数のシフ
トであるコンピュータ読取り可能記憶媒体である。
求項17に対応するコンピュータ読取り可能記憶媒体に
おいて、前記所定ビット数のシフトは、前記第1鍵変換
に基づく変換結果のビット数の半分のビット数、あるい
は前記半分のビット数に前記変換結果のビット数の整数
倍を加えた値のビット数だけ、当該変換結果を左シフト
することにより行うコンピュータ読取り可能記憶媒体で
ある。
求項12に対応するコンピュータ読取り可能記憶媒体に
おいて、前記拡大鍵を算出する機能は、桁上がりを伴う
加算であるコンピュータ読取り可能記憶媒体である。
ンピュータに、各ラウンド毎に入力された異なる鍵から
第1鍵を生成させ、前記生成された第1鍵を所定の置換
テーブルにより変換させ、前記変換結果と前記入力され
た鍵から得られる第2鍵とに基づいて拡大鍵を算出さ
せ、前記生成された拡大鍵に基づいて入力された平文を
暗号化して出力し、かつ入力された暗号文を復号して平
文を出力する攪拌処理を実行させるためのプログラムを
記憶したコンピュータ読取り可能記憶媒体である。
求項20に対応するコンピュータ読取り可能記憶媒体に
おいて、前記攪拌処理は、前記暗号化および復号のため
の複数の置換テーブルを有し、前記攪拌処理のいずれか
の置換テーブルは、前記第1鍵に基づく変換に使用され
る置換テーブルと共有化されているコンピュータ読取り
可能記憶媒体である。
ラウンド毎に異なる鍵が入力されそれぞれ前記鍵に基づ
いて拡大鍵を生成する、カスケートに接続された複数の
鍵変換関数部を有し、前記各鍵変換関数部は複数の並列
に配列された拡大変換要素を有し、前記各拡大変換要素
は、定数を保持する定数レジスタと、前記定数レジスタ
に保持された定数と入力された鍵から得られる第1鍵と
の排他的論理和を算出する排他的論理和算出手段と、前
記排他的論理和算出手段から出力された値に基づいて所
定の置換テーブルにより変換処理を行うSボックスと、
前記Sボックスから出力された変換結果を拡大変換する
拡大変換部とを有し、前記複数の拡大変換要素から出力
された変換結果と、前記入力された鍵から得られる第2
鍵とに基づいて拡大鍵を算出する拡大鍵算出手段を有し
た拡大鍵生成装置である。
ラウンド毎に異なる鍵が入力され、それぞれ前記鍵に基
づいて拡大鍵を生成する複数の鍵変換関数部がカスケー
ドに連結された拡大鍵生成装置に使用されるコンピュー
タ読取り可能記憶媒体であって、前記拡大鍵生成装置内
のコンピュータに、前記各鍵変換関数部として、各々
が、定数を保持する定数レジスタと、前記定数レジスタ
に保持された定数と入力された鍵から得られる第1鍵と
の排他的論理和を算出する排他的論理和算出手段と、前
記排他的論理和算出手段から出力された値に基づいて所
定の置換テーブルにより変換処理を行うSボックスと、
前記Sボックスから出力された変換結果を拡大変化する
拡大変換部とからなる複数の並列に配列された拡大変換
要素と、前記複数の拡大変換要素から出力された変換結
果と、前記入力された鍵から得られた第2鍵とに基づい
て拡大鍵を算出する拡大鍵算出手段とを実現させるため
のプログラムを記憶したコンピュータ読取り可能記憶媒
体である。
ラウンド毎に異なる鍵が入力され、それぞれ前記鍵に基
づいて拡大鍵を生成する、カスケードに連結された複数
の鍵変換関数部を有し、前記各鍵変換関数部は、入力さ
れた鍵を非線形的に置換し、その置換結果を出力する置
換処理部と、前記置換処理部から出力された第1鍵に基
づいて所定の置換テーブルにより変換処理を行う第1鍵
変換手段と、前記第1鍵変換手段による変換結果と前記
置換処理部から出力される第1鍵とに基づいて前記拡大
鍵を算出する拡大鍵算出手段と有した拡大鍵生成装置で
ある。
ラウンド毎に異なる鍵を入力し、入力された鍵を非線形
的に置換し、前記置換により得られる第1鍵を所定の置
換テーブルにより変換し、前記変換結果と前記置換によ
り得られる第2鍵とにもとづいて前記拡大鍵を算出する
拡大鍵生成方法である。
ンピュータに、ラウンド毎に入力された異なる鍵から第
1鍵を生成させ、前記入力された鍵を非線形的に置換さ
せ、置換結果を出力させ、前記置換により得られた第1
鍵を所定の置換テーブルにより変換させ、前記変換結果
と前記置換により得られる第2鍵とに基づいて拡大鍵を
算出させるためのプログラムを記憶したコンピュータ読
取り可能記憶媒体である。
対応する発明は以上のような手段を講じたことにより、
各鍵変換関数部としては、第1鍵変換手段が、入力され
た鍵から得られた第1鍵に基づいて所定の置換テーブル
により変換処理を行い、拡大鍵算出手段が、この第1鍵
変換手段による変換結果と入力された鍵から得られた第
2鍵とに基づいて拡大鍵を算出する。
構成を用いており、拡大鍵を生成する際に、置換テーブ
ルによる非線形変換処理を行うため、装置価格や装置規
模を抑え、弱鍵の生成を阻止しつつ拡大鍵の攪拌性を向
上でき、もって、暗号強度を向上させることができる。
各鍵変換関数部としては、巡回シフト手段が、入力され
た鍵を左又は右に巡回シフトさせ、巡回シフトの完了し
た鍵を次ラウンドの鍵変換関数部に入力するので、請求
項1、11、12に対応する作用に加え、容易且つ確実
に、各ラウンドに入力される鍵を互いに相違させること
ができる。
は、巡回シフト手段のシフト量としては、第1鍵変換手
段の出力ビット数と互いに素な値であるので、各ラウン
ドにおけるほぼ全ての第1鍵を互いに相違させることが
でき、請求項2、13に対応する作用をより一層、容易
且つ確実に奏することができる。
各鍵変換関数部としては、入力鍵変換手段が、入力され
た鍵を置換テーブルにより変換し、この変換の完了した
鍵を次ラウンドの鍵変換関数部に入力するので、請求項
1、11、12に対応する作用に加え、容易且つ確実
に、各ラウンドに入力される鍵を互いに相違させること
ができる。
は、各鍵変換関数部としては、拡大変換手段が、第1鍵
変換手段による変換結果を拡大変換させて拡大鍵算出手
段に入力するので、請求項1〜4、12のいずれかに対
応する作用に加え、第1鍵の攪拌作用を拡大鍵の任意の
領域に反映させることができる。
所定ビット数のシフトを、第1鍵変換による変換結果の
ビット数の半分のビット数、あるいは半分のビット数に
変換結果のビット数の整数倍を加えた値のビット数だ
け、変換結果を左シフトすることにより行うので、請求
項6、17に対応する作用を容易且つ確実に奏すること
ができる。
は、拡大鍵演算手段による演算としては、桁上りを伴う
加算であるので、請求項1〜7、12のいずれかに対応
する作用を、容易且つ確実に奏することができる。
攪拌部が、各鍵変換関数部により生成された各拡大鍵に
基づいて、入力された平文を暗号化して暗号文を出力
し、且つ、入力された暗号文を復号して平文を出力する
ので、請求項1〜8のいずれかに対応する拡大鍵生成装
置を備えた暗復号装置を実現することができる。
は、攪拌部が、暗号化及び復号のための複数の置換テー
ブルを有し、攪拌部のいずれかの置換テーブルが、第1
鍵変換手段の置換テーブルと共有化されているので、請
求項9、20に対応する作用に加え、装置規模の縮小化
を図ることができる。
て図面を参照して説明する。
実施形態に係る暗復号装置の構成を示すブロック図であ
り、図2はこの暗復号装置内の拡大鍵生成部の構成を示
すブロック図である。
タやワークステーション等の計算機の暗復号処理部とし
て構成されており、ハードウェア又はソフトウェアによ
って暗号化処理と復号処理を行うものであって、具体的
には、共通鍵からn段の拡大鍵K1〜Knを生成する拡
大鍵生成部10と、拡大鍵生成部10により生成された
拡大鍵K1〜Knを順次各ラウンドR1〜Rnに用いて
暗号化又は復号を行う攪拌部20とを備えている。すな
わち、拡大鍵生成部10及び攪拌部20は、暗号化と復
号に共通して用いられており、ソフトウェアにより暗復
号装置を実現する場合には両者の動作を示すプログラム
が予め記憶媒体からインストールされている。なお、拡
大鍵生成部10及び攪拌部20との間には転置処理等を
設けてもよい。
R1〜Rnに対応し、順にカスケード接続された鍵変換
関数fk1〜fkn(単に鍵変換関数fkともいう)が
設けられている。鍵変換関数fk1〜fknは、共通鍵
KC若しくは中間的な鍵変換結果kc1〜kcn-1が入
力されると、これを変換して得られた拡大鍵K1〜Kn
を攪拌部20のラウンド関数fr1〜frnに出力し、
また別途得られた中間的な鍵変換関数kc1〜kcn-1
を次段の鍵変換関数fk2〜fknに入力する機能をも
っている。
2に示すように、一時鍵レジスタ111〜11n、定数
レジスタ121〜12n、XOR素子131〜13n、
Sボックス141〜14n、拡大変換部151〜1
5n、加算部161〜16n及び巡回シフト部171〜
17n-1を備えている。なお、最終段の巡回シフト部1
7 nは、次段に鍵変換関数fk(n+1)が無く、不要であ
るため、省略されている。
n、以下も同様)は、拡大鍵生成部10に入力された共
通鍵又は前段の鍵変換関数fk(i-1)から入力された中
間的な鍵変換結果を保持するものであり、ここでは、5
6ビットのレジスタが使用されている。
iの属するラウンド数に対応して定数が設定され、XO
R素子13iに供給可能となっている。具体的には、定
数レジスタ12iは、ラウンド数n=16の例を図3
(a)に示すように、拡大鍵K1〜K16を逆順(K1
6〜K1)にも生成可能な観点から、保持する定数がラ
ウンド数の中央値(n=8,9)を中心として左右対称
(前段,後段で対称)に設定されている。但し、これに
限らず、定数レジスタ12iは、拡大鍵K1〜K16を
逆順(K16〜K1)にも生成可能であれば、保持する
定数は任意であり、例えば図3(b)に示すように、暗
号化と復号の時とで定数を置換しても良い。なお、定数
レジスタ12iは、図3(a)に示すように保持する定
数のうち、少なくともどれか一つの値を他とは異ならせ
て設定されていれば良い。
i内の8ビットのデータからなる第1鍵KAと、定数レ
ジスタ内の定数との排他的論理和を算出し、得られた8
ビットの算出結果をSボックスに入力するものである。
は、弱鍵(全ての段で同じ拡大鍵)の生成を阻止するた
めのものであり、具体的には、XOR素子13iから入
力された8ビットの値を非線形変換し、得られた8ビッ
トの変換結果を拡大変換部15iに入力する機能を有す
る。Sボックス14iは、例えば図4に示すように入力
ビットと出力ビットとを置換するための置換テーブルを
使用して非線形の変換を行う。例えば、Sボックス14
iでは、入力ビットが(00000001)である場
合、その(00000001)という情報を2進表現で
あるとみなし、さらにその2進表現を10進表現した値
「1」に変換する。
初に出現する「48」を0番目とすると、「1番目」の
要素「54」(10進表現)を決定し、その2進表現で
ある(00110110)を出力ビットとして出力す
る。そのため、入力ビット(00000001)を出力
ビット(00110110)に置換することができる。
0番〜255番目までの256個の入力に対応した要素
を保持しており、0〜255の値が入力された場合に対
応する0〜255の値を決定する場合に用いられるもの
である。
小化の観点から、後述するラウンド関数fk内のいずれ
かのSボックスと共有することが好ましい。
ら入力された8ビットの変換結果を大きな値に変換する
ものであり、ここでは、8ビットの変換結果を4ビット
だけ左シフトさせるように拡大変換し、下位4ビットに
「0」を埋め込むことにより得られた12ビットの拡大
変換結果を加算部16iに入力する機能をもっている。
ボックス14iの出力ビットを後述する攪拌部20の2
つのSボックスS3,S4に反映させる観点から、等価
的にSボックス14iの出力ビット数(=8)の半分
(=4ビット)とすることが好ましい。ここで、「等価
的に」の語は、4ビットシフトに代えて、例えば12
(=4+8×1)ビットシフト又は20(=4+8×
2)ビットシフトのように、出力ビット数の整数倍を加
えた変形例(換言すると、出力ビット数(=8)で除算
すると、余りが除数の半分(=4)のビット数となるシ
フト量をもつ変形例)を包含することを意味している。
また、Sボックス14iの出力ビットは、12ビットシ
フトされた場合には、SボックスS3,S4ではなく、
SボックスS2,S3に反映され、20ビットシフトさ
れた場合にはSボックスS1,S2に反映される。さら
に、Sボックス14iの出力ビットを2つのSボックス
S3,S4(S2,S3又はS1,S2を含む)に反映
させる場合、4ビットずつの組合せに限らず、順不同で
1ビットと7ビット、2ビットと6ビットあるいは3ビ
ットと5ビットの組合せとしてもよい。すなわち、等価
的な4ビットシフトに代えて、等価的な1〜3,5〜7
の任意のビットシフトとしてもよい。
力された12ビットの拡大変換結果と、一時鍵レジスタ
11i内の32ビットのデータからなる第2鍵KBとを
加算し(桁上りを伴う通常の加算)、得られた加算結果
(32ビット(桁上がりは無視する))をラウンドRi
の拡大鍵Kiとして攪拌部20のラウンド関数friに
入力する機能をもっている。
る第1鍵KA及び第2鍵KBは、図2においては、それ
ぞれ連続する領域から個別に取出されたが、これに限ら
ず、不連続な領域から取り出してもよい。すなわち、第
1鍵KAは、一時鍵レジスタ11i内の任意の合計8ビ
ットのデータであればよく、第2鍵KBは、一時鍵レジ
スタ11i内の任意の合計32ビットのデータであれば
よい。また、第1鍵KAは、第2鍵KBと重なっていて
もよい。なお、第1鍵KAのビット長は、攪拌部20の
Sボックスの入力ビット長と等しくすることがSボック
スの共有化の観点から好ましい。第2鍵KBのビット長
は、拡大鍵Kiのビット長と等しくすることが、設計の
簡易化の観点から好ましい(但し、所望により、第2鍵
KBと拡大鍵Kiのビット長を互いに異ならせてもよ
く、この場合、例えば縮約型転置(permutation)や拡大
転置等を用い、最終的に拡大鍵Kiのビット長を調整可
能である)。
1iの値を所定のシフト量だけ巡回シフトさせて次段の
一時鍵レジスタ11i+1に入力するものであり、ここで
は図5に示すように、各鍵変換関数fk1〜fkn毎
に、シフト量が設定されている。なお、巡回シフト部1
7iのシフト量は、鍵の攪拌性を高める観点から、少な
くとも共通鍵KCのビット数又はSボックス14iの出
力ビット数のいずれかと互いに素であることが好まし
く、三者が互いに素であることが最も好ましい。また、
このシフト量は、拡大鍵K1〜K16を逆順(K16〜
K1)にも生成可能とする観点から、最終段を除いた鍵
変換関数fk1〜fk(n+1)の中央値(n=8)を中心
として左右対称(前段,後段で対称)に設定されてい
る。但し、これに限らず、巡回シフト部17iは、拡大
鍵K1〜K16を逆順(K16〜K1)にも生成可能で
あれば、シフト量及び巡回方向を任意に設定可能であ
る。
らラウンドRnまでのnラウンドの処理において、拡大
鍵生成部10から順に拡大鍵K1〜K16が与えられる
とき、入力された平文を暗号化して暗号文を出力する暗
号化機能を有し、また、拡大鍵生成部10から暗号化と
は逆順に拡大鍵K16〜K1が与えられるとき、入力さ
れた暗号文を復号して平文を出力する復号機能を有して
いる。攪拌部20には、各ラウンドR1〜Rnに対応し
て、順にカスケード接続されたラウンド関数fr1〜f
rnが設けられている。
文又は中間的な暗号化結果を、拡大鍵生成部10から入
力された拡大鍵Kiに基づいて変換し、中間的な暗号化
結果又は暗号文を出力する関数であり、復号のとき、暗
号文又は中間的な復号結果を、拡大鍵生成部10から逆
順に入力された拡大鍵K(n+1-i)に基づいて変換し、中
間的な復号結果又は平文を出力する関数であって、ここ
では一例として図6に示す如きFeistel構造が使用され
ている。
のサブブロックLi,Riからなるデータブロックのう
ち、一方のサブブロックRiを拡大鍵Kiに基づいてF
関数で非線形変換し、この変換結果と他方のサブブロッ
クLiとの排他的論理和をXOR素子21で算出し、こ
の算出結果Ri+1と一方のサブブロックLi+1(=Ri)
との位置を交替して次段に与える、という構成を備えて
いる。
鍵KとサブブロックRi(又はLi)との排他的論理和
を算出するXOR素子22と、XOR素子22の出力を
4分割して夫々非線形変換する4つのSボックスS1乃
至S4とから構成される。なお、各SボックスS1乃至
S4は、例えば図3に示すような置換テーブルを有する
が、各Sボックスが共通の置換テーブルを持つように構
成してもよいし、それぞれ異なる置換テーブルを持つよ
うに構成してもよい。
同じ変換を2回繰り返すと、元のデータが復元されるイ
ンボルーション(involution)という性質をもってい
る。このため、攪拌部20では、平文を拡大鍵K1〜K
16の順に変換して暗号文を生成したとき、この暗号文
を拡大鍵K16〜K1の順に再度変換すると、平文が生
成可能となっている。
の動作を図7に示すフローチャートも参照して説明す
る。暗号化の際には、図1に示すように、入力された共
通鍵KC又は中間的な鍵変換結果kciは、鍵変換関数
fkiにより1ラウンド毎に拡大鍵Kiに変換される。
kiにおいては、一時鍵レジスタ11iから取り出した
8ビットの第1鍵KAと定数レジスタ12i内の定数と
の排他的論理和をXOR素子13iが算出し(図7のス
テップS1)、この算出結果をSボックス14iが非線
形変換する(図7のステップS3)。非線形変換として
は、例えば図4に示した関係で入力と出力とを各ビット
毎に置換する。この置換結果は、拡大変換部15iによ
り4ビット左シフト(=16倍)されて加算部16iに
入力される(図7のステップS5)。
(12ビット)と一時鍵レジスタ11 iから取り出した
32ビットの第2鍵KBとを加算し、加算結果を32ビ
ットの拡大鍵Kiとして攪拌部20に出力する(図7の
ステップS7)。
4iで変換された8ビットの第1鍵KAが、右(最下位
桁)から5ビット目〜12ビット目に位置する。このビ
ット位置は、第3及び第4のSボックスS3,S4への
入力に対応する。従って、拡大鍵生成部10のSボック
ス14iによる攪拌作用を攪拌部20の2つのSボック
スS3,S4に反映でき、拡大鍵の攪拌性が向上されて
いる。
ド関数fr1〜frn毎に各拡大鍵K1〜Knに基づい
て変換され、中間的な暗号化結果を経て最終的に暗号文
に変換される。
おいては、前述同様に共通鍵KCが入力されると、暗号
化時とは逆順に鍵変換処理が行われ、拡大鍵Kn〜K1
が順次、攪拌部20に出力される。
号化時とは逆順の拡大鍵Kn〜K1に基づいて変換さ
れ、中間的な復号結果を経て最終的に平文に変換され
る。
変換関数fk1〜fknとしては、入力された鍵から得
られた第1鍵KAに基づいてSボックス14i(置換テ
ーブル)により非線形変換処理を行い、加算部16
iが、このSボックス14iによる変換結果を左シフト
させた値と、入力された鍵から得られた第2鍵KBとに
基づいて拡大鍵K1〜K16を算出する。
構成を用いており、拡大鍵Kiを生成する際に、置換テ
ーブル(Sボックス14i)による非線形変換処理を行
うため、装置価格や装置規模を抑え、弱鍵の生成を阻止
しつつ拡大鍵の攪拌性を向上でき、もって、暗号強度を
向上させることができる。
ト部17iが、入力された鍵を左(又は右)に巡回シフ
トさせ、巡回シフトの完了した鍵を次ラウンドの鍵変換
関数fk(i+1)に入力するので、容易且つ確実に、各ラ
ウンドに入力される鍵を互いに相違させることができ
る。
しては、例えば、Sボックス14iの出力ビット数と互
いに素な値とした場合、各ラウンドR1〜Rnにおける
ほぼ全ての第1鍵KAを互いに相違させることができ、
前述した効果をより一層、容易且つ確実に得ることがで
きる。
大変換部15iが、Sボックス14 iによる変換結果を
拡大変換させて加算部16iに入力するので、前述した
効果に加え、第1鍵KAの攪拌作用を拡大鍵Kiの任意
の領域に反映させることができる。
しては、所定ビット数のシフトであるので、前述した効
果を容易且つ確実に得ることができる。
ための複数のSボックスS1〜S4を有し、攪拌部20
のいずれかのSボックスが、鍵変換関数fk1〜fkn
のSボックス14iと共有化されているので、装置規模
の縮小化を図ることができる。
は、拡大変換部15iが、Sボックス14iによる変換
結果を受けたとき、この変換結果のビット数の半分のビ
ット数、あるいは半分のビット数に変換結果のビット数
の整数倍を加えた値のビット数だけ、当該変換結果を左
シフトさせて加算部16iに入力するので、第1鍵KA
の攪拌作用を拡大鍵Kiにて左シフトさせた領域に反映
させることができ、この場合、攪拌部20の複数のSボ
ックスS3,S4に入力される領域に反映させることが
できるので、より一層、暗号強度の向上を図ることがで
きる。
実施形態に係る拡大鍵生成装置に適用される鍵変換関数
の構成を示すブロック図であり、図2と同一部分には同
一符号を付してその詳しい説明を省略し、ここでは異な
る部分についてのみ述べる。なお、以下の各実施形態も
同様にして重複した説明を省略する。
の変形例であり、拡大鍵の攪拌性のより一層の向上を図
るものであり、具体的には図2に示すように、各鍵変換
関数において、前述した定数レジスタ12i、XOR素
子13i、Sボックス14i及び拡大変換部15iから
なる変換要素が互いに並列に、一時鍵レジスタ11iと
加算部16iとの間に接続されている。
類で設けてもよく、又は複数の種類で設けてもよいが、
複数の種類を用いる場合、共通鍵KCに基づいて拡大鍵
Kiを正順及び逆順の両方で生成可能とする観点から、
前半の鍵変換関数fk1〜fk8と後半の鍵変換関数f
k9〜fk16とでは中央(fk8,9)から上下対称
となるように種類が設けられることが好ましい。
同一のシフト量とすることも可能であるが、2つのSボ
ックス14iによる攪拌効果をより広範囲に反映させる
観点から、互いに異なるシフト量でSボックス14iの
出力を左シフトさせることが好ましい。この場合、例え
ば一方の拡大変換部15iを4ビットの左シフトとし、
他方の拡大変換部15iを20ビットの左シフトとする
と、第1鍵KAの攪拌効果を攪拌部20のSボックスS
1〜S4の全てに反映できるので好ましい。
よる攪拌性をさらに向上できるので、第1の実施形態の
効果に加え、拡大鍵Kiの攪拌性をより一層向上させる
ことができる。
の実施形態に係る拡大鍵生成装置の構成を示すブロック
図である。本実施形態は、第1又は第2の実施形態の変
形形態であり、一時鍵レジスタ11i及び巡回シフト部
17iに代えて、入力される共通鍵KC又は中間的な鍵
kc1〜kcn-1の各ビットを互いに非線形的に置換
し、得られた中間的な鍵の一部を自己の段のXOR素子
13i並びに加算部16iに入力すると共に、その中間
的な鍵の全体を次段の置換処理部18(i+1)に入力する
置換処理部18iを備えている。
いて拡大鍵Kiを正順及び逆順の両方で生成可能とする
観点から、共通鍵KCを正順にn回置換した結果が元の
共通鍵KCに等しくなるように夫々設定され、且つラウ
ンド数n=16の場合の例を図11に示すように、暗号
化の際には昇順に変換を行い、復号の際には降順に逆変
換を行うように設定されている。各置換処理部18iの
具体的な処理としては、例えば共通鍵KCを任意のビッ
ト数左にローテートシフトすることにより行われる。
のステップS21において、置換処理部18iにより、
共通鍵KCを非線形に変換する処理が行われる。次に、
ステップS23において、置換処理部18iから得られ
る第1鍵KAと、定数レジスタ12iに保持される定数
との排他的論理和がXOR素子13iにより演算され
る。そしてステップS25において、XOR素子13I
からの排他的論理和がSボックス14iにより置換テー
ブルを用いて非線形に変換される。そして、ステップS
27において、非線形変換された値が拡大変換部15i
において、4ビット左シフトされ、12ビットの拡大変
換された結果が得られる。そして、ステップS29にお
いて、12ビット拡大変換された結果と、置換処理部1
8iから得られる第2鍵KBとが加算され、拡大鍵が生
成される。以上のような構成としても、第1又は第2の
実施形態と同様の効果を得ることができ、これに加え、
容易且つ確実に、各鍵変換関数fk1〜fknに入力さ
れる鍵KC,kc1〜KCn-1を互いに相違させること
ができる。
4iの入力側に、定数を排他的論理和するXOR素子1
3iを設けた場合について説明したが、これに限らず、
XOR素子13iを省略し、Sボックス14iに代え
て、定数の排他的論理和を算出した後のSボックス14
xiを設けた構成としても、本発明を同様に実施して同
様の効果を得ることができる。すなわち、例えばKAの
値と定数のとの排他的論理和をあらかじめ計算しておい
て、表の形で保持し、Sボックス14xiがKAの値を
入力パラメータとして表を引き、排他的論理和の算出結
果を得るように構成してもよい。
装置、暗復号装置及び記憶媒体を具現化した、スマート
カードの構成を示す機能ブロック図である。同図に示す
ようにはスマートカード51は、CPU53、RAM5
5、ROM57、EEPROM59、及びコンタクタ6
1を有する。RAM55は、各種データの記憶や、ワー
クエリアなどに使用される。ROM57は、各種データ
の記憶やプログラムの記憶等に使用される。EEPRO
M59は、上述した図X、Yに示すフローチャートで示
されるプログラム等を記憶する。コンタクタ61は、図
示しないスマートカードリーダ/ライタとの電気的接触
を得る。なお、図7および12に示すプログラムは、E
EPROM59の代わりに、RAM55あるいはROM
57に記憶するようにししてもよい。(第4の実施形
態)次に、本発明の第4の実施形態に係る暗復号装置に
ついて図14を用いて説明する。この暗復号装置30
は、第1乃至第3の実施形態のいずれかで述べた構成を
有し、例えば画像データや音楽データ等のディジタル情
報(以下、生データという)を保護するためのものであ
る。
すように、記憶媒体からプログラムがインストールされ
ることにより、パーソナルコンピュータ(以下、パソコ
ンという)PCに実現されているとする。ここで、暗復
号装置30は、例えばユーザIDを共通鍵とし、パソコ
ンPCに入力された生データを暗号化し、得られた暗号
化データ(前述した暗号文に相当)を携帯可能な記憶素
子31に記憶させる。この種の記憶素子31としては、
スマートカード、スマートメディア又はメモリカードな
どがある。
ユーザ宅内の図示しない暗復号装置は、自己のユーザI
Dに基づいて記憶素子31内の暗号化データを復号し、
得られた画像データや音楽データをスピーカ等から再生
出力させる。これにより、例えば予め契約したユーザの
みに生データ(コンテンツ)を配布することができる。
形可能となっている。例えば、図15に示すように、パ
ソコンPCに代えて、例えばハードウェア回路からなる
暗復号装置30を備えた記録装置32を設けた構成であ
る。この構成によれば、コンテンツを記憶素子31に書
込む際に、暗復号装置30がユーザID等により生デー
タを暗号化して記憶素子31に記憶させる。宅配から復
号に至る過程は、前述した通りである。このように、パ
ソコンPC等の汎用のコンピュータでなくとも、専用の
記録装置32に暗復号装置30を設けた構成としてもよ
い。
0を設けたホストコンピュータ33が、ネットワークN
Wを介してパソコンPCに接続された構成としてもよ
い。この場合、ホストコンピュータ33からダウンロー
ドされた暗号化データがパソコンPCを介して暗号化さ
れた状態で記憶素子32に記憶される。宅配から復号に
至る過程は、前述した通りである。この変形例によれ
ば、前述した効果に加え、ネットワークNW上でのコン
テンツ(生データ)の盗聴などを防止することができ
る。
例えばDVD(digital versatiledisc)としてもよ
い。図17(a)に示す場合、予め暗号化データが格納
されたDVD34がユーザに頒布される。ユーザ宅の暗
復号装置30は、DVD34内の暗号化データを復号
し、得られた画像データや音楽データをスピーカ等から
再生出力させる。
楽等の生データがユーザ宅の暗復号装置30によって所
定の共通鍵を用いて暗号化され、得られた暗号化データ
がDVD−RAM35に格納される。この暗号化データ
は、ユーザにより設定された所定の共通鍵により復号さ
れるが、共通鍵が知られない限り、他人には復号されな
い。従って、趣味的な画像データや音楽データなどを他
人から保護しつつ保存することができる。
鍵生成装置及び暗復号装置の処理を実現させるためのプ
ログラムが記憶された記憶媒体としては、磁気ディス
ク、フロッピー(登録商標)ディスク、ハードディス
ク、光ディスク(CD−ROM、CD−R、DVD
等)、光磁気ディスク(MO等)、半導体メモリ等が適
用可能である。実際には、プログラムを記憶でき、かつ
コンピュータが読み取り可能な記憶媒体であれば、その
記憶形式は何れの形態であっても良い。
トールされたプログラムの指示に基づきコンピュータ上
で稼働しているOS(オペレーティングシステム)や、
データベース管理ソフト、ネットワークソフト等のMW
(ミドルウェア)等が本実施形態を実現するための各処
理の一部を実行しても良い。
ピュータと独立した媒体に限らず、LANやインターネ
ット等により伝送されたプログラムをダウンロードして
記憶または一時記憶した記憶媒体も含まれる。
体から本実施形態における処理が実行される場合も本発
明における記憶媒体に含まれ、媒体構成は何れの構成で
あっても良い。
媒体に記憶されたプログラムに基づき、本実施形態にお
ける各処理を実行するものであって、パソコン等の1つ
からなる装置、複数の装置がネットワーク接続されたシ
ステム等の何れの構成であっても良い。
パソコンに限らず、情報処理機器に含まれる演算処理装
置、マイコン等も含み、プログラムによって本発明の機
能を実現することが可能な機器、装置を総称している。
ラウンド関数を用いるブロック暗号系であれば適用可能
であり、例えば、Lucifer、LOKI、MISTY 1、MISTY 2及
びSAFER(Secure And Fast Encryption Routine)といっ
た暗号系に適用してもよい。
置換表を用いて非線形変換を行う要に構成したが、配線
により非線形変換を行うように構成してもよい。
スタ12i、XOR素子13i、Sボックス14iおよび拡大変換部1
5iからなる変換要素が2セット並列に設けられるように
構成したが、2セット以上の変換要素を並列に設けるよ
うに構成してもよい。
囲で種々変形して実施できる。
置価格や装置規模を抑え、弱鍵の生成を阻止しつつ拡大
鍵の攪拌性を向上でき、もって、暗号強度を向上できる
拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記
憶媒体を提供できる。
成を示すブロック図である。
部の構成を示すブロック図である。
明するための模式図である。
るための模式図である。
するための模式図である。
ブロック図である。
る。
図である。
に適用される鍵変換関数の構成を示すブロック図であ
る。
置の構成を示すブロック図である。
するための模式図である。
ートである。
び記憶媒体を具現化したスマートカードの構成を示す機
能ブロック図である。
説明するための模式図である。
模式図である。
模式図である。
模式図である。
を説明するためのブロック図である。
Claims (26)
- 【請求項1】 各ラウンド毎に異なる鍵が入力され、そ
れぞれ前記鍵に基づいて拡大鍵を生成する、カスケード
に連結された複数の鍵変換関数部を有し、 前記各鍵変換関数部は、 前記入力された鍵から得られた第1鍵に基づいて所定の
置換テーブルにより変換処理を行う第1鍵変換手段と、 この第1鍵変換手段による変換結果と前記入力された鍵
から得られた第2鍵とに基づいて前記拡大鍵を算出する
拡大鍵算出手段とを備えたことを特徴とする拡大鍵生成
装置。 - 【請求項2】 前記各鍵変換関数部は、 入力された鍵を左又は右に巡回シフトさせ、前記巡回シ
フトの完了した鍵を次ラウンドの鍵変換関数部に入力す
る巡回シフト手段を備えたことを特徴とする請求項1記
載の拡大鍵生成装置。 - 【請求項3】 前記巡回シフト手段のシフト量は、前記
第1鍵変換手段の出力ビット数と互いに素な値であるこ
とを特徴とする請求項2記載の拡大鍵生成装置。 - 【請求項4】 前記各鍵変換関数部は、 入力された鍵を置換テーブルにより変換し、この変換の
完了した鍵を次ラウンドの鍵変換関数部に入力する入力
鍵変換手段を備えたことを特徴とする請求項1記載の拡
大鍵生成装置。 - 【請求項5】 前記各鍵変換関数部は、 前記第1鍵変換手段による変換結果を拡大変換させて前
記拡大鍵算出手段に入力する拡大変換手段を備えたこと
を特徴とする請求項1乃至請求項4のいずれか1項記載
の拡大鍵生成装置。 - 【請求項6】 前記拡大変換手段による拡大変換は、所
定ビット数のシフトであることを特徴とする請求項5記
載の拡大鍵生成装置。 - 【請求項7】前記所定ビット数のシフトは、前記第1鍵
変換手段による変換結果のビット数の半分のビット数、
あるいは前記半分のビット数に前記変換結果のビット数
の整数倍を加えた値のビット数だけ、当該変換結果を左
シフトすることにより行うことを特徴とする請求項6記
載の拡大鍵生成装置。 - 【請求項8】 前記拡大鍵演算手段による演算は、桁上
りを伴う加算であることを特徴とする請求項1乃至請求
項7のいずれか1項に記載の拡大鍵生成装置。 - 【請求項9】 前記各鍵変換関数部により生成された各
拡大鍵に基づいて、入力された平文を暗号化して暗号文
を出力し、且つ、入力された暗号文を復号して平文を出
力する攪拌部を備えたことを特徴とする請求項1乃至請
求項8のいずれか1項に記載の拡大鍵生成装置を備えた
暗復号装置。 - 【請求項10】 前記攪拌部は、前記暗号化及び前記復
号のための複数の置換テーブルを有し、 前記攪拌部のいずれかの置換テーブルは、前記第1鍵変
換手段の置換テーブルと共有化されていることを特徴と
する請求項9に記載の暗復号装置。 - 【請求項11】 各ラウンド毎に異なる鍵を入力し、 前記入力された鍵から第1鍵を生成し、 前記生成された第1鍵を所定の置換テーブルにより変換
し、 前記変換結果と、前記入力された鍵から生成された第2
鍵とに基づいて拡大鍵を算出する、ことを特徴とする拡
大鍵生成方法。 - 【請求項12】 コンピュータに、 各ラウンド毎に入力された異なる鍵から第1鍵を生成さ
せ、 前記生成された第1鍵を所定の置換テーブルにより変換
させ、 前記変換結果と前記入力された鍵から得られる第2鍵と
に基づいて拡大鍵を算出させるためのプログラムを記憶
するコンピュータ読取り可能な記憶媒体。 - 【請求項13】 コンピュータに、 前記入力された鍵を左又は右に巡回シフトさせ、前記巡
回シフトの完了した鍵を次ラウンドに入力させるための
プログラムを記憶した請求項12記載のコンピュータ読
取り可能記憶媒体。 - 【請求項14】 前記巡回シフトのシフト量は前記第1
鍵変換の出力ビット数と互いに素な値であることを特徴
とする請求項13記載のコンピュータ読取り可能記憶媒
体。 - 【請求項15】 コンピュータに、 前記入力された鍵を置換テーブルにより変換させ、 前記変換の完了した鍵を次ラウンドに入力させるための
プログラムを記憶した請求項14記載のコンピュータ読
取り可能記憶媒体。 - 【請求項16】 コンピュータに、 前記第1鍵にもとづく変換結果を拡大変換させるための
プログラムを記憶した請求項12記載のコンピュータ読
取り可能記憶媒体。 - 【請求項17】 前記拡大変換させる機能は所定ビット
数のシフトであることを特徴とする請求項12記載のコ
ンピュータ読取り可能記憶媒体。 - 【請求項18】 前記所定ビット数のシフトは、前記第
1鍵変換に基づく変換結果のビット数の半分のビット
数、あるいは前記半分のビット数に前記変換結果のビッ
ト数の整数倍を加えた値のビット数だけ、当該変換結果
を左シフトすることにより行うことを特徴とする請求項
17記載のコンピュータ読取り可能記憶媒体。 - 【請求項19】 前記拡大鍵を算出する機能は、桁上が
りを伴う加算であることを特徴とする請求項12記載の
コンピュータ読取り可能記憶媒体。 - 【請求項20】 コンピュータに、 各ラウンド毎に入力された異なる鍵から第1鍵を生成さ
せ、 前記生成された第1鍵を所定の置換テーブルにより変換
させ、 前記変換結果と前記入力された鍵から得られる第2鍵と
に基づいて拡大鍵を算出させ、 前記生成された拡大鍵に基づいて入力された平文を暗号
化して出力し、かつ入力された暗号文を復号して平文を
出力する攪拌処理を実行させる、ためのプログラムを記
憶したコンピュータ読取り可能記憶媒体。 - 【請求項21】 前記攪拌処理は、前記暗号化および復
号のための複数の置換テーブルを有し、 前記攪拌処理のいずれかの置換テーブルは、前記第1鍵
に基づく変換に使用される置換テーブルと共有化されて
いることを特徴とする請求項20記載のコンピュータ読
取り可能記憶媒体。 - 【請求項22】各ラウンド毎に異なる鍵が入力されそれ
ぞれ前記鍵に基づいて拡大鍵を生成する、カスケートに
接続された複数の鍵変換関数部を有し、 前記各鍵変換関数部は複数の並列に配列された拡大変換
要素を有し、前記各拡大変換要素は、 定数を保持する定数レジスタと、 前記定数レジスタに保持された定数と入力された鍵から
得られる第1鍵との排他的論理和を算出する排他的論理
和算出手段と、 前記排他的論理和算出手段から出力された値に基づいて
所定の置換テーブルにより変換処理を行うSボックス
と、 前記Sボックスから出力された変換結果を拡大変換する
拡大変換部と、を有し、 前記複数の拡大変換要素から出力された変換結果と、前
記入力された鍵から得られる第2鍵とに基づいて拡大鍵
を算出する拡大鍵算出手段を有したことを特徴とする拡
大鍵生成装置。 - 【請求項23】 各ラウンド毎に異なる鍵が入力され、
それぞれ前記鍵に基づいて拡大鍵を生成する複数の鍵変
換関数部がカスケードに連結された拡大鍵生成装置に使
用されるコンピュータ読取り可能記憶媒体であって、 前記拡大鍵生成装置内のコンピュータに、 前記各鍵変換関数部として、 各々が、 定数を保持する定数レジスタと、 前記定数レジスタに保持された定数と入力された鍵から
得られる第1鍵との排他的論理和を算出する排他的論理
和算出手段と、 前記排他的論理和算出手段から出力された値に基づいて
所定の置換テーブルにより変換処理を行うSボックス
と、 前記Sボックスから出力された変換結果を拡大変化する
拡大変換部とからなる複数の並列に配列された拡大変換
要素と、 前記複数の拡大変換要素から出力された変換結果と、前
記入力された鍵から得られた第2鍵とに基づいて拡大鍵
を算出する拡大鍵算出手段と、 を実現させるためのプログラムを記憶したコンピュータ
読取り可能記憶媒体。 - 【請求項24】 各ラウンド毎に異なる鍵が入力され、
それぞれ前記鍵に基づいて拡大鍵を生成する、カスケー
ドに連結された複数の鍵変換関数部を有し、 前記各鍵変換関数部は、 入力された鍵を非線形的に置換し、その置換結果を出力
する置換処理部と、 前記置換処理部から出力された第1鍵に基づいて所定の
置換テーブルにより変換処理を行う第1鍵変換手段と、 前記第1鍵変換手段による変換結果と前記置換処理部か
ら出力される第1鍵とに基づいて前記拡大鍵を算出する
拡大鍵算出手段と、を有したことを特徴とする拡大鍵生
成装置。 - 【請求項25】 各ラウンド毎に異なる鍵を入力し、 入力された鍵を非線形的に置換し、 前記置換により得られる第1鍵を所定の置換テーブルに
より変換し、 前記変換結果と前記置換により得られる第2鍵とにもと
づいて前記拡大鍵を算出する、ことを特徴とする拡大鍵
生成方法。 - 【請求項26】 コンピュータに、 ラウンド毎に入力された異なる鍵から第1鍵を生成さ
せ、 前記入力された鍵を非線形的に置換させ、置換結果を出
力させ、 前記置換により得られた第1鍵を所定の置換テーブルに
より変換させ、 前記変換結果と前記置換により得られる第2鍵とに基づ
いて拡大鍵を算出させるためのプログラムを記憶したコ
ンピュータ読取り可能記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000261098A JP3389210B2 (ja) | 1999-08-31 | 2000-08-30 | 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11-244176 | 1999-08-31 | ||
JP24417699 | 1999-08-31 | ||
JP2000261098A JP3389210B2 (ja) | 1999-08-31 | 2000-08-30 | 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001142395A true JP2001142395A (ja) | 2001-05-25 |
JP3389210B2 JP3389210B2 (ja) | 2003-03-24 |
Family
ID=26536613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000261098A Expired - Lifetime JP3389210B2 (ja) | 1999-08-31 | 2000-08-30 | 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3389210B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003037482A (ja) * | 2001-01-23 | 2003-02-07 | Hitachi Ltd | 疑似乱数生成装置またはそれを用いた暗号復号処理装置 |
JP2004004603A (ja) * | 2002-04-03 | 2004-01-08 | Matsushita Electric Ind Co Ltd | 拡大鍵生成装置、暗号化装置および暗号化システム |
JP2008052130A (ja) * | 2006-08-25 | 2008-03-06 | Nippon Telegr & Teleph Corp <Ntt> | ハッシュ関数回路及びその演算方法 |
JP2008514975A (ja) * | 2004-09-24 | 2008-05-08 | シナプティック ラボラトリーズ リミテッド | sボックス |
JP2011217415A (ja) * | 2005-01-27 | 2011-10-27 | Interdigital Technology Corp | 無線通信ネットワークにおける完全に秘密の鍵の生成 |
-
2000
- 2000-08-30 JP JP2000261098A patent/JP3389210B2/ja not_active Expired - Lifetime
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003037482A (ja) * | 2001-01-23 | 2003-02-07 | Hitachi Ltd | 疑似乱数生成装置またはそれを用いた暗号復号処理装置 |
JP2004004603A (ja) * | 2002-04-03 | 2004-01-08 | Matsushita Electric Ind Co Ltd | 拡大鍵生成装置、暗号化装置および暗号化システム |
JP4515716B2 (ja) * | 2002-04-03 | 2010-08-04 | パナソニック株式会社 | 拡大鍵生成装置、暗号化装置および暗号化システム |
JP2008514975A (ja) * | 2004-09-24 | 2008-05-08 | シナプティック ラボラトリーズ リミテッド | sボックス |
JP2011217415A (ja) * | 2005-01-27 | 2011-10-27 | Interdigital Technology Corp | 無線通信ネットワークにおける完全に秘密の鍵の生成 |
US9130693B2 (en) | 2005-01-27 | 2015-09-08 | Interdigital Technology Corporation | Generation of perfectly secret keys in wireless communication networks |
JP2008052130A (ja) * | 2006-08-25 | 2008-03-06 | Nippon Telegr & Teleph Corp <Ntt> | ハッシュ関数回路及びその演算方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3389210B2 (ja) | 2003-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100402811B1 (ko) | 확대키 생성기, 암호/복호 장치, 확대키 생성 방법 및기억 매체 | |
EP0839418B1 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
JP3679936B2 (ja) | 暗復号装置及び記憶媒体 | |
JP4127472B2 (ja) | データ変換装置及びデータ変換装置のデータ変換方法及びプログラム及びコンピュータ読み取り可能な記録媒体 | |
KR100362458B1 (ko) | 암호화 처리장치, 암호화 처리방법 및 보안성을 손상시키지 않고 고속으로 암호화 처리를 실현하는 암호화 처리 프로그램을 기록하는 기록매체 | |
JP2003023421A (ja) | 暗号方法、そのプログラム、そのプログラムを記録した記録媒体および暗号装置並びに復号方法および復号装置 | |
KR19990002840A (ko) | 차분 해독법과 선형 해독법에 대해서 안전성을 보장하는 고속 블럭 암호 알고리즘 | |
Asaad et al. | Advanced Encryption Standard Enhancement with Output Feedback Block Mode Operation | |
JP3769804B2 (ja) | 解読化方法および電子機器 | |
JP3389210B2 (ja) | 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体 | |
Soe et al. | Performance analysis of data encryption standard (DES) | |
Lee et al. | Design and evaluation of a block encryption algorithm using dynamic-key mechanism | |
Singh et al. | Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish | |
Kumari et al. | An RTL Implementation of the Data Encryption Standard (DES) | |
JPH09269727A (ja) | 暗号化方法および暗号化装置 | |
JPH10153954A (ja) | 暗号装置 | |
Labbi et al. | Symmetric encryption algorithm for RFID systems using a dynamic generation of key | |
JP2000089666A (ja) | 暗号化/復号化装置 | |
JP3587763B2 (ja) | 暗号化装置,復号装置,暗号通信システム及び記録媒体 | |
Usman et al. | A data specific comparative study for choosing best cryptographic technique | |
JP3017725B2 (ja) | データ変換装置 | |
JP3013774B2 (ja) | 循環演算にもとづく暗号化装置 | |
Özkaynak et al. | Fast software implementation of des for lightweight platforms | |
Hattab et al. | Developing the Complexity and Security of the Twofish Algorithm Through a New Key Scheduling Design | |
JPH11212451A (ja) | 暗号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
R150 | Certificate of patent or registration of utility model |
Ref document number: 3389210 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080117 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090117 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100117 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110117 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120117 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130117 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130117 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140117 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term |