JPH0815272B2 - 共有暗号鍵の配送方法 - Google Patents
共有暗号鍵の配送方法Info
- Publication number
- JPH0815272B2 JPH0815272B2 JP61196721A JP19672186A JPH0815272B2 JP H0815272 B2 JPH0815272 B2 JP H0815272B2 JP 61196721 A JP61196721 A JP 61196721A JP 19672186 A JP19672186 A JP 19672186A JP H0815272 B2 JPH0815272 B2 JP H0815272B2
- Authority
- JP
- Japan
- Prior art keywords
- communication device
- node
- encryption key
- key
- shared
- 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
Links
Description
【発明の詳細な説明】 (発明の属する技術分野) 本発明は、通信回線により通信を行う複数の通信装置
(通信装置とは、通信機能を有する装置のことであり、
例えば、端末装置、通信処理装置、通信制御装置、交換
機、又は、電子計算機を意味し、以後は、簡単のため
に、通信装置のことをノードと呼ぶことがある)の間
で、通信データ(通信装置の間で通信されるデータ)を
慣用暗号(暗号化用の鍵と復号化用の鍵が同一な暗号
法)で暗号化した通信を行うための暗号通信における共
有暗号鍵(複数の通信装置で共用されて、通信データの
暗号化および復号化に用いられる暗号鍵)の配送および
認証方法に関するものである。
(通信装置とは、通信機能を有する装置のことであり、
例えば、端末装置、通信処理装置、通信制御装置、交換
機、又は、電子計算機を意味し、以後は、簡単のため
に、通信装置のことをノードと呼ぶことがある)の間
で、通信データ(通信装置の間で通信されるデータ)を
慣用暗号(暗号化用の鍵と復号化用の鍵が同一な暗号
法)で暗号化した通信を行うための暗号通信における共
有暗号鍵(複数の通信装置で共用されて、通信データの
暗号化および復号化に用いられる暗号鍵)の配送および
認証方法に関するものである。
(従来の技術) 暗号通信においては、共有暗号鍵が重要な問題の一つ
である。暗号鍵のことを単に「鍵」と呼ぶことがある。
共有暗号鍵の配送のことを、単に「鍵配送」と呼ぶこと
がある。
である。暗号鍵のことを単に「鍵」と呼ぶことがある。
共有暗号鍵の配送のことを、単に「鍵配送」と呼ぶこと
がある。
従来、共有暗号鍵の配送方式としては、慣用暗号によ
る方式、及び公開鍵暗号による方式が提案されている。
る方式、及び公開鍵暗号による方式が提案されている。
慣用暗号方式による方式の欠点は、共有暗号鍵を配送
時に共有暗号鍵を暗号化および復号化するための秘密の
鍵を人手の介在により配送する必要があるため、操作性
と安全性に問題があることである。
時に共有暗号鍵を暗号化および復号化するための秘密の
鍵を人手の介在により配送する必要があるため、操作性
と安全性に問題があることである。
公開鍵暗号による鍵配送方式(例えば、MIX方式(一
松 信(監修)“データ保護と暗号化の研究”、日本経
済新聞社、(1983年)」の153〜163ページ)の欠点は、
暗号化や相手認証のための秘密鍵の管理が複雑なことで
ある。
松 信(監修)“データ保護と暗号化の研究”、日本経
済新聞社、(1983年)」の153〜163ページ)の欠点は、
暗号化や相手認証のための秘密鍵の管理が複雑なことで
ある。
Diffie-Hellman氏の鍵配送方式(Diffie.W.and Hella
m.H.“New Directions in Cryptography",IEEE Transac
ions,IT-22,No.11,pp.644-654(1976年)」の649ペー
ジ)は、公開鍵暗号ではないが、通信装置の間で事前に
秘密情報を共有せずに共有暗号鍵の生成を行うことがで
きる。しかし、その方式では、鍵配送時の相手側通信装
置の認証方法を示していない。)Shamir氏(「Kohnhei
m,A.G.“CRYPTOGRAPHY:A Primer",Willey-Interscienc
e,New York(1981年)、の345〜346ページ)は、法の値
が素数である離散形べき乗関数の暗号により、二者間で
秘密情報(例えば共有暗号鍵など)を通信する方式を示
しているが、その方式では鍵配送時の相手側通信装置の
認証方法を示していない。
m.H.“New Directions in Cryptography",IEEE Transac
ions,IT-22,No.11,pp.644-654(1976年)」の649ペー
ジ)は、公開鍵暗号ではないが、通信装置の間で事前に
秘密情報を共有せずに共有暗号鍵の生成を行うことがで
きる。しかし、その方式では、鍵配送時の相手側通信装
置の認証方法を示していない。)Shamir氏(「Kohnhei
m,A.G.“CRYPTOGRAPHY:A Primer",Willey-Interscienc
e,New York(1981年)、の345〜346ページ)は、法の値
が素数である離散形べき乗関数の暗号により、二者間で
秘密情報(例えば共有暗号鍵など)を通信する方式を示
しているが、その方式では鍵配送時の相手側通信装置の
認証方法を示していない。
(発明の目的) 本発明の目的は、通信データを慣用暗号で暗号化して
通信するために複数のノード間で共有する必要がある共
有暗号鍵の配送に、離散形べき乗関数の暗号を用いる場
合に、共有暗号鍵の配送時の相手側ノードの正当性の認
証は、認証データと一方向性関数演算装置を用いて行う
方式またはパスワードを用いて行う方式によって、且つ
相手側ノードの正当性の認証が可能な、共有暗号鍵の配
送方法を提供することである。
通信するために複数のノード間で共有する必要がある共
有暗号鍵の配送に、離散形べき乗関数の暗号を用いる場
合に、共有暗号鍵の配送時の相手側ノードの正当性の認
証は、認証データと一方向性関数演算装置を用いて行う
方式またはパスワードを用いて行う方式によって、且つ
相手側ノードの正当性の認証が可能な、共有暗号鍵の配
送方法を提供することである。
(実施例) 本発明の実施例で対象とする通信システム(即ち、ノ
ード、及びノードを相互接続する通信網)におけるノー
ドの総数は、n+1個(n≧1)であり、ノードの識別
名は、ノード0、ノード1、・・・ノードnとする。
ード、及びノードを相互接続する通信網)におけるノー
ドの総数は、n+1個(n≧1)であり、ノードの識別
名は、ノード0、ノード1、・・・ノードnとする。
本発明の共有暗号鍵の配送方法は、通信網の論理的構
成として、例えば、ポイントツーポイントの通信(即
ち、二つのノード間の通信)及びポイントツーマルチポ
イントの通信(例えば、三つ以上のノードの間の同報通
信)に適用できる。
成として、例えば、ポイントツーポイントの通信(即
ち、二つのノード間の通信)及びポイントツーマルチポ
イントの通信(例えば、三つ以上のノードの間の同報通
信)に適用できる。
なお、通信網の物理的構成(例えば、専用線、交換回
路、構内網など)、インタフェース、及び通信プロトコ
ルは任意である。
路、構内網など)、インタフェース、及び通信プロトコ
ルは任意である。
離散形べき乗関数暗号装置(離散形べき乗関数を用い
る暗号装置)の一構成例を述べる。
る暗号装置)の一構成例を述べる。
べき乗関数Wt、即ち、Wのt乗を、上記容易化のため
に、 exp(W,t)=Wtと表わす。
に、 exp(W,t)=Wtと表わす。
整数は、本発明の実施例では、負でない整数を意味す
る。A、B、及びLを任意の整数とするとき、Bについ
てのLを法とする剰余がAであることを、 A=B(mod L)と表わす。
る。A、B、及びLを任意の整数とするとき、Bについ
てのLを法とする剰余がAであることを、 A=B(mod L)と表わす。
このとき、0≦A<Lである。
また、A、B及びLを任意の整数とするとき、AとB
とがLを法として合同であることを A≡B(mod L)と表わす。
とがLを法として合同であることを A≡B(mod L)と表わす。
X、Y、Nを任意の整数として、離散形べき乗関数
を、XのY乗の法をNとする剰余、即ち、 exp(X,Y)(mod N)と表わす。
を、XのY乗の法をNとする剰余、即ち、 exp(X,Y)(mod N)と表わす。
離散形べき乗関数暗号装置における平文をM、暗号文
をC、暗号化用の鍵をZ、復号化用の鍵をZIとし、M、
C、Z、ZI、及びNは、整数とし、ZとG(N)は、互
いに素とし、 0≦M<N 0≦C<N とする。整数ZIは整数Zの逆元とする。ZとZIの間に
は、次の関係がある。
をC、暗号化用の鍵をZ、復号化用の鍵をZIとし、M、
C、Z、ZI、及びNは、整数とし、ZとG(N)は、互
いに素とし、 0≦M<N 0≦C<N とする。整数ZIは整数Zの逆元とする。ZとZIの間に
は、次の関係がある。
Z・ZI≡1(mod G(N)) ここで、 0<Z<G(N) 0<ZI<G(N) である。すると、離散形べき乗関数暗号装置の暗号処理
である暗号化と復号化は、 C≡exp(M,Z)(mod N) M≡exp(C,ZI)(mod N) となる(即ち、暗号化と復号化は対象な操作である)。
G(N)は、例えば、オイラー(Euler)の関数をT
(・)と表わすと、 G(N)=T(N) である。(任意の自然数SについてのEulerの関数(例
えば、高木貞治“初等整数論講義 第2版”、共立出版
(昭和59年)、の41〜49ページ)をT(S)とする。T
(S)は、自然数1、2、・・・,Sの中に、Sと互いに
素な数が幾つあるかを表わす。Sを「素数べき」に分解
して、 S=(J1のR1乗)・(J2のR2乗)・・・(JkのRk乗) とすれば(ここで、k≧1であり、Ji=1,2,・・・,k)
は素数であり、Ri、(i=1,2,・・・,k)は1以上の整
数である)、 T(S)=S・(1−1/J1)(1−1/J2)・・・(1
−1/Jk)であり、特にSが素数のときは、 T(S)=S−1 である。
である暗号化と復号化は、 C≡exp(M,Z)(mod N) M≡exp(C,ZI)(mod N) となる(即ち、暗号化と復号化は対象な操作である)。
G(N)は、例えば、オイラー(Euler)の関数をT
(・)と表わすと、 G(N)=T(N) である。(任意の自然数SについてのEulerの関数(例
えば、高木貞治“初等整数論講義 第2版”、共立出版
(昭和59年)、の41〜49ページ)をT(S)とする。T
(S)は、自然数1、2、・・・,Sの中に、Sと互いに
素な数が幾つあるかを表わす。Sを「素数べき」に分解
して、 S=(J1のR1乗)・(J2のR2乗)・・・(JkのRk乗) とすれば(ここで、k≧1であり、Ji=1,2,・・・,k)
は素数であり、Ri、(i=1,2,・・・,k)は1以上の整
数である)、 T(S)=S・(1−1/J1)(1−1/J2)・・・(1
−1/Jk)であり、特にSが素数のときは、 T(S)=S−1 である。
G(N)の別な構成法は、例えば、N=p1・p2・・・
pk、(k≧2)且つ、p1,p2,・・・,pkがすべて異なる
素数のときは、 G(N)=LCM{p1−1,p2−1,・・・,pk−1}とする
ことができる。
pk、(k≧2)且つ、p1,p2,・・・,pkがすべて異なる
素数のときは、 G(N)=LCM{p1−1,p2−1,・・・,pk−1}とする
ことができる。
ここでLCM{・,・,・・・,・}は、括弧内のすべ
ての数の最小公倍数を表わす。逆元の計算法は、例え
ば、「伊理正夫ほか(編集)“計算の効率化とその限
界”、数学セミナー増刊、日本評論社、東京、(1980
年)」の50〜51ページ、(又は「Rivest.R.L.,et al.
“A Method for Obtaining Digital Signatures and Pu
blic-KeyCrytosystem",Communications of the ACM,Vo
l.21,No.2,pp.120-126,(1978年)の124ページ)に示さ
れており、例えば、ユークリッドの互除法により求めら
れることができる。
ての数の最小公倍数を表わす。逆元の計算法は、例え
ば、「伊理正夫ほか(編集)“計算の効率化とその限
界”、数学セミナー増刊、日本評論社、東京、(1980
年)」の50〜51ページ、(又は「Rivest.R.L.,et al.
“A Method for Obtaining Digital Signatures and Pu
blic-KeyCrytosystem",Communications of the ACM,Vo
l.21,No.2,pp.120-126,(1978年)の124ページ)に示さ
れており、例えば、ユークリッドの互除法により求めら
れることができる。
任意の二つの整数AとBが互いに素であることは、ユ
ークリッドの互除法により、最大公約数を計算した結果
が1となることから分かる。
ークリッドの互除法により、最大公約数を計算した結果
が1となることから分かる。
離散形べき乗関数の計算法は、例えば、前述のRivest
氏の文献123ページに述べられている方法により求める
ことができる。{又は伊理正夫氏ほか(編集)の文献の
128〜129ページに記載されているべき乗の計算法と48〜
54ページの記述されているmodの計算法(即ち、剰余演
算)を併用することにより求めることができる。又は、
「Knuth,D.D.:“The Art of Computer Programming",Vo
l.1.2,Seminumerical Algorithms,Addison-Wesley,(19
69年)」の233〜245ページにおける計算法を用いること
もできる。
氏の文献123ページに述べられている方法により求める
ことができる。{又は伊理正夫氏ほか(編集)の文献の
128〜129ページに記載されているべき乗の計算法と48〜
54ページの記述されているmodの計算法(即ち、剰余演
算)を併用することにより求めることができる。又は、
「Knuth,D.D.:“The Art of Computer Programming",Vo
l.1.2,Seminumerical Algorithms,Addison-Wesley,(19
69年)」の233〜245ページにおける計算法を用いること
もできる。
離散形べき乗関数暗号装置では、公開情報は離散形べ
き乗関数の法の値であり、秘密情報は暗号化用の鍵Zお
よび復号化用の鍵ZIである。
き乗関数の法の値であり、秘密情報は暗号化用の鍵Zお
よび復号化用の鍵ZIである。
離散形べき乗関数暗号装置は、ハードウェア、又はハ
ードウェアとソフトウェアの組み合わせにより実現でき
る。
ードウェアとソフトウェアの組み合わせにより実現でき
る。
第1図は、離散形べき乗関数暗号装置の一構成例であ
る。
る。
信号路2は、離散形べき乗関数暗号装置1へ入力デー
タを入力するための信号路であり、任意の整数のデータ
を入力する。
タを入力するための信号路であり、任意の整数のデータ
を入力する。
信号路3は鍵の入力のための信号路であり、暗号化用
の鍵または復号化用の鍵を入力する。
の鍵または復号化用の鍵を入力する。
信号路4は離散形べき乗関数の法の値の入力のための
信号路であり、法の値を入力する。
信号路であり、法の値を入力する。
信号路5は出力データを出力するための信号路であ
り、離散形べき乗関数暗号装置1の処理結果を出力す
る。
り、離散形べき乗関数暗号装置1の処理結果を出力す
る。
次に、通信データ用暗号装置について述べる。
慣用暗号とは、暗号化用の鍵と復号化用の鍵が同一な
暗号法を意味する。
暗号法を意味する。
慣用暗号を用いる暗号装置の動作の一般的な記法を述
べる。
べる。
E(K;X)を、任意の情報Xを鍵Kの暗号法により、
鍵Kを用いて暗号化した値とし、且つ、D(K;Y)を、
任意の情報Yを鍵Kの暗号法により、鍵Kを用いて復号
化した値とすると、 D(K;E(K;X))=Xである。
鍵Kを用いて暗号化した値とし、且つ、D(K;Y)を、
任意の情報Yを鍵Kの暗号法により、鍵Kを用いて復号
化した値とすると、 D(K;E(K;X))=Xである。
慣用暗号の暗号アルゴリズムには、例えば、DES暗号
(“Data Encry ption Standard,Federal Information
Processing Standards Publication 46,U.S.A.,(1977
年)、及びFEAL暗号(清水、宮口、太田:“高速データ
暗号アルゴリズムFEAL"、電子通信学会技術報告、(情
報論)、Vol.80、No.113、IT86-33、pp.1-6、(1986
年))、などの暗号アルゴリズムがある。
(“Data Encry ption Standard,Federal Information
Processing Standards Publication 46,U.S.A.,(1977
年)、及びFEAL暗号(清水、宮口、太田:“高速データ
暗号アルゴリズムFEAL"、電子通信学会技術報告、(情
報論)、Vol.80、No.113、IT86-33、pp.1-6、(1986
年))、などの暗号アルゴリズムがある。
共有暗号鍵は、通信データ用暗号装置で用いる鍵であ
る。
る。
本発明は慣用信号の暗号アルゴリズムとは独立に構成
できるので、本発明における通信データ用暗号装置(即
ち、利用者の通信データの暗号化と復号化のための慣用
暗号の暗号装置)には、適度(その度合は対象とする通
信システムに依存)に安全な任意の慣用暗号の暗号アル
ゴリズムを使用できる。通信データ用暗号装置は、ハー
ドウェア、又はハードウェアとソフトウェアの組み合わ
せにより、実現できる。
できるので、本発明における通信データ用暗号装置(即
ち、利用者の通信データの暗号化と復号化のための慣用
暗号の暗号装置)には、適度(その度合は対象とする通
信システムに依存)に安全な任意の慣用暗号の暗号アル
ゴリズムを使用できる。通信データ用暗号装置は、ハー
ドウェア、又はハードウェアとソフトウェアの組み合わ
せにより、実現できる。
第2図は、通信データ用暗号装置の一実施例の一構成
例である。
例である。
共有暗号鍵は信号路8から、通信データ用暗号装置6
に入力される。信号路7から入力される入力データは平
文または暗号文であり、通信データ用暗号装置6によ
り、暗号化または復号化されて、信号路9から、暗号文
または平文として、出力データが出力される。
に入力される。信号路7から入力される入力データは平
文または暗号文であり、通信データ用暗号装置6によ
り、暗号化または復号化されて、信号路9から、暗号文
または平文として、出力データが出力される。
信号路10からは、通信データ用暗号装置6が、暗号化
の処理で動作するか、または復号化の処理で動作する
か、を区別するための制御信号を入力する。
の処理で動作するか、または復号化の処理で動作する
か、を区別するための制御信号を入力する。
共有暗号鍵をKCと表わす。また、KCijは、鍵配送を行
った結果として、ノードiとノードj、(i≠j)で共
有するKCを表わす。
った結果として、ノードiとノードj、(i≠j)で共
有するKCを表わす。
本発明の実施例では、ノードiからノードjへの通信
データを通信データ用暗号装置により暗号化または復号
化するときのKCであるKCijと、ノードjからノードiへ
の通信データを通信データ用暗号装置により暗号化また
は復号化するときのKCであるKCjiについて、 KCij=KCji とする。{但し、例えば、各ノードが別個のKCを生成し
て本発明の共有暗号鍵の配送方式を実行すれば、ノード
iからノードjへの暗号通信と、ノードjからノードi
への暗号通信で、別の共有暗号鍵を用いることができ
る。別の方法の例としては、本発明の共有暗号鍵の配送
方式で配送したKCijをノード間で取り決めてある一定の
二つの規則(例えば、それぞれの規則でビット位置が互
いに異なる、KCijの特定の一つのビットの反転操作)で
変換した値を二つ生成して新たな共有暗号鍵とすること
により、各方向で別の共有暗号鍵の値を使用することが
できる。} 次に、暗号通信方式の実施例を述べる。
データを通信データ用暗号装置により暗号化または復号
化するときのKCであるKCijと、ノードjからノードiへ
の通信データを通信データ用暗号装置により暗号化また
は復号化するときのKCであるKCjiについて、 KCij=KCji とする。{但し、例えば、各ノードが別個のKCを生成し
て本発明の共有暗号鍵の配送方式を実行すれば、ノード
iからノードjへの暗号通信と、ノードjからノードi
への暗号通信で、別の共有暗号鍵を用いることができ
る。別の方法の例としては、本発明の共有暗号鍵の配送
方式で配送したKCijをノード間で取り決めてある一定の
二つの規則(例えば、それぞれの規則でビット位置が互
いに異なる、KCijの特定の一つのビットの反転操作)で
変換した値を二つ生成して新たな共有暗号鍵とすること
により、各方向で別の共有暗号鍵の値を使用することが
できる。} 次に、暗号通信方式の実施例を述べる。
暗号通信とは、秘密保持が必要な通信データを暗号化
して通信を行うことである。本発明の共有暗号鍵の配送
方式を用いた暗号通信は、例えば、次のいずれかの方式
(暗号通信方式1または暗号通信方式2)で行うことが
できる。
して通信を行うことである。本発明の共有暗号鍵の配送
方式を用いた暗号通信は、例えば、次のいずれかの方式
(暗号通信方式1または暗号通信方式2)で行うことが
できる。
暗号通信方式1は次のとおりである。即ち、ノード間
の利用者の通信のための、通信データ用暗号装置による
暗号化および復号化の鍵を、データ暗号化鍵と呼び、こ
れをKFと表わす。
の利用者の通信のための、通信データ用暗号装置による
暗号化および復号化の鍵を、データ暗号化鍵と呼び、こ
れをKFと表わす。
暗号通信の利用者とは、例えば、通信装置を利用する
人、装置、又はコンピュータプログラムのことである。
本発明の共有暗号鍵の配送方式によりKFを共有暗号鍵と
して配送し、通信対象のノード間でKFを共有する。
人、装置、又はコンピュータプログラムのことである。
本発明の共有暗号鍵の配送方式によりKFを共有暗号鍵と
して配送し、通信対象のノード間でKFを共有する。
次に、送信側の利用者は、KFを鍵として通信データ用
暗号装置により通信データを暗号化して送信し、受信側
の利用者は、KFを鍵として通信データ用暗号装置により
暗号化された通信データを復号化して、暗号通信を行
う。
暗号装置により通信データを暗号化して送信し、受信側
の利用者は、KFを鍵として通信データ用暗号装置により
暗号化された通信データを復号化して、暗号通信を行
う。
暗号通信方式2は、次のとおりである。即ち、データ
暗号化鍵を慣用暗号で暗号化して配送する場合には、そ
のときの慣用暗号の鍵であるデータ暗号化鍵の暗号化用
鍵(KNと表わす)を配送する必要があり、その場合に
は、KNを共有暗号鍵とみなせば本発明の方式を適用でき
る。即ち、本発明の共有暗号鍵の配送方式によりKNを共
有暗号鍵として配送し、通信対象のノード間でKNを共有
する。
暗号化鍵を慣用暗号で暗号化して配送する場合には、そ
のときの慣用暗号の鍵であるデータ暗号化鍵の暗号化用
鍵(KNと表わす)を配送する必要があり、その場合に
は、KNを共有暗号鍵とみなせば本発明の方式を適用でき
る。即ち、本発明の共有暗号鍵の配送方式によりKNを共
有暗号鍵として配送し、通信対象のノード間でKNを共有
する。
次に、送信側の利用者は、KNを通信データ用暗号装置
の鍵としてKFを暗号化して送信し、受信側の利用者は、
KNを通信データ用暗号装置の鍵として暗号化されたKFを
復号化し、この結果として、KFがノード間で共有でき
る。
の鍵としてKFを暗号化して送信し、受信側の利用者は、
KNを通信データ用暗号装置の鍵として暗号化されたKFを
復号化し、この結果として、KFがノード間で共有でき
る。
次に、送信側の利用者は、KFを通信データ用暗号装置
の鍵として通信データを暗号化して送信し、受信側の利
用者は、KFを鍵として通信データ用暗号装置により暗号
化された通信データを復号化し、暗号通信を行う。
の鍵として通信データを暗号化して送信し、受信側の利
用者は、KFを鍵として通信データ用暗号装置により暗号
化された通信データを復号化し、暗号通信を行う。
本発明は、共有暗号鍵の配送方式を提供するものであ
り、共有暗号鍵の利用形態である暗号通信方式は、任意
である。
り、共有暗号鍵の利用形態である暗号通信方式は、任意
である。
次に、共有暗号鍵の配送時の相手側ノードの認証方式
について述べる。
について述べる。
共有暗号鍵の配送時には、各ノードは、相手側ノード
の正当性を認証する必要がある。本発明における共有暗
号鍵の配送時の相手側ノードの認証方式には、次の三つ
の方式の内のいずれかを用いることができる。これらの
方式で用いる認証用データは、共有暗号鍵の配送手順を
開始する以前に生成して設定しておく必要があるが、一
度設定しておけば、任意の回数の共有暗号鍵の配送手順
に共通に使用できる。
の正当性を認証する必要がある。本発明における共有暗
号鍵の配送時の相手側ノードの認証方式には、次の三つ
の方式の内のいずれかを用いることができる。これらの
方式で用いる認証用データは、共有暗号鍵の配送手順を
開始する以前に生成して設定しておく必要があるが、一
度設定しておけば、任意の回数の共有暗号鍵の配送手順
に共通に使用できる。
a)認証方式1 認証方式1は、認証用データを入力してデータ変換を
行う装置(即ち、データ変換装置)として一方向性関数
演算装置(即ち、一方向性関数を実現する演算装置)を
用いて共有暗号鍵の配送時の相手側ノードの正当性に認
証を行う方式であり、一つのノードの秘密パラメータで
ある認証用データを、一方向性関数により変換した値を
公開情報として各ノードで記憶装置に所有する公開簿に
設定する。秘密パラメータは、認証する要素(例えば、
ノード、又はノードの利用者)に対して設けることがで
きる。
行う装置(即ち、データ変換装置)として一方向性関数
演算装置(即ち、一方向性関数を実現する演算装置)を
用いて共有暗号鍵の配送時の相手側ノードの正当性に認
証を行う方式であり、一つのノードの秘密パラメータで
ある認証用データを、一方向性関数により変換した値を
公開情報として各ノードで記憶装置に所有する公開簿に
設定する。秘密パラメータは、認証する要素(例えば、
ノード、又はノードの利用者)に対して設けることがで
きる。
認証方式1では、鍵配送以前に秘密に認証用データを
配送することは不要であり、公開情報の転送と記憶装置
への設定だけである。一方向性関数を、f(・)と表わ
す。
配送することは不要であり、公開情報の転送と記憶装置
への設定だけである。一方向性関数を、f(・)と表わ
す。
一方向性関数とは、θからf(θ)を計算するのは容
易であるが、f(θ)からθを計算するのは、計算量が
大であるために極めて困難である関数のことである。一
方向性関数演算装置は、ハードウェア、又はハードウェ
アとソフトウェアの組み合わせにより、実現できる。
易であるが、f(θ)からθを計算するのは、計算量が
大であるために極めて困難である関数のことである。一
方向性関数演算装置は、ハードウェア、又はハードウェ
アとソフトウェアの組み合わせにより、実現できる。
f(・)を実現できる装置の一構成例を以下に示す。
適当に選択した暗号法(例えば、DES暗号、FEAL暗号な
ど)について、鍵をKとすると、一方向性関数f(θ)
を、次のようにすることができる。
適当に選択した暗号法(例えば、DES暗号、FEAL暗号な
ど)について、鍵をKとすると、一方向性関数f(θ)
を、次のようにすることができる。
f(θ)=E(K;θ)+θ ここで、+は、排他的論理和を表わす。例えば、X+Y
は、XとYの排他的論理和を表わす。この場合の秘密情
報はθであり、公開情報は、暗号化関数E(K;θ)の暗
号アルゴリズム、鍵K、及びf(θ)である。
は、XとYの排他的論理和を表わす。この場合の秘密情
報はθであり、公開情報は、暗号化関数E(K;θ)の暗
号アルゴリズム、鍵K、及びf(θ)である。
暗号アルゴリズムは、任意であり、通信データ用暗号
装置の暗号アルゴリズムと同じであっても、異なってい
てもよい。一方向性関数演算装置は、ハードウェア、又
はハードウェアとソフトウェアの組み合わせにより、実
現できる。
装置の暗号アルゴリズムと同じであっても、異なってい
てもよい。一方向性関数演算装置は、ハードウェア、又
はハードウェアとソフトウェアの組み合わせにより、実
現できる。
第3図は、一方向性関数演算装置の一構成例である。
一方向性関数演算装置11は、分流装置12、一方向性関
数演算装置用暗号装置13、排他的論理和演算装置14、及
び信号路15,16,17,18,19,20から構成される。
数演算装置用暗号装置13、排他的論理和演算装置14、及
び信号路15,16,17,18,19,20から構成される。
信号路20からは、一方向性関数演算装置用暗号装置13
への鍵を入力する。一方向性関数演算用暗号装置13は、
常に暗号化の処理を行う。入力データは、信号路15から
入力する。
への鍵を入力する。一方向性関数演算用暗号装置13は、
常に暗号化の処理を行う。入力データは、信号路15から
入力する。
信号路15から入力されたデータは、分流装置12によ
り、同じデータが信号路16と信号路17に出力され、信号
路18には、入力データが暗号化されたデータが出力され
る。信号路17と信号路18のデータは、排他的論理和演算
装置14により、排他的論理和の演算が行われて、信号路
19に出力データとして出力される。
り、同じデータが信号路16と信号路17に出力され、信号
路18には、入力データが暗号化されたデータが出力され
る。信号路17と信号路18のデータは、排他的論理和演算
装置14により、排他的論理和の演算が行われて、信号路
19に出力データとして出力される。
認証用データをノード毎に付与する場合の、公開簿の
一構成例を以下に示す。
一構成例を以下に示す。
ノードiで所有してノードiからノードjへの情報転
送時にノードjがノードiの正当性を認証するための認
証用データをQijとする。
送時にノードjがノードiの正当性を認証するための認
証用データをQijとする。
共有暗号鍵の配送手順の開始以前に各ノードで個別に
記憶装置に保存しておく公開簿の公開情報には、例えば
ノードi、(i=0,1,…,n)では、f(Qij)、(ここ
で、j=0,1,…,n、且つi≠j)を設定する。但し、各
ノードは、通信相手としての可能性のあるノードについ
てのみ公開簿に設定すればよい。
記憶装置に保存しておく公開簿の公開情報には、例えば
ノードi、(i=0,1,…,n)では、f(Qij)、(ここ
で、j=0,1,…,n、且つi≠j)を設定する。但し、各
ノードは、通信相手としての可能性のあるノードについ
てのみ公開簿に設定すればよい。
公開簿は、すべてのノードが参照可能であり、更新は
それを所有するノードだけが可能である。公開簿の情報
がノード間でアクセスされる場合、ノード間に転送され
る情報は、公開情報のみであるので、敵対者に通信回線
を盗聴されても安全性に問題はない。
それを所有するノードだけが可能である。公開簿の情報
がノード間でアクセスされる場合、ノード間に転送され
る情報は、公開情報のみであるので、敵対者に通信回線
を盗聴されても安全性に問題はない。
共有暗号鍵の配送手順の開始以前に、各ノードは、他
のノードの公開簿から自己のノードに関する情報を得
て、自己のノードの記憶装置に保存する。即ち、ノード
は、通信相手として可能性のあるノードjの公開簿にア
クセスするか、又はノードjからの通知により、 f(Qji)、(ここで、j=0,1,…,n、且つi≠j) をノードiの記憶装置に保存する。(Qjiは、Qijとは別
の認証用データである。) ノードiからノードjに共有暗号鍵を配送する場合
に、ノードjがノードiを認証する方法の一例を述べ
る。
のノードの公開簿から自己のノードに関する情報を得
て、自己のノードの記憶装置に保存する。即ち、ノード
は、通信相手として可能性のあるノードjの公開簿にア
クセスするか、又はノードjからの通知により、 f(Qji)、(ここで、j=0,1,…,n、且つi≠j) をノードiの記憶装置に保存する。(Qjiは、Qijとは別
の認証用データである。) ノードiからノードjに共有暗号鍵を配送する場合
に、ノードjがノードiを認証する方法の一例を述べ
る。
ノードiは、Qijを認証用データとしてKCijと共に離
散形べき乗関数暗号装置により暗号化して送信する。
散形べき乗関数暗号装置により暗号化して送信する。
ノードjは、復号化によりKCij及びQijを得て、Qijか
ら計算したf(Qij)が、すでに相手側(即ち、ノード
i)の公開簿から得てノードjで保持している情報(即
ち、f(Qij))と等しいことを確認することにより、
ノードiの正当性を認証する。ノードjは配送されたQi
jを確認処理完了後に、直ちに消去する。更に、この場
合にノードiがノードjを認証する方法の一例は、ノー
ドjではノードiから送信されたKCijを鍵として通信デ
ータ用暗号装置によりQjiを暗号化してノードiに送信
し、ノードiではその暗号化されたQjiをKCjiを鍵とし
て通信データ用暗号装置により復号化してQjiを得て、
そのQjiから計算したf(Qji)が、すでに相手側(即
ち、ノードj)の公開簿から得てノードiで保持してい
る情報{即ち、f(Qji)}と等しいことを確認するこ
とにより、ノードjの正当性を認証する。ノードiは、
配送されたQjiを認証処理の完了後に、直ちに消去す
る。
ら計算したf(Qij)が、すでに相手側(即ち、ノード
i)の公開簿から得てノードjで保持している情報(即
ち、f(Qij))と等しいことを確認することにより、
ノードiの正当性を認証する。ノードjは配送されたQi
jを確認処理完了後に、直ちに消去する。更に、この場
合にノードiがノードjを認証する方法の一例は、ノー
ドjではノードiから送信されたKCijを鍵として通信デ
ータ用暗号装置によりQjiを暗号化してノードiに送信
し、ノードiではその暗号化されたQjiをKCjiを鍵とし
て通信データ用暗号装置により復号化してQjiを得て、
そのQjiから計算したf(Qji)が、すでに相手側(即
ち、ノードj)の公開簿から得てノードiで保持してい
る情報{即ち、f(Qji)}と等しいことを確認するこ
とにより、ノードjの正当性を認証する。ノードiは、
配送されたQjiを認証処理の完了後に、直ちに消去す
る。
認証方式1を片方向(例えばノードiからノードjへ
の送信)で行えば片方向の認証となり、双方向で行えば
双方向の認証となる。
の送信)で行えば片方向の認証となり、双方向で行えば
双方向の認証となる。
また、公開簿については、すべてのノードの公開情報
を設定した公開簿を特定のノードの記憶装置に設定し、
他のノードは、その特定ノードの公開簿から認証の処理
に必要な公開情報を得るようにすることも別の実施例と
して可能である。
を設定した公開簿を特定のノードの記憶装置に設定し、
他のノードは、その特定ノードの公開簿から認証の処理
に必要な公開情報を得るようにすることも別の実施例と
して可能である。
b)認証方式2 認証方式1の代替方式である認証方式2は、パスワー
ドを認証用データとして、鍵配送時の相手側ノードの認
証を行う方式である。
ドを認証用データとして、鍵配送時の相手側ノードの認
証を行う方式である。
認証方式2では、認証用データに対するデータ変換装
置は用いず、一対のノード間で一つの方向毎に認証用デ
ータとしてのパスワードを秘密に共有する。パスワード
は、認証する要素(例えば、ノード、又はノードの利用
者)に対して設けることができる。
置は用いず、一対のノード間で一つの方向毎に認証用デ
ータとしてのパスワードを秘密に共有する。パスワード
は、認証する要素(例えば、ノード、又はノードの利用
者)に対して設けることができる。
パスワードは共有暗号鍵の配送手順の開始以前に、い
ずれかのノードが生成して保持し、且つ暗号通信を行う
一対のノードが共に秘密に設定しておく必要がある。
ずれかのノードが生成して保持し、且つ暗号通信を行う
一対のノードが共に秘密に設定しておく必要がある。
ノードiからノードjに共有暗号鍵を配送する場合にノ
ードjがノードiを認証する方法を述べる。
ードjがノードiを認証する方法を述べる。
ノードjがノードiを認証するためのパスワードをPi
jとする。ノードiは、Pijを認証用データとしてKCijと
共に離散形べき乗関数暗号装置で暗号化して送信する。
jとする。ノードiは、Pijを認証用データとしてKCijと
共に離散形べき乗関数暗号装置で暗号化して送信する。
ノードjは、復号化によりKCij及びPijを得て、受信
したPijがすでに相手側(即ち、ノードi)から秘密に
得てノードjで秘密に保持している情報(即ち、Pij)
と等しいことを確認することにより、ノードiの正当性
を認証する。
したPijがすでに相手側(即ち、ノードi)から秘密に
得てノードjで秘密に保持している情報(即ち、Pij)
と等しいことを確認することにより、ノードiの正当性
を認証する。
ノードjは受信したPijを、認証処理の完了後に、直
ちに消去しなければならない。(なお、秘密に保持して
いるPijは、そのまま保持する。)この場合にノードi
がノードjを認証する方法の一例は、ノードjではノー
ドiから配送されたKCijを鍵として通信データ用暗号装
置によりノードiがノードjを認証するためのパスワー
ドであるPjiを暗号化してノードiに送信し、ノードi
ではその暗号化されたPjiを復号化してPjiを得て、受信
したPjiがノードiで秘密に保持している情報(即ち、P
ji)と等しいことを確認することにより、ノードjの正
当性を認証する。
ちに消去しなければならない。(なお、秘密に保持して
いるPijは、そのまま保持する。)この場合にノードi
がノードjを認証する方法の一例は、ノードjではノー
ドiから配送されたKCijを鍵として通信データ用暗号装
置によりノードiがノードjを認証するためのパスワー
ドであるPjiを暗号化してノードiに送信し、ノードi
ではその暗号化されたPjiを復号化してPjiを得て、受信
したPjiがノードiで秘密に保持している情報(即ち、P
ji)と等しいことを確認することにより、ノードjの正
当性を認証する。
ノードiは受信したPjiを、認証処理の完了後に、直
ちに消去する。(なお、秘密に保持しているPijは、そ
のまま保存する。)ここで、Pjiは、Pijとは別のパスワ
ードである。
ちに消去する。(なお、秘密に保持しているPijは、そ
のまま保存する。)ここで、Pjiは、Pijとは別のパスワ
ードである。
認証方式2を片方向で行えば片方向の認証となり、双
方向で行えば双方向の認証となる。
方向で行えば双方向の認証となる。
なお、本発明の実施例では、ノード間で互いに相手側
ノードの正当性を認証する場合を述べているが、各ノー
ドの利用者の間で互いに相手側利用者の正当性を認証す
るには、認証用データを、認証の必要な利用者に対して
付与することにより、本発明の共有暗号鍵の配送方式
で、相手側ノードの利用者の正当性を認証することが可
能である。
ノードの正当性を認証する場合を述べているが、各ノー
ドの利用者の間で互いに相手側利用者の正当性を認証す
るには、認証用データを、認証の必要な利用者に対して
付与することにより、本発明の共有暗号鍵の配送方式
で、相手側ノードの利用者の正当性を認証することが可
能である。
共有暗号鍵、離散形べき乗関数暗号装置の暗号化用の
鍵および復号化用の鍵、一方向性関数演算装置用暗号装
置の鍵、認証用データ、などの生成は、乱数発生器によ
り行う。
鍵および復号化用の鍵、一方向性関数演算装置用暗号装
置の鍵、認証用データ、などの生成は、乱数発生器によ
り行う。
乱数発生器における乱数の発生法は、例えば、「Knut
h.D.E.著、渋谷正昭(訳)“The Art of Computer Prog
ramming 第3分冊 準数値計算法/乱数”サイエンス
社、(昭和56年)」などに述べられている方法を用いる
ことができる。
h.D.E.著、渋谷正昭(訳)“The Art of Computer Prog
ramming 第3分冊 準数値計算法/乱数”サイエンス
社、(昭和56年)」などに述べられている方法を用いる
ことができる。
但し、本発明で用いる乱数発生器は、おのおののノー
ドが、他のノードに未知なデータを疑似乱数として生成
できれば良い。例えば、通信装置の有する時計から得た
時刻の一部のビットの反転操作から生成されたデータ
を、乱数として用いることもできる。乱数発生器は、ハ
ードウェア、又はハードウェアとソフトウェアの組み合
わせにより、実現できる。
ドが、他のノードに未知なデータを疑似乱数として生成
できれば良い。例えば、通信装置の有する時計から得た
時刻の一部のビットの反転操作から生成されたデータ
を、乱数として用いることもできる。乱数発生器は、ハ
ードウェア、又はハードウェアとソフトウェアの組み合
わせにより、実現できる。
第4図は、通信装置50の論理的構成の一例である。
本発明の方式を実現するために、通信装置50は、処理
装置51、記憶装置52、回線制御装置53、通信回線61、離
散形べき乗関数暗号装置1、通信データ用暗号装置6、
一方向性関数演算装置11、及び信号路41,42を有する。
処理装置は、種々の計算と制御を実行する。但し、信号
路41は、第1図、第2図および第3図における信号路2,
3,4,5,7,8,9,10,15,19,20を集約して示してある。乱数
発生器は処理装置に含めている。認証方式とし認証方式
2(即ち、認証用データにパスワードを用いる方式)を
使用する場合には、一方向性関数演算装置11は不要であ
る。通信装置の内部の物理的構成は任意であり、通信装
置の内部の各個別の二つ以上の装置を統合することも可
能である。
装置51、記憶装置52、回線制御装置53、通信回線61、離
散形べき乗関数暗号装置1、通信データ用暗号装置6、
一方向性関数演算装置11、及び信号路41,42を有する。
処理装置は、種々の計算と制御を実行する。但し、信号
路41は、第1図、第2図および第3図における信号路2,
3,4,5,7,8,9,10,15,19,20を集約して示してある。乱数
発生器は処理装置に含めている。認証方式とし認証方式
2(即ち、認証用データにパスワードを用いる方式)を
使用する場合には、一方向性関数演算装置11は不要であ
る。通信装置の内部の物理的構成は任意であり、通信装
置の内部の各個別の二つ以上の装置を統合することも可
能である。
次に、共有暗号鍵の配送手順の四つの実施例を以下の
手順1、手順2、手順3及び手順4に示す。まず、二つ
以上の手順についての共通事項を述べる。
手順1、手順2、手順3及び手順4に示す。まず、二つ
以上の手順についての共通事項を述べる。
共有暗号鍵の配送手順は、一つのノードが先に開始
し、他のノードは、先に配送手順を開始したノードから
の電文(即ち、通信回線により通信される情報の単位)
の受信により、配送手順を開始する。
し、他のノードは、先に配送手順を開始したノードから
の電文(即ち、通信回線により通信される情報の単位)
の受信により、配送手順を開始する。
一つの手順において、各ノードの論理的構成は同じと
し、一つのステップ(Step)は、一つのノードに閉じた
動作を記述しているので、各ノードにおける装置の番号
も以下の手順では区別しない。各ステップは数字の順に
実行する。
し、一つのステップ(Step)は、一つのノードに閉じた
動作を記述しているので、各ノードにおける装置の番号
も以下の手順では区別しない。各ステップは数字の順に
実行する。
各々の手順の実行中において異常が発生した時(例え
ば、受信されるべき電文が受信不可のとき、又は認証の
結果で相手側ノードの認証用データが誤りであるとき、
等)には共有暗号鍵の配送手順の処理は、その処理に関
連したすべてのノードで異常終了する。
ば、受信されるべき電文が受信不可のとき、又は認証の
結果で相手側ノードの認証用データが誤りであるとき、
等)には共有暗号鍵の配送手順の処理は、その処理に関
連したすべてのノードで異常終了する。
一対のノードでは、共有暗号鍵の配送手順の開始以前
に、離散形べき乗関数暗号装置で使用する法の値(Nと
表わす)を共有し、各ノードには記憶装置のNの値を保
持する。各ノードは、Nと共に離散形べき乗関数暗号装
置の説明で定義した、G(N)を計算して、G(N)の
値を記憶装置に保持する。
に、離散形べき乗関数暗号装置で使用する法の値(Nと
表わす)を共有し、各ノードには記憶装置のNの値を保
持する。各ノードは、Nと共に離散形べき乗関数暗号装
置の説明で定義した、G(N)を計算して、G(N)の
値を記憶装置に保持する。
法の値は、各ノードの公開情報であり、一度設定すれ
ば、任意の回数の共有暗号鍵の配送手順に共通に使用で
きる。
ば、任意の回数の共有暗号鍵の配送手順に共通に使用で
きる。
記号*は、連結(二つの値をそのままの値で結合する
こと)を表わす。任意の整数XとYについて、X*Y
(mod N)は{X(mod N)}*{Y(mod N)}を表わ
す。
こと)を表わす。任意の整数XとYについて、X*Y
(mod N)は{X(mod N)}*{Y(mod N)}を表わ
す。
ノードiにおける離散形べき乗関数暗号装置用の鍵を
Zi、復号化用の鍵をZIと表わす(他のノードについても
同様である)。
Zi、復号化用の鍵をZIと表わす(他のノードについても
同様である)。
手順1および手順2は、認証方式1を用いるので、手
順1または手順2が開始される以前に、認証方式1の説
明で述べた認証用データに関連した情報が設定されてい
なければならない。
順1または手順2が開始される以前に、認証方式1の説
明で述べた認証用データに関連した情報が設定されてい
なければならない。
即ち、一方向性関数演算装置の機能を一方向性関数f
(・)で表わすと、ノードiについては、秘密情報はQi
j、公開簿の公開情報はf(Qij)、他のノード(即ち、
ノードj)の公開簿の公開情報から得て認証のために保
持する情報はf(Qji)である。ノードjについては、
秘密情報Qji、公開簿の公開情報はf(Qji)、他のノー
ド(即ち、ノードi)の公開簿から得て認証のために保
持する情報はf(Qij)である。一方向性関数演算装置
の論理的な仕様(即ち、入力データと出力データの関係
を定めるためのすべての要素(暗号アルゴリズム、内部
構造、及び鍵の値など))は、ノードiとノードjで共
通である。
(・)で表わすと、ノードiについては、秘密情報はQi
j、公開簿の公開情報はf(Qij)、他のノード(即ち、
ノードj)の公開簿の公開情報から得て認証のために保
持する情報はf(Qji)である。ノードjについては、
秘密情報Qji、公開簿の公開情報はf(Qji)、他のノー
ド(即ち、ノードi)の公開簿から得て認証のために保
持する情報はf(Qij)である。一方向性関数演算装置
の論理的な仕様(即ち、入力データと出力データの関係
を定めるためのすべての要素(暗号アルゴリズム、内部
構造、及び鍵の値など))は、ノードiとノードjで共
通である。
ある一つのノードがデータを記憶装置に秘密に保存す
る場合の「秘密」の確保手段(例えば、暗号化)は任意
であり、そのノード外への情報の漏洩が防止できればよ
い。
る場合の「秘密」の確保手段(例えば、暗号化)は任意
であり、そのノード外への情報の漏洩が防止できればよ
い。
本発明の共有暗号鍵の配送手段において、例えば、両
方のノードが、ほとんど同時に鍵配送手段を開始した場
合には、鍵配送手順が競合するが、このような場合に
は、例えば、ノードの識別名を数値で比較して、大きい
方のノードの手順を優先することにより、競合を回避で
きる。
方のノードが、ほとんど同時に鍵配送手段を開始した場
合には、鍵配送手順が競合するが、このような場合に
は、例えば、ノードの識別名を数値で比較して、大きい
方のノードの手順を優先することにより、競合を回避で
きる。
共有暗号鍵の配送手順において、共有暗号鍵(または
共有暗号鍵に認証用データを連結したデータ)が離散形
べき乗関数暗号装置の法の値により定まる暗号化のブロ
ック長を超える場合には、共有暗号鍵を複数に分割し
て、それぞれの部分を複数のブロックに設定し、個々の
ブロックに、共有暗号鍵の配送手順に示されている処理
を行うことができる。
共有暗号鍵に認証用データを連結したデータ)が離散形
べき乗関数暗号装置の法の値により定まる暗号化のブロ
ック長を超える場合には、共有暗号鍵を複数に分割し
て、それぞれの部分を複数のブロックに設定し、個々の
ブロックに、共有暗号鍵の配送手順に示されている処理
を行うことができる。
この場合、認証方式1または認証方式2を用いる場合
には、分割された共有暗号鍵の個々の部分を設定するブ
ロックについて、同じ値の認証用データを付加する。
には、分割された共有暗号鍵の個々の部分を設定するブ
ロックについて、同じ値の認証用データを付加する。
共有暗号鍵の配送手順において共有暗号鍵に付加情報
を連結することにより、必要に応じて任意の付加情報
(例えば、時刻、日付、通知情報など)を共有暗号鍵の
配送時に転送できる。認証用データも付加情報の一種で
ある。
を連結することにより、必要に応じて任意の付加情報
(例えば、時刻、日付、通知情報など)を共有暗号鍵の
配送時に転送できる。認証用データも付加情報の一種で
ある。
この場合、付加情報のために暗号化するデータが離散
形べき乗関数暗号装置の暗号のブロック長を超える場合
には、付加情報のみのブロックを、付加情報に応じて必
要な個数作成し、個々のブロックに、共有暗号鍵の配送
手順に示されている離散形べき乗関数暗号装置による暗
号化および復号化などの処理を行うことにより対処でき
る。
形べき乗関数暗号装置の暗号のブロック長を超える場合
には、付加情報のみのブロックを、付加情報に応じて必
要な個数作成し、個々のブロックに、共有暗号鍵の配送
手順に示されている離散形べき乗関数暗号装置による暗
号化および復号化などの処理を行うことにより対処でき
る。
この場合、認証方式1または認証方式2を用いる場合
には、認証用データは、分割された個々のブロックにつ
いて同じ値の認証用データを付加する。付加情報は、必
要でないときには、長さを零とする(即ち、省略)する
ことが可能である。
には、認証用データは、分割された個々のブロックにつ
いて同じ値の認証用データを付加する。付加情報は、必
要でないときには、長さを零とする(即ち、省略)する
ことが可能である。
(手順1)手順1は、ノードiとノードjのポイントツ
ーポイントの通信において、認証方式1を用いる、共有
暗号鍵の配送手順の例である。
ーポイントの通信において、認証方式1を用いる、共有
暗号鍵の配送手順の例である。
第5図に手順1における電文の関係を示す。
ステップ(Step)1: ノードiは、乱数発生器を用いて、ノードiとノード
jの間の通信のための共有信号鍵KCijを生成して、記憶
装置に秘密に保存する。
jの間の通信のための共有信号鍵KCijを生成して、記憶
装置に秘密に保存する。
次に、乱数発生器を用いて、ノードiの離散形べき乗
関数暗号装置の暗号化用の鍵Ziを、ZiとG(N)が互い
に素となるように生成して記憶装置に秘密に保存する。
関数暗号装置の暗号化用の鍵Ziを、ZiとG(N)が互い
に素となるように生成して記憶装置に秘密に保存する。
更に、離散形べき乗関数暗号装置により、 A1=exp(KCij*Qij,Zi)(mod N) を計算し、Alを含む電文101を、ノードjに送信する。
更に、ZIiをG(N)を法とするZiの逆元とすると、 ZIi・Zi≡1(mod G(N)) であり、ノードiは、ZIiを計算して、記憶装置に秘密
に保存する。
に保存する。
Step2:ノードjは、電文101を受信すると、乱数発生
器を用いて、ノードjの離散形べき乗関数暗号装置の暗
号化用の鍵ZjをZjとG(N)が互いに素となるように生
成して、記憶装置に秘密に保存する。更に、離散形べき
乗関数暗号装置により A2=exp(A1,Zj)(mod N) 即ち、 A2=exp(KCij*Qij,Zi・Zj)(mod N) を計算し、A2を含む電文102を、ノードiに送信する。
器を用いて、ノードjの離散形べき乗関数暗号装置の暗
号化用の鍵ZjをZjとG(N)が互いに素となるように生
成して、記憶装置に秘密に保存する。更に、離散形べき
乗関数暗号装置により A2=exp(A1,Zj)(mod N) 即ち、 A2=exp(KCij*Qij,Zi・Zj)(mod N) を計算し、A2を含む電文102を、ノードiに送信する。
更に、ZIjを、G(N)を法とするZjの逆元とする
と、 ZIj・Zj≡1(mod G(N)) であり、ノードjは、ZIjを計算して記憶装置に秘密に
保存する。
と、 ZIj・Zj≡1(mod G(N)) であり、ノードjは、ZIjを計算して記憶装置に秘密に
保存する。
Step3:ノードiは、電文102を受信すると、離散形べ
き乗関数暗号装置により、 A3=exp(A2,ZIi)(mod N) 即ち、 A3=exp(KCij*Qij,Zj)(mod N) を計算し、A3を含む電文103を、ノードjに送信する。
き乗関数暗号装置により、 A3=exp(A2,ZIi)(mod N) 即ち、 A3=exp(KCij*Qij,Zj)(mod N) を計算し、A3を含む電文103を、ノードjに送信する。
Step4:ノードjは、電文103を受信すると、離散形べ
き乗関数暗号装置により、 A4=exp(A3,ZIj)(mod N) を計算して、 A4=KCij*Qij を得て、更に、一方向性演算装置により、 A5=f(Qij) を計算し、A5が、ノードiの公開簿から得てノードjで
所有しているf(Qij)と等しいことを確認することに
より、ノードiの正当性を認証する。正当性が認証でき
たときには、KCijを記憶装置に秘密に保存する。Qijは
認証後に消去する。更に、Zj及びZIjを消去する。
き乗関数暗号装置により、 A4=exp(A3,ZIj)(mod N) を計算して、 A4=KCij*Qij を得て、更に、一方向性演算装置により、 A5=f(Qij) を計算し、A5が、ノードiの公開簿から得てノードjで
所有しているf(Qij)と等しいことを確認することに
より、ノードiの正当性を認証する。正当性が認証でき
たときには、KCijを記憶装置に秘密に保存する。Qijは
認証後に消去する。更に、Zj及びZIjを消去する。
Step5:ノードjは、通信データ用暗号装置により、 A6=E(KCij;Qji) を計算して、A6を含む電文104をノードiに送信する。
Step6:ノードiは、電文104を受信すると、通信デー
タ用暗号装置により、 A7=D(KCij;A6) =Qji を計算し、更に、一方向性関数演算装置により、 A8=f(Qji) を計算し、A8が、ノードjの公開簿から得てノードiで
所有しているf(Qji)と等しいことを確認することに
より、ノードiの正当性を認証する。Qjiは認証後に消
去する。
タ用暗号装置により、 A7=D(KCij;A6) =Qji を計算し、更に、一方向性関数演算装置により、 A8=f(Qji) を計算し、A8が、ノードjの公開簿から得てノードiで
所有しているf(Qji)と等しいことを確認することに
より、ノードiの正当性を認証する。Qjiは認証後に消
去する。
Step7:ノードiは、Zi及びZIiを消去する。
(手順1終わり) (手順2)ポイントツーマルチポイントの通信の一形態
として、例えば、同報暗号通信(同報通信における暗号
通信)における共有暗号鍵の配送の手順を手順2とす
る。同報暗号通信においては、同報秘密通信と個別秘密
通信の機能が必要である。
として、例えば、同報暗号通信(同報通信における暗号
通信)における共有暗号鍵の配送の手順を手順2とす
る。同報暗号通信においては、同報秘密通信と個別秘密
通信の機能が必要である。
同報秘密通信は、同報通信のグループを構成とするノ
ードに共通な共有暗号鍵(KCgと表わす)による通信デ
ータの暗号化と復号化により実現し、個別秘密通信は、
個別の共有暗号鍵KCにより通信データの暗号化と復号化
により実現する。
ードに共通な共有暗号鍵(KCgと表わす)による通信デ
ータの暗号化と復号化により実現し、個別秘密通信は、
個別の共有暗号鍵KCにより通信データの暗号化と復号化
により実現する。
第6図は、五つのノードの相互関係の一例である。
各ノードは通信回線61により相互接続されているの
で、例えば、ノード0からノード1、ノード2,ノード
3、及びノード4への同報暗号通信が可能である。
で、例えば、ノード0からノード1、ノード2,ノード
3、及びノード4への同報暗号通信が可能である。
n+1個(ここでの+は、加法演算を表わす)のノー
ドの内のノードiとノードj、(i,j=0,1,…,n、且つ
i≠j)の間で、KCgを配送するための手順を手順1に
含めた手順(手順2)を、以下示す。
ドの内のノードiとノードj、(i,j=0,1,…,n、且つ
i≠j)の間で、KCgを配送するための手順を手順1に
含めた手順(手順2)を、以下示す。
離散形べき乗関数暗号装置の法の値Nは、手順2では
すべてのノードで共通な公開情報とするが、ノード対ご
とに異なるNの値を使用することも可能である。
すべてのノードで共通な公開情報とするが、ノード対ご
とに異なるNの値を使用することも可能である。
第7図に、手順2における電文を関係を示す。
Step1:ノードiは、乱数発生器を用いて、個別通信用
の共有暗号鍵KCij、(j=0,1,…,n、且つi≠j)、及
び同報通信用の共有暗号鍵KCgを生成して記憶装置に秘
密に保存する。
の共有暗号鍵KCij、(j=0,1,…,n、且つi≠j)、及
び同報通信用の共有暗号鍵KCgを生成して記憶装置に秘
密に保存する。
次に乱数発生器を用いて、ノードiの離散形べき乗関
数暗号装置の暗号化用の鍵Ziを、ZiとG(N)が互いに
素となるように生成して、記憶装置に秘密に保存する。
数暗号装置の暗号化用の鍵Ziを、ZiとG(N)が互いに
素となるように生成して、記憶装置に秘密に保存する。
更に、離散形べき乗関数暗号装置により、各ノードj,
(j=0,1,…,n、且つi≠j)について、 B1ij=exp(KCij*Qij,Zi)*exp(KCg*Qij,Zi)(m
od N) を計算し、B1ijを含む電文201を、各ノードj、(j=
0,1,…,n、且つi≠j)に送信する。更に、ZIiをG
(N)を法とするZiの逆元とすると、 ZIi・Zi≡1(mod G(N)) であり、ノードiはZIiを計算して、記憶装置に秘密に
保存する。
(j=0,1,…,n、且つi≠j)について、 B1ij=exp(KCij*Qij,Zi)*exp(KCg*Qij,Zi)(m
od N) を計算し、B1ijを含む電文201を、各ノードj、(j=
0,1,…,n、且つi≠j)に送信する。更に、ZIiをG
(N)を法とするZiの逆元とすると、 ZIi・Zi≡1(mod G(N)) であり、ノードiはZIiを計算して、記憶装置に秘密に
保存する。
Step2:ノードj(j=0,1,…,n、且つi≠j)は、電
文201を受信すると、乱数発生器を用いて、ノードjの
離散形べき乗関数暗号装置の暗号化用の鍵Zjを、ZjとG
(N)が互いに素となるように生成して、記憶装置に秘
密に保存する。
文201を受信すると、乱数発生器を用いて、ノードjの
離散形べき乗関数暗号装置の暗号化用の鍵Zjを、ZjとG
(N)が互いに素となるように生成して、記憶装置に秘
密に保存する。
更に、離散形べき乗関数暗号装置により、 B2ij=exp(KCij*Qij,Zi・Zj) *exp(KCg*Qij,Zi・Zj)(mod N) を計算し、B2ijを含む電文202を、ノードiに送信す
る。更に、ZIjを、G(N)を法とするZjの逆元とする
と、 ZIj・Zj≡1(mod G(N)) であり、ノードjはZIjを計算して、記憶装置に秘密に
保存する。
る。更に、ZIjを、G(N)を法とするZjの逆元とする
と、 ZIj・Zj≡1(mod G(N)) であり、ノードjはZIjを計算して、記憶装置に秘密に
保存する。
Step3:ノードiは、各ノードj(j=0,1,…,n、且つ
i≠j)から電文202を受信すると、離散形べき乗関数
暗号装置により、 B3ij=exp(KCij*Qij,Zi・Zj・ZIi) *exp(KCg*Qij,Zi・Zj・ZIi)(mod N) 即ち、 B3ij=exp(KCij*Qij,Zj)*exp(KCg*Qij,Zj)(m
od N) を計算し、B3ijを含む電文203を、各ノードj(j=0,
1,…,n、且つi≠j)に送信する。
i≠j)から電文202を受信すると、離散形べき乗関数
暗号装置により、 B3ij=exp(KCij*Qij,Zi・Zj・ZIi) *exp(KCg*Qij,Zi・Zj・ZIi)(mod N) 即ち、 B3ij=exp(KCij*Qij,Zj)*exp(KCg*Qij,Zj)(m
od N) を計算し、B3ijを含む電文203を、各ノードj(j=0,
1,…,n、且つi≠j)に送信する。
Step4:ノードj(j=0,1,…,n、且つi≠j)は、電
文203を受信すると、離散形べき乗関数暗号装置によ
り、 B4ij=exp(KCij*Qij,Zj・ZIj) *exp(KCg*Qij,Zj・ZIj)(mod N) 即ち、 B4ij=(KCij*Qij)*(KCg*Qij) を計算し、更に、一方向性関数演算装置により、 B5ij=f(Qij) を計算し、B5ijが、ノードiの公開簿から得てノードj
で所有しているf(Qij)と等しいことを確認すること
により、ノードiの正当性を認証する。正当性が認証で
きたときにはQijを消去し、KCij及びKCgを記憶装置に秘
密に保存する。
文203を受信すると、離散形べき乗関数暗号装置によ
り、 B4ij=exp(KCij*Qij,Zj・ZIj) *exp(KCg*Qij,Zj・ZIj)(mod N) 即ち、 B4ij=(KCij*Qij)*(KCg*Qij) を計算し、更に、一方向性関数演算装置により、 B5ij=f(Qij) を計算し、B5ijが、ノードiの公開簿から得てノードj
で所有しているf(Qij)と等しいことを確認すること
により、ノードiの正当性を認証する。正当性が認証で
きたときにはQijを消去し、KCij及びKCgを記憶装置に秘
密に保存する。
更に、Zj及びZIjを消去する。
Step5:ノードj(j=0,1,…,n、且つi≠j)は、通
信データ用暗号装置により、 B6ij=E(KCij;Qij)*E(KCg;Qji) を作成して、B6ijを含む電文204をノードiに送信す
る。
信データ用暗号装置により、 B6ij=E(KCij;Qij)*E(KCg;Qji) を作成して、B6ijを含む電文204をノードiに送信す
る。
Step6:ノードiは、各ノードj、j(j=0,1,…,n、
且つi≠j)から電文204を受信すると、通信データ用
暗号装置により、 B7ij=D(KCij;E(KCij;Qji) 即ち、 B7ij=Qij 及び B8ij=D(KCg;E(KCg;Qji) 即ち、 B8ij=Qji を計算して、B7ijとB8ijのQjiについて、一方向性関数
演算装置により、それぞれ B9ij=f(Qji) を計算し、B9ijが、ノードjの公開簿から得てノードi
で所有しているf(Qji)と等しいことを確認すること
により、ノードj(j=0,1,…,n、且つi≠j)の正当
性を認証する。Qjiは、認証完了後に消去する。ノード
iは、すべての相手側ノード(即ち、ノードj、(j=
0,1,…,n、且つi≠j))について、Step6における正
当性の認証が完了すると、Step7に移る。
且つi≠j)から電文204を受信すると、通信データ用
暗号装置により、 B7ij=D(KCij;E(KCij;Qji) 即ち、 B7ij=Qij 及び B8ij=D(KCg;E(KCg;Qji) 即ち、 B8ij=Qji を計算して、B7ijとB8ijのQjiについて、一方向性関数
演算装置により、それぞれ B9ij=f(Qji) を計算し、B9ijが、ノードjの公開簿から得てノードi
で所有しているf(Qji)と等しいことを確認すること
により、ノードj(j=0,1,…,n、且つi≠j)の正当
性を認証する。Qjiは、認証完了後に消去する。ノード
iは、すべての相手側ノード(即ち、ノードj、(j=
0,1,…,n、且つi≠j))について、Step6における正
当性の認証が完了すると、Step7に移る。
Step7:ノードiは、Zi及びZIiを消去する。
(手順2終わり) (手順3)手順3は、ノードiとノードjのポイントツ
ーポイントの通信において、認証方式2を用いる、共有
暗号鍵の配送手順の例である。ノードjがノードiを認
証するためのパスワードを、Pijとする。ノードiがノ
ードjを認証するためのパスワードをPjiとする。ノー
ドiとノードjは、手順3の開始以前にPijとPjiを共に
秘密に保持する。第8図に、手順3における電文の関係
を示す。
ーポイントの通信において、認証方式2を用いる、共有
暗号鍵の配送手順の例である。ノードjがノードiを認
証するためのパスワードを、Pijとする。ノードiがノ
ードjを認証するためのパスワードをPjiとする。ノー
ドiとノードjは、手順3の開始以前にPijとPjiを共に
秘密に保持する。第8図に、手順3における電文の関係
を示す。
Step1:ノードiは、乱数発生器を用いて、ノードiと
ノードjの間の通信のための共有暗号鍵KCijを生成して
記憶装置に保存する。
ノードjの間の通信のための共有暗号鍵KCijを生成して
記憶装置に保存する。
次に、乱数発生器を用いて、ノードiの離散形べき乗
関数暗号装置の暗号化用の鍵Ziを、ZiとG(N)が互い
に素となるように生成して、記憶装置に保存する。
関数暗号装置の暗号化用の鍵Ziを、ZiとG(N)が互い
に素となるように生成して、記憶装置に保存する。
更に、離散形べき乗関数暗号装置により、 C1=exp(KCij*Pij,Zi)(mod N) を計算し、C1を含む電文301をノードjに送信する。更
に、ZIiを、G(N)を法とするZiの逆元とすると、 ZIi・Zi≡1(mod G(N)) であり、ノードiは、ZIiを計算して、記憶装置に秘密
に保存する。
に、ZIiを、G(N)を法とするZiの逆元とすると、 ZIi・Zi≡1(mod G(N)) であり、ノードiは、ZIiを計算して、記憶装置に秘密
に保存する。
Step2:ノードjは、電文301を受信すると、乱数発生
器を用いて、ノードjの離散形べき乗関数暗号装置の暗
号化用の鍵Zjを、ZjとG(N)が互いに素となるように
生成して、記憶装置に秘密に保存する。更に、離散形べ
き乗関数暗号装置により、 C2=exp(C1,Zj)(mod N) 即ち、 C2=exp(KCij*Pij,Zi・Zj)(mod N) を計算し、C2を含む電文302をノードiに送信する。更
に、ZIjを、G(N)を法とするZjの逆元とすると、 ZIj・Zj≡1(mod G(N)) であり、ノードjは、ZIjを計算して、記憶装置に秘密
に保存する。
器を用いて、ノードjの離散形べき乗関数暗号装置の暗
号化用の鍵Zjを、ZjとG(N)が互いに素となるように
生成して、記憶装置に秘密に保存する。更に、離散形べ
き乗関数暗号装置により、 C2=exp(C1,Zj)(mod N) 即ち、 C2=exp(KCij*Pij,Zi・Zj)(mod N) を計算し、C2を含む電文302をノードiに送信する。更
に、ZIjを、G(N)を法とするZjの逆元とすると、 ZIj・Zj≡1(mod G(N)) であり、ノードjは、ZIjを計算して、記憶装置に秘密
に保存する。
Step3:ノードiは、電文302を受信すると、離散形べ
き乗関数暗号装置により、 C3=exp(C2,ZIi)(mod N) 即ち、 C3=exp(KCij*Pij,Zj)(mod N) を計算し、C3を含む電文303をノードjに送信する。
き乗関数暗号装置により、 C3=exp(C2,ZIi)(mod N) 即ち、 C3=exp(KCij*Pij,Zj)(mod N) を計算し、C3を含む電文303をノードjに送信する。
Step4:ノードjは、電文303を受信すると、離散形べ
き乗関数暗号装置により、 C4=exp(C3,ZIj)(mod N) 即ち、 C4=KCij*Pij を計算し、Pijがノードjの所有するPijと等しいことを
確認することにより、ノードiの正当性を認証する。正
当性が確認できたときには、受信したPijを消去し、更
にKCijを記憶装置に秘密に保存する。更に、Zj及びZIj
を消去する。
き乗関数暗号装置により、 C4=exp(C3,ZIj)(mod N) 即ち、 C4=KCij*Pij を計算し、Pijがノードjの所有するPijと等しいことを
確認することにより、ノードiの正当性を認証する。正
当性が確認できたときには、受信したPijを消去し、更
にKCijを記憶装置に秘密に保存する。更に、Zj及びZIj
を消去する。
Step5:ノードjは、通信データ用暗号装置により、 C6=E(KCij;Pji) を作成して、C6を含む電文304をノードにiに送信す
る。
る。
Step6:ノードiは、電文304を受信すると、通信デー
タ用暗号装置により、 C7=D(KCij;C6) 即ち、 C7=Pji を計算し、Pjiがノードiで所有するPjiと等しいことを
確認することにより、ノードjの正当性を認証し、認証
できた場合には、受信したPjiは消去する。
タ用暗号装置により、 C7=D(KCij;C6) 即ち、 C7=Pji を計算し、Pjiがノードiで所有するPjiと等しいことを
確認することにより、ノードjの正当性を認証し、認証
できた場合には、受信したPjiは消去する。
Step7:ノードiは、Zi及びZIiを消去する。
(手順3終わり) (手順4)手順4は、ノードiとノードjのポイントツ
ーポイントの通信において、共有暗号鍵の配送時には、
相手側ノードの正当性の認証を省略し、且つ、共有暗号
鍵は二つに分割して二つのブロックに分けて離散形べき
乗関数暗号装置による暗号化と復号化を行う。共有暗号
鍵の配送手順の例である。
ーポイントの通信において、共有暗号鍵の配送時には、
相手側ノードの正当性の認証を省略し、且つ、共有暗号
鍵は二つに分割して二つのブロックに分けて離散形べき
乗関数暗号装置による暗号化と復号化を行う。共有暗号
鍵の配送手順の例である。
Step1:ノードiは、乱数発生器を用いて、ノードiと
ノードjの間の通信のための共有暗号鍵KCijを生成し、
KCijを二つの部分であるKC1ijとKC2ijに分割する。即
ち、 KCij=KC1ij*KC2ij である。
ノードjの間の通信のための共有暗号鍵KCijを生成し、
KCijを二つの部分であるKC1ijとKC2ijに分割する。即
ち、 KCij=KC1ij*KC2ij である。
次に、乱数発生器を用いて、ノードiの離散形べき乗
関数暗号装置の暗号化用の鍵Ziを、ZiとG(N)が互い
に素となるように生成し、記憶装置に秘密に保存する。
関数暗号装置の暗号化用の鍵Ziを、ZiとG(N)が互い
に素となるように生成し、記憶装置に秘密に保存する。
更に、離散形べき乗関数暗号装置により、 F1=exp(KC1ij,Zi)*exp(KC2ij,Zi)(mod N) を計算し、F1を含む電文401をノードjに送信する。更
に、ZIiを、G(N)を法とするZiの逆元とすると、 ZIi・Zi≡1(mod G(N)) であり、ノードiは、ZIiを計算して、記憶装置に秘密
に保存する。
に、ZIiを、G(N)を法とするZiの逆元とすると、 ZIi・Zi≡1(mod G(N)) であり、ノードiは、ZIiを計算して、記憶装置に秘密
に保存する。
Step2:ノードjは、電文401を受信すると、乱数発生
器を用いてノードjの離散形べき乗関数暗号装置の暗号
化用の鍵Zjを、ZjとG(N)が互いに素となるように生
成して、記憶装置に秘密に保存する。更に、離散形べき
乗関数暗号装置により、 F2=exp(KC1ij,Zi・Zj)*exp(KC2ij,Zi・Zj)(mo
d N) を計算し、F2を含む電文402を、ノードiに送信する。
器を用いてノードjの離散形べき乗関数暗号装置の暗号
化用の鍵Zjを、ZjとG(N)が互いに素となるように生
成して、記憶装置に秘密に保存する。更に、離散形べき
乗関数暗号装置により、 F2=exp(KC1ij,Zi・Zj)*exp(KC2ij,Zi・Zj)(mo
d N) を計算し、F2を含む電文402を、ノードiに送信する。
ZIjを、G(N)を法とするZjの逆元とすると、 ZIj・Zj≡1(mod G(N)) であり、ノードjは、ZIjを計算して、記憶装置に秘密
に保存する。
に保存する。
Step3:ノードiは、電文402を受信すると、離散形べ
き乗関数暗号装置により、 F3=exp(KC1ij,Zi・Zj・ZIj) *exp(KC2ij,Zi・Zj・ZIi)(mod N) 即ち、 F3=exp(KC1ij,Zj)*exp(KC2ij,Zj)(mod N) を計算し、F3を含む電文403を、ノードjに送信する。
き乗関数暗号装置により、 F3=exp(KC1ij,Zi・Zj・ZIj) *exp(KC2ij,Zi・Zj・ZIi)(mod N) 即ち、 F3=exp(KC1ij,Zj)*exp(KC2ij,Zj)(mod N) を計算し、F3を含む電文403を、ノードjに送信する。
Step4:ノードjは、電文403を受信すると、離散形べ
き乗関数暗号装置により、 F4=exp(KC1ij,Zj・ZIj) *exp(KC2ij,Zj・ZIj)(mod N) 即ち、 F4=KC1ij*KC2ij =KCij を計算し、KCijを記憶装置に秘密に保存する。更に、Zi
及びZIjを消去する。
き乗関数暗号装置により、 F4=exp(KC1ij,Zj・ZIj) *exp(KC2ij,Zj・ZIj)(mod N) 即ち、 F4=KC1ij*KC2ij =KCij を計算し、KCijを記憶装置に秘密に保存する。更に、Zi
及びZIjを消去する。
Step5:ノードjは、KCijを正常に受信したことを表示
する電文404をノードiに送信する。
する電文404をノードiに送信する。
Step6:ノードiは、電文404を受信してKCijがノード
jに正常に受信されたことを知る。
jに正常に受信されたことを知る。
Step7:ノードiは、Zi及びZIiを消去する。
(手順4終わり) なお、手順1、手順2、及び手順3において、本発明
を適用するシステムの条件として、認証はノードjがノ
ードiを認証することのみでよい場合(例えば、ノード
iのノードjに対する認証は、他の手段により完了して
いる場合など)には、Step5では、ノードjは、ノード
iに共有暗号鍵の配送処理の完了通知の応答のみを行え
ばよく、且つStep6の処理は電文の受信による相手側ノ
ードの処理完了の確認だけである。
を適用するシステムの条件として、認証はノードjがノ
ードiを認証することのみでよい場合(例えば、ノード
iのノードjに対する認証は、他の手段により完了して
いる場合など)には、Step5では、ノードjは、ノード
iに共有暗号鍵の配送処理の完了通知の応答のみを行え
ばよく、且つStep6の処理は電文の受信による相手側ノ
ードの処理完了の確認だけである。
(発明の効果) 本発明では、事前に通信装置間で秘密情報を共有せ
ず、相手の通信装置の正当性を確認しながら、共有暗号
鍵を暗号化/復号化する鍵は長期保存せずに共有暗号鍵
を暗号化して配送を行うことができるという、従来の技
術ではなし得なかったことを解決している。
ず、相手の通信装置の正当性を確認しながら、共有暗号
鍵を暗号化/復号化する鍵は長期保存せずに共有暗号鍵
を暗号化して配送を行うことができるという、従来の技
術ではなし得なかったことを解決している。
一方向性関数による相手側の認証機能として、パスワ
ードの検査に使用する方式(例えば、Diffie,W.and Hel
lman,H.:“New Directions in Cryptography",IEEE Tra
nsactions,IT-22,No.11,pp.644-654(1976年)」の649
〜650ページ)が知られているが、その方式では、事前
にパスワードを配送しておかなければならないという問
題がある。
ードの検査に使用する方式(例えば、Diffie,W.and Hel
lman,H.:“New Directions in Cryptography",IEEE Tra
nsactions,IT-22,No.11,pp.644-654(1976年)」の649
〜650ページ)が知られているが、その方式では、事前
にパスワードを配送しておかなければならないという問
題がある。
本発明の一方向性関数を利用する認証方式(認証方式
1)では、人手の介在による秘密情報の通信は不要であ
るので、安全で、操作性がよい。また、適用する通信シ
ステムの条件に対応して、パスワードを用いる認証方式
(認証方式2)も選択できる。
1)では、人手の介在による秘密情報の通信は不要であ
るので、安全で、操作性がよい。また、適用する通信シ
ステムの条件に対応して、パスワードを用いる認証方式
(認証方式2)も選択できる。
第1図は離散形べき乗関数暗号装置の一構成例、第2図
は通信データ用暗号装置の一構成例、第3図は一方向性
関数演算装置の一構成例、第4図は通信装置の一構成
例、第5図は手順1における電文の関係の説明図、第6
図は通信装置の相互関係の一例、第7図は手順2におけ
る電文の関係の説明図、第8図は手順3における電文の
関係の説明図である。 1……離散形べき乗関数暗号装置、2,3,4,5……信号
路、6……通信データ用暗号装置、7,8,9,10……信号
路、11……一方向性関数演算装置、12……分流装置、13
……一方向性関数演算装置用暗号装置、14……排他的論
理和演算装置、15,16,17,18,19,20……信号路、41,42…
…信号路、50……通信装置、51……処理装置、52……記
憶装置、53……回線制御装置、61……通信回線、101…
…A1を含む電文、102……A2を含む電文、103……A3を含
む電文、104……A6を含む電文、201……B1ijを含む電
文、202……B2ijを含む電文、203……B3ijを含む電文、
204……B6ijを含む電文、301……C1を含む電文、302…
…C2を含む電文、303……C3を含む電文、304……C6を含
む電文、 ここで、 A1=exp(KCij*Qij,Zi)(mod N)、 A2=exp(KCij*Qij,Zi・Zj)(mod N) A3=exp(KCij*Qij,Zj)(mod N) A6=E(KCij*Qji) B1ij=exp(KCij*Qij,Zj)*exp(KCg*Qij,Zi)(mod
N) B2ij=exp(KCij*Qij,Zi・Zj)(mod N) B3ij=exp(KCij*Qij,Zi・*exp(KCg*Qij,Zj)(mod
N) B6ij=E(KCij*Qji)*E(KCg;Qji) C1=exp(KCij*Pij,Zi)(mod N) C2=exp(KCij*Pij,Zi・Zj)(mod N) C3=exp(KCij*Pij,Zj)(mod N) C6=E(KCij;Pji)。
は通信データ用暗号装置の一構成例、第3図は一方向性
関数演算装置の一構成例、第4図は通信装置の一構成
例、第5図は手順1における電文の関係の説明図、第6
図は通信装置の相互関係の一例、第7図は手順2におけ
る電文の関係の説明図、第8図は手順3における電文の
関係の説明図である。 1……離散形べき乗関数暗号装置、2,3,4,5……信号
路、6……通信データ用暗号装置、7,8,9,10……信号
路、11……一方向性関数演算装置、12……分流装置、13
……一方向性関数演算装置用暗号装置、14……排他的論
理和演算装置、15,16,17,18,19,20……信号路、41,42…
…信号路、50……通信装置、51……処理装置、52……記
憶装置、53……回線制御装置、61……通信回線、101…
…A1を含む電文、102……A2を含む電文、103……A3を含
む電文、104……A6を含む電文、201……B1ijを含む電
文、202……B2ijを含む電文、203……B3ijを含む電文、
204……B6ijを含む電文、301……C1を含む電文、302…
…C2を含む電文、303……C3を含む電文、304……C6を含
む電文、 ここで、 A1=exp(KCij*Qij,Zi)(mod N)、 A2=exp(KCij*Qij,Zi・Zj)(mod N) A3=exp(KCij*Qij,Zj)(mod N) A6=E(KCij*Qji) B1ij=exp(KCij*Qij,Zj)*exp(KCg*Qij,Zi)(mod
N) B2ij=exp(KCij*Qij,Zi・Zj)(mod N) B3ij=exp(KCij*Qij,Zi・*exp(KCg*Qij,Zj)(mod
N) B6ij=E(KCij*Qji)*E(KCg;Qji) C1=exp(KCij*Pij,Zi)(mod N) C2=exp(KCij*Pij,Zi・Zj)(mod N) C3=exp(KCij*Pij,Zj)(mod N) C6=E(KCij;Pji)。
Claims (3)
- 【請求項1】複数の通信装置間の通信における共有暗号
鍵の配送方法において、 共有暗号鍵の配送を行うために、各通信装置は離散形べ
き乗関数暗号装置を持ち、 共通暗号鍵の配送手順の開始以前に、離散形べき乗関数
暗号装置で使用する離散形べき乗関数の法の値として、
通信を行う一対の通信装置毎にそれぞれ同じ公開の値を
保有し、離散形べき乗関数暗号装置の暗号化用の鍵の値
は前記の法の値と互いに素であり、かつ離散形べき乗関
数暗号装置の暗号化用の鍵と復号化用の鍵は互いに前記
の値について逆元の関係にあり、 かつ、一対の通信装置について、第1の通信装置から第
2の通信装置に対して共有暗号鍵を配送する手順とし
て、 共有暗号鍵の配送を開始する第1の通信装置が共有暗号
鍵を生成して保持し、該共有暗号鍵の配送を開始する時
に、各通信装置は離散形べき乗関数暗号装置の暗号処理
のための暗号化用の鍵および復号化用の鍵を個別に生成
して保持し、各通信装置の処理においては、第1の通信
装置は、共有暗号鍵を含むデータを第1の通信装置の暗
号化用の鍵を用いて暗号化して第2の通信装置に送信
し、第2の通信装置は、該受信したデータを第2の通信
装置の暗号化用の鍵を用いて暗号化して第1の通信装置
に送信し、第1の通信装置は、該受信したデータを第1
の通信装置の復号化鍵を用いて復号化して第2の通信装
置に送信し、第2の通信装置は、該受信したデータを第
2の通信装置の復号化鍵を用いて復号化して共有暗号鍵
を得ることを、 配送手順として有し、 各通信装置における共有暗号鍵の配送手順の終了時に
は、各通信装置は離散形べき乗関数暗号装置の暗号処理
のための暗号化用の鍵と復号化用の鍵を消去し、各通信
装置における離散形べき乗関数暗号装置の暗号処理のた
めの暗号化用の鍵と復合化用の鍵は一回の共有暗号鍵の
配送手順毎に各通信装置で生成と消去を行い、 かつ、通信装置の正当性の認証を行うために、前記共有
暗号鍵の配送を開始する以前に、各通信装置は電文の受
信側の通信装置が電文の送信側の通信装置の正当性を認
証するためのそれぞれの秘密の認証用データを保持し、
各通信装置はそれぞれの秘密の認証用データを共有暗号
鍵の配送の開始以前に一方向性関数演算装置によりデー
タ変換したそれぞれの公開値を相手側の通信装置にも保
持させ、前記共有暗号鍵の配送手順において、送信側の
通信装置は認証用データを共有暗号鍵の付加情報として
秘密に送信し、受信側の通信装置は、秘密に受信した認
証用データを一方向性関数演算装置によりデータ変換し
た値を、受信側ですでに保持している認証用データの公
開値と比較して一致する時に、送信側の通信装置の正当
性を認証することを特徴とする共有暗号鍵の配送方法。 - 【請求項2】任意の慣用暗号の鍵をK、平文に相当する
データをθ、慣用暗号の演算をE(K;θ)、+を排他的
論理和とするときに、認証用データのデータ変換のため
の慣用暗号による一方向性関数演算装置f(θ)とし
て、 f(θ)=E(K;θ)+θ の演算を行う装置を用いることを特徴とする特許請求の
範囲第1項記載の共有暗号鍵の配送方法。 - 【請求項3】通信装置の正当性の認証を行うために、共
有暗号鍵の配送を開始する以前に、各通信装置は電文の
受信側の通信装置が電文の送信側の通信装置の正当性を
認証するためのそれぞれの秘密の認証用データであるパ
スワードを保持し、各通信装置はそれぞれの秘密のパス
ワードを共有暗号鍵の配送の開始以前に秘密に共有し、
かつ、前記共有暗号鍵の配送手順において、送信側の通
信装置はパスワードを共有暗号鍵の付加情報として秘密
に送信し、受信側の通信装置は、該秘密に受信したパス
ワードを、受信側ですでに保持しているパスワードと比
較して一致する時に、送信側の通信装置の正当性を認証
することを特徴とする特許請求の範囲第1項記載の共有
暗号鍵の配送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61196721A JPH0815272B2 (ja) | 1986-08-22 | 1986-08-22 | 共有暗号鍵の配送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61196721A JPH0815272B2 (ja) | 1986-08-22 | 1986-08-22 | 共有暗号鍵の配送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6352536A JPS6352536A (ja) | 1988-03-05 |
JPH0815272B2 true JPH0815272B2 (ja) | 1996-02-14 |
Family
ID=16362490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61196721A Expired - Fee Related JPH0815272B2 (ja) | 1986-08-22 | 1986-08-22 | 共有暗号鍵の配送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0815272B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5272755A (en) * | 1991-06-28 | 1993-12-21 | Matsushita Electric Industrial Co., Ltd. | Public key cryptosystem with an elliptic curve |
US5351297A (en) * | 1991-06-28 | 1994-09-27 | Matsushita Electric Industrial Co., Ltd. | Method of privacy communication using elliptic curves |
US5442707A (en) * | 1992-09-28 | 1995-08-15 | Matsushita Electric Industrial Co., Ltd. | Method for generating and verifying electronic signatures and privacy communication using elliptic curves |
FR2755558B1 (fr) * | 1996-11-04 | 1999-01-22 | Centre Nat Rech Scient | Procede de decorrelation de donnees |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6051341A (ja) * | 1983-08-31 | 1985-03-22 | Nec Corp | 通信端末暗号制御方法 |
JPS60114047A (ja) * | 1983-11-25 | 1985-06-20 | Fujitsu Ltd | 認証鍵・セツション鍵配送方式 |
-
1986
- 1986-08-22 JP JP61196721A patent/JPH0815272B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6051341A (ja) * | 1983-08-31 | 1985-03-22 | Nec Corp | 通信端末暗号制御方法 |
JPS60114047A (ja) * | 1983-11-25 | 1985-06-20 | Fujitsu Ltd | 認証鍵・セツション鍵配送方式 |
Also Published As
Publication number | Publication date |
---|---|
JPS6352536A (ja) | 1988-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5796833A (en) | Public key sterilization | |
RU2175465C2 (ru) | Способ обмена криптографическими ключами между компьютерным блоком пользователя и сетевым компьютерным блоком | |
KR100406754B1 (ko) | 피케이아이 기반의 상업용 키위탁 방법 및 시스템 | |
EP2014000B1 (en) | Method for elliptic curve public key cryptographic validation | |
CN110890962B (zh) | 认证密钥协商方法、装置、存储介质及设备 | |
US8589693B2 (en) | Method for two step digital signature | |
JP6882705B2 (ja) | 鍵交換システムおよび鍵交換方法 | |
US20100195824A1 (en) | Method and Apparatus for Dynamic Generation of Symmetric Encryption Keys and Exchange of Dynamic Symmetric Key Infrastructure | |
US6952475B1 (en) | Method and arrangement for the computer-aided exchange of cryptographic keys between a first computer unit and a second computer unit | |
CN111277412B (zh) | 基于区块链密钥分发的数据安全共享系统及方法 | |
WO2020155622A1 (zh) | 提高影像数据传输安全的方法、装置、系统及存储介质 | |
US7171559B1 (en) | Method of exchanging digital data | |
WO2017167771A1 (en) | Handshake protocols for identity-based key material and certificates | |
EP1330702B1 (en) | Method and system of using an insecure crypto-accelerator | |
JP2948294B2 (ja) | 認証機能付き鍵配送システムにおける端末 | |
JPH0815272B2 (ja) | 共有暗号鍵の配送方法 | |
JPH07118709B2 (ja) | 秘密情報通信方式 | |
JP2005311531A (ja) | デジタル署名処理方法及びそのためのプログラム | |
JPS62190943A (ja) | 暗号鍵の配送における認証方式 | |
RU2819174C1 (ru) | Способ определения источника пакетов данных в телекоммуникационных сетях | |
WO2023181134A1 (ja) | 鍵配送システム、鍵配送方法及びプログラム | |
JP3862397B2 (ja) | 情報通信システム | |
JPH02246640A (ja) | 管理センタの認証情報を用いる共有鍵配送方式 | |
Garba | TextFort: An Efficient Hybrid Short Message Service Encryption Scheme for Mobile Devices | |
Heins | Cryptographic Toolkit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |