JP2006254417A - 秘密通信システム及び通信装置及びプログラム - Google Patents
秘密通信システム及び通信装置及びプログラム Download PDFInfo
- Publication number
- JP2006254417A JP2006254417A JP2006025527A JP2006025527A JP2006254417A JP 2006254417 A JP2006254417 A JP 2006254417A JP 2006025527 A JP2006025527 A JP 2006025527A JP 2006025527 A JP2006025527 A JP 2006025527A JP 2006254417 A JP2006254417 A JP 2006254417A
- Authority
- JP
- Japan
- Prior art keywords
- key
- temporary
- shared
- initial
- communication
- 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
Links
Abstract
【解決手段】 一時鍵発生手段22が乱数である一時鍵riを発生する。暗号化手段14が第1初期鍵ki1を用いて一時鍵riを暗号化し暗号文ci1を得る。送信手段20が暗号文ci1を受信装置50に送信する。暗号化手段14は、第2初期鍵ki2でも一時鍵riを暗号化し、共有鍵ksを得る。一方、受信装置50では、通信手段60が暗号文ci1を受信し、復号化手段56に供給する。復号化手段56は、暗号文ci1を復号化し、元の一時鍵riを得る。暗号化手段54が第2初期鍵ki2を用いてこの一時鍵riを暗号化することによって、送信装置10側と同様に受信装置50側でも共有鍵ksを得ることができる。以降、この共有鍵ksを用いて秘密の通信を行う。
【選択図】 図1
Description
例えば、代表的な公開鍵暗号の一つであるRSAのように大量の電力を消費する非対称暗号は、センサネットワークに使用することはできない。また、代表的な共有鍵暗号の一つであるAESのように大規模な回路面積が必要な暗号方法も、同様にセンサネットワークに使用することはできない。このことは下記非特許文献1に記載がある。特に、従来の共有鍵暗号方式では、一つの秘密鍵を暗号化に用い、その鍵を複雑な演算を用いることで,盗聴者に知られないようにするというアプローチが取られていた。その結果として、回路規模や消費電力を犠牲にせざるを得ず、大規模な回路面積と大きな消費電力が必要であった。
前記一時鍵rを前記第1初期鍵k1で暗号化し暗号文c1を生成し、前記一時鍵rを前記第2初期鍵k2で暗号化し共有鍵ksを生成する暗号化手段と、前記暗号文c1を前記第2の通信装置に送信する送信手段と、送信側共有鍵生成手段と、を含み、前記第2の通信装置は、第1初期鍵k1と、第2初期鍵k2と、を記憶する受信側秘密鍵記憶手段と、前記第1の通信装置から送られてきた前記暗号文c1を前記第1秘密鍵を用いて復号し、前記一時鍵rを生成する一時鍵復号化手段と、前記一時鍵rを前記第2初期鍵k2で暗号化し、共有鍵ksを生成する受信側共有鍵生成手段と、を含み、前記共有した前記共有鍵ksを用いて秘密通信を行う秘密通信システムである。
1.定義
まず、本明細書で用いる記号の定義説明を行う。
すなわち、p=f−1k(c)である。
本実施の形態において特徴的なことは、送信者と受信者との間のメッセージの暗号化に用いる鍵を第1初期鍵ki1及び第2初期鍵ki2とから生成していることである。本実施の形態では、特にこの処理をキーロンダリング(Key Laundering)と呼んでいる。図1にはこのキーロンダリング処理の概念図が示されている。
ci1 = fki1(ri) ・・・(1)
そして、送信者は得られたci1を受信者に送信する。
ri = f−1ki1(ci1) ・・・(2)
このようにして、送信者と受信者との間で、乱数riを共有することができた。(図1参照)。
ksi = fki2(ri) ・・・(3)
この式(3)の計算は、第2初期鍵ki2及び乱数riを知っている送信者も行うことができる。したがって、送信者もこの式(3)を計算することによって、共有鍵ksiを得ることができる。
第2章 通信装置の実際
本実施の形態に係る通信装置として、送信装置10と受信装置50とを図面に基づき説明する。
図2には、本実施の形態に係る送信装置10の構成ブロック図が示されている。この送信装置10は、請求の範囲の第1の通信装置の好適な一例に相当する。
図3には、本実施の形態に係る受信装置50の構成ブロック図が示されている。この図に示すように、受信装置50は、既に説明した上述した第1初期鍵ki1と、第2初期鍵ki2とを記憶する記憶手段52を備えている。この第1初期鍵ki1と、第2初期鍵ki2とは、送信側の送信者と受信側の受信者とによって共有されている秘密の鍵である。
図2及び図3に示された送信装置10及び受信装置50による通信の動作は、図1で示した動作と原理的には同様の動作である。
4 暗号化・復号化
4−a 擬似コード
本実施の形態において用いている暗号化・復号化のアルゴリズムを説明する。
fk(p):
for (j=0; j<n−1; j++) {
if (k[j] = = 1) {
p[j]とp[j+1]を入れ替える。
}
となる。ここで、pは平文であり、上記処理後のpが暗号文cとなる。また、k[j]は、鍵kのjビット目を表す。鍵kはnビットであるので、k[0]〜k[n−1]までビットが存在する。また、p[j]は、平文pのjビット目を表す。平文pはnビットであるので、p[0]〜p[n−1]までビットが存在する。
f−1k(c):
for (j=0; j<n−1; j++) {
if (k[j] = = 1) {
c[j]とc[j+1]を入れ替える。
}
となる。ここで、cは暗号文であり、上記処理後のcが原文(平文)であるpとなる。したがって、図2や図3の例では、暗号化手段14、54と、復号化手段16、56とを別体に表したが、共通のハードウェアを用いることも可能である。ただし、送信と受信とを同時に実行することを可能にするためには、暗号化と復号化にそれぞれ専用のハードウェアを備えさせた方が好ましい。
図4には、上記4−aで述べた暗号関数を処理するための暗号化手段14(又は復号化手段16)のハードウェアの構成概念図が示されている。この図に示すように、暗号化手段14は、3個のnビットレジスタから構成される。まず、暗号化手段14は、暗号化の鍵kを格納する鍵レジスタ14aを備えている。この鍵レジスタ14aには、鍵の各ビットk1、k2、k3、・・・、knが格納されている。また、暗号化手段14は、データレジスタ14bと、テンポラリーレジスタ14cとを備えている。これらもまたnビットのレジスタである。
上記図4に示すような暗号化回路に必要なゲート数を算出する。ゲート数はその回路をLSI等で構成した場合の規模の目安となるよい基準であるので、このゲート数によって回路規模のおおよその目安を付けることが可能である。
一般に暗号の強度で問題になるのは
・選択平文攻撃(任意のメッセージを与えその暗号文から鍵を推定する)
・選択暗号文攻撃(任意の暗号文を与えその対応する平文から鍵を推定する)
である。しかし、上述したように、本実施の形態においては、送信者はハードウェアで生成される乱数(一時鍵ri)を知ることができず、受信者もハードウェアで復号される乱数(一時鍵ri)を知ることはできない。
図2及び図3に記載した例では、暗号化手段14、54、復号化手段16、56等がLSIなどのハードウェアで構成される例を説明したが、用途によっては、図2や図3に記載の構成を、コンピュータ及びそのコンピュータが実行するプログラムで実現することも好ましい。
以上のようなプログラムに基づき、コンピュータは暗号通信を以下のように実行する。
なお、上述の実施の形態では、送信者も受信者も一時鍵riを知ることがない構成を説明したが、場合によっては、送信者や受信者が一時鍵riを知ることができる構成を採用してもよい。盗聴者となりうる第三者に知られないことが達成できれば、暗号強度を維持できるので、一定の要件の下で、送信者や受信者が一時鍵riを知ることができるような構成も、本特許の技術的範囲に含まれる。
ただし、一般的には、この一時鍵は通信の度に生成される文字通り一時的なものであるため、送信者や受信者が知る必要性は少ない。そのため、一般的には、先に述べたように、送信者も受信者も一時鍵riを知ることができないように構成することが好ましく、また便利な場合が多いであろう。
第5章 共有鍵の生成処理(Key Laundering)の変形例
上記第1章〜第4章において述べた共有鍵Ksiの生成処理の変形例を説明する。
まず、第1章においては、共にnビットの第1初期鍵ki1、第2初期鍵ki2を用いたが、本章では、長さの異なる鍵を使用する
第1初期鍵ki1:2nビットの鍵
第2初期鍵ki2:nビットの鍵
共有鍵Ksi :nビットの鍵
ここで、nは、正の整数であり、第1章と同様に送信対象のメッセージmiのビット数と等しい数である。
第1章〜第4章で述べた暗号化関数fkは、第1初期鍵ki1第2初期鍵ki2共に同じ関数を用いていた(例えば鍵との排他的論理和を取る等)。しかし、本章では、第1初期鍵ki1を用いた暗号化関数fki1と、第2初期鍵ki2を用いた暗号化関数fki2とは異なる形の関数を採用する。
3−a.
送信者側においては、一時鍵riを、関数E1で暗号化し、得られた暗号文Ci1を受信者側に送信する。また、送信者側においては、一時鍵riを、関数E2で暗号化し、共通鍵Ksiを得る。
関数E1
受信者側においては、送信されてきたCi1に対して逆関数E1−1を適用する。この逆関数E1−1のテーブルの一例を図6に示す。
(1)鍵の前半の2ビットを加算する。
関数E2のテーブルの一例を図7に示す。
(1)鍵の2ビットに基づき、ビットの置き換えを行う。
ここで、ビットの置き換え(Permutate)は、以下のような演算である。
then If k(j)=1
then m(j) <−> m(j+1)
If k(j)=0
then do nothing (何もしない)
If j=n
then If k(j)=1
then m(j) <−> m(1)
If k(j)=0
then do nothing (何もしない)
end
なお、ここで、k(j)は、鍵のjビット目を意味する。図7の例では、第2初期鍵ki2が2ビットの例を示しているので、k(1)と、k(2)とがある。また、m(j)は、演算対象であるメッセージのjビット目を意味する。図7の例では、2ビットの例を示しているので、m(1)と、m(2)とがある。さらに、また、<−>は、ビットの置き換え(ビットの値の交換)を表す。
次に、関数E2は、上記置き換えの後、同じく第2初期鍵ki2による排他的論理和を取る。この動作が図中XOR:XXで示されており、鍵XXと排他的論理和を取る処理を意味する。例えば、XOR:00は、鍵「00」を、処理対象であるメッセージと排他的論理和を取る処理である。
さて、受信側では、送信側から送られてきたCi1を、これまで説明した逆関数E1−1を適用し、さらに関数E2を適用すれば、共有鍵Ksiが得られる。この逆関数E1−1と、関数E2によるトータルの写像の結果が図8に示されている。
さて、E1、E2にこのような関数を採用した場合、鍵の選択によっては、同じ写像となってしまう場合がある。そこで、鍵のエントロピーの値がどの程度に成るのかを知ることは暗号強度を検討する上で重要である。以下、エントロピーの値が、第1初期鍵ki1のエントロピーと第2初期鍵ki2のエントロピーのいずれか小さい方、すなわち、min(H(ki1)、H(ki2))より大きいことを示す。
H(ki1) = (−(2/24)log2(2/24))×8
= 3
となる。
H(ki2) = (−(2/23)log2(2/23))×4
= 2
となる。したがって、min(H(ki1)、H(ki2))は、2ビットである。
H(ki1、ki2)
= (−(2/26)log2(2/26))×24
= 4.5
以上のことから、
H(ki1、ki2)=4.5 > 2=min(H(ki1)、H(ki2))と言える。
上記3.では、送信側及び受信側の基本的な動作を説明した。この動作においては算術加算「+」が用いられているが、実際に処理を行う場合、処理速度を向上させるために、部分加算を実行することが好ましい。以下、そのような動作を具体的に説明する。
送信者側の動作を説明する。コンピュータの擬似コード風にアルゴリズムを記述する。
Step1. 乱数riの生成。
if (nが偶数){
for (p=0; p < n; p=p+2)
ri1[p:p+1] ← ri[p:p+1] + k1[p:p+1]
(ここで、ri[p+1] + k1[p+1]のキャリーは無視する)
}
else if (nが奇数) {
ri1[0] ← ri1[0] + k1[0] (キャリーは無視する)
for (p=1; p < n; p=p+2)
ri1[p:p+1] ← ri[p:p+1] + k1[p:p+1]
(ここで、ri[p+1] + k1[p+1]のキャリーは無視する)
}
このような処理によって、乱数riから、中間変数ri1を生成する。このような加算の動作は図9にも示されている。上記コード及び図9に示すように、2ビットずつまとめて加算が行われる。2ビットを超えるキャリーは無視する。
乱数ri1と、第1初期鍵ki1のビットとをそれぞれ排他的論理和を取り、得られた数をci1に入れる。このci1は、受信者側に送信される。
for (p=0; p < n; p++) {
if(k2[p] = = 1){
ri2[p] <− ri[p+1]
ri2[p+1] <− ri[p]
(ri2[n] はri2[0]であることに注意)
}
}
Step6. 共有鍵Ksiにri2を代入する。
受信者側の動作を説明する。コンピュータの擬似コード風にアルゴリズムを記述する。ci1は、送信者側から送信されてきたメッセージである。
Step1. ri1 ← ci1 EXOR k1[n:2n−1].
このような処理によって、受信したメッセージci1から中間変数ri1を作成する。
Step2.
if (nが偶数) {
for (p=0; p < n; p=p+2)
ri[p:p+1] ← ri1[p:p+1] − k1[p:p+1]
}
else if (nが奇数) {
ri[0] ← ri1[0] − k1[0]
for (p=1; p < n; p=p+2)
ri[p:p+1] ← ri1[p:p+1] + k1[p:p+1]
}
このような処理によって、ri1から乱数riを作成する。
Step3.
for (p=0; p<n−1; p++) {
if (k2[p] = = 1) {
ri2[p] <− ri[p+1]
ri2[p+1] <− ri[p]
(ここで、ri[n]はri[0]であることに注意)
}
}
(#このような処理によって、中間変数ri2をriから作成する)
Step4. ksiにriを代入
以上のようにして、受信者側のKey Laundering処理が行われ、共有鍵ksiが得られる。なお、「++」は、インクリメント、すなわち+1する動作を意味する。
12 記憶手段
14 暗号化手段
14a 鍵レジスタ
14b データレジスタ
14c テンポラリーレジスタ
16 復号化手段
20 通信手段
50 受信装置
52 記憶手段
54 暗号化手段
56 復号化手段
60 通信手段
Claims (5)
- 第1の通信装置と第2の通信装置とを含む秘密通信システムにおいて、
前記第1の通信装置は、
第1初期鍵k1と、第2初期鍵k2と、を記憶する送信側秘密鍵記憶手段と、
一時鍵rを生成する一時鍵生成手段と、
前記一時鍵rを前記第1初期鍵k1で暗号化し暗号文c1を生成し、前記一時鍵rを前記第2初期鍵k2で暗号化し共有鍵ksを生成する暗号化手段と、
前記暗号文c1を前記第2の通信装置に送信する送信手段と、
送信側共有鍵生成手段と、
を含み、
前記第2の通信装置は、
第1初期鍵k1と、第2初期鍵k2と、を記憶する受信側秘密鍵記憶手段と、
前記第1の通信装置から送られてきた前記暗号文c1を前記第1秘密鍵を用いて復号し、前記一時鍵rを生成する一時鍵復号化手段と、
前記一時鍵rを前記第2初期鍵k2で暗号化し、共有鍵ksを生成する受信側共有鍵生成手段と、
を含み、
前記共有した前記共有鍵ksを用いて秘密通信を行う秘密通信システム。 - 請求項1記載の秘密通信システムに用いられる第1の通信装置において、
前記第1初期鍵k1と、前記第2初期鍵k2と、を記憶する前記送信側秘密鍵記憶手段と、
前記一時鍵rを生成する前記一時鍵生成手段と、
前記一時鍵rを前記第1初期鍵k1で暗号化し前記暗号文c1を生成し、前記一時鍵rを前記第2初期鍵k2で暗号化し前記共有鍵ksを生成する暗号化手段と、
前記暗号文c1を前記第2の通信装置に送信する前記送信手段と、
前記送信側共有鍵生成手段と、
を含み、前記共有鍵を用いた秘密通信を行うことを特徴とする第1の通信装置。 - 請求項1記載の秘密通信システムに用いられる第2の通信装置において、
前記第1初期鍵k1と、前記第2初期鍵k2と、を記憶する前記受信側秘密鍵記憶手段と、
前記第1の通信装置から送られてきた前記暗号文c1を前記第1秘密鍵を用いて復号し、前記一時鍵rを生成する前記一時鍵復号化手段と、
前記一時鍵rを前記第2初期鍵k2で暗号化し、前記共有鍵ksを生成する前記受信側共有鍵生成手段と、
を含み、
前記共有鍵ksを用いて秘密通信を行うことを特徴とする第2の通信装置。 - コンピュータを、請求項2記載の第1の通信装置として動作させるプログラムにおいて、前記コンピュータに、
前記一時鍵rを生成する一時鍵生成手順と、
前記一時鍵rを前記第1初期鍵k1で暗号化し、前記暗号文c1を生成する一時鍵暗号化手順と、
前記暗号文c1を前記第2の通信装置に送信する送信手順と、
前記一時鍵rを前記第2初期鍵k2で暗号化し、前記共有鍵ksを生成する送信側共有鍵生成手順と、
前記共有鍵を用いた秘密通信を行う手順と、
を実行させることを特徴とするプログラム - コンピュータを、請求項3記載の第2の通信装置として動作させるプログラムにおいて、前記コンピュータに、
前記第1の通信装置から送られてきた前記暗号文c1を前記第1秘密鍵を用いて復号し、前記一時鍵rを生成する一時鍵復号化手順と、
前記一時鍵rを前記第2初期鍵k2で暗号化し、前記共有鍵ksを生成する受信側共有鍵生成手順と、
前記共有鍵ksを用いて秘密通信を行う手順と、
を実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006025527A JP2006254417A (ja) | 2005-02-10 | 2006-02-02 | 秘密通信システム及び通信装置及びプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005033887 | 2005-02-10 | ||
JP2006025527A JP2006254417A (ja) | 2005-02-10 | 2006-02-02 | 秘密通信システム及び通信装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006254417A true JP2006254417A (ja) | 2006-09-21 |
Family
ID=37094361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006025527A Pending JP2006254417A (ja) | 2005-02-10 | 2006-02-02 | 秘密通信システム及び通信装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006254417A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008227846A (ja) * | 2007-03-12 | 2008-09-25 | Ricoh Co Ltd | グルーピング方法、無線通信システム、無線機器、乱数配信端末、グルーピングプログラム及び記録媒体 |
JP2009540707A (ja) * | 2006-06-13 | 2009-11-19 | エヌイーシー ヨーロッパ リミテッド | 秘密鍵確立プロセス |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01212039A (ja) * | 1988-02-19 | 1989-08-25 | Toshiba Corp | 暗号化鍵共有装置 |
JPH02195377A (ja) * | 1989-01-24 | 1990-08-01 | Matsushita Electric Ind Co Ltd | 鍵共有機能付きicカード |
JP2000078669A (ja) * | 1998-08-28 | 2000-03-14 | Lucent Technol Inc | セッションキ―を確立する方法 |
-
2006
- 2006-02-02 JP JP2006025527A patent/JP2006254417A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01212039A (ja) * | 1988-02-19 | 1989-08-25 | Toshiba Corp | 暗号化鍵共有装置 |
JPH02195377A (ja) * | 1989-01-24 | 1990-08-01 | Matsushita Electric Ind Co Ltd | 鍵共有機能付きicカード |
JP2000078669A (ja) * | 1998-08-28 | 2000-03-14 | Lucent Technol Inc | セッションキ―を確立する方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009540707A (ja) * | 2006-06-13 | 2009-11-19 | エヌイーシー ヨーロッパ リミテッド | 秘密鍵確立プロセス |
JP2008227846A (ja) * | 2007-03-12 | 2008-09-25 | Ricoh Co Ltd | グルーピング方法、無線通信システム、無線機器、乱数配信端末、グルーピングプログラム及び記録媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
Panda | Data security in wireless sensor networks via AES algorithm | |
Kuang et al. | Quantum permutation pad for universal quantum-safe cryptography | |
JP6556955B2 (ja) | 通信端末、サーバ装置、プログラム | |
Sarkar et al. | Role of cryptography in network security | |
Parmar et al. | Concealed data aggregation in wireless sensor networks: A comprehensive survey | |
Gupta et al. | Session key based novel lightweight image encryption algorithm using a hybrid of Chebyshev chaotic map and crossover | |
Hayouni et al. | A novel energy-efficient encryption algorithm for secure data in WSNs | |
Valluri et al. | Exceptional key based node validation for secure data transmission using asymmetric cryptography in wireless sensor networks | |
Athulya et al. | Security in mobile ad-hoc networks | |
WO2019220900A1 (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム | |
Kumar et al. | A novel framework for secure file transmission using modified AES and MD5 algorithms | |
Lara-Nino et al. | Post-quantum cryptography on wireless sensor networks: Challenges and opportunities | |
JP2006254417A (ja) | 秘密通信システム及び通信装置及びプログラム | |
Rahma | A modified on twofish algorithm based on cyclic group and irreducible polynomial in GF (28) | |
WO2018011825A1 (en) | Encryption and decryption of messages | |
JP4685621B2 (ja) | 鍵生成装置、暗号化装置、復号化装置、乗法型ナップザック暗号システム、乗法型ナップザック暗号復号方法およびプログラム | |
Buja et al. | The direction of lightweight ciphers in mobile big data computing | |
Singha et al. | Encoding algorithm using bit level encryption and decryption technique | |
Parikibandla et al. | FPGA performance evaluation of present cipher using LCC key generation for IoT sensor nodes | |
Singh | A Note on Symmetric Key Cryptosystems | |
Wang et al. | Public-key encryption based on generalized synchronization of coupled map lattices | |
Hasan et al. | Variable Rounds Block Cipher Algorithm Design | |
JP5755600B2 (ja) | コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法 | |
Padhi et al. | SecOMN: Improved security approach for Opportunistic Mobile Networks using cyber foraging |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060203 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110606 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111011 |