JPH09251267A - 暗号化装置及び暗号化方法 - Google Patents

暗号化装置及び暗号化方法

Info

Publication number
JPH09251267A
JPH09251267A JP8059789A JP5978996A JPH09251267A JP H09251267 A JPH09251267 A JP H09251267A JP 8059789 A JP8059789 A JP 8059789A JP 5978996 A JP5978996 A JP 5978996A JP H09251267 A JPH09251267 A JP H09251267A
Authority
JP
Japan
Prior art keywords
encryption
internal state
conversion
unit
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8059789A
Other languages
English (en)
Inventor
Hideo Shimizu
秀夫 清水
Shinichi Kawamura
信一 川村
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP8059789A priority Critical patent/JPH09251267A/ja
Publication of JPH09251267A publication Critical patent/JPH09251267A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】処理速度を考慮して少ない段数の変換部で装置
を構成した場合であっても暗号文の安全性をより増大さ
せることができる暗号化装置を提供すること。 【解決手段】内部状態を記憶するための内部状態記憶手
段2と、この内部状態記憶手段2に記憶された内部状態
を更新するための内部状態更新関数3と、暗号化すべき
データと、暗号化鍵と、内部状態記憶手段2に記憶され
た内部状態とを受けて暗号化変換を行なうF関数1とを
具備するラウンド関数8を複数段設けた暗号化装置であ
って、F関数1により暗号化変換を行なうたびに、内部
状態記憶手段2に記憶された内部状態を内部状態更新関
数3によって更新する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は暗号化装置及び暗号
化方法に関し、特に、Feistel 型ブロック暗号において
暗号文の安全性を強化した暗号化装置及び暗号化方法に
関する。
【0002】
【従来の技術】比較的安全性に劣った暗号をラウンド関
数とみなし、これを複数段積み重ねることによって安全
性を強化する暗号化方法が従来より知られている。この
ような暗号は積暗号と呼ばれているが、特に、Feistel
型ブロック暗号は暗号化回路と復号化回路とを共有でき
ることから、装置規模を小さくできる利点がある。「現
代暗号理論」、電子情報通信学会、池野信一、小山謙二
著、はこのような暗号化装置を開示している。
【0003】また、特開昭51−108701号公報や
特開昭51−108702号公報はFeistel 型ブロック
暗号の代表的な暗号として良く知られているDES(Dat
a Encryption Standard)型暗号の基本的な考え方を開示
している。
【0004】さらに、特開平6−266284号公報
は、暗号化変換を制御しているビット列としての中間鍵
を、暗号化が行われる都度更新することによって、長い
平文の列を暗号化するときに同じ鍵で暗号化した多量の
暗号文を解読者に与えないようにする方法を開示してい
る。
【0005】一方、上記したFeistel 型暗号を解読する
ための有力な方法として、変換部の入出力関係に着目し
て暗号文の解析を行なう差分攻撃と呼ばれる攻撃法が知
られている。このような差分攻撃から暗号文を守るため
には、変換部の段数を増加させればよい。
【0006】
【発明が解決しようとする課題】しかしながら、上記し
た従来技術はいずれも、差分攻撃から暗号文を守るため
に変換部の段数を増やすと、処理速度が低下してしまう
欠点があった。逆に、処理速度を重視して変換部の段数
を少なくすると差分攻撃によって暗号文が解読されてし
まうという問題があった。
【0007】本発明はこのような課題に着目してなされ
たものであり、その目的とするところは、処理速度を考
慮して少ない段数の変換部で装置を構成した場合であっ
ても暗号文の安全性をより増大させることができる暗号
化装置及び暗号化方法を提供することにある。
【0008】
【課題を解決するための手段】上記の目的を達成するた
めに、第1の発明に係る暗号化装置は、内部状態を記憶
するための記憶手段と、この記憶手段に記憶された内部
状態を更新するための内部状態更新手段と、暗号化すべ
きデータと、暗号化鍵と、前記記憶手段に記憶された内
部状態とを受けて暗号化変換を行なう暗号化変換手段と
を具備する変換部を複数段設けた暗号化装置であって、
前記暗号化変換手段により暗号化変換を行なうたびに、
前記記憶手段に記憶された内部状態を前記内部状態更新
手段によって更新する。
【0009】また、第2の発明に係る暗号化装置は、暗
号化すべきデータと、暗号化鍵とを受けて暗号化変換を
行なう暗号化変換手段と、内部状態を記憶する記憶手段
と、この記憶手段に記憶された内部状態を更新するため
の内部状態更新手段とを具備する変換部を複数段設けた
暗号化装置であって、前記暗号化変換手段により暗号化
変換を行なうたびに、前記記憶手段に記憶された内部状
態を前記内部状態更新手段によって更新しつつ、前記記
憶手段に記憶された内部状態に応じて前記暗号化変換手
段の出力を制御する。
【0010】また、第3の発明に係る暗号化方法は、内
部状態を記憶手段に記憶する記憶工程と、記憶された内
部状態を内部状態更新手段によって更新する内部状態更
新工程と、暗号化すべきデータと、暗号化鍵と、記憶さ
れた内部状態とを受けて暗号化変換手段によって暗号化
変換を行なう暗号化変換工程とを具備する変換工程を複
数回行なう暗号化方法であって、前記暗号化変換工程に
おいて暗号化変換を行なうたびに、前記記憶手段に記憶
された内部状態を前記内部状態更新手段によって更新す
る工程を具備する。
【0011】また、第4の発明に係る暗号化方法は、暗
号化すべきデータと、暗号化鍵とを受けて暗号化変換手
段によって暗号化変換を行なう暗号化変換工程と、記憶
手段に内部状態を記憶する記憶工程と、記憶された内部
状態を内部状態更新手段によって更新する内部状態更新
工程とを具備する変換工程を複数回行なう暗号化方法で
あって、前記暗号化変換工程において暗号化変換を行な
うたびに、前記記憶手段に記憶された内部状態を前記内
部状態更新手段によって更新しつつ、前記記憶手段に記
憶された内部状態に応じて前記暗号化変換手段の出力を
制御する工程を具備する。
【0012】
【発明の実施の形態】以下に、図面を参照して本発明の
実施形態を詳細に説明する。
【0013】図1は本発明が適用される変換部としての
ラウンド関数8の構成を示す図であり、暗号化すべき平
文4と、暗号化鍵5と、内部状態6とを受けて所定の暗
号化変換を行って出力7を出力する暗号化変換手段とし
てのF関数1と、内部状態6を記憶するための内部状態
記憶手段2と、F関数1での暗号化変換が行われるたび
に、すなわち、暗号化変換と同時に内部状態6を更新す
る内部状態更新関数3とを具備している。図1は第1段
のラウンド関数を示しているが、第2段以降のラウンド
関数では平文4の代わりに前の段のラウンド関数の出力
が入力される。
【0014】このような構成によれば、同じ平文、暗号
化鍵が入力された場合でも、更新可能な内部状態によっ
て出力が変更されるので、ラウンド関数の入出力関係の
解析に基づく差分攻撃に対して有効な防御法となりラウ
ンド関数の安全性を増大させることができる。また、同
じ程度の安全性を考慮した場合は少ない段数のラウンド
関数で装置を構成することができる。また、内部状態の
更新はラウンド関数内のF関数の暗号化変換処理と同時
に行なうので、ラウンド関数全体の処理効率はほとんど
変わらず、ラウンド関数の段数を減らせる分、処理速度
を増大させることができる利点がある。
【0015】図2は上記したラウンド関数をn段並置し
た積暗号の構成例を示す図である。同図において、暗号
化鍵16は鍵処理部17に入力されてn個の拡大鍵1〜
nに変換されてn段のラウンド関数12〜15にそれぞ
れ入力される。このような構成によれば、平文11はn
段のラウンド関数による暗号化変換処理を経て、暗号文
18として出力される。ここで、平文11と暗号文18
は固定長であってもよいし、可変長であってもよい。ま
た、平文11の長さと暗号文18の長さは一致していな
くともよい。
【0016】図3は内部状態が内部状態更新関数3によ
って逐次更新されていく経過を示す図である。すなわ
ち、内部状態1(22)は最初、初期状態21に等しい
内部状態であるが、内部状態更新関数23によって更新
されて内部状態2(22)になる。次にこの内部状態2
(22)は内部状態更新関数23によって更新される。
このようにして、内部状態が逐次更新されていく。ここ
で、内部更新関数23が一方向性の関数である場合に
は、仮に内部状態kが第3者に知られることによりkよ
り大きい番号をもつ内部状態が解読されたとしても、過
去に遡ってkよりも小さい番号の内部状態が知られてし
まうことがなく、より安全である。
【0017】図4は図1に示すラウンド関数8が、内部
状態初期化信号31を入力するための入力部を有する場
合の動作を説明するための図である。内部状態記憶手段
33に記憶された内部状態は、F関数35に送信される
とともに、内部状態更新関数34にも送信されて新たな
内部状態に更新される。このとき、外部から供給された
内部状態初期化信号31が内部状態初期化制御部32に
入力されると、内部状態初期化制御部32は内部状態記
憶手段33に記憶されている内部状態を初期化する。
【0018】このように、本実施形態では、内部状態の
初期化を外部から制御することができる。ここで、内部
状態初期化制御部32は安全性を考慮した場合、初期化
の頻度を監視する機能を有していることが望ましい。例
えば、1回の暗号化処理中には、1回しか初期化行えな
いようにするための監視機構を持つようにすることがで
きる。
【0019】図5は暗号化装置をブロック暗号モードで
使用するときの動作を説明するための図である。平文4
1は複数の平文ブロック42、43、44からなるもの
とすると、平文41は各ブロックごとに暗号化関数4
6、50、52によって暗号化されて、暗号ブロック5
4、55、56に変換される。これらを並置したものが
暗号文53となる。
【0020】また、各暗号化関数46、50、52の内
部状態はブロック毎に初期化信号45、49、51によ
って初期化することができる。これによって、例えば、
平文ブロック43と平文ブロック44とが同じ内容A、
Aを持つものとすると、これらを暗号化した場合、同じ
内容B、Bをもつ暗号ブロック55、56に変換され
る。
【0021】このように、本実施形態は、初期化機能を
有する暗号化装置をブロック暗号モードの下で動作させ
ることができる。
【0022】図6は暗号化装置をストリーム暗号モード
で使用するときの動作を説明するための図である。平文
61は複数の平文ブロック62、63、64からなるも
のとすると、平文61は各ブロックごとに暗号化関数7
0、72、73によって暗号化されて、暗号ブロック7
6、77、78に変換される。これらを並置したものが
暗号文75となる。この実施形態では、暗号化関数70
の内部状態は暗号化に先だって、初期化信号65によっ
て1回だけ初期化される。したがって、例えば、平文ブ
ロック63と平文ブロック64とが同じ内容A、Aを持
つ場合であっても、これらを暗号化した場合、暗号化し
た結果は、異なる内容B、B′をもつ暗号ブロック7
7、78に変換される。すなわち、
【数1】 となる。
【0023】このように、本実施形態は、初期化機能を
有する暗号化装置をストリーム暗号モードの下で動作さ
せることができる。
【0024】図7は本発明を秘密通信に適用した場合の
作用を説明するための図である。送信側87では、例え
ば平文ブロック82と平文ブロック83とからなる平文
81をブロックごとに暗号化関数84、85によって暗
号化して、暗号ブロック87、88を得る。この暗号ブ
ロック87、88は通信路90を介して受信側97に送
信される。受信側97では、暗号文91を暗号ブロック
92と暗号ブロック93とに分解して、各ブロックごと
に復号化関数94、95によって復号して平文ブロック
97、98を得る。この平文ブロック97、98を並置
することによって元の平文96が復元される。
【0025】このとき、送信側87と受信側97にそれ
ぞれ、初期化信号生成部89、99を設け、あらかじめ
打ち合わせておいたタイミングで、暗号化関数84、8
5の内部状態と、復号化関数94、95の内部状態とを
それぞれ、初期化信号200、201、202、203
によって初期化するようにする。初期化信号生成部8
9、99は初期化タイミングを内蔵しているものとす
る。ここで、初期化信号生成部89、99は、初期化タ
イミングの通信量を低減するために、例えば乱数発生器
によって構成して、乱数の種だけを交換するようにして
もよい。
【0026】上記した実施形態によれば、受信側97が
送信側87の平文と同じ平文を復元するためには、復号
用の鍵の他に初期化のタイミングをも知っていなければ
ならない。したがって、不正な盗聴者が暗号を解読する
ためには、復号用の鍵に加えて、初期化タイミングをも
知らなければならないので、より安全な秘密通信を行な
うことができる。
【0027】図8は本発明を秘密通信に適用した場合の
他の実施形態を示す図である。
【0028】この実施形態においては、送信側87では
初期化したい暗号化関数に対応する平文ブロック82、
83に、初期化を指示するための指示データとして特殊
記号204、206を付加しておく。平文81を構成す
る平文ブロック82、83はブロックごとに暗号化関数
84、85によって暗号ブロック87、88に変換す
る。暗号ブロック87、88を並置したものが暗号文8
6となる。このとき、平文ブロック82内の特殊記号2
04、あるいは平文ブロック83内の特殊記号206を
検出したときは、それぞれ初期化信号205、207に
よって暗号化関数84、85の内部状態を初期化するよ
うにする。暗号文86は通信路90を介して受信側97
に送信される。
【0029】受信側97は、受信した暗号文91を暗号
ブロック92と暗号ブロック93に分解し、復号化関数
94、95によってそれぞれ、平文ブロック97、98
に変換する。このとき、平文ブロック97、98内の初
期化を指示するための特殊記号208、210を検出し
たときは、それぞれ初期化信号209、211によって
復号化関数94、95の内部状態を初期化する。なお、
必要に応じて、平文ブロック97、98内の特殊記号2
08、210を除去し、その後の平文ブロック97、9
8を並置したものを平文96としてもよい。
【0030】このように、本実施形態では、内部状態を
初期化するタイミングを平文に含めるようにしたので、
送信者と受信者との間で、あらかじめ初期化のタイミン
グを打ち合わせておく必要がなくなる。
【0031】図9は図1に示した内部状態更新関数3の
具体的構成を示す図であり、記憶素子100と加算器1
02とからなる線形レジスタから構成されている。記憶
素子100は1ビットの情報を記憶できる素子であり、
例えば、Dフリップフロップである。
【0032】各タップ101を接続するかどうかで様々
な特性多項式を表現することができる。例えば、タップ
101を接続するときを1、しないときを0とすると、 Cr r +Cr-1 r-1 +、…、+C1 x+C0 で表される特性多項式を表現することができる。特に、
表現多項式が原始多項式である場合、線形シフトレジス
タは最大系列長を出力することが知られている(今井秀
樹著、符号理論、電子情報通信学会)。原始多項式の例
としては、 x31+x3 +1 などが知られている。
【0033】線形シフトレジスタはクロック信号が入力
されるたびに、記憶素子100の記憶内容が左隣の記憶
素子100の内容で更新され、タップ101の接続状態
に応じて加算器102で加算された結果が一番左の記憶
素子100に入力されるとともに出力103として出力
される。
【0034】以下に、DES暗号を例にとって既存のブ
ロック暗号の安全性を強化する他の方法について述べ
る。
【0035】まず、DES暗号の概要を説明する。図1
0はDES暗号の全体構成を示す図である。まず、暗号
化したい64ビットの平文105は初期転置106によ
りビットの順番が並び替えられた後、上位32ビット
(入力L113)と下位32ビット(入力R114)に
分割された後、同じ構成をもつ16段のラウンド関数
(1〜16)107によって16回変換された後、最終
転置108が施されて、求める暗号文109となる。
【0036】各ラウンド関数107はF関数110と、
排他的論理和111と、左右の変換112とによって構
成され、i段目のラウンド関数の入力Li とRi とは、
i段目の鍵をKi とすると、 Ri+1 = Li XOR F(Ri 、Ki ) Li+1 = Ri のように、i+1段目のラウンド関数の入力に変換され
る。
【0037】図11にDES暗号におけるF関数の詳細
な構成を示す。F関数は2つの入力、すなわち、32ビ
ットの入力R115と、48ビットの鍵Ki 116をも
ち、32ビットの1つの出力117をもつ。
【0038】以下、データの流れに沿って動作を説明す
る。入力された32ビットの入力R115は拡大転置E
(118)、すなわちE変換によって48ビットのデー
タに拡大される。図12はこのような拡大転置Eに関す
る転置表であり、左上より、E変換された各出力ビット
が入力の何番目のビットになるかを示している。例え
ば、一番最初は32なので、E変換の出力の1ビット目
は入力の32ビット目と同一になる。E変換の出力の2
ビット目は、入力の1ビット目と同一であり、以下同様
である。
【0039】次に、E変換の出力119と鍵Ki 116
との排他的論理和が排他的論理和120でとられ、その
結果は6ビットずつの8つのグループに分割されて、換
え字部としての8つのS箱(S1 〜S8 )121に入力
される。S箱121は6ビットの入力と4ビットの出力
とをもつ置換(換え字)表であり、図14はこのような
置換表の一例を示している。
【0040】S箱121の4ビットずつの8つの出力1
22は束ねられて32ビットの1つの出力123とな
り、P変換(P転置)124に入力される。P変換12
4ではビットの順番の並び替えが行われ、32ビットの
F関数の出力117となる。
【0041】図13は上記したP転置124の内容を示
す表である。この表も前記した図12の拡大転置Eの表
と同様に、左上から出力のビットがどの入力ビットと同
一かを示している。例えば、P変換124の出力の1ビ
ット目は入力の16ビット目と同一であり、2ビット目
は7ビット目と同一であり、以下同様である。
【0042】図15は上記した実施形態の変形例とし
て、DES暗号の安全性を強化するための構成を示す図
である。本変形例は、図10に示すような従来のF関数
110を、図15に示す構成によって置き換えることに
よって安全性を強化するものである。
【0043】すなわち、入力R125と鍵Ki 127は
従来のDES暗号のF関数126に入力され、32ビッ
トの出力128に変換される。この出力128は16ビ
ットずつ入力L129と入力R130に2分割される。
そして、入力L129はセレクタ133への第1の入力
134として入力されるとともに、セレクタ132への
第1の入力137として入力される。また、入力R13
0はセレクタ133への第2の入力135として入力さ
れるとともに、セレクタ132への第2の入力138と
して入力される。
【0044】セレクタ131は制御入力133によって
2つの入力134、135のうちいずれかを出力139
として出力する。また、セレクタ132も同様に、制御
入力136によって2つの入力137、138のうちい
ずれかを出力140として出力する。ここで、2つの制
御入力133と136とは互いに負論理になっているの
で必ず異なる出力となる。すなわち、1ビットの制御線
141によって入力L129と入力R130を交換する
か否かが決定されてF関数126の出力となる。
【0045】制御線141は内部状態142と接続され
ているので、入力L129と入力R130を交換するか
否かは内部状態142に依存することになる。内部状態
142は内部状態更新関数143によって新たな状態に
更新される。
【0046】上記した構成法はDES暗号に限定され
ず、同様の構成を有する他のブロック暗号に対しても適
用可能である。
【0047】なお、上記した実施形態ではF関数の後段
にセレクタを配置したが、F関数の前段にセレクタを配
置するようにしてもよい。
【0048】図16はDES暗号の安全性を強化するた
めの他の変形例を示す図であり、前記した図11に示す
拡大転置E118を、内部状態146に依存した拡大転
置E′144に置き換えることによって、安全性を強化
するものである。図16において、入力R145は内部
状態146に依存した拡大転置E′144に入力され、
出力147として出力される。
【0049】図17はこのような拡大転置E′の転置表
を示す図である。図17において、Xi は内部状態14
6からの入力であり、Ri は入力R145からの入力を
示している。左上から順にE′変換の出力がどの入力の
どのビットと同一であるかを示しており、例えば、出力
の1ビット目は内部状態146からの入力の1ビット目
であり、出力の2ビット目は入力Rの1ビット目であ
る。なお、拡大転置E′の転置として図17に示すもの
以外のものを用いてもよい。
【0050】図18はDES暗号の安全性を強化するた
めの他の変形例を示す図である。ここでは、内部状態に
依存してS箱への入力を動的に入れ替えることで安全性
の強化を図っている。
【0051】すなわち、入力R148に対して拡大転置
E149を施した結果と、鍵Ki 150との排他的論理
和の出力151は、内部状態152の値によってシフト
量が変化する可変ローテート装置153によってローテ
ートされた後、すなわち、ビット位置がずらされた後
で、S箱(S1 〜S8 )155に入力される。
【0052】上記した可変ローテートとしてはバレルシ
フタを用いた高速な実装法が知られている。ローテート
ビット数が少なすぎたり、多すぎたりすると暗号化の効
果が低くなってしまうので、ローテートビット数をある
決められた範囲に制限すればよい。例えば、8ビットか
ら40ビットの範囲に設定すると範囲が32ビットとな
る。この場合、内部状態152からの出力は5ビットで
よい。
【0053】図19はDES暗号の安全性を強化するた
めの他の変形例を示す図である。図19において、排他
的論理和159において入力R156と内部状態157
の出力との排他的論理和がとられた後、拡大転置E15
8に入力される。排他的倫理和159は別の演算、例え
ば、繰り上がりを無視した32ビット加算や減算で置き
換えてもよい。
【0054】図20はDES暗号の安全性を強化するた
めの他の変形例を示す図である。従来のDES暗号のF
関数では、暗号化鍵は排他的論理和によって加算されて
いたが、演算に自由度を持たせることで安全性をより高
めることができる。
【0055】すなわち、図20において、入力R160
は拡大転置E161において拡大転置が施された後、鍵
Ki 162との間で、内部状態163の出力164で指
定された演算がALU165において施される。ALU
165の出力は6ビットからなる8つのグループに分割
されてS箱(S1 〜S8 )166に入力される。これ以
降は従来のDES暗号と同様の動作を行なう。
【0056】図21はDES暗号の安全性を強化するた
めの他の変形例を示す図である。この変形例ではS箱の
列を入れ替えることによって安全性を強化する。DES
暗号のS箱の各行には、0から15までの番号が1つず
つ含まれているので列の交換を行ってもその性質は変化
しない。
【0057】内部状態167の8ビットの出力は上位4
ビット168と、下位4ビット169とに分離され、各
々S箱170のどの列を交換するかを指定するために用
いる。8つの内部状態を用意してすべてのS箱の内容を
変更するようにしてもよい。また、装置規模を節約する
ために、変更を行なうS箱を8個より少なくすることも
可能である。
【0058】図22は、本発明の暗号化装置によって暗
号化された暗号文を復号する復号装置におけるラウンド
関数177の構成を示す図である。このラウンド関数1
77は、F関数178と、順序反転部191と、内部状
態一時記憶部176と、内部状態記憶手段174と、内
部状態更新関数175とを具備している。
【0059】ブロック暗号をOFB(Out Feedback Bas
ic)モードで使用する場合は不必要であるが、使用する
モードによっては、復号処理で内部状態を逆順に更新し
なければならない。Feistel 型のブロック暗号装置での
復号処理は中間鍵を与える順序を逆転した暗号化処理と
同一の手順により行われる。これは本発明の各ラウンド
関数における内部状態の与え方も順序を逆にしなければ
ならないことを意味している。
【0060】ラウンド関数177において復号処理を行
なうに先だって、内部状態記憶手段174に記憶された
内部状態は内部状態更新関数175によって更新され、
内部状態一時記憶部176に格納される。
【0061】そして、復号処理時は、中間暗号文171
と、復号鍵172と、内部状態一時記憶部176に記憶
された内部状態を順序反転部191で反転した信号17
3とがF関数178に入力されて所定の暗号化変換が行
われて、ラウンド関数177の出力としての中間平文1
79が得られる。
【0062】n段のFeistel 型暗号の各段の復号鍵と暗
号化鍵の対応を図23に示す。復号時には、暗号化のと
きの最終段であるn段目に用いた暗号化鍵と同一の暗号
化鍵を復号の第1ラウンド目に用い、復号の2ラウンド
目では、n−1段目の暗号鍵を用いる。以下同様であ
る。
【0063】本発明におけるFeistel 型暗号の各段にお
ける暗号化用と復号用の内部状態の対応を図24に示
す。復号の1ラウンド目の内部状態は、暗号化の最終段
であるn段目の内部状態と同じでなければならず、2ラ
ウンド目では、n−1ラウンド目の内部状態と同じでな
ければならない。以下、同様である。内部状態更新関数
が一方向性を有する場合は、逆順に内部状態を発生する
ことはできないことと、nラウンド先の内部状態を知る
ことはできないので、初期状態からはじめて、nラウン
ド分の内部状態をあらかじめ発生して蓄えておき、逆順
に出力する機構が必要となり、それが図22の内部状態
一時記憶部176と順序反転部191である。
【0064】図25は本発明における暗号化装置と復号
装置とを融合した構成した図である。暗号化装置と復号
装置は内部状態一時記憶を除いて同じ構成であるので、
暗号化処理中か復号処理中であるかを示す信号E/D1
80に基づいてスイッチ181を切り替え、内部状態記
憶手段182の出力、もしくは、内部状態一時記憶部1
83の出力をF関数184に入力する構成を用いると、
装置規模を小さくすることができる。
【0065】図26は遅延の生じない復号処理のための
パイプライン復号処理のタイムチャートである。同図は
右に進むほど時間が経過していることを示すものとす
る。上段185は内部状態の更新の様子を示し、斜線の
部分187は内部状態の更新処理を表している。下段1
86は復号処理の様子を示し、網掛けの部分188は復
号処理を表している。さらに、矢印189は内部状態の
更新と復号処理との対応付けるものであり、矢印189
の先の復号処理190には内部状態187が用いられる
ことを表している。
【0066】図26において、時間的な処理の流れを考
察すると、復号処理188と同時に次の復号処理190
に必要となる内部状態の更新処理187が行われてお
り、これによって、内部状態の更新処理に起因する処理
の遅延を回避することが可能となる。
【0067】
【発明の効果】本発明によれば、処理速度を考慮して少
ない段数の変換部で装置を構成した場合であっても暗号
文の安全性をより増大させることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るラウンド関数の構成
を示す図である。
【図2】ラウンド関数をn段並置した積暗号の構成例を
示す図である。
【図3】内部状態が内部状態更新関数によって逐次更新
されていく経過を示す図である。
【図4】図1に示すラウンド関数が、内部状態初期化信
号を有する場合の動作を説明するための図である。
【図5】暗号化装置をブロック暗号モードで使用すると
きの動作を説明するための図である。
【図6】暗号化装置をストリーム暗号モードで使用する
ときの動作を説明するための図である。
【図7】本発明を秘密通信に適用した場合の作用を説明
するための図である。
【図8】本発明を秘密通信に適用した場合の他の実施形
態を示す図である。
【図9】図1に示した内部状態更新関数の具体的構成を
示す図である。
【図10】DES暗号の全体構成を示す図である。
【図11】DES暗号におけるF関数の詳細な構成を示
す図である。
【図12】拡大転置Eに関する転置表である。
【図13】P転置の内容を示す表である。
【図14】S箱の内容を示す図である。
【図15】本実施形態の変形例として、DES暗号の安
全性を強化するための構成を示す図である。
【図16】DES暗号の安全性を強化するための他の変
形例を示す図である。
【図17】図16に示す変形例に関する拡大転置の表で
ある。
【図18】DES暗号の安全性を強化するための他の変
形例を示す図である。
【図19】DES暗号の安全性を強化するための他の変
形例を示す図である。
【図20】DES暗号の安全性を強化するための他の変
形例を示す図である。
【図21】DES暗号の安全性を強化するための他の変
形例を示す図である。
【図22】本発明の暗号化装置により暗号化された暗号
文を復号する復号装置におけるラウンド関数の構成を示
す図である。
【図23】Feistel 型暗号の各段における復号鍵と暗号
化鍵との対応を示す図である。
【図24】Feistel 型暗号の各段における復号用と暗号
化用の内部状態の対応を示す図である。
【図25】本発明における暗号化装置と復号装置とを融
合した構成を示す図である。
【図26】遅延の生じない復号処理のためのパイプライ
ン復号処理のタイムチャートである。
【符号の説明】
1…F関数、2…内部状態記憶手段、3…内部状態更新
関数、4…平文、5…暗号化鍵、6…内部状態、7…出
力、8…ラウンド関数。

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 内部状態を記憶するための記憶手段と、 この記憶手段に記憶された内部状態を更新するための内
    部状態更新手段と、 暗号化すべきデータと、暗号化鍵と、前記記憶手段に記
    憶された内部状態とを受けて暗号化変換を行なう暗号化
    変換手段と、 を具備する変換部を複数段設けた暗号化装置であって、 前記暗号化変換手段により暗号化変換を行なうたびに、
    前記記憶手段に記憶された内部状態を前記内部状態更新
    手段によって更新するようにしたことを特徴とする暗号
    化装置。
  2. 【請求項2】 暗号化すべきデータと、暗号化鍵とを受
    けて暗号化変換を行なう暗号化変換手段と、 内部状態を記憶する記憶手段と、 この記憶手段に記憶された内部状態を更新するための内
    部状態更新手段と、 を具備する変換部を複数段設けた暗号化装置であって、 前記暗号化変換手段により暗号化変換を行なうたびに、
    前記記憶手段に記憶された内部状態を前記内部状態更新
    手段によって更新しつつ、前記記憶手段に記憶された内
    部状態に応じて前記暗号化変換手段の出力を制御するよ
    うにしたことを特徴とする暗号化装置。
  3. 【請求項3】 前記内部状態更新手段が一方向性の関数
    であることを特徴とする請求項1または2記載の暗号化
    装置。
  4. 【請求項4】 前記内部状態を初期化することを指示す
    るための入力部をさらに有することを特徴とする請求項
    1乃至3のいずれかに記載の暗号化装置。
  5. 【請求項5】 前記暗号化変換手段により暗号化変換を
    行なうたびに、前記内部状態を初期化することを特徴と
    する請求項4記載の暗号化装置。
  6. 【請求項6】 暗号化装置から得られた暗号文を送信者
    と受信者間で通信するに先だって、前記内部状態を一度
    だけ初期化するようにしたことを特徴とする請求項4記
    載の暗号化装置。
  7. 【請求項7】 送信者と受信者間で暗号化装置から得ら
    れた暗号文を通信するにあたって、両者間であらかじめ
    定めておいたタイミングで前記内部状態を初期化するよ
    うにしたことを特徴とする請求項4記載の暗号化装置。
  8. 【請求項8】 前記暗号化すべきデータが、前記内部状
    態を初期化するタイミングを指示するデータを含んでい
    ることを特徴とする請求項1乃至3のいずれかに記載の
    暗号化装置。
  9. 【請求項9】 前記暗号化変換手段が暗号化すべきデー
    タを拡大転置する拡大転置部と、この拡大転置部の出力
    と暗号化鍵との間で所定の演算を行なう演算部と、この
    演算部からの出力を複数のグループに分離して、各グル
    ープごとに所定の置換を施す換え字部とを具備すること
    を特徴とする請求項1または2記載の暗号化装置。
  10. 【請求項10】 前記拡大転置部に更新可能な内部状態
    を入力して、その出力を制御するようにしたことを特徴
    とする請求項9記載の暗号化装置。
  11. 【請求項11】 前記演算部からの出力のビット位置を
    ずらすためのビット位置可変部をさらに具備し、このビ
    ット位置可変部に更新可能な内部状態を入力して、その
    出力を制御するようにしたことを特徴とする請求項9記
    載の暗号化装置。
  12. 【請求項12】 前記拡大転置部において暗号化すべき
    データを拡大転置するに先だって、更新可能な内部状態
    との排他的論理和をとるようにしたことを特徴とする請
    求項9記載の暗号化装置。
  13. 【請求項13】 前記演算部に更新可能な内部状態を入
    力してその出力を制御するようにしたことを特徴とする
    請求項9記載の暗号化装置。
  14. 【請求項14】 前記換え字部に更新可能な内部状態を
    入力してその出力を制御するようにしたことを特徴とす
    る請求項9記載の暗号化装置。
  15. 【請求項15】 内部状態を記憶手段に記憶する記憶工
    程と、 記憶された内部状態を内部状態更新手段によって更新す
    る内部状態更新工程と、 暗号化すべきデータと、暗号化鍵と、記憶された内部状
    態とを受けて暗号化変換手段によって暗号化変換を行な
    う暗号化変換工程と、 を具備する変換工程を複数回行なう暗号化方法であっ
    て、 前記暗号化変換工程において暗号化変換を行なうたび
    に、前記記憶手段に記憶された内部状態を前記内部状態
    更新手段によって更新する工程を具備することを特徴と
    する暗号化装置。
  16. 【請求項16】 暗号化すべきデータと、暗号化鍵とを
    受けて暗号化変換手段によって暗号化変換を行なう暗号
    化変換工程と、 記憶手段に内部状態を記憶する記憶工程と、 記憶された内部状態を内部状態更新手段によって更新す
    る内部状態更新工程と、 を具備する変換工程を複数回行なう暗号化方法であっ
    て、 前記暗号化変換工程において暗号化変換を行なうたび
    に、前記記憶手段に記憶された内部状態を前記内部状態
    更新手段によって更新しつつ、前記記憶手段に記憶され
    た内部状態に応じて前記暗号化変換手段の出力を制御す
    る工程を具備することを特徴とする暗号化方法。
JP8059789A 1996-03-15 1996-03-15 暗号化装置及び暗号化方法 Pending JPH09251267A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8059789A JPH09251267A (ja) 1996-03-15 1996-03-15 暗号化装置及び暗号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8059789A JPH09251267A (ja) 1996-03-15 1996-03-15 暗号化装置及び暗号化方法

Publications (1)

Publication Number Publication Date
JPH09251267A true JPH09251267A (ja) 1997-09-22

Family

ID=13123410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8059789A Pending JPH09251267A (ja) 1996-03-15 1996-03-15 暗号化装置及び暗号化方法

Country Status (1)

Country Link
JP (1) JPH09251267A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209317A (ja) * 2000-01-27 2001-08-03 Micro Technology Kk 暗号表及び復元表の作成方法
DE10027974A1 (de) * 2000-06-06 2002-01-24 Toralf Heidel Verfahren zur Verschlüsselung von Daten
WO2003050784A1 (en) * 2001-12-12 2003-06-19 Electronics And Telecommunications Research Institute Encryption apparatus applying kasumi encryption algorithm
JPWO2008072497A1 (ja) * 2006-12-11 2010-03-25 三菱電機株式会社 情報再生装置及び方法
JP2019003144A (ja) * 2017-06-19 2019-01-10 ローレルバンクマシン株式会社 暗号通信システム、暗号化装置、暗号化方法及びプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209317A (ja) * 2000-01-27 2001-08-03 Micro Technology Kk 暗号表及び復元表の作成方法
DE10027974A1 (de) * 2000-06-06 2002-01-24 Toralf Heidel Verfahren zur Verschlüsselung von Daten
WO2003050784A1 (en) * 2001-12-12 2003-06-19 Electronics And Telecommunications Research Institute Encryption apparatus applying kasumi encryption algorithm
JPWO2008072497A1 (ja) * 2006-12-11 2010-03-25 三菱電機株式会社 情報再生装置及び方法
KR101011605B1 (ko) * 2006-12-11 2011-01-27 미쓰비시덴키 가부시키가이샤 정보 재생 장치 및 정보 재생 방법
US9281004B2 (en) 2006-12-11 2016-03-08 Mitsubishi Electric Corporation Content assessment apparatus, content assessment method, information reproducing apparatus, and information reproducing method
JP2019003144A (ja) * 2017-06-19 2019-01-10 ローレルバンクマシン株式会社 暗号通信システム、暗号化装置、暗号化方法及びプログラム

Similar Documents

Publication Publication Date Title
AU2003213318B2 (en) Block cipher apparatus using auxiliary transformation
JP3029381B2 (ja) データ変換装置
EP0839418B1 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
JP4828068B2 (ja) コンピュータで効率的な線形フィードバック・シフト・レジスタ
US4731843A (en) Method and device of increasing the execution speed of cipher feedback mode of the DES by an arbitrary multiplier
US5740249A (en) Encryption apparatus and method capable of controlling encryption process in accordance with an internal state
JPH0863097A (ja) データを暗号化するための対称暗号化方法およびシステム
JP2000066585A (ja) 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP4025722B2 (ja) データ暗号化のための方法および装置
KR20180081559A (ko) 암호화 동작을 위한 키 시퀀스 생성
JP2000066587A (ja) データ処理装置及び通信システム並びに記録媒体
JPH10240500A (ja) 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム
JP3769804B2 (ja) 解読化方法および電子機器
Blaze et al. The MacGuffin block cipher algorithm
JPH09251267A (ja) 暗号化装置及び暗号化方法
JPH0697930A (ja) ブロック暗号処理装置
JP4515716B2 (ja) 拡大鍵生成装置、暗号化装置および暗号化システム
KR100190157B1 (ko) 암호화 장치 및 암호화 방법
JP2000075785A (ja) 高速暗号処理回路および処理方法
JPH09269727A (ja) 暗号化方法および暗号化装置
Islam et al. Data encryption standard
JPH04335730A (ja) 暗号送信装置、暗号受信装置、暗号通信システム
Labbi et al. Symmetric encryption algorithm for RFID systems using a dynamic generation of key
JPH10153954A (ja) 暗号装置
JPH1152850A (ja) 暗号変換方法および装置