JP2002287621A - 暗号処理装置及びその方法及びそのプログラム、通信システム - Google Patents
暗号処理装置及びその方法及びそのプログラム、通信システムInfo
- Publication number
- JP2002287621A JP2002287621A JP2001084543A JP2001084543A JP2002287621A JP 2002287621 A JP2002287621 A JP 2002287621A JP 2001084543 A JP2001084543 A JP 2001084543A JP 2001084543 A JP2001084543 A JP 2001084543A JP 2002287621 A JP2002287621 A JP 2002287621A
- Authority
- JP
- Japan
- Prior art keywords
- random number
- ciphertext
- cryptographic processing
- conversion
- setting
- 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.)
- Withdrawn
Links
Abstract
(57)【要約】
【課題】 暗号装置の構造を公開しながら、処理構成は
送受信者間の秘密にできるようにする。 【解決手段】 レジスタRi-1、Li-1、排他的論理和回
路、及び変換部F(Ri-1)(i=1,・・・,d)からなる同一構成
の暗号処理ブロックによる変換を繰り返すことで平文の
暗号化または暗号文の復号を行なう暗号処理装置におい
て、乱数発生器102により暗号文の送信側と受信側とで
共通に保持する秘密の鍵を初期値として乱数を生成し、
生成された乱数を変換部F(Ri-1)の変換表の内容とし
て設定する。
送受信者間の秘密にできるようにする。 【解決手段】 レジスタRi-1、Li-1、排他的論理和回
路、及び変換部F(Ri-1)(i=1,・・・,d)からなる同一構成
の暗号処理ブロックによる変換を繰り返すことで平文の
暗号化または暗号文の復号を行なう暗号処理装置におい
て、乱数発生器102により暗号文の送信側と受信側とで
共通に保持する秘密の鍵を初期値として乱数を生成し、
生成された乱数を変換部F(Ri-1)の変換表の内容とし
て設定する。
Description
【0001】
【発明の属する技術分野】本発明は暗号化方法及びそれ
を用いた通信システムに関係し、特に暗号通信分野にお
けるデータの秘匿等に関するものである。
を用いた通信システムに関係し、特に暗号通信分野にお
けるデータの秘匿等に関するものである。
【0002】
【従来の技術】従来から、送信側と受信側とで共通の鍵
を秘密に保持する共通鍵暗号方式または秘密鍵暗号方式
と呼ばれる暗号方式がよく知られている。この暗号方式
には、秘密鍵(以下では、単に鍵と称する)の他に暗号
アルゴリズムも秘密にしておく方式と、暗号アルゴリズ
ムは公開にして鍵のみを秘密にしておく方式とがある。
を秘密に保持する共通鍵暗号方式または秘密鍵暗号方式
と呼ばれる暗号方式がよく知られている。この暗号方式
には、秘密鍵(以下では、単に鍵と称する)の他に暗号
アルゴリズムも秘密にしておく方式と、暗号アルゴリズ
ムは公開にして鍵のみを秘密にしておく方式とがある。
【0003】前者は、暗号アルゴリズム自体を秘密にし
ているために、後者に比べて安全性が高い。しかし、前
者は、暗号アルゴリズムすなわち暗号装置を公開できな
いために、軍事や外交などの使用者が限定された場合に
しか用いられない。それに対して、暗号をビジネスに用
いる場合には、誰もが暗号装置を自由に入手できる必要
があり、暗号アルゴリズムを秘密にしておくことを安全
性の根拠にした前者の暗号方式は使えない。
ているために、後者に比べて安全性が高い。しかし、前
者は、暗号アルゴリズムすなわち暗号装置を公開できな
いために、軍事や外交などの使用者が限定された場合に
しか用いられない。それに対して、暗号をビジネスに用
いる場合には、誰もが暗号装置を自由に入手できる必要
があり、暗号アルゴリズムを秘密にしておくことを安全
性の根拠にした前者の暗号方式は使えない。
【0004】そこで、暗号アルゴリズムを公開して誰も
が使えるようにし、鍵のみを秘密にした後者の暗号方式
(以後、アルゴリズム公開型の秘密鍵暗号方式と称す
る)が重要になっている。また、暗号アルゴリズムを公
開することは、その暗号アルゴリズムの考案者も不正が
できないことを暗号の専門家などによって証明されるた
めにも重要である。そのために、アルゴリズム公開型の
秘密鍵暗号方式は多くの研究がなされ、下記の文献
〔1〕の第3章に詳述されているDES(Data Encrypti
on Standard)や文献〔2〕の第2章にあるFEAL(Fa
st data Encryption ALgorithm)といった暗号方式がよ
く用いられている。
が使えるようにし、鍵のみを秘密にした後者の暗号方式
(以後、アルゴリズム公開型の秘密鍵暗号方式と称す
る)が重要になっている。また、暗号アルゴリズムを公
開することは、その暗号アルゴリズムの考案者も不正が
できないことを暗号の専門家などによって証明されるた
めにも重要である。そのために、アルゴリズム公開型の
秘密鍵暗号方式は多くの研究がなされ、下記の文献
〔1〕の第3章に詳述されているDES(Data Encrypti
on Standard)や文献〔2〕の第2章にあるFEAL(Fa
st data Encryption ALgorithm)といった暗号方式がよ
く用いられている。
【0005】図12は従来のDES暗号装置の構成を示
すブロック図である。64bitsの平文データは初期転置部
1201において初期転置処理IPが施され、初期転置部12
01の出力信号を32bitsずつ等分してレジスタL0、R0に
入力し、そのレジスタR0からの出力に対して、変換部12
02において、鍵供給部の鍵レジスタK0から供給される
暗号鍵K0に基づいて、転置と換字とを組合せた後述す
る手順により変換処理F(R0)が施される。
すブロック図である。64bitsの平文データは初期転置部
1201において初期転置処理IPが施され、初期転置部12
01の出力信号を32bitsずつ等分してレジスタL0、R0に
入力し、そのレジスタR0からの出力に対して、変換部12
02において、鍵供給部の鍵レジスタK0から供給される
暗号鍵K0に基づいて、転置と換字とを組合せた後述す
る手順により変換処理F(R0)が施される。
【0006】このように暗号鍵K0に基づく変換処理F
(R0)が施された変換部1202からの出力信号32bitsとレ
ジスタL0の出力信号32bitsとの排他的論理和を排他的
論理和回路1203でとり、その出力信号をレジスタR
1に、レジスタR0の出力信号をレジスタL1にそれぞれ
入力する。次いで、変換部1204において、鍵供給部の鍵
レジスタK1から供給される暗号鍵K1に基づいて、転置
と換字とを組合せた変換処理F(R1)がレジスタR1の出
力に施される。
(R0)が施された変換部1202からの出力信号32bitsとレ
ジスタL0の出力信号32bitsとの排他的論理和を排他的
論理和回路1203でとり、その出力信号をレジスタR
1に、レジスタR0の出力信号をレジスタL1にそれぞれ
入力する。次いで、変換部1204において、鍵供給部の鍵
レジスタK1から供給される暗号鍵K1に基づいて、転置
と換字とを組合せた変換処理F(R1)がレジスタR1の出
力に施される。
【0007】以下同様にして、d=16段の変換処理が
次々と施され、最終的にはレジスタRd、Ldの出力信号
に最終転置部1205で転置IP-1が施され、この最終転置
部1205の出力データとして64bitsの暗号文が作成され
る。
次々と施され、最終的にはレジスタRd、Ldの出力信号
に最終転置部1205で転置IP-1が施され、この最終転置
部1205の出力データとして64bitsの暗号文が作成され
る。
【0008】図13は、各段の変換処理F(Ri)を行な
う変換部1202、1204などの共通内部構成を示すブロック
図である。図13では、32bitsの入力Riを拡大転置部1
301により48bitsに拡大転置し、その出力信号と48bits
の暗号鍵Kiとの排他的論理和を排他的論理和回路1302
でとり、その出力信号48bitsを8分割して、各々を6bit
s入力4bits出力のSボックスと呼ばれる換字部S1〜S8
に入力し、8つの4bits出力を合わせた32bitsに対して
最後に転置部1303で転置Pを施す処理を行う。これによ
って、32bitsの入力Riに対して暗号鍵Kiに基づいて転
置と換字とを組み合わせた処理が実現でき、32bitsの出
力F(Ri)が得られる。
う変換部1202、1204などの共通内部構成を示すブロック
図である。図13では、32bitsの入力Riを拡大転置部1
301により48bitsに拡大転置し、その出力信号と48bits
の暗号鍵Kiとの排他的論理和を排他的論理和回路1302
でとり、その出力信号48bitsを8分割して、各々を6bit
s入力4bits出力のSボックスと呼ばれる換字部S1〜S8
に入力し、8つの4bits出力を合わせた32bitsに対して
最後に転置部1303で転置Pを施す処理を行う。これによ
って、32bitsの入力Riに対して暗号鍵Kiに基づいて転
置と換字とを組み合わせた処理が実現でき、32bitsの出
力F(Ri)が得られる。
【0009】しかし、アルゴリズム公開型の秘密鍵暗号
方式は、アルゴリズムを公開しているために、その解読
法についても多くの研究が行われ、差分攻撃(文献
〔3〕参照)や線形攻撃(文献〔4〕参照)といった有力
な解読法が提案されている。そのために、現在ではDE
SやFEALの安全性については疑問がもたれている。
そこで、DESやFEALに乱数的な要素を加えた改良
が行われているが、乱数要素が小さい方法(文献〔5〕
参照)では、従来の解読法(上述した差分攻撃や線形攻
撃)を改良することによって容易に解読できてしまい、
乱数要素が大きい方法(文献〔6〕参照)では、乱数発
生器の実現性が問題になる。
方式は、アルゴリズムを公開しているために、その解読
法についても多くの研究が行われ、差分攻撃(文献
〔3〕参照)や線形攻撃(文献〔4〕参照)といった有力
な解読法が提案されている。そのために、現在ではDE
SやFEALの安全性については疑問がもたれている。
そこで、DESやFEALに乱数的な要素を加えた改良
が行われているが、乱数要素が小さい方法(文献〔5〕
参照)では、従来の解読法(上述した差分攻撃や線形攻
撃)を改良することによって容易に解読できてしまい、
乱数要素が大きい方法(文献〔6〕参照)では、乱数発
生器の実現性が問題になる。
【0010】また、最近ではAES(Advanced Encrypt
ion Standard)やMISTY、Camelliaなどの新しい暗
号が提案されているが、それらの暗号アルゴリズム(特
に換字や転置の基となるSボックスの内容なども全て)
も公開されているために、いくつかの攻撃法が提案され
ており、暗号アルゴリズム提案と攻撃法提案のいたちご
っこが続いている。
ion Standard)やMISTY、Camelliaなどの新しい暗
号が提案されているが、それらの暗号アルゴリズム(特
に換字や転置の基となるSボックスの内容なども全て)
も公開されているために、いくつかの攻撃法が提案され
ており、暗号アルゴリズム提案と攻撃法提案のいたちご
っこが続いている。
【0011】参考文献一覧(後で参照するものも含む) 〔1〕池野信一,小山謙二:“現代暗号理論”,電子情
報通信学会(1986) 〔2〕辻井重男,笠原正雄:“暗号と情報セキュリテ
ィ”,昭晃堂(1990) 〔3〕E.Biham, A.Shamir:“Differential Cryptanalysi
s of DES-like Cryptosystems”, Journal of Cryptolo
gy, Vol.4, No.1, pp.3-72, 1992. 〔4〕松井充:“DES暗号の線形解読法”,1993
年暗号と情報セキュリティシンポジウムSCIS93-3C,199
3. 〔5〕K.Koyama and R.Terada:“How to Strength Des-l
ike Cryptsysyems against Differential Cryptanalysi
s”,Trans.of IEICE vol.E75A, No.1. 〔6〕岩山,秋山,金子:“転値表が鍵依存のインボリ
ューション型暗号”,1994年暗号と情報セキュリテ
ィシンポジウムSCIS94-14C,1994. 〔7〕L.Blum, M.Blum and M.shub,“A Simple Unpredic
table Pseudo-random Number Generator,”SIAM Journa
l on Computing, Vol.17, No.2, pp.364-383, 1986. 〔8〕W.Alex, B.Chor, O.Goldreich and C.P.Schnorr,
“RSA and RABIN Functions: Certain Parts Are as Ha
rd as the Whole,”SIAM Journal on Computing,Vol.1
7, No.2, pp.194-209, 1988. 〔9〕B.Chor and O.Goldreich:“RSA/Rabin least sign
ificant bits are 1/2+1/poly(n) secure”, Advances
in Cryptology: Preceedings of Crypto 84, G.R., 198
4 〔10〕M.Blum and S.Micali:“How to generate crypto
graphically strong sequences of pseudo-random bit
s”, 23rd IEEE FOCS, pp.112-117, 1982
報通信学会(1986) 〔2〕辻井重男,笠原正雄:“暗号と情報セキュリテ
ィ”,昭晃堂(1990) 〔3〕E.Biham, A.Shamir:“Differential Cryptanalysi
s of DES-like Cryptosystems”, Journal of Cryptolo
gy, Vol.4, No.1, pp.3-72, 1992. 〔4〕松井充:“DES暗号の線形解読法”,1993
年暗号と情報セキュリティシンポジウムSCIS93-3C,199
3. 〔5〕K.Koyama and R.Terada:“How to Strength Des-l
ike Cryptsysyems against Differential Cryptanalysi
s”,Trans.of IEICE vol.E75A, No.1. 〔6〕岩山,秋山,金子:“転値表が鍵依存のインボリ
ューション型暗号”,1994年暗号と情報セキュリテ
ィシンポジウムSCIS94-14C,1994. 〔7〕L.Blum, M.Blum and M.shub,“A Simple Unpredic
table Pseudo-random Number Generator,”SIAM Journa
l on Computing, Vol.17, No.2, pp.364-383, 1986. 〔8〕W.Alex, B.Chor, O.Goldreich and C.P.Schnorr,
“RSA and RABIN Functions: Certain Parts Are as Ha
rd as the Whole,”SIAM Journal on Computing,Vol.1
7, No.2, pp.194-209, 1988. 〔9〕B.Chor and O.Goldreich:“RSA/Rabin least sign
ificant bits are 1/2+1/poly(n) secure”, Advances
in Cryptology: Preceedings of Crypto 84, G.R., 198
4 〔10〕M.Blum and S.Micali:“How to generate crypto
graphically strong sequences of pseudo-random bit
s”, 23rd IEEE FOCS, pp.112-117, 1982
【0012】
【発明が解決しようとする課題】従って、以下の条件を
満たす暗号方式が期待されているが、これらの条件を満
たす暗号方式は今まで提案されていない。
満たす暗号方式が期待されているが、これらの条件を満
たす暗号方式は今まで提案されていない。
【0013】誰もが自由に使えるように、暗号装置は
公開できる。
公開できる。
【0014】暗号装置から暗号アルゴリズムなどの解
析ができず安全である。
析ができず安全である。
【0015】暗号アルゴリズムの考案者も不正できな
いことを検証することができる。
いことを検証することができる。
【0016】実現が容易である。
【0017】最近、ある特殊な機器間のみでの機器間認
証と暗号通信を実現する場合、暗号アルゴリズムを公開
しないことも多い。このような暗号装置及び暗号アルゴ
リズムを公開しない場合にも、の条件は重要であ
る。例えば、の条件が保証されなければ、暗号アルゴ
リズムの考案者が会社などを辞めた時点でその暗号アル
ゴリズムの安全性は保障されなくなってしまう。さら
に、上記のようなある特殊な機器間のみの暗号通信を行
う場合、の処理の高速性や簡易性は実装のための重要
な条件になる。
証と暗号通信を実現する場合、暗号アルゴリズムを公開
しないことも多い。このような暗号装置及び暗号アルゴ
リズムを公開しない場合にも、の条件は重要であ
る。例えば、の条件が保証されなければ、暗号アルゴ
リズムの考案者が会社などを辞めた時点でその暗号アル
ゴリズムの安全性は保障されなくなってしまう。さら
に、上記のようなある特殊な機器間のみの暗号通信を行
う場合、の処理の高速性や簡易性は実装のための重要
な条件になる。
【0018】本発明は上述した課題を解決するためにな
されたものであり、上記の条件を満足する暗号化方法及
びそれを用いた通信システムを提供することを目的とす
る。
されたものであり、上記の条件を満足する暗号化方法及
びそれを用いた通信システムを提供することを目的とす
る。
【0019】
【課題を解決するための手段】上述した目的を達成する
ための一手段として、本発明によれば、同一構成の変換
手段による変換を繰り返して平文の暗号化または暗号文
の復号を行なう暗号処理装置に、暗号文の送信側と受信
側とで共通に保持する秘密の鍵情報を初期値として乱数
を生成する乱数生成手段と、前記乱数生成手段により生
成された乱数に基づいて前記変換手段の構成を設定する
設定手段とを備える。
ための一手段として、本発明によれば、同一構成の変換
手段による変換を繰り返して平文の暗号化または暗号文
の復号を行なう暗号処理装置に、暗号文の送信側と受信
側とで共通に保持する秘密の鍵情報を初期値として乱数
を生成する乱数生成手段と、前記乱数生成手段により生
成された乱数に基づいて前記変換手段の構成を設定する
設定手段とを備える。
【0020】また、本発明の他の態様によれば、それぞ
れが内部鍵を用いる複数の暗号処理手段による処理を順
次行なって平文の暗号化または暗号文の復号を行なう暗
号処理装置に、暗号文の送信側と受信側とで共通に保持
する秘密の鍵情報を初期値として乱数を生成する乱数生
成手段と、前記乱数生成手段により生成された乱数に基
づいて前記複数の暗号処理手段の内部鍵をそれぞれ設定
する設定手段とを備える。
れが内部鍵を用いる複数の暗号処理手段による処理を順
次行なって平文の暗号化または暗号文の復号を行なう暗
号処理装置に、暗号文の送信側と受信側とで共通に保持
する秘密の鍵情報を初期値として乱数を生成する乱数生
成手段と、前記乱数生成手段により生成された乱数に基
づいて前記複数の暗号処理手段の内部鍵をそれぞれ設定
する設定手段とを備える。
【0021】また、本発明の他の態様によれば、同一構
成の変換機構による変換を繰り返して平文の暗号化また
は暗号文の復号を行なう暗号処理方法に、暗号文の送信
側と受信側とで共通に保持する秘密の鍵情報を初期値と
して乱数を生成する乱数生成工程と、前記乱数生成工程
により生成された乱数に基づいて前記変換機構の構成を
設定する設定工程とを備える。
成の変換機構による変換を繰り返して平文の暗号化また
は暗号文の復号を行なう暗号処理方法に、暗号文の送信
側と受信側とで共通に保持する秘密の鍵情報を初期値と
して乱数を生成する乱数生成工程と、前記乱数生成工程
により生成された乱数に基づいて前記変換機構の構成を
設定する設定工程とを備える。
【0022】また、本発明の他の態様によれば、それぞ
れが内部鍵を用いる複数の暗号処理機構による処理を順
次行なって平文の暗号化または暗号文の復号を行なう暗
号処理方法に、暗号文の送信側と受信側とで共通に保持
する秘密の鍵情報を初期値として乱数を生成する乱数生
成工程と、前記乱数生成工程により生成された乱数に基
づいて前記複数の暗号処理機構の内部鍵をそれぞれ設定
する設定工程とを備える。
れが内部鍵を用いる複数の暗号処理機構による処理を順
次行なって平文の暗号化または暗号文の復号を行なう暗
号処理方法に、暗号文の送信側と受信側とで共通に保持
する秘密の鍵情報を初期値として乱数を生成する乱数生
成工程と、前記乱数生成工程により生成された乱数に基
づいて前記複数の暗号処理機構の内部鍵をそれぞれ設定
する設定工程とを備える。
【0023】また、本発明の他の態様によれば、同一手
順の変換処理を繰り返して平文の暗号化または暗号文の
復号をコンピュータに実行させるための暗号処理プログ
ラムに、暗号文の送信側と受信側とで共通に保持する秘
密の鍵情報を初期値として乱数を生成する乱数生成工程
と、前記乱数生成工程により生成された乱数に基づいて
前記変換処理の手順を設定する設定工程とを備える。
順の変換処理を繰り返して平文の暗号化または暗号文の
復号をコンピュータに実行させるための暗号処理プログ
ラムに、暗号文の送信側と受信側とで共通に保持する秘
密の鍵情報を初期値として乱数を生成する乱数生成工程
と、前記乱数生成工程により生成された乱数に基づいて
前記変換処理の手順を設定する設定工程とを備える。
【0024】また、本発明の他の態様によれば、それぞ
れが内部鍵を用いる複数の暗号処理を順次行なって平文
の暗号化または暗号文の復号をコンピュータに実行させ
るための暗号処理プログラムに、暗号文の送信側と受信
側とで共通に保持する秘密の鍵情報を初期値として乱数
を生成する乱数生成工程と、前記乱数生成工程により生
成された乱数に基づいて前記複数の暗号処理の内部鍵を
それぞれ設定する設定工程とを備える。
れが内部鍵を用いる複数の暗号処理を順次行なって平文
の暗号化または暗号文の復号をコンピュータに実行させ
るための暗号処理プログラムに、暗号文の送信側と受信
側とで共通に保持する秘密の鍵情報を初期値として乱数
を生成する乱数生成工程と、前記乱数生成工程により生
成された乱数に基づいて前記複数の暗号処理の内部鍵を
それぞれ設定する設定工程とを備える。
【0025】
【発明の実施の形態】<第1の実施形態>以下、図面を
用いて本発明の1実施形態を詳細に説明する。
用いて本発明の1実施形態を詳細に説明する。
【0026】本実施形態による暗号化装置を図1に示
す。
す。
【0027】図1の暗号化処理部は、前述のDESやF
EALと似た構造をもっている。ここでは、レジスタR
i-1、Li-1(i=1,・・・,d)の出力部からレジスタRi、Li
の入力部までを1つの暗号処理ブロックとし、暗号化処
理部はd個の暗号処理ブロックを含んで構成される。ま
た以下では、変換部101などにおける変換処理F(Ri)を
F関数と呼び、簡単のために、図1の暗号化処理部は、
F関数の構成以外は図12の暗号処理部と同様の構成と
する。
EALと似た構造をもっている。ここでは、レジスタR
i-1、Li-1(i=1,・・・,d)の出力部からレジスタRi、Li
の入力部までを1つの暗号処理ブロックとし、暗号化処
理部はd個の暗号処理ブロックを含んで構成される。ま
た以下では、変換部101などにおける変換処理F(Ri)を
F関数と呼び、簡単のために、図1の暗号化処理部は、
F関数の構成以外は図12の暗号処理部と同様の構成と
する。
【0028】従って、各暗号化ブロックによる処理は、 Li=Ri-1 Ri=Li-1+F(Ri-1) となる。但し、加算は、排他的論理和を表わしている。
【0029】ところで、前述のDESやFEALは図1
のF(Ri-1)(i=1,・・・,d)で表されるF関数自体を公開し
ている。例えば、DESではF関数はSボックスと呼ば
れる6ビット入力4ビット出力の8つの変換表からな
り、Sボックス内の変換表自体は公開である。よって、
この公開されたSボックスを前述の文献〔3〕、〔4〕の
攻撃法によって解析すれば鍵が解読される。
のF(Ri-1)(i=1,・・・,d)で表されるF関数自体を公開し
ている。例えば、DESではF関数はSボックスと呼ば
れる6ビット入力4ビット出力の8つの変換表からな
り、Sボックス内の変換表自体は公開である。よって、
この公開されたSボックスを前述の文献〔3〕、〔4〕の
攻撃法によって解析すれば鍵が解読される。
【0030】それに対して、本実施形態では、例えば6
ビット入力4ビット出力のSボックスとして、6ビット
アドレスで4ビットのデータを記憶するRAMを8つ用
いることとし、6ビット入力をアドレスとして該当アド
レスから4ビットの記憶データを読み出すようにする。
そして、図2のような変換処理部の構成は公開する(こ
こでは、拡大転置部201による拡大転置E、転置部202に
よる転置Pの内容も公開とする)。しかしながら、Sボ
ックスの内容である変換表は、図1の乱数発生器102に
おいて、鍵の値を初期値として、以下の自乗剰余乱数に
よって生成するようにする。
ビット入力4ビット出力のSボックスとして、6ビット
アドレスで4ビットのデータを記憶するRAMを8つ用
いることとし、6ビット入力をアドレスとして該当アド
レスから4ビットの記憶データを読み出すようにする。
そして、図2のような変換処理部の構成は公開する(こ
こでは、拡大転置部201による拡大転置E、転置部202に
よる転置Pの内容も公開とする)。しかしながら、Sボ
ックスの内容である変換表は、図1の乱数発生器102に
おいて、鍵の値を初期値として、以下の自乗剰余乱数に
よって生成するようにする。
【0031】〔自乗剰余乱数〕x0を任意に与える初期
値、N=p・q(p,qは素数)として、 xi+1=xi 2 mod N (i=0,1,2,・・・) (1) bi=lsbj(xi) (i=0,1,2,・・・) (2) によって与えられるビット列{b1,b2,・・・}を乱数
とする。ただし、lsbj(x i)はxiの最下位ビットからj
ビット目までのビット列を表わす。
値、N=p・q(p,qは素数)として、 xi+1=xi 2 mod N (i=0,1,2,・・・) (1) bi=lsbj(xi) (i=0,1,2,・・・) (2) によって与えられるビット列{b1,b2,・・・}を乱数
とする。ただし、lsbj(x i)はxiの最下位ビットからj
ビット目までのビット列を表わす。
【0032】この方法によれば、アルゴリズムを公開
し、これによって生成される有限個の乱数列{b1,
b2,・・・bi}が知られても、それらから次に生成され
るbi+1以降のビット列または初期値である鍵x0を求め
ることは、Nを因数分解するのと同じだけの手間(計算
量)が必要であることが知られている(文献〔7〕、
〔8〕参照;Nが512ビット以上の整数である場合、
Nを因数分解することは非常に困難である)。つまり、
乱数発生器102の構成が公開されていても、出力される
乱数列すなわちSボックスの内容や鍵を知るために必要
な計算量は、Nを因数分解するのに必要な計算量と同等
であることが保証される。
し、これによって生成される有限個の乱数列{b1,
b2,・・・bi}が知られても、それらから次に生成され
るbi+1以降のビット列または初期値である鍵x0を求め
ることは、Nを因数分解するのと同じだけの手間(計算
量)が必要であることが知られている(文献〔7〕、
〔8〕参照;Nが512ビット以上の整数である場合、
Nを因数分解することは非常に困難である)。つまり、
乱数発生器102の構成が公開されていても、出力される
乱数列すなわちSボックスの内容や鍵を知るために必要
な計算量は、Nを因数分解するのに必要な計算量と同等
であることが保証される。
【0033】また、ある時点のSボックスの変換表の内
容である乱数列が知られたとしても、その乱数列から鍵
や次の乱数列を予測するための計算量もまた、Nを因数
分解するのに必要な計算量と同等である。さらに、ある
時点のSボックスの内容を知ること自体も、変換表が公
開されないので困難であることは明らかである。よっ
て、本実施形態によれば、前述の文献〔3〕、〔4〕の攻
撃法をはじめとする従来の攻撃法を意味のないものにす
ることができる。
容である乱数列が知られたとしても、その乱数列から鍵
や次の乱数列を予測するための計算量もまた、Nを因数
分解するのに必要な計算量と同等である。さらに、ある
時点のSボックスの内容を知ること自体も、変換表が公
開されないので困難であることは明らかである。よっ
て、本実施形態によれば、前述の文献〔3〕、〔4〕の攻
撃法をはじめとする従来の攻撃法を意味のないものにす
ることができる。
【0034】次に、本実施形態における乱数発生器102
について考える。自乗剰余乱数の式(1)は、剰余乗算と
呼ばれるz=x・y mod Nの演算においてx=yとした
場合に相当するので、式(2)による乱数は、2入力x及
びyに対してx・y mod Nを計算する剰余乗算器への2
入力として共にxを入力した場合の下位jビット出力と
して得ることができる。このような剰余乗算器は、例え
ば、本出願人が先に出願した特開平07-253752号公報に
記載した構成などを用いれば容易に実現できる。
について考える。自乗剰余乱数の式(1)は、剰余乗算と
呼ばれるz=x・y mod Nの演算においてx=yとした
場合に相当するので、式(2)による乱数は、2入力x及
びyに対してx・y mod Nを計算する剰余乗算器への2
入力として共にxを入力した場合の下位jビット出力と
して得ることができる。このような剰余乗算器は、例え
ば、本出願人が先に出願した特開平07-253752号公報に
記載した構成などを用いれば容易に実現できる。
【0035】さらに、その乱数発生器102(剰余乗算器)
から発生された乱数が、SボックスS1〜S8の各RAM
のアドレスに順次記憶されるようにし、発生された乱数
をRAMに書き込むことでSボックスの内容を書き換え
ることができる。ただし、Sボックスの内容は、一般に
アドレス範囲0〜15,16〜31,32〜47,48
〜64には0〜15の4bitsの値が重なりなくランダム
に入っている必要があるので、発生した乱数は4bits毎
に区切られ、上記の各アドレス範囲において前に出現し
た値と比較され、前の値と重なっている場合には書き込
みがなされないように制御されながらRAMに書き込ま
れる。
から発生された乱数が、SボックスS1〜S8の各RAM
のアドレスに順次記憶されるようにし、発生された乱数
をRAMに書き込むことでSボックスの内容を書き換え
ることができる。ただし、Sボックスの内容は、一般に
アドレス範囲0〜15,16〜31,32〜47,48
〜64には0〜15の4bitsの値が重なりなくランダム
に入っている必要があるので、発生した乱数は4bits毎
に区切られ、上記の各アドレス範囲において前に出現し
た値と比較され、前の値と重なっている場合には書き込
みがなされないように制御されながらRAMに書き込ま
れる。
【0036】よって、本実施形態は図3に示す手順で実
行される。まず、ステップS301で、鍵を初期値として乱
数発生部によって乱数を生成する。次に、ステップS302
で、生成した乱数によって暗号処理部の構成を決定す
る。ここでは、暗号処理部の構成の設定は、各変換処理
部のSボックスの変換表の内容として生成した乱数を書
き込むことによって実現される。最後に、ステップS303
で、構成が決定された暗号処理部を繰り返し用いて平文
の暗号化を行う。
行される。まず、ステップS301で、鍵を初期値として乱
数発生部によって乱数を生成する。次に、ステップS302
で、生成した乱数によって暗号処理部の構成を決定す
る。ここでは、暗号処理部の構成の設定は、各変換処理
部のSボックスの変換表の内容として生成した乱数を書
き込むことによって実現される。最後に、ステップS303
で、構成が決定された暗号処理部を繰り返し用いて平文
の暗号化を行う。
【0037】一方、復号について考えると、初期転置及
び最終転置については逆変換を行なえばよく、暗号化に
おける初期転置と最終転置とが互いに逆変換であるとす
れば、暗号化と同一の転置処理を行なえばよい。
び最終転置については逆変換を行なえばよく、暗号化に
おける初期転置と最終転置とが互いに逆変換であるとす
れば、暗号化と同一の転置処理を行なえばよい。
【0038】また、Ld、Rdから、L0、R0を求めるに
は、上述した暗号化ブロックの処理より、 Ri-1=Li Li-1=Ri+F(Li) となるので、暗号化と同一のF関数を用いて復号も実行
できる。従って、暗号化と同一の鍵を初期値として生成
した乱数によりF関数、すなわちSボックスの変換表の
内容を決定することで、復号が実行できる。
は、上述した暗号化ブロックの処理より、 Ri-1=Li Li-1=Ri+F(Li) となるので、暗号化と同一のF関数を用いて復号も実行
できる。従って、暗号化と同一の鍵を初期値として生成
した乱数によりF関数、すなわちSボックスの変換表の
内容を決定することで、復号が実行できる。
【0039】尚、乱数発生器102で発生させる乱数は、
上記の自乗剰余乱数に限定されず、他の自乗剰余乱数
(文献〔7〕、〔8〕参照)やRSA乱数(文献〔9〕参
照)や離散対数乱数(文献〔10〕参照)のように安全性
が保証された乱数であればよい。また、乱数発生は、公
知の擬似乱数発生器によっても実現できることは明らか
である。
上記の自乗剰余乱数に限定されず、他の自乗剰余乱数
(文献〔7〕、〔8〕参照)やRSA乱数(文献〔9〕参
照)や離散対数乱数(文献〔10〕参照)のように安全性
が保証された乱数であればよい。また、乱数発生は、公
知の擬似乱数発生器によっても実現できることは明らか
である。
【0040】また、暗号処理部もDESのような構成に
限らず、AESやMISTY、Camelliaのよう
に同一の暗号処理部を繰り返し用いる暗号装置構造また
は暗号アルゴリズムであれば良く、その構成を鍵を初期
値とする乱数によって設定できればよい。Sボックス設
定以外の構造の選択法としてはビットシフトや排他的論
理和などのいくつかの基本演算部を準備しておき、その
組み合わせを乱数によって定めるなどが考えられる。
限らず、AESやMISTY、Camelliaのよう
に同一の暗号処理部を繰り返し用いる暗号装置構造また
は暗号アルゴリズムであれば良く、その構成を鍵を初期
値とする乱数によって設定できればよい。Sボックス設
定以外の構造の選択法としてはビットシフトや排他的論
理和などのいくつかの基本演算部を準備しておき、その
組み合わせを乱数によって定めるなどが考えられる。
【0041】また、Sボックスの構成は6ビット入力/
4ビット出力のRAMを例に説明したが、入出力ビット
数はこれに限られるものではなく、全体の構成に応じて
変更可能で、実現可能な大きさであればいくらでも良
い。
4ビット出力のRAMを例に説明したが、入出力ビット
数はこれに限られるものではなく、全体の構成に応じて
変更可能で、実現可能な大きさであればいくらでも良
い。
【0042】また、F関数の構成も図2の構成に限らず
その内容または構造を乱数によって設定できれば、任意
でよい。
その内容または構造を乱数によって設定できれば、任意
でよい。
【0043】更に、図1の初期転置IPや最終転置IP
-1の内容も乱数によって変更できるのは明らかである。
-1の内容も乱数によって変更できるのは明らかである。
【0044】<実施形態2>本実施形態による暗号化装
置は、図4に示すように、実施形態1に加えて、鍵供給
部として乱数発生器401とともにd個の鍵レジスタKi(i
=0,・・・,d-1)を設け、各変換処理F(Ri)でそれぞれ内部
鍵Ki(i=0,・・・,d-1)を使用し、それらの内部鍵Kiもま
た乱数発生器401からの自乗剰余乱数によって定めてい
る。本実施形態では、変換処理部の構成として図5の構
成を公開する。
置は、図4に示すように、実施形態1に加えて、鍵供給
部として乱数発生器401とともにd個の鍵レジスタKi(i
=0,・・・,d-1)を設け、各変換処理F(Ri)でそれぞれ内部
鍵Ki(i=0,・・・,d-1)を使用し、それらの内部鍵Kiもま
た乱数発生器401からの自乗剰余乱数によって定めてい
る。本実施形態では、変換処理部の構成として図5の構
成を公開する。
【0045】図5に示すように、本実施形態の変換処理
部では、例えば32bitsの入力Riを拡大転置部501により
48bitsに拡大転置し、その出力信号と48bitsの内部鍵K
iとの排他的論理和を排他的論理和回路502でとる。以
下、実施形態1と同様に、その出力信号48bitsを8分割
して、各々を6bits入力4bits出力のSボックスS1〜S 8
に入力し、8つの4bits出力を合わせた32bitsに対して
最後に転置部503で転置Pを施す処理を行う。
部では、例えば32bitsの入力Riを拡大転置部501により
48bitsに拡大転置し、その出力信号と48bitsの内部鍵K
iとの排他的論理和を排他的論理和回路502でとる。以
下、実施形態1と同様に、その出力信号48bitsを8分割
して、各々を6bits入力4bits出力のSボックスS1〜S 8
に入力し、8つの4bits出力を合わせた32bitsに対して
最後に転置部503で転置Pを施す処理を行う。
【0046】この内部鍵Kiは、暗号文を平文だけに依
存させないために用いる。図4では、簡単のために、同
じ鍵及び乱数発生器401を用いてSボックスを構成し、
かつ内部鍵を生成しているが、各々異なる鍵と乱数発生
器を用いても良い。
存させないために用いる。図4では、簡単のために、同
じ鍵及び乱数発生器401を用いてSボックスを構成し、
かつ内部鍵を生成しているが、各々異なる鍵と乱数発生
器を用いても良い。
【0047】前述の文献〔3〕、〔4〕の攻撃法では、公
開されたSボックスの特徴からいくつかの内部鍵を解析
し、それらの特徴も用いて他の内部鍵を解析していき、
最後にもとの暗号鍵を求めることが多い。しかし、本実
施形態では、内部鍵もまた自乗剰余乱数によって生成さ
れているので、いくつかの内部鍵から他の内部鍵を予測
することも、それらから最終的な暗号鍵を予測すること
もまた、Nを因数分解するのと同等に困難である。
開されたSボックスの特徴からいくつかの内部鍵を解析
し、それらの特徴も用いて他の内部鍵を解析していき、
最後にもとの暗号鍵を求めることが多い。しかし、本実
施形態では、内部鍵もまた自乗剰余乱数によって生成さ
れているので、いくつかの内部鍵から他の内部鍵を予測
することも、それらから最終的な暗号鍵を予測すること
もまた、Nを因数分解するのと同等に困難である。
【0048】よって、本実施形態は図6に示す手順で実
行される。まず、ステップS601で、鍵を初期値として乱
数発生部によって乱数を生成する。次に、ステップS602
で、生成した乱数によって暗号処理部の構成を定める。
さらに、ステップS603で、続いて生成された乱数によっ
て内部鍵を定める。ここでは、内部鍵を発生させる乱数
は暗号処理部を定める乱数の続きを用いているが、内部
鍵生成用の独立な鍵を初期値とする乱数を用いても良
い。最後に、ステップS604で、構成の定まった暗号処理
部を繰り返し用いて平文の暗号化を行う。
行される。まず、ステップS601で、鍵を初期値として乱
数発生部によって乱数を生成する。次に、ステップS602
で、生成した乱数によって暗号処理部の構成を定める。
さらに、ステップS603で、続いて生成された乱数によっ
て内部鍵を定める。ここでは、内部鍵を発生させる乱数
は暗号処理部を定める乱数の続きを用いているが、内部
鍵生成用の独立な鍵を初期値とする乱数を用いても良
い。最後に、ステップS604で、構成の定まった暗号処理
部を繰り返し用いて平文の暗号化を行う。
【0049】<実施形態3>実施形態1、2の暗号化方
法の安全性をさらに高めるには、少なくとも通信毎に乱
数生成のための鍵を変更することが望ましい。それは、
毎回同じ鍵を用いていれば、大量のデータを同じ鍵で暗
号化することになるので、Sボックスの内容が知られや
すいためである。よって、同じ鍵を用いて暗号化を続け
ればSボックスの内容が知られ、その時点から後の同じ
Sボックスを用いた暗号文は解読される恐れがある(但
し、ある時点のSボックスの内容が知られても、前述の
理由により鍵や次に発生されるSボックスの内容は予測
できない)。
法の安全性をさらに高めるには、少なくとも通信毎に乱
数生成のための鍵を変更することが望ましい。それは、
毎回同じ鍵を用いていれば、大量のデータを同じ鍵で暗
号化することになるので、Sボックスの内容が知られや
すいためである。よって、同じ鍵を用いて暗号化を続け
ればSボックスの内容が知られ、その時点から後の同じ
Sボックスを用いた暗号文は解読される恐れがある(但
し、ある時点のSボックスの内容が知られても、前述の
理由により鍵や次に発生されるSボックスの内容は予測
できない)。
【0050】しかし、通信毎に鍵を更新すれば、新しい
乱数によってSボックスの内容が更新されるために、前
のSボックスの内容は意味がなくなり、通信毎に同じ解
読の困難さを持つ暗号文が生成される。この通信毎の鍵
更新は、図7に示すように、送信側の鍵共有部701と、
受信側の鍵共有部702とにおいて、従来よく知られた公
開鍵暗号やDiffieとHellman(文献〔1〕参照)を用いる
鍵共有方式やID-based鍵共有方式(文献〔2〕参照)
などの鍵共有方法を用いて、予備通信により新たな鍵を
共有すれば容易に実現できる。図7の暗号化部703、復
号部704は実施形態1、2に示される手法により暗号化及
び復号を行ない、それぞれ鍵共有部701、702から得られ
た鍵を乱数生成のための初期値として用いる。
乱数によってSボックスの内容が更新されるために、前
のSボックスの内容は意味がなくなり、通信毎に同じ解
読の困難さを持つ暗号文が生成される。この通信毎の鍵
更新は、図7に示すように、送信側の鍵共有部701と、
受信側の鍵共有部702とにおいて、従来よく知られた公
開鍵暗号やDiffieとHellman(文献〔1〕参照)を用いる
鍵共有方式やID-based鍵共有方式(文献〔2〕参照)
などの鍵共有方法を用いて、予備通信により新たな鍵を
共有すれば容易に実現できる。図7の暗号化部703、復
号部704は実施形態1、2に示される手法により暗号化及
び復号を行ない、それぞれ鍵共有部701、702から得られ
た鍵を乱数生成のための初期値として用いる。
【0051】また、ID-based鍵共有には、本出願人が
先に出願した特開平07-181892号公報に示すように、予
備通信を必要としない手法も知られており、この場合は
図7の鍵共有部701、702内での演算のみによって送信者
Aと受信者Bは共通の鍵を生成できる。よってその場合
は、図7の鍵共有部同士の予備通信は必要としない。
先に出願した特開平07-181892号公報に示すように、予
備通信を必要としない手法も知られており、この場合は
図7の鍵共有部701、702内での演算のみによって送信者
Aと受信者Bは共通の鍵を生成できる。よってその場合
は、図7の鍵共有部同士の予備通信は必要としない。
【0052】<実施形態4>実施形態3のように通信毎
に鍵を変更すれば、安全性が高められる。しかし1回の
通信量が多い場合、1つの鍵で大量のデータを暗号化す
ることになるので、やはりSボックスの内容が知られや
すい。この場合、通信の途中で鍵を更新することが必要
であるが、前述の公知の鍵共有法では1度暗号化処理を
止めて鍵を共有し直す必要がある。
に鍵を変更すれば、安全性が高められる。しかし1回の
通信量が多い場合、1つの鍵で大量のデータを暗号化す
ることになるので、やはりSボックスの内容が知られや
すい。この場合、通信の途中で鍵を更新することが必要
であるが、前述の公知の鍵共有法では1度暗号化処理を
止めて鍵を共有し直す必要がある。
【0053】しかし、本実施形態では、図3のSボック
スの内容を自乗剰余乱数によって更新し続けることによ
って、通信中に鍵を更新することと等価な通信中のSボ
ックスの内容の更新を容易に実現することができる。
スの内容を自乗剰余乱数によって更新し続けることによ
って、通信中に鍵を更新することと等価な通信中のSボ
ックスの内容の更新を容易に実現することができる。
【0054】実施形態1で述べたように、乱数発生器は
一度乱数を暗号化処理の前に設定するだけで後は用いら
れない。しかし乱数発生器を用い続けた場合、通信中に
送信側と受信側とで同じタイミングでSボックスの内容
を更新していく必要がある。よって、Sボックスの更新
手順を公開し、送信側と受信側で同様の動作が行われる
ようにすれば、Sボックスの内容を更新しながら暗号化
処理を行うことができる。
一度乱数を暗号化処理の前に設定するだけで後は用いら
れない。しかし乱数発生器を用い続けた場合、通信中に
送信側と受信側とで同じタイミングでSボックスの内容
を更新していく必要がある。よって、Sボックスの更新
手順を公開し、送信側と受信側で同様の動作が行われる
ようにすれば、Sボックスの内容を更新しながら暗号化
処理を行うことができる。
【0055】また、乱数の生成量や暗号化/復号された
データの量が所定値に達する毎に、Sボックスの更新を
行なうようにしてもよい。
データの量が所定値に達する毎に、Sボックスの更新を
行なうようにしてもよい。
【0056】また、Sボックスの代わりに内部鍵の更新
を自乗剰余乱数によって通信中に行うことも可能である
ことは明らかであり、Sボックスと内部鍵を組み合わせ
て更新することも可能である。
を自乗剰余乱数によって通信中に行うことも可能である
ことは明らかであり、Sボックスと内部鍵を組み合わせ
て更新することも可能である。
【0057】よって、本実施形態は、図8に示す手順で
実行される。まず、ステップS801で、鍵を初期値として
乱数発生部によって順次乱数を生成する。ステップS802
で、生成された乱数が暗号処理部と内部鍵を設定するの
に十分の数が生成されると、所定のタイミングで、ステ
ップS803で、生成した乱数によって暗号処理部の構成を
定める。次に、ステップS804で、暗号処理部に使用した
乱数に続いて生成された乱数によって内部鍵を定める。
さらに、ステップS805で、構成の定まった暗号処理部を
繰り返し用いて平文の暗号化を行う。ここで、ステップ
S801では、暗号処理部と内部鍵を最初に設定した後も乱
数の生成を続けられており、生成された乱数が暗号処理
部と内部鍵を再設定するのに十分の数が生成されると、
所定のタイミングで、その乱数を用いて再び暗号処理部
と内部鍵を再設定する。そのタイミングに連動して平文
の暗号化を続ける。
実行される。まず、ステップS801で、鍵を初期値として
乱数発生部によって順次乱数を生成する。ステップS802
で、生成された乱数が暗号処理部と内部鍵を設定するの
に十分の数が生成されると、所定のタイミングで、ステ
ップS803で、生成した乱数によって暗号処理部の構成を
定める。次に、ステップS804で、暗号処理部に使用した
乱数に続いて生成された乱数によって内部鍵を定める。
さらに、ステップS805で、構成の定まった暗号処理部を
繰り返し用いて平文の暗号化を行う。ここで、ステップ
S801では、暗号処理部と内部鍵を最初に設定した後も乱
数の生成を続けられており、生成された乱数が暗号処理
部と内部鍵を再設定するのに十分の数が生成されると、
所定のタイミングで、その乱数を用いて再び暗号処理部
と内部鍵を再設定する。そのタイミングに連動して平文
の暗号化を続ける。
【0058】尚、変更の周期をSボックスと内部鍵とで
ずらし、一回の変更に必要な乱数の数を減少させること
もできる。これは、Sボックスを構成するRAMや内部
鍵のレジスタなどのデータ取り込みを制御しているイネ
ーブル信号やクロックなどを変えるだけで容易に実現で
きる。
ずらし、一回の変更に必要な乱数の数を減少させること
もできる。これは、Sボックスを構成するRAMや内部
鍵のレジスタなどのデータ取り込みを制御しているイネ
ーブル信号やクロックなどを変えるだけで容易に実現で
きる。
【0059】また、今までの実施形態では、Sボックス
の容量は変えず、Sボックスの内容だけを可変にしてい
るが、本発明は上記の例に限定されるものではない。本
発明は従来のDESのように固定された変換表を用いな
いので、Sボックスの容量も可変にする手法が実現でき
る。例えば、Sボックスを8ビット入力4ビット出力と
し、最初のSボックスの設定では全容量を用い、次のS
ボックス設定では6ビット入力4ビット出力分の設定を行
う、すなわち64アドレス分の設定を行うようにしても
よい。
の容量は変えず、Sボックスの内容だけを可変にしてい
るが、本発明は上記の例に限定されるものではない。本
発明は従来のDESのように固定された変換表を用いな
いので、Sボックスの容量も可変にする手法が実現でき
る。例えば、Sボックスを8ビット入力4ビット出力と
し、最初のSボックスの設定では全容量を用い、次のS
ボックス設定では6ビット入力4ビット出力分の設定を行
う、すなわち64アドレス分の設定を行うようにしても
よい。
【0060】また、実施形態2では図4の段数をd=1
6として説明したが、本発明はこれに限定されるもので
もない。
6として説明したが、本発明はこれに限定されるもので
もない。
【0061】また発生すべき乱数の数は増すが、各段毎
のSボックスに異なる乱数を設定することもできる。
のSボックスに異なる乱数を設定することもできる。
【0062】また、実施形態1〜4における乱数発生
は、上述した自乗剰余乱数に限定されず、他の自乗剰余
乱数やRSA乱数や離散対数乱数のように安全性が保証
された乱数であればよい。
は、上述した自乗剰余乱数に限定されず、他の自乗剰余
乱数やRSA乱数や離散対数乱数のように安全性が保証
された乱数であればよい。
【0063】また、実施形態1〜4における暗号処理部
もDESのような構成に限らず、AESやMISTY、
Camelliaのように、同一の暗号処理部を繰り返
し用いる暗号装置構造または暗号アルゴリズムであれば
良く、その構成を鍵を初期値とする乱数によって設定で
きればよい。Sボックス設定以外の構造の選択法として
はビットシフトや排他的論理和などのいくつかの基本演
算部を準備しておき、その組み合わせを乱数によって定
めるなどが考えられる。
もDESのような構成に限らず、AESやMISTY、
Camelliaのように、同一の暗号処理部を繰り返
し用いる暗号装置構造または暗号アルゴリズムであれば
良く、その構成を鍵を初期値とする乱数によって設定で
きればよい。Sボックス設定以外の構造の選択法として
はビットシフトや排他的論理和などのいくつかの基本演
算部を準備しておき、その組み合わせを乱数によって定
めるなどが考えられる。
【0064】<実施形態5>次に、上述した実施形態に
よる暗号化装置を用いた通信システムについて説明す
る。
よる暗号化装置を用いた通信システムについて説明す
る。
【0065】図9は複数の加入者(A,B,C,・・・)
から構成されるネットワークを示し、通信装置によって
接続されている。
から構成されるネットワークを示し、通信装置によって
接続されている。
【0066】図10は、図9の各通信装置の構成を示し
たブロック図である。暗号化部1002及び鍵共有部1003
は、図7で示した構成を持つ。ただし、図10の通信部
1001のみを通信装置とし、上記実施形態による暗号装置
は、通信装置と独立に接続されるか、通信装置へ入力を
行う端末に含まれるようにしてもよい。
たブロック図である。暗号化部1002及び鍵共有部1003
は、図7で示した構成を持つ。ただし、図10の通信部
1001のみを通信装置とし、上記実施形態による暗号装置
は、通信装置と独立に接続されるか、通信装置へ入力を
行う端末に含まれるようにしてもよい。
【0067】図11は、図9、10で示された暗号通信
システムにおける加入者A、B間の秘匿通信の様子を示
している。
システムにおける加入者A、B間の秘匿通信の様子を示
している。
【0068】加入者Aから加入者Bへの暗号通信は以下
の手順で行う。 1)送信者Aは、通信部1103を介して鍵共有部1101によ
り秘密鍵を受信者Bと共有し、その秘密鍵の全て又は一
部を暗号化処理部1102内の乱数発生部の初期値として設
定する。 2)送信者Aは、鍵を初期値として乱数を発生し、暗号
化処理部1102の構成及び内部鍵を定め、通信文を暗号化
して、通信部1103によりその暗号文を受信者Bに送信す
る。 3)受信者Bは、通信部1104を介して鍵共有部1005によ
り送信者Aと共有した秘密鍵の全て又は一部を、送信者
Aと同様に暗号化処理部1106内の乱数発生部の初期値と
して用いる。 4)受信者Bは、送信者Aと同様に、発生した乱数によ
って暗号化処理部1106の構成及び内部鍵を定め、通信部
1104により受信した暗号文を復号する。 5)送信者Aと受信者Bは乱数を発生させ続け、暗号化
処理部の構成及び内部鍵の設定に必要な長さを持つ乱数
列を発生させた後の定められたタイミングで、送信者A
と受信者Bは、新たな乱数列により暗号化処理部の構成
及び内部鍵を設定し直し、暗号通信を続ける。
の手順で行う。 1)送信者Aは、通信部1103を介して鍵共有部1101によ
り秘密鍵を受信者Bと共有し、その秘密鍵の全て又は一
部を暗号化処理部1102内の乱数発生部の初期値として設
定する。 2)送信者Aは、鍵を初期値として乱数を発生し、暗号
化処理部1102の構成及び内部鍵を定め、通信文を暗号化
して、通信部1103によりその暗号文を受信者Bに送信す
る。 3)受信者Bは、通信部1104を介して鍵共有部1005によ
り送信者Aと共有した秘密鍵の全て又は一部を、送信者
Aと同様に暗号化処理部1106内の乱数発生部の初期値と
して用いる。 4)受信者Bは、送信者Aと同様に、発生した乱数によ
って暗号化処理部1106の構成及び内部鍵を定め、通信部
1104により受信した暗号文を復号する。 5)送信者Aと受信者Bは乱数を発生させ続け、暗号化
処理部の構成及び内部鍵の設定に必要な長さを持つ乱数
列を発生させた後の定められたタイミングで、送信者A
と受信者Bは、新たな乱数列により暗号化処理部の構成
及び内部鍵を設定し直し、暗号通信を続ける。
【0069】以上の手順は、実施形態4に示した通信中
も鍵を更新する場合を示している。実施形態3に示した
通信毎のみに鍵を更新する場合には、5)の処理は省略
され、1)、3)の鍵共有は通信毎に行われる。
も鍵を更新する場合を示している。実施形態3に示した
通信毎のみに鍵を更新する場合には、5)の処理は省略
され、1)、3)の鍵共有は通信毎に行われる。
【0070】以上によって、上述の暗号化方法を用いた
安全な通信システムを実現することができる。
安全な通信システムを実現することができる。
【0071】また、上記の暗号通信ネットワークでは、
通信文の送信者と受信者との間で固有かつ秘密の鍵を共
有しているので、暗号文を受け取り、意味をなす通信文
に復号できるということは、その鍵のもう一人の所有者
から通信文が送信されたことを受信者に保証している。
そのため、実施形態5に示した秘匿通信システムでは、
通信の発信者及び着信者の認証も行うことができる。
通信文の送信者と受信者との間で固有かつ秘密の鍵を共
有しているので、暗号文を受け取り、意味をなす通信文
に復号できるということは、その鍵のもう一人の所有者
から通信文が送信されたことを受信者に保証している。
そのため、実施形態5に示した秘匿通信システムでは、
通信の発信者及び着信者の認証も行うことができる。
【0072】<その他の実施形態>本発明は、上記各実
施形態を実現するための装置及び方法やそれらの組み合
わせのみに限定されるものではなく、上記システム又は
装置内のコンピュータ(CPUあるいはMPU)に、上記実施
の形態を実現するためのソフトウエアのプログラムコー
ドを供給し、このプログラムコードに従って上記システ
ムあるいは装置のコンピュータが上記各種デバイスを動
作させることにより上記実施の形態を実現する場合も本
発明の範疇に含まれる。
施形態を実現するための装置及び方法やそれらの組み合
わせのみに限定されるものではなく、上記システム又は
装置内のコンピュータ(CPUあるいはMPU)に、上記実施
の形態を実現するためのソフトウエアのプログラムコー
ドを供給し、このプログラムコードに従って上記システ
ムあるいは装置のコンピュータが上記各種デバイスを動
作させることにより上記実施の形態を実現する場合も本
発明の範疇に含まれる。
【0073】またこの場合、前記ソフトウエアのプログ
ラムコード自体が上記実施の形態の機能を実現すること
になり、そのプログラムコード自体、及びそのプログラ
ムコードをコンピュータに供給するための機器、具体的
には上記プログラムコードを格納した記憶媒体は本発明
の範疇に含まれる。
ラムコード自体が上記実施の形態の機能を実現すること
になり、そのプログラムコード自体、及びそのプログラ
ムコードをコンピュータに供給するための機器、具体的
には上記プログラムコードを格納した記憶媒体は本発明
の範疇に含まれる。
【0074】この様なプログラムコードを格納する記憶
媒体としては、例えばフロッピー(登録商標)ディス
ク、ハードディスク、光ディスク、光磁気ディスク、CD
-ROM、磁気テープ、不揮発性のメモリカード、ROM等を
用いることができる。
媒体としては、例えばフロッピー(登録商標)ディス
ク、ハードディスク、光ディスク、光磁気ディスク、CD
-ROM、磁気テープ、不揮発性のメモリカード、ROM等を
用いることができる。
【0075】また、上記コンピュータが、供給されたプ
ログラムコードのみに従って各種デバイスを制御するこ
とにより、上記実施の形態の機能が実現される場合だけ
ではなく、上記プログラムコードがコンピュータ上で稼
働しているOS(オペレーティングシステム)、あるいは他
のアプリケーションソフト等と共同して上記実施の形態
が実現される場合にもかかるプログラムコードは本発明
の範疇に含まれる。
ログラムコードのみに従って各種デバイスを制御するこ
とにより、上記実施の形態の機能が実現される場合だけ
ではなく、上記プログラムコードがコンピュータ上で稼
働しているOS(オペレーティングシステム)、あるいは他
のアプリケーションソフト等と共同して上記実施の形態
が実現される場合にもかかるプログラムコードは本発明
の範疇に含まれる。
【0076】更に、この供給されたプログラムコード
が、コンピュータの機能拡張ボードやコンピュータに接
続された機能拡張ユニットに備わるメモリに格納された
後、そのプログラムコードの指示に基づいてその機能拡
張ボードや機能格納ユニットに備わるCPU等が実際の処
理の一部または全部を行い、その処理によって上記実施
の形態が実現される場合も本発明の範疇に含まれる。
が、コンピュータの機能拡張ボードやコンピュータに接
続された機能拡張ユニットに備わるメモリに格納された
後、そのプログラムコードの指示に基づいてその機能拡
張ボードや機能格納ユニットに備わるCPU等が実際の処
理の一部または全部を行い、その処理によって上記実施
の形態が実現される場合も本発明の範疇に含まれる。
【0077】以上説明した実施形態は、以下のような特
徴を有する。
徴を有する。
【0078】 暗号化装置の各部の構成要素、例え
ば、変換部は容量を規定したROMまたはRAM、記憶
部は入出力のビット数を規定したレジスタ、演算部は入
出力のビット数を規定した加算器、置換部は結線やシフ
トレジスタ、及びその用いる数などを含む全体構成を公
開することによって、暗号装置は誰でもが自由に使用す
ることができる。
ば、変換部は容量を規定したROMまたはRAM、記憶
部は入出力のビット数を規定したレジスタ、演算部は入
出力のビット数を規定した加算器、置換部は結線やシフ
トレジスタ、及びその用いる数などを含む全体構成を公
開することによって、暗号装置は誰でもが自由に使用す
ることができる。
【0079】 暗号アルゴリズムの中心をなす変換表
の値は乱数発生部によって鍵である初期値から生成され
る乱数であるので、変換表の値を予測できず安全であ
る。また、このとき乱数発生部で発生させる乱数は、自
乗剰余乱数やRSA乱数や離散対数乱数のように安全性
が保証された乱数であるので、発生する乱数が容易に予
測できたり、偏った性質をもたない。
の値は乱数発生部によって鍵である初期値から生成され
る乱数であるので、変換表の値を予測できず安全であ
る。また、このとき乱数発生部で発生させる乱数は、自
乗剰余乱数やRSA乱数や離散対数乱数のように安全性
が保証された乱数であるので、発生する乱数が容易に予
測できたり、偏った性質をもたない。
【0080】 乱数発生部で発生させる乱数は、前述
の自乗剰余乱数やRSA乱数や離散対数乱数のように安
全性が保証された乱数であるので、考案者に都合のいい
乱数が発生しない。また、その乱数による具体的な変換
表の値の定め方や暗号装置全体の構成は公開するので、
学会などの場でその安全性について議論することができ
る。さらに、乱数を発生させる初期値を通信を行う毎、
さらには通信中も更新し、設定値の値を頻繁に変えるこ
とで、安全性を増すことができる。
の自乗剰余乱数やRSA乱数や離散対数乱数のように安
全性が保証された乱数であるので、考案者に都合のいい
乱数が発生しない。また、その乱数による具体的な変換
表の値の定め方や暗号装置全体の構成は公開するので、
学会などの場でその安全性について議論することができ
る。さらに、乱数を発生させる初期値を通信を行う毎、
さらには通信中も更新し、設定値の値を頻繁に変えるこ
とで、安全性を増すことができる。
【0081】 本出願人が先に出願した特開平07-253
752号公報では、自乗剰余乱数を生成する手法、及び自
乗剰余乱数によって鍵を頻繁に変更する暗号方式を提案
されているが、これらの手法を応用すれば、鍵だけでな
く変換表自体も容易に変更することができる。DESの
変換表程度の乱数であれば小さな規模で高速に発生させ
ることが可能である。
752号公報では、自乗剰余乱数を生成する手法、及び自
乗剰余乱数によって鍵を頻繁に変更する暗号方式を提案
されているが、これらの手法を応用すれば、鍵だけでな
く変換表自体も容易に変更することができる。DESの
変換表程度の乱数であれば小さな規模で高速に発生させ
ることが可能である。
【0082】以上によって、変換表自体を可変かつ秘密
にすることによって文献〔3〕、〔4〕の攻撃法の適用が
できず、かつ、上述の〜の特徴をもつ安全性及び実
現性の高い暗号アルゴリズムを構成することができる。
にすることによって文献〔3〕、〔4〕の攻撃法の適用が
できず、かつ、上述の〜の特徴をもつ安全性及び実
現性の高い暗号アルゴリズムを構成することができる。
【0083】
【発明の効果】以上のように本発明によれば、次の特徴
を持つ暗号処理装置及び通信システムを実現することが
できる。 誰もが自由に使えるように、暗号装置は公開できる。 暗号装置から暗号アルゴリズムなどの解析ができず安
全である。 暗号アルゴリズムの考案者も不正できないことを検証
することができる。 実現が容易である。
を持つ暗号処理装置及び通信システムを実現することが
できる。 誰もが自由に使えるように、暗号装置は公開できる。 暗号装置から暗号アルゴリズムなどの解析ができず安
全である。 暗号アルゴリズムの考案者も不正できないことを検証
することができる。 実現が容易である。
【0084】これによって、誰もが自由に使えながら、
その暗号アルゴリズムを秘密にした安全性の高い暗号処
理装置が容易に実現される。さらに、この暗号処理装置
は、従来の攻撃法のように大量のデータの入出力が得ら
れたとしても、例えば、鍵や次のSボックスの内容など
の次の暗号アルゴリズムを決定する要素が予測できない
という従来にない安全性を実現する。
その暗号アルゴリズムを秘密にした安全性の高い暗号処
理装置が容易に実現される。さらに、この暗号処理装置
は、従来の攻撃法のように大量のデータの入出力が得ら
れたとしても、例えば、鍵や次のSボックスの内容など
の次の暗号アルゴリズムを決定する要素が予測できない
という従来にない安全性を実現する。
【0085】また、この暗号処理装置の安全性を実現す
る乱数発生器は小さな規模で実現でき、かつ実用上十分
な速さで乱数を生成することができる。
る乱数発生器は小さな規模で実現でき、かつ実用上十分
な速さで乱数を生成することができる。
【図面の簡単な説明】
【図1】実施形態1の暗号化装置のブロック構成を示す
図である。
図である。
【図2】実施形態1で用いるF関数のブロック図であ
る。
る。
【図3】実施形態1による暗号化手順を示すフローチャ
ートである。
ートである。
【図4】実施形態2の暗号化装置のブロック構成を示す
図である。
図である。
【図5】実施形態2で用いるF関数のブロック図であ
る。
る。
【図6】実施形態2による暗号化手順を示すフローチャ
ートである。
ートである。
【図7】実施形態3による鍵更新を説明する図である。
【図8】実施形態4による暗号化手順を示すフローチャ
ートである。
ートである。
【図9】暗号通信ネットワークの説明図である。
【図10】実施形態5による通信装置のブロック図であ
る。
る。
【図11】実施形態5による通信手順の説明図である。
【図12】従来のDES暗号装置の構成を示すブロック
図である。
図である。
【図13】従来のDES暗号装置におけるF関数のブロ
ック図である。
ック図である。
Claims (15)
- 【請求項1】 同一構成の変換手段による変換を繰り返
して平文の暗号化または暗号文の復号を行なう暗号処理
装置であって、 暗号文の送信側と受信側とで共通に保持する秘密の鍵情
報を初期値として乱数を生成する乱数生成手段と、 前記乱数生成手段により生成された乱数に基づいて前記
変換手段の構成を設定する設定手段とを有することを特
徴とする暗号処理装置。 - 【請求項2】 前記変換手段は変換表を利用し、前記設
定手段は、前記生成された乱数を当該変換表の内容とし
て書き込むことで、前記変換手段の構成を設定すること
を特徴とする請求項1に記載の暗号処理装置。 - 【請求項3】 前記設定手段は、暗号文の送信側と受信
側とで同一のタイミングにより、前記乱数生成手段によ
り新たに生成された乱数に基づいて前記変換手段の構成
を再設定することを特徴とする請求項1に記載の暗号処
理装置。 - 【請求項4】 それぞれが内部鍵を用いる複数の暗号処
理手段による処理を順次行なって平文の暗号化または暗
号文の復号を行なう暗号処理装置であって、暗号文の送
信側と受信側とで共通に保持する秘密の鍵情報を初期値
として乱数を生成する乱数生成手段と、 前記乱数生成手段により生成された乱数に基づいて前記
複数の暗号処理手段の内部鍵をそれぞれ設定する設定手
段とを有することを特徴とする暗号処理装置。 - 【請求項5】 前記設定手段は、暗号文の送信側と受信
側とで同一のタイミングにより、前記乱数生成手段によ
り新たに生成された乱数に基づいて前記複数の暗号処理
手段の内部鍵をそれぞれ更新することを特徴とする請求
項4に記載の暗号処理装置。 - 【請求項6】 前記暗号処理手段は変換表を利用し、前
記設定手段は更に、前記生成された乱数を当該変換表の
内容として書き込むことで、前記暗号処理手段の構成を
設定することを特徴とする請求項4に記載の暗号処理装
置。 - 【請求項7】 前記設定手段は、暗号文の送信側と受信
側とで同一のタイミングにより、前記乱数生成手段によ
り新たに生成された乱数に基づいて前記変換手段の構成
を再設定することを特徴とする請求項6に記載の暗号処
理装置。 - 【請求項8】 前記乱数生成手段が、次に生成される乱
数を予測することが、任意に選ばれた素数の積の因数分
解または離散対数問題を解くことと同等の解析の困難さ
を有する乱数を生成することを特徴とする請求項1乃至
7に記載の暗号処理装置。 - 【請求項9】 前記乱数は、自乗剰余乱数、RSA乱数、
離散対数乱数のいずれかであることを特徴とする請求項
8に記載の暗号処理装置。 - 【請求項10】 請求項1乃至9に記載の暗号処理装置
を送信側と受信側とに備え、当該送信側と受信側との間
で暗号文による通信を行なう通信手段と、当該通信に先
立って前記秘密の鍵情報を当該送信側と受信側とで共有
させる鍵共有手段とを有することを特徴とする通信シス
テム。 - 【請求項11】 前記鍵共有手段により前記秘密の鍵情
報を通信中も更新することを特徴とする請求項10に記
載の通信システム。 - 【請求項12】 同一構成の変換機構による変換を繰り
返して平文の暗号化または暗号文の復号を行なう暗号処
理方法であって、 暗号文の送信側と受信側とで共通に保持する秘密の鍵情
報を初期値として乱数を生成する乱数生成工程と、 前記乱数生成工程により生成された乱数に基づいて前記
変換機構の構成を設定する設定工程とを有することを特
徴とする暗号処理方法。 - 【請求項13】 それぞれが内部鍵を用いる複数の暗号
処理機構による処理を順次行なって平文の暗号化または
暗号文の復号を行なう暗号処理方法であって、 暗号文の送信側と受信側とで共通に保持する秘密の鍵情
報を初期値として乱数を生成する乱数生成工程と、 前記乱数生成工程により生成された乱数に基づいて前記
複数の暗号処理機構の内部鍵をそれぞれ設定する設定工
程とを有することを特徴とする暗号処理方法。 - 【請求項14】 同一手順の変換処理を繰り返して平文
の暗号化または暗号文の復号をコンピュータに実行させ
るための暗号処理プログラムであって、 暗号文の送信側と受信側とで共通に保持する秘密の鍵情
報を初期値として乱数を生成する乱数生成工程と、 前記乱数生成工程により生成された乱数に基づいて前記
変換処理の手順を設定する設定工程とを有することを特
徴とする暗号処理プログラム。 - 【請求項15】 それぞれが内部鍵を用いる複数の暗号
処理を順次行なって平文の暗号化または暗号文の復号を
コンピュータに実行させるための暗号処理プログラムで
あって、 暗号文の送信側と受信側とで共通に保持する秘密の鍵情
報を初期値として乱数を生成する乱数生成工程と、 前記乱数生成工程により生成された乱数に基づいて前記
複数の暗号処理の内部鍵をそれぞれ設定する設定工程と
を有することを特徴とする暗号処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001084543A JP2002287621A (ja) | 2001-03-23 | 2001-03-23 | 暗号処理装置及びその方法及びそのプログラム、通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001084543A JP2002287621A (ja) | 2001-03-23 | 2001-03-23 | 暗号処理装置及びその方法及びそのプログラム、通信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002287621A true JP2002287621A (ja) | 2002-10-04 |
Family
ID=18940193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001084543A Withdrawn JP2002287621A (ja) | 2001-03-23 | 2001-03-23 | 暗号処理装置及びその方法及びそのプログラム、通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002287621A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011530719A (ja) * | 2008-08-06 | 2011-12-22 | キャシー・ホールディングス・リミテッド・ライアビリティ・カンパニー | 不確定性ランダム値発生器 |
-
2001
- 2001-03-23 JP JP2001084543A patent/JP2002287621A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011530719A (ja) * | 2008-08-06 | 2011-12-22 | キャシー・ホールディングス・リミテッド・ライアビリティ・カンパニー | 不確定性ランダム値発生器 |
JP2014178716A (ja) * | 2008-08-06 | 2014-09-25 | Cassy Holdings Llc | 不確定性ランダム値発生器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1063811B1 (en) | Cryptographic apparatus and method | |
JP4828068B2 (ja) | コンピュータで効率的な線形フィードバック・シフト・レジスタ | |
EP0635956B1 (en) | Encryption apparatus, communication system using the same and method therefor | |
US5745577A (en) | Symmetric cryptographic system for data encryption | |
US6189095B1 (en) | Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks | |
US20090080647A1 (en) | Method and System for Usage of Block Cipher Encryption | |
US20110216901A1 (en) | Keystream encryption device, method, and program | |
US7251326B2 (en) | Method and apparatus for data encryption | |
US7277543B1 (en) | Cryptographic combiner using two sequential non-associative operations | |
JPWO2006019152A1 (ja) | メッセージ認証子生成装置、メッセージ認証子検証装置、およびメッセージ認証子生成方法 | |
Skrobek | Cryptanalysis of chaotic stream cipher | |
JP2003516659A (ja) | 1の補数暗号コンバイナ | |
JP3658004B2 (ja) | 通信システム | |
JP2000209195A (ja) | 暗号通信システム | |
JPH0946332A (ja) | Rsa型手順により暗号化された通信文用通信システム | |
CN106973061B (zh) | 一种基于可逆逻辑电路的aes的外发文件加密方法 | |
Ledda et al. | Enhancing IDEA algorithm using circular shift and middle square method | |
WO2022244079A1 (ja) | 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム | |
JPH0736672A (ja) | 乱数発生器、及びそれを用いた通信システム及びその方法 | |
Parvathy et al. | VLSI implementation of Blowfish algorithm for secure image data transmission | |
KR20190037980A (ko) | 퍼베이시브 컴퓨팅을 위한 효과적인 초경량 블록 암호 시스템 | |
JPH1117673A (ja) | 共通鍵暗号通信方法及びその通信ネットワーク | |
JP3694242B2 (ja) | 署名付き暗号通信方法及びその装置 | |
JP3358954B2 (ja) | 擬似ランダムビット列生成器及びそれを使用する暗号通信方法 | |
CN108616351B (zh) | 一种全动态加密解密方法及加密解密装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080603 |