特許
J-GLOBAL ID:200903024598600947

鍵共有方法、第1装置、第2装置、及び、それらのプログラム

発明者:
出願人/特許権者:
代理人 (3件): 中尾 直樹 ,  草野 卓 ,  中村 幸雄
公報種別:公開公報
出願番号(国際出願番号):特願2007-306738
公開番号(公開出願番号):特開2009-130872
出願日: 2007年11月28日
公開日(公表日): 2009年06月11日
要約:
【課題】効率が良く、標準モデルで安全性が保証される鍵共有技術を提供する。【解決手段】第1装置がx={ F1(rx)(a1, a2, a3, a4)+F2(a1, a2, a3, a4)(rx) } mod pを用い、X1=g1x及びX2=g2xを求めて第2装置に送信する。第2装置はy={ F1(ry)(b1, b2, b3, b4)+F2(b1, b2, b3, b4)(ry) } mod pを用い、Y1=g1y及びY2=g2yを求めて第1装置に送信する。第2装置はc=H1(A, Y1, Y2),d=H2(B, X1, X2)、σ=X1(b1+d・b3+y)・X2(b2+d・b4+y)・A1y・A2c・yを求め、鍵K=Fσ(A, B, X1, X2, Y1, Y2)を算出する。第1装置は、c=H1(A, Y1, Y2),d=H2(B, X1, X2)、σ=Y1(a1+c・a3+x)・Y2(a2+c・a4+x)・B1x・B2d・xを求め、鍵K=Fσ(A, B, X1, X2, Y1, Y2)を算出する。【選択図】図2
請求項(抜粋):
第1装置と第2装置とで鍵を共有するための鍵共有方法であって、 整数a1, a2, a3, a4を第1装置の秘密鍵として第1装置の記憶部に格納する第1装置秘密鍵格納過程と、 g1, g2を有限群Gの元g1, g2∈Gとした場合における、有限群G上での演算結果A1=g1a1・g2a2∈G,A2=g1a3・g2a4∈Gを第1装置の公開鍵として上記第1装置の記憶部に格納する第1公開鍵格納過程と、 整数b1, b2, b3, b4を第2装置の秘密鍵として第2装置の記憶部に格納する第2装置秘密鍵格納過程と、 有限群G上での演算結果B1=g1b1・g2b2∈G,B2=g1b3・g2b4∈Gを第2装置の公開鍵として上記第2装置の記憶部に格納する第2公開鍵格納過程と、 上記第1装置の公開鍵A1, A2を上記第2装置の記憶部に格納する第3公開鍵格納過程と、 上記第2装置の公開鍵B1, B2を上記第1装置の記憶部に格納する第4公開鍵格納過程と、 第1装置のランダム値選択部が、ランダム値rxを選択し、当該ランダム値rxを上記第1装置の記憶部に格納する第1装置シード選択過程と、 第1装置の擬似ランダム関数演算部が、上記第1装置の記憶部から第1装置の秘密鍵a1, a2, a3, a4の少なくとも一部とランダム値rxとを読み込み、読み込んだ第1装置の秘密鍵によって定まる値を入力とし、ランダム値rxをシードとした擬似ランダム関数F1(rx)(a1, a2, a3, a4)の関数値と、ランダム値rxを入力とし、読み込んだ第1装置の秘密鍵によって定まる値をシードとした擬似ランダム関数F2(a1, a2, a3, a4)(rx)の関数値と、によって定まる整数xを算出し、当該整数xを上記第1装置の記憶部に格納する第1装置擬似ランダム関数演算過程と、 第1装置の第1暗号化部が、上記第1装置の記憶部から整数xを読み込み、有限群G上での演算X1=g1x∈Gを行い、当該演算結果X1を上記第1装置の記憶部に格納する第1装置第1暗号化過程と、 第1装置の第2暗号化部が、上記第1装置の記憶部から整数xを読み込み、有限群G上での演算X2=g2x∈Gを行い、当該演算結果X2を上記第1装置の記憶部に格納する第1装置第2暗号化過程と、 第1装置の送信部が、少なくとも上記演算結果X1, X2を第2装置に送信する第1演算結果送信過程と、 少なくとも上記演算結果X1, X2を上記第2装置の記憶部に格納する第1演算結果格納過程と、 第2装置のランダム値選択部が、ランダム値ryを選択し、当該ランダム値ryを上記第2装置の記憶部に格納する第2装置シード選択過程と、 第2装置の擬似ランダム関数演算部が、上記第2装置の記憶部から第2装置の秘密鍵b1, b2, b3, b4の少なくとも一部とランダム値ryとを読み込み、読み込んだ第2装置の秘密鍵によって定まる値を入力とし、ランダム値ryをシードとした擬似ランダム関数F1(ry)(b1, b2, b3, b4)の関数値と、ランダム値ryを入力とし、読み込んだ第2装置の秘密鍵によって定まる値をシードとした擬似ランダム関数F2(b1, b2, b3, b4)(ry)の関数値と、によって定まる整数yを算出し、当該整数yを上記第2装置の記憶部に格納する第2装置擬似ランダム関数演算過程と、 第2装置の第1暗号化部が、上記第2装置の記憶部から整数yを読み込み、有限群G上での演算Y1=g1y∈Gを行い、当該演算結果Y1を上記第2装置の記憶部に格納する第2装置第1暗号化過程と、 第2装置の第2暗号化部が、上記第2装置の記憶部から整数yを読み込み、有限群G上での演算Y2=g2y∈Gを行い、当該演算結果Y2を上記第2装置の記憶部に格納する第2装置第2暗号化過程と、 第2装置の送信部が、少なくとも上記演算結果Y1, Y2を第1装置に送信する第2演算結果送信過程と、 第2装置の第1関数演算部が、上記第2装置の記憶部から少なくとも演算結果Y1, Y2の一方を含む情報をH1関数入力値として読み込み、当該H1関数入力値によって定まる値に対し、値域を整数とする目的衝突困難なハッシュ関数H1を作用させ、その演算結果cを上記第2装置の記憶部に格納する第2装置第1関数演算過程と、 第2装置の第2関数演算部が、上記第2装置の記憶部から少なくとも演算結果X1, X2の一方を含む情報をH2関数入力値として読み込み、当該H2関数入力値によって定まる値に対し、値域を整数とする目的衝突困難なハッシュ関数H2を作用させ、その演算結果dを上記第2装置の記憶部に格納する第2装置第2関数演算過程と、 第2装置のシード演算部が、上記第2装置の記憶部から演算結果X1, X2, c, dと公開鍵A1, A2と秘密鍵b1, b2, b3, b4と整数yとを読み込み、有限群G上での演算σ=X1(b1+d・b3+y)・X2(b2+d・b4+y)・A1y・A2c・y∈Gを行い、当該演算結果σを上記第2装置の記憶部に格納する第2装置シード演算過程と、 第2装置の鍵演算部が、上記第2装置の記憶部から少なくとも演算結果σを読み込み、当該演算結果σをシードとした擬似ランダム関数Fσの関数値を算出し、その関数値を鍵Kとして上記第2装置の記憶部に格納する第2装置鍵演算過程と、 第1装置の第1関数演算部が、上記第1装置の記憶部から少なくとも演算結果Y1, Y2の一方を含む情報をH1関数入力値として読み込み、当該H1関数入力値によって定まる値に対し、値域を整数とする目的衝突困難なハッシュ関数H1を作用させ、その演算結果cを上記第1装置の記憶部に格納する第1装置第1関数演算過程と、 第1装置の第2関数演算部が、上記第1装置の記憶部から少なくとも演算結果X1, X2の一方を含む情報をH2関数入力値として読み込み、当該H2関数入力値によって定まる値に対し、値域を整数とする目的衝突困難なハッシュ関数H2を作用させ、その演算結果dを上記第1装置の記憶部に格納する第1装置第2関数演算過程と、 第1装置のシード演算部が、上記第1装置の記憶部から演算結果Y1, Y2, c, dと公開鍵B1, B2と秘密鍵a1, a2, a3, a4と整数xとを読み込み、有限群G上での演算σ=Y1(a1+c・a3+x)・Y2(a2+c・a4+x)・B1x・B2d・x∈Gを行い、当該演算結果σを上記第1装置の記憶部に格納する第1装置シード演算過程と、 第1装置の鍵演算部が、上記第1装置の記憶部から少なくとも演算結果σを読み込み、当該演算結果σをシードとした擬似ランダム関数Fσの関数値を算出し、その関数値を鍵Kとして上記第1装置の記憶部に格納する第1装置鍵演算過程と、 を有することを特徴とする鍵共有方法。
IPC (1件):
H04L 9/08
FI (2件):
H04L9/00 601C ,  H04L9/00 601E
Fターム (3件):
5J104AA16 ,  5J104EA23 ,  5J104PA07
引用特許:
出願人引用 (2件)
引用文献:
出願人引用 (2件)
  • Authenticated Key Exchange and Key Encapsulation in the Standard Model
  • 鍵交換:現代暗号の誕生とその発展

前のページに戻る