JP3442010B2 - 暗号化処理装置、及び、復号化処理装置 - Google Patents

暗号化処理装置、及び、復号化処理装置

Info

Publication number
JP3442010B2
JP3442010B2 JP27116699A JP27116699A JP3442010B2 JP 3442010 B2 JP3442010 B2 JP 3442010B2 JP 27116699 A JP27116699 A JP 27116699A JP 27116699 A JP27116699 A JP 27116699A JP 3442010 B2 JP3442010 B2 JP 3442010B2
Authority
JP
Japan
Prior art keywords
data
block
processing
encryption
plaintext
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.)
Expired - Fee Related
Application number
JP27116699A
Other languages
English (en)
Other versions
JP2000075786A (ja
Inventor
基司 大森
なつめ 松崎
誠 館林
征克 丸山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP27116699A priority Critical patent/JP3442010B2/ja
Publication of JP2000075786A publication Critical patent/JP2000075786A/ja
Application granted granted Critical
Publication of JP3442010B2 publication Critical patent/JP3442010B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、秘密鍵に基づい
て、被暗号処理データをブロック単位で暗号化又は復号
化する暗号処理装置、暗号処理方法、暗号処理プログラ
ムを記憶した記憶媒体であって、特に装置規模や処理時
間等を大幅に増大させることなく安全性を向上させる技
術に関する。
【0002】
【従来の技術】近年、デジタル通信による送金やあらゆ
る情報の通信が普及してきたのに伴い、通信される重要
な情報を第三者による盗聴や改竄から守る、安全性を向
上させる為の技術への要求が高まっている。安全性を向
上させる為の有効な技術の1つに暗号(cryptog
raphy)がある。
【0003】暗号を用いて通信するシステムにおいて
は、元の通信文を平文(plaintext)と呼び、
その意味内容が第三者に分かりにくい形に変換されたも
のを暗号文(cryptogram)と呼ぶ。また、こ
の変換を暗号化(encryption)と呼び、逆
に、暗号文を元の平文に復元する逆変換を復号化(de
cryption)と呼ぶ。
【0004】暗号化及び復号化の変換内容は、アルゴリ
ズム(algorithm)とそのパラメータとなる鍵
(key)によって特定される。アルゴリズムは複数の
変換から成る変換の族(family)を特定し、鍵は
その族のなかの1つの変換を特定する。通常、装置の固
定部分に対応するものがアルゴリズムであり、1つの装
置において時々取り替えられるものが鍵である。
【0005】暗号文は、盗聴(eavesdrop)さ
れることを前提としている。盗聴者等がアルゴリズムや
鍵の情報を持たずに平文等に復号しようとすることを、
暗号解読(cryptanalysis)という。
【0006】暗号解読しようとする者(以下、「暗号解
読者(cryptanalyst)」という)は、暗号
文は既知であるという前提で暗号解読を行なう。
【0007】基本的に暗号文からのみ秘密の平文や鍵を
決定する解読法を、「暗号文単独攻撃(ciphert
ext−only attack)」という。また、い
くつかの不特定な暗号文と平文のペアから秘密の鍵を決
定し、任意の暗号文に対応する平文を決定する解読法
を、「既知平文攻撃(known−plaintext
attack)」という。
【0008】暗号の例の1つに、疑似乱数加算型暗号が
ある。
【0009】この暗号は、同一の鍵を送信者と受信者が
秘密に共有し、それぞれ同じアルゴリズムを持つ乱数発
生機を用いてこの鍵をシード(seed)として所定の
ビット数(以下、「ブロック」という)の乱数を発生さ
せ、送信者側による暗号化においては、ブロック単位
で、この乱数と平文とを、対応するビット毎に排他的論
理和の演算を行なうことによって暗号文を生成し、受信
者側による復号化においては、ブロック単位で、この乱
数と暗号文とを、対応するビット毎に排他的論理和の演
算を行なうことによって平文を生成する。
【0010】ここで、ブロック単位の平文を「M」、ブ
ロック単位の暗号文を「C」、この乱数を「R」、対応
するビット毎の排他的論理和の演算を「(+)」とする
と、暗号化は以下の(式1)で、復号化は以下の(式
2)で表せる。
【0011】 C=M(+)R ・・・(式1) M=C(+)R ・・・(式2) この暗号の問題点は、「既知平文攻撃」に非常に弱いこ
とである。
【0012】例えば、それぞれ1ブロックの平文と暗号
文のペアが既知であれば、以下の(式3)より乱数Rが
判明するので他の全ての平文を解読することができる。
【0013】 R=M(+)C ・・・(式3) よって、暗号解読者は既知平文攻撃によって、疑似乱数
加算型暗号を非常に容易に解読することができる。
【0014】既知平文攻撃によっても比較的容易に解読
されない暗号の例に、DES(DataEncryption Standar
d)やFEAL(Fast Data Encipherment Algorithm)
がある。これらについては「暗号理論入門」(岡本栄司
著:共立出版発行)に詳しく述べられている。
【0015】これらの暗号は、64ビットを1ブロック
とし、ブロック単位で強力にデータを撹乱する。例え
ば、DESのアルゴリズムは、転置(transpos
ion)と換字(substitution)を組み合
わせた処理を16段繰り返す。
【0016】DESを、暗号解読や能動的な不正行為に
対して強くするために、暗号文ブロック連鎖方式(Ciph
er Block Chaining)(以下、略して「CBCモー ド」
という)が考案されている。CBCモードは、「現代暗
号理論」(池野信一,小山謙二著:電子情報通信学会発
行)p66〜67に詳しく述べられている。
【0017】図50は、CBCモードを実現する暗号化
装置30の構成を示す図である。
【0018】暗号化装置30は、排他的論理和部30
1、データ暗号化部302、レジスタ303で構成され
る。
【0019】レジスタ303は、直前に暗号化した1ブ
ロックの暗号文を保管する。なお、最初のブロックを暗
号化する際には1ブロックの初期値IV(Initia
lValue)が設定されている。
【0020】排他的論理和部301は、レジスタ303
が保管する直前の1ブロックの暗号文と次に暗号化すべ
き1ブロックの平文とを、対応するビット毎に排他的論
理和の演算を行ない、データ暗号化部302へ渡す。な
お、最初のブロックを暗号化する際には初期値IVと最
初の1ブロックの平文とを、対応するビット毎に排他的
論理和の演算を行なう。
【0021】データ暗号化部302は、64ビットの鍵
データに基づいて、排他的論理和部301から渡された
64ビットのデータを、DESのアルゴリズムで暗号化
する。
【0022】この暗号化装置30は、ブロック単位で、
初期値IVと最初の1ブロックの平文とを、対応するビ
ット毎に排他的論理和の演算を行ない、64ビットの鍵
データに基づいて暗号化して1ブロックの暗号文を生成
し、更にこの暗号文と次のブロックの平文とを、対応す
るビット毎に排他的論理和の演算を行ない次の暗号化の
入力とする。
【0023】ブロック単位の平文をMi、ブロック単位
の暗号文をCi(iはブロック番号:i=2,3,・・
・)とし、64ビットの鍵データをK、鍵データKを用
いた暗号化をEkとし、対応するビット毎の排他的論理
和の演算を「(+)」とすると、CBCモードは以下の
(式4)、(式5)で表せる。
【0024】 C1=Ek(M1(+)IV) ・・・(式4) Ci=Ek(Mi(+)Ci−1)(i=2,3,・・・) ・・・(式5) CBCモードでは、各CiはCiより前の全ての暗号文
データに依存しているので、平文の統計的な特徴は攪乱
される。
【0025】よって、暗号解読や能動的な不正行為に対
して強くなっている。
【0026】以上の様なDES、FEAL及びDESに
おけるCBCモード等の問題点は、アルゴリズムが公に
なっており、鍵の長さが限られているので、「既知平文
攻撃」において、全ての鍵をしらみつぶしに使って暗号
化してみることにより、いつか必ず正しい鍵が発見され
ることである。なお、DESの鍵の長さは、前述のよう
に64ビットであるがパリティビットが8ビット有るた
め有効な長さは56ビットであり、鍵のとりうる数は2
の56乗個である。
【0027】DESのような56ビット程度の鍵の長さ
では、膨大なコストはかかるものの、現在の技術レベル
で総当たりによる解読が可能であろうという説がある。
しかし、独立な複数の鍵を用いて多重に暗号化すれば、
総当たりによる解読は現在の技術レベルでは不可能とな
る。
【0028】しかしながら、コンピュータの処理能力
が、この十数年においてあまりにも急激な向上を遂げて
いることを鑑みると、いかに多重に暗号化しようとも、
今後総当たりによる解読が可能となる日が来ないとは言
い切れない。
【0029】また、多重に暗号化すればするほど安全性
も向上するが、単純に従来の装置を多重に暗号化するよ
うに変更すると、装置規模や処理時間等が大幅に増大す
るので、あまり望ましくない。
【0030】多重に暗号化することなくCBCモード等
の安全性を向上させる従来の技術は、特開昭52−13
0504号公報(暗号処理装置)、特公平8−1253
7号公報(暗号化装置)において開示されている。前者
は暗号文等の暗号処理結果に基づいて次の暗号処理で用
いる鍵データを更新する。後者は、予め暗号鍵から複数
の中間鍵を生成して記憶し、各中間鍵を用いたビット変
換をそれぞれ行うことにより生成した各中間鍵更新情報
に基づいて、各中間鍵をそれぞれ更新する。
【0031】
【発明が解決しようとする課題】しかしながら、上記従
来の暗号処理装置等では、十分に安全性が確保されたと
はいいきれず、更なる安全性の向上が望まれている。
【0032】そこで、本発明はかかる問題点に鑑みてな
されたものであり、装置規模や処理時間等を大幅に増大
させることなく、安全性を向上させることができる暗号
処理装置、暗号処理方法、暗号処理プログラムを記憶し
た記憶媒体を提供することを目的とする。
【0033】
【課題を解決するための手段】上記目的を達成するため
に、本発明に係る暗号化処理装置は、鍵データと被暗号
化処理データとを含む入力データに基づいて暗号化処理
を施して出力データを生成する暗号化処理装置であっ
て、前のデータの影響を後のデータに及ぼす為に用いる
連鎖データを記憶し暗号化処理を施す毎に当該連鎖デー
タを更新する記憶手段と、記憶手段が記憶する連鎖デー
タを入力データに融合して融合データを生成する融合手
段と、同一のアルゴリズムを持つ部分処理が複数段あり
1段目で部分処理を施したデータに2段目で更に部分処
理を施しこれを段数分行ない出力データを生成する主暗
号化処理手段と、前記融合データに含まれる鍵データか
ら主暗号化処理手段の段数分のそれぞれ異なる部分鍵を
生成し主暗号化処理手段の各段にそれぞれ給送しそれぞ
れの部分処理に供させる部分鍵生成手段とを備え、前記
主暗号化処理手段は段数分のそれぞれ異なる部分鍵によ
り特定される複数段のそれぞれ異なる部分処理を前記融
合データに含まれる被暗号化処理データに施し最終段以
外の各段で部分処理を施して得られたデータが各中間デ
ータとなり、前記記憶手段は主暗号化処理手段で得られ
た各中間データの内の1個を新たな連鎖データとして自
身が記憶する連鎖データを更新し次の暗号化処理に供さ
せることを特徴としている。
【0034】この構成によれば、暗号化処理を施す過程
において生成される中間データを連鎖データとして記憶
し、後の暗号化処理の際に鍵データに融合し、暗号化処
理を施す度にその連鎖データを更新するので、各出力デ
ータは自身よりも前の全てのデータに依存することにな
り、平文の統計的な特徴は各連鎖データによって攪乱さ
れ、装置規模や処理時間等をさほど増大させていないに
もかかわらず暗号解読が難しくなる。また、暗号解読者
は、暗号文と平文のペアを入手することはできたとして
も、暗号化処理に用いられた連鎖データを入手すること
は事実上不可能であり、さらに、連鎖データを生成する
アルゴリズムや連鎖データの初期値は非公開なので、
「既知平文攻撃」による暗号解読はさらに難しくなり、
総当たりによる解読も困難である。
【0035】また、どの中間データが新たな連鎖データ
となるかを暗号解読者が知ることができない。
【0036】よって、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0037】
【発明の実施の形態】(実施の形態1)本発明の実施の
形態1は、鍵データにより特定される暗号化処理又は復
号化処理(暗号化処理又は復号化処理を共に「暗号処
理」と呼ぶ)を施して、平文データから暗号文データを
生成する暗号化装置と暗号文データから平文データを生
成する復号化装置(暗号化装置又は復号化装置を共に
「被暗号処理データから出力データを生成する暗号処理
装置」と呼ぶ)であって、ブロック単位で暗号処理を施
す度に1ブロックの出力データを生成するまでの暗号処
理を施す過程において生成される中間ブロックを連鎖ブ
ロックとして記憶し、次のブロックの暗号処理を施す際
に記憶している連鎖ブロックを鍵データに融合する暗号
処理装置である。
【0038】<構成> (暗号通信システムの構成)図1は、本発明の実施の形
態1における暗号通信システムの構成を示す図である。
【0039】この暗号通信システムは、平文データを暗
号化して送信する送信機1及び暗号文データを受信して
復号する受信機2から構成される。なお、送信機1から
受信機2へ暗号文データを伝送する伝送路3を同じ図上
に示す。
【0040】送信機1は、図1に示すように、データ暗
号化装置10及び送信部11を備える。
【0041】データ暗号化装置10は、平文データを入
手し、予め設定された鍵データに基づいて、所定数のビ
ットから成るブロック毎に、所定のアルゴリズムに従い
暗号化することにより、入手した平文データから暗号文
データを生成する。ここで用いた鍵データは予め送信機
1と受信機2とが秘密に共有するものであり、所定のア
ルゴリズムは装置固有のもので、変換の族(famil
y)を特定し、この鍵データによってその族のなかの1
つの変換が特定される。また平文データは、音声、画像
情報及び文字コード等をディジタル符号化したディジタ
ル情報である。ここでは、所定数のビットから成る1ブ
ロックを、例えば64ビットとして説明する。
【0042】送信部11は、暗号文データを変調し増幅
等を施した送信データを伝送路3に送出する。
【0043】受信機2は、図1に示すように、データ復
号化装置20及び受信部21を備える。
【0044】受信部21は、伝送路3を介して送信デー
タを受信し、復調等を施した暗号文データをデータ復号
化装置20に渡す。
【0045】データ復号化装置20は、鍵データに基づ
いて、ブロック毎に所定のアルゴリズムに従い復号化す
ることにより、暗号文データから平文データを生成す
る。
【0046】(データ暗号化装置10の構成)図2は、
本発明の実施の形態1における図1に示すデータ暗号化
装置10の詳細な構成を示す図である。
【0047】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、鍵データ融合部1
03、部分鍵生成部104、第1〜8暗号化部105a
〜105h、端数データ処理部106及びブロック結合
部107で構成される。
【0048】図50に示す従来の暗号化装置30と図2
に示す本発明の実施の形態1におけるデータ暗号化装置
10との関係は、排他的論理和部301は鍵データ融合
部103と対応し、データ暗号化部302はブロック分
割部101、部分鍵生成部104、第1〜8暗号化部1
05a〜105h、端数データ処理部106及びブロッ
ク結合部107と対応し、レジスタ303はブロック記
憶部102と対応する。
【0049】ブロック分割部101は、入手した平文デ
ータを64ビットから成る平文データの1ブロック(以
下、「平文ブロック」と言う)単位に分割して、順番に
第1暗号化部105aへ渡し、最後に64ビットに満た
ない端数平文データが生じた場合は、その端数平文デー
タを端数データ処理部106へ渡す。ここでは、一例と
して、200ビットの平文データを入手して、先頭から
1〜64ビットの第1平文ブロック、65〜128ビッ
トの第2平文ブロック、129〜192ビットの第3平
文ブロック及び193〜200ビットの端数平文データ
に分割し、順番に第1〜3平文ブロックを第1暗号化部
105aへ、端数平文データを端数データ処理部106
へ渡すものとする。
【0050】ブロック記憶部102は、ブロック分割部
101が分割した各ブロックを処理する際に、前のブロ
ックの影響を後のブロックに及ぼす為に用いる連鎖ブロ
ックを記憶する。なお、最初のブロックを処理する際に
は、予め連鎖ブロックの初期値IVが記憶される。
【0051】鍵データ融合部103は、ブロック記憶部
102に記憶された連鎖ブロックを、鍵データに融合し
融合鍵データを生成する。ここでは、予め設定された6
4ビットの鍵データを入手し、第1平文ブロックを処理
する際には、64ビットの連鎖ブロックの初期値IVと
64ビットの鍵データとを、対応するビット毎に排他的
論理和の演算を行ない、第2〜3平文ブロックを処理す
る際には、第1〜2平文ブロックの処理の際に生成され
た64ビットの連鎖ブロックと64ビットの鍵データと
を、対応するビット毎に排他的論理和の演算を行なう。
【0052】部分鍵生成部104は、鍵データ融合部1
03が生成した融合鍵データから、暗号化部の数に相当
する数の部分鍵を生成する。ここでは、64ビットの融
合鍵データから48ビットの部分鍵を8個生成する。
【0053】第1暗号化部105aは、第1の部分鍵に
基づいて、平文ブロックから第1中間ブロックを生成す
る。
【0054】第2〜7暗号化部105b〜105gは、
それぞれ第2〜7の部分鍵に基づいて、第1〜6中間ブ
ロックから第2〜7中間ブロックを生成する。
【0055】第8暗号化部105hは、第8の部分鍵に
基づいて、第7中間ブロックから暗号文データの1ブロ
ック(以下、「暗号文ブロック」と言う)を生成する。
【0056】第1〜8暗号化部105a〜105hは、
全て同じ構造を持ち、48ビットの部分鍵により特定さ
れた変換により、64ビットの入力の内の下位32ビッ
トを用いて上位32ビットを変換し、上位32ビットと
下位32ビットを入れ替える変換をそれぞれ直列に行な
い、この変換を合計で8段行なう。ここでは、第1〜3
平文ブロックから、それぞれに対応する第1〜7中間ブ
ロックと、第1〜3暗号文ブロックとを生成する。
【0057】図3は、第1〜8暗号化部105a〜10
5hの詳細な構成を示す図である。
【0058】64ビットの平文ブロックは、上位32ビ
ットと下位32ビットに分割され、これらの上位をH
0、下位をL0とし、第n暗号化部の入力を{H(n−
1),L(n−1)}、出力を(Hn,Ln)とする
と、Hn、Lnは以下の(式6)、(式7)で表され
る。
【0059】 Hn=L(n−1) ・・・(式6) Ln=H(n−1)(+)f{L(n−1)、Kn} ・・・(式7) ここで、「(+)」は対応するビット毎の排他的論理和
の演算を意味し、「Kn」は第n暗号化部に入力される
48ビットの部分鍵であり、「f」はL(n−1)とK
nを用いて32ビットのデータを出力する関数である。
【0060】図4は、関数「f」を計算する部分の詳細
な構成を示す図である。
【0061】32ビットのL(n−1)は以下の(表
1)に示す拡大転置Eによって、48ビットに拡大され
て並びかえられる。
【0062】 表中の数値は入力ビットが置き換わる新たなビット位置
を示しており、例えば、入力の32ビット目は出力の第
1ビット目と第47ビット目に、入力の1ビット目は出
力の第2ビット目と第48ビット目に置き換えられる。
【0063】この48ビットと、48ビットの部分鍵K
nとを対応するビット毎に排他的論理和EXORの演算
を行ない、その結果を、さらに、6ビットずつ8組に分
割して、選択関数S1〜S8の8個にそれぞれ入力す
る。
【0064】選択関数S1〜S8(Sボックスとも言
う)は、6ビットを入力し4ビットを出力する関数であ
り、その処理内容は換字表で表せる。
【0065】図5は、選択関数S1〜S8の換字表を示
す図である。
【0066】1つの選択関数には、0〜15までの数字
が64個あり、4行16列に並んでいる。
【0067】入力される6ビットの内の最初と最後のビ
ットが、この換字表の行を特定し、最初と最後を除く4
ビットが列を特定する。
【0068】例えば、選択関数S1に「011011」
を入力すると、最初のビット「0」と、最後のビット
「1」から、2行目と特定し、最初と最後を除く4ビッ
ト「1101」から、14列目と特定する。そして、選
択関数S1の換字表の2行14列が「5」なので、「0
101」を出力する。
【0069】8個の選択関数S1〜S8が出力する合計
32ビット(4ビット×8=32ビット)の出力は以下
の(表2)に示す転置Pを行ない「f{L(n−1)、
Kn}」の出力となる。 表中の数値は入力ビットが置き換わる新たなビット位置
を示しており、例えば、入力の16ビット目は出力の第
1ビット目に、入力の7ビット目は出力の第2ビット目
に置き換えられる。
【0070】ブロック記憶部102はブロック更新機能
を備え、第4暗号化部105dが第4中間ブロックを生
成する度に、この第4中間ブロックを新たな連鎖ブロッ
クとして記憶している連鎖ブロックを更新し、次のブロ
ックを処理する際に用いる。ここでは、予め64ビット
の初期値IVが記憶され、この初期値IVが第1平文ブ
ロックを処理する際に用いられ、この処理の際に生成さ
れた第4中間ブロックを新たな連鎖ブロックとして更新
する。次に、第1平文ブロックの処理の際に更新した連
鎖ブロックが第2平文ブロックを処理する際に用いら
れ、この処理の際に生成された第4中間ブロックを新た
な連鎖ブロックとして更新する。次に、第2平文ブロッ
クの処理の際に更新した連鎖ブロックが第3平文ブロッ
クを処理する際に用いられ、この処理の際に生成された
第4中間ブロックを新たな連鎖ブロックとして更新す
る。最後に、第3平文ブロックの処理の際に更新した連
鎖ブロックが端数平文データを処理する際に用いられ
る。
【0071】端数データ処理部106は、ブロック分割
部101から端数平文データを受け取り、ブロック記憶
部102に記憶された連鎖ブロックに基づいて、端数平
文データから端数平文データと同じビット数の端数暗号
文データを生成するものであり、データ整合部106a
及び端数データ融合部106bを含む。
【0072】図6は、本発明の実施の形態1における図
2に示す端数データ処理部106の詳細な構成を示す図
である。
【0073】データ整合部106aは、ブロック記憶部
102に記憶された連鎖ブロックから、端数平文データ
と同じビット数の端数連鎖データを生成する。ここで
は、端数平文データが8ビットなので、ブロック記憶部
102に記憶された連鎖ブロックの、例えば上位8ビッ
トで構成される端数連鎖データを生成する。
【0074】端数データ融合部106bは、端数連鎖デ
ータを端数平文データに融合する。ここでは、8ビット
の端数連鎖データと8ビットの端数平文データとを、対
応するビット毎に排他的論理和の演算を行ない、8ビッ
トの端数暗号文データを生成する。
【0075】ブロック結合部107は、第8暗号化部1
05hが生成した各暗号文ブロック及び端数データ処理
部106が生成した端数暗号文データを結合して暗号文
データを生成する。ここでは、各64ビットの第1〜3
暗号文ブロック及び8ビットの端数暗号文データを結合
して200ビットの暗号文データを生成する。
【0076】なお、ブロック記憶部102は、連鎖ブロ
ックを第4暗号化部105dが生成した第4中間ブロッ
クに更新したが、これはほんの一例であり、処理の過程
で生成した中間ブロックならどれであってもよいので、
第1〜7暗号化部105a〜105gが生成した第1〜
7中間ブロックの内の別の1個に更新するものであって
もよい。
【0077】(データ復号化装置20の構成)図7は、
本発明の実施の形態1における図1に示すデータ復号化
装置20の詳細な構成を示す図である。
【0078】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、鍵データ融合部2
03、部分鍵生成部204、第1〜8復号化部205a
〜205h、端数データ処理部206及びブロック結合
部207で構成される。
【0079】図50に示す暗号化装置30と図7に示す
データ復号化装置20との関係は、排他的論理和部30
1は鍵データ融合部203と対応し、データ暗号化部3
02はブロック分割部201、部分鍵生成部204、第
1〜8復号化部205a〜205h、端数データ処理部
206及びブロック結合部207と対応し、レジスタ3
03はブロック記憶部202と対応する。
【0080】ブロック分割部201は、入手した暗号文
データを64ビットから成るブロックに分割して第1復
号化部205aへ渡し、最後に64ビットに満たない端
数暗号文データが生じた場合は、その端数暗号文データ
を端数データ処理部206へ渡す。ここでは、一例とし
て、200ビットの暗号文データを入手して、先頭から
1〜64ビットの第1暗号文ブロック、65〜128ビ
ットの第2暗号文ブロック、129〜192ビットの第
3暗号文ブロック及び193〜200ビットの端数暗号
文データに分割し、第1〜3暗号文ブロックを第1復号
化部205aへ、端数暗号文データを端数データ処理部
206へ渡すものとする。
【0081】ブロック記憶部202は、ブロック分割部
201が分割した各ブロックを処理する際に、前のブロ
ックの影響を及ぼす為に用いる連鎖ブロックを記憶す
る。なお、最初のブロックを処理する際には、予め連鎖
ブロックの初期値IVが記憶される。また、この初期値
IVはデータ暗号化装置10で用いたのもと同一のもの
である。ある平文データの暗号化に用いた初期値IV
と、その平文データに対応する暗号文データの復号化に
用いる初期値IVとは同一である。
【0082】鍵データ融合部203は、ブロック記憶部
202に記憶された連鎖ブロックを、鍵データに融合し
融合鍵データを生成する。なお、この融合は、データ暗
号化装置10の鍵データ融合部103が行なう融合と同
一である。また、この鍵データはデータ暗号化装置10
で用いたのもと同一のものである。ある平文データの暗
号化に用いた鍵データと、その平文データに対応する暗
号文データの復号化に用いる鍵データとは同一である。
ここでは、予め設定された64ビットの鍵データを入手
し、第1暗号文ブロックを処理する際には、64ビット
の連鎖ブロックの初期値IVと64ビットの鍵データと
を、対応するビット毎に排他的論理和の演算を行ない、
第2〜3暗号文ブロックを処理する際には、第1〜2暗
号文ブロックの処理の際に生成された64ビットの連鎖
ブロックと64ビットの鍵データとを、対応するビット
毎に排他的論理和の演算を行なう。
【0083】部分鍵生成部204は、鍵データ融合部2
03が生成した融合鍵データから、復号化部の数に相当
する数の部分鍵を生成する。ここでは、64ビットの融
合鍵データから48ビットの部分鍵を8個生成する。な
お、この部分鍵を生成する機能は、データ暗号化装置1
0の部分鍵生成部104が行なうそれと全く同一であ
る。
【0084】第1復号化部205aは、第8の部分鍵に
基づいて、暗号文ブロックから第7中間ブロックを生成
する。
【0085】第2〜7復号化部205b〜205gは、
それぞれ第7〜2の部分鍵に基づいて、第7〜2中間ブ
ロックから第6〜1中間ブロックを生成する。
【0086】第8復号化部205hは、第1の部分鍵に
基づいて、第1中間ブロックから平文ブロックを生成す
る。
【0087】第1〜8復号化部205a〜205hは、
全て同じ構造を持ち、48ビットの部分鍵により特定さ
れた変換により、64ビットの入力の内の下位32ビッ
トを用いて上位32ビットを変換し、上位32ビットと
下位32ビットを入れ替える変換をそれぞれ直列に行な
い、この変換を合計で8段行なう。ここでは、第1〜3
暗号文ブロックから、それぞれに対応する第7〜1中間
ブロックと、第1〜3平文ブロックとを生成する。な
お、第1〜8復号化部205a〜205hが行なう変換
は、それぞれデータ暗号化装置10の第8〜1暗号化部
105h〜105aが行なう変換の逆変換である。
【0088】ブロック記憶部202はブロック更新機能
を備え、第4復号化部205dが第4中間ブロックを生
成する度に、この第4中間ブロックを新たな連鎖ブロッ
クとして記憶している連鎖ブロックを更新し、次のブロ
ックを処理する際に用いる。ここでは、予め64ビット
の初期値IVが記憶され、この初期値IVが第1暗号文
ブロックを処理する際に用いられ、この処理の際に生成
された第4中間ブロックを新たな連鎖ブロックとして記
憶する。次に、第1暗号文ブロックの処理の際に更新さ
れた連鎖ブロックが第2暗号文ブロックを処理する際に
用いられ、この処理の際に生成された第4中間ブロック
を新たな連鎖ブロックとして記憶する。次に、第2暗号
文ブロックの処理の際に記憶された連鎖ブロックが第3
暗号文ブロックを処理する際に用いられ、この処理の際
に生成された第4中間ブロックを新たな連鎖ブロックと
して記憶する。最後に、第3暗号文ブロックの処理の際
に記憶された連鎖ブロックが端数暗号文データを処理す
る際に用いられる。
【0089】端数データ処理部206は、ブロック分割
部201から端数暗号文データを受け取り、ブロック記
憶部202に記憶された連鎖ブロックに基づいて、端数
暗号文データから端数暗号文データと同じビット数の端
数平文データを生成するものであり、データ整合部20
6a及び端数データ融合部206bを含む。
【0090】図8は、本発明の実施の形態1における図
7に示す端数データ処理部206の詳細な構成を示す図
である。
【0091】データ整合部206aは、ブロック記憶部
202に記憶された連鎖ブロックから、端数暗号文デー
タと同じビット数の端数連鎖データを生成する。ここで
は、端数暗号文データが8ビットなので、ブロック記憶
部202に記憶された連鎖ブロックの、例えば上位8ビ
ットで構成される端数連鎖データを生成する。
【0092】端数データ融合部206bは、端数連鎖デ
ータを端数暗号文データに融合する。ここでは、8ビッ
トの端数連鎖データと8ビットの端数暗号文データと
を、対応するビット毎に排他的論理和の演算を行ない、
8ビットの端数平文データを生成する。
【0093】ブロック結合部207は、第8復号化部2
05hが生成した平文データの各ブロック及び端数デー
タ処理部206が生成した端数平文データを結合して平
文データを生成する。ここでは、各64ビットの第1〜
3平文データ及び8ビットの端数平文データを結合して
200ビットの平文データを生成する。
【0094】なお、ブロック記憶部202は、連鎖ブロ
ックを第4復号化部205dが生成した第4中間ブロッ
クに更新したが、これはほんの一例であり、処理の過程
で生成した中間ブロックならどれであってもよいので、
第1〜7復号化部205a〜205gが生成した第1〜
7中間ブロックの内の別の1個に更新するものであって
もよい。ただし、データ暗号化装置10のブロック記憶
部102と同一の中間ブロックに更新する必要がある。
【0095】<動作> (データ暗号化装置10の動作)図9は、本発明の実施
の形態1のデータ暗号化装置10における暗号化処理の
流れを示す図である。
【0096】ここでは、一例として、200ビットの平
文データを入手し、ブロック記憶部102には予め初期
値IVが記憶されるものとして、DESのアルゴリズム
に準じて説明する。
【0097】(1)ブロック分割部101が、入手した
平文データの未処理分が64ビット以上未満で有るか否
かを判定する(ステップS101)。ここでは、1回目
は、入手した平文データの未処理分は200ビットなの
で64ビット以上と判定する(ステップS101:1回
目)。
【0098】(2)平文データの未処理分が64ビット
以上の場合は、未処理分の先頭から64ビット分離する
(ステップS102)。ここでは、200ビットの内の
先頭から数えて1〜64ビットを第1平文ブロックとし
て分離する(ステップS102:1回目)。
【0099】(3)鍵データ融合部103が、ブロック
記憶部102に記憶された連鎖ブロックを鍵データに融
合し、融合鍵データを生成する(ステップS103)。
ここでは、64ビットの連鎖ブロックの初期値IVと6
4ビットの鍵データとを、対応するビット毎に排他的論
理和の演算を行ない、融合鍵データを生成して部分鍵生
成部104に渡す(ステップS103:1回目)。
【0100】(4)部分鍵生成部104が、融合鍵デー
タから暗号化部の数に相当する数の部分鍵を生成する
(ステップS104)。ここでは、64ビットの融合鍵
データから48ビットの部分鍵を8個生成する(ステッ
プS104:1回目)。
【0101】パリティビットを8ビット含む64ビット
の鍵データから、第1〜8までの8個×48ビットの部
分鍵を生成する手順は、例えば、以下のようになってい
る。
【0102】パリティビットを含む64ビットの鍵デー
タは(表3)に示す転置により、転置が行なわれるとと
もにパリティビットが除かれた56ビットとなる。
【0103】 表中の数値は入力ビットが置き換わる新たなビット位置
を示しており、例えば、入力の57ビット目は出力に第
1ビット目に、入力の49ビット目は出力の第2ビット
目に置き換えられる。
【0104】この56ビットの内、前半の28ビットを
C0、後半の28ビットをD0とし、このC0とD0を
(表4)に示すシフト回数だけ左にシフトすることによ
り、C1〜C8及びD1〜D8を生成する。
【0105】 (表4) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 部分鍵ナンバー 1 2 3 4 5 6 7 8 シフト回数 2 4 8 12 16 20 24 26 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 例えば、C0=(c1 c2 c3 ・・・ c26
c27 c28)とすると、C1=(c3 c4 c5
・・・ c28 c1 c2)となる。
【0106】次に、それぞれの56ビットは、(表5)
に示す転置により48ビットとなる。
【0107】 表中の数値は入力ビットが置き換わる新たなビット位置
を示しており、例えば、入力の14ビット目は出力の第
1ビット目に、入力の17ビット目は出力の第2ビット
目に置き換えられる。
【0108】(5)第1暗号化部105aが、第1の部
分鍵に基づいて、平文ブロックから第1中間ブロックを
生成する(ステップS105)。ここでは、第1平文ブ
ロックから第1中間ブロックを生成する(ステップS1
05:1回目)。
【0109】(6)第2〜4暗号化部105b〜105
dが、それぞれ第2〜4の部分鍵に基づいて、第1〜3
中間ブロックから第2〜4中間ブロックを生成する(ス
テップS106)。ここでは、第1平文ブロックに対応
する第1〜3中間ブロックから第2〜4中間ブロックを
生成する(ステップS106:1回目)。
【0110】(7)ブロック記憶部102が、第4中間
ブロックを新たな連鎖ブロックとして、記憶している連
鎖ブロックを更新する(ステップS107)。ここで
は、第1平文ブロックに対応する第4中間ブロックに更
新する(ステップS107:1回目)。
【0111】(8)第5〜7暗号化部105e〜105
gが、それぞれ第5〜7の部分鍵に基づいて、第4〜6
中間ブロックから第5〜7中間ブロックを生成する(ス
テップS108)。ここでは、第1平文ブロックに対応
する第4〜6中間ブロックから第5〜7中間ブロックを
生成する(ステップS108:1回目)。
【0112】(9)第8暗号化部105hが、第8の部
分鍵に基づいて、第7中間ブロックから暗号文ブロック
を生成する(ステップS109)。ここでは、第1平文
ブロックに対応する第7中間ブロックから第1暗号文ブ
ロックを生成する(ステップS109:1回目)。
【0113】(10)平文データの未処理分が有るか否
かを判断する。まだ未処理分が有る場合は、次の平文プ
ロック又は端数平文データを処理しに、ステップS10
1に戻る(ステップS110)。ここでは、まだ未処理
分が有るのでステップS101に戻る(ステップS11
0:1回目)。
【0114】(11)ステップS101において、ここ
では、1回目に200ビットの平文データから64ビッ
トが分離され、その残りが136ビットなので、64ビ
ット以上と判定する(ステップS101:2回目)。
【0115】(12)ステップS102において、ここ
では、最初の200ビットの先頭から数えて65〜12
8ビットを第2平文ブロックとして分離する(ステップ
S102:2回目)。
【0116】(13)ステップS103において、ここ
では、第1平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックと64ビットの鍵データとを、対応
するビット毎に排他的論理和の演算を行ない、融合鍵デ
ータを生成して部分鍵生成部104に渡す(ステップS
103:2回目)。
【0117】(14)ステップS104において、ここ
では、64ビットの融合鍵データから48ビットの部分
鍵を8個生成する(ステップS104:2回目)。
【0118】(15)〜(19)ステップS105〜ス
テップS109において、第2平文ブロックについて、
第1平文ブロックと同様の処理を行ない、第2平文ブロ
ックに対応する第1〜7中間ブロック及び暗号文ブロッ
クを生成し、ブロック記憶部102が記憶している連鎖
ブロックを第2平文ブロックに対応する第4中間ブロッ
クに更新する(ステップS105〜ステップS109:
2回目)。
【0119】(20)ステップS110において、ここ
では、まだ平文データの未処理分が有るのでステップS
101に戻る(ステップS110:2回目)。
【0120】(21)ステップS101において、ここ
では、2回目に136ビットの平文データから64ビッ
トが分離され、その残りが72ビットなので、64ビッ
ト以上と判定する(ステップS101:3回目)。
【0121】(22)ステップS102において、ここ
では、最初の200ビットの先頭から数えて129〜1
92ビットを第3平文ブロックとして分離する(ステッ
プS102:3回目)。
【0122】(23)ステップS103において、ここ
では、第2平文ブロックの処理の際に生成された連鎖ブ
ロックと64ビットの鍵データとを、対応するビット毎
に排他的論理和の演算を行ない、融合鍵データを生成し
て部分鍵生成部104に渡す(ステップS103:3回
目)。
【0123】(24)ステップS104において、ここ
では、64ビットの融合鍵データから48ビットの部分
鍵を8個生成する(ステップS104:3回目)。
【0124】(25)〜(29)ステップS105〜ス
テップS109において、第3平文ブロックについて、
第1平文ブロックと同様の処理を行ない、第3平文ブロ
ックに対応する第1〜7中間ブロック及び暗号文ブロッ
クを生成し、ブロック記憶部102が記憶している連鎖
ブロックを第3平文ブロックに対応する第4中間ブロッ
クに更新する(ステップS105〜ステップS109:
3回目)。
【0125】(30)ステップS110において、ここ
では、まだ平文データの未処理分が有るのでステップS
101に戻る(ステップS110:3回目)。
【0126】(31)ステップS101において、ここ
では、3回目に72ビットの平文データから64ビット
が分離され、その残りが8ビットなので、64ビット未
満であると判定する(ステップS101:4回目)。
【0127】(32)平文データの未処理分が64ビッ
ト未満の場合は、その未処理分を端数データ処理部10
6へ渡す(ステップS111)。ここでは、最初の20
0ビットの先頭から数えて193〜200ビットを端数
平文データとして端数データ処理部106へ渡す。
【0128】(33)端数データ処理部106が、ブロ
ック分割部101から端数平文データを受け取り、ブロ
ック記憶部102に記憶された連鎖ブロックに基づい
て、端数平文データから端数平文データと同じビット数
の端数暗号文データを生成する(ステップS112)。
ここでは、ブロック記憶部102に記憶された第3平文
ブロックの処理の際に生成された64ビットの連鎖ブロ
ックの内の上位8ビットと、8ビットの端数平文データ
とを、対応するビット毎に排他的論理和の演算を行な
い、8ビットの端数暗号文データを生成する。
【0129】(34)ステップS110で平文データの
未処理分が無いと判断された場合か、又は、ステップS
112における端数暗号文データの生成後に、ブロック
結合部107が、第8暗号化部105hが生成した各暗
号文ブロック及び端数データ処理部106が生成した端
数暗号文データを結合して暗号文データを生成する(ス
テップS113)。ここでは、第1〜3平文ブロックに
それぞれ対応する各暗号文ブロック及び端数暗号文デー
タを結合して200ビットの暗号文データを生成する。
【0130】(データ復号化装置20の動作)図10
は、本発明の実施の形態1のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
【0131】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
【0132】ここでは、一例として、200ビットの暗
号文データを入手し、ブロック記憶部202にはデータ
暗号化装置10のブロック記憶部102と同様に、予め
初期値IVが記憶されるものとして、DESのアルゴリ
ズムに準じて説明する。
【0133】(1)ブロック分割部201が、入手した
暗号文データの未処理分が64ビット以上で有るか否か
を判定する(ステップS201)。ここでは、1回目
は、入手した暗号文データの未処理分は200ビットな
ので64ビット以上と判定する(ステップS201:1
回目)。
【0134】(2)暗号文データの未処理分が64ビッ
ト以上の場合は、未処理分の先頭から64ビット分離す
る(ステップS202)。ここでは、200ビットの内
の先頭から数えて1〜64ビットを第1暗号文ブロック
として分離する(ステップS202:1回目)。
【0135】(3)鍵データ融合部203が、ブロック
記憶部202に記憶された連鎖ブロックを鍵データに融
合し、融合鍵データを生成する(ステップS203)。
ここでは、64ビットの連鎖ブロックの初期値IVと6
4ビットの鍵データとを、対応するビット毎に排他的論
理和の演算を行ない、融合鍵データを生成して部分鍵生
成部204に渡す(ステップS203:1回目)。
【0136】(4)部分鍵生成部204が、融合鍵デー
タから復号化部の数に相当する数の部分鍵を生成する
(ステップS204)。ここでは、64ビットの融合鍵
データから48ビットの部分鍵を8個生成する(ステッ
プS204:1回目)。
【0137】パリティビットを8ビット含む64ビット
の鍵データから、第1〜8までの8個×48ビットの部
分鍵を生成する手順は、データ暗号化装置10の部分鍵
生成部104と同様である。
【0138】(5)第1復号化部205aが、第8の部
分鍵に基づいて、暗号文ブロックから第7中間ブロック
を生成する(ステップS205)。ここでは、第1暗号
文ブロックから第7中間ブロックを生成する(ステップ
S205:1回目)。
【0139】(6)第2〜4復号化部205b〜205
dが、それぞれ第7〜5の部分鍵に基づいて、第7〜5
中間ブロックから第6〜4中間ブロックを生成する(ス
テップS206)。ここでは、第1暗号文ブロックに対
応する第7〜5中間ブロックから第6〜4中間ブロック
を生成する(ステップS206:1回目)。
【0140】(7)ブロック記憶部202が、第4復号
化部205dが生成した第4中間ブロックを新たな連鎖
ブロックとして、記憶している連鎖ブロックを更新する
(ステップS207)。ここでは、第1暗号文ブロック
に対応する第4中間ブロックに更新する(ステップS2
07:1回目)。
【0141】(8)第5〜7復号化部205e〜205
gが、それぞれ第4〜2の部分鍵に基づいて、第4〜2
中間ブロックから第3〜1中間ブロックを生成する(ス
テップS208)。ここでは、第1暗号文ブロックに対
応する第4〜2中間ブロックから第3〜1中間ブロック
を生成する(ステップS208:1回目)。
【0142】(9)第8復号化部205hが、第1の部
分鍵に基づいて、第1中間ブロックから平文ブロックを
生成する(ステップS209)。ここでは、第1暗号文
ブロックに対応する第1中間ブロックから平文ブロック
を生成する(ステップS209:1回目)。
【0143】(10)暗号文データの未処理分が有るか
否かを判断する。まだ未処理分が有る場合は、次の暗号
文プロック又は端数暗号文データを処理しに、ステップ
S201に戻る(ステップS210)。ここでは、まだ
未処理分が有るのでステップS201に戻る(ステップ
S210:1回目)。
【0144】(11)ステップS201において、ここ
では、1回目に200ビットの暗号文データから64ビ
ットが分離され、その残りが136ビットなので、64
ビット以上と判定する(ステップS201:2回目)。
【0145】(12)ステップS202において、ここ
では、最初の200ビットの先頭から数えて65〜12
8ビットを第2暗号文ブロックとして分離する(ステッ
プS202:2回目)。
【0146】(13)ステップS203において、ここ
では、第1暗号文ブロックの処理の際に生成された64
ビットの連鎖ブロックと64ビットの鍵データとを、対
応するビット毎に排他的論理和の演算を行ない、融合鍵
データを生成して部分鍵生成部204に渡す(ステップ
S203:2回目)。
【0147】(14)ステップS204において、ここ
では、64ビットの融合鍵データから48ビットの部分
鍵を8個生成する(ステップS204:2回目)。
【0148】(15)〜(19)ステップS205〜ス
テップS209において、第2暗号文ブロックについ
て、第1暗号文ブロックと同様の処理を行ない、第2暗
号文ブロックに対応する第7〜1中間ブロック及び平文
ブロックを生成し、ブロック記憶部202が記憶してい
る連鎖ブロックを第2暗号文ブロックに対応する第4中
間ブロックに更新する(ステップS205〜ステップS
209:2回目)。
【0149】(20)ステップS210において、ここ
では、まだ暗号文データの未処理分が有るのでステップ
S201に戻る(ステップS210:2回目)。
【0150】(21)ステップS201において、ここ
では、2回目に136ビットの暗号文データから64ビ
ットが分離され、その残りが72ビットなので、64ビ
ット以上と判定する(ステップS201:3回目)。
【0151】(22)ステップS202において、ここ
では、最初の200ビットの先頭から数えて129〜1
92ビットを第3暗号文ブロックとして分離する(ステ
ップS202:3回目)。
【0152】(23)ステップS203において、ここ
では、第2暗号文ブロックの処理の際に生成された連鎖
ブロックと64ビットの鍵データとを、対応するビット
毎に排他的論理和の演算を行ない、融合鍵データを生成
して部分鍵生成部204に渡す(ステップS203:3
回目)。
【0153】(24)ステップS204において、ここ
では、64ビットの融合鍵データから48ビットの部分
鍵を8個生成する(ステップS204:3回目)。
【0154】(25)〜(29)ステップS205〜ス
テップS209において、第3暗号文ブロックについ
て、第1暗号文ブロックと同様の処理を行ない、第3暗
号文ブロックに対応する第7〜1中間ブロック及び平文
ブロックを生成し、ブロック記憶部202が記憶してい
る連鎖ブロックを第3暗号文ブロックに対応する第4中
間ブロックに更新する(ステップS205〜ステップS
209:3回目)。
【0155】(30)ステップS210において、ここ
では、まだ暗号文データの未処理分が有るのでステップ
S201に戻る(ステップS210:3回目)。
【0156】(31)ステップS201において、ここ
では、3回目に72ビットの暗号文データから64ビッ
トが分離され、その残りが8ビットなので、64ビット
未満であると判定する(ステップS201:4回目)。
【0157】(32)暗号文データの未処理分が64ビ
ット未満の場合は、その未処理分を端数データ処理部2
06へ渡す(ステップS211)。ここでは、最初の2
00ビットの先頭から数えて193〜200ビットを端
数暗号文データとして端数データ処理部206へ渡す。
【0158】(33)端数データ処理部206が、ブロ
ック分割部201から端数暗号文データを受け取り、ブ
ロック記憶部202に記憶された連鎖ブロックに基づい
て、端数暗号文データから端数暗号文データと同じビッ
ト数の端数平文データを生成する(ステップS21
2)。ここでは、ブロック記憶部202に記憶された第
3暗号文ブロックの処理の際に生成された64ビットの
連鎖ブロックの内の上位8ビットと、8ビットの端数暗
号文データとを、対応するビット毎に排他的論理和の演
算を行ない、8ビットの端数平文データを生成する。
【0159】(34)ステップS210で暗号文データ
の未処理分が無いと判断された場合か、又は、ステップ
S212における端数平文データの生成後に、ブロック
結合部207が、各平文ブロック及び端数データ処理部
206が生成した端数平文データを結合して平文データ
を生成する(ステップS213)。ここでは、第1〜3
暗号文ブロックにそれぞれ対応する平文ブロック及び端
数平文データを結合して200ビットの平文データを生
成する。
【0160】実施の形態1の暗号処理装置は、前のブロ
ックに暗号処理に施した過程において生成された中間ブ
ロックを連鎖ブロックとして記憶しておき、後の暗号処
理の際に鍵データに融合し、暗号処理を施す度にその連
鎖ブロックを更新するものである。 (実施の形態2)本発明の実施の形態2は、記憶してい
る連鎖ブロックを鍵データに融合するのではなく、被暗
号処理データ又は被暗号処理データに暗号処理を施した
後のデータに融合する点が実施の形態1と異なる。
【0161】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
【0162】(データ暗号化装置10の構成)図11
は、本発明の実施の形態2における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
【0163】実施の形態1における図2に示すデータ暗
号化装置10と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
【0164】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、部分鍵生成部10
4、第1〜8暗号化部105a〜105h、端数データ
処理部106、ブロック結合部107及びブロック融合
部108で構成される。
【0165】図50に示す従来の暗号化装置30と図1
1に示す本発明の実施の形態2におけるデータ暗号化装
置10との関係は、排他的論理和部301はブロック融
合部108と対応し、データ暗号化部302はブロック
分割部101、部分鍵生成部104、第1〜8暗号化部
105a〜105h、端数データ処理部106及びブロ
ック結合部107と対応し、レジスタ303はブロック
記憶部102と対応する。
【0166】ブロック分割部101は、分割したブロッ
クを第1暗号化部105aへ渡さずにブロック融合部1
08へ渡す点のみ実施の形態1と異なる。
【0167】ブロック融合部108は、ブロック記憶部
102に記憶された連鎖ブロックを、平文ブロックに融
合し融合平文ブロックを生成する。ここでは、第1平文
ブロックを処理する際には、64ビットの連鎖ブロック
の初期値IVと64ビットの第1平文ブロックとを、対
応するビット毎に排他的論理和の演算を行ない64ビッ
トの第1融合平文ブロックを生成し、第2〜3平文ブロ
ックを処理する際には、第1〜2平文ブロックの処理の
際に生成された64ビットの連鎖ブロックと64ビット
の第2〜3平文ブロックとを、対応するビット毎に排他
的論理和の演算を行ない64ビットの第2〜3融合平文
ブロックを生成する。
【0168】部分鍵生成部104は、鍵データから、暗
号化部の数に相当する数の部分鍵を生成する。ここで
は、予め設定された64ビットの鍵データを入手し、6
4ビットの鍵データから48ビットの部分鍵を8個生成
する。
【0169】第1暗号化部105aは、平文ブロックか
らではなく、ブロック融合部108が生成した融合平文
ブロックから第1中間ブロックを生成する。
【0170】第1〜8暗号化部105a〜105hは、
実施の形態1のそれらと同一の機能を有する。ここで
は、第1〜3融合平文ブロックから、それぞれに対応す
る第1〜7中間ブロックと、第1〜3暗号文ブロックと
を生成する。
【0171】(データ復号化装置20の構成)図12
は、本発明の実施の形態2における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
【0172】実施の形態1における図7に示すデータ復
号化装置20と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
【0173】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、部分鍵生成部20
4、第1〜8復号化部205a〜205h、端数データ
処理部206、ブロック結合部207及びブロック融合
部208で構成される。
【0174】部分鍵生成部204は、鍵データから、復
号化部の数に相当する数の部分鍵を生成する。ここで
は、予め設定された64ビットの鍵データを入手し、6
4ビットの鍵データから48ビットの部分鍵を8個生成
する。なお、この部分鍵を生成する機能は、データ暗号
化装置10の部分鍵生成部104が行なうそれと全く同
一である。
【0175】第8復号化部205hは、第1の部分鍵に
基づいて、第1中間ブロックから、暗号処理ブロックを
生成する。
【0176】第1〜8復号化部205a〜205hは、
実施の形態1のそれらと同一の機能を有する。ここで
は、第1〜3暗号文ブロックから、それぞれに対応する
第1〜7中間ブロックと、第1〜3暗号処理ブロックと
を生成する。
【0177】ブロック融合部208は、ブロック記憶部
202に記憶された連鎖ブロックを、暗号処理ブロック
に融合し、平文ブロックを生成する。ここでは、第1暗
号文ブロックを処理する際には、64ビットの連鎖ブロ
ックの初期値IVと64ビットの第1暗号処理ブロック
とを、対応するビット毎に排他的論理和の演算を行ない
64ビットの第1平文ブロックを生成し、第2〜3暗号
文ブロックを処理する際には、第1〜2暗号文ブロック
の処理の際に生成された64ビットの連鎖ブロックと6
4ビットの第2〜3暗号処理ブロックとを、対応するビ
ット毎に排他的論理和の演算を行ない64ビットの第2
〜3平文ブロックを生成する。
【0178】ブロック結合部207は、ブロック融合部
208が生成した平文データの各ブロック及び端数デー
タ処理部206が生成した端数平文データを結合して平
文データを生成する。ここでは、各64ビットの第1〜
3平文データ及び8ビットの端数平文データを結合して
200ビットの平文データを生成する。
【0179】<動作> (データ暗号化装置10の動作)図13は、本発明の実
施の形態2のデータ暗号化装置10における暗号化処理
の流れを示す図である。
【0180】実施の形態1における図9に示すデータ暗
号化装置10の動作と共通するステップには同一符号を
付し、その説明を省略する。
【0181】(1)〜(2)実施の形態1と同様である
(ステップS101、ステップS102:1回目)。
【0182】(3)部分鍵生成部104が、鍵データか
ら、暗号化部の数に相当する数の部分鍵を生成する(ス
テップS301)。ここでは、予め設定された64ビッ
トの鍵データを入手し、64ビットの鍵データから48
ビットの部分鍵を8個生成する(ステップS301:1
回目)。
【0183】(4)ブロック融合部108が、ブロック
記憶部102に記憶された連鎖ブロックを、平文ブロッ
クに融合し、融合平文ブロックを生成する(ステップS
302)。ここでは、64ビットの連鎖ブロックの初期
値IVと64ビットの第1平文ブロックとを、対応する
ビット毎に排他的論理和を行ない、64ビットの第1融
合平文ブロックを生成する(ステップS302:1回
目)。
【0184】(5)第1暗号化部105aが、第1の部
分鍵に基づいて、融合平文ブロックから第1中間ブロッ
クを生成する(ステップS303)。ここでは、第1融
合平文ブロックから第1中間ブロックを生成する(ステ
ップS303:1回目)。
【0185】(6)〜(12)実施の形態1と同様であ
る(ステップS106〜ステップS110:1回目、ス
テップS101、ステップS102:2回目)。
【0186】(13)ステップS301において、ここ
では、64ビットの鍵データから48ビットの部分鍵を
8個生成する。なお、鍵データの変更がなければ1回目
と全く同じ処理なので、各部分鍵を記憶しておいてもか
まわない(ステップS301:2回目)。
【0187】(14)ステップS302において、ここ
では、第1平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックと64ビットの第2平文ブロックと
を、対応するビット毎に排他的論理和の演算を行ない、
64ビットの第2融合平文ブロックを生成する(ステッ
プS302:2回目)。
【0188】(15)ステップS303において、ここ
では、第2融合平文ブロックから第1中間ブロックを生
成する(ステップS303:2回目)。
【0189】(16)〜(22)実施の形態1と同様で
ある(ステップS106〜ステップS110:2回目、
ステップS101、ステップS102:3回目)。
【0190】(23)ステップS301において、ここ
では、64ビットの鍵データから48ビットの部分鍵を
8個生成する。なお、鍵データの変更がなければ1回目
と全く同じ処理なので、各部分鍵を記憶しておいてもか
まわない(ステップS301:3回目)。
【0191】(24)ステップS302において、ここ
では、第2平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックと64ビットの第3平文ブロックと
を、対応するビット毎に排他的論理和の演算を行ない、
64ビットの第3融合平文ブロックを生成する(ステッ
プS302:3回目)。
【0192】(25)ステップS303において、ここ
では、第3融合平文ブロックから第1中間ブロックを生
成する(ステップS303:3回目)。
【0193】(26)〜(34)実施の形態1と同様で
ある(ステップS106〜ステップS110:3回目、
ステップS101:4回目、ステップS111〜ステッ
プS113)。
【0194】(データ復号化装置20の動作)図14
は、本発明の実施の形態2のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
【0195】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
【0196】実施の形態1における図10に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
【0197】(1)〜(2)実施の形態1と同様である
(ステップS201〜ステップS202:1回目)。
【0198】(3)部分鍵生成部204が、鍵データか
ら、復号化部の数に相当する数の部分鍵を生成する(ス
テップS401)。ここでは、予め設定された64ビッ
トの鍵データを入手し、64ビットの鍵データから48
ビットの部分鍵を8個生成する(ステップS401:1
回目)。
【0199】(4)〜(6)実施の形態1の(5)、
(6)、(8)と同様である(ステップS205、ステ
ップS206、ステップS208:1回目)。
【0200】(7)第8復号化部205hが、第1の部
分鍵に基づいて、第1中間ブロックから暗号処理ブロッ
クを生成する(ステップS402)。ここでは、第1暗
号文ブロックに対応する第1中間ブロックから第1暗号
処理ブロックを生成する(ステップS402:1回
目)。
【0201】(8)ブロック融合部208が、ブロック
記憶部202に記憶された連鎖ブロックを暗号処理ブロ
ックに融合し、平文ブロックを生成する(ステップS4
03)。ここでは、64ビットの連鎖ブロックの初期値
IVと64ビットの第1暗号処理ブロックとを、対応す
るビット毎に排他的論理和を行ない、64ビットの第1
平文ブロックを生成する(ステップS403:1回
目)。
【0202】(9)実施の形態1の(7)と同様である
(ステップS207:1回目)。
【0203】(10)〜(12)実施の形態1と同様で
ある(ステップS210:1回目、ステップS201〜
ステップS202:2回目)。
【0204】(13)ステップS401において、ここ
では、64ビットの鍵データから48ビットの部分鍵を
8個生成する。なお、鍵データの変更がなければ1回目
と全く同じ処理なので、各部分鍵を記憶しておいてもか
まわない(ステップS401:2回目)。
【0205】(14)〜(16)実施の形態1の(1
5)、(16)、(18)と同様である(ステップS2
05、ステップS206、ステップS208:2回
目)。
【0206】(17)ステップS402において、ここ
では、第2暗号文ブロックに対応する第1中間ブロック
から第2暗号処理ブロックを生成する(ステップS40
2:2回目)。
【0207】(18)ステップS403において、ここ
では、第1暗号文ブロックの処理の際に生成された64
ビットの連鎖ブロックと64ビットの第2暗号処理ブロ
ックとを、対応するビット毎に排他的論理和の演算を行
ない64ビットの第2平文ブロックを生成する(ステッ
プS403:2回目)。
【0208】(19)実施の形態1の(17)と同様で
ある(ステップS207:2回目)。
【0209】(20)〜(22)実施の形態1と同様で
ある(ステップS210:2回目、ステップS201〜
ステップS202:3回目)。
【0210】(23)ステップS401において、ここ
では、64ビットの鍵データから48ビットの部分鍵を
8個生成する。なお、鍵データの変更がなければ1回目
と全く同じ処理なので、各部分鍵を記憶しておいてもか
まわない(ステップS401:3回目)。
【0211】(24)〜(26)実施の形態1の(2
5)、(26)、(28)と同様である(ステップS2
05、ステップS206、ステップS208:3回
目)。
【0212】(27)ステップS402において、ここ
では、第3暗号文ブロックに対応する第1中間ブロック
から第3暗号処理ブロックを生成する(ステップS40
2:3回目)。
【0213】(28)ステップS403において、ここ
では、第2暗号文ブロックの処理の際に生成された64
ビットの連鎖ブロックと64ビットの第3暗号処理ブロ
ックとを、対応するビット毎に排他的論理和の演算を行
ない64ビットの第3平文ブロックを生成する(ステッ
プS403:3回目)。
【0214】(29)実施の形態1の(27)と同様で
ある(ステップS207:3回目)。
【0215】(30)〜(34)実施の形態1と同様で
ある(ステップS210:3回目、ステップS201:
4回目、ステップS211〜ステップS213)。
【0216】実施の形態2の暗号処理装置は、前のブロ
ックに暗号処理に施した過程において生成された中間ブ
ロックを連鎖ブロックとして記憶しておき、後の暗号処
理の際に平文ブロックや暗号処理ブロックに融合し、暗
号処理を施す度にその連鎖ブロックを更新するものであ
る。 (実施の形態3)本発明の実施の形態3のデータ暗号化
装置10は、第5暗号化部105eの入力のみが実施の
形態1のそれと異なっている。実施の形態1における第
5暗号化部105eの入力は第4暗号化部105dの出
力となっているが、実施の形態3におけるその入力は平
文ブロックである。従って、連鎖ブロックと平文ブロッ
クは、それぞれ別の暗号化部によって処理される。
【0217】また本発明の実施の形態3のデータ復号化
装置20は、データ暗号化装置10の逆変換であって、
第4復号化部205dの出力が平文ブロックとなり、こ
の平文ブロックをデータ暗号化装置10と同様に暗号化
して生成した第4中間ブロックを新たな連鎖ブロックと
して記憶する点が実施の形態1のデータ復号化装置20
と異なる。
【0218】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
【0219】(データ暗号化装置10の構成)図15
は、本発明の実施の形態3における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
【0220】実施の形態1における図2に示すデータ暗
号化装置10と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
【0221】このデータ暗号化装置10の構成は実施の
形態1と同一であり、第5暗号化部105eが、第4中
間ブロックからではなく平文ブロックから第5中間ブロ
ックを生成する点のみ実施の形態1と異なる。
【0222】(データ復号化装置20の構成)図16
は、本発明の実施の形態3における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
【0223】実施の形態1における図7に示すデータ復
号化装置20と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
【0224】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、鍵データ融合部2
03、部分鍵生成部204、第1〜4復号化部205a
〜205d、第1〜4暗号化部205i〜205l、端
数データ処理部206及びブロック結合部207で構成
される。
【0225】第4復号化部205dは、第5の部分鍵に
基づいて、第5中間ブロックから平文ブロックを生成す
る。ここでは、第1〜3暗号文ブロックにそれぞれ対応
する第5中間ブロックから、第1〜3平文ブロックを生
成する。なお、第1〜4復号化部205a〜205dが
行なう変換は、それぞれデータ暗号化装置10の第8〜
5暗号化部105h〜105eが行なう変換の逆変換で
ある。
【0226】第1暗号化部205iは、第1の部分鍵に
基づいて、第4復号化部205dが生成した平文ブロッ
クから第1中間ブロックを生成する。
【0227】第2〜4暗号化部205j〜205lは、
それぞれ第2〜4の部分鍵に基づいて、第1〜3中間ブ
ロックから第2〜4中間ブロックを生成する。
【0228】第1〜4暗号化部205i〜205lは、
それぞれデータ暗号化装置10の第1〜4暗号化部10
5a〜105dと同一の機能を有し、その動作も全く同
一である。ここでは、第1〜3平文ブロックから、それ
ぞれに対応する第1〜4中間ブロックを生成する。
【0229】ブロック記憶部202はブロック更新機能
を備え、第4暗号化部205lが第4中間ブロックを生
成する度に、この第4中間ブロックを新たな連鎖ブロッ
クとして記憶している連鎖ブロックを更新し、次のブロ
ックを処理する際に用いる。ここでの動作は、実施の形
態1と同様である。
【0230】ブロック結合部207は、第4復号化部2
05dが生成した平文データの各ブロック及び端数デー
タ処理部206が生成した端数平文データを結合して平
文データを生成する。ここでは、各64ビットの第1〜
3平文データ及び8ビットの端数平文データを結合して
200ビットの平文データを生成する。
【0231】<動作> (データ暗号化装置10の動作)図17は、本発明の実
施の形態3のデータ暗号化装置10における暗号化処理
の流れを示す図である。
【0232】実施の形態1における図9に示すデータ暗
号化装置10の動作と共通するステップには同一符号を
付し、その説明を省略する。
【0233】(1)〜(7)実施の形態1と同様である
(ステップS101〜ステップS107:1回目)。
【0234】(8)第5〜7暗号化部105e〜105
gが、それぞれ第5〜7の部分鍵に基づいて、平文ブロ
ック及び第5〜6中間ブロックから第5〜7中間ブロッ
クを生成する(ステップS501)。ここでは、第1平
文ブロック及び第1平文ブロックに対応する第5〜6中
間ブロックから第5〜7中間ブロックを生成する(ステ
ップS501:1回目)。
【0235】(9)〜(17)実施の形態1と同様であ
る(ステップS109、ステップS110:1回目、ス
テップS101〜ステップS107:2回目)。
【0236】(18)ステップS501において、ここ
では、第2平文ブロック及び第2平文ブロックに対応す
る第5〜6中間ブロックから第5〜7中間ブロックを生
成する(ステップS501:2回目)。
【0237】(19)〜(27)実施の形態1と同様で
ある(ステップS109、ステップS110:2回目、
ステップS101〜ステップS107:3回目)。
【0238】(28)ステップS501において、ここ
では、第3平文ブロック及び第3平文ブロックに対応す
る第5〜6中間ブロックから第5〜7中間ブロックを生
成する(ステップS501:3回目)。
【0239】(29)〜(34)実施の形態1と同様で
ある(ステップS109、ステップS110:3回目、
ステップS101:4回目、ステップS111〜ステッ
プS113)。
【0240】(データ復号化装置20の動作)図18
は、本発明の実施の形態3のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
【0241】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
【0242】実施の形態1における図10に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
【0243】(1)〜(5)実施の形態1と同様である
(ステップS201〜ステップS205:1回目)。
【0244】(6)第2〜4復号化部205b〜205
dが、それぞれ第7〜5の部分鍵に基づいて、第7〜5
中間ブロックから第6中間ブロック、第5中間ブロック
及び平文ブロックを生成する(ステップS601)。こ
こでは、第1暗号文ブロックに対応する第7〜5中間ブ
ロックから第6中間ブロック、第5中間ブロック及び第
1平文ブロックを生成する(ステップS601:1回
目)。
【0245】(7)第1暗号化部205iが、第1の部
分鍵に基づいて、第4復号化部205dが生成した平文
ブロックから第1中間ブロックを生成する(ステップS
602)。ここでは、第1平文ブロックから第1中間ブ
ロックを生成する(ステップS602:1回目)。
【0246】(8)第2〜4暗号化部205j〜205
lが、それぞれ第2〜4の部分鍵に基づいて、第1〜3
中間ブロックから第2〜4中間ブロックを生成する(ス
テップS603)。ここでは、第1平文ブロックに対応
する第1〜3中間ブロックから第2〜4中間ブロックを
生成する(ステップS603:1回目)。
【0247】(9)ブロック記憶部202が、第4暗号
化部205lが生成した第4中間ブロックを新たな連鎖
ブロックとして、記憶している連鎖ブロックを更新する
(ステップS604)。ここでは、第1平文ブロックに
対応する第4中間ブロックに更新する(ステップS60
4:1回目)。
【0248】(10)〜(15)実施の形態1と同様で
ある(ステップS210:1回目、ステップS201〜
ステップS205:2回目)。
【0249】(16)ステップS601において、ここ
では、第2暗号文ブロックに対応する第7〜5中間ブロ
ックから第6中間ブロック、第5中間ブロック及び第2
平文ブロックを生成する(ステップS601:2回
目)。
【0250】(17)ステップS602において、ここ
では、第2平文ブロックから第1中間ブロックを生成す
る(ステップS602:2回目)。
【0251】(18)ステップS603において、ここ
では、第2平文ブロックに対応する第1〜3中間ブロッ
クから第2〜4中間ブロックを生成する(ステップS6
03:2回目)。
【0252】(19)ステップS604において、ここ
では、第2平文ブロックに対応する第4中間ブロックに
更新する(ステップS604:2回目)。
【0253】(20)〜(25)実施の形態1と同様で
ある(ステップS210:2回目、ステップS201〜
ステップS205:3回目)。
【0254】(26)ステップS601において、ここ
では、第3暗号文ブロックに対応する第7〜5中間ブロ
ックから第6中間ブロック、第5中間ブロック及び第3
平文ブロックを生成する(ステップS601:3回
目)。
【0255】(27)ステップS602において、ここ
では、第3平文ブロックから第1中間ブロックを生成す
る(ステップS602:3回目)。
【0256】(28)ステップS603において、ここ
では、第3平文ブロックに対応する第1〜3中間ブロッ
クから第2〜4中間ブロックを生成する(ステップS6
03:3回目)。
【0257】(29)ステップS604において、ここ
では、第3平文ブロックに対応する第4中間ブロックに
更新する(ステップS604:3回目)。
【0258】(30)〜(34)実施の形態1と同様で
ある(ステップS210:3回目、ステップS201:
4回目、ステップS211〜ステップS213)。
【0259】実施の形態3の暗号処理装置は、前のブロ
ックに暗号処理に施した過程において生成された中間ブ
ロックを連鎖ブロックとして記憶しておき、後の暗号処
理の際に鍵データに融合し、暗号処理を施す度にその連
鎖ブロックを更新するものである。
【0260】なお、実施の形態3では、連鎖ブロックを
鍵データに融合する実施の形態1に上記のような変更を
行なったが、連鎖ブロックを平文ブロックや暗号処理ブ
ロックに融合する実施の形態2に、同様に上記のような
変更を行なうものであってもよい。
【0261】このような暗号処理装置は、前のブロック
に暗号処理に施した過程において生成された中間ブロッ
クを連鎖ブロックとして記憶しておき、後の暗号処理の
際に平文ブロックや暗号処理ブロックに融合し、暗号処
理を施す度にその連鎖データを更新する。 (実施の形態4)本発明の実施の形態4は、実施の形態
2に実施の形態3のような変更を行った場合において、
融合するデータを暗号化する第1〜4暗号化部と連鎖ブ
ロックを記憶するブロック記憶部との順番を逆にして、
融合後又は融合前のブロックを新たな連鎖ブロックとし
て記憶するものである。
【0262】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
【0263】(データ暗号化装置10の構成)図19
は、本発明の実施の形態4における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
【0264】実施の形態2における図11に示すデータ
暗号化装置10と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
【0265】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、部分鍵生成部10
4、第1〜8暗号化部105a〜105h、端数データ
処理部106、ブロック結合部107及びブロック融合
部108で構成される。
【0266】第1暗号化部105aは、融合平文ブロッ
クからではなく、ブロック記憶部102に記憶された連
鎖ブロックから第1中間ブロックを生成する。
【0267】第1〜4暗号化部105a〜105dは、
実施の形態2のそれらと同一の機能を有する。ここで
は、連鎖ブロックから、それぞれに対応する第1〜3中
間ブロック及び暗号処理ブロックを生成する。
【0268】ブロック融合部108は、第4暗号化部1
05dが生成した暗号処理ブロックを平文ブロックに融
合し、第4中間ブロックを生成する。ここでは、第1平
文ブロックを処理する際には、連鎖ブロックの初期値I
Vから生成された64ビットの第1暗号処理ブロックと
64ビットの第1平文ブロックとを、対応するビット毎
に排他的論理和の演算を行ない、第2〜3平文ブロック
を処理する際には、第1〜2平文ブロックの処理の際に
生成された64ビットの第2〜3暗号処理ブロックと6
4ビットの第2〜3平文ブロックとを、対応するビット
毎に排他的論理和の演算を行なう。
【0269】ブロック記憶部102はブロック更新機能
を備え、ブロック融合部108が第4中間ブロックを生
成する度に、この第4中間ブロックを新たな連鎖ブロッ
クとして記憶している連鎖ブロックを更新し、次のブロ
ックを処理する際に用いる。ここでは、予め64ビット
の初期値IVが記憶され、この初期値IVが第1平文ブ
ロックを処理する際に用いられ、この処理の際に生成さ
れた第4中間ブロックを新たな連鎖ブロックとして記憶
する。次に、第1平文ブロックの処理の際に更新された
連鎖ブロックが第2平文ブロックを処理する際に用いら
れ、この処理の際に生成された第4中間ブロックを新た
な連鎖ブロックとして記憶する。次に、第2平文ブロッ
クの処理の際に記憶された連鎖ブロックが第3平文ブロ
ックを処理する際に用いられ、この処理の際に生成され
た第4中間ブロックを新たな連鎖ブロックとして記憶す
る。最後に、第3平文ブロックの処理の際に記憶された
連鎖ブロックが端数平文データを処理する際に用いられ
る。
【0270】第5〜8暗号化部105e〜105hは、
実施の形態2のそれらと同一の機能を有する。ここで
は、第4中間ブロックから、それぞれに対応する第5〜
7中間ブロックと、第1〜3暗号文ブロックとを生成す
る。
【0271】端数データ処理部106は、ブロック分割
部101から端数平文データを受け取り、第4暗号化部
105dが生成した暗号処理ブロックに基づいて、端数
平文データから端数平文データと同じビット数の端数暗
号データを生成するものであり、データ整合部106a
及び端数データ融合部106bを含む。
【0272】データ整合部106aは、第4暗号化部1
05dが生成した暗号処理ブロックから、端数平文デー
タと同じビット数の端数暗号処理データを生成する。こ
こでは、端数平文データが8ビットなので、第4暗号化
部105dが生成した暗号処理ブロックの、例えば上位
8ビットで構成される端数暗号処理データを生成する。
【0273】端数データ融合部106bは、端数暗号処
理データを端数平文データに融合する。ここでは、8ビ
ットの端数暗号処理データと8ビットの端数平文データ
とを、対応するビット毎に排他的論理和の演算を行な
い、8ビットの端数暗号文データを生成する。
【0274】なお、端数データ処理部106は実施の形
態2のそれと同一の機能を有するものであってもよい。
【0275】(データ復号化装置20の構成)図20
は、本発明の実施の形態4における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
【0276】実施の形態2における図12に示すデータ
復号化装置20と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
【0277】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、部分鍵生成部20
4、第1〜4復号化部205a〜205d、第1〜4暗
号化部205i〜205l、端数データ処理部206、
ブロック結合部207及びブロック融合部208で構成
される。
【0278】第1暗号化部205iは、第1の部分鍵に
基づいて、ブロック記憶部202に記憶された連鎖ブロ
ックから第1中間ブロックを生成する。
【0279】第2〜4暗号化部205j〜205lは、
それぞれ第2〜4の部分鍵に基づいて、第1〜3中間ブ
ロックから第2中間ブロック、第3中間ブロック及び暗
号処理ブロックを生成する。
【0280】ブロック融合部208は、第4暗号化部2
05lが生成した暗号処理ブロックを第4復号化部20
5dが生成した第4中間ブロックに融合し、平文ブロッ
クを生成する。ここでは、第1暗号文ブロックを処理す
る際には、連鎖ブロックの初期値IVから生成された6
4ビットの第1暗号処理ブロックと第1暗号文ブロック
から生成された64ビットの第4中間ブロックとを、対
応するビット毎に排他的論理和の演算を行ない64ビッ
トの第1平文ブロックを生成し、第2〜3暗号文ブロッ
クを処理する際には、第1〜2暗号文ブロックの処理の
際に生成された連鎖ブロックから生成された64ビット
の第2〜3暗号処理ブロックと第2〜3暗号文ブロック
から生成された64ビットのそれぞれの第4中間ブロッ
クとを、対応するビット毎に排他的論理和の演算を行な
い64ビットの第2〜3平文ブロックを生成する。
【0281】端数データ処理部206は、ブロック分割
部201から端数暗号文データを受け取り、第4暗号化
部205lが生成した暗号処理ブロックに基づいて、端
数暗号文データから端数暗号文データと同じビット数の
端数平文データを生成するものであり、データ整合部2
06a及び端数データ融合部206bを含む。
【0282】データ整合部206aは、第4暗号化部2
05lが生成した暗号処理ブロックから、端数暗号文デ
ータと同じビット数の端数暗号処理データを生成する。
ここでは、端数暗号文データが8ビットなので、第4暗
号化部205lが生成した暗号処理ブロックの、例えば
上位8ビットで構成される端数暗号処理データを生成す
る。
【0283】端数データ融合部206bは、端数暗号処
理データを端数暗号文データに融合する。ここでは、8
ビットの端数暗号処理データと8ビットの端数暗号文デ
ータとを、対応するビット毎に排他的論理和の演算を行
ない、8ビットの端数平文データを生成する。
【0284】なお、端数データ処理部206は実施の形
態2のそれと同一の機能を有するものであってもよい。
【0285】<動作> (データ暗号化装置10の動作)図21は、本発明の実
施の形態4のデータ暗号化装置10における暗号化処理
の流れを示す図である。
【0286】実施の形態2における図13に示すデータ
暗号化装置10の動作と共通するステップには同一符号
を付し、その説明を省略する。
【0287】(1)〜(3)実施の形態2と同様である
(ステップS101、ステップS102、ステップS3
01:1回目)。
【0288】(4)第1暗号化部105aが、第1の部
分鍵に基づいて、ブロック記憶部102に記憶された連
鎖ブロックから第1中間ブロックを生成する(ステップ
S701)。ここでは、連鎖ブロックの初期値IVから
第1中間ブロックを生成する(ステップS701:1回
目)。
【0289】(5)第2〜4暗号化部105b〜105
dが、それぞれ第2〜4の部分鍵に基づいて、第1〜3
中間ブロックから第2中間ブロック、第3中間ブロック
及び暗号処理ブロックを生成する(ステップS70
2)。ここでは、連鎖ブロックの初期値IVに対応する
第1〜3中間ブロックから第2中間ブロック、第3中間
ブロック及び第1暗号処理ブロックを生成する(ステッ
プS702:1回目)。
【0290】(6)ブロック融合部108が、暗号処理
ブロックを平文ブロックに融合し、第4中間ブロックを
生成する(ステップS703)。ここでは、64ビット
の第1暗号処理ブロックと64ビットの第1平文ブロッ
クとを、対応するビット毎に排他的論理和を行ない、6
4ビットの第4中間ブロックを生成する(ステップS7
03:1回目)。
【0291】(7)〜(13)実施の形態2と同様であ
る(ステップS107〜ステップS110:1回目、ス
テップS101、ステップS102、ステップS30
1:2回目)。
【0292】(14)ステップS701において、ここ
では、第1平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックから第1中間ブロックを生成する
(ステップS701:2回目)。
【0293】(15)ステップS702において、ここ
では、第1平文ブロックの処理の際に生成された連鎖ブ
ロックに対応する第1〜3中間ブロックから第2中間ブ
ロック、第3中間ブロック及び第2暗号処理ブロックを
生成する(ステップS702:2回目)。
【0294】(16)ステップS703において、ここ
では、64ビットの第2暗号処理ブロックと64ビット
の第2平文ブロックとを、対応するビット毎に排他的論
理和を行ない、64ビットの第4中間ブロックを生成す
る(ステップS703:2回目)。
【0295】(17)〜(23)実施の形態2と同様で
ある(ステップS107〜ステップS110:2回目、
ステップS101、ステップS102、ステップS30
1:3回目)。
【0296】(24)ステップS701において、ここ
では、第2平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックから第1中間ブロックを生成する
(ステップS701:3回目)。
【0297】(25)ステップS702において、ここ
では、第2平文ブロックの処理の際に生成された連鎖ブ
ロックに対応する第1〜3中間ブロックから第2中間ブ
ロック、第3中間ブロック及び第3暗号処理ブロックを
生成する(ステップS702:3回目)。
【0298】(26)ステップS703において、ここ
では、64ビットの第3暗号処理ブロックと64ビット
の第3平文ブロックとを、対応するビット毎に排他的論
理和を行ない、64ビットの第4中間ブロックを生成す
る(ステップS703:3回目)。
【0299】(27)〜(34)実施の形態2と同様で
ある(ステップS107〜ステップS110:3回目、
ステップS101:4回目、ステップS111〜ステッ
プS113)。
【0300】(データ復号化装置20の動作)図22
は、本発明の実施の形態4のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
【0301】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
【0302】実施の形態2における図14に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
【0303】(1)〜(5)実施の形態2と同様である
(ステップS201、ステップS202、ステップS4
01、ステップS205、ステップS206:1回
目)。
【0304】(6)第1暗号化部205iが、第1の部
分鍵に基づいて、ブロック記憶部202に記憶された連
鎖ブロックから第1中間ブロックを生成する(ステップ
S801)。ここでは、連鎖ブロックの初期値IVから
第1中間ブロックを生成する(ステップS801:1回
目)。
【0305】(7)第2〜4暗号化部205j〜205
lが、それぞれ第2〜4の部分鍵に基づいて、第1〜3
中間ブロックから第2中間ブロック、第3中間ブロック
及び暗号処理ブロックを生成する(ステップS80
2)。ここでは、連鎖ブロックの初期値IVに対応する
第1〜3中間ブロックから第2中間ブロック、第3中間
ブロック及び第1暗号処理ブロックを生成する(ステッ
プS802:1回目)。
【0306】(8)ブロック融合部208が、暗号処理
ブロックを、第4中間ブロックに融合し、平文ブロック
を生成する(ステップS803)。ここでは、64ビッ
トの第1暗号処理ブロックと第1暗号文ブロックに対応
する64ビットの第4中間ブロックとを、対応するビッ
ト毎に排他的論理和を行ない、64ビットの第1平文ブ
ロックを生成する(ステップS803:1回目)。
【0307】(9)〜(15)実施の形態2と同様であ
る(ステップS207、ステップS210:1回目、ス
テップS201、ステップS202、ステップS40
1、ステップS205、ステップS206:2回目)。
【0308】(16)ステップS801において、ここ
では、第1暗号文ブロックの処理の際に生成された64
ビットの連鎖ブロックから第1中間ブロックを生成する
(ステップS801:2回目)。
【0309】(17)ステップS802において、ここ
では、第1暗号文ブロックの処理の際に生成された連鎖
ブロックに対応する第1〜3中間ブロックから第2中間
ブロック、第3中間ブロック及び第2暗号処理ブロック
を生成する(ステップS802:2回目)。
【0310】(18)ステップS803において、ここ
では、64ビットの第2暗号処理ブロックと第2暗号文
ブロックに対応する64ビットの第4中間ブロックと
を、対応するビット毎に排他的論理和を行ない、64ビ
ットの第2平文ブロックを生成する(ステップS80
3:2回目)。
【0311】(19)〜(25)実施の形態2と同様で
ある(ステップS207、ステップS210:2回目、
ステップS201、ステップS202、ステップS40
1、ステップS205、ステップS206:3回目)。
【0312】(26)ステップS801において、ここ
では、第2暗号文ブロックの処理の際に生成された64
ビットの連鎖ブロックから第1中間ブロックを生成する
(ステップS801:3回目)。
【0313】(27)ステップS802において、ここ
では、第2暗号文ブロックの処理の際に生成された連鎖
ブロックに対応する第1〜3中間ブロックから第2中間
ブロック、第3中間ブロック及び第3暗号処理ブロック
を生成する(ステップS802:3回目)。
【0314】(28)ステップS803において、ここ
では、64ビットの第3暗号処理ブロックと第3暗号文
ブロックに対応する64ビットの第4中間ブロックと
を、対応するビット毎に排他的論理和を行ない、64ビ
ットの第3平文ブロックを生成する(ステップS80
3:3回目)。
【0315】(29)〜(34)実施の形態2と同様で
ある(ステップS207、ステップS210:3回目、
ステップS201:4回目、ステップS211〜ステッ
プS213)。
【0316】実施の形態4の暗号処理装置は、前のブロ
ックに暗号処理に施した過程において生成された中間ブ
ロックを連鎖ブロックとして記憶しておき、後の暗号処
理の際に暗号処理を施して平文ブロックや暗号処理ブロ
ックに融合し、暗号処理を施す度にその連鎖ブロックを
更新するものである。 (実施の形態5)本発明の実施の形態5は、融合後又は
融合前のブロックを新たな連鎖ブロックとするのではな
く、連鎖ブロックに暗号処理を施したブロックを新たな
連鎖ブロックとして記憶する点のみが実施の形態4と異
なる。
【0317】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
【0318】(データ暗号化装置10の構成)図23
は、本発明の実施の形態5における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
【0319】実施の形態2における図11に示すデータ
暗号化装置10と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
【0320】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、部分鍵生成部10
4、第1〜8暗号化部105a〜105h、端数データ
処理部106、ブロック結合部107及びブロック融合
部108で構成される。
【0321】第1暗号化部105aは、融合平文ブロッ
クからではなく、ブロック記憶部102に記憶された連
鎖ブロックから第1中間ブロックを生成する。
【0322】第1〜4暗号化部105a〜105dは、
実施の形態2のそれらと同一の機能を有する。ここで
は、連鎖ブロックから、それぞれに対応する第1〜4中
間ブロックを生成する。
【0323】ブロック融合部108は、第4暗号化部1
05dが生成した第4中間ブロックを平文ブロックに融
合し、融合平文ブロックを生成する。ここでは、第1平
文ブロックを処理する際には、連鎖ブロックの初期値I
Vから生成された64ビットの第4中間ブロックと64
ビットの第1平文ブロックとを、対応するビット毎に排
他的論理和の演算を行ない、第2〜3平文ブロックを処
理する際には、第1〜2平文ブロックの処理の際に生成
されたそれぞれに対応する64ビットの第4中間ブロッ
クと64ビットの第2〜3平文ブロックとを、対応する
ビット毎に排他的論理和の演算を行なう。
【0324】第5暗号化部105eは、第4中間ブロッ
クからではなく、ブロック融合部108が生成した融合
平文ブロックから第5中間ブロックを生成する。
【0325】第5〜8暗号化部105e〜105hは、
実施の形態2のそれらと同一の機能を有する。ここで
は、融合平文ブロックから、それぞれに対応する第5〜
7中間ブロックと、第1〜3暗号文ブロックとを生成す
る。
【0326】端数データ処理部106は、実施の形態4
のそれと同一の機能を有する。
【0327】なお、端数データ処理部106は実施の形
態2のそれと同一の機能を有するものであってもよい。
【0328】(データ復号化装置20の構成)図24
は、本発明の実施の形態5における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
【0329】実施の形態2における図12に示すデータ
復号化装置20と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
【0330】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、部分鍵生成部20
4、第1〜4復号化部205a〜205d、第1〜4暗
号化部205i〜205l、端数データ処理部206、
ブロック結合部207及びブロック融合部208で構成
される。
【0331】第4復号化部205dは、第5の部分鍵に
基づいて、第5中間ブロックから暗号処理ブロックを生
成する。ここでは、第1〜3暗号文ブロックにそれぞれ
対応する第5中間ブロックから、第1〜3暗号処理ブロ
ックを生成する。なお、第1〜4復号化部205a〜2
05dが行なう変換は、それぞれデータ暗号化装置10
の第4〜1暗号化部105d〜105aが行なう変換の
逆変換である。
【0332】第1暗号化部205iは、第1の部分鍵に
基づいて、ブロック記憶部202に記憶された連鎖ブロ
ックから第1中間ブロックを生成する。
【0333】第2〜4暗号化部205j〜205lは、
それぞれ第2〜4の部分鍵に基づいて、第1〜3中間ブ
ロックから第2〜4中間ブロックを生成する。
【0334】ブロック記憶部202はブロック更新機能
を備え、第4暗号化部205lが第4中間ブロックを生
成する度に、この第4中間ブロックを新たな連鎖ブロッ
クとして記憶している連鎖ブロックを更新し、次のブロ
ックを処理する際に用いる。ここでの動作は、実施の形
態1と同様である。
【0335】第1〜4暗号化部205i〜205lは、
それぞれデータ暗号化装置10の第1〜4暗号化部10
5a〜105dと同一の機能を有し、その動作も全く同
一である。ここでは、各連鎖ブロックから、それぞれに
対応する第1〜4中間ブロックを生成する。
【0336】ブロック融合部208は、第4暗号化部2
05lが生成した第4中間ブロックを第4復号化部20
5dが生成した暗号処理ブロックに融合し、平文ブロッ
クを生成する。ここでは、第1暗号文ブロックを処理す
る際には、連鎖ブロックの初期値IVから生成された6
4ビットの第4中間ブロックと第1暗号文ブロックから
生成された64ビットの暗号処理ブロックとを、対応す
るビット毎に排他的論理和の演算を行ない64ビットの
第1平文ブロックを生成し、第2〜3暗号文ブロックを
処理する際には、第1〜2暗号文ブロックの処理の際に
生成された連鎖ブロックから生成された64ビットのそ
れぞれの第4中間ブロックと第2〜3暗号文ブロックか
ら生成された64ビットの第2〜3暗号処理ブロックと
を、対応するビット毎に排他的論理和の演算を行ない6
4ビットの第2〜3平文ブロックを生成する。
【0337】端数データ処理部206は、実施の形態4
のそれと同一の機能を有する。
【0338】なお、端数データ処理部206は実施の形
態2のそれと同一の機能を有するものであってもよい。
【0339】<動作> (データ暗号化装置10の動作)図25は、本発明の実
施の形態5のデータ暗号化装置10における暗号化処理
の流れを示す図である。
【0340】実施の形態2における図13に示すデータ
暗号化装置10の動作と共通するステップには同一符号
を付し、その説明を省略する。
【0341】(1)〜(3)実施の形態2と同様である
(ステップS101、ステップS102、ステップS3
01:1回目)。
【0342】(4)第1暗号化部105aが、第1の部
分鍵に基づいて、ブロック記憶部102に記憶された連
鎖ブロックから第1中間ブロックを生成する(ステップ
S901)。ここでは、連鎖ブロックの初期値IVから
第1中間ブロックを生成する(ステップS901:1回
目)。
【0343】(5)〜(6)実施の形態2の(6)〜
(7)と同様である(ステップS106、ステップS1
07:1回目)。
【0344】(7)ブロック融合部108が、第4中間
ブロックを平文ブロックに融合し、融合平文ブロックを
生成する(ステップS902)。ここでは、連鎖ブロッ
クの初期値IVに対応する64ビットの第4中間ブロッ
クと64ビットの第1平文ブロックとを、対応するビッ
ト毎に排他的論理和を行ない、64ビットの第1融合平
文ブロックを生成する(ステップS902:1回目)。
【0345】(8)第5暗号化部105eが、第5の部
分鍵に基づいて、融合平文ブロックから第5中間ブロッ
クを生成し、第6〜7暗号化部105f〜105gが、
それぞれ第6〜7の部分鍵に基づいて、第5〜6中間ブ
ロックから第6〜7中間ブロックを生成する(ステップ
S903)。ここでは、第1融合平文ブロックから第5
中間ブロックを生成し、5〜6中間ブロックから第6〜
7中間ブロックを生成する(ステップS903:1回
目)。
【0346】(9)〜(13)実施の形態2と同様であ
る(ステップS109、ステップS110:1回目、ス
テップS101、ステップS102、ステップS30
1:2回目)。
【0347】(14)ステップS901において、ここ
では、第1平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックから第1中間ブロックを生成する
(ステップS901:2回目)。
【0348】(15)〜(16)実施の形態2の(1
6)〜(17)と同様である(ステップS106、ステ
ップS107:2回目)。
【0349】(17)ステップS902において、ここ
では、第1平文ブロックの処理の際に生成された連鎖ブ
ロックに対応する64ビットの第4中間ブロックと64
ビットの第2平文ブロックとを、対応するビット毎に排
他的論理和を行ない、64ビットの第2融合平文ブロッ
クを生成する(ステップS902:2回目)。
【0350】(18)ステップS903において、ここ
では、第2融合平文ブロックから第5中間ブロックを生
成し、5〜6中間ブロックから第6〜7中間ブロックを
生成する(ステップS903:2回目)。
【0351】(19)〜(23)実施の形態2と同様で
ある(ステップS109、ステップS110:2回目、
ステップS101、ステップS102、ステップS30
1:3回目)。
【0352】(24)ステップS901において、ここ
では、第2平文ブロックの処理の際に生成された64ビ
ットの連鎖ブロックから第1中間ブロックを生成する
(ステップS901:3回目)。
【0353】(25)〜(26)実施の形態2の(2
6)〜(27)と同様である(ステップS106、ステ
ップS107:3回目)。
【0354】(27)ステップS902において、ここ
では、第2平文ブロックの処理の際に生成された連鎖ブ
ロックに対応する64ビットの第4中間ブロックと64
ビットの第3平文ブロックとを、対応するビット毎に排
他的論理和を行ない、64ビットの第3融合平文ブロッ
クを生成する(ステップS902:3回目)。
【0355】(28)ステップS903において、ここ
では、第3融合平文ブロックから第5中間ブロックを生
成し、5〜6中間ブロックから第6〜7中間ブロックを
生成する(ステップS903:3回目)。
【0356】(29)〜(34)実施の形態2と同様で
ある(ステップS109、ステップS110:3回目、
ステップS101:4回目、ステップS111〜ステッ
プS113)。
【0357】(データ復号化装置20の動作)図26
は、本発明の実施の形態5のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
【0358】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
【0359】実施の形態2における図14に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
【0360】(1)〜(4)実施の形態2と同様である
(ステップS201、ステップS202、ステップS4
01、ステップS205:1回目)。
【0361】(5)第2〜4復号化部205b〜205
dが、それぞれ第7〜5の部分鍵に基づいて、第7〜5
中間ブロックから第6中間ブロック、第5中間ブロック
及び暗号処理ブロックを生成する(ステップS100
1)。ここでは、第1暗号文ブロックに対応する第7〜
5中間ブロックから第6中間ブロック、第5中間ブロッ
ク及び第1暗号処理ブロックを生成する(ステップS1
001:1回目)。
【0362】(6)第1暗号化部205iが、第1の部
分鍵に基づいて、ブロック記憶部202に記憶された連
鎖ブロックから第1中間ブロックを生成する(ステップ
S1002)。ここでは、連鎖ブロックの初期値IVか
ら第1中間ブロックを生成する(ステップS1002:
1回目)。
【0363】(7)第2〜4暗号化部205j〜205
lが、それぞれ第2〜4の部分鍵に基づいて、第1〜3
中間ブロックから第2〜4中間ブロックを生成する(ス
テップS1003)。ここでは、連鎖ブロックの初期値
IVに対応する第1〜3中間ブロックから第2〜4中間
ブロックを生成する(ステップS1003:1回目)。
【0364】(8)ブロック融合部208が、第4中間
ブロックを、暗号処理ブロックに融合し、平文ブロック
を生成する(ステップS1004)。ここでは、第1暗
号文ブロックに対応する64ビットの第4中間ブロック
と64ビットの第1暗号処理ブロックとを、対応するビ
ット毎に排他的論理和を行ない、64ビットの第1平文
ブロックを生成する(ステップS1004:1回目)。
【0365】(9)〜(14)実施の形態2と同様であ
る(ステップS207、ステップS210:1回目、ス
テップS201、ステップS202、ステップS40
1、ステップS205:2回目)。
【0366】(15)ステップS1001において、こ
こでは、第2暗号文ブロックに対応する第7〜5中間ブ
ロックから第6中間ブロック、第5中間ブロック及び第
2暗号処理ブロックを生成する(ステップS1001:
2回目)。
【0367】(16)ステップS1002において、こ
こでは、第1暗号文ブロックの処理の際に生成された6
4ビットの連鎖ブロックから第1中間ブロックを生成す
る(ステップS1002:2回目)。
【0368】(17)ステップS1003において、こ
こでは、第1暗号文ブロックの処理の際に生成された連
鎖ブロックに対応する第1〜3中間ブロックから第2〜
4中間ブロックを生成する(ステップS1003:2回
目)。
【0369】(18)ステップS1004において、こ
こでは、第2暗号文ブロックに対応する64ビットの第
4中間ブロックと64ビットの第2暗号処理ブロックと
を、対応するビット毎に排他的論理和を行ない、64ビ
ットの第2平文ブロックを生成する(ステップS100
4:2回目)。
【0370】(19)〜(24)実施の形態2と同様で
ある(ステップS207、ステップS210:2回目、
ステップS201、ステップS202、ステップS40
1、ステップS205:3回目)。
【0371】(25)ステップS1001において、こ
こでは、第3暗号文ブロックに対応する第7〜5中間ブ
ロックから第6中間ブロック、第5中間ブロック及び第
3暗号処理ブロックを生成する(ステップS1001:
3回目)。
【0372】(26)ステップS1002において、こ
こでは、第2暗号文ブロックの処理の際に生成された6
4ビットの連鎖ブロックから第1中間ブロックを生成す
る(ステップS1002:3回目)。
【0373】(27)ステップS1003において、こ
こでは、第2暗号文ブロックの処理の際に生成された連
鎖ブロックに対応する第1〜3中間ブロックから第2〜
4中間ブロックを生成する(ステップS1003:3回
目)。
【0374】(28)ステップS1004において、こ
こでは、第3暗号文ブロックに対応する64ビットの第
4中間ブロックと64ビットの第3暗号処理ブロックと
を、対応するビット毎に排他的論理和を行ない、64ビ
ットの第3平文ブロックを生成する(ステップS100
4:3回目)。
【0375】(29)〜(34)実施の形態2と同様で
ある(ステップS207、ステップS210:3回目、
ステップS201:4回目、ステップS211〜ステッ
プS213)。
【0376】実施の形態5の暗号処理装置は、前のブロ
ックに暗号処理に施した過程において生成された中間ブ
ロックを連鎖ブロックとして記憶しておき、後の暗号処
理の際に暗号処理を施して平文ブロックや暗号処理ブロ
ックに融合し、暗号処理を施す度にその連鎖ブロックを
更新するものである。 (実施の形態6)本発明の実施の形態6は、鍵データに
より特定される暗号処理を施して、被暗号処理データか
ら出力データを生成する暗号処理装置であって、ブロッ
ク単位で暗号処理を施す度に出力ブロック、被暗号処理
ブロック及び中間ブロック等を連鎖ブロックとして記憶
し、次のブロックの暗号処理を施す際に記憶している連
鎖ブロックにブロック変換を施して鍵データに融合する
暗号処理装置である。
【0377】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
【0378】(データ暗号化装置10の構成)図27
は、本発明の実施の形態6における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
【0379】実施の形態1における図2に示すデータ暗
号化装置10と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
【0380】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、鍵データ融合部1
03、部分鍵生成部104、第1〜8暗号化部105a
〜105h、端数データ処理部106、ブロック結合部
107及びブロック変換部109で構成される。
【0381】ブロック記憶部102はブロック更新機能
を備え、第8暗号化部105hが暗号文ブロックを生成
する度に、この暗号文ブロックを新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1平文ブロッ
クを処理する際に用いられ、この処理の際に生成された
第1暗号文ブロックを新たな連鎖ブロックとして更新す
る。次に、第1平文ブロックの処理の際に更新した連鎖
ブロックが第2平文ブロックを処理する際に用いられ、
この処理の際に生成された第2暗号文ブロックを新たな
連鎖ブロックとして更新する。次に、第2平文ブロック
の処理の際に更新した連鎖ブロックが第3平文ブロック
を処理する際に用いられ、この処理の際に生成された第
3暗号文ブロックを新たな連鎖ブロックとして更新す
る。最後に、第3平文ブロックの処理の際に更新した連
鎖ブロックが端数平文データを処理する際に用いられ
る。
【0382】ブロック変換部109は、ブロック記憶部
102に記憶された連鎖ブロックに、予め決めておいた
所定の変換を施して変換ブロックを生成する。ここで、
ブロック変換部109が施す所定の変換は、例えば、ビ
ット置換やビット変換等である。ここでは、第1平文ブ
ロックを処理する際には、64ビットの連鎖ブロックの
初期値IVから64ビットの第1変換ブロックを生成
し、第2〜3平文ブロックを処理する際には、第1〜2
平文ブロックの処理の際にそれぞれ生成された64ビッ
トの連鎖ブロックから64ビットの第2〜3変換ブロッ
クを生成する。
【0383】鍵データ融合部103は、ブロック変換部
109が生成した変換ブロックを鍵データに融合し融合
鍵データを生成する。ここでは、予め設定された64ビ
ットの鍵データを入手し、第1平文ブロックを処理する
際には、64ビットの第1変換ブロックと64ビットの
鍵データとを、対応するビット毎に排他的論理和の演算
を行ない、第2〜3平文ブロックを処理する際には、6
4ビットの第2〜3変換ブロックと64ビットの鍵デー
タとを、対応するビット毎に排他的論理和の演算を行な
う。
【0384】端数データ処理部106は、ブロック分割
部101から端数平文データを受け取り、ブロック変換
部109が生成した変換ブロックに基づいて、端数平文
データから端数平文データと同じビット数の端数暗号文
データを生成するものであり、データ整合部106a及
び端数データ融合部106bを含む。
【0385】データ整合部106aは、ブロック変換部
109が生成した変換ブロックから、端数平文データと
同じビット数の端数変換データを生成する。ここでは、
端数平文データが8ビットなので、ブロック変換部10
9が生成した変換ブロックの、例えば上位8ビットで構
成される端数変換データを生成する。
【0386】端数データ融合部106bは、端数変換デ
ータを端数平文データに融合する。ここでは、8ビット
の端数変換データと8ビットの端数平文データとを、対
応するビット毎に排他的論理和の演算を行ない、8ビッ
トの端数暗号文データを生成する。
【0387】なお、端数データ処理部106は実施の形
態1のそれと同一の機能を有するものであってもよい。
【0388】(データ復号化装置20の構成)図28
は、本発明の実施の形態6における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
【0389】実施の形態1における図7に示すデータ復
号化装置20と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
【0390】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、鍵データ融合部2
03、部分鍵生成部204、第1〜8復号化部205a
〜205h、端数データ処理部206、ブロック結合部
207及びブロック変換部209で構成される。
【0391】ブロック記憶部202はブロック更新機能
を備え、ブロック分割部201が暗号文ブロックを生成
する度に、この暗号文ブロックを新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1暗号文ブロ
ックを処理する際に用いられ、第1暗号文ブロックを新
たな連鎖ブロックとして記憶する。次に、第1暗号文ブ
ロックの処理の際に更新された連鎖ブロックが第2暗号
文ブロックを処理する際に用いられ、第2暗号文ブロッ
クを新たな連鎖ブロックとして記憶する。次に、第2暗
号文ブロックの処理の際に記憶された連鎖ブロックが第
3暗号文ブロックを処理する際に用いられ、第3暗号文
ブロックを新たな連鎖ブロックとして記憶する。最後
に、第3暗号文ブロックの処理の際に記憶された連鎖ブ
ロックが端数暗号文データを処理する際に用いられる。
【0392】ブロック変換部209は、ブロック記憶部
202に記憶された連鎖ブロックに、予め決めておいた
所定の変換を施して変換ブロックを生成する。ここで、
ブロック変換部209が施す所定の変換は、データ暗号
化装置10のブロック変換部109が施す所定の変換と
同一であり、例えば、ビット置換やビット変換等であ
る。ここでは、第1暗号文ブロックを処理する際には、
64ビットの連鎖ブロックの初期値IVから64ビット
の第1変換ブロックを生成し、第2〜3暗号文ブロック
を処理する際には、第1〜2暗号文ブロックの処理の際
にそれぞれ生成された64ビットの連鎖ブロックから6
4ビットの第2〜3変換ブロックを生成する。
【0393】鍵データ融合部203は、ブロック変換部
209が生成した変換ブロックを鍵データに融合し融合
鍵データを生成する。ここでは、予め設定された64ビ
ットの鍵データを入手し、第1暗号文ブロックを処理す
る際には、64ビットの第1変換ブロックと64ビット
の鍵データとを、対応するビット毎に排他的論理和の演
算を行ない、第2〜3暗号文ブロックを処理する際に
は、64ビットの第2〜3変換ブロックと64ビットの
鍵データとを、対応するビット毎に排他的論理和の演算
を行なう。
【0394】端数データ処理部206は、ブロック分割
部201から端数暗号文データを受け取り、ブロック変
換部109が生成した変換ブロックに基づいて、端数暗
号文データから端数暗号文データと同じビット数の端数
平文データを生成するものであり、データ整合部206
a及び端数データ融合部206bを含む。
【0395】データ整合部206aは、ブロック変換部
109が生成した変換ブロックから、端数暗号文データ
と同じビット数の端数変換データを生成する。ここで
は、端数暗号文データが8ビットなので、ブロック変換
部109が生成した変換ブロックの、例えば上位8ビッ
トで構成される端数変換データを生成する。
【0396】端数データ融合部206bは、端数変換デ
ータを端数暗号文データに融合する。ここでは、8ビッ
トの端数変換データと8ビットの端数暗号文データと
を、対応するビット毎に排他的論理和の演算を行ない、
8ビットの端数平文データを生成する。
【0397】なお、端数データ処理部206は実施の形
態1のそれと同一の機能を有するものであってもよい。
【0398】<動作> (データ暗号化装置10の動作)図29は、本発明の実
施の形態6のデータ暗号化装置10における暗号化処理
の流れを示す図である。
【0399】実施の形態1における図9に示すデータ暗
号化装置10の動作と共通するステップには同一符号を
付し、その説明を省略する。
【0400】(1)〜(2)実施の形態1と同様である
(ステップS101、ステップS102:1回目)。
【0401】(3)ブロック変換部109が、ブロック
記憶部102に記憶された連鎖ブロックに予め決めてお
いた所定の変換を施して変換ブロックを生成し、鍵デー
タ融合部103が、その変換ブロックを鍵データに融合
し融合鍵データを生成する(ステップS1101)。こ
こでは、64ビットの連鎖ブロックの初期値IVから6
4ビットの第1変換ブロックを生成し、予め設定された
64ビットの鍵データを入手し、64ビットの第1変換
ブロックと64ビットの鍵データとを、対応するビット
毎に排他的論理和の演算を行なう(ステップS110
1:1回目)。
【0402】(4)〜(8)実施の形態1の(4)〜
(6)、(8)、(9)と同様である(ステップS10
4〜ステップS106、ステップS108、ステップS
109:1回目)。
【0403】(9)ブロック記憶部102が、暗号文ブ
ロックを新たな連鎖ブロックとして、記憶している連鎖
ブロックを更新する(ステップS1102)。ここで
は、第1暗号文ブロックに更新する(ステップS110
2:1回目)。
【0404】(10)〜(12)実施の形態1と同様で
ある(ステップS110:1回目、ステップS101、
ステップS102:2回目)。
【0405】(13)ステップS1101において、こ
こでは、第1平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第2変換ブロッ
クを生成し、64ビットの第2変換ブロックと64ビッ
トの鍵データとを、対応するビット毎に排他的論理和の
演算を行なう(ステップS1101:2回目)。
【0406】(14)〜(18)実施の形態1の(1
4)〜(16)、(18)、(19)と同様である(ス
テップS104〜ステップS106、ステップS10
8、ステップS109:2回目)。
【0407】(19)ステップS1102において、こ
こでは、第2暗号文ブロックに更新する(ステップS1
102:2回目)。
【0408】(20)〜(22)実施の形態1と同様で
ある(ステップS110:2回目、ステップS101、
ステップS102:3回目)。
【0409】(23)ステップS1101において、こ
こでは、第2平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第3変換ブロッ
クを生成し、64ビットの第3変換ブロックと64ビッ
トの鍵データとを、対応するビット毎に排他的論理和の
演算を行なう(ステップS1101:3回目)。
【0410】(24)〜(28)実施の形態1の(2
4)〜(26)、(28)、(29)と同様である(ス
テップS104〜ステップS106、ステップS10
8、ステップS109:3回目)。
【0411】(29)ステップS1102において、こ
こでは、第3暗号文ブロックに更新する(ステップS1
102:3回目)。
【0412】(30)〜(34)実施の形態1と同様で
ある(ステップS110:3回目、ステップS101:
4回目、ステップS111〜ステップS113)。
【0413】(データ復号化装置20の動作)図30
は、本発明の実施の形態6のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
【0414】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
【0415】実施の形態1における図10に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
【0416】(1)〜(2)実施の形態1と同様である
(ステップS201〜ステップS202:1回目)。
【0417】(3)ブロック変換部209が、ブロック
記憶部202に記憶された連鎖ブロックに予め決めてお
いた所定の変換を施して変換ブロックを生成し、鍵デー
タ融合部203が、その変換ブロックを鍵データに融合
し融合鍵データを生成する(ステップS1201)。こ
こでは、64ビットの連鎖ブロックの初期値IVから6
4ビットの第1変換ブロックを生成し、予め設定された
64ビットの鍵データを入手し、64ビットの第1変換
ブロックと64ビットの鍵データとを、対応するビット
毎に排他的論理和の演算を行なう(ステップS120
1:1回目)。
【0418】(4)〜(8)実施の形態1の(4)〜
(6)、(8)、(9)と同様である(ステップS20
4〜ステップS206、ステップS208、ステップS
209:1回目)。
【0419】(9)ブロック記憶部202が、暗号文ブ
ロックを新たな連鎖ブロックとして、記憶している連鎖
ブロックを更新する(ステップS1202)。ここで
は、第1暗号文ブロックに更新する(ステップS120
2:1回目)。
【0420】(10)〜(12)実施の形態1と同様で
ある(ステップS210:1回目、ステップS201、
ステップS202:2回目)。
【0421】(13)ステップS1201において、こ
こでは、第1平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第2変換ブロッ
クを生成し、64ビットの第2変換ブロックと64ビッ
トの鍵データとを、対応するビット毎に排他的論理和の
演算を行なう(ステップS1201:2回目)。
【0422】(14)〜(18)実施の形態1の(1
4)〜(16)、(18)、(19)と同様である(ス
テップS204〜ステップS206、ステップS20
8、ステップS209:2回目)。
【0423】(19)ステップS1202において、こ
こでは、第2暗号文ブロックに更新する(ステップS1
202:2回目)。
【0424】(20)〜(22)実施の形態1と同様で
ある(ステップS210:2回目、ステップS201、
ステップS202:3回目)。
【0425】(23)ステップS1201において、こ
こでは、第2平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第3変換ブロッ
クを生成し、64ビットの第3変換ブロックと64ビッ
トの鍵データとを、対応するビット毎に排他的論理和の
演算を行なう(ステップS1201:3回目)。
【0426】(24)〜(28)実施の形態1の(2
4)〜(26)、(28)、(29)と同様である(ス
テップS204〜ステップS206、ステップS20
8、ステップS209:3回目)。
【0427】(29)ステップS1202において、こ
こでは、第3暗号文ブロックに更新する(ステップS1
202:3回目)。
【0428】(30)〜(34)実施の形態1と同様で
ある(ステップS210:3回目、ステップS201:
4回目、ステップS211〜ステップS213)。
【0429】実施の形態6の暗号処理装置は、前の暗号
文ブロックを連鎖ブロックとして記憶しておき、後の暗
号処理の際にブロック変換を施して鍵データに融合し、
暗号処理を施す度にその連鎖ブロックを更新するもので
ある。
【0430】なお、上記実施の形態6では、暗号文ブロ
ックを新たな連鎖ブロックとしたが、平文ブロック又は
何れかの中間ブロックを新たな連鎖ブロックとするもの
であってもよい。 (実施の形態7)本発明の実施の形態7は、連鎖ブロッ
クにブロック変換を施した変換ブロックを鍵データに融
合するのではなく、被暗号処理データ又は被暗号処理デ
ータに暗号処理を施した後のデータに融合する点が実施
の形態6と異なる。
【0431】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
【0432】(データ暗号化装置10の構成)図31
は、本発明の実施の形態7における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
【0433】実施の形態2における図11に示すデータ
暗号化装置10と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
【0434】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、部分鍵生成部10
4、第1〜8暗号化部105a〜105h、端数データ
処理部106、ブロック結合部107、ブロック融合部
108及びブロック変換部109で構成される。
【0435】ブロック記憶部102はブロック更新機能
を備え、第8暗号化部105hが暗号文ブロックを生成
する度に、この暗号文ブロックを新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1平文ブロッ
クを処理する際に用いられ、この処理の際に生成された
第1暗号文ブロックを新たな連鎖ブロックとして更新す
る。次に、第1平文ブロックの処理の際に更新した連鎖
ブロックが第2平文ブロックを処理する際に用いられ、
この処理の際に生成された第2暗号文ブロックを新たな
連鎖ブロックとして更新する。次に、第2平文ブロック
の処理の際に更新した連鎖ブロックが第3平文ブロック
を処理する際に用いられ、この処理の際に生成された第
3暗号文ブロックを新たな連鎖ブロックとして更新す
る。最後に、第3平文ブロックの処理の際に更新した連
鎖ブロックが端数平文データを処理する際に用いられ
る。
【0436】ブロック変換部109は、ブロック記憶部
102に記憶された連鎖ブロックに、予め決めておいた
所定の変換を施して変換ブロックを生成する。ここで、
ブロック変換部109が施す所定の変換は、例えば、ビ
ット置換やビット変換等である。ここでは、第1平文ブ
ロックを処理する際には、64ビットの連鎖ブロックの
初期値IVから64ビットの第1変換ブロックを生成
し、第2〜3平文ブロックを処理する際には、第1〜2
平文ブロックの処理の際にそれぞれ生成された64ビッ
トの連鎖ブロックから64ビットの第2〜3変換ブロッ
クを生成する。
【0437】ブロック融合部108は、ブロック変換部
109が生成した変換ブロックを、平文ブロックに融合
し融合平文ブロックを生成する。ここでは、第1平文ブ
ロックを処理する際には、64ビットの第1変換ブロッ
クと64ビットの第1平文ブロックとを、対応するビッ
ト毎に排他的論理和の演算を行ない64ビットの第1融
合平文ブロックを生成し、第2〜3平文ブロックを処理
する際には、64ビットの第2〜3変換ブロックと64
ビットの第2〜3平文ブロックとを、対応するビット毎
に排他的論理和の演算を行ない64ビットの第2〜3融
合平文ブロックを生成する。
【0438】(データ復号化装置20の構成)図32
は、本発明の実施の形態7における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
【0439】実施の形態2における図12に示すデータ
復号化装置20と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
【0440】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、鍵データ融合部2
03、部分鍵生成部204、第1〜8復号化部205a
〜205h、端数データ処理部206、ブロック結合部
207及びブロック変換部209で構成される。
【0441】ブロック記憶部202はブロック更新機能
を備え、ブロック分割部201が暗号文ブロックを生成
する度に、この暗号文ブロックを新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1暗号文ブロ
ックを処理する際に用いられ、第1暗号文ブロックを新
たな連鎖ブロックとして記憶する。次に、第1暗号文ブ
ロックの処理の際に更新された連鎖ブロックが第2暗号
文ブロックを処理する際に用いられ、第2暗号文ブロッ
クを新たな連鎖ブロックとして記憶する。次に、第2暗
号文ブロックの処理の際に記憶された連鎖ブロックが第
3暗号文ブロックを処理する際に用いられ、第3暗号文
ブロックを新たな連鎖ブロックとして記憶する。最後
に、第3暗号文ブロックの処理の際に記憶された連鎖ブ
ロックが端数暗号文データを処理する際に用いられる。
【0442】ブロック変換部209は、ブロック記憶部
202に記憶された連鎖ブロックに、予め決めておいた
所定の変換を施して変換ブロックを生成する。ここで、
ブロック変換部209が施す所定の変換は、データ暗号
化装置10のブロック変換部109が施す所定の変換と
同一であり、例えば、ビット置換やビット変換等であ
る。ここでは、第1暗号文ブロックを処理する際には、
64ビットの連鎖ブロックの初期値IVから64ビット
の第1変換ブロックを生成し、第2〜3暗号文ブロック
を処理する際には、第1〜2暗号文ブロックの処理の際
にそれぞれ生成された64ビットの連鎖ブロックから6
4ビットの第2〜3変換ブロックを生成する。
【0443】ブロック融合部208は、ブロック変換部
209が生成した変換ブロックを、暗号処理ブロックに
融合し、平文ブロックを生成する。ここでは、第1暗号
文ブロックを処理する際には、64ビットの第1変換ブ
ロックと64ビットの第1暗号処理ブロックとを、対応
するビット毎に排他的論理和の演算を行ない64ビット
の第1平文ブロックを生成し、第2〜3暗号文ブロック
を処理する際には、64ビットの第2〜3変換ブロック
と64ビットの第2〜3暗号処理ブロックとを、対応す
るビット毎に排他的論理和の演算を行ない64ビットの
第2〜3平文ブロックを生成する。
【0444】<動作> (データ暗号化装置10の動作)図33は、本発明の実
施の形態7のデータ暗号化装置10における暗号化処理
の流れを示す図である。
【0445】実施の形態2における図13に示すデータ
暗号化装置10の動作と共通するステップには同一符号
を付し、その説明を省略する。
【0446】(1)〜(3)実施の形態2と同様である
(ステップS101、ステップS102、ステップS3
01:1回目)。
【0447】(4)ブロック変換部109が、ブロック
記憶部102に記憶された連鎖ブロックに予め決めてお
いた所定の変換を施して変換ブロックを生成し、ブロッ
ク融合部108が、その変換ブロックを平文ブロックに
融合し融合平文ブロックを生成する(ステップS130
1)。ここでは、64ビットの連鎖ブロックの初期値I
Vから64ビットの第1変換ブロックを生成し、64ビ
ットの第1変換ブロックと64ビットの第1平文ブロッ
クとを、対応するビット毎に排他的論理和の演算を行な
い、64ビットの第1融合平文ブロックを生成する(ス
テップS1301:1回目)。
【0448】(5)〜(8)実施の形態2と同様である
(ステップS303、ステップS106、ステップS1
08、ステップS109:1回目)。
【0449】(9)ブロック記憶部102が、暗号文ブ
ロックを新たな連鎖ブロックとして、記憶している連鎖
ブロックを更新する(ステップS1302)。ここで
は、第1暗号文ブロックに更新する(ステップS130
2:1回目)。
【0450】(10)〜(13)実施の形態2と同様で
ある(ステップS110:1回目、ステップS101、
ステップS102、ステップS301:2回目)。
【0451】(14)ステップS1301において、こ
こでは、第1平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第2変換ブロッ
クを生成し、64ビットの第2変換ブロックと64ビッ
トの第2平文ブロックとを、対応するビット毎に排他的
論理和の演算を行ない、64ビットの第2融合平文ブロ
ックを生成する(ステップS1301:2回目)。
【0452】(15)〜(18)実施の形態2と同様で
ある(ステップS303、ステップS106、ステップ
S108、ステップS109:2回目)。
【0453】(19)ステップS1302において、こ
こでは、第2暗号文ブロックに更新する(ステップS1
302:2回目)。
【0454】(20)〜(23)実施の形態2と同様で
ある(ステップS110:2回目、ステップS101、
ステップS102、ステップS301:3回目)。
【0455】(24)ステップS1301において、こ
こでは、第2平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第3変換ブロッ
クを生成し、64ビットの第3変換ブロックと64ビッ
トの第3平文ブロックとを、対応するビット毎に排他的
論理和の演算を行ない、64ビットの第3融合平文ブロ
ックを生成する(ステップS1301:3回目)。
【0456】(25)〜(28)実施の形態2と同様で
ある(ステップS303、ステップS106、ステップ
S108、ステップS109:3回目)。
【0457】(29)ステップS1302において、こ
こでは、第3暗号文ブロックに更新する(ステップS1
302:3回目)。
【0458】(30)〜(34)実施の形態2と同様で
ある(ステップS110:3回目、ステップS101:
4回目、ステップS111〜ステップS113)。
【0459】(データ復号化装置20の動作)図34
は、本発明の実施の形態7のデータ復号化装置20にお
ける暗号化処理の流れを示す図である。
【0460】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
【0461】実施の形態2における図14に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
【0462】(1)〜(7)実施の形態1と同様である
(ステップS201〜ステップS202、ステップS4
01、ステップS205、ステップS206、ステップ
S208、ステップS402:1回目)。
【0463】(8)ブロック変換部209が、ブロック
記憶部202に記憶された連鎖ブロックに予め決めてお
いた所定の変換を施して変換ブロックを生成し、ブロッ
ク融合部208が、その変換ブロックを暗号処理ブロッ
クに融合し平文ブロックを生成する(ステップS140
1)。ここでは、連鎖ブロックの初期値IVから64ビ
ットの第1変換ブロックを生成し、64ビットの第1変
換ブロックと64ビットの第1暗号処理ブロックとを、
対応するビット毎に排他的論理和の演算を行ない64ビ
ットの第1平文ブロックを生成する(ステップS140
1:1回目)。
【0464】(9)ブロック記憶部202が、暗号文ブ
ロックを新たな連鎖ブロックとして、記憶している連鎖
ブロックを更新する(ステップS1402)。ここで
は、第1暗号文ブロックに更新する(ステップS140
2:1回目)。
【0465】(10)〜(17)実施の形態1と同様で
ある(ステップS210:1回目、ステップS201、
ステップS202、ステップS401、ステップS20
5、ステップS206、ステップS208、ステップS
402:2回目)。
【0466】(18)ステップS1401において、こ
こでは、第1平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第2変換ブロッ
クを生成し、64ビットの第2変換ブロックと64ビッ
トの第2暗号処理ブロックとを、対応するビット毎に排
他的論理和の演算を行ない64ビットの第2平文ブロッ
クを生成する(ステップS1401:2回目)。
【0467】(19)ステップS1402において、こ
こでは、第2暗号文ブロックに更新する(ステップS1
402:2回目)。
【0468】(20)〜(27)実施の形態1と同様で
ある(ステップS210:2回目、ステップS201、
ステップS202、ステップS401、ステップS20
5、ステップS206、ステップS208、ステップS
402:3回目)。
【0469】(28)ステップS1401において、こ
こでは、第2平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第3変換ブロッ
クを生成し、64ビットの第3変換ブロックと64ビッ
トの第3暗号処理ブロックとを、対応するビット毎に排
他的論理和の演算を行ない64ビットの第3平文ブロッ
クを生成する(ステップS1401:3回目)。
【0470】(29)ステップS1402において、こ
こでは、第3暗号文ブロックに更新する(ステップS1
402:3回目)。
【0471】(30)〜(34)実施の形態1と同様で
ある(ステップS210:3回目、ステップS201:
4回目、ステップS211〜ステップS213)。
【0472】実施の形態7の暗号処理装置は、前の暗号
文ブロックを連鎖ブロックとして記憶しておき、後の暗
号処理の際にブロック変換を施して平文ブロックや暗号
処理ブロックに融合し、暗号処理を施す度にその連鎖ブ
ロックを更新するものである。
【0473】なお、上記実施の形態7では、暗号文ブロ
ックを新たな連鎖ブロックとしたが、平文ブロック又は
何れかの中間ブロックを新たな連鎖ブロックとするもの
であってもよい。 (実施の形態8)本発明の実施の形態8のデータ暗号化
装置10は、第1暗号化部105a、ブロック記憶部1
02、ブロック結合部107及びブロック融合部108
の各入力が実施の形態7のそれらと異なっており、処理
の順番等が入れ代わっている。
【0474】また、本発明の実施の形態8のデータ復号
化装置20は、ブロック記憶部の入力のみがデータ暗号
化装置10のそれと異なっている点以外は、データ暗号
化装置10と同様である。
【0475】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
【0476】(データ暗号化装置10の構成)図35
は、本発明の実施の形態8における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
【0477】実施の形態7における図31に示すデータ
暗号化装置10と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
【0478】このデータ暗号化装置10の構成は、実施
の形態7と同様である。
【0479】第1暗号化部105aは、実施の形態7の
様にブロック融合部108が生成した融合平文ブロック
からではなく、ブロック変換部109が生成した変換ブ
ロックから第1中間ブロックを生成する。
【0480】第8暗号化部105hは、実施の形態7の
様に暗号文ブロックではなく、暗号処理ブロックを生成
する。
【0481】第1〜8暗号化部105a〜105hは、
実施の形態7のそれらと同一の機能を有する。ここで
は、第1〜3変換ブロックから、それぞれに対応する第
1〜7中間ブロックと、第1〜3暗号処理ブロックとを
生成する。
【0482】ブロック記憶部102はブロック更新機能
を備え、ブロック融合部108が暗号文ブロックを生成
する度に、この暗号文ブロックを新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでの動作は、実施の形態7
と同様である。
【0483】ブロック融合部108は、実施の形態7の
様にブロック変換部109が生成した変換ブロックでは
なく、第8暗号化部105hが生成した暗号処理ブロッ
クを、平文ブロックに融合し暗号文ブロックを生成す
る。ここでは、第1平文ブロックを処理する際には、6
4ビットの第1暗号処理ブロックと64ビットの第1平
文ブロックとを、対応するビット毎に排他的論理和の演
算を行ない64ビットの第1暗号文ブロックを生成し、
第2〜3平文ブロックを処理する際には、64ビットの
第2〜3暗号処理ブロックと64ビットの第2〜3平文
ブロックとを、対応するビット毎に排他的論理和の演算
を行ない64ビットの第2〜3暗号文ブロックを生成す
る。
【0484】ブロック結合部107は、ブロック融合部
108が生成した各暗号文ブロック及び端数データ処理
部106が生成した端数暗号文データを結合して暗号文
データを生成する。ここでは、各64ビットの第1〜3
暗号文ブロック及び8ビットの端数暗号文データを結合
して200ビットの暗号文データを生成する。
【0485】(データ復号化装置20の構成)図36
は、本発明の実施の形態8における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
【0486】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、部分鍵生成部20
4、第1〜8暗号化部205i〜205p、端数データ
処理部206、ブロック結合部207、ブロック融合部
208及びブロック変換部209で構成される。
【0487】ブロック記憶部202はブロック更新機能
を備え、ブロック分割部201が暗号文ブロックを生成
する度に、この暗号文ブロックを新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1暗号文ブロ
ックを処理する際に用いられ、第1暗号文ブロックを新
たな連鎖ブロックとして更新する。次に、第1暗号文ブ
ロックの処理の際に更新した連鎖ブロックが第2暗号文
ブロックを処理する際に用いられ、第2暗号文ブロック
を新たな連鎖ブロックとして更新する。次に、第2暗号
文ブロックの処理の際に更新した連鎖ブロックが第3暗
号文ブロックを処理する際に用いられ、第3暗号文ブロ
ックを新たな連鎖ブロックとして更新する。最後に、第
3暗号文ブロックの処理の際に更新した連鎖ブロックが
端数暗号文データを処理する際に用いられる。
【0488】実施の形態8における図35に示すデータ
暗号化装置10と同一名称の構成部分は同一の機能を有
し、ブロック記憶部202の入力のみがデータ暗号化装
置10のブロック記憶部102の入力と異なっている点
以外は、データ暗号化装置10と同様である。
【0489】<動作> (データ暗号化装置10の動作)図37は、本発明の実
施の形態8のデータ暗号化装置10における暗号化処理
の流れを示す図である。
【0490】実施の形態7における図33に示すデータ
暗号化装置10の動作と共通するステップには同一符号
を付し、その説明を省略する。
【0491】(1)〜(3)実施の形態7と同様である
(ステップS101、ステップS102、ステップS3
01:1回目)。
【0492】(4)ブロック変換部109が、ブロック
記憶部102に記憶された連鎖ブロックに予め決めてお
いた所定の変換を施して変換ブロックを生成し、第1暗
号化部105aが、第1の部分鍵に基づいてその変換ブ
ロックから第1中間ブロックを生成する(ステップS1
501)。ここでは、64ビットの連鎖ブロックの初期
値IVから64ビットの第1変換ブロックを生成し、6
4ビットの第1変換ブロックから第1中間ブロックを生
成する(ステップS1501:1回目)。
【0493】(5)〜(6)実施の形態7の(6)〜
(7)と同様である(ステップS106、ステップS1
08:1回目)。
【0494】(7)第8暗号化部105hが、第8の部
分鍵に基づいて、第7中間ブロックから暗号処理ブロッ
クを生成する(ステップS1502)。ここでは、連鎖
ブロックの初期値IVに対応する第7中間ブロックから
第1暗号処理ブロックを生成する(ステップS150
2:1回目)。
【0495】(8)ブロック融合部108が、暗号処理
ブロックを平文ブロックに融合し暗号文ブロックを生成
する(ステップS1503)。ここでは、64ビットの
第1暗号処理ブロックと64ビットの第1平文ブロック
とを、対応するビット毎に排他的論理和の演算を行な
い、64ビットの第1暗号文ブロックを生成する(ステ
ップS1503:1回目)。
【0496】(9)〜(13)実施の形態7と同様であ
る(ステップS1302、ステップS110:1回目、
ステップS101、ステップS102、ステップS30
1:2回目)。
【0497】(14)ステップS1501において、こ
こでは、第1平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第2変換ブロッ
クを生成し、64ビットの第2変換ブロックから第1中
間ブロックを生成する(ステップS1501:2回
目)。
【0498】(15)〜(16)実施の形態7の(1
6)〜(17)と同様である(ステップS106、ステ
ップS108:2回目)。
【0499】(17)ステップS1502において、こ
こでは、第1平文ブロックの処理の際に生成された連鎖
ブロックに対応する第7中間ブロックから第2暗号処理
ブロックを生成する(ステップS1502:2回目)。
【0500】(18)ステップS1503において、こ
こでは、64ビットの第2暗号処理ブロックと64ビッ
トの第2平文ブロックとを、対応するビット毎に排他的
論理和の演算を行ない、64ビットの第2暗号文ブロッ
クを生成する(ステップS1503:2回目)。
【0501】(19)〜(23)実施の形態7と同様で
ある(ステップS1302、ステップS110:2回
目、ステップS101、ステップS102、ステップS
301:3回目)。
【0502】(24)ステップS1501において、こ
こでは、第2平文ブロックの処理の際に生成された64
ビットの連鎖ブロックから64ビットの第3変換ブロッ
クを生成し、64ビットの第3変換ブロックから第1中
間ブロックを生成する(ステップS1501:3回
目)。
【0503】(25)〜(26)実施の形態7の(2
6)〜(27)と同様である(ステップS106、ステ
ップS108:3回目)。
【0504】(27)ステップS1502において、こ
こでは、第2平文ブロックの処理の際に生成された連鎖
ブロックに対応する第7中間ブロックから第3暗号処理
ブロックを生成する(ステップS1502:3回目)。
【0505】(28)ステップS1503において、こ
こでは、64ビットの第3暗号処理ブロックと64ビッ
トの第3平文ブロックとを、対応するビット毎に排他的
論理和の演算を行ない、64ビットの第3暗号文ブロッ
クを生成する(ステップS1503:3回目)。
【0506】(29)〜(34)実施の形態7と同様で
ある(ステップS1302、ステップS110:3回
目、ステップS101:4回目、ステップS111〜ス
テップS113)。
【0507】(データ復号化装置20の動作)データ復
号化装置20の動作は、データ暗号化装置10の動作の
逆変換である。
【0508】実施の形態8におけるデータ復号化装置2
0の動作は、ブロック記憶部の入力が異なっている点以
外は実施の形態8におけるデータ暗号化装置10の動作
と同様なので、その説明を省略する 実施の形態8の暗号処理装置は、前の暗号文ブロックを
連鎖ブロックとして記憶しておき、後の暗号処理の際に
ブロック変換と暗号処理とを施して平文ブロックや暗号
文ブロックに融合し、暗号処理を施す度にその連鎖ブロ
ックを更新するものである。
【0509】なお、上記実施の形態8では、暗号文ブロ
ックを新たな連鎖ブロックとしたが、平文ブロック又は
何れかの中間ブロックを新たな連鎖ブロックとするもの
であってもよい。 (実施の形態9)本発明の実施の形態9は、ブロック記
憶部の入力のみが実施の形態8と異なる。
【0510】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
【0511】(データ暗号化装置10の構成)図38
は、本発明の実施の形態9における図1に示すデータ暗
号化装置10の詳細な構成を示す図である。
【0512】実施の形態8における図35に示すデータ
暗号化装置10と共通する構成部分には同一符号を付
し、同一の機能を有する構成部分の説明は省略する。
【0513】このデータ暗号化装置10の構成は、実施
の形態8の構成と同様である。
【0514】ブロック記憶部102はブロック更新機能
を備え、第8暗号化部105hが暗号処理ブロックを生
成する度に、この暗号処理ブロックを新たな連鎖ブロッ
クとして記憶している連鎖ブロックを更新し、次のブロ
ックを処理する際に用いる。ここでは、予め64ビット
の初期値IVが記憶され、この初期値IVが第1平文ブ
ロックを処理する際に用いられ、この処理の際に生成さ
れた第1暗号処理ブロックを新たな連鎖ブロックとして
更新する。次に、第1平文ブロックの処理の際に更新し
た連鎖ブロックが第2平文ブロックを処理する際に用い
られ、この処理の際に生成された第2暗号処理ブロック
を新たな連鎖ブロックとして更新する。次に、第2平文
ブロックの処理の際に更新した連鎖ブロックが第3平文
ブロックを処理する際に用いられ、この処理の際に生成
された第3暗号処理ブロックを新たな連鎖ブロックとし
て更新する。最後に、第3平文ブロックの処理の際に更
新した連鎖ブロックが端数平文データを処理する際に用
いられる。
【0515】(データ復号化装置20の構成)図39
は、本発明の実施の形態9における図1に示すデータ復
号化装置20の詳細な構成を示す図である。
【0516】このデータ復号化装置20の構成は、実施
の形態8の構成と同様であり、また、実施の形態9にお
ける図38に示すデータ暗号化装置10と同一名称の構
成部分は同一の機能を有するので、その説明を省略す
る。
【0517】<動作> (データ暗号化装置10の動作)本発明の実施の形態9
のデータ暗号化装置10は、ブロック記憶部102の入
力が異なっている点以外は、実施の形態8のデータ暗号
化装置10と同様なので、その動作の説明を省略する
(データ復号化装置20の動作)データ復号化装置20
の動作は、データ暗号化装置10の動作の逆変換であ
る。
【0518】実施の形態9におけるデータ復号化装置2
0の動作は、実施の形態9におけるデータ暗号化装置1
0の動作と同様なので、その説明を省略する実施の形態
9の暗号処理装置は、前のブロックに暗号処理に施した
過程において生成された暗号処理ブロックを新たな連鎖
ブロックとして記憶しておき、後の暗号処理の際にブロ
ック変換と暗号処理とを施して平文ブロックや暗号文ブ
ロックに融合し、暗号処理を施す度にその連鎖ブロック
を更新するものである。 (実施の形態10)本発明の実施の形態10は、実施の
形態1に、さらに、1ブロックを処理する度に鍵データ
を更新する機能を追加したものである。
【0519】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
【0520】(データ暗号化装置10の構成)図40
は、本発明の実施の形態10における図1に示すデータ
暗号化装置10の詳細な構成を示す図である。
【0521】実施の形態1における図2に示すデータ暗
号化装置10と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
【0522】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、鍵データ融合部1
03、部分鍵生成部104、第1〜8暗号化部105a
〜105h、端数データ処理部106、ブロック結合部
107及び鍵データ記憶部110で構成される。
【0523】図50に示す従来の暗号化装置30と図4
0に示す本発明の実施の形態10におけるデータ暗号化
装置10との関係は、実施の形態1と同様であり、さら
に、鍵データ記憶部110が付加されている。
【0524】鍵データ記憶部110は鍵データを記憶す
る。なお、最初のブロックを処理する際には、予め鍵デ
ータの初期値が記憶される。
【0525】鍵データ融合部103は、ブロック記憶部
102に記憶された連鎖ブロックを、鍵データ記憶部1
10に記憶された鍵データに融合し、融合鍵データを生
成する。ここでは、第1平文ブロックを処理する際に
は、64ビットの連鎖ブロックの初期値IVと64ビッ
トの鍵データの初期値とを、対応するビット毎に排他的
論理和の演算を行ない、第2〜3平文ブロックを処理す
る際には、第1〜2平文ブロックの処理の際に生成され
た64ビットの連鎖ブロックと第1〜2平文ブロックの
処理の際に生成された64ビットの鍵データとを、対応
するビット毎に排他的論理和の演算を行なう。
【0526】鍵データ記憶部110は鍵データ更新機能
を備え、鍵データ融合部103が融合鍵データを生成す
る度に、融合鍵データを新たな鍵データとして記憶して
いる鍵データを更新し、次のブロックを処理する際に用
いる。ここでは、予め64ビットの初期値が記憶され、
この初期値が第1平文ブロックを処理する際に用いら
れ、この処理の際に生成された融合鍵データを新たな鍵
データとして更新する。次に、第1平文ブロックの処理
の際に更新した鍵データが第2平文ブロックを処理する
際に用いられ、この処理の際に生成された融合鍵データ
を新たな鍵データとして更新する。次に、第2平文ブロ
ックの処理の際に更新した鍵データが第3平文ブロック
を処理する際に用いられ、この処理の際に生成された融
合鍵データを新たな鍵データとして更新する。
【0527】(データ復号化装置20の構成)図41
は、本発明の実施の形態10における図1に示すデータ
復号化装置20の詳細な構成を示す図である。
【0528】実施の形態1における図7に示すデータ復
号化装置20と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
【0529】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、鍵データ融合部2
03、部分鍵生成部204、第1〜8復号化部205a
〜205h、端数データ処理部206、ブロック結合部
207及び鍵データ記憶部210で構成される。
【0530】鍵データ記憶部210は鍵データを記憶す
る。なお、最初のブロックを処理する際には、予め鍵デ
ータの初期値が記憶される。
【0531】鍵データ融合部203は、ブロック記憶部
202に記憶された連鎖ブロックを、鍵データ記憶部2
10に記憶された鍵データに融合し、融合鍵データを生
成する。ここでは、第1暗号文ブロックを処理する際に
は、64ビットの連鎖ブロックの初期値IVと64ビッ
トの鍵データの初期値とを、対応するビット毎に排他的
論理和の演算を行ない第1融合鍵データを生成し、第2
〜3暗号文ブロックを処理する際には、第1〜2暗号文
ブロックの処理の際にそれぞれ生成された64ビットの
連鎖ブロックと第1〜2暗号文ブロックの処理の際にそ
れぞれ生成された64ビットの鍵データとを、対応する
ビット毎に排他的論理和の演算を行ない第2〜3融合鍵
データを生成する。
【0532】鍵データ記憶部210は鍵データ更新機能
を備え、鍵データ融合部203が融合鍵データを生成す
る度に、融合鍵データを新たな鍵データとして記憶して
いる鍵データを更新し、次のブロックを処理する際に用
いる。ここでは、予め64ビットの初期値が記憶され、
この初期値が第1暗号文ブロックを処理する際に用いら
れ、この処理の際に生成された第1融合鍵データを新た
な鍵データとして更新する。次に、第1暗号文ブロック
の処理の際に更新した鍵データが第2暗号文ブロックを
処理する際に用いられ、この処理の際に生成された第2
融合鍵データを新たな鍵データとして更新する。次に、
第2暗号文ブロックの処理の際に更新した鍵データが第
3暗号文ブロックを処理する際に用いられ、この処理の
際に生成された第3融合鍵データを新たな鍵データとし
て更新する。
【0533】<動作> (データ暗号化装置10の動作)図42は、本発明の実
施の形態10のデータ暗号化装置10における暗号化処
理の流れを示す図である。
【0534】実施の形態1における図9に示すデータ暗
号化装置10の動作と共通するステップには同一符号を
付し、その説明を省略する。
【0535】ここでは、実施の形態1の条件に、更に、
鍵データ記憶部110には予め鍵データの初期値が記憶
されるものとする。
【0536】(1)〜(2)実施の形態1と同様である
(ステップS101、ステップS102:1回目)。
【0537】(3)鍵データ融合部103がブロック記
憶部102に記憶された連鎖ブロックを、鍵データ記憶
部110に記憶された鍵データに融合して融合鍵データ
を生成し、鍵データ記憶部110が、この融合鍵データ
を新たな鍵データとして自身が記憶する鍵データを更新
する(ステップS1601)。ここでは、ブロック記憶
部102に記憶された64ビットの初期値IVと、鍵デ
ータ記憶部110に記憶された64ビットの鍵データの
初期値とを、対応するビット毎に排他的論理和の演算を
行ない、第1融合鍵データを生成して部分鍵生成部10
4に渡し、第1融合鍵データを新たな鍵データとして鍵
データを更新する(ステップS1601:1回目)。
【0538】(4)〜(12)実施の形態1と同様であ
る(ステップS104〜ステップS110:1回目、ス
テップS101、ステップS102:2回目)。
【0539】(13)ステップS1601において、こ
こでは、第1平文ブロックの処理の際に生成された64
ビットの連鎖ブロックと、第1平文ブロックの処理の際
に生成された64ビットの鍵データとを、対応するビッ
ト毎に排他的論理和の演算を行ない、第2融合鍵データ
を生成して部分鍵生成部104に渡し、第2融合鍵デー
タを新たな鍵データとして鍵データを更新する(ステッ
プS1601:2回目)。
【0540】(14)〜(22)実施の形態1と同様で
ある(ステップS104〜ステップS110:2回目、
ステップS101、ステップS102:3回目)。
【0541】(23)ステップS1601において、こ
こでは、第2平文ブロックの処理の際に生成された64
ビットの連鎖ブロックと、第2平文ブロックの処理の際
に生成された64ビットの鍵データとを、対応するビッ
ト毎に排他的論理和の演算を行ない、第3融合鍵データ
を生成して部分鍵生成部104に渡し、第3融合鍵デー
タを新たな鍵データとして鍵データを更新する(ステッ
プS1601:3回目)。
【0542】(24)〜(34)実施の形態1と同様で
ある(ステップS104〜ステップS110:3回目、
ステップS101:4回目、ステップS111〜ステッ
プS113)。
【0543】(データ復号化装置20の動作)図43
は、本発明の実施の形態10のデータ復号化装置20に
おける暗号化処理の流れを示す図である。
【0544】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
【0545】実施の形態1における図10に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
【0546】(1)〜(2)実施の形態1と同様である
(ステップS201、ステップS202:1回目)。
【0547】(3)鍵データ融合部203がブロック記
憶部202に記憶された連鎖ブロックを、鍵データ記憶
部210に記憶された鍵データに融合して融合鍵データ
を生成し、鍵データ記憶部210が、この融合鍵データ
を新たな鍵データとして自身が記憶する鍵データを更新
する(ステップS1701)。ここでは、ブロック記憶
部202に記憶された64ビットの初期値IVと、鍵デ
ータ記憶部210に記憶された64ビットの鍵データの
初期値とを、対応するビット毎に排他的論理和の演算を
行ない、第1融合鍵データを生成して部分鍵生成部20
4に渡し、第1融合鍵データを新たな鍵データとして鍵
データを更新する(ステップS1701:1回目)。
【0548】(4)〜(12)実施の形態1と同様であ
る(ステップS204〜ステップS210:1回目、ス
テップS201、ステップS202:2回目)。
【0549】(13)ステップS1701において、こ
こでは、第1暗号文ブロックの処理の際に生成された6
4ビットの連鎖ブロックと、第1暗号文ブロックの処理
の際に生成された64ビットの鍵データとを、対応する
ビット毎に排他的論理和の演算を行ない、第2融合鍵デ
ータを生成して部分鍵生成部204に渡し、第2融合鍵
データを新たな鍵データとして鍵データを更新する(ス
テップS1701:2回目)。
【0550】(14)〜(22)実施の形態1と同様で
ある(ステップS204〜ステップS210:2回目、
ステップS201、ステップS202:3回目)。
【0551】(23)ステップS1701において、こ
こでは、第2暗号文ブロックの処理の際に生成された6
4ビットの連鎖ブロックと、第2暗号文ブロックの処理
の際に生成された64ビットの鍵データとを、対応する
ビット毎に排他的論理和の演算を行ない、第3融合鍵デ
ータを生成して部分鍵生成部204に渡し、第3融合鍵
データを新たな鍵データとして鍵データを更新する(ス
テップS1701:3回目)。
【0552】(24)〜(34)実施の形態1と同様で
ある(ステップS204〜ステップS210:3回目、
ステップS201:4回目、ステップS211〜ステッ
プS213)。
【0553】実施の形態10の暗号処理装置は、前のブ
ロックに暗号処理に施した過程において生成された中間
ブロック及び融合鍵ブロックを連鎖ブロック及び鍵ブロ
ックとして記憶しておき、後の暗号処理の際に連鎖ブロ
ックを鍵ブロックに融合し、暗号処理を施す度にその連
鎖ブロックと鍵ブロックとを更新するものである。
【0554】なお、上記実施の形態10では、実施の形
態1のデータ暗号化装置10に鍵データ記憶部110を
付加し、実施の形態1のデータ復号化装置20に鍵デー
タ記憶部210を付加したが、他の実施の形態2〜9に
同様に鍵データ記憶部110と鍵データ記憶部210を
付加するものであってもよい。 (実施の形態11)本発明の実施の形態11は、実施の
形態1に、さらに、記憶する連鎖ブロックに基づいて、
出力ブロック、被暗号処理ブロック及び中間ブロック等
の中から1個のブロックを選択する機能を追加したもの
である。
【0555】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
【0556】(データ暗号化装置10の構成)図44
は、本発明の実施の形態11における図1に示すデータ
暗号化装置10の詳細な構成を示す図である。
【0557】実施の形態1における図2に示すデータ暗
号化装置10と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
【0558】このデータ暗号化装置10は、ブロック分
割部101、ブロック記憶部102、鍵データ融合部1
03、部分鍵生成部104、第1〜8暗号化部105a
〜105h、端数データ処理部106、ブロック結合部
107及びブロック選択部111で構成される。
【0559】図50に示す従来の暗号化装置30と図4
4に示す本発明の実施の形態11におけるデータ暗号化
装置10との関係は、実施の形態1と同様であり、さら
に、ブロック選択部111が付加されている。
【0560】ブロック選択部111は、ブロック記憶部
102に記憶された連鎖ブロックに基づいて、平文ブロ
ック、各中間ブロック及び暗号文ブロックの中から1個
のブロックを選択し、ブロック記憶部102に渡す。具
体的には、例えば、ブロック記憶部102に記憶された
連鎖ブロックの下位3ビットが「001」の場合には第
1中間ブロックを選択し、同様に、「010」〜「11
1」の場合には第2中間ブロック〜第7中間ブロックを
選択する。また、連鎖ブロックの下位3ビットが「00
0」の場合であって、下位4ビット目が「0」の時には
平文ブロックを選択し、下位4ビット目が「1」の時に
は暗号文ブロックを選択する。
【0561】ブロック記憶部102は、ブロック選択部
111に選択されたブロックを、新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1平文ブロッ
クを処理する際に用いられ、この初期値IVの下位4ビ
ットに基づいて選択されたブロックを新たな連鎖ブロッ
クとして更新する。次に、第1平文ブロックの処理の際
に更新した連鎖ブロックが第2平文ブロックを処理する
際に用いられ、この連鎖ブロックの下位4ビットに基づ
いて選択されたブロックを新たな連鎖ブロックとして更
新する。次に、第2平文ブロックの処理の際に更新した
連鎖ブロックが第3平文ブロックを処理する際に用いら
れ、この連鎖ブロックの下位4ビットに基づいて選択さ
れたブロックを新たな連鎖ブロックとして更新する。最
後に、第3平文ブロックの処理の際に更新した連鎖ブロ
ックが端数平文データを処理する際に用いられる。
【0562】(データ復号化装置20の構成)図45
は、本発明の実施の形態11における図1に示すデータ
復号化装置20の詳細な構成を示す図である。
【0563】実施の形態1における図7に示すデータ復
号化装置20と共通する構成部分には同一符号を付し、
同一の機能を有する構成部分の説明は省略する。
【0564】このデータ復号化装置20は、ブロック分
割部201、ブロック記憶部202、鍵データ融合部2
03、部分鍵生成部204、第1〜8復号化部205a
〜205h、端数データ処理部206、ブロック結合部
207及びブロック選択部211で構成される。
【0565】ブロック選択部211は、ブロック記憶部
202に記憶された連鎖ブロックに基づいて、暗号文ブ
ロック、各中間ブロック及び平文ブロックの中から1個
のブロックを選択し、ブロック記憶部202に渡す。具
体的には、例えば、ブロック記憶部202に記憶された
連鎖ブロックの下位3ビットが「001」の場合には第
1中間ブロックを選択し、同様に、「010」〜「11
1」の場合には第2中間ブロック〜第7中間ブロックを
選択する。また、連鎖ブロックの下位3ビットが「00
0」の場合であって、下位4ビット目が「0」の時には
平文ブロックを選択し、下位4ビット目が「1」の時に
は暗号文ブロックを選択する。
【0566】ブロック記憶部202は、ブロック選択部
211に選択されたブロックを、新たな連鎖ブロックと
して記憶している連鎖ブロックを更新し、次のブロック
を処理する際に用いる。ここでは、予め64ビットの初
期値IVが記憶され、この初期値IVが第1暗号文ブロ
ックを処理する際に用いられ、この初期値IVの下位4
ビットに基づいて選択されたブロックを新たな連鎖ブロ
ックとして更新する。次に、第1暗号文ブロックの処理
の際に更新した連鎖ブロックが第2暗号文ブロックを処
理する際に用いられ、この連鎖ブロックの下位4ビット
に基づいて選択されたブロックを新たな連鎖ブロックと
して更新する。次に、第2暗号文ブロックの処理の際に
更新した連鎖ブロックが第3暗号文ブロックを処理する
際に用いられ、この連鎖ブロックの下位4ビットに基づ
いて選択されたブロックを新たな連鎖ブロックとして更
新する。最後に、第3暗号文ブロックの処理の際に更新
した連鎖ブロックが端数暗号文データを処理する際に用
いられる。
【0567】<動作> (データ暗号化装置10の動作)図46は、本発明の実
施の形態11のデータ暗号化装置10における暗号化処
理の流れを示す図である。
【0568】実施の形態1における図9に示すデータ暗
号化装置10の動作と共通するステップには同一符号を
付し、その説明を省略する。
【0569】(1)〜(8)実施の形態1の(1)〜
(6)、(8)〜(9)と同様である(ステップS10
1〜ステップS106、ステップS108、ステップS
109:1回目)。
【0570】(9)ブロック選択部111が、ブロック
記憶部102に記憶された連鎖ブロックに基づいて、平
文ブロック、各中間ブロック及び暗号文ブロックの中か
ら1個のブロックを選択し、ブロック記憶部102が、
選択されたブロックを新たな連鎖ブロックとして、記憶
している連鎖ブロックを更新する(ステップS180
1)。ここでは、例えば、ブロック記憶部102に記憶
された連鎖ブロックの初期値IVの下位3ビットが「0
11」であるとすると、第1平文ブロックに対応する第
3中間ブロックを選択し、選択された第3中間ブロック
を新たな連鎖ブロックとして連鎖ブロックを更新する
(ステップS1801:1回目)。
【0571】(10)〜(18)実施の形態1と同様で
ある(ステップS110:1回目、ステップS101〜
ステップS106、ステップS108、ステップS10
9:2回目)。
【0572】(19)ステップS1801において、こ
こでは、例えば、第1平文ブロックの処理の際に生成さ
れ選択された連鎖ブロックの下位4ビットが「000
0」であるとすると、第2平文ブロックを選択し、選択
された第2平文ブロックを新たな連鎖ブロックとして連
鎖ブロックを更新する(ステップS1801:2回
目)。
【0573】(20)〜(28)実施の形態1と同様で
ある(ステップS110:2回目、ステップS101〜
ステップS106、ステップS108、ステップS10
9:3回目)。
【0574】(29)ステップS1801において、こ
こでは、例えば、第2平文ブロックの処理の際に生成さ
れ選択された連鎖ブロックの下位4ビットが「100
0」であるとすると、第3暗号文ブロックを選択し、選
択された第3暗号文ブロックを新たな連鎖ブロックとし
て連鎖ブロックを更新する(ステップS1801:3回
目)。
【0575】(30)〜(34)実施の形態1と同様で
ある(ステップS110:3回目、ステップS101:
4回目、ステップS111〜ステップS113)。
【0576】(データ復号化装置20の動作)図47
は、本発明の実施の形態11のデータ復号化装置20に
おける暗号化処理の流れを示す図である。
【0577】データ復号化装置20の動作は、データ暗
号化装置10の動作の逆変換である。
【0578】実施の形態1における図10に示すデータ
復号化装置20の動作と共通するステップには同一符号
を付し、その説明を省略する。
【0579】(1)〜(8)実施の形態1の(1)〜
(6)、(8)〜(9)と同様である(ステップS20
1〜ステップS206、ステップS208、ステップS
209:1回目)。
【0580】(9)ブロック選択部211が、ブロック
記憶部202に記憶された連鎖ブロックに基づいて、暗
号文ブロック、各中間ブロック及び平文ブロックの中か
ら1個のブロックを選択し、ブロック記憶部202が、
選択されたブロックを新たな連鎖ブロックとして、記憶
している連鎖ブロックを更新する(ステップS190
1)。ここでは、例えば、ブロック記憶部202に記憶
された連鎖ブロックの初期値IVの下位3ビットが「0
11」であるとすると、第1暗号文ブロックに対応する
第3中間ブロックを選択し、選択された第3中間ブロッ
クを新たな連鎖ブロックとして連鎖ブロックを更新する
(ステップS1901:1回目)。
【0581】(10)〜(18)実施の形態1と同様で
ある(ステップS210:1回目、ステップS201〜
ステップS206、ステップS208、ステップS20
9:2回目)。
【0582】(19)ステップS1901において、こ
こでは、例えば、第1暗号文ブロックの処理の際に生成
され選択された連鎖ブロックの下位4ビットが「000
0」であるとすると、第2平文ブロックを選択し、選択
された第2平文ブロックを新たな連鎖ブロックとして連
鎖ブロックを更新する(ステップS1901:2回
目)。
【0583】(20)〜(28)実施の形態1と同様で
ある(ステップS210:2回目、ステップS201〜
ステップS206、ステップS208、ステップS20
9:3回目)。
【0584】(29)ステップS1901において、こ
こでは、例えば、第2暗号文ブロックの処理の際に生成
され選択された連鎖ブロックの下位4ビットが「100
0」であるとすると、第3暗号文ブロックを選択し、選
択された第3暗号文ブロックを新たな連鎖ブロックとし
て連鎖ブロックを更新する(ステップS1901:3回
目)。
【0585】(30)〜(34)実施の形態1と同様で
ある(ステップS210:3回目、ステップS201:
4回目、ステップS211〜ステップS213)。
【0586】実施の形態11の暗号処理装置は、前のブ
ロックに暗号処理に施した過程において生成された中間
ブロック等を連鎖ブロックとして記憶しておき、後の暗
号処理の際に鍵データに融合し、暗号処理を施す度にそ
の連鎖ブロックに基づいて複数の中間ブロック等から1
個のブロックを選択してその連鎖ブロックを更新するも
のである。
【0587】なお、上記実施の形態11では、実施の形
態1のデータ暗号化装置10にブロック選択部111を
付加し、実施の形態1のデータ復号化装置20にブロッ
ク選択部211を付加したが、他の実施の形態2〜10
に同様にブロック選択部111とブロック選択部211
を付加するものであってもよい。(実施の形態12)本
発明の実施の形態12は、実施の形態1のデータ暗号化
装置10における端数データ処理部106が行なう端数
データの処理を変更したものである。
【0588】<構成>暗号通信システムの構成は実施の
形態1と同様なので説明を省略する。
【0589】(データ暗号化装置10の構成)このデー
タ暗号化装置10の構成は、実施の形態1の構成と同様
である。
【0590】実施の形態1における図2に示すデータ暗
号化装置10と同一の機能を有する構成部分の説明は省
略する。
【0591】図48は、本発明の実施の形態12におけ
る端数データ処理部106の詳細な構成を示す図であ
る。
【0592】端数データ処理部106は、ブロック分割
部101から端数平文データを受け取ると、第1〜8暗
号化部105a〜105hに直前に処理した暗号文ブロ
ックを渡して暗号化させる等して、ブロック記憶部10
2に記憶された連鎖ブロックに基づいて、直前に処理し
た暗号文ブロックに暗号処理を施させて端数データ処理
用ブロックを生成し、これに基づいて、端数平文データ
から端数平文データと同じビット数の端数暗号文データ
を生成するものであり、データ整合部106a、端数デ
ータ融合部106b及び暗号文ブロック記憶部106c
を含む。
【0593】暗号文ブロック記憶部106cは、端数デ
ータの処理の直前に処理した暗号文ブロックを記憶し、
端数データに処理を施す際に、記憶している暗号文ブロ
ックを第1〜8暗号化部105a〜105hに渡す。こ
こでは、第3暗号文ブロックを記憶し、端数平文データ
に処理を施す際に、記憶している第3暗号文ブロックを
第1〜8暗号化部105a〜105hに渡す。
【0594】ここで、第1〜8暗号化部105a〜10
5hは、実施の形態1と同様の暗号処理を施すことによ
り、暗号文ブロック記憶部106cより渡された暗号文
ブロックから端数データ処理用ブロックを生成する。こ
こでは、第3暗号文ブロックから端数データ処理用ブロ
ックを生成する。
【0595】データ整合部106aは、暗号処理を施し
て生成された端数データ処理用ブロックから、端数平文
データと同じビット数の整合データを生成する。ここで
は、端数平文データが8ビットなので、端数データ処理
用ブロックの、例えば上位8ビットで構成される整合デ
ータを生成する。
【0596】端数データ融合部106bは、整合データ
を端数平文データに融合する。ここでは、8ビットの整
合データと8ビットの端数平文データとを、対応するビ
ット毎に排他的論理和の演算を行ない、8ビットの端数
暗号文データを生成する。
【0597】<動作> (データ暗号化装置10の動作)このデータ暗号化装置
10の動作は、図9に示す実施の形態1のデータ暗号化
装置10の動作と同様である。
【0598】図49は、本発明の実施の形態12のデー
タ暗号化装置10における端数データ処理の流れを示す
図である。
【0599】ここでは、一例として、200ビットの平
文データを入手し、ブロック記憶部102には予め初期
値IVが記憶され、既に、第1〜3平文ブロックの暗号
化が終了し、第3暗号文ブロックが暗号文ブロック記憶
部106cに記憶されたものとし、残りの8ビットが端
数平文データとしてブロック分割部101から端数デー
タ処理部106へ渡されたものとして、DESのアルゴ
リズムに準じて説明する。
【0600】(1)鍵データ融合部103が、ブロック
記憶部102に記憶された連鎖ブロックを鍵データに融
合し、融合鍵データを生成する(ステップS200
1)。ここでは、第3平文ブロックの処理の際に生成さ
れた連鎖ブロックと64ビットの鍵データとを、対応す
るビット毎に排他的論理和の演算を行ない、融合鍵デー
タを生成して部分鍵生成部104に渡す。
【0601】(2)部分鍵生成部104が、融合鍵デー
タから暗号化部の数に相当する数の部分鍵を生成する
(ステップS2002)。ここでは、64ビットの融合
鍵データから48ビットの部分鍵を8個生成する。
【0602】(3)第1暗号化部105aが、第1の部
分鍵に基づいて、暗号文ブロック記憶部106cに記憶
された直前に処理した暗号文ブロックから第1中間ブロ
ックを生成する(ステップS2003)。ここでは、第
3暗号文ブロックから第1中間ブロックを生成する。
【0603】(4)第2〜7暗号化部105b〜105
gが、それぞれ第2〜7の部分鍵に基づいて、第1〜6
中間ブロックから第2〜7中間ブロックを生成する(ス
テップS2004)。ここでは、第3暗号文ブロックに
対応する第1〜6中間ブロックから第2〜7中間ブロッ
クを生成する。
【0604】(5)第8暗号化部105hが、第8の部
分鍵に基づいて、第7中間ブロックから端数データ処理
用ブロックを生成する(ステップS2005)。ここで
は、第3暗号文ブロックに対応する第7中間ブロックか
ら端数データ処理用ブロックを生成する。
【0605】(6)データ整合部106aが、暗号処理
を施して生成された端数データ処理用ブロックから、端
数平文データと同じビット数の整合データを生成する
(ステップS2006)。ここでは、端数平文データが
8ビットなので、端数データ処理用ブロックの、例えば
上位8ビットで構成される整合データを生成する。
【0606】(7)端数データ融合部106bが、整合
データを端数平文データに融合する(ステップS200
7)。ここでは、8ビットの整合データと8ビットの端
数平文データとを、対応するビット毎に排他的論理和の
演算を行ない、8ビットの端数暗号文データを生成す
る。
【0607】(8)ブロック結合部107が、第8暗号
化部105hが生成した各暗号文ブロック及び端数デー
タ処理部106が生成した端数暗号文データを結合して
暗号文データを生成する(ステップS2008)。ここ
では、第1〜3平文ブロックにそれぞれ対応する各暗号
文ブロック及び端数暗号文データを結合して200ビッ
トの暗号文データを生成する。
【0608】なお、データ暗号化装置10における端数
データ処理部106が行なう端数データの処理の変更に
ともない、データ復号化装置20における端数データ処
理部206が行なう端数データの処理も変更となる。そ
の変更内容は、連鎖ブロックに基づいて、前の暗号文ブ
ロックを新たな入力ブロックとして暗号化させることに
より端数データ処理用ブロックを生成させ、これに基づ
いて、端数平文データから端数平文データと同じビット
数の端数暗号文データを生成するものであり、端数デー
タ処理部106と同様の変更であるので、その説明を省
略する。
【0609】また、上記実施の形態12では、実施の形
態1の端数データ処理部106が行なう端数データの処
理及び端数データ処理部206が行なう端数データの処
理を変更したが、他の実施の形態2〜11に同様に端数
データの処理を変更してもよい。
【0610】また、本来のDESのアルゴリズムは、各
暗号処理部による暗号化処理に先立って初期転置を行な
い、16段の暗号化処理を経た後に最終転置を行なう
が、上記各実施の形態では説明の簡略化の為に、初期転
置、最終転置及び9段以降の暗号処理部を省略した。
【0611】また、上記各実施の形態のアルゴリズム
は、DESのアルゴリズムに限られるものではなく、ど
のようなアルゴリズムであってもよい。勿論、暗号処理
部の段数も8段に限られるものではなく、何段であって
もよい。
【0612】また、上記各実施の形態では、主に4段目
の出力を新たな連鎖ブロックとしたが、勿論、これは4
段目の出力に限られるものではなく、何段目の出力であ
ってもよい。
【0613】また、上記各実施の形態では、連鎖ブロッ
クと鍵データのビット数が同じである場合について説明
したが、必ずしもこれは同じでなくてよい。なお、連鎖
ブロック等と鍵データを融合する各実施の形態におい
て、連鎖ブロックと鍵データのビット数が違っている場
合には、鍵データに融合すべきブロックから鍵データと
同じビット数のデータを生成して、これを鍵データに融
合する。例えばここでは、鍵データのビット数が64ビ
ットよりも大きい場合は、鍵データに融合すべきブロッ
クを拡大転置等のよって鍵データと同じビット数のデー
タを生成し、鍵データのビット数が64ビットよりも小
さい場合は、鍵データのビット数分の上位ビットで構成
されるデータを生成し、これを鍵データに融合する。
【0614】また、上記各実施の形態はデータ暗号化装
置10で平文データを入力して暗号化し、データ復号化
装置20で暗号文データを復号化するものであるが、デ
ータ暗号化装置10における暗号化とデータ復号化装置
20における復号化とは逆変換の関係にあるので、それ
ぞれ暗号化装置にも復号化装置にも成り得る。よって、
上記各実施の形態において、上記各データ復号化装置2
0が平文データを入力して暗号化し、上記各データ暗号
化装置10が暗号文データを復号化するものであっても
よい。
【0615】
【発明の効果】本発明に係る暗号処理装置は、入力デー
タに基づいて暗号処理を施して出力データを生成する暗
号処理装置であって、前のデータの影響を後のデータに
及ぼす為に用いる連鎖データを記憶し暗号処理を施す毎
にその連鎖データを更新する記憶手段と、記憶手段が記
憶する連鎖データを入力データに融合して融合データを
生成する融合手段と、融合データに基づいて主暗号処理
を施して出力データを生成し出力データを生成するまで
の過程において生成される中間データを出力する主暗号
処理手段とを備え、記憶手段は主暗号処理手段が出力す
る中間データを新たな連鎖データとして自身が記憶する
連鎖データを更新し次の暗号処理に供させることを特徴
とする。
【0616】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データ、又は、被暗号処理データ等
の入力データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。また、暗号解読者は、暗号文と平文のペア
を入手することはできたとしても、暗号処理に用いられ
た連鎖データを入手することは事実上不可能であり、さ
らに、連鎖データを生成するアルゴリズムや連鎖データ
の初期値は非公開なので、「既知平文攻撃」による暗号
解読はさらに難しくなり、総当たりによる解読も困難で
ある。
【0617】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0618】また、前記主暗号処理手段は複数段の部分
処理を施し、複数段の部分処理とは部分処理の段階が複
数あり1段目で部分処理を施したデータに2段目で更に
部分処理を施しこれを段数分行なうことをいい、最終段
で部分処理を施したデータが出力データとなり、最終段
以外の各段で部分処理を施して得られたデータが各中間
データとなり、前記記憶手段は主暗号処理手段が出力す
る各中間データの内の1個を新たな連鎖データとして記
憶することを特徴とすることもできる。
【0619】これによって、どの中間データが新たな連
鎖データとなるかを暗号解読者が知ることができない。
【0620】従って、装置規模や処理時間等を大幅に増
大させることなく、さらに安全性を向上させることがで
きる。
【0621】また、前記入力データは鍵データと被暗号
処理データとを含み、前記融合手段は前記記憶手段が記
憶する連鎖データを前記鍵データに融合して融合鍵デー
タを生成し、前記暗号処理装置は、さらに、融合鍵デー
タから前記主暗号処理手段の段数分の部分鍵を生成し主
暗号処理手段の各段階に給送しそれぞれの部分処理に供
させる部分鍵生成手段を備え、前記主暗号処理手段は段
数分の部分鍵により特定される複数段の部分処理を施し
被暗号処理データから出力データを生成することを特徴
とすることもできる。
【0622】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データに融合し、暗号処理を施す度
にその連鎖データを更新するので、各出力データは自身
よりも前の全てのデータに依存することになり、平文の
統計的な特徴は各連鎖データによって攪乱され、装置規
模や処理時間等をさほど増大させていないにもかかわら
ず暗号解読が難しくなる。
【0623】また、前記暗号処理装置は、さらに、前記
被暗号処理データを所定のビット数であるブロック単位
に分割しつつ順番に次に処理すべき1ブロックの被暗号
処理データを準備するブロック準備手段と、ブロック準
備手段が被暗号処理データをブロック単位に分割した際
に生じるブロック単位未満の端数データから前記連鎖デ
ータに基づいてその端数データと同じ長さの出力データ
を生成する端数データ処理手段とを備え、前記暗号処理
装置はブロック単位で暗号処理を施すことを特徴とする
こともできる。
【0624】これによって、端数データから端数データ
と同じ長さの出力データを生成することができるので、
全入力データと全出力データの長さが同じとなる。
【0625】従って、暗号処理を施してもデータ長が変
わらないため、データを扱い易い。
【0626】また、前記端数データ処理手段は、前記連
鎖データから前記端数データと同じ長さの端数連鎖デー
タを生成するデータ整合手段と、端数連鎖データを端数
データに融合してその端数データと同じ長さの出力デー
タを生成する端数データ融合手段とを含むことを特徴と
することもできる。
【0627】これによって、連鎖データから端数データ
と同じ長さの端数連鎖データを生成することができるの
で、端数連鎖データを端数データに融合することができ
る。
【0628】従って、暗号処理を施してもデータ長が変
わらないため、データを扱い易い。
【0629】また、前記端数データ処理手段は、前記主
暗号処理手段により暗号処理を施されたブロックを記憶
し前記端数データが生じた際に記憶しているブロックを
新たな被暗号処理データとして前記主暗号処理手段に渡
すブロック記憶手段を含み、前記主暗号処理手段はブロ
ック記憶手段より渡されたブロックから出力データを生
成しこれを端数データ処理用ブロックとして端数データ
処理手段へ渡し、前記端数データ処理手段は、さらに、
端数データ処理用ブロックから前記端数データと同じ長
さの整合データを生成するデータ整合手段と、整合デー
タを端数データに融合してその端数データと同じ長さの
出力データを生成する端数データ融合手段とを含むこと
を特徴とすることもできる。
【0630】これによって、端数データに施す暗号処理
が、各ブロックに施す暗号処理と比べても遜色のないも
のになる。
【0631】従って、データ長が変わらないにもかかわ
らず、安全性を向上させることができる。
【0632】また、前記融合手段及び前記端数データ融
合手段における融合は対応するビット毎の排他的論理和
の計算であることを特徴とすることもできる。
【0633】これによって、同じデータ長同士にビット
毎の排他的論理和の計算を施して同じデータ長の結果が
得られ、また、暗号化と復号化とを同じ処理にすること
ができる。
【0634】また、前記記憶手段は予め連鎖データの初
期値を記憶し最初のブロックを処理する際に用い、前記
鍵データ、及び、連鎖データの初期値はある被暗号処理
データを暗号化する装置が用いるものとその暗号化する
装置の出力を受け取り復号化する装置が用いるものとが
同一であり、且つ、非公開であり、前記暗号化する装置
と前記復号化する装置とが同一の鍵データ、及び、同一
の連鎖データの初期値を用いる場合には前記復号化する
装置が施す暗号処理は常に前記暗号化する装置が施す暗
号処理の逆変換となることを特徴とすることもできる。
【0635】これによって、最初のブロックを処理する
際に連鎖データの初期値を用いることができ、また、暗
号化と復号化とで同じ鍵データ、及び、連鎖データの初
期値を用いると復号化が暗号化の逆変換となるので、正
しい鍵データ、及び、連鎖データを持つものだけがデー
タを復号化できる。
【0636】さらに、正しい鍵データ、及び、連鎖デー
タは非公開なので、鍵データだけが非公開の場合に比
べ、装置規模や処理時間等をさほど増大させていないに
もかかわらず暗号解読が難しくなる。
【0637】従って、装置規模や処理時間等を大幅に増
大させることなく、さらに安全性を向上させることがで
きる。
【0638】また、前記暗号処理装置は、さらに、鍵デ
ータを記憶し暗号処理を施す毎にその鍵データを更新す
る鍵データ記憶手段を備え、前記融合手段は前記記憶手
段が記憶する連鎖データを鍵データ記憶手段が記憶する
鍵データに融合し、鍵データ記憶手段は鍵データの初期
値を記憶し最初のデータを処理する際に用い融合鍵デー
タを新たな鍵データとして自身が記憶する鍵データを更
新し次の暗号処理に供させることを特徴とすることもで
きる。
【0639】これによって、鍵データを更新することが
できるので、鍵データを更新しない場合に比べ暗号解読
が難しくなる。
【0640】従って、装置規模や処理時間等を大幅に増
大させることなく、さらに安全性を向上させることがで
きる。
【0641】また、前記記憶手段は自身が記憶する連鎖
データに基づいて前記主暗号処理手段が出力する各中間
データ、前記入力データ、前記融合データ及び前記出力
データの中から1個を選択し新たな連鎖データとして自
身が記憶する連鎖データを更新し次の暗号処理に供させ
ることを特徴とすることもできる。
【0642】これによって、どのデータが新たな連鎖デ
ータとなるかが連鎖データに基づいて決まるので、固定
された中間データが新たな連鎖データとなる場合に比
べ、暗号解読が難しくなる。
【0643】従って、装置規模や処理時間等を大幅に増
大させることなく、さらに安全性を向上させることがで
きる。
【0644】また、前記入力データは鍵データと被暗号
処理データとを含み、前記融合手段は前記記憶手段が記
憶する連鎖データを前記被暗号処理データに融合して融
合被暗号処理データを生成し、前記主暗号処理手段は鍵
データにより特定される主暗号処理を施し融合被暗号処
理データから出力データを生成することを特徴とするこ
ともできる。
【0645】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に被暗号処理データに融合し、暗号処理
を施す度にその連鎖データを更新するので、各出力デー
タは自身よりも前の全てのデータに依存することにな
り、平文の統計的な特徴は各連鎖データによって攪乱さ
れ、装置規模や処理時間等をさほど増大させていないに
もかかわらず暗号解読が難しくなる。
【0646】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、鍵データにより特定される主暗号処理を施し
て被暗号処理データから暗号処理データを生成し暗号処
理データを生成するまでの過程において生成される中間
データを出力する主暗号処理手段と、記憶手段が記憶す
る連鎖データを暗号処理データに融合して出力データを
生成する融合手段とを備え、記憶手段は主暗号処理手段
が出力する中間データを新たな連鎖データとして自身が
記憶する連鎖データを更新し次の暗号処理に供させるこ
とを特徴とする。
【0647】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に暗号処理データに融合し、暗号処理を
施す度にその連鎖データを更新するので、各出力データ
は自身よりも前の全てのデータに依存することになり、
平文の統計的な特徴は各連鎖データによって攪乱され、
装置規模や処理時間等をさほど増大させていないにもか
かわらず暗号解読が難しくなる。また、暗号解読者は、
暗号文と平文のペアを入手することはできたとしても、
暗号処理に用いられた連鎖データを入手することは事実
上不可能であり、さらに、連鎖データを生成するアルゴ
リズムや連鎖データの初期値は非公開なので、「既知平
文攻撃」による暗号解読はさらに難しくなり、総当たり
による解読も困難である。
【0648】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0649】本発明に係る暗号処理装置は、入力データ
に基づいて暗号処理を施して出力データを生成する暗号
処理装置であって、前のデータの影響を後のデータに及
ぼす為に用いる連鎖データを記憶し暗号処理を施す毎に
その連鎖データを更新する記憶手段と、記憶手段が記憶
する連鎖データを入力データの全部又は一部に融合して
融合データを生成する融合手段と、融合データに基づい
て第1主暗号処理を施し中間データを生成する第1主暗
号処理手段と、融合データに基づいて第2主暗号処理を
施し出力データを生成する第2主暗号処理手段とを備
え、記憶手段は第1主暗号処理手段が生成した中間デー
タを新たな連鎖データとして自身が記憶する連鎖データ
を更新し次の暗号処理に供させることを特徴とする。
【0650】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データ、又は、被暗号処理データ等
の入力データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。また、暗号解読者は、暗号文と平文のペア
を入手することはできたとしても、暗号処理に用いられ
た連鎖データを入手することは事実上不可能であり、さ
らに、連鎖データを生成するアルゴリズムや連鎖データ
の初期値は非公開なので、「既知平文攻撃」による暗号
解読はさらに難しくなり、総当たりによる解読も困難で
ある。
【0651】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0652】また、前記入力データは鍵データと被暗号
処理データとを含み、前記融合手段は前記記憶手段が記
憶する連鎖データを前記鍵データに融合して融合鍵デー
タを生成し、前記暗号処理装置は、さらに、融合鍵デー
タから前記第1主暗号処理手段及び第2主暗号処理手段
の部分鍵をそれぞれ生成しそれぞれの主暗号処理に供さ
せる部分鍵生成手段を備え、前記第1主暗号処理手段は
部分鍵により特定される第1主暗号処理を施して被暗号
処理データから中間データを生成し、前記第2主暗号処
理手段は部分鍵により特定される第2主暗号処理を施し
て被暗号処理データから出力データを生成することを特
徴とすることもできる。
【0653】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データに融合し、暗号処理を施す度
にその連鎖データを更新するので、各出力データは自身
よりも前の全てのデータに依存することになり、平文の
統計的な特徴は各連鎖データによって攪乱され、装置規
模や処理時間等をさほど増大させていないにもかかわら
ず暗号解読が難しくなる。
【0654】また、前記暗号処理装置は、さらに、前記
被暗号処理データを所定のビット数であるブロック単位
に分割しつつ順番に次に処理すべき1ブロックの被暗号
処理データを準備するブロック準備手段と、ブロック準
備手段が被暗号処理データをブロック単位に分割した際
に生じるブロック単位未満の端数データから前記連鎖デ
ータに基づいてその端数データと同じ長さの出力データ
を生成する端数データ処理手段とを備え、前記暗号処理
装置はブロック単位で暗号処理を施すことを特徴とする
こともできる。
【0655】これによって、端数データから端数データ
と同じ長さの出力データを生成することができるので、
全入力データと全出力データの長さが同じとなる。
【0656】従って、暗号処理を施してもデータ長が変
わらないため、データを扱い易い。
【0657】また、前記端数データ処理手段は、前記連
鎖データから前記端数データと同じ長さの端数連鎖デー
タを生成するデータ整合手段と、端数連鎖データを端数
データに融合してその端数データと同じ長さの出力デー
タを生成する端数データ融合手段とを含むことを特徴と
することもできる。
【0658】これによって、連鎖データから端数データ
と同じ長さの端数連鎖データを生成することができるの
で、端数連鎖データを端数データに融合することができ
る。
【0659】従って、暗号処理を施してもデータ長が変
わらないため、データを扱い易い。
【0660】また、前記端数データ処理手段は、前記第
2主暗号処理手段により暗号処理を施されたブロックを
記憶し前記端数データが生じた際に記憶しているブロッ
クを新たな被暗号処理データとして前記第2主暗号処理
手段に渡すブロック記憶手段を含み、前記第2主暗号処
理手段はブロック記憶手段より渡されたブロックから出
力データを生成しこれを端数データ処理用ブロックとし
て端数データ処理手段へ渡し、前記端数データ処理手段
は、さらに、端数データ処理用ブロックから前記端数デ
ータと同じ長さの整合データを生成するデータ整合手段
と、整合データを端数データに融合してその端数データ
と同じ長さの出力データを生成する端数データ融合手段
とを含むことを特徴とすることもできる。
【0661】これによって、端数データに施す暗号処理
が、各ブロックに施す暗号処理と比べても遜色のないも
のになる。
【0662】従って、データ長が変わらないにもかかわ
らず、安全性を向上させることができる。
【0663】また、前記暗号処理装置は、さらに、鍵デ
ータを記憶し暗号処理を施す毎にその鍵データを更新す
る鍵データ記憶手段を備え、前記融合手段は前記記憶手
段が記憶する連鎖データを鍵データ記憶手段が記憶する
鍵データに融合し、鍵データ記憶手段は鍵データの初期
値を記憶し最初のデータを処理する際に用い融合鍵デー
タを新たな鍵データとして自身が記憶する鍵データを更
新し次の暗号処理に供させることを特徴とすることもで
きる。
【0664】これによって、鍵データを更新することが
できるので、鍵データを更新しない場合に比べ暗号解読
が難しくなる。
【0665】従って、装置規模や処理時間等を大幅に増
大させることなく、さらに安全性を向上させることがで
きる。
【0666】また、前記入力データは鍵データと被暗号
処理データとを含み、前記融合手段は前記記憶手段が記
憶する連鎖データを前記被暗号処理データに融合して融
合被暗号処理データを生成し、前記第1主暗号処理手段
は鍵データにより特定される第1主暗号処理を施して融
合被暗号処理データから中間データを生成し、前記第2
主暗号処理手段は鍵データにより特定される第2主暗号
処理を施して融合被暗号処理データから出力データを生
成することを特徴とすることもできる。
【0667】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に被暗号処理データに融合し、暗号処理
を施す度にその連鎖データを更新するので、各出力デー
タは自身よりも前の全てのデータに依存することにな
り、平文の統計的な特徴は各連鎖データによって攪乱さ
れ、装置規模や処理時間等をさほど増大させていないに
もかかわらず暗号解読が難しくなる。
【0668】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、記憶手段が記憶する連鎖データを前記鍵デー
タに融合して融合鍵データを生成する融合手段と、融合
鍵データから部分鍵を生成する部分鍵生成手段と、部分
鍵により特定される第1主暗号処理を施して被暗号処理
データから出力データを生成する第1主暗号処理手段
と、部分鍵により特定される第2主暗号処理を施して出
力データから中間データを生成する第2主暗号処理手段
とを備え、部分鍵生成手段は融合鍵データから前記第1
主暗号処理手段及び第2主暗号処理手段の部分鍵をそれ
ぞれ生成しそれぞれの主暗号処理に供させ、記憶手段は
第2主暗号処理手段が生成した中間データを新たな連鎖
データとして自身が記憶する連鎖データを更新し次の暗
号処理に供させることを特徴とする。
【0669】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データに融合し、暗号処理を施す度
にその連鎖データを更新するので、各出力データは自身
よりも前の全てのデータに依存することになり、平文の
統計的な特徴は各連鎖データによって攪乱され、装置規
模や処理時間等をさほど増大させていないにもかかわら
ず暗号解読が難しくなる。また、暗号解読者は、暗号文
と平文のペアを入手することはできたとしても、暗号処
理に用いられた連鎖データを入手することは事実上不可
能であり、さらに、連鎖データを生成するアルゴリズム
や連鎖データの初期値は非公開なので、「既知平文攻
撃」による暗号解読はさらに難しくなり、総当たりによ
る解読も困難である。
【0670】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0671】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、鍵データにより特定される第1主暗号処理を
施して被暗号処理データから中間データを生成する第1
主暗号処理手段と、鍵データにより特定される第2主暗
号処理を施して被暗号処理データから暗号処理データを
生成する第2主暗号処理手段と、記憶手段が記憶する連
鎖データを暗号処理データに融合して出力データを生成
する融合手段とを備え、記憶手段は第1主暗号処理手段
が生成した中間データを新たな連鎖データとして自身が
記憶する連鎖データを更新し次の暗号処理に供させるこ
とを特徴とする。
【0672】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に暗号処理データに融合し、暗号処理を
施す度にその連鎖データを更新するので、各出力データ
は自身よりも前の全てのデータに依存することになり、
平文の統計的な特徴は各連鎖データによって攪乱され、
装置規模や処理時間等をさほど増大させていないにもか
かわらず暗号解読が難しくなる。また、暗号解読者は、
暗号文と平文のペアを入手することはできたとしても、
暗号処理に用いられた連鎖データを入手することは事実
上不可能であり、さらに、連鎖データを生成するアルゴ
リズムや連鎖データの初期値は非公開なので、「既知平
文攻撃」による暗号解読はさらに難しくなり、総当たり
による解読も困難である。
【0673】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0674】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、鍵データにより特定される第1主暗号処理を
施して連鎖データから暗号処理データを生成する第1主
暗号処理手段と、暗号処理データを被暗号処理データに
融合して中間データを生成する融合手段と、鍵データに
より特定される第2暗号処理を施して中間データから出
力データを生成する第2主暗号処理手段とを備え、記憶
手段は中間データを新たな連鎖データとして自身が記憶
する連鎖データを更新し次の暗号処理に供させることを
特徴とする。
【0675】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に暗号処理を施して暗号処理データを生
成して被暗号処理データに融合し、暗号処理を施す度に
その連鎖データを更新するので、各出力データは自身よ
りも前の全てのデータに依存することになり、平文の統
計的な特徴は各連鎖データによって攪乱され、装置規模
や処理時間等をさほど増大させていないにもかかわらず
暗号解読が難しくなる。また、暗号解読者は、暗号文と
平文のペアを入手することはできたとしても、暗号処理
に用いられた連鎖データを入手することは事実上不可能
であり、さらに、連鎖データを生成するアルゴリズムや
連鎖データの初期値は非公開なので、「既知平文攻撃」
による暗号解読はさらに難しくなり、総当たりによる解
読も困難である。
【0676】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0677】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、鍵データにより特定される第1主暗号処理を
施して連鎖データから暗号処理データを生成する第1主
暗号処理手段と、鍵データにより特定される第2主暗号
処理を施して被暗号処理データから中間データを生成す
る第2主暗号処理手段と、暗号処理データを中間データ
に融合して出力データを生成する融合手段とを備え、記
憶手段は中間データを新たな連鎖データとして自身が記
憶する連鎖データを更新し次の暗号処理に供させること
を特徴とする。
【0678】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に暗号処理を施して暗号処理データを生
成して中間データに融合し、暗号処理を施す度にその連
鎖データを更新するので、各出力データは自身よりも前
の全てのデータに依存することになり、平文の統計的な
特徴は各連鎖データによって攪乱され、装置規模や処理
時間等をさほど増大させていないにもかかわらず暗号解
読が難しくなる。また、暗号解読者は、暗号文と平文の
ペアを入手することはできたとしても、暗号処理に用い
られた連鎖データを入手することは事実上不可能であ
り、さらに、連鎖データを生成するアルゴリズムや連鎖
データの初期値は非公開なので、「既知平文攻撃」によ
る暗号解読はさらに難しくなり、総当たりによる解読も
困難である。
【0679】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0680】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、鍵データにより特定される第1主暗号処理を
施して連鎖データから中間データを生成する第1主暗号
処理手段と、中間データを被暗号処理データに融合して
融合データを生成する融合手段と、鍵データにより特定
される第2主暗号処理を施して融合データから出力デー
タを生成する第2主暗号処理手段とを備え、記憶手段は
中間データを新たな連鎖データとして自身が記憶する連
鎖データを更新し次の暗号処理に供させることを特徴と
する。
【0681】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に暗号処理を施して中間データを生成し
て被暗号処理データに融合し、暗号処理を施す度にその
連鎖データを更新するので、各出力データは自身よりも
前の全てのデータに依存することになり、平文の統計的
な特徴は各連鎖データによって攪乱され、装置規模や処
理時間等をさほど増大させていないにもかかわらず暗号
解読が難しくなる。また、暗号解読者は、暗号文と平文
のペアを入手することはできたとしても、暗号処理に用
いられた連鎖データを入手することは事実上不可能であ
り、さらに、連鎖データを生成するアルゴリズムや連鎖
データの初期値は非公開なので、「既知平文攻撃」によ
る暗号解読はさらに難しくなり、総当たりによる解読も
困難である。
【0682】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0683】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、鍵データにより特定される第1主暗号処理を
施して連鎖データから中間データを生成する第1主暗号
処理手段と、鍵データにより特定される第2主暗号処理
を施して被暗号処理データから暗号処理データを生成す
る第2主暗号処理手段と、中間データを暗号処理データ
に融合して出力データを生成する融合手段とを備え、記
憶手段は中間データを新たな連鎖データとして自身が記
憶する連鎖データを更新し次の暗号処理に供させること
を特徴とする。
【0684】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に暗号処理を施して中間データを生成し
て暗号処理データに融合し、暗号処理を施す度にその連
鎖データを更新するので、各出力データは自身よりも前
の全てのデータに依存することになり、平文の統計的な
特徴は各連鎖データによって攪乱され、装置規模や処理
時間等をさほど増大させていないにもかかわらず暗号解
読が難しくなる。また、暗号解読者は、暗号文と平文の
ペアを入手することはできたとしても、暗号処理に用い
られた連鎖データを入手することは事実上不可能であ
り、さらに、連鎖データを生成するアルゴリズムや連鎖
データの初期値は非公開なので、「既知平文攻撃」によ
る暗号解読はさらに難しくなり、総当たりによる解読も
困難である。 従って、装置規模や処理時間等を大幅に
増大させることなく、安全性を向上させることができ
る。
【0685】本発明に係る暗号処理装置は、入力データ
に基づいて暗号処理を施して出力データを生成する暗号
処理装置であって、前のデータの影響を後のデータに及
ぼす為に用いる連鎖データを記憶し暗号処理を施す毎に
その連鎖データを更新する記憶手段と、前記記憶手段が
記憶する連鎖データに予め決めておいた所定の変換を施
して変換データを生成する変換手段と、変換データを入
力データに融合して融合データを生成する融合手段と、
融合データに基づいて主暗号処理を施して出力データを
生成し出力データを生成するまでの過程において生成さ
れる中間データを出力する主暗号処理手段とを備え、記
憶手段は、中間データ、入力データ、変換データ又は出
力データを新たな連鎖データとして自身が記憶する連鎖
データを更新し次の暗号処理に供させることを特徴とす
る。
【0686】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
して鍵データ、又は、被暗号処理データ等の入力データ
に融合し、暗号処理を施す度にその連鎖データを更新す
るので、各出力データは自身よりも前の全てのデータに
依存することになり、平文の統計的な特徴は各連鎖デー
タによって攪乱され、装置規模や処理時間等をさほど増
大させていないにもかかわらず暗号解読が難しくなる。
また、暗号解読者は、暗号文と平文のペアを入手するこ
とはできたとしても、暗号処理に用いられた連鎖データ
を入手することは事実上不可能であり、さらに、連鎖デ
ータを生成するアルゴリズム、連鎖データの初期値及び
所定の変換は非公開なので、「既知平文攻撃」による暗
号解読はさらに難しくなり、総当たりによる解読も困難
である。
【0687】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0688】また、前記変換手段が施す所定の変換はビ
ット置換又はビット変換であることを特徴とすることも
できる。
【0689】これによって、ビット置換又はビット変換
等の簡単な所定の変換が非公開となるので、装置規模や
処理時間等をさほど増大させていないにもかかわらず暗
号解読が難しくなる。
【0690】また、前記入力データは鍵データと被暗号
処理データとを含み、前記融合手段は前記変換データを
鍵データに融合して融合鍵データを生成し、前記主暗号
処理手段は融合鍵データにより特定される主暗号処理を
施して被暗号処理データから出力データを生成し、前記
記憶手段は、中間データ、被暗号処理データ又は出力デ
ータを新たな連鎖データとして自身が記憶する連鎖デー
タを更新し次の暗号処理に供させることを特徴とするこ
ともできる。
【0691】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
して鍵データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。
【0692】また、前記暗号処理装置は、さらに、前記
被暗号処理データを所定のビット数であるブロック単位
に分割しつつ順番に次に処理すべき1ブロックの被暗号
処理データを準備するブロック準備手段と、ブロック準
備手段が被暗号処理データをブロック単位に分割した際
に生じるブロック単位未満の端数データから前記連鎖デ
ータに基づいてその端数データと同じ長さの出力データ
を生成する端数データ処理手段とを備え、前記暗号処理
装置はブロック単位で暗号処理を施すことを特徴とする
こともできる。
【0693】従って、暗号処理を施してもデータ長が変
わらないため、データを扱い易い。
【0694】これによって、端数データから端数データ
と同じ長さの出力データを生成することができるので、
全入力データと全出力データの長さが同じとなる。
【0695】また、前記端数データ処理手段は、前記連
鎖データから前記端数データと同じ長さの端数連鎖デー
タを生成するデータ整合手段と、端数連鎖データを端数
データに融合してその端数データと同じ長さの出力デー
タを生成する端数データ融合手段とを含むことを特徴と
することもできる。
【0696】これによって、連鎖データから端数データ
と同じ長さの端数連鎖データを生成することができるの
で、端数連鎖データを端数データに融合することができ
る。
【0697】従って、暗号処理を施してもデータ長が変
わらないため、データを扱い易い。
【0698】また、前記端数データ処理手段は、前記変
換データから前記端数データと同じ長さの整合データを
生成するデータ整合手段と、整合データを端数データに
融合してその端数データと同じ長さの出力データを生成
する端数データ融合手段とを含むことを特徴とすること
もできる。
【0699】これによって、端数データに施す暗号処理
が、各ブロックに施す暗号処理と比べても遜色のないも
のになる。 従って、データ長が変わらないにもかかわ
らず、安全性を向上させることができる。
【0700】また、前記暗号処理装置は、さらに、鍵デ
ータを記憶し暗号処理を施す毎にその鍵データを更新す
る鍵データ記憶手段を備え、前記融合手段は前記変換デ
ータを鍵データ記憶手段が記憶する鍵データに融合し、
鍵データ記憶手段は鍵データの初期値を記憶し最初のデ
ータを処理する際に用い融合鍵データを新たな鍵データ
として自身が記憶する鍵データを更新することを特徴と
することもできる。
【0701】これによって、鍵データを更新することが
できるので、鍵データを更新しない場合に比べ暗号解読
が難しくなる。
【0702】従って、装置規模や処理時間等を大幅に増
大させることなく、さらに安全性を向上させることがで
きる。
【0703】また、前記入力データは鍵データと被暗号
処理データとを含み、前記融合手段は前記変換データを
被暗号処理データに融合して融合被暗号処理データを生
成し、前記主暗号処理手段は鍵データにより特定される
主暗号処理を施して融合被暗号処理データから出力デー
タを生成し、前記記憶手段は、中間データ、被暗号処理
データ、融合被暗号処理データ又は出力データを新たな
連鎖データとして自身が記憶する連鎖データを更新し次
の暗号処理に供させることを特徴とすることもできる。
【0704】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
して被暗号処理データに融合し、暗号処理を施す度にそ
の連鎖データを更新するので、各出力データは自身より
も前の全てのデータに依存することになり、平文の統計
的な特徴は各連鎖データによって攪乱され、装置規模や
処理時間等をさほど増大させていないにもかかわらず暗
号解読が難しくなる。
【0705】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、前記記憶手段が記憶する連鎖データに予め決
めておいた所定の変換を施して変換データを生成する変
換手段と、鍵データにより特定される主暗号処理を施し
て被暗号処理データから暗号処理データを生成し暗号処
理データを生成するまでの過程において生成される中間
データを出力する主暗号処理手段と、変換データを暗号
処理データに融合して出力データを生成する融合手段と
を備え、記憶手段は、中間データ、被暗号処理データ、
暗号処理データ又は出力データを新たな連鎖データとし
て自身が記憶する連鎖データを更新し次の暗号処理に供
させることを特徴とする。
【0706】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
して暗号処理データに融合し、暗号処理を施す度にその
連鎖データを更新するので、各出力データは自身よりも
前の全てのデータに依存することになり、平文の統計的
な特徴は各連鎖データによって攪乱され、装置規模や処
理時間等をさほど増大させていないにもかかわらず暗号
解読が難しくなる。また、暗号解読者は、暗号文と平文
のペアを入手することはできたとしても、暗号処理に用
いられた連鎖データを入手することは事実上不可能であ
り、さらに、連鎖データを生成するアルゴリズム、連鎖
データの初期値及び所定の変換は非公開なので、「既知
平文攻撃」による暗号解読はさらに難しくなり、総当た
りによる解読も困難である。
【0707】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0708】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、前記記憶手段が記憶する連鎖データに予め決
めておいた所定の変換を施して変換データを生成する変
換手段と、鍵データにより特定される主暗号処理を施し
て変換データから暗号処理データを生成する主暗号処理
手段と、暗号処理データを被暗号処理データに融合して
出力データを生成する融合手段とを備え、記憶手段は出
力データを新たな連鎖データとして自身が記憶する連鎖
データを更新し次の暗号処理に供させることを特徴とす
る。
【0709】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
し、暗号処理を施して被暗号処理データに融合し、暗号
処理を施す度にその連鎖データを更新するので、各出力
データは自身よりも前の全てのデータに依存することに
なり、平文の統計的な特徴は各連鎖データによって攪乱
され、装置規模や処理時間等をさほど増大させていない
にもかかわらず暗号解読が難しくなる。また、暗号解読
者は、暗号文と平文のペアを入手することはできたとし
ても、暗号処理に用いられた連鎖データを入手すること
は事実上不可能であり、さらに、連鎖データを生成する
アルゴリズム、連鎖データの初期値及び所定の変換は非
公開なので、「既知平文攻撃」による暗号解読はさらに
難しくなり、総当たりによる解読も困難である。
【0710】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0711】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、前記記憶手段が記憶する連鎖データに予め決
めておいた所定の変換を施して変換データを生成する変
換手段と、鍵データにより特定される主暗号処理を施し
て変換データから暗号処理データを生成する主暗号処理
手段と、暗号処理データを被暗号処理データに融合して
出力データを生成する融合手段とを備え、記憶手段は被
暗号処理データを新たな連鎖データとして自身が記憶す
る連鎖データを更新し次の暗号処理に供させることを特
徴とする。
【0712】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
し、暗号処理を施して被暗号処理データに融合し、暗号
処理を施す度にその連鎖データを更新するので、各出力
データは自身よりも前の全てのデータに依存することに
なり、平文の統計的な特徴は各連鎖データによって攪乱
され、装置規模や処理時間等をさほど増大させていない
にもかかわらず暗号解読が難しくなる。また、暗号解読
者は、暗号文と平文のペアを入手することはできたとし
ても、暗号処理に用いられた連鎖データを入手すること
は事実上不可能であり、さらに、連鎖データを生成する
アルゴリズム、連鎖データの初期値及び所定の変換は非
公開なので、「既知平文攻撃」による暗号解読はさらに
難しくなり、総当たりによる解読も困難である。
【0713】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0714】本発明に係る暗号処理装置は、鍵データに
より特定される暗号処理を施して被暗号処理データから
出力データを生成する暗号処理装置であって、前のデー
タの影響を後のデータに及ぼす為に用いる連鎖データを
記憶し暗号処理を施す毎にその連鎖データを更新する記
憶手段と、前記記憶手段が記憶する連鎖データに予め決
めておいた所定の変換を施して変換データを生成する変
換手段と、鍵データにより特定される主暗号処理を施し
て変換データから中間データを生成する主暗号処理手段
とを備え、中間データを被暗号処理データに融合して出
力データを生成する融合手段とを備え、記憶手段は中間
データを新たな連鎖データとして自身が記憶する連鎖デ
ータを更新し次の暗号処理に供させることを特徴とす
る。
【0715】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
し、暗号処理を施して被暗号処理データに融合し、暗号
処理を施す度にその連鎖データを更新するので、各出力
データは自身よりも前の全てのデータに依存することに
なり、平文の統計的な特徴は各連鎖データによって攪乱
され、装置規模や処理時間等をさほど増大させていない
にもかかわらず暗号解読が難しくなる。また、暗号解読
者は、暗号文と平文のペアを入手することはできたとし
ても、暗号処理に用いられた連鎖データを入手すること
は事実上不可能であり、さらに、連鎖データを生成する
アルゴリズム、連鎖データの初期値及び所定の変換は非
公開なので、「既知平文攻撃」による暗号解読はさらに
難しくなり、総当たりによる解読も困難である。
【0716】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0717】本発明に係る暗号処理方法は、入力データ
に基づいて暗号処理を施して出力データを生成する暗号
処理方法であって、記憶手段が前のデータの影響を後の
データに及ぼす為に用いる連鎖データを記憶しており、
記憶手段に記憶された連鎖データを入力データに融合し
て融合データを生成する融合ステップと、融合データに
基づいて主暗号処理を施して出力データを生成し出力デ
ータを生成するまでの過程において生成される中間デー
タを出力する主暗号処理ステップと、主暗号処理ステッ
プで出力された中間データを新たな連鎖データとして記
憶手段に記憶された連鎖データを更新し次の暗号処理に
供させる記憶ステップとを備えることを特徴とする。
【0718】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データ、又は、被暗号処理データ等
の入力データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。また、暗号解読者は、暗号文と平文のペア
を入手することはできたとしても、暗号処理に用いられ
た連鎖データを入手することは事実上不可能であり、さ
らに、連鎖データを生成するアルゴリズムや連鎖データ
の初期値は非公開なので、「既知平文攻撃」による暗号
解読はさらに難しくなり、総当たりによる解読も困難で
ある。
【0719】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0720】本発明に係る暗号処理方法は、入力データ
に基づいて暗号処理を施して出力データを生成する暗号
処理方法であって、記憶手段が前のデータの影響を後の
データに及ぼす為に用いる連鎖データを記憶しており、
記憶手段に記憶された連鎖データを入力データの全部又
は一部に融合して融合データを生成する融合ステップ
と、融合データに基づいて第1主暗号処理を施して中間
データを生成する第1主暗号処理ステップと、融合デー
タに基づいて第2主暗号処理を施して出力データを生成
する第2主暗号処理ステップと、第1主暗号処理ステッ
プで生成された中間データを新たな連鎖データとして記
憶手段に記憶された連鎖データを更新し次の暗号処理に
供させる記憶ステップとを備えることを特徴とする。
【0721】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データ、又は、被暗号処理データ等
の入力データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。また、暗号解読者は、暗号文と平文のペア
を入手することはできたとしても、暗号処理に用いられ
た連鎖データを入手することは事実上不可能であり、さ
らに、連鎖データを生成するアルゴリズムや連鎖データ
の初期値は非公開なので、「既知平文攻撃」による暗号
解読はさらに難しくなり、総当たりによる解読も困難で
ある。
【0722】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0723】本発明に係る暗号処理方法は、入力データ
に基づいて暗号処理を施して出力データを生成する暗号
処理方法であって、記憶手段が前のデータの影響を後の
データに及ぼす為に用いる連鎖データを記憶しており、
記憶手段に記憶された連鎖データに予め決めておいた所
定の変換を施して変換データを生成する変換ステップ
と、変換データを入力データに融合して融合データを生
成する融合ステップと、融合データに基づいて主暗号処
理を施して出力データを生成し出力データを生成するま
での過程において生成される中間データを出力する主暗
号処理ステップと、中間データ、入力データ、変換デー
タ又は出力データを新たな連鎖データとして記憶手段に
記憶された連鎖データを更新し次の暗号処理に供させる
記憶ステップとを備えることを特徴とする。
【0724】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
して鍵データ、又は、被暗号処理データ等の入力データ
に融合し、暗号処理を施す度にその連鎖データを更新す
るので、各出力データは自身よりも前の全てのデータに
依存することになり、平文の統計的な特徴は各連鎖デー
タによって攪乱され、装置規模や処理時間等をさほど増
大させていないにもかかわらず暗号解読が難しくなる。
また、暗号解読者は、暗号文と平文のペアを入手するこ
とはできたとしても、暗号処理に用いられた連鎖データ
を入手することは事実上不可能であり、さらに、連鎖デ
ータを生成するアルゴリズム、連鎖データの初期値及び
所定の変換は非公開なので、「既知平文攻撃」による暗
号解読はさらに難しくなり、総当たりによる解読も困難
である。
【0725】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0726】本発明に係る暗号処理方法を記憶したコン
ピュータ読み取り可能な記憶媒体は、入力データに基づ
いて暗号処理を施して出力データを生成する暗号処理方
法を記憶したコンピュータ読み取り可能な記憶媒体であ
って、記憶手段が前のデータの影響を後のデータに及ぼ
す為に用いる連鎖データを記憶しており、記憶手段に記
憶された連鎖データを入力データに融合して融合データ
を生成する融合ステップと、融合データに基づいて主暗
号処理を施して出力データを生成し出力データを生成す
るまでの過程において生成される中間データを出力する
主暗号処理ステップと、主暗号処理ステップで出力され
た中間データを新たな連鎖データとして記憶手段に記憶
された連鎖データを更新し次の暗号処理に供させる記憶
ステップとを備えることを特徴とする。
【0727】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データ、又は、被暗号処理データ等
の入力データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。また、暗号解読者は、暗号文と平文のペア
を入手することはできたとしても、暗号処理に用いられ
た連鎖データを入手することは事実上不可能であり、さ
らに、連鎖データを生成するアルゴリズムや連鎖データ
の初期値は非公開なので、「既知平文攻撃」による暗号
解読はさらに難しくなり、総当たりによる解読も困難で
ある。
【0728】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0729】本発明に係る暗号処理方法を記憶したコン
ピュータ読み取り可能な記憶媒体は、入力データに基づ
いて暗号処理を施して出力データを生成する暗号処理方
法を記憶したコンピュータ読み取り可能な記憶媒体であ
って、記憶手段が前のデータの影響を後のデータに及ぼ
す為に用いる連鎖データを記憶手段に記憶しており、記
憶手段に記憶された連鎖データを入力データの全部又は
一部に融合して融合データを生成する融合ステップと、
融合データに基づいて第1主暗号処理を施して中間デー
タを生成する第1主暗号処理ステップと、融合データに
基づいて第2主暗号処理を施して出力データを生成する
第2主暗号処理ステップと、第1主暗号処理ステップが
生成した中間データを新たな連鎖データとして記憶手段
に記憶された連鎖データを更新し次の暗号処理に供させ
る記憶ステップとを備えることを特徴とする。
【0730】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に鍵データ、又は、被暗号処理データ等
の入力データに融合し、暗号処理を施す度にその連鎖デ
ータを更新するので、各出力データは自身よりも前の全
てのデータに依存することになり、平文の統計的な特徴
は各連鎖データによって攪乱され、装置規模や処理時間
等をさほど増大させていないにもかかわらず暗号解読が
難しくなる。また、暗号解読者は、暗号文と平文のペア
を入手することはできたとしても、暗号処理に用いられ
た連鎖データを入手することは事実上不可能であり、さ
らに、連鎖データを生成するアルゴリズムや連鎖データ
の初期値は非公開なので、「既知平文攻撃」による暗号
解読はさらに難しくなり、総当たりによる解読も困難で
ある。
【0731】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【0732】本発明に係る暗号処理方法を記憶したコン
ピュータ読み取り可能な記憶媒体は、入力データに基づ
いて暗号処理を施して出力データを生成する暗号処理方
法を記憶したコンピュータ読み取り可能な記憶媒体であ
って、記憶手段が前のデータの影響を後のデータに及ぼ
す為に用いる連鎖データを記憶手段に記憶しており、記
憶手段に記憶された連鎖データに予め決めておいた所定
の変換を施して変換データを生成する変換ステップと、
変換データを入力データに融合して融合データを生成す
る融合ステップと、融合データに基づいて主暗号処理を
施して出力データを生成し出力データを生成するまでの
過程において生成される中間データを出力する主暗号処
理ステップと、中間データ、入力データ、変換データ又
は出力データを新たな連鎖データとして記憶手段に記憶
された連鎖データを更新し次の暗号処理に供させる記憶
ステップとを備えることを特徴とする。
【0733】これによって、暗号処理を施す過程におい
て生成される中間データを連鎖データとして記憶し、後
の暗号処理の際に所定の変換を施して変換データを生成
して鍵データ、又は、被暗号処理データ等の入力データ
に融合し、暗号処理を施す度にその連鎖データを更新す
るので、各出力データは自身よりも前の全てのデータに
依存することになり、平文の統計的な特徴は各連鎖デー
タによって攪乱され、装置規模や処理時間等をさほど増
大させていないにもかかわらず暗号解読が難しくなる。
また、暗号解読者は、暗号文と平文のペアを入手するこ
とはできたとしても、暗号処理に用いられた連鎖データ
を入手することは事実上不可能であり、さらに、連鎖デ
ータを生成するアルゴリズム、連鎖データの初期値及び
所定の変換は非公開なので、「既知平文攻撃」による暗
号解読はさらに難しくなり、総当たりによる解読も困難
である。
【0734】従って、装置規模や処理時間等を大幅に増
大させることなく、安全性を向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1における暗号通信システ
ムの構成を示す図である。
【図2】本発明の実施の形態1におけるデータ暗号化装
置10の詳細な構成を示す図である。
【図3】第1〜8暗号化部105a〜105hの詳細な
構成を示す図である。
【図4】関数「f」を計算する部分の詳細な構成を示す
図である。
【図5】選択関数S1〜S8の換字表を示す図である。
【図6】本発明の実施の形態1における端数データ処理
部106の詳細な構成を示す図である。
【図7】本発明の実施の形態1におけるデータ復号化装
置20の詳細な構成を示す図である。
【図8】本発明の実施の形態1における端数データ処理
部206の詳細な構成を示す図である。
【図9】本発明の実施の形態1のデータ暗号化装置10
における暗号化処理の流れを示す図である。
【図10】本発明の実施の形態1のデータ復号化装置2
0における暗号化処理の流れを示す図である。
【図11】本発明の実施の形態2におけるデータ暗号化
装置10の詳細な構成を示す図である。
【図12】本発明の実施の形態2におけるデータ復号化
装置20の詳細な構成を示す図である。
【図13】本発明の実施の形態2のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
【図14】本発明の実施の形態2のデータ復号化装置2
0における暗号化処理の流れを示す図である。
【図15】本発明の実施の形態3におけるデータ暗号化
装置10の詳細な構成を示す図である。
【図16】本発明の実施の形態3におけるデータ復号化
装置20の詳細な構成を示す図である。
【図17】本発明の実施の形態3のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
【図18】本発明の実施の形態3のデータ復号化装置2
0における暗号化処理の流れを示す図である。
【図19】本発明の実施の形態4におけるデータ暗号化
装置10の詳細な構成を示す図である。
【図20】本発明の実施の形態4におけるデータ復号化
装置20の詳細な構成を示す図である。
【図21】本発明の実施の形態4のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
【図22】本発明の実施の形態4のデータ復号化装置2
0における暗号化処理の流れを示す図である。
【図23】本発明の実施の形態5におけるデータ暗号化
装置10の詳細な構成を示す図である。
【図24】本発明の実施の形態5におけるデータ復号化
装置20の詳細な構成を示す図である。
【図25】本発明の実施の形態5のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
【図26】本発明の実施の形態5のデータ復号化装置2
0における暗号化処理の流れを示す図である。
【図27】本発明の実施の形態6におけるデータ暗号化
装置10の詳細な構成を示す図である。
【図28】本発明の実施の形態6におけるデータ復号化
装置20の詳細な構成を示す図である。
【図29】本発明の実施の形態6のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
【図30】本発明の実施の形態6のデータ復号化装置2
0における暗号化処理の流れを示す図である。
【図31】本発明の実施の形態7におけるデータ暗号化
装置10の詳細な構成を示す図である。
【図32】本発明の実施の形態7におけるデータ復号化
装置20の詳細な構成を示す図である。
【図33】本発明の実施の形態7のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
【図34】本発明の実施の形態7のデータ復号化装置2
0における暗号化処理の流れを示す図である。
【図35】本発明の実施の形態8におけるデータ暗号化
装置10の詳細な構成を示す図である。
【図36】本発明の実施の形態8におけるデータ復号化
装置20の詳細な構成を示す図である。
【図37】本発明の実施の形態8のデータ暗号化装置1
0における暗号化処理の流れを示す図である。
【図38】本発明の実施の形態9におけるデータ暗号化
装置10の詳細な構成を示す図である。
【図39】本発明の実施の形態9におけるデータ復号化
装置20の詳細な構成を示す図である。
【図40】本発明の実施の形態10におけるデータ暗号
化装置10の詳細な構成を示す図である。
【図41】本発明の実施の形態10におけるデータ復号
化装置20の詳細な構成を示す図である。
【図42】本発明の実施の形態10のデータ暗号化装置
10における暗号化処理の流れを示す図である。
【図43】本発明の実施の形態10のデータ復号化装置
20における暗号化処理の流れを示す図である。
【図44】本発明の実施の形態11におけるデータ暗号
化装置10の詳細な構成を示す図である。
【図45】本発明の実施の形態11におけるデータ復号
化装置20の詳細な構成を示す図である。
【図46】本発明の実施の形態11のデータ暗号化装置
10における暗号化処理の流れを示す図である。
【図47】本発明の実施の形態11のデータ復号化装置
20における暗号化処理の流れを示す図である。
【図48】本発明の実施の形態12における端数データ
処理部106の詳細な構成を示す図である。
【図49】本発明の実施の形態12のデータ暗号化装置
10における端数データ処理の流れを示す図である。
【図50】CBCモードを実現する暗号化装置30の構
成を示す図である。
【符号の説明】
10 データ暗号化装置 11 送信部 101 ブロック分割部 102 ブロック記憶部 103 鍵データ融合部 104 部分鍵生成部 105a〜105h 暗号化部 106 端数データ処理部 106a データ整合部 106b 端数データ融合部 106c 暗号文ブロック記憶部 107 ブロック結合部 108 ブロック融合部 109 ブロック変換部 110 鍵データ記憶部 111 ブロック選択部 20 データ復号化装置 21 受信部 201 ブロック分割部 202 ブロック記憶部 203 鍵データ融合部 204 部分鍵生成部 205a〜205h 復号化部 205i〜205p 暗号化部 206 端数データ処理部 206a データ整合部 206b 端数データ融合部 207 ブロック結合部 208 ブロック融合部 209 ブロック変換部 210 鍵データ記憶部 211 ブロック選択部 30 暗号化装置 301 排他的論理和部 302 データ暗号化部 303 レジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 丸山 征克 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特開 昭52−130504(JP,A) 特開 平2−44390(JP,A) 特公 平8−12537(JP,B2) D.W.Davies,W.L.Pr ice著,上園忠弘監訳,ネットワー ク・セキュリティ,日経マグロウヒル, 1985年12月 5日,p.85−102 E.Biham,Cryptanal ysis of Multiple M odes of Operation, Lecture Notesin C omputer Science,Vo l.917,p.278−292 E.Biham,On Modes of Operation, Lect ure Notes in Compu ter Science,Vol.809, p.116−120 E.Biham,L.R.Knuds en,Cryptanalysis o f the ANSI X9.52 CB CM Mode, Lecture N otes in Computer S cience,Vol.1403,p.100 −111 (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 610 JICSTファイル(JOIS)

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 鍵データにより特定される暗号化処理を
    施して、被暗号化処理データから出力データを生成する
    暗号化処理装置であって、 前のデータの影響を後のデータに及ぼす為に用いる連鎖
    データを記憶し、暗号化処理を施す毎に当該連鎖データ
    を更新する記憶手段と、 同一のアルゴリズムを持つ部分処理が複数段あり、1段
    目で部分処理を施したデータに、2段目で更に部分処理
    を施し、これを段数分行ない暗号化処理データを生成す
    る主暗号化処理手段と、 前記鍵データから、主暗号化処理手段の段数分の、それ
    ぞれ異なる部分鍵を生成し、主暗号化処理手段の各段に
    それぞれ給送し、それぞれの部分処理に供させる部分鍵
    生成手段と、 記憶手段が記憶する連鎖データを、前記暗号化処理デー
    タに融合して出力データを生成する融合手段とを備え、 前記主暗号化処理手段は、段数分のそれぞれ異なる部分
    鍵により特定される複数段のそれぞれ異なる部分処理
    を、前記被暗号化処理データに施し、最終段以外の各段
    で部分処理を施して得られたデータが各中間データとな
    り、 前記記憶手段は、主暗号化処理手段で得られた各中間デ
    ータの内の1個を新たな連鎖データとして、自身が記憶
    する連鎖データを更新し、次の暗号化処理に供させるこ
    とを特徴とする暗号化処理装置。
  2. 【請求項2】 前記暗号化処理装置は、さらに、 前記融合手段が出力データを生成する前に、前記記憶手
    段が記憶する連鎖データに、予め決めておいた所定の変
    換を施して変換データを生成する変換手段を備え、 前記融合手段は、前記変換データを、前記暗号化処理デ
    ータに融合して出力データを生成することを特徴とする
    請求項記載の暗号化処理装置。
  3. 【請求項3】 鍵データにより特定される復号化処理を
    施して、被復号化処理データから出力データを生成する
    復号化処理装置であって、 前のデータの影響を後のデータに及ぼす為に用いる連鎖
    データを記憶し、復号化処理を施す毎に当該連鎖データ
    を更新する記憶手段と、 同一のアルゴリズムを持つ部分処理が複数段あり、1段
    目で部分処理を施したデータに、2段目で更に部分処理
    を施し、これを段数分行ない復号化処理データを生成す
    る主復号化処理手段と、 前記鍵データから、主復号化処理手段の段数分の、それ
    ぞれ異なる部分鍵を生成し、主復号化処理手段の各段に
    それぞれ給送し、それぞれの部分処理に供させる部分鍵
    生成手段と、 記憶手段が記憶する連鎖データを、前記復号化処理デー
    タに融合して出力データを生成する融合手段とを備え、 前記主復号化処理手段は、段数分のそれぞれ異なる部分
    鍵により特定される複数段のそれぞれ異なる部分処理
    を、前記被復号化処理データに施し、最終段以外の各段
    で部分処理を施して得られたデータが各中間データとな
    り、 前記記憶手段は、主復号化処理手段で得られた各中間デ
    ータの内の1個を新たな連鎖データとして、自身が記憶
    する連鎖データを更新し、次の復号化処理に供させるこ
    とを特徴とする復号化処理装置。
  4. 【請求項4】 前記復号化処理装置は、さらに、 前記融合手段が出力データを生成する前に、前記記憶手
    段が記憶する連鎖データに、予め決めておいた所定の変
    換を施して変換データを生成する変換手段を備え、 前記融合手段は、前記変換データを、前記復号化処理デ
    ータに融合して出力データを生成することを特徴とする
    請求項記載の復号化処理装置。
  5. 【請求項5】 前のデータの影響を後のデータに及ぼす
    為に用いる連鎖データを記憶する記憶手段を備える暗号
    化処理装置において、鍵データにより特定される暗号化
    処理を施して、被暗号化処理データから出力データを生
    成する暗号化処理プログラムを記録するコンピュータ読
    み取り可能な記録媒体であって、 前記暗号化処理装置に、 暗号化処理を施す毎に、前記記憶手段が記憶する連鎖デ
    ータを更新する記憶ステップと、 同一のアルゴリズムを持つ部分処理を実行するサブステ
    ップが複数あり、1つ目のサブステップで部分処理を施
    したデータに、2つ目のサブステップで更に部分処理を
    施し、これをサブステップの数分行ない暗号化処理デー
    タを生成する主暗号化処理ステップと、 前記鍵データから、主暗号化処理ステップのサブステッ
    プの数分の、それぞれ異なる部分鍵を生成し、主暗号化
    処理ステップの各サブステップにそれぞれ給送し、それ
    ぞれの部分処理に供させる部分鍵生成ステップと、 記憶手段が記憶する連鎖データを、前記暗号化処理デー
    タに融合して出力データを生成する融合ステップとを実
    行させ、 前記主暗号化処理ステップでは、サブステップの数分の
    それぞれ異なる部分鍵により特定される複数のサブステ
    ップのそれぞれ異なる部分処理を、前記被暗号化処理デ
    ータに施し、最終サブステップ以外の各サブステップで
    部分処理を施して得られたデータが各中間データとな
    り、 前記記憶ステップでは、主暗号化処理ステップで得られ
    た各中間データの内の1個を新たな連鎖データとして、
    自身が記憶する連鎖データを更新し、次の暗号化処理に
    供させることを特徴とする暗号化処理プログラムを記録
    するコンピュータ読み取り可能な記録媒体。
  6. 【請求項6】 前のデータの影響を後のデータに及ぼす
    為に用いる連鎖データを記憶する記憶手段を備える復号
    化処理装置において、鍵データにより特定される復号化
    処理を施して、被復号化処理データから出力データを生
    成する復号化処理プログラムを記録するコンピュータ読
    み取り可能な記録媒体であって、 前記復号化処理装置に、 復号化処理を施す毎に、前記記憶手段が記憶する連鎖デ
    ータを更新する記憶ステップと、 同一のアルゴリズムを持つ部分処理を実行するサブステ
    ップが複数あり、1つ目のサブステップで部分処理を施
    したデータに、2つ目のサブステップで更に部分処理を
    施し、これをサブステップの数分行ない復号化処理デー
    タを生成する主復号化処理ステップと、 前記鍵データから、主復号化処理ステップのサブステッ
    プの数分の、それぞれ異なる部分鍵を生成し、主復号化
    処理ステップの各サブステップにそれぞれ給送し、それ
    ぞれの部分処理に供させる部分鍵生成ステップと、 記憶手段が記憶する連鎖データを、前記復号化処理デー
    タに融合して出力データを生成する融合ステップとを実
    行させ、 前記主復号化処理ステップでは、サブステップの数分の
    それぞれ異なる部分鍵により特定される複数のサブステ
    ップのそれぞれ異なる部分処理を、前記被復号化処理デ
    ータに施し、最終サブステップ以外の各サブステップで
    部分処理を施して得られたデータが各中間データとな
    り、 前記記憶ステップでは、主復号化処理ステップで得られ
    た各中間データの内の1個を新たな連鎖データとして、
    自身が記憶する連鎖データを更新し、次の復号化処理に
    供させることを特徴とする復号化処理プログラムを記録
    するコンピュータ読み取り可能な記録媒体。
JP27116699A 1997-04-23 1999-09-24 暗号化処理装置、及び、復号化処理装置 Expired - Fee Related JP3442010B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27116699A JP3442010B2 (ja) 1997-04-23 1999-09-24 暗号化処理装置、及び、復号化処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10560997 1997-04-23
JP9-105609 1997-04-23
JP27116699A JP3442010B2 (ja) 1997-04-23 1999-09-24 暗号化処理装置、及び、復号化処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP10114009A Division JP3035889B2 (ja) 1997-04-23 1998-04-23 暗号化処理装置、及び、復号化処理装置

Publications (2)

Publication Number Publication Date
JP2000075786A JP2000075786A (ja) 2000-03-14
JP3442010B2 true JP3442010B2 (ja) 2003-09-02

Family

ID=26445862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27116699A Expired - Fee Related JP3442010B2 (ja) 1997-04-23 1999-09-24 暗号化処理装置、及び、復号化処理装置

Country Status (1)

Country Link
JP (1) JP3442010B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9143326B2 (en) 2012-03-29 2015-09-22 International Business Machines Corporation Method and system for encrypting data

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100095115A1 (en) * 2007-01-26 2010-04-15 Safenet, Inc. File encryption while maintaining file size

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
D.W.Davies,W.L.Price著,上園忠弘監訳,ネットワーク・セキュリティ,日経マグロウヒル,1985年12月 5日,p.85−102
E.Biham,Cryptanalysis of Multiple Modes of Operation, Lecture Notesin Computer Science,Vol.917,p.278−292
E.Biham,L.R.Knudsen,Cryptanalysis of the ANSI X9.52 CBCM Mode, Lecture Notes in Computer Science,Vol.1403,p.100−111
E.Biham,On Modes of Operation, Lecture Notes in Computer Science,Vol.809,p.116−120

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9143326B2 (en) 2012-03-29 2015-09-22 International Business Machines Corporation Method and system for encrypting data
US9344274B2 (en) 2012-03-29 2016-05-17 International Business Machines Corporation Method and system for encrypting data
US9634827B2 (en) 2012-03-29 2017-04-25 International Business Machines Corporation Encrypting data
US10396977B2 (en) 2012-03-29 2019-08-27 International Business Machines Corporation Encrypting data
US11539505B2 (en) 2012-03-29 2022-12-27 Kyndryl, Inc. Encrypting data

Also Published As

Publication number Publication date
JP2000075786A (ja) 2000-03-14

Similar Documents

Publication Publication Date Title
KR100477230B1 (ko) 장치의규모나처리시간등을대폭증대시키지않고안전성을향상시킬수있는암호처리장치,암호처리방법,암호처리프로그램을기억한기억매체
US6504930B2 (en) Encryption and decryption method and apparatus using a work key which is generated by executing a decryption algorithm
US5745577A (en) Symmetric cryptographic system for data encryption
KR101516574B1 (ko) 형태보존 암호화를 위한 가변길이 블록암호 장치 및 방법
US5768390A (en) Cryptographic system with masking
KR100259179B1 (ko) 암호화 통신 처리
JPH0863097A (ja) データを暗号化するための対称暗号化方法およびシステム
CN108768617A (zh) 一种基于传统分组密码的保持格式加密方法
Rajput et al. An improved cryptographic technique to encrypt text using double encryption
Ojha et al. An Innovative Approach to Enhance the Security of Data Encryption Scheme
Kumar et al. Expansion of Round Key generations in Advanced Encryption Standard for secure communication
JP3035889B2 (ja) 暗号化処理装置、及び、復号化処理装置
JP3442010B2 (ja) 暗号化処理装置、及び、復号化処理装置
JP3442011B2 (ja) 暗号化処理装置、及び、復号化処理装置
Parihar et al. Blowfish algorithm: a detailed study
EP1001398B1 (en) Ciphering apparatus
Carter et al. Key schedule classification of the AES candidates
KR20040083794A (ko) 어플리케이션 데이터의 암호화 및 복호화 방법
JP2002510058A (ja) 2進データ・ブロックの暗号変換のための方法
Islam et al. Data encryption standard
JP2001016197A (ja) 自己同期型ストリーム暗号システム及びこれを用いたmac生成方法
Keliher et al. Modeling linear characteristics of substitution-permutation networks
ايناس طارق et al. Image Encryption and decryption using CAST-128 with proposed adaptive key
Goswami Study and analysis of symmetric key-cryptograph DES, data encryption standard
Ajlouni et al. A New Approach in Key Generation and Expansion in Rijndael Algorithm.

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080620

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees