JP2000019958A - 暗号処理装置、暗号処理方法、及び、暗号処理プログラムを記憶した記憶媒体 - Google Patents
暗号処理装置、暗号処理方法、及び、暗号処理プログラムを記憶した記憶媒体Info
- Publication number
- JP2000019958A JP2000019958A JP11118643A JP11864399A JP2000019958A JP 2000019958 A JP2000019958 A JP 2000019958A JP 11118643 A JP11118643 A JP 11118643A JP 11864399 A JP11864399 A JP 11864399A JP 2000019958 A JP2000019958 A JP 2000019958A
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- substitution
- key
- bit
- 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
削減することで高速な処理を実現し、且つ、安全性を損
なわない暗号処理装置を提供する。 【解決手段】 32ビットの入力データを4個に等分し
て各8ビットの分割データを4個生成する分割部A0〜
3と、32ビットの換字テーブルデータを(2^8)個
保管し4個の分割データのそれぞれに基づいて(2^
8)個の換字データからそれぞれ1個を特定し各32ビ
ットの換字データを4個出力する換字テーブルデータ保
管部3001と、4個の換字データにそれぞれ異なる固
定変換を施すことによって32ビットの変換データを4
個生成する第1〜3テーブル値変換部3002〜4と、
4個の変換データの全てを対象に合成処理を施すことに
よって32ビットの出力データを生成する出力データ生
成部3005〜7とを備える。
Description
て、被暗号処理データをブロック単位で暗号化又は復号
化する暗号処理装置、及びその装置において使用される
暗号処理方法、並びにその方法を記述する暗号処理プロ
グラムを記憶した記憶媒体に関し、特に換字テーブルデ
ータのデータ量や生成頻度を削減することで高速な暗号
処理を実現し、且つ、安全性を損なわない技術に関す
る。
る情報の通信が普及してきたのに伴い、通信される重要
な情報を第三者による盗聴や改竄から守る、安全性を向
上させる為の技術への要求が高まっている。安全性を向
上させる為の有効な技術の1つに暗号(cryptog
raphy)がある。
は、元の通信文を平文(plaintext)と呼び、
その意味内容が第三者に分かりにくい形に変換されたも
のを暗号文(cryptogram)と呼ぶ。また、こ
の変換を暗号化(encryption)と呼び、逆
に、暗号文を元の平文に復元する逆変換を復号化(de
cryption)と呼ぶ。
ズム(algorithm)とそのパラメータとなる鍵
(key)によって特定される。アルゴリズムは複数の
変換から成る変換の族(family)を特定し、鍵は
その族のなかの1つの変換を特定する。通常、装置の固
定部分に対応するものがアルゴリズムであり、1つの装
置において時々取り替えられるものが鍵である。
れることを前提としている。盗聴者等がアルゴリズムや
鍵の情報を持たずに平文等に復号しようとすることを、
暗号解読(cryptanalysis)という。暗号
解読しようとする者(以下、「暗号解読者(crypt
analyst)」という)は、暗号文は既知であると
いう前提で暗号解読を行なう。
決定する解読法を、「暗号文単独攻撃(ciphert
ext−only attack)」という。また、い
くつかの不特定な暗号文と平文のペアから秘密の鍵を決
定し、任意の暗号文に対応する平文を決定する解読法
を、「既知平文攻撃(known−plaintext
attack)」という。
乱数加算型暗号がある。この暗号は、同一の鍵を送信者
と受信者が秘密に共有し、それぞれ同じアルゴリズムを
持つ乱数発生機を用いてこの鍵をシード(seed)と
して所定のビット数(以下、「ブロック」という)の乱
数を発生させ、送信者側による暗号化においては、ブロ
ック単位で、この乱数と平文とを、対応するビット毎に
排他的論理和の演算を行なうことによって暗号文を生成
し、受信者側による復号化においては、ブロック単位
で、この乱数と暗号文とを、対応するビット毎に排他的
論理和の演算を行なうことによって平文を生成する。
ロック単位の暗号文を「C」、この乱数を「R」、対応
するビット毎の排他的論理和の演算を「(+)」とする
と、暗号化は以下の(式1)で、復号化は以下の(式
2)で表せる。 C=M(+)R ・・・(式1) M=C(+)R ・・・(式2) この暗号の問題点は、「既知平文攻撃」に非常に弱いこ
とである。
文のペアが既知であれば、以下の(式3)より乱数Rが
判明するので他の全ての平文を解読することができる。 R=M(+)C ・・・(式3) よって、暗号解読者は既知平文攻撃によって、疑似乱数
加算型暗号を非常に容易に解読することができる。
比較的容易に解読されない暗号の例に、DES(DataEn
cryption Standard)やFEAL(Fast Data Encipherm
ent Algorithm)がある。これらについては「暗号理論
入門」(岡本栄司著:共立出版発行)に詳しく述べられ
ている。
とし、ブロック単位で強力にデータを撹乱する。例え
ば、DESのアルゴリズムは、転置(transpos
ion)と換字(substitution)を組み合
わせた処理を16段繰り返す。DESやFEALに代表
されるブロック暗号方式の一種に、Blowfish暗
号方式というものがある。
uce Schneier著''Description of aNew Variable-Lengt
h Key, 64-Bit Block Cipher(Blowfish),''(''Fast Sof
tware Encryption,''Ross Anderson編, Lecture Notes
in Computer Science Vol.809, pp.191-204, Springer-
Verlag. に収録)に詳しく述べられている。以下に、こ
のBlowfish暗号方式について述べる。
いたデータ暗号化装置の構成を示す図である。図14に
示すデータ暗号化装置3010は、データ撹乱部301
1、段数制御部3012、部分鍵生成部3013及び換
字テーブルデータ生成部3014を備える。
字テーブルデータ生成アルゴリズムに従って、64ビッ
トの入力鍵データから32Kビット(テーブル値32ビ
ット×1024個)の換字テーブルデータを生成する。
ここで、換字テーブルデータ生成アルゴリズムは本発明
の趣旨ではないので、その説明を省略する。部分鍵生成
部3013は、部分鍵生成アルゴリズムに従って、64
ビットの入力鍵データから256ビットのビットデータ
を生成し、生成されたビットデータを各32ビットずつ
の8組に分割し、部分鍵SK0〜SK7として保管す
る。ここで、部分鍵生成アルゴリズムは本発明の趣旨と
関係ないので、その説明を省略する。
ータ生成部3014が生成した32Kビット(テーブル
値32ビット×1024個)の換字テーブルデータ、及
び、部分鍵生成部3013が生成した32ビットの部分
鍵データを用いて、入力される64ビットのデータにデ
ータ撹乱を繰り返し施し、64ビットのデータを出力す
る。通常、この様なデータ撹乱処理が16回繰り返され
ることにより暗号化が完了する。
データ(以下「平文ブロック」と記す)から64ビット
の暗号文データ(以下「暗号文ブロック」と記す)が生
成されるまでに、データ撹乱部3011が繰り返し施す
データ撹乱の回数を制御する。そのために段数制御部3
012は、平文ブロック毎にデータ撹乱の回数をカウン
トし、予め定められた回数に満たない場合にはデータ撹
乱部3011の出力をデータ撹乱部3011に入力して
データ撹乱を繰り返し、予め指定された回数の場合には
暗号文ブロックとして出力する。
乱には部分鍵SK0が用いられ、以下、データ撹乱が繰
り返し施される度に、SK1,SK2,…,SK7と順
に用いられる。勿論、SK7の後はSK0が用いられ
る。図15は、Blowfish暗号方式を用いたデー
タ復号化装置の構成を示す図である。
は、データ撹乱部4011、段数制御部4012、部分
鍵生成部4013及び換字テーブルデータ生成部401
4を備える。換字テーブルデータ生成部4014は、図
14の換字テーブルデータ生成部3014と同様であ
る。
生成部3013と同様である。データ撹乱部4011
は、図14のデータ撹乱部3011と同様である。段数
制御部4012は、暗号文ブロックから平文ブロックが
生成されるまでに、データ撹乱部4011が繰り返し施
すデータ撹乱の回数を制御する。段数制御部4012
は、暗号文ブロック毎にデータ撹乱の回数をカウント
し、予め定められた回数に満たない場合にはデータ撹乱
部4011の出力をデータ撹乱部4011に入力してデ
ータ撹乱を繰り返し、予め指定された回数の場合には平
文ブロックとして出力する。
撹乱には部分鍵SK7が用いられ、以下、データ撹乱が
繰り返し施される度に、SK6,SK5,…,SK0と
順に用いられる。勿論、SK0の後はSK7が用いられ
る。図16は、図14に示したBlowfish暗号方
式を用いたデータ撹乱部3011の詳細な構成を示す図
である。
1排他的論理和部3111、第2排他的論理和部311
2、及び、データ変換部3113を備える。 (データ撹乱部3011の説明を削除)第1排他的論理
和部3111は、32ビットの部分鍵データと入力デー
タの上位32ビット(図16中の「X1」)とを対象に
ビット毎に排他的論理和演算を行ない、32ビットの演
算値S0を出力する。この演算値S0は、データ変換部
3113に入力されると同時に、そのまま出力データの
下位側32ビット(図16中の「Y0」)となる。
呼ばれるものであり、ここでは、32Kビットの換字テ
ーブルデータを用いて、32ビットの演算値S0を変換
し、32ビットの変換値S1を出力する。第2排他的論
理和部3112は、32ビットの変換値S1と入力デー
タの下位側32ビット(図16中の「X0」)とを対象
にビット毎に排他的論理和演算を行ない、32ビットの
演算値Y1を出力する。この演算値Y1は、そのまま出
力データの上位32ビットとなる。
示す。 (1)まず、64ビットの入力データが32ビットずつ
の2組の部分に分割される。分割された入力データの部
分の上位側をX1,下位側をX0と記す。 (2)第1排他的論理和部3111が、各32ビットの
X1と部分鍵データとを対象にビット毎に排他的論理和
演算を行なう。ここで生成される32ビットのデータを
Y0と記す。このY0は出力データの下位32ビットと
なる。
的論理和部3111が生成したS0を変換して、32ビ
ットのデータS1を出力する。 (4)第2排他的論理和部3112が、各32ビットの
X0とS1とを対象にビット毎に排他的論理和演算を行
なう。ここで生成される32ビットのデータをY1と記
す。このY1は出力データの上位32ビットとなる。
0は、図示されていないクロックに同期して64ビット
の出力データとしてデータ撹乱部3011から出力され
る。図17は、図15に示したBlowfish暗号方
式を用いたデータ撹乱部4011の詳細な構成を示す図
である。図17に示すデータ撹乱部4011は、第1排
他的論理和部4111、第2排他的論理和部4112、
及び、データ変換部4113を備える。
トの部分鍵データと入力データの下位32ビット(図1
7中の「Z0」)とを対象にビット毎に排他的論理和演
算を行ない、32ビットの演算値W1を出力する。この
入力データの下位32ビットの「Z0」は、データ変換
部4113に入力値T0として入力される。またこの演
算値W1は、そのまま出力データの上位側32ビットと
なる。
113と同様に一般にf関数と呼ばれるものであり、こ
こでは、32Kビットの換字テーブルデータを用いて、
32ビットの入力値T0を変換し、32ビットの変換値
T1を出力する。第2排他的論理和部4112は、32
ビットの変換値T1と入力データの上位側32ビット
(図17中の「Z1」)とを対象にビット毎に排他的論
理和演算を行ない、32ビットの演算値W0を出力す
る。この演算値W0は、そのまま出力データの下位32
ビットとなる。
乱部3011と同様なので説明を省略する。図18は、
図16に示したデータ変換部3113の詳細な構成を示
す図である。図18に示すデータ変換部3113は、第
1換字テーブルデータ保管部3201、第2換字テーブ
ルデータ保管部3202、第3換字テーブルデータ保管
部3203、第4換字テーブルデータ保管部3204、
第1加算部3205、第2加算部3206及び排他的論
理和部3207を備える。
8Kビットの4組に分割される。32ビットの入力デー
タS0は、各8ビットの4組に分割される。第1〜4換
字テーブルデータ保管部3201〜3204は、それぞ
れに対応する分割された8Kビットの換字テーブルデー
タを、上位から32ビットずつの256個のテーブル値
に分割して保管し、それぞれS0が4分割された各8ビ
ットの入力に基づいて、この256個のテーブル値の1
個を特定して出力する。ここでは、第1換字テーブルデ
ータ保管部3201が保管する各32ビットのテーブル
値を上位から順に、Tab1[0],Tab1[1],
…,Tab1[255]とし、同様に、第2換字テーブ
ルデータ保管部3202が保管するテーブル値を、Ta
b2[0],Tab2[1],…,Tab2[25
5]、第3換字テーブルデータ保管部3203が保管す
るテーブル値を、Tab3[0],Tab3[1],
…,Tab3[255]、第4換字テーブルデータ保管
部3204が保管するテーブル値を、Tab4[0],
Tab4[1],…,Tab4[255]とする。ま
た、第1〜4換字テーブルデータ保管部3201〜32
04に入力されるS0が分割された各8ビットを上位か
ら順に、V3,V2,V1,V0とする。
データ保管部3201が出力する32ビットのテーブル
値と、第2換字テーブルデータ保管部3202が出力す
る32ビットのテーブル値とを算術加算演算し、繰り上
がり分を無視して下位32ビットのデータのみを出力す
る。ここで第1換字テーブルデータ保管部3201が出
力する32ビットのデータをJ3、第2換字テーブルデ
ータ保管部3202が出力する32ビットのデータをJ
2、第1加算部3205が出力する32ビットのデータ
をQ0として式に表すと、 Q0=(J3 + J2) mod (2^32) となる。ここで、「a^b」はaのb乗を意味し、「α
mod β」 は、αをβで割った余りを意味するもの
とし、以下同様とする。
3換字テーブルデータ保管部3203が出力する32ビ
ットのデータとを対象に排他的論理和演算を行なって3
2ビットのデータを出力する。ここで第3換字テーブル
データ保管部3203が出力する32ビットのデータを
J1、排他的論理和部3207が出力する32ビットの
データをQ1として式に表すと、 Q1=Q0(+)J1 となる。ここで、「α(+)β」は、αとβとを対象に
ビット毎に排他的論理和演算を行なうことを意味するも
のとし、以下同様とする。
字テーブルデータ保管部3204が出力する32ビット
のデータとを算術加算演算し、繰り上がり分を無視して
下位32ビットのデータのみを出力する。ここで第4換
字テーブルデータ保管部3204が出力する32ビット
のデータをJ0、第2加算部3206が出力する32ビ
ットのデータをQ2として式に表すと、 Q2=(Q1 + J0) mod (2^32) となる。
変換部3113の出力S1である。以下に、データ変換
部3113の動作例を示す。 (1)入力されたテーブル値32ビット×1024個の
換字テーブルデータがテーブル値32ビット×256個
ずつの4組に分割される。ここで分割された換字テーブ
ルデータを上位から順にR3,R2,R1,R0と記
す。R3,R2,R1,R0は、それぞれ第1換字テー
ブルデータ保管部3201、第2換字テーブルデータ保
管部3202、第3換字テーブルデータ保管部320
3、第4換字テーブルデータ保管部3204に保管され
る。
が8ビットずつの4組の部分に分割される。ここで分割
された入力データの各部分を上位から順に、V3,V
2,V1,V0と記す。 (3) 第1〜4換字テーブルデータ保管部3201〜
3204は、それぞれS0が4分割された各8ビットの
入力に基づいて、それぞれが保管する256個のテーブ
ル値の1個を特定してそれぞれ出力する。ここで出力さ
れたテーブル値を、順にJ3,J2,J1,J0と記
す。
とを算術加算演算し、繰り上がり分を無視して下位32
ビットのデータQ0を出力する。 (5)排他的論理和部3207が、Q0とJ1とを対象
に排他的論理和演算を行ない32ビットのデータQ1を
出力する。 (6)第2加算部3206が、Q1とJ0とを算術加算
演算し、繰り上がり分を無視して下位32ビットのデー
タQ2(=S1)を出力する。
を備えたデータ暗号化方式の安全性は、データ変換部3
113での変換操作のデータ撹乱機能に大きく依存して
いる。データ変換部3113は、それぞれが独立に処理
を行なう4種類の換字テーブルデータ保管部3201〜
3204を用いるので、高い安全性が得られる。よっ
て、暗号解読や能動的な不正行為に対して強くなってい
る。
細な構成は、データ変換部3113と同様なので、その
説明を省略する。 (第3の従来例)ブロック暗号方式に対する代表的な解
読法として、差分解読法及び線形解読法がある。第3の
従来例はこれらの解読法に対する安全性を強化する目的
で考案された暗号方式である。なお、差分解読法及び形
解読法の詳細については、それぞれ E.Biham, A.Shamir
著,''Differential Cryptanalysis of the Data Encryp
tion Standard,''Springer-Verlag. 及び 松井充著,''
DES暗号の線形 解読法(I),''1993年暗号と情
報セキュリティシンポジウム(SCIS’ 93)予稿
集SCIS93-3C.に記載されている。
一の鍵データを用いた平文と暗号文とのペアを多数用意
し、それらを解析することによって暗号化に用いられた
鍵データを求める既知平文攻撃の一種である。これらの
暗号解読は、解読すべき暗号文の各ブロックが常に同一
の鍵データを用いて暗号化されていることを前提とす
る。
場合に、平文ブロック毎に異なる鍵データを用いて暗号
化を行えば、これらの解読法に対する安全性は強化され
る。ここで、平文のブロック数と同じ数の鍵データを用
意するとなると、鍵データが平文のブロック数に比例し
て多くなるので現実的ではない。そこで、1ブロック前
の暗号文のブロックを「可変情報」として利用し、鍵デ
ータを更新する方式が、特許1250077号鍵連鎖方
式/US4074066(Message verification and t
ransmission error detection by block chaining)に
おいて開示されている。この特許では、平文のブロック
数と同じ数の鍵データを用意することなく、1ブロック
の暗号化毎に鍵データを更新できる。すなわち、1つの
鍵データを元に、ブロック毎に異なる鍵データを生成し
て用いるので、鍵データを増やさずに差分解読法及び線
形解読法に対する安全性が強化される。
従来例におけるデータ撹乱部3011は、32Kビット
もの膨大な換字テーブルデータを保管する必要があるた
めに、ハードウェア及びソフトウェアの両面における実
装の簡便性という点において問題があり、また、膨大な
換字テーブルデータを生成するには、それなりの処理時
間がかかる点において問題がある。かといって、単に換
字テーブルデータのデータ量を削減すると、安全性を損
なうことになりかねないので好ましくない。
wfish暗号方式に、第3の従来例の鍵連鎖方式を用
いた場合、以下のような問題が生じる。上述の様に第2
の従来例のBlowfish暗号方式は、入力鍵データ
を元に32Kビットの換字テーブルデータを生成して暗
号化に用いており、第3の従来例の鍵連鎖方式は1ブロ
ック分の平文を暗号化するたびに入力鍵データを更新す
る。従って、Blowfish暗号方式に鍵連鎖方式を
用いた場合には、1ブロック分の平文を暗号化するたび
に換字テーブルデータを生成することになる。換字テー
ブルデータはデータ量が32Kビットと膨大であるた
め、その生成の処置に係るプロセッサの負担は大きく、
頻繁に換字テーブルデータの生成が行われると暗号処理
に係る処理速度は大幅に低下する。かといって、単に換
字テーブルデータの生成頻度を削減すると、安全性を損
なうことになりかねないので好ましくない。
式に限らず、入力鍵に基づいて換字テーブルデータを生
成して暗号処理に用いるブロック暗号方式に共通する問
題である。そこで、本発明はかかる問題点に鑑みてなさ
れたものであり、Blowfish暗号方式などの入力
鍵に基づいて換字テーブルデータを生成して暗号処置に
用いるブロック暗号方式において、換字テーブルデータ
のデータ量や生成頻度を削減することで高速な処理を実
現し、且つ、安全性を損なわない暗号処理装置、暗号処
理方法、暗号処理プログラムを記憶した記憶媒体を提供
することを目的とする。
に、本発明に係る暗号処理装置は、換字データを用いて
入力データに暗号処理を施し出力データを生成する暗号
処理装置であって、N及びMを2以上の整数とした場
合、所定ビットの換字データを(2^N)個保管する保
管手段と、(N×M)ビットの入力データをM個に等分
して各Nビットの分割データをM個生成する分割手段
と、分割手段が生成したM個の分割データ又はそれらの
分割データに合成処理を施して生成した入力合成データ
を入力としNビットの入力毎に保管手段が保管する(2
^N)個の換字データから前記所定ビットの換字データ
を1個特定して出力する換字手段と、換字手段が出力し
た換字データが入力され複数の異なる固定変換を施すこ
とによって前記所定ビットの変換データをM個生成する
固定変換手段と、固定変換手段が生成したM個の変換デ
ータに基づいて(N×M)ビットの出力データを生成す
る出力データ生成手段とを備えることを特徴とする。
で高い安全性を得ることができる。また、本発明に係る
暗号処理装置は、前記保管手段が保管する換字データの
所定ビットは(N×M)ビットであり、前記換字手段は
前記分割手段が生成したM個の分割データのそれぞれに
基づいて保管手段が保管する(2^N)個の換字データ
からそれぞれ1個を特定し各(N×M)ビットの換字デ
ータをM個出力し、前記固定変換手段は換字手段が出力
したM個の換字データにそれぞれ異なる固定変換を施す
ことによって、(N×M)ビットの変換データをM個生
成し、前記出力データ生成手段は固定変換手段が生成し
たM個の変換データの全てを対象に合成処理を施すこと
によって、(N×M)ビットの出力データを生成するこ
とを特徴とすることもできる。
字テーブルデータを従来の1/Mに削減できる。また、
本発明に係る暗号処理装置は、 前記保管手段が保管す
る換字データの所定ビットはNビットであり、前記換字
手段は前記分割手段が生成したM個の分割データの全て
を対象に全体合成処理を施すことによってNビットの入
力合成データを生成する入力合成手段を含みNビットの
入力合成データに基づいて保管手段が保管する(2^
N)個の換字データから1個を特定しNビットの換字デ
ータを出力し、前記固定変換手段は換字手段が出力した
換字データに異なるM個の固定変換を個々に施すことに
よってNビットの変換データをM個生成し、前記出力デ
ータ生成手段は、前記分割手段が生成したM個の分割デ
ータの内の1個と前記固定変換手段が生成したM個の変
換データの内の1個とを対象に個別合成処理をそれぞれ
施すことによってNビットの出力合成データをM個生成
する出力合成手段と、前記出力合成手段が生成した各N
ビットのM個の出力合成データを連結処理を施すことに
よって(N×M)ビットの出力データを生成する連結手
段とを含むことを特徴とすることもできる。
字テーブルデータを従来の1/M/Mに削減できる。上
記目的を達成するために、本発明に係る暗号処理装置
は、換字テーブルデータを作成しこれを用いて入力デー
タに暗号処理を施し出力データを生成する暗号処理装置
であって、鍵データを保持する鍵データ保持手段と、換
字テーブルデータを保持する換字テーブルデータ保持手
段と、入力データを所定のビット数のブロック単位に分
割し入力ブロックとして順次出力するブロック化手段
と、所定数の入力ブロックに暗号処理を施した後で次の
入力ブロックに暗号処理を施す場合に換字テーブルデー
タを作成し換字テーブルデータ保持手段に保持された換
字テーブルデータを作成した換字テーブルデータに更新
する換字テーブルデータ作成手段と、前の入力ブロック
に暗号処理を施した後で次の入力ブロックに暗号処理を
施す場合には鍵データ保持手段に保持された鍵データに
前の入力ブロックに暗号処理を施した際に暗号処理手段
が生成した出力ブロックを用いてビット変換を施し鍵デ
ータを変換する鍵データ変換手段と、換字テーブルデー
タ保持手段に保持された換字テーブルデータと前記鍵デ
ータとを用いてブロック化手段が順次出力する入力ブロ
ックに暗号処理を施すことによって順次出力ブロックを
生成する暗号処理手段とを備える。
用いて入力データに暗号処理を施し出力データを生成す
る暗号処理装置であって、鍵データを保持する鍵データ
保持手段と、換字テーブルデータを保持する換字テーブ
ルデータ保持手段と、入力データを所定のビット数のブ
ロック単位に分割し入力ブロックとして順次出力するブ
ロック化手段と、所定数の入力ブロックに暗号処理を施
した後で次の入力ブロックに暗号処理を施す場合に換字
テーブルデータを作成し換字テーブルデータ保持手段に
保持された換字テーブルデータを作成した換字テーブル
データに更新する換字テーブルデータ作成手段と、前の
入力ブロックに暗号処理を施した後で次の入力ブロック
に暗号処理を施す場合には鍵データ保持手段に保持され
た鍵データに前の入力ブロックを用いてビット変換を施
し鍵データを変換する鍵データ変換手段と、換字テーブ
ルデータ保持手段に保持された換字テーブルデータと前
記鍵データとを用いてブロック化手段が順次出力する入
力ブロックに暗号処理を施すことによって順次出力ブロ
ックを生成する暗号処理手段とを備えるものであっても
よい。
用いて入力データに暗号処理を施し出力データを生成す
る暗号処理装置であって、鍵データを保持する鍵データ
保持手段と、換字テーブルデータを保持する換字テーブ
ルデータ保持手段と、入力データを所定のビット数のブ
ロック単位に分割し入力ブロックとして順次出力するブ
ロック化手段と、所定数の入力ブロックに暗号処理を施
した後で次の入力ブロックに暗号処理を施す場合に換字
テーブルデータを作成し換字テーブルデータ保持手段に
保持された換字テーブルデータを作成した換字テーブル
データに更新する換字テーブルデータ作成手段と、一個
の入力ブロックに暗号処理を施した後で次の入力ブロッ
クに暗号処理を施す場合には鍵データ保持手段に保持さ
れた鍵データに前の入力ブロックに暗号処理を施す間に
暗号処理手段が生成した中間ブロックを用いてビット変
換を施し鍵データを変換する鍵データ変換手段と、換字
テーブルデータ保持手段に保持された換字テーブルデー
タと前記鍵データとを用いてブロック化手段が順次出力
する入力ブロックに暗号処理を施すことによって順次暗
号処理の過程で得られる中間ブロックと暗号処理の結果
に得られる出力ブロックとを生成する暗号処理手段とを
備えるものであってもよい。
字テーブルデータは1ブロックを処理する毎には生成さ
れないが、鍵データは1ブロックを処理する毎に変換さ
れる。
1〜第4換字テーブルデータ保管部3201〜3204
が保管する換字テーブルデータを共有することにする
と、データ変換部3113に入力する換字テーブルデー
タは1/4に削減されるが、以下の点において安全性に
問題が生じる。
に、換字テーブルデータが共有であるとJ2=J3とな
るので、第1加算部3205が同じ値を算術加算演算す
る事になり、この様な暗号システムはデータ撹乱能力が
低く、安全性が低い。本発明の実施の形態1は、1つの
換字テーブルデータから複数の出力を得、異なる回数の
ローテーションや異なる定数の足し算等の固定変換を各
出力に施して使用することで、換字テーブルデータのデ
ータ量を削減しつつ安全性を損なわないで暗号化及び復
号化(以下、暗号化及び復号化を総称して「暗号処理」
と記す)を行なうことを実現する暗号処理装置である。
号通信システムの構成を示す図である。以下、図中の二
重線で囲まれた構成要素(ここでは、データ暗号化装置
10及びデータ復号化装置20)は別の図面においてさ
らに詳細な図に展開されていることを示す。
及び受信機2を備える。送信機1及び受信機2は、例え
ば、デジタル画像情報を送受信するビデオサーバシステ
ムのサーバ及び端末等である。送信機1は、データ暗号
化装置10及び送信部11を備える。データ暗号化装置
10は、256ビットの鍵データ及び8Kビット(テー
ブル値32ビット×256個)の換字テーブルデータを
用いて、64ビット単位で平文データに暗号処理を施し
て暗号文データを生成する。ここで平文データは、例え
ばデジタル符号化された音声または画像情報等であり、
鍵データ及び換字テーブルデータは、予め送信機1と受
信機2とが秘密に共有するものである。
成した暗号文データを、並列to直列変換、変調及び増幅
して生成した送信信号を伝送路3に送出する。受信機2
は、データ復号化装置20及び受信部21を備える。受
信部21は、送信部11から送出された送信信号を伝送
路3を介して受信し、送信部11と逆の処理を施して暗
号文データを復元する。
鍵データ及び8Kビット(テーブル値32ビット×25
6個)の換字テーブルデータを用いて、64ビット単位
で暗号文データに暗号処理を施して復号文データ(=平
文データ)を生成する。ここで生成された復号文データ
は、例えばデジタル符号化された音声又は画像情報等で
あり、専用のデコーダ(図示せず)でデコードされてス
ピーカ又はディスプレイで再生される。
の詳細な構成を示す図である。データ暗号化装置10
は、データ撹乱部101、段数制御部102及び鍵制御
部103を備える。鍵制御部103は、256ビットの
鍵データを上位から32ビットずつ8組のデータに分割
して部分鍵K0〜K7を生成し、データ撹乱部101に
新しい処理対象のブロックが入力される場合毎に、部分
鍵K0〜K7を順にデータ撹乱部101に出力する。勿
論、K7の後はK0を出力する。
テーブルデータ及び32ビットの部分鍵データを用い
て、64ビットのデータにデータ撹乱を施し、64ビッ
トのデータを出力する。段数制御部102は、平文ブロ
ックから暗号文ブロックが生成されるまでに、データ撹
乱部101が繰り返し施すデータ撹乱の回数を制御す
る。段数制御部102は、平文ブロック毎にデータ撹乱
の回数をカウントし、予め定められた回数に満たない場
合にはデータ撹乱部101の出力をデータ撹乱部101
に入力してデータ撹乱を繰り返し、予め指定された回数
の場合には暗号文ブロックとして出力する。ここでは、
予め指定された回数を8回とする。
の詳細な構成を示す図である。データ復号化装置20
は、データ撹乱部201、段数制御部202及び鍵制御
部203を備える。鍵制御部203は、256ビットの
鍵データを上位から32ビットずつ8組のデータに分割
して部分鍵K0〜K7を生成し、データ撹乱部201に
新しい処理対象のブロックが入力される度に、部分鍵K
7〜K0の順にデータ撹乱部201に出力する。勿論、
K0の後はK7を出力する。
部101と同様である。段数制御部202は、暗号文ブ
ロックから64ビットの復号文データ(以下「復号文ブ
ロック」と記す)が生成されるまでに、データ撹乱部2
01が繰り返し施すデータ撹乱の回数を制御する。段数
制御部202は、暗号文ブロック毎にデータ撹乱の回数
をカウントし、予め定められた回数に満たない場合には
データ撹乱部201の出力をデータ撹乱部201に入力
してデータ撹乱を繰り返し、予め指定された回数の場合
には復号文ブロックとして出力する。ここでは、予め指
定された回数を8回とする。
詳細な構成を示す図である。データ撹乱部101は、第
1排他的論理和部1011、第2排他的論理和部101
2及びデータ変換部300を備える。図4に示すデータ
撹乱部101は、図16に示すデータ撹乱部3011と
類似している。
示す第1排他的論理和部3111と同様である。第2排
他的論理和部1012は、図16に示す第2排他的論理
和部3112と同様である。データ変換部300は、8
Kビットの換字テーブルデータを用いて、32ビットの
演算値S0を変換し、32ビットの変換値S1を出力す
る。
詳細な構成を示す図である。データ撹乱部201は、第
1排他的論理和部2011、第2排他的論理和部201
2及びデータ変換部301を備える。図5に示すデータ
撹乱部201は、図17に示すデータ撹乱部4011と
類似している。
示す第1排他的論理和部4111と同様である。第2排
他的論理和部2012は、図17に示す第2排他的論理
和部4112と同様である。データ変換部301は、図
4に示すデータ変換部300と同様である。
詳細な構成を示す図である。データ変換部300は、換
字テーブルデータ保管部3001、第1テーブル値変換
部3002、第2テーブル値変換部3003、第3テー
ブル値変換部3004、第1加算部3005、第2加算
部3006及び排他的論理和部3007を備える。
トの4組に分割される。換字テーブルデータ保管部30
01は、入力される8Kビットの換字テーブルデータ
を、上位から32ビットずつの256個のテーブル値に
分割して保管し、S0が4分割された各8ビットの入力
それぞれに基づいて、この256個のテーブル値の4個
を特定して出力する。ここでは、換字テーブルデータ保
管部3001が保管する各32ビットのテーブル値を上
位から順に、Tab[0],Tab[1],…,Tab
[255]とする。また、換字テーブルデータ保管部3
001に入力されるS0が分割された各8ビットを、上
位から順にA3,A2,A1,A0とし、対応する出力
をB3,B2,B1,B0とする。
れる32ビットのテーブル値B2を、上位方向へ1ビッ
トの巡回ビットシフト変換して、32ビットの変換デー
タC2を出力する。第2テーブル値変換部3003は、
入力される32ビットのテーブル値B1を、上位方向へ
2ビットの巡回ビットシフト変換して、32ビットの変
換データC1を出力する。
れる32ビットのテーブル値B0を、上位方向へ3ビッ
トの巡回ビットシフト変換して、32ビットの変換デー
タC0を出力する。第1加算部3005は、換字テーブ
ルデータ保管部3001が出力する32ビットのテーブ
ル値B3と、第1テーブル値変換部3002が出力する
32ビットのテーブル値C2とを算術加算演算し、32
ビット目以上の繰り上がり分を無視して32ビットのデ
ータD0を出力する。
ーブル値変換部3003が出力する32ビットのテーブ
ル値C1とを対象に排他的論理和を行なって、32ビッ
トのデータD1を出力する。
ル値変換部3004が出力する32ビットのテーブル値
C0とを算術加算演算し、32ビット目以上の繰り上が
り分を無視して32ビットのデータD2を出力する。
部300の出力S1である。以下に、データ変換部30
0の動作例を示す。
32ビット×256個)の換字テーブルデータが、換字
テーブルデータ保管部3001に保管される。 (2)入力された32ビットの入力データが8ビットず
つの4組に分割される。ここで分割される入力データは
上位から順に、A3,A2,A1,A0である (3)換字テーブルデータ保管部3001は、S0が4
分割された各8ビットの入力それぞれに基づいて、この
256個のテーブル値の4個を特定し、各32ビットの
テーブル値を4個出力する。ここで出力されるデータ
は、B3,B2,B1,B0である。
ーブル値B2を上位方向へ1ビットの巡回ビットシフト
変換して変換データC2を出力し、第2テーブル値変換
部3003がテーブル値B1を上位方向へ2ビットの巡
回ビットシフト変換して変換データC1を出力し、第3
テーブル値変換部3004がテーブル値B0を上位方向
へ3ビットの巡回ビットシフト変換して変換データC0
を出力する。
B3とテーブル値C2とを算術加算演算し、繰り上がり
分を無視して下位32ビットのデータD0を出力する。 (6)排他的論理和部3007が、上記D0とテーブル
値C1とを対象に排他的論理和を行ない32ビットのデ
ータD1を出力する。 (7)第2加算部3006が、上記D1とテーブル値C
0とを算術加算演算し、繰り上がり分を無視して下位3
2ビットのデータD2(=S1)を出力する。
備えたデータ暗号化方式の安全性は、データ変換部30
0での変換操作のデータ撹乱機能に大きく依存してい
る。データ変換部300は、1つの換字テーブルデータ
保管部3001を用いて4個のテーブル値を得、そのう
ち3個に第1〜第3テーブル値変換部3002〜300
4でそれぞれシフトビット数が異なる巡回ビットシフト
変換をするので、1つの換字テーブルデータでありなが
ら、4種類の換字テーブルデータ保管部を用いる場合に
準ずる高い安全性が得られる。
して強くなっている。図5に示したデータ変換部301
の詳細な構成は、データ変換部300と同様なので、そ
の説明を省略する。以下に、図4に示すデータ撹乱部1
01で暗号化された平文データが図5に示すデータ撹乱
部201で復号化される原理について説明する。
乱部101中のX1、X0、Y1、Y0、S0、及び、
S1の間には以下のような関係が成り立つ。以下、32
ビットの部分鍵データをKi、8Kビットの換字テーブ
ルデータをR、(+)を排他的論理和演算とする。また
ここで、F(R,α)をテーブル値がRで入力データが
αである時のデータ変換部300の出力とする。
W0、及び、T1の間には以下のような関係が成り立
つ。
部201の入力データとする場合を考える。つまり、 Y1=Z1 −(式11) Y0=Z0 −(式12) とする。
る。
と、 W1=Ki(+){Ki(+)X1}=X1 −(式16) (4)(式8)と(式13)から T1=F(R,S0) −(式17) (5)(式17)と(式5)から S1=T1 −(式18) (6)(式11)と(式18)から(式10)は W0=S1(+)Y1 −(式19) (7)(式6)を(式19)に代入し、(式15)を用
いると W0=S1(+){S1(+)X0}=X0 −(式20) (式16)と(式20)とから、データ撹乱部101で
暗号化された平文データがデータ撹乱部201で復号化
されることがわかる。
で暗号化された平文データが図3に示すデータ復号化装
置20で復号化される原理について説明する。まず、デ
ータ暗号化装置10において、256ビットの鍵データ
K及び8Kビットの換字テーブルデータRを用いて、平
文ブロックAに暗号処理を施して暗号文ブロックAを生
成する動作について説明する。
1に32ビットの部分鍵データが、K0,K1,…,K
6,K7の順で入力される。また、平文ブロックAの暗
号処理中は、1組の換字テーブルデータRが繰り返し用
いられる。データ撹乱部101は、部分鍵データK0及
び換字テーブルデータRを用いて平文ブロックAにデー
タ撹乱を施して中間ブロックA1を生成し、部分鍵デー
タK1及び換字テーブルデータRを用いて中間ブロック
A1にデータ撹乱を施して中間ブロックA2を生成す
る。
字テーブルデータRを用いて中間ブロックA2〜A6に
データ撹乱を施して暗号文ブロックAを生成する。次
に、データ復号化装置20において、上記鍵データK及
び上記換字テーブルデータRを用いて、データ暗号化装
置10が生成した暗号文ブロックAに暗号処理を施して
復号文ブロックA(=平文ブロックA)を生成する動作
について説明する。
1に32ビットの部分鍵データが、K7,K6,…,K
1,K0の順で入力される。また、暗号文ブロックAの
暗号処理中は、1組の換字テーブルデータRが繰り返し
用いられる。データ撹乱部201は、部分鍵データK7
及び換字テーブルデータRを用いて暗号文ブロックAに
データ撹乱を施して中間ブロックA6を生成し、部分鍵
データK6及び換字テーブルデータRを用いて中間ブロ
ックA6にデータ撹乱を施して中間ブロックA5を生成
する。
字テーブルデータRを用いて中間ブロックA5〜A1に
データ撹乱を施して復号文データAを生成する。以上の
ことから、図2に示すデータ暗号化装置10で暗号化さ
れた平文データが図3に示すデータ復号化装置20で復
号化されることがわかる。ここで、データ暗号化装置1
0の安全性について述べる。
113と比較して、図6に示すような本実施の形態のデ
ータ変換部300は、換字テーブルデータを共有してい
るにもかかわらず、第1テーブル値変換部3002〜第
3テーブル値変換部3004を追加することで、擬似的
に4つの換字テーブルデータを保持するのと同等の効果
を得ている。例えば、図6においてA2=A3の場合に
は、換字テーブルデータが共有なのでB2=B3となる
が、B2は第1テーブル値変換部3002によって別の
値C2に変換されるので、第1加算部3005が同じ値
を算術加算演算する事はない。従って、この様な暗号シ
ステムはデータ撹乱能力が低くならず、安全性も保たれ
る。
0を有する暗号処理装置は、安全性を損なうことなく、
従来のデータ変換部3113を有する従来の暗号処理装
置よりも保管する換字テーブルデータのデータ量を1/
4に削減している。以上のように、本発明は、Blow
fish暗号方式などの換字テーブルデータを用いるブ
ロック暗号方式において、保管すべきデータ量を大幅に
削減することでハードウェア/ソフトウェア両面での実
装を簡便とし、且つ、高い安全性を保っている。 (実施の形態2)本発明の実施の形態2は、1つの換字
テーブルデータを使用して1つの換字データを出力し、
異なる回数のローテーションや異なる定数の足し算等の
固定変換を、1つの出力にそれぞれ施して複数の出力を
得、それらを使用することで、換字テーブルデータのデ
ータ量を削減しつつ安全性を損なわないことを実現する
暗号処理装置である。
ータ変換部300がデータ変換部500に、データ変換
部301がデータ変換部501に入れ代わる。また、用
いられる換字テーブルデータのデータ量が実施の形態2
では2Kビットであり、実施の形態1の4分の1となっ
ている。図7は、図4に示すデータ変換部500の詳細
な構成を示す図である。
タ保管部5001、第1入力変換部5002、第2入力
変換部5003、第3入力変換部5004、第4入力変
換部5005、第1排他的論理和部5006、第2排他
的論理和部5007、第3排他的論理和部5008、第
1テーブル値変換部5009、第2テーブル値変換部5
010、第3テーブル値変換部5011、第1加算部5
012、第2加算部5013、第3値加算部5014及
び第4加算部5015を備える。
8ビットずつの4組に分割される。ここでは、S0が4
分割された各8ビットを、順にE3,E2,E1,E0
とする。第1入力変換部5002は、上記E3を、上位
方向へ1ビットの巡回ビットシフト変換して、8ビット
の変換データF3を出力する。
上位方向へ2ビットの巡回ビットシフト変換して、8ビ
ットの変換データF2を出力する。第3入力変換部50
04は、上記E1を、上位方向へ3ビットの巡回ビット
シフト変換して、8ビットの変換データF1を出力す
る。第1排他的論理和部5006は、第1入力変換部5
002が出力する変換データF3と、第2入力変換部5
003が出力する変換データF2とを対象に排他的論理
和を行なって、8ビットのデータG2を出力する。
的論理和部5006が出力するデータG2と、第3入力
変換部5004が出力する変換データF1とを対象に排
他的論理和を行なって、8ビットのデータG1を出力す
る。第4入力変換部5005は、第2排他的論理和部5
007が出力するデータG1を、上位方向へ5ビットの
巡回ビットシフト変換して、8ビットの変換データF0
を出力する。
と、第4入力変換部5005が出力する変換データF0
とを対象に排他的論理和を行なって、8ビットのデータ
G0を出力する。換字テーブルデータ保管部5001
は、入力される2Kビットの換字テーブルデータを、上
位から8ビットずつの256個のテーブル値に分割して
保管し、第3排他的論理和部5008が出力するデータ
G0に基づいて、この256個のテーブル値の1個を特
定して出力する。ここでは、この出力をテーブル値H0
とする。
ーブルデータ保管部5001が出力する8ビットのテー
ブル値H0を、上位方向へ1ビットの巡回ビットシフト
変換して、8ビットの変換データI2を出力する。第2
テーブル値変換部5010は、換字テーブルデータ保管
部5001が出力する8ビットテーブル値H0を、上位
方向へ2ビットの巡回ビットシフト変換して、8ビット
の変換データI1を出力する。
ーブルデータ保管部5001が出力する8ビットのテー
ブル値H0を、上位方向へ3ビットの巡回ビットシフト
変換して、8ビットの変換データI0を出力する。第1
加算部5012は、第1入力変換部5002が出力する
8ビットの変換データF3と、換字テーブルデータ保管
部5001が出力する8ビットのテーブル値H0とを算
術加算演算し、8ビット目以上の繰り上がり分を無視し
て8ビットのデータJ0を出力する。
3が出力する8ビットの変換データF2と、第1テーブ
ル値変換部5009が出力する8ビットの変換データI
2とを算術加算演算し、8ビット目以上の繰り上がり分
を無視して8ビットのデータJ3を出力する。
4が出力する8ビットの変換データF1と、第2テーブ
ル値変換部5010が出力する8ビットの変換データI
1とを算術加算演算し、8ビット目以上の繰り上がり分
を無視して8ビットのデータJ2を出力する。
ブル値変換部5011が出力する8ビットの変換データ
I0とを算術加算演算し、8ビット目以上の繰り上がり
分を無視して8ビットのデータJ1を出力する。
算部5014の出力データJ2、第4加算部5015の
出力データJ1、及び、第1加算部5012の出力デー
タJ0を順に連結した32ビットのデータがデータ変換
部500の出力S1である。
す。 (1)入力された2Kビット(テーブル値8ビット×2
56個)の換字テーブルデータが、換字テーブルデータ
保管部5001に保管される。 (2)入力された32ビットの入力データが8ビットず
つの4組に分割される。ここで分割される入力データは
上位から順に、E3,E2,E1,E0である (3)第1入力変換部5002、第2入力変換部500
3、第3入力変換部5004、第4入力変換部500
5、第1排他的論理和部5006、第2排他的論理和部
5007、及び、第3排他的論理和部5008が、E
3,E2,E1,E0をビット演算して、8ビットのデ
ータG0を生成する。
が、データG0に基づいて256個のテーブル値の1個
を特定してテーブル値H0出力する。 (5)第1テーブル値変換部5009が、テーブル値H
0を上位方向へ1ビットの巡回ビットシフト変換して変
換データI2を出力し、第2テーブル値変換部5010
が、テーブル値H0を上位方向へ2ビットの巡回ビット
シフト変換して変換データI1を出力し、第3テーブル
値変換部5011が、テーブル値H0を上位方向へ3ビ
ットの巡回ビットシフト変換して変換データI0を出力
する。
2と変換データI2とを算術加算演算し8ビット目以上
の繰り上がり分を無視して8ビットのデータJ3を出力
し、第3加算部5014が変換データF1と変換データ
I1とを算術加算演算し8ビット目以上の繰り上がり分
を無視して8ビットのデータJ2を出力し、第4加算部
5015がE0と変換データI0とを算術加算演算し8
ビット目以上の繰り上がり分を無視して8ビットのデー
タJ1を出力し、第1加算部5012が変換データF3
とテーブル値H0とを算術加算演算し8ビット目以上の
繰り上がり分を無視して8ビットのデータJ0を出力す
る。
2、データJ1、及び、データJ0を順に連結し、32
ビットのデータ(=S1)を出力する。上記に説明した
様なデータ撹乱部101を備えたデータ暗号化方式の安
全性は、データ変換部500での変換操作のデータ撹乱
機能に大きく依存している。データ変換部500は、1
つの換字テーブルデータ保管部5001を用いて1個の
テーブル値を得、第1〜第3テーブル値変換部5009
〜5011で巡回ビットシフト変換して3個の変換デー
タを得、テーブル値と3個の変換データとを連結して出
力データを生成するので、テーブル値が1/4の1つの
換字テーブルデータでありながら、4種類の換字テーブ
ルデータ保管部を用いる場合に準ずる高い安全性が得ら
れる。
して強くなっている。図5に示したデータ変換部501
の詳細な構成は、データ変換部500と同様なので、そ
の説明を省略する。なお、本実施の形態1、2のデータ
暗号化装置10及びデータ復号化装置20の各構成部
は、EXOR(Exclusive-OR)等の論理回路を用いた専
用のハ−ドウェアで実現することができるだけでなく、
汎用のマイクロプロセッサ、制御プログラム、上記テー
ブルを格納したROM及び作業域としてのRAM等から
なるコンピュ−タシステム上でのソフトウェアによって
実現することができるのは言うまでもない。
2ビットと入力データ32ビット、及び32ビットのデ
ータ同士のデータ合成は、排他的論理和部1011,1
012,2011,2012で構成されているが、これ
はキャリー付きのフルアダー等の可逆な演算であれば排
他的論理和に限定されないことは言うまでもない。ただ
し、本実施の形態1においては第1排他的論理和部10
11及び第2排他的論理和部1012に用いる演算に対
して、第1排他的論理和部2011及び第2排他的論理
和部2012に用いる演算は逆演算を用い、本実施の形
態2においては第1排他的論理和部1011及び第2排
他的論理和部1012に用いる演算に対して、第1排他
的論理和部2011及び第2排他的論理和部2012に
用いる演算は逆演算を用いなければならない。さらに、
ここで用いる演算は、高速性を損なうことがない程度の
簡易なものが望ましい。
暗号化装置10またはデータ復号化装置20において、
データ撹乱部101、データ撹乱部201への入力を繰
り返す回数を8回としているが、これは8回でなくても
よい。繰り返し回数が8回よりも少ない場合は、データ
暗号化装置10、データ復号化装置20に入力される鍵
データのビット数256ビットよりも少なくすることが
できる。一方、繰り返し回数が8回よりも多い場合は、
データ暗号化装置10、データ復号化装置20に入力さ
れる鍵データのビット数256ビットよりも多くすれば
よい。また繰り返し回数が8回よりも多い場合でも、鍵
データを256ビットのままにして、分割された部分鍵
データを重複して使用することもできる。さらに、25
6ビットよりも少ない鍵データに対しては、前述のDE
S方式、FEAL方式にあるような部分鍵生成手段を用
いて、部分鍵を生成することも可能である。
テーブル値変換部3002、第2テーブル値変換部30
03、第3テーブル値変換部3004、データ変換部5
00,501の第1入力変換部5002、第2入力変換
部5003、第3入力変換部5004、第4入力変換部
5005、第1テーブル値変換部5009、第2テーブ
ル値変換部5010、第3テーブル値変換部5011の
ビットシフト操作において、上位方向にシフトするビッ
ト数は本実施の形態1、2のビット数に限定されるもの
ではなく、同一データを入力する各部においてシフトす
るビット数が異なる値であればよい。さらに、シフトす
るビット数を部分鍵データによって決定されるようにす
れば、よりよいデータ撹乱機能を得ることができる。例
えば、32ビットの部分鍵データの内の0〜4ビットが
表す0〜31の数を第1テーブル値変換部3002でシ
フトするビット数とし、32ビットの部分鍵データの内
の8〜12ビットが表す0〜31の数を第2テーブル値
変換部3003でシフトするビット数とし、32ビット
の部分鍵データの内の16〜20ビットが表す0〜31
の数を第3テーブル値変換部3004でシフトするビッ
ト数とする。
テーブル値変換部3002、第2テーブル値変換部30
03、第3テーブル値変換部3004、データ変換部5
00,501の第1テーブル値変換部5009、第2テ
ーブル値変換部5010、第3テーブル値変換部501
1の変換手段は、本実施の形態1、2の構成に限られる
ものではなく、入力データから出力データを一意に特定
できる変換であればよい。つまり、出力データから変換
前の入力データに復元することができない一方向性変換
であってもよい。ただし、同一のデータ変換部内で用い
る変換手段はそれぞれ異なる必要がある。さらに、ここ
で用いる演算は、高速性を損なうことがない程度の簡易
なものが望ましい。
的論理和部及び各データ変換部は、32ビットデータ又
は8ビットデータを変換単位としたが、本発明はこのよ
うなビット数に限定されるものではない。例えば、本発
明を汎用の64ビットCPUで実現する場合であれば6
4ビットデータを変換単位としたり、逆に処理の高速性
を考慮し、半分のビット数のデータ (例えば、下位1
6ビットデータ)のみを変換するものであってもよい。
ーブル値変換部により異なる固定変換を施されて得られ
た3個の変換データと、固定変換を施されない1個のテ
ーブル値とを、4種類の換字テーブルデータ保管部を用
いて得られた4個のテーブル値に準ずるものとして用い
ているが、4個のテーブル値変換部により異なる固定変
換を施されて得られた4個の変換データを用いてもよ
い。ただし4個のテーブル値変換部を用いる場合におけ
る固定変換は無変換を含むものとする。ここで、4個の
テーブル値変換部の内の何れか1つによる固定変換が無
変換である場合には、3個のテーブル値変換部を用いる
場合と同等となる。無変換とは、例えば固定変換が巡回
ビットシフト変換ならばシフト数がゼロということであ
り、異なる定数の足し算ならば定数がゼロということで
ある。要するに、固定変換を施される前のテーブル値が
仮に同じデータであったとしても、それぞれ異なるデー
タが得られる様な変換を施すテーブル値変換部であれば
よい。
換字テーブルデータ保管部を用いて得られた4個のテー
ブル値に準ずる4個のデータを、3個又は4個のテーブ
ル値変換部を用いて出力するが、本発明はこのような個
数に限定されるものではない。 (実施の形態3)本発明の実施の形態3は、実鍵データ
に前の暗号文ブロックを用いて変換を施すことにより入
力鍵データを更新し、換字テーブルデータは更新しない
暗号処理装置であり、換字テーブルデータの生成頻度を
削減することで高速な処理を実現し、且つ、入力鍵デー
タを更新することで安全性を損なわないことを実現する
暗号処理装置である。
号通信システムの構成を示す図である。図8に示す暗号
通信システムは、送信機6及び受信機7を備える。送信
機6は、データ暗号化装置60及び送信部61を備え
る。データ暗号化装置60は、64ビット×10組の暗
号化鍵データを用いて、64ビット単位で平文データに
暗号処理を施して暗号文データを生成する。ここで平文
データは、例えばデジタル符号化された音声または画像
情報等であり、暗号化鍵データは、予め送信機6と受信
機7とが秘密に共有するものである。
成した暗号文データを、並列to直列変換、変調及び増幅
して生成した送信信号を伝送路8に送出する。受信機7
は、データ復号化装置70及び受信部71を備える。受
信部71は、送信部61から送出された送信信号を伝送
路8を介して受信し、送信部61と逆の処理を施して暗
号文データを復元する。
0組の暗号化鍵データを用いて、64ビット単位で暗号
文データに暗号処理を施して復号文データ(=平文デー
タ)を生成する。ここで生成された復号文データは、例
えばデジタル符号化された音声又は画像情報等であり、
専用のデコーダ(図示せず)でデコードされてスピーカ
又はディスプレイで再生される。
の詳細な構成を示す図である。データ暗号化装置60
は、データ暗号化部601、換字テーブルデータ生成部
602、入力鍵生成部603及び鍵制御部604を備え
る。鍵制御部604は、640ビット暗号化鍵データを
上位から64ビットずつ10組に分割して実鍵データK
[0]〜K[9]を生成し、データ暗号化部601にお
ける1024個の平文ブロックの処理毎に、実鍵データ
K[0]〜K[9]を順に換字テーブルデータ生成部6
02と入力鍵生成部603とに出力する。勿論、K
[9]の後はK[0]を出力する。
御部604から64ビットの実鍵データを入力した時に
のみ、Blowfish暗号方式に用いられている換字
テーブルデータ生成アルゴリズムに従って、32Kビッ
ト(テーブル値32ビット×1024個)の換字テーブ
ルデータを生成し、データ暗号化部601へ出力する。
ら64ビットの実鍵データを入力して保管し、データ暗
号化部601により暗号文ブロックが生成される毎に、
当該暗号文ブロックと保管している64ビットの実鍵デ
ータとを対象に排他的論理和演算を行ない、演算値を入
力鍵データとして次の平文ブロックに暗号処理を施す為
にデータ暗号化部601に出力する。なお、排他的論理
和演算を行なう場合において、最初の平文ブロックに暗
号処理を施す場合には、前の暗号文ブロックが存在しな
いので、64ビットの初期値IV(以下「初期ブロック
IV」と記す)と実鍵データとを対象に排他的論理和演
算を行ない、演算値を入力鍵データとして最初の平文ブ
ロックに暗号処理を施す為にデータ暗号化部601に出
力する。勿論、64ビットの初期ブロックIVは予め入
力鍵生成部603に保管されているものとする。
いて、例えば32個の暗号文ブロックが生成された後で
次の平文ブロックに暗号処理を施す場合には、当該暗号
文ブロックを対象とせず、初期ブロックIVと実鍵デー
タとを対象に排他的論理和演算を行なうものであっても
よい。即ち、この場合には、実鍵データと排他的論理和
演算を行なう対象が32回毎に初期化される。
力鍵データ及び32Kビットの換字テーブルデータを用
いて、64ビット単位で平文データに暗号処理を施して
暗号文データを生成する。また、換字テーブルデータ生
成部602から32Kビットの換字テーブルデータを入
力した場合にのみ、入力した換字テーブルデータを更新
する。
0の詳細な構成を示す図である。データ復号化装置70
は、データ復号化部701、換字テーブルデータ生成部
702、入力鍵生成部703及び鍵制御部704とを備
える。鍵制御部704は、64ビット×10組の暗号化
鍵データを上位から64ビットずつ10組に分割して実
鍵データK[0]〜K[9]を生成し、データ復号化部
701における1024個の暗号文ブロックの処理毎
に、実鍵データK[0]〜K[9]を順に換字テーブル
データ生成部702と入力鍵生成部703とに出力す
る。勿論、K[9]の後はK[0]を出力する。
御部704から64ビットの実鍵データを入力した時に
のみ、Blowfish暗号方式に用いられている換字
テーブルデータ生成アルゴリズムに従って、32Kビッ
ト換字テーブルデータを生成し、データ復号化部701
へ出力する。入力鍵生成部703は、鍵制御部704か
ら64ビットの実鍵データを入力して保管し、データ復
号化部701により平文ブロックが生成される毎に、当
該平文ブロックに対応する暗号文ブロックと保管してい
る64ビットの実鍵データとを対象に排他的論理和演算
を行ない、演算値を入力鍵データとして次の暗号文ブロ
ックに暗号処理を施す為にデータ復号化部701に出力
する。なお、排他的論理和演算を行なう場合において、
最初の暗号文ブロックに暗号処理を施す場合には、前の
暗号文ブロックが存在しないので、初期ブロックIVと
実鍵データとを対象に排他的論理和演算を行ない、演算
値を入力鍵データとして最初の暗号文ブロックに暗号処
理を施す為にデータ復号化部701に出力する。勿論、
64ビットの初期ブロックIVは予め入力鍵生成部70
3に保管されているものとする。
いて、例えば32個の平文ブロックが生成された後で次
の暗号文ブロックに暗号処理を施す場合には、当該平文
ブロックに対応する暗号文ブロックを対象とせず、初期
ブロックIVと実鍵データとを対象に排他的論理和演算
を行なうものであってもよい。即ち、この場合には、実
鍵データと排他的論理和演算を行なう対象が32回毎に
初期化される。
ータ生成部702から32Kビットの換字テーブルデー
タを入力した場合にのみ、入力した換字テーブルデータ
を更新し、64ビットの入力鍵データ及び32Kビット
の換字テーブルデータを用いて、64ビット単位で暗号
文データに暗号処理を施して平文データを生成する。図
11は、図9に示すデータ暗号化部601の詳細な構成
を示す図である。
011、段数制御部6012と、部分鍵生成部6013
を備える。部分鍵生成部6013は、Blowfish
暗号方式に用いられている部分鍵生成アルゴリズムに従
って、64ビットの入力鍵データから256ビットのビ
ットデータを生成し、生成されたビットデータを各32
ビットずつの8組に分割し、部分鍵SK0〜SK7とし
て保管する。
換字テーブルデータ、及び、部分鍵生成部6013が生
成した32ビットの部分鍵データを用いて、入力される
64ビットのデータにデータ撹乱を繰り返し施し、64
ビットのデータを出力する。段数制御部6012は、平
文ブロックから暗号文ブロックが生成されるまでに、デ
ータ撹乱部6011が繰り返し施すデータ撹乱の回数を
制御する。段数制御部7012は、平文ブロック毎にデ
ータ撹乱の回数をカウントし、予め定められた回数に満
たない場合にはデータ撹乱部6011の出力をデータ撹
乱部6011に入力してデータ撹乱を繰り返し、予め指
定された回数の場合には暗号文ブロックとして出力す
る。ここでは、予め指定された回数を8回とする。
乱には部分鍵SK0が用いられ、以下、データ撹乱が繰
り返し施される度に、SK1,SK2,…,SK7と順
に用いられる。勿論、SK7の後はSK0が用いられ
る。図12は、図10に示すデータ復号化部701の詳
細な構成を示す図である。データ復号化部701は、デ
ータ撹乱部7011、段数制御部7012及び部分鍵生
成部7013を備える。
生成部6013と同様である。データ撹乱部7011
は、図11のデータ撹乱部6011と同様である。段数
制御部7012は、暗号文ブロックから平文ブロックが
生成されるまでに、データ撹乱部7011が繰り返し施
すデータ撹乱の回数を制御する。段数制御部7012
は、暗号文ブロック毎にデータ撹乱の回数をカウント
し、予め定められた回数に満たない場合にはデータ撹乱
部7011の出力をデータ撹乱部7011に入力してデ
ータ撹乱を繰り返し、予め指定された回数の場合には平
文ブロックとして出力する。ここでは、予め指定された
回数を8回とする。
撹乱には部分鍵SK7が用いられ、以下、データ撹乱が
繰り返し施される度に、SK6,SK5,…,SK0と
順に用いられる。勿論、SK0の後はSK7が用いられ
る。また、図11に示すデータ撹乱部6011は、図1
6に示すデータ撹乱部3011と同様であり、また、図
12に示すデータ撹乱部7011の構成は、図17に示
すデータ撹乱部4011と同様である。
タ、入力鍵データ、及び、換字テーブルデータの対応関
係を示す図である。ここで、ブロックNo.tとは、入
力される平文データを先頭から64ビット単位のブロッ
クに区切り、0から順に番号を付けたものである。また
図中の実鍵データ''−''は鍵制御部604から出力のな
い事を示している。また、(+)はビット毎の排他的論
理和の演算であり、IVは初期ブロックIVであり、C
tはブロックNo.tの平文ブロックに暗号処理を施し
て得られた暗号文ブロックを指す。また、TG(K
[i])は(i=0,1,…,9)、実鍵データK
[i]から生成された換字テーブルデータを指す。
ブロック毎に、K[i](+)IV(i=0,1,…,
9)にリセットされる。また、1024ブロック毎に、
鍵制御部604から実鍵データが出力されることによっ
て、換字テーブルデータ及び入力鍵データが更新され
る。ここで、暗号通信システム全体の動作の一例を説明
する。
平文データは先頭から64ビット単位で、予め保持して
いる暗号化鍵データを用いて暗号処理が施される。以
下、平文データを先頭から64ビット単位に区切り、順
に平文ブロックPt(t=0,1,… )と記す。 (1)まず、平文ブロックP0の暗号処理について記
す。
ブロックP0の暗号処理に用いる為に、暗号化鍵データ
から生成された実鍵データK[0]が出力される。図9
に示す換字テーブルデータ生成部602において、実鍵
データK[0]から生成された換字テーブルデータTG
(K[0])が出力される。図9に示す入力鍵生成部6
03において、実鍵データK[0]と初期ブロックIV
とを対象に排他的論理和演算が行なわれ入力鍵データK
[0](+)IVが出力される。
て、換字テーブルデータTG(K[0])及び入力鍵デ
ータK[0](+)IVを用いて、平文ブロックP0に
暗号処理を施して暗号文ブロックC0を生成する。 (2)続いて、平文ブロックP1の暗号処理について記
す。平文ブロックP1の暗号処理においては、鍵制御部
604から新たな実鍵データは出力されず、換字テーブ
ルデータ生成部602は新たな換字テーブルデータを生
成しない。
K[0]と1つ前の暗号文ブロックC0とを対象に排他
的論理和演算が行なわれ入力鍵データK[0](+)C
0が出力される。データ暗号化部601において、換字
テーブルデータTG(K[0])及び入力鍵データK
[0](+)C0を用いて、平文ブロックP1に暗号処
理を施して暗号文ブロックC1を生成する。
理については、平文ブロックP1と同様である。 (4)続いて、平文ブロックP32の暗号処理について
記す。平文ブロックP32の暗号処理においても、鍵制
御部604から新たな実鍵データは出力されず、換字テ
ーブルデータ生成部602は新たな換字テーブルデータ
を生成しない。
K[0]と初期ブロックIVとを対象に排他的論理和演
算が行なわれ入力鍵データK[0](+)IVが出力さ
れる。データ暗号化部601において、換字テーブルデ
ータTG(K[0])及び入力鍵データK[0](+)
IVを用いて、平文ブロックP32に暗号処理を施して
暗号文ブロックC32を生成する。
処理については、平文ブロックP1と同様である。 (6)以下、平文ブロックP1023までは、平文ブロ
ックP32〜P63と同様の暗号処理を繰り返す。 (7)続いて、平文ブロックP1024の暗号処理につ
いて記す。
1024の暗号処理に用いる為に、暗号化鍵データから
生成された実鍵データK[1]が出力される。換字テー
ブルデータ生成部602において、実鍵データK[1]
から生成された換字テーブルデータTG(K[1])が
出力される。入力鍵生成部603において、実鍵データ
K[1]と初期ブロックIVとを対象に排他的論理和演
算が行なわれ入力鍵データK[1](+)IVが出力さ
れる。
ブルデータTG(K[1])及び入力鍵データK[1]
(+)IVを用いて、平文ブロックP1024に暗号処
理を施して暗号文ブロックC1024を生成する。 (8)続いて、平文ブロックP1025の暗号処理につ
いて記す。平文ブロックP1025の暗号処理において
は、鍵制御部604から新たな実鍵データは出力され
ず、換字テーブルデータ生成部602は新たな換字テー
ブルデータを生成しない。
K[1]と1つ前の暗号文ブロックC1024とを対象
に排他的論理和演算が行なわれ入力鍵データK[1]
(+)C1024が出力される。データ暗号化部601
において、換字テーブルデータTG(K[1])及び入
力鍵データK[1](+)C1024を用いて、平文ブ
ロックP1025に暗号処理を施して暗号文ブロックC
1025を生成する。
ロックP0〜P1023と同様の暗号処理を繰り返す。 (10)暗号文ブロックの暗号処理については、上記
(1)〜(9)の逆変換であり、実鍵データと排他的論
理和演算を行なう対象がデータ暗号化部601で生成さ
れた暗号文ブロックではなく、データ復号化部701に
入力される1つ前の暗号文ブロックである点とが異なる
のみである。
る。なお、以下の暗号化処理の説明中で用いられる各記
号には、暗号化(encryption)の頭文字
「e」を添え字として付けるものとし、復号化処理の説
明中で用いられる各記号には、復号化(descryp
tion)の頭文字「d」を添え字として付けるものと
する。
024×k)(k=0,1,… )の暗号処理の際に、
実鍵データKe[k mod 10]を出力し、平文ブロ
ックPe(1024×k)以外の暗号処理の際には、実
鍵データを出力しない。換字テーブルデータ生成部60
2は、平文ブロックPe(1024×k)の暗号処理の
際に、鍵制御部604から入力した実鍵データKe[k
mod 10]に従って換字テーブルデータを生成して
出力し、平文ブロックPe(1024×k)以外の暗号
処理の際には、換字テーブルデータを出力しない。
(32×j)(j=0,1,… )の暗号処理の際に、
初期ブロックIVeと実鍵データKe[(((32×
j)−((32×j)mod1024))/1024)
mod 10]とを対象に排他的論理和演算を行ない入
力鍵データを生成して出力する。平文ブロックPe(3
2×j)以外の平文ブロックPetの暗号処理の際に
は、暗号文ブロックCe(t−1)と実鍵データKe
[((t−(tmod1024))/1024)mod
10]とを対象に排他的論理和演算を行ない入力鍵デ
ータを生成して出力する。よって、t=(32×j)
(j=0,1,… )の時に、平文ブロックPetの暗
号処理の際に用いる入力鍵データIKetは、 入力鍵データIKet=Ke[((t−(tmod1024))/1024) mod 10](+)IVe −(式21) t=(32×j)(j=0,1,… )以外の時に、平
文ブロックPetの暗号処理の際に用いる入力鍵データ
IKetは、 入力鍵データIKet=Ke[((t−(tmod1024))/1024) mod 10](+)Ce(t−1) −(式22) となる。
024)mod 10とすると、換字テーブルデータT
Ge(Ke[i])なので、平文ブロックPet (t
=0,1,… )に暗号処理を施して得られる64ビッ
トの暗号文ブロックCetは、 暗号文ブロックCet=Enc(Pet,TGe(Ke[i]),IKet) −(式23) で表せる。ここでEncはデータ暗号化部601内部の
処理内容を表す。
データIKet及び換字テーブルデータTGe(Ke
[i])を用いて、64ビット単位で平文ブロックPe
tに暗号処理を施して暗号文ブロックCet=Enc
(Pet,TGe(Ke[i]),IKet)を生成す
る。鍵制御部704は、暗号文ブロックCd(1024
×k)(k=0,1,…)の暗号処理の際に、実鍵デー
タKd[k mod 10]を出力し、暗号文ブロックC
d(1024×k)以外の暗号処理の際には、実鍵デー
タを出力しない。
文ブロックCd(1024×k)の暗号処理の際に、鍵
制御部704から入力した実鍵データKd[k mod
10]に従って換字テーブルデータを生成して出力し、
暗号文ブロックCd(1024×k)以外の暗号処理の
際には、換字テーブルデータを出力しない。入力鍵生成
部703は、暗号文ブロックCd(32×j)(j=
0,1,…)の暗号処理の際に、初期ブロックIVdと
実鍵データKd[(((32×j)−((32×j)m
od1024))/1024)mod 10]とを対象
に排他的論理和演算を行ない入力鍵データを生成して出
力する。暗号文ブロックCd(32×j)以外の暗号文
ブロックCdtの暗号処理の際には、暗号文ブロックC
d(t−1)と実鍵データKd[((t−(tmod1
024))/1024)mod 10]とを対象に排他
的論理和演算を行ない入力鍵データを生成して出力す
る。よって、t=(32×j)(j=0,1,… )の
時に、暗号文ブロックCdtの暗号処理の際に用いる入
力鍵データIKdtは、 入力鍵データIKdt=Kd[((t−(tmod1024))/1024) mod 10](+)IVd −(式24) t=(32×j)(j=0,1,… )以外の時に、暗
号文ブロックCdtの暗号処理の際に用いる入力鍵デー
タIKdtは、 入力鍵データIKdt=Kd[((t−(tmod1024))/1024) mod 10](+)Cd(t−1) −(式25) となる。
4))/1024)mod 10を用いると、換字テー
ブルデータTGd(Kd[i])なので、暗号文ブロッ
クCdt(t=0,1,… )に暗号処理を施して得ら
れる64ビットの復号文ブロックDdtは、 復号文ブロックDdt=Dec(Cdt,TGd(Kd[i]),IKdt) −(式26) で表せる。ここでDecはデータ復号化部701内部の
処理内容を表す。
データIKdt及び換字テーブルデータTGd(Kd
[i])を用いて、64ビット単位で暗号文ブロックC
dtに暗号処理を施して復号文ブロックDdt=Dec
(Cdt,TGd(Kd[i]),IKdt)を生成す
る。ここで、ある平文ブロック列Pe0,Pe1,・・
・に対して、データ暗号化装置60で任意の実鍵データ
と初期ブロックとを用いて暗号化した暗号文ブロック列
を、データ復号化装置70でデータ暗号化装置60で用
いたのと同じ実鍵データと初期ブロックとを用いて復号
した復号文ブロック列Dd0,Dd1、・・・は、元の
平文ブロック列と等しい事を示す。但し、換字テーブル
データ生成部602と換字テーブルデータ生成部702
とは全く同一の機能を有するものとする。従って、ある
実鍵データに従って換字テーブルデータ生成部602が
生成した換字テーブルデータと、同じ実鍵データに従っ
て換字テーブルデータ生成部702が生成した換字テー
ブルデータとは、勿論同一である。
化装置70とで同じ実鍵データを用いるので、 実鍵データKe=実鍵データKd 以下、これらを実鍵データKsと記す。 (2)データ暗号化装置60とデータ復号化装置70と
で、同じ初期ブロックを用いるので、 初期ブロックIVe=初期ブロックIVd 以下、これらを初期ブロックIVsと記す。
暗号文ブロック列を、データ復号化装置70で復号する
ので、 暗号文ブロックCet=暗号文ブロックCdt 以下、これらを暗号文ブロックCstと記す。 (4)上記(1)、(2)及び(式21)より、t=
(32×j)(j=0,1,… )の時に、平文ブロッ
クPetの暗号処理の際に用いる入力鍵データIKet
は、 入力鍵データIKet=Ks[((t−(tmod1024))/1024) mod 10](+)IVs −(式27) (5)上記(1)、(2)及び(式24)より、t=
(32×j)(j=0,1,… )の時に、暗号文ブロ
ックCstの暗号処理の際に用いる入力鍵データIKd
tは、 入力鍵データIKdt=Ks[((t−(tmod1024))/1024) mod 10](+)IVs −(式28) (6)(式27)の右辺と(式28)の右辺が等しいの
で、t=(32×j)(j=0,1,… )の時には、 入力鍵データIKet=入力鍵データIKdt が成り立つ。
より、t=(32×j)(j=0,1,… )以外の時
に、平文ブロックPetの暗号処理の際に用いる入力鍵
データIKetは、 入力鍵データIKet=Ks[((t−(tmod1024))/1024) mod 10](+)Cs(t−1) −(式29) (8)上記(1)、(3)及び(式25)より、t=
(32×j)(j=0,1,… )以外の時に、暗号文
ブロックCdtの暗号処理の際に用いる入力鍵データI
Kdtは、 入力鍵データIKdt=Ks[((t−(tmod1024))/1024) mod 10](+)Cs(t−1) −(式30) (9)(式29)の右辺と(式30)の右辺が等しいの
で、t=(32×j)(j=0,1,… )以外の時に
は、 入力鍵データIKet=入力鍵データIKdt が成り立つ。
(32×j)(j=0,1,… )の時にも、t=(3
2×j)(j=0,1,… )以外の時にも、 入力鍵データIKet=入力鍵データIKdt が成り立つ。
す。 (11)換字テーブルデータ生成部602と換字テーブ
ルデータ生成部702とは全く同一の機能を有するの
で、 換字テーブルデータ TGe(Ks[i])=換字テー
ブルデータTGd(Ks[i]) 以下、これらを換字テーブルデータ TGs(Ks
[i])と記す。
3)より、平文ブロックPet (t=0,1,… )に
暗号処理を施して得られる64ビットの暗号文ブロック
Cstは、 暗号文ブロックCst=Enc(Pet,TGs(Ks[i]),IKst) −(式31) (13)上記(10)、(11)、(式26)より、暗
号文ブロックCst (t=0,1,… )に暗号処理を
施して得られる64ビットの復号文ブロックDdtは、 復号文ブロックDdt=Dec(Cst,TGs(Ks[i]),IKst) −(式32) (14)(式32)のCstに(式31)を代入して、 復号文ブロックDdt=Dec(Enc(Pet,TGs(Ks[i]),I Kst),TGs(Ks[i]),IKst) −(式33) (15)ここで、実施の形態1において説明したデータ
撹乱部101で暗号化された平文データがデータ撹乱部
201で復号化されるのと同様の原理により、データ暗
号化部601において、平文ブロックαに対して32K
ビットの換字テーブルデータβ及び64ビットの入力鍵
データγに従って暗号化した結果のブロックを、データ
復号化部701において、暗号化で用いたものと同じ換
字テーブルデータβ及び入力鍵データγによって復号化
した時に得られるブロックはもとの平文ブロックαに等
しい、すなわち、 Dec(Enc(α,β,γ),β,γ)=α −(式34) (16)よって、(式33)及び(式34)より、 復号文ブロックDdt=平文ブロックPet −(式35) が成り立つ。
ついて述べる。この安全性はデータ暗号化部601の安
全性に大きく依存している。本実施の形態の場合、実鍵
データをCKtとすると、データ暗号化部601へ入力
される入力鍵データIKtは、 入力鍵データIKt=CKt(+)IV (t=k×32 のとき) 入力鍵データIKt=CKt(+)C(t−1) (t≠k×32 のとき) となる。 −(式36) ここで、k=0,1,… である。
文ブロックであるから、暗号解読者には既知である。し
かし初期値IV及び鍵制御部604から出力される実鍵
データCKtは解読者には未知の値であるから、暗号解
読者にとっては入力鍵データIKtの値も未知である。
従って、暗号解読者は既知平文攻撃によって、コンピュ
ータ上でデータ暗号化部601をシミュレートしたとし
ても、暗号化鍵データを見つけることはできない。
ータを平文ブロックPtの暗号化毎に更新していくの
で、入力鍵データを全て同じとする場合と比べて安全性
が向上している。さらに、本実施の形態においては、1
024個の平文ブロックを暗号化する毎にデータ暗号化
部に入力される換字テーブルデータが更新されるので、
換字テーブルデータを全て同じとする場合と比べて安全
性が向上している。
換字テーブルデータの生成は暗号化又は復号化を102
4回実行する毎に1回だけしか行わないこと、及び、デ
ータ暗号化部601及びデータ復号化部701内部で行
う256ビットの部分鍵の生成よりも換字テーブルデー
タの生成の方がはるかに時間がかかることから、従来例
3のように暗号化の高速性を損なうことなく、且つ安全
性を強化している。
成部603,703で2つの64ビットの演算対象に対
してビット毎の排他的論理和演算が行なわれるが、融合
手段として他の如何なる処理を用いても同様な効果が得
られる。また、本実施の形態においては、鍵制御部60
4,704から生成される実鍵データは64ビットとし
ているが、必ずしも64ビットである必要はない。実鍵
データが64ビット以下、例えば40ビットの場合に
は、出力データが64ビットとなるようなデータ融合手
段を、入力鍵生成部603,703に用いればよい。
成部603に1つ前の暗号化で生成される暗号文データ
を入力しているが、1つ前の暗号化の処理過程で得られ
る64ビットの値であれば何でもよい。さらにこの値
は、必ずしも64ビットである必要はなく、64ビット
以下、例えば40ビットの場合には、出力データが64
ビットとなるようなデータ融合手段を、入力鍵生成部6
03,703に用いればよい。
号化部601がBlowfish暗号方式を用いている
が、鍵データに基づいて換字テーブルデータを生成する
ようなブロック暗号方式であれば何でもよい。また、本
実施の形態では、各64ビットの実鍵データ10組から
なる暗号化鍵データを装置内に保管しているが、最初の
ブロックの暗号処理に用いる64ビットの実鍵データを
1個だけ保管しておき、他の実鍵データは平文データと
共に暗号化して送信側から伝送するようにするか、又
は、Diffie−Hellman方式などの公開鍵暗
号方式を用いて暗号化鍵データを配送して共有するよう
にしてもよい。
置で平文データを入力して暗号化し、データ復号化装置
で暗号文データを復号化するものであるが、データ暗号
化装置における暗号化とデータ復号化装置における復号
化とは逆変換の関係にあるので、それぞれ暗号化装置に
も復号化装置にも成り得る。よって、上記各実施の形態
において、上記各データ復号化装置が平文データを入力
して暗号化し、上記各データ暗号化装置が暗号文データ
を復号化するものであってもよい。
のハードウェアであるものとして説明したが、ソフトウ
ェアで実現するものであってもよい。さらに、当該ソフ
トウェアは、CD−ROM等のコンピュータ読み取り可
能な記憶媒体に記憶された形でも装置等の場合と同様
に、生産、使用、譲渡、貸渡し、輸入、又は譲渡若しく
は貸渡しの申出等の対象となる。
タを用いて入力データに暗号処理を施し出力データを生
成する暗号処理装置であって、N及びMを2以上の整数
とした場合、所定ビットの換字データを(2^N)個保
管する保管手段と、(N×M)ビットの入力データをM
個に等分して各Nビットの分割データをM個生成する分
割手段と、分割手段が生成したM個の分割データ又はそ
れらの分割データに合成処理を施して生成した入力合成
データを入力としNビットの入力毎に保管手段が保管す
る(2^N)個の換字データから前記所定ビットの換字
データを1個特定して出力する換字手段と、換字手段が
出力した換字データが入力され複数の異なる固定変換を
施すことによって前記所定ビットの変換データをM個生
成する固定変換手段と、固定変換手段が生成したM個の
変換データに基づいて(N×M)ビットの出力データを
生成する出力データ生成手段とを備えることを特徴とす
る。
で高い安全性を得ることができる。従って、ハードウェ
ア/ソフトウェア両面での実装が簡便なデータ暗号化装
置が実現できる。また、前記固定変換手段における各固
定変換はローテーション処理であり各固定変換は互いに
ローテーションするビット数が異なることを特徴とする
こともできる。
ンのビット数を互いに異なるものとするだけで、各固定
変換において異なる固定変換が施される。また、前記暗
号処理装置は、さらに、鍵データを入手する鍵入手手段
と、鍵入手手段が入手した鍵データに基づいて前記固定
変換手段における各固定変換のローテーションの回数を
決定する回数決定手段とを備えることを特徴とすること
もできる。
ーションの回数を決定することができる。従って、より
高い安全性を得ることができる。また、前記保管手段が
保管する換字データの所定ビットは(N×M)ビットで
あり、前記換字手段は前記分割手段が生成したM個の分
割データのそれぞれに基づいて保管手段が保管する(2
^N)個の換字データからそれぞれ1個を特定し各(N
×M)ビットの換字データをM個出力し、前記固定変換
手段は換字手段が出力したM個の換字データにそれぞれ
異なる固定変換を施すことによって、(N×M)ビット
の変換データをM個生成し、前記出力データ生成手段は
固定変換手段が生成したM個の変換データの全てを対象
に合成処理を施すことによって、(N×M)ビットの出
力データを生成することを特徴とすることもできる。
字テーブルデータを従来の1/Mに削減できる。従っ
て、ハードウェア/ソフトウェア両面での実装が簡便な
データ暗号化装置が実現できる。また、前記出力データ
生成手段における合成処理を構成する各処理はそれぞ
れ、算術和及びビット毎の排他的論理和の内の何れかを
行なことを特徴とすることもできる。
的論理和の内の何れかを行なうことで合成処理が行われ
る。従って、処理が簡単であり処理速度も問題にならな
い。また、前記保管手段が保管する換字データの所定ビ
ットはNビットであり、前記換字手段は前記分割手段が
生成したM個の分割データの全てを対象に全体合成処理
を施すことによってNビットの入力合成データを生成す
る入力合成手段を含みNビットの入力合成データに基づ
いて保管手段が保管する(2^N)個の換字データから
1個を特定しNビットの換字データを出力し、前記固定
変換手段は換字手段が出力した換字データに異なるM個
の固定変換を個々に施すことによってNビットの変換デ
ータをM個生成し、前記出力データ生成手段は、前記分
割手段が生成したM個の分割データの内の1個と前記固
定変換手段が生成したM個の変換データの内の1個とを
対象に個別合成処理をそれぞれ施すことによってNビッ
トの出力合成データをM個生成する出力合成手段と、前
記出力合成手段が生成した各NビットのM個の出力合成
データを連結処理を施すことによって(N×M)ビット
の出力データを生成する連結手段とを含むことを特徴と
することもできる。
字テーブルデータを従来の1/M/Mに削減できる。従
って、ハードウェア/ソフトウェア両面での実装が簡便
なデータ暗号化装置が実現できる。また、前記入力合成
手段における全体合成処理を構成する各処理はそれぞれ
は、算術和及びビット毎の排他的論理和の内の何れかを
行なうことを特徴とすることもできる。
的論理和の内の何れかを行なうことで全体合成処理が行
われる。従って、処理が簡単であり処理速度も問題にな
らない。また、前記入力合成手段における全体合成処理
を構成する各処理はそれぞれは前記分割手段が生成した
M個の分割データにそれぞれ異なる固定変換を施した後
に算術和及びビット毎の排他的論理和の内の何れかを行
なうことを特徴とすることもできる。
施した後に算術和及びビット毎の排他的論理和の内の何
れかを行なうことで全体合成処理が行われる。従って、
処理が簡単であり処理速度も問題にならない上、固定変
換を施す分高い安全性を得ることができる。また、前記
出力合成手段における個別合成処理はそれぞれ、算術和
及びビット毎の排他的論理和の内の何れかを行なうこと
を特徴とすることもできる。
的論理和の内の何れかを行なうことで個別合成処理が行
われる。従って、処理が簡単であり処理速度も問題にな
らない。本発明に係る暗号処理装置は、換字テーブルデ
ータを作成しこれを用いて入力データに暗号処理を施し
出力データを生成する暗号処理装置であって、鍵データ
を保持する鍵データ保持手段と、換字テーブルデータを
保持する換字テーブルデータ保持手段と、入力データを
所定のビット数のブロック単位に分割し入力ブロックと
して順次出力するブロック化手段と、所定数の入力ブロ
ックに暗号処理を施した後で次の入力ブロックに暗号処
理を施す場合に換字テーブルデータを作成し換字テーブ
ルデータ保持手段に保持された換字テーブルデータを作
成した換字テーブルデータに更新する換字テーブルデー
タ作成手段と、前の入力ブロックに暗号処理を施した後
で次の入力ブロックに暗号処理を施す場合には鍵データ
保持手段に保持された鍵データに前の入力ブロックに暗
号処理を施した際に暗号処理手段が生成した出力ブロッ
クを用いてビット変換を施し鍵データを変換する鍵デー
タ変換手段と、換字テーブルデータ保持手段に保持され
た換字テーブルデータと前記鍵データとを用いてブロッ
ク化手段が順次出力する入力ブロックに暗号処理を施す
ことによって順次出力ブロックを生成する暗号処理手段
とを備える。
用いて入力データに暗号処理を施し出力データを生成す
る暗号処理装置であって、鍵データを保持する鍵データ
保持手段と、換字テーブルデータを保持する換字テーブ
ルデータ保持手段と、入力データを所定のビット数のブ
ロック単位に分割し入力ブロックとして順次出力するブ
ロック化手段と、所定数の入力ブロックに暗号処理を施
した後で次の入力ブロックに暗号処理を施す場合に換字
テーブルデータを作成し換字テーブルデータ保持手段に
保持された換字テーブルデータを作成した換字テーブル
データに更新する換字テーブルデータ作成手段と、前の
入力ブロックに暗号処理を施した後で次の入力ブロック
に暗号処理を施す場合には鍵データ保持手段に保持され
た鍵データに前の入力ブロックを用いてビット変換を施
し鍵データを変換する鍵データ変換手段と、換字テーブ
ルデータ保持手段に保持された換字テーブルデータと前
記鍵データとを用いてブロック化手段が順次出力する入
力ブロックに暗号処理を施すことによって順次出力ブロ
ックを生成する暗号処理手段とを備えるものであっても
よい。
用いて入力データに暗号処理を施し出力データを生成す
る暗号処理装置であって、鍵データを保持する鍵データ
保持手段と、換字テーブルデータを保持する換字テーブ
ルデータ保持手段と、入力データを所定のビット数のブ
ロック単位に分割し入力ブロックとして順次出力するブ
ロック化手段と、所定数の入力ブロックに暗号処理を施
した後で次の入力ブロックに暗号処理を施す場合に換字
テーブルデータを作成し換字テーブルデータ保持手段に
保持された換字テーブルデータを作成した換字テーブル
データに更新する換字テーブルデータ作成手段と、一個
の入力ブロックに暗号処理を施した後で次の入力ブロッ
クに暗号処理を施す場合には鍵データ保持手段に保持さ
れた鍵データに前の入力ブロックに暗号処理を施す間に
暗号処理手段が生成した中間ブロックを用いてビット変
換を施し鍵データを変換する鍵データ変換手段と、換字
テーブルデータ保持手段に保持された換字テーブルデー
タと前記鍵データとを用いてブロック化手段が順次出力
する入力ブロックに暗号処理を施すことによって順次暗
号処理の過程で得られる中間ブロックと暗号処理の結果
に得られる出力ブロックとを生成する暗号処理手段とを
備えるものであってもよい。
字テーブルデータは1ブロックを処理する毎には生成さ
れないが、鍵データは1ブロックを処理する毎に変換さ
れる。従って、高速性を損なうことがないにも関らず安
全性の高いデータ暗号化装置が実現できる。
所定数の入力ブロックに暗号処理を施した後で次の入力
ブロックに暗号処理を施す場合に鍵データを入手して鍵
データ保持手段に保持された鍵データを更新する鍵デー
タ入手手段を備え、前記換字テーブルデータ作成手段は
鍵データ入手手段により入手された鍵データに基づいて
換字テーブルデータを作成することを特徴とすることも
できる。
号処理を施す毎に、更新した鍵データに基づいて、換字
テーブルデータを作成することができる。また、前記鍵
データ入手手段は、さらに、入力データ中の先頭の入力
ブロックに暗号処理を施す場合は鍵データを入手して鍵
データ保持手段に保持し、前記換字テーブルデータ作成
手段は、さらに、入力データ中の先頭の入力ブロックに
暗号処理を施す場合は鍵データ入手手段により入手され
た鍵データに基づいて換字テーブルデータを作成し換字
テーブルデータ保持手段に保持することを特徴とするこ
ともできる。
処理を施す場合に、更新した鍵データに基づいて、換字
テーブルデータを作成することができる。また、前記鍵
データ変換手段は予め前記所定のビット数の初期ブロッ
クを保持し入力データ中の先頭の入力ブロックに暗号処
理を施す場合及び前記所定数より少ない一定数の入力ブ
ロックに暗号処理を施した後で次の入力ブロックに暗号
処理を施す場合は鍵データ保持手段に保持された鍵デー
タに前記初期ブロックを用いてビット変換を施し鍵デー
タを変換し、前記暗号処理手段は換字テーブルデータ保
持手段に保持された換字テーブルデータと鍵データ変換
手段により変換された鍵データとを用いてブロック化手
段が順次出力する入力ブロックに暗号処理を施すことに
よって順次出力ブロックを生成することを特徴とするこ
ともできる。
処理を施す場合及び一定数の入力ブロックに暗号処理を
施す毎に、初期ブロックを用いてビット変換を施し、鍵
データを変換できる。従って、ビット化け等が発生した
場合に、その影響を一定数の入力ブロックの範囲だけに
抑えることができる。
ト変換は算術和及びビット毎の排他的論理和の何れかを
行なう処理であることを特徴とすることもできる。これ
によって、算術和及びビット毎の排他的論理和の内の何
れかを行なうことで鍵データ変換手段におけるビット変
換が行われる。従って、処理が簡単であり処理速度も問
題にならない。
ムの構成を示す図である。
ある。
ある。
る。
る。
る。
る。
ムの構成を示す図である。
ある。
である。
である。
である。
タ、及び、換字テーブルデータの対応関係を示す図であ
る。
号化装置の構成を示す図である。
号化装置の構成を示す図である。
乱部3011の詳細な構成を示す図である。
乱部4011の詳細な構成を示す図である。
である。
Claims (36)
- 【請求項1】 換字データを用いて、入力データに暗号
処理を施し、出力データを生成する暗号処理装置であっ
て、 N及びMを2以上の整数とした場合、 所定ビットの換字データを(2^N)個保管する保管手
段と、 (N×M)ビットの入力データをM個に等分して、各N
ビットの分割データをM個生成する分割手段と、 分割手段が生成したM個の分割データ、又は、それらの
分割データに合成処理を施して生成した入力合成データ
を入力とし、Nビットの入力毎に、保管手段が保管する
(2^N)個の換字データから、前記所定ビットの換字
データを1個特定して出力する換字手段と、 換字手段が出力した換字データが入力され、複数の異な
る固定変換を施すことによって、前記所定ビットの変換
データをM個生成する固定変換手段と、 固定変換手段が生成したM個の変換データに基づいて、
(N×M)ビットの出力データを生成する出力データ生
成手段とを備えることを特徴とする暗号処理装置。 - 【請求項2】 前記固定変換手段における各固定変換は
ローテーション処理であり、各固定変換は互いにローテ
ーションするビット数が異なることを特徴とする請求項
1に記載の暗号処理装置。 - 【請求項3】 前記暗号処理装置は、さらに、 鍵データを入手する鍵入手手段と、 鍵入手手段が入手した鍵データに基づいて、前記固定変
換手段における各固定変換のローテーションの回数を決
定する回数決定手段とを備えることを特徴とする請求項
2に記載の暗号処理装置。 - 【請求項4】 前記保管手段が保管する換字データの所
定ビットは、(N×M)ビットであり、 前記換字手段は、前記分割手段が生成したM個の分割デ
ータのそれぞれに基づいて、保管手段が保管する(2^
N)個の換字データからそれぞれ1個を特定し、各(N
×M)ビットの換字データをM個出力し、 前記固定変換手段は、換字手段が出力したM個の換字デ
ータに、それぞれ異なる固定変換を施すことによって、
(N×M)ビットの変換データをM個生成し、 前記出力データ生成手段は、固定変換手段が生成したM
個の変換データの全てを対象に合成処理を施すことによ
って、(N×M)ビットの出力データを生成することを
特徴とする請求項1〜3の何れか1項に記載の暗号処理
装置。 - 【請求項5】 前記出力データ生成手段における合成処
理を構成する各処理はそれぞれ、算術和、及び、ビット
毎の排他的論理和の内の何れかを行なことを特徴とする
請求項4に記載の暗号処理装置。 - 【請求項6】 前記保管手段が保管する換字データの所
定ビットは、Nビットであり、 前記換字手段は、前記分割手段が生成したM個の分割デ
ータの全てを対象に全体合成処理を施すことによって、
Nビットの入力合成データを生成する入力合成手段を含
み、Nビットの入力合成データに基づいて、保管手段が
保管する(2^N)個の換字データから1個を特定し、
Nビットの換字データを出力し、 前記固定変換手段は、換字手段が出力した換字データ
に、異なるM個の固定変換を個々に施すことによって、
Nビットの変換データをM個生成し、 前記出力データ生成手段は、 前記分割手段が生成したM個の分割データの内の1個
と、前記固定変換手段が生成したM個の変換データの内
の1個とを対象に、個別合成処理をそれぞれ施すことに
よって、Nビットの出力合成データをM個生成する出力
合成手段と、 前記出力合成手段が生成した各NビットのM個の出力合
成データを連結処理を施すことによって、(N×M)ビ
ットの出力データを生成する連結手段とを含むことを特
徴とする請求項1〜3の何れか1項に記載の暗号処理装
置。 - 【請求項7】 前記入力合成手段における全体合成処理
を構成する各処理はそれぞれは、算術和、及び、ビット
毎の排他的論理和の内の何れかを行なうことを特徴とす
る請求項6に記載の暗号処理装置。 - 【請求項8】 前記入力合成手段における全体合成処理
を構成する各処理はそれぞれは、前記分割手段が生成し
たM個の分割データに、それぞれ異なる固定変換を施し
た後に、算術和、及び、ビット毎の排他的論理和の内の
何れかを行なうことを特徴とする請求項6に記載の暗号
処理装置。 - 【請求項9】 前記出力合成手段における個別合成処理
はそれぞれ、算術和、及び、ビット毎の排他的論理和の
内の何れかを行なうことを特徴とする請求項6に記載の
暗号処理装置。 - 【請求項10】 換字テーブルデータを作成し、これを
用いて入力データに暗号処理を施し、出力データを生成
する暗号処理装置であって、 鍵データを保持する鍵データ保持手段と、 換字テーブルデータを保持する換字テーブルデータ保持
手段と、 入力データを所定のビット数のブロック単位に分割し、
入力ブロックとして順次出力するブロック化手段と、 所定数の入力ブロックに暗号処理を施した後で次の入力
ブロックに暗号処理を施す場合に、換字テーブルデータ
を作成し、換字テーブルデータ保持手段に保持された換
字テーブルデータを作成した換字テーブルデータに更新
する換字テーブルデータ作成手段と、 前の入力ブロックに暗号処理を施した後で次の入力ブロ
ックに暗号処理を施す場合には、鍵データ保持手段に保
持された鍵データに、前の入力ブロックに暗号処理を施
した際に暗号処理手段が生成した出力ブロックを用いて
ビット変換を施し、鍵データを変換する鍵データ変換手
段と、 換字テーブルデータ保持手段に保持された換字テーブル
データと、前記鍵データとを用いて、ブロック化手段が
順次出力する入力ブロックに暗号処理を施すことによっ
て、順次出力ブロックを生成する暗号処理手段とを備え
ることを特徴とする暗号処理装置。 - 【請求項11】 前記暗号処理装置は、さらに、 前記所定数の入力ブロックに暗号処理を施した後で次の
入力ブロックに暗号処理を施す場合に、鍵データを入手
して鍵データ保持手段に保持された鍵データを更新する
鍵データ入手手段を備え、 前記換字テーブルデータ作成手段は、鍵データ入手手段
により入手された鍵データに基づいて、換字テーブルデ
ータを作成することを特徴とする請求項10に記載の暗
号処理装置。 - 【請求項12】 前記鍵データ入手手段は、さらに、 入力データ中の先頭の入力ブロックに暗号処理を施す場
合は、鍵データを入手して鍵データ保持手段に保持し、 前記換字テーブルデータ作成手段は、さらに、 入力データ中の先頭の入力ブロックに暗号処理を施す場
合は、鍵データ入手手段により入手された鍵データに基
づいて、換字テーブルデータを作成し、換字テーブルデ
ータ保持手段に保持することを特徴とする請求項11に
記載の暗号処理装置。 - 【請求項13】 前記鍵データ変換手段は、予め前記所
定のビット数の初期ブロックを保持し、入力データ中の
先頭の入力ブロックに暗号処理を施す場合、及び、前記
所定数より少ない一定数の入力ブロックに暗号処理を施
した後で次の入力ブロックに暗号処理を施す場合は、鍵
データ保持手段に保持された鍵データに、前記初期ブロ
ックを用いてビット変換を施し、鍵データを変換し、 前記暗号処理手段は、換字テーブルデータ保持手段に保
持された換字テーブルデータと、鍵データ変換手段によ
り変換された鍵データとを用いて、ブロック化手段が順
次出力する入力ブロックに暗号処理を施すことによっ
て、順次出力ブロックを生成することを特徴とする請求
項12に記載の暗号処理装置。 - 【請求項14】 前記鍵データ変換手段におけるビット
変換は、算術和、及び、ビット毎の排他的論理和の何れ
かを行なう処理であることを特徴とする請求項13に記
載の暗号処理装置。 - 【請求項15】 換字テーブルデータを作成し、これを
用いて入力データに暗号処理を施し、出力データを生成
する暗号処理装置であって、 鍵データを保持する鍵データ保持手段と、 換字テーブルデータを保持する換字テーブルデータ保持
手段と、 入力データを所定のビット数のブロック単位に分割し、
入力ブロックとして順次出力するブロック化手段と、 所定数の入力ブロックに暗号処理を施した後で次の入力
ブロックに暗号処理を施す場合に、換字テーブルデータ
を作成し、換字テーブルデータ保持手段に保持された換
字テーブルデータを作成した換字テーブルデータに更新
する換字テーブルデータ作成手段と、 前の入力ブロックに暗号処理を施した後で次の入力ブロ
ックに暗号処理を施す場合には、鍵データ保持手段に保
持された鍵データに、前の入力ブロックを用いてビット
変換を施し、鍵データを変換する鍵データ変換手段と、 換字テーブルデータ保持手段に保持された換字テーブル
データと、前記鍵データとを用いて、ブロック化手段が
順次出力する入力ブロックに暗号処理を施すことによっ
て、順次出力ブロックを生成する暗号処理手段とを備え
ることを特徴とする暗号処理装置。 - 【請求項16】 前記暗号処理装置は、さらに、 前記所定数の入力ブロックに暗号処理を施した後で次の
入力ブロックに暗号処理を施す場合に、鍵データを入手
して鍵データ保持手段に保持された鍵データを更新する
鍵データ入手手段を備え、 前記換字テーブルデータ作成手段は、鍵データ入手手段
により入手された鍵データに基づいて、換字テーブルデ
ータを作成することを特徴とする請求項15に記載の暗
号処理装置。 - 【請求項17】 前記鍵データ入手手段は、さらに、 入力データ中の最初の入力ブロックに暗号処理を施す場
合は、鍵データを入手して鍵データ保持手段に保持し、 前記換字テーブルデータ作成手段は、さらに、 入力データ中の最初の入力ブロックに暗号処理を施す場
合は、鍵データ入手手段により入手された鍵データに基
づいて、換字テーブルデータを作成し、換字テーブルデ
ータ保持手段に保持することを特徴とする請求項16に
記載の暗号処理装置。 - 【請求項18】 前記鍵データ変換手段は、予め前記所
定のビット数の初期ブロックを保持し、入力データ中の
最初の入力ブロックに暗号処理を施す場合、及び、前記
所定数より少ない一定数の入力ブロックに暗号処理を施
した後で次の入力ブロックに暗号処理を施す場合は、鍵
データ保持手段に保持された鍵データに、前記初期ブロ
ックを用いてビット変換を施し、鍵データを変換し、 前記暗号処理手段は、換字テーブルデータ保持手段に保
持された換字テーブルデータと、鍵データ変換手段によ
り変換された鍵データとを用いて、ブロック化手段が順
次出力する入力ブロックに暗号処理を施すことによっ
て、順次出力ブロックを生成することを特徴とする請求
項17に記載の暗号処理装置。 - 【請求項19】 前記鍵データ変換手段におけるビット
変換は、算術和、ビット毎の排他的論理和、及び、算術
和とビット毎の排他的論理和との組み合わせの内の何れ
かを行なう処理であることを特徴とする請求項18に記
載の暗号処理装置。 - 【請求項20】 換字テーブルデータを作成し、これを
用いて入力データに暗号処理を施し、出力データを生成
する暗号処理装置であって、 鍵データを保持する鍵データ保持手段と、 換字テーブルデータを保持する換字テーブルデータ保持
手段と、 入力データを所定のビット数のブロック単位に分割し、
入力ブロックとして順次出力するブロック化手段と、 所定数の入力ブロックに暗号処理を施した後で次の入力
ブロックに暗号処理を施す場合に、換字テーブルデータ
を作成し、換字テーブルデータ保持手段に保持された換
字テーブルデータを作成した換字テーブルデータに更新
する換字テーブルデータ作成手段と、 一個の入力ブロックに暗号処理を施した後で次の入力ブ
ロックに暗号処理を施す場合には、鍵データ保持手段に
保持された鍵データに、前の入力ブロックに暗号処理を
施す間に暗号処理手段が生成した中間ブロックを用いて
ビット変換を施し、鍵データを変換する鍵データ変換手
段と、 換字テーブルデータ保持手段に保持された換字テーブル
データと、前記鍵データとを用いて、ブロック化手段が
順次出力する入力ブロックに暗号処理を施すことによっ
て、順次、暗号処理の過程で得られる中間ブロックと、
暗号処理の結果に得られる出力ブロックとを生成する暗
号処理手段とを備えることを特徴とする暗号処理装置。 - 【請求項21】 前記暗号処理装置は、さらに、 前記所定数の入力ブロックに暗号処理を施した後で次の
入力ブロックに暗号処理を施す場合に、鍵データを入手
して鍵データ保持手段に保持された鍵データを更新する
鍵データ入手手段を備え、 前記換字テーブルデータ作成手段は、鍵データ入手手段
により入手された鍵データに基づいて、換字テーブルデ
ータを作成することを特徴とする請求項20に記載の暗
号処理装置。 - 【請求項22】 前記鍵データ入手手段は、さらに、 入力データ中の先頭の入力ブロックに暗号処理を施す場
合は、鍵データを入手して鍵データ保持手段に保持し、 前記換字テーブルデータ作成手段は、さらに、 入力データ中の先頭の入力ブロックに暗号処理を施す場
合は、鍵データ入手手段により入手された鍵データに基
づいて、換字テーブルデータを作成し、換字テーブルデ
ータ保持手段に保持することを特徴とする請求項21に
記載の暗号処理装置。 - 【請求項23】 前記鍵データ変換手段は、予め前記所
定のビット数の初期ブロックを保持し、入力データ中の
先頭の入力ブロックに暗号処理を施す場合、及び、前記
所定数より少ない一定数の入力ブロックに暗号処理を施
した後で次の入力ブロックに暗号処理を施す場合は、鍵
データ保持手段に保持された鍵データに、前記初期ブロ
ックを用いてビット変換を施し、鍵データを変換し、 前記暗号処理手段は、換字テーブルデータ保持手段に保
持された換字テーブルデータと、鍵データ変換手段によ
り変換された鍵データとを用いて、ブロック化手段が順
次出力する入力ブロックに暗号処理を施すことによっ
て、順次中間ブロックと出力ブロックとを生成すること
を特徴とする請求項22に記載の暗号処理装置。 - 【請求項24】 前記鍵データ変換手段におけるビット
変換は、算術和、ビット毎の排他的論理和、及び、算術
和とビット毎の排他的論理和との組み合わせの内の何れ
かを行なう処理であることを特徴とする請求項23に記
載の暗号処理装置。 - 【請求項25】 N及びMを2以上の整数とするとき、
所定ビットの換字データを(2^N)個保管する保管装
置を備える暗号処理装置において、換字データを用い
て、入力データに暗号処理を施し、出力データを生成す
る暗号処理方法であって、 (N×M)ビットの入力データをM個に等分して、各N
ビットの分割データをM個生成する分割ステップと、 分割ステップで生成したM個の分割データ、又は、それ
らのデータに合成処理を施すことによって生成した入力
合成データを入力とし、Nビットの入力毎に、保管装置
が保管する(2^N)個の換字データから、前記所定ビ
ットの換字データを1個特定して出力する換字ステップ
と、 換字ステップで出力した換字データが入力され、複数の
異なる固定変換を施すことによって、前記所定ビットの
変換データをM個生成する固定変換ステップと、 固定変換ステップが生成したM個の変換データに基づい
て、(N×M)ビットの出力データを生成する出力デー
タ生成ステップとを備えることを特徴とする暗号処理方
法。 - 【請求項26】 前記保管装置が保管する換字データの
所定ビットは、(N×M)ビットであり、 前記換字ステップは、前記分割ステップで生成したM個
の分割データのそれぞれに基づいて、保管装置が保管す
る(2^N)個の換字データからそれぞれ1個を特定
し、各(N×M)ビットの換字データをM個出力し、 前記固定変換ステップは、換字ステップで出力したM個
の換字データに、それぞれ異なる固定変換を施すことに
よって、(N×M)ビットの変換データをM個生成し、 前記出力データ生成ステップは、固定変換ステップが生
成したM個の変換データを合成処理して、(N×M)ビ
ットの出力データを生成することを特徴とする請求項2
5に記載の暗号処理方法。 - 【請求項27】 前記保管装置が保管する換字データの
所定ビットは、Nビットであり、 前記換字ステップは、前記分割ステップで生成したM個
の分割データに合成処理を施すことによって、Nビット
の入力合成データを生成する入力合成サブステップを含
み、Nビットの入力合成データに基づいて、保管装置が
保管する(2^N)個の換字データから1個を特定し、
Nビットの換字データを出力し、 前記固定変換ステップは、換字ステップで出力した換字
データに、異なるM個の固定変換を個々に施すことによ
って、Nビットの変換データをM個生成し、前記出力デ
ータ生成ステップは、 前記分割ステップで生成したM個の分割データの内の1
個と、前記固定変換ステップで生成したM個の変換デー
タの内の1個とを対象に、合成処理をそれぞれ施すこと
によって、Nビットの出力合成データをM個生成する出
力合成サブステップと、 前記合成ステップで生成した各NビットのM個の出力合
成データを連結処理して、(N×M)ビットの出力デー
タを生成する連結サブステップとを含むことを特徴とす
る請求項25に記載の暗号処理方法。 - 【請求項28】 鍵データを保持する鍵データ保持装置
と、換字テーブルデータを保持する換字テーブルデータ
保持装置とを備える暗号処理装置において、換字テーブ
ルデータを作成し、これを用いて入力データに暗号処理
を施し、出力データを生成する暗号処理方法であって、 入力データを所定のビット数のブロック単位に分割し、
入力ブロックとして順次出力するブロック化ステップ
と、 所定数の入力ブロックに暗号処理を施した後で次の入力
ブロックに暗号処理を施す場合に、換字テーブルデータ
を作成し、換字テーブルデータ保持装置に保持された換
字テーブルデータを更新する換字テーブルデータ作成ス
テップと、 一個の入力ブロックに暗号処理を施した後で次の入力ブ
ロックに暗号処理を施す場合には、鍵データ保持装置に
保持された鍵データに、前の入力ブロックに暗号処理を
施した際に暗号処理ステップで生成された出力ブロック
を用いてビット変換を施し、鍵データを変換する鍵デー
タ変換ステップと、 換字テーブルデータ保持装置に保持された換字テーブル
データと、前記鍵データとを用いて、ブロック化ステッ
プで順次出力される入力ブロックに暗号処理を施すこと
によって、順次出力ブロックを生成する暗号処理ステッ
プとを備えることを特徴とする暗号処理方法。 - 【請求項29】 鍵データを保持する鍵データ保持装置
と、換字テーブルデータを保持する換字テーブルデータ
保持装置とを備える暗号処理装置において、換字テーブ
ルデータを作成し、これを用いて入力データに暗号処理
を施し、出力データを生成する暗号処理方法であって、 入力データを所定のビット数のブロック単位に分割し、
入力ブロックとして順次出力するブロック化ステップ
と、 所定数の入力ブロックに暗号処理を施した後で次の入力
ブロックに暗号処理を施す場合に、換字テーブルデータ
を作成し、換字テーブルデータ保持装置に保持された換
字テーブルデータを更新する換字テーブルデータ作成ス
テップと、 一個の入力ブロックに暗号処理を施した後で次の入力ブ
ロックに暗号処理を施す場合には、鍵データ保持装置に
保持された鍵データに、前の入力ブロックを用いてビッ
ト変換を施し、鍵データを変換する鍵データ変換ステッ
プと、 換字テーブルデータ保持装置に保持された換字テーブル
データと、前記鍵データとを用いて、ブロック化ステッ
プで順次出力される入力ブロックに暗号処理を施すこと
によって、順次出力ブロックを生成する暗号処理ステッ
プとを備えることを特徴とする暗号処理方法。 - 【請求項30】 鍵データを保持する鍵データ保持装置
と、換字テーブルデータを保持する換字テーブルデータ
保持装置とを備える暗号処理装置において、換字テーブ
ルデータを作成し、これを用いて入力データに暗号処理
を施し、出力データを生成する暗号処理方法であって、 入力データを所定のビット数のブロック単位に分割し、
入力ブロックとして順次出力するブロック化ステップ
と、 所定数の入力ブロックに暗号処理を施した後で次の入力
ブロックに暗号処理を施す場合に、換字テーブルデータ
を作成し、換字テーブルデータ保持装置に保持された換
字テーブルデータを更新する換字テーブルデータ作成ス
テップと、 一個の入力ブロックに暗号処理を施した後で次の入力ブ
ロックに暗号処理を施す場合には、鍵データ保持装置に
保持された鍵データに、前の入力ブロックに暗号処理を
施した際に暗号処理ステップで生成された中間ブロック
を用いてビット変換を施し、鍵データを変換する鍵デー
タ変換ステップと、 換字テーブルデータ保持装置に保持された換字テーブル
データと、前記鍵データとを用いて、ブロック化ステッ
プで順次出力される入力ブロックに暗号処理を施すこと
によって、順次、暗号処理の過程で得られる中間ブロッ
クと、暗号処理の結果に得られる出力ブロックとを生成
する暗号処理ステップとを備えることを特徴とする暗号
処理方法。 - 【請求項31】 N及びMを2以上の整数とするとき、
所定ビットの換字データを(2^N)個保管する保管装
置を備える暗号処理装置において、換字データを用い
て、入力データに暗号処理を施し、出力データを生成す
るための暗号処理プログラムを記憶したコンピュータ読
み取り可能な記憶媒体であって、コンピュータに、 (N×M)ビットの入力データをM個に等分して、各N
ビットの分割データをM個生成する分割ステップと、 分割ステップで生成したM個の分割データ、又は、それ
らのデータに合成処理を施すことによって生成した入力
合成データを入力とし、Nビットの入力毎に、保管装置
が保管する(2^N)個の換字データから、前記所定ビ
ットの換字データを1個特定して出力する換字ステップ
と、 換字ステップで出力した換字データが入力され、複数の
異なる固定変換を施すことによって、前記所定ビットの
変換データをM個生成する固定変換ステップと、 固定変換ステップが生成したM個の変換データに基づい
て、(N×M)ビットの出力データを生成する出力デー
タ生成ステップとを実行させるための暗号処理プログラ
ムを記録したコンピュータ読み取り可能な記憶媒体。 - 【請求項32】 前記保管装置が保管する換字データの
所定ビットは、(N×M)ビットであり、 前記換字ステップは、前記分割ステップで生成したM個
の分割データのそれぞれに基づいて、保管装置が保管す
る(2^N)個の換字データからそれぞれ1個を特定
し、各(N×M)ビットの換字データをM個出力し、 前記固定変換ステップは、換字ステップで出力したM個
の換字データに、それぞれ異なる固定変換を施すことに
よって、(N×M)ビットの変換データをM個生成し、 前記出力データ生成ステップは、固定変換ステップが生
成したM個の変換データを合成処理して、(N×M)ビ
ットの出力データを生成することを特徴とする請求項3
1に記載の暗号処理プログラムを記憶したコンピュータ
読み取り可能な記憶媒体。 - 【請求項33】 前記保管装置が保管する換字データの
所定ビットは、Nビットであり、 前記換字ステップは、前記分割ステップで生成したM個
の分割データに合成処理を施すことによって、Nビット
の入力合成データを生成する入力合成サブステップを含
み、Nビットの入力合成データに基づいて、保管装置が
保管する(2^N)個の換字データから1個を特定し、
Nビットの換字データを出力し、 前記固定変換ステップは、換字ステップで出力した換字
データに、異なるM個の固定変換を個々に施すことによ
って、Nビットの変換データをM個生成し、 前記出力データ生成ステップは、 前記分割ステップで生成したM個の分割データの内の1
個と、前記固定変換ステップで生成したM個の変換デー
タの内の1個とを対象に、合成処理をそれぞれ施すこと
によって、Nビットの出力合成データをM個生成する出
力合成サブステップと、 前記合成ステップで生成した各NビットのM個の出力合
成データを連結処理して、(N×M)ビットの出力デー
タを生成する連結サブステップとを含むことを特徴とす
る請求項31に記載の暗号処理プログラムを記憶したコ
ンピュータ読み取り可能な記憶媒体。 - 【請求項34】 鍵データを保持する鍵データ保持装置
と、換字テーブルデータを保持する換字テーブルデータ
保持装置とを備える暗号処理装置において、換字テーブ
ルデータを作成し、これを用いて入力データに暗号処理
を施し、出力データを生成するための暗号処理プログラ
ムを記憶したコンピュータ読み取り可能な記憶媒体であ
って、 コンピュータに、 入力データを所定のビット数のブロック単位に分割し、
入力ブロックとして順次出力するブロック化ステップ
と、 所定数の入力ブロックに暗号処理を施した後で次の入力
ブロックに暗号処理を施す場合に、換字テーブルデータ
を作成し、換字テーブルデータ保持装置に保持された換
字テーブルデータを更新する換字テーブルデータ作成ス
テップと、 一個の入力ブロックに暗号処理を施した後で次の入力ブ
ロックに暗号処理を施す場合には、鍵データ保持装置に
保持された鍵データに、前の入力ブロックに暗号処理を
施した際に暗号処理ステップで生成された出力ブロック
を用いてビット変換を施し、鍵データを変換する鍵デー
タ変換ステップと、 換字テーブルデータ保持装置に保持された換字テーブル
データと、前記鍵データとを用いて、ブロック化ステッ
プで順次出力される入力ブロックに暗号処理を施すこと
によって、順次出力ブロックを生成する暗号処理ステッ
プとを実行させるための暗号処理プログラムを記録した
コンピュータ読み取り可能な記憶媒体。 - 【請求項35】 鍵データを保持する鍵データ保持装置
と、換字テーブルデータを保持する換字テーブルデータ
保持装置とを備える暗号処理装置において、換字テーブ
ルデータを作成し、これを用いて入力データに暗号処理
を施し、出力データを生成するための暗号処理プログラ
ムを記憶したコンピュータ読み取り可能な記憶媒体であ
って、 コンピュータに、 入力データを所定のビット数のブロック単位に分割し、
入力ブロックとして順次出力するブロック化ステップ
と、 所定数の入力ブロックに暗号処理を施した後で次の入力
ブロックに暗号処理を施す場合に、換字テーブルデータ
を作成し、換字テーブルデータ保持装置に保持された換
字テーブルデータを更新する換字テーブルデータ作成ス
テップと、 一個の入力ブロックに暗号処理を施した後で次の入力ブ
ロックに暗号処理を施す場合には、鍵データ保持装置に
保持された鍵データに、前の入力ブロックを用いてビッ
ト変換を施し、鍵データを変換する鍵データ変換ステッ
プと、 換字テーブルデータ保持装置に保持された換字テーブル
データと、前記鍵データとを用いて、ブロック化ステッ
プで順次出力される入力ブロックに暗号処理を施すこと
によって、順次出力ブロックを生成する暗号処理ステッ
プとを実行させるための暗号処理プログラムを記録した
コンピュータ読み取り可能な記憶媒体。 - 【請求項36】 鍵データを保持する鍵データ保持装置
と、換字テーブルデータを保持する換字テーブルデータ
保持装置とを備える暗号処理装置において、換字テーブ
ルデータを作成し、これを用いて入力データに暗号処理
を施し、出力データを生成するための暗号処理プログラ
ムを記憶したコンピュータ読み取り可能な記憶媒体であ
って、 コンピュータに、 入力データを所定のビット数のブロック単位に分割し、
入力ブロックとして順次出力するブロック化ステップ
と、 所定数の入力ブロックに暗号処理を施した後で次の入力
ブロックに暗号処理を施す場合に、換字テーブルデータ
を作成し、換字テーブルデータ保持装置に保持された換
字テーブルデータを更新する換字テーブルデータ作成ス
テップと、 一個の入力ブロックに暗号処理を施した後で次の入力ブ
ロックに暗号処理を施す場合には、鍵データ保持装置に
保持された鍵データに、前の入力ブロックに暗号処理を
施した際に暗号処理ステップで生成された中間ブロック
を用いてビット変換を施し、鍵データを変換する鍵デー
タ変換ステップと、 換字テーブルデータ保持装置に保持された換字テーブル
データと、前記鍵データとを用いて、ブロック化ステッ
プで順次出力される入力ブロックに暗号処理を施すこと
によって、順次、暗号処理の過程で得られる中間ブロッ
クと、暗号処理の結果に得られる出力ブロックとを生成
する暗号処理ステップとを実行させるための暗号処理プ
ログラムを記録したコンピュータ読み取り可能な記憶媒
体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11864399A JP3154991B2 (ja) | 1998-04-27 | 1999-04-26 | 暗号処理装置、暗号処理方法、及び、暗号処理プログラムを記憶した記憶媒体 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10-116759 | 1998-04-27 | ||
JP11675898 | 1998-04-27 | ||
JP10-116758 | 1998-04-27 | ||
JP11675998 | 1998-04-27 | ||
JP11864399A JP3154991B2 (ja) | 1998-04-27 | 1999-04-26 | 暗号処理装置、暗号処理方法、及び、暗号処理プログラムを記憶した記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000019958A true JP2000019958A (ja) | 2000-01-21 |
JP3154991B2 JP3154991B2 (ja) | 2001-04-09 |
Family
ID=27313223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11864399A Expired - Lifetime JP3154991B2 (ja) | 1998-04-27 | 1999-04-26 | 暗号処理装置、暗号処理方法、及び、暗号処理プログラムを記憶した記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3154991B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100436775B1 (ko) * | 2002-04-19 | 2004-06-23 | 한국전자통신연구원 | 고속 퓨리에 변환 스크램블링 및 디스크램블링 방법 |
JP2009514096A (ja) * | 2005-10-26 | 2009-04-02 | アナログ デバイシーズ インク | 参照テーブルアドレス指定システム及び方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6082349B2 (ja) * | 2011-09-29 | 2017-02-15 | 広和株式会社 | タイヤ洗浄装置及び車椅子のタイヤ洗浄装置 |
-
1999
- 1999-04-26 JP JP11864399A patent/JP3154991B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100436775B1 (ko) * | 2002-04-19 | 2004-06-23 | 한국전자통신연구원 | 고속 퓨리에 변환 스크램블링 및 디스크램블링 방법 |
JP2009514096A (ja) * | 2005-10-26 | 2009-04-02 | アナログ デバイシーズ インク | 参照テーブルアドレス指定システム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3154991B2 (ja) | 2001-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100362458B1 (ko) | 암호화 처리장치, 암호화 처리방법 및 보안성을 손상시키지 않고 고속으로 암호화 처리를 실현하는 암호화 처리 프로그램을 기록하는 기록매체 | |
US6246768B1 (en) | Data encryption system for encrypting plaintext data | |
JP3901909B2 (ja) | 暗号化装置およびプログラムを記録した記録媒体 | |
US6917684B1 (en) | Method of encryption and decryption with block number dependant key sets, each set having a different number of keys | |
KR100349332B1 (ko) | 데이터 암호화장치 및 방법 | |
GB2551865A (en) | Improved stream cipher system | |
Reyad et al. | Key-based enhancement of data encryption standard for text security | |
JP2003516659A (ja) | 1の補数暗号コンバイナ | |
WO2022237440A1 (en) | Authenticated encryption apparatus with initialization-vector misuse resistance and method therefor | |
JP3154991B2 (ja) | 暗号処理装置、暗号処理方法、及び、暗号処理プログラムを記憶した記憶媒体 | |
Belmeguenai et al. | Speech encryption using stream cipher | |
Ledda et al. | Enhancing IDEA algorithm using circular shift and middle square method | |
JPH0738558A (ja) | 暗号化装置、及びそれを用いた通信システム及びその方法 | |
RU2738321C1 (ru) | Способ криптографического преобразования и устройство для его осуществления | |
Hussein et al. | An enhanced ElGamal cryptosystem for image encryption and decryption | |
WO2022096141A1 (en) | Method for processing encrypted data | |
JP2001016197A (ja) | 自己同期型ストリーム暗号システム及びこれを用いたmac生成方法 | |
Labbi et al. | Symmetric encryption algorithm for RFID systems using a dynamic generation of key | |
Castro et al. | Aes and merkle-hellman knapsack hybrid cryptosystem | |
RU2775253C1 (ru) | Способ криптографического преобразования с одновременной выработкой производного ключа шифрования | |
Hassan et al. | NETWORK SECURITY BY BLOCK CIPHERS | |
JP3190648B2 (ja) | データ暗号化装置及びその方法 | |
CN114553397B (zh) | 一种国密sm4分组密码算法的加密优化方法及装置 | |
Wang et al. | Attack to an image encryption based on chaotic Logistic map | |
JP2000004223A (ja) | 暗号・認証システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080202 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090202 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100202 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100202 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110202 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120202 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120202 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130202 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130202 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140202 Year of fee payment: 13 |
|
EXPY | Cancellation because of completion of term |