JP2009526411A

Challenge-response signatures and secure diffie-hellman protocols

Abstract

Problem to be solved.To provide a method (and structure) of exchange between two parties interconnected by a device or a network. A receiving party (verifier) chooses a secret value x to calculate the value X = F1 (x), where F1 has a first given function with at least one argument. Contains and the value x is one of at least one argument of F1. The signing party (signer) chooses the secret value y to calculate the value Y = F2 (y), where F2 contains a second given function with at least one argument, the value y. Is one of at least one argument of F2. The signer gets the value X, and the signer has a private key b and a public key B. The signer calculates the value s = F3 (y, b, X), where F3 contains a third predetermined function with at least three arguments, where the value y, the private key b, and the value X are of F3. Three of at least three arguments. [Selection diagram] Fig. 10

JP2009526411A, drawing sheet 1
Sheet 1 of 29

Term

Term ended

Projected expiry passed 10 February 2026, 0.6 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

38 claims: 4 independent, 34 dependent

  1. 1
    装置またはネットワークによって相互接続された2当事者間の交換の方法において、 受信側当事者(検証者)が値X=F1(x)を計算するために秘密の値xを選択し、ここでF1は少なくとも1つの引数を有する第1の所定の関数を含み、前記値xはF1の前記少なくとも1つの引数のうちの1つであり、 署名側当事者(署名者)が値Y=F2(y)を計算するために秘密の値yを選択し、ここでF2は少なくとも1つの引数を有する第2の所定の関数を含み、前記値yはF2の前記少なくとも1つの引数のうちの1つであり、 前記署名者が前記値Xを入手し、前記署名者が秘密鍵bと公開鍵Bとを有し、 前記署名者が値s=F3(y,b,X)を計算し、ここでF3は少なくとも3つの引数を有する第3の所定の関数を含み、前記値y、前記秘密鍵b、および前記値XはF3の前記少なくとも3つの引数のうちの3つの引数であり、 値s′を計算するために第4の所定の関数F4(x,Y,B)が存在し、F4は少なくとも3つの引数を有し、前記値x、前記値Y、および前記公開鍵BはF4の前記少なくとも3つの引数のうちの3つの引数であるが、値sはF4の引数ではなく、 前記検証者と前記署名者との間で共有され、前記F1、F2、F3、およびF4のいずれかにおいて任意の引数の基礎として働くような秘密が存在せず、 前記値s′が所定の方法で前記値sに関連するものと判断された場合に前記検証者が前記値sおよびs′を有効な認証子と見なすことができる、方法。
  2. 2
    F1およびF2のうちの少なくとも1つが一方向関数を含む、請求項1に記載の方法。
  3. 3
    前記値sおよびs′が、s=s′である場合に有効な認証子であると判断される、請求項1に記載の方法。
  4. 4
    s′の計算ならびに前記値sおよびs′が関連するものであると判断されるかどうかの判断のうちの少なくとも一方が、前記検証者および前記署名者以外の当事者によって実行される、請求項1に記載の方法。
  5. 5
    2当事者間で共有される秘密を導出するために前記値sおよび前記値s′が使用される、請求項1に記載の方法。
  6. 6
    前記検証者が前記値Yを入手し、sおよびs′が前記所定の方法で関連するかどうかを判断するために前記値s′を計算するためにこれを使用することをさらに含む、請求項1に記載の方法。
  7. 7
    メッセージmが、認証対象であり、F3の引数およびF4の引数を含み、それにより、前記値sおよび前記値s′が前記メッセージm内の情報を含むことができ、 前記値sおよびs′が前記所定の方法で関連するものであると判断された場合に前記メッセージが認証される、請求項1に記載の方法。
  8. 8
    2当事者間で共有される秘密を導出するために前記値sおよび前記値s′が使用される、請求項7に記載の方法。
  9. 9
    前記メッセージmが、少なくとも前記交換の前記当事者の一方のIDを含む、請求項8に記載の方法。
  10. 10
    前記署名者が前記値sを前記検証者に送信することをさらに含む、請求項7に記載の方法。
  11. 11
    前記s=s′である場合に前記メッセージが認証される、請求項7に記載の方法。
  12. 12
    前記公開鍵B=g b であり、gが次数qの有限群の生成元であり、前記秘密鍵bが0 b q-1になるような整数であり、 前記値X=g x であり、xが0 x q-1になるような整数であり、前記値Y=g y であり、yが0 y q-1になるような整数であり、 前記署名者が前記値s=f 1 (X) f2(m,Y,y,b) を計算し、f 1 が第1の数学関数を含み、f 2 が第2の数学関数を含み、引数mがメッセージを含む、請求項1に記載の方法。
  13. 13
    qが素数である、請求項12に記載の方法。
  14. 14
    前記値sが所定の方法で前記値s′に関連するものと判断された場合に前記メッセージmが認証済みと見なされる、請求項12に記載の方法。
  15. 15
    前記値sが前記値s′に等しいと判断された場合に前記メッセージmが認証済みと見なされる、請求項14に記載の方法。
  16. 16
    f 1 が恒等関数から構成される、請求項12に記載の方法。
  17. 17
    f 2 が、f 2 の前記引数の少なくとも1つがハッシュされるようなハッシュ関数を含む、請求項12に記載の方法。
  18. 18
    ハッシュされた前記引数の1つが非ヌル・メッセージmである、請求項17に記載の方法。
  19. 19
    前記メッセージmが、コンピュータまたはシステムあるいはネットワーク内の当事者のIDを含む、請求項12に記載の方法。
  20. 20
    f 2 (m,Y,y,b)=y+H(Y,m)b mod qであり、ここでHは一方向関数、暗号化関数、および暗号ハッシュ関数のうちの1つである暗号関数を含む、請求項17に記載の方法。
  21. 21
    前記値s′=(YB {H(Y,m)} ) f3(x) であり、ここでf 3 (x)は少なくとも1つの引数を有する数学関数を含み、前記値xはf 3 (x)の前記少なくとも1つの引数のうちの1つの引数である、請求項20に記載の方法。
  22. 22
    f 3 (x)=xである、請求項21に記載の方法。
  23. 23
    s=s′である場合のみ、前記メッセージmを認証することをさらに含む、請求項21に記載の方法。
  24. 24
    前記検証者が、秘密鍵a、公開鍵A=g a 、およびメッセージm′を有し、前記値s′がm上の前記署名者の署名を含むと同時に、前記値sがm′上の前記検証者の署名を含む、請求項21に記載の方法。
  25. 25
    前記関数f3(x)=x+H(X,m′)a mod qである、請求項24に記載の方法。
  26. 26
    xが前記検証者によってランダムに選択され、yが前記署名者によってランダムに選択される、請求項1に記載の方法。
  27. 27
    前記第1の値X=g x が、前記証明者により検索可能になるように前記検証者によって公開された値を含み、それにより、前記認証の非対話式バージョンを可能にする、請求項1に記載の方法。
  28. 28
    前記値sおよびs′がさらにハッシュされる、請求項21に記載の方法。
  29. 29
    請求項1に記載の前記方法の諸ステップの少なくとも1つを実行するためにデジタル処理装置によって実行可能な複数の機械可読命令からなるプログラムを具体的に実施する信号伝送媒体。
  30. 30
    前記署名者について請求項1に記載した前記関数F2およびF3を計算するための計算機を含む装置。
  31. 31
    装置またはネットワークによって相互接続された2当事者間で認証鍵を確立するための方法において、 第1の当事者が秘密鍵aと公開鍵Aとを有する場合に、前記秘密鍵aが0 a q-1になるような整数であり、qが正整数であり、gが次数qの有限群の生成元であり、Aが前記値gによって生成され、A=g a として計算された前記群内の元であり、 第2の当事者が秘密鍵bと公開鍵B=g b とを有し、前記秘密鍵bが0 b q-1になるような整数であり、 前記第1の当事者が値X=g x を計算するために秘密の値xを選択し、xが0 x q-1になるような整数であり、前記値Xが前記第2の当事者に伝達され、 前記第2の当事者が値Y=g y を計算するために秘密の値yを選択し、yが0 y q-1になるような整数であり、前記値Yが前記第1の当事者に伝達され、 前記第1の当事者が値s=f 1 (Y,B,m) {f2(x,a,m’)} を計算し、ここでm、m′は前記当事者間で既知であるかまたは交換されたメッセージを含み、前記第2の当事者が値s′=f 3 (X,A,m′) {f4(y,b,m)} を計算し、 前記関数f 2 およびf 4 のうちの少なくとも1つが少なくとも1つの引数を有する関数Hを含み、このような1つの引数が前記メッセージmおよびm′のうちの少なくとも1つであり、ここでHは一方向関数、暗号化関数、および暗号ハッシュ関数のうちの1つである暗号関数を含み、 前記第1および第2の当事者がそれぞれ前記値sおよびs′から共有鍵を導出する、方法。
  32. 32
    (i)前記値xおよびXの計算が、前記第1の当事者の前記秘密鍵と、前記当事者のうちの一方または複数の前記公開鍵とを含むことと、 (ii)前記値yおよびYの計算が、前記第2の当事者の前記秘密鍵と、前記当事者のうちの一方または複数の前記公開鍵とを含むことのうちの少なくとも一方が該当する、請求項31に記載の方法。
  33. 33
    sおよびs′からの共有鍵の前記導出が、一方向関数、暗号化関数、および暗号ハッシュ関数のうちの1つである暗号関数を含む、請求項31に記載の方法。
  34. 34
    前記メッセージmおよびm′のうちの少なくとも1つが前記第1および第2の当事者のうちの一方のIDを含む、請求項31に記載の方法。
  35. 35
    f 1 (Y,B,m)=YB H(Y,m) であり、 f 2 (x,a,m′)=(x+H(X,m′)a) mod qであり、 f 3 (X,A,m′)=XA H(X,m’) であり、 f 4 (y,b,m)=(y+H(Y,m)b) mod qであり、 Hが一方向関数、暗号化関数、および暗号ハッシュ関数のうちの1つである暗号関数を含む、少なくとも2つの引数からなる関数である、請求項31に記載の方法。
  36. 36
    前記メッセージmおよびm′のうちの少なくとも1つが前記第1および第2の当事者のうちの少なくとも一方のIDを含む、請求項35に記載の方法。
  37. 37
    (i)前記値xおよびXの計算が、前記第1の当事者の前記秘密鍵と、前記当事者のうちの一方または複数の前記公開鍵とを含むことと、 (ii)前記値yおよびYの計算が、前記第2の当事者の前記秘密鍵と、前記当事者のうちの一方または複数の前記公開鍵とを含むことのうちの少なくとも一方が該当する、請求項36に記載の方法。
  38. 38
    sおよびs′からの共有鍵の前記導出が、一方向関数、暗号化関数、および暗号ハッシュ関数のうちの1つである暗号関数を含む、請求項36に記載の方法。
Independent claims38