Nova Patents
JP5329676B2

Acceleration of key agreement protocols

Abstract

The generation of a shared secret key K in the implementation of akey agreement protocol, for example MQV, may be optimized for accelerated computation by selecting the ephemeral public key and the long-term public key of a correspondent to be identical. One correspondent determines whether the pair of public keys of the other correspondent are identical. If it is, a simplified representation of the shared key K is used which reduces the number of scalar multiplication operations for an additive group or exponentiation operations for a multiplicative group. Further optimisation may be obtained by performing simultaneous scalar multiplication or simultaneous exponentiation in thecomputation of K.

JP5329676B2, drawing sheet 1
Sheet 1 of 110

Term

3.2 yearsleft in the term

Expires 16 December 2029.

  1. Priority and filed
  2. Granted
  3. Today
  4. Expires

19 claims: 4 independent, 15 dependent

  1. 1
    公開鍵暗号システムに関与する一対の コンピュータデバイス のうちの一方において共通鍵を生成する方法であって、 前記 共通鍵は、データ通信チャネル上でもう一方の コンピュータデバイス と通信している 前記 一方の コンピュータデバイス によって使用され、 前記コンピュータデバイス の各々は、 それぞれの 長期非公開鍵および それぞれの 対応する長期公開鍵 を 有し、 前記 共通鍵は、 前記コンピュータデバイス のうちの一方の長期非公開鍵と 前記コンピュータデバイス のうちのもう一方の長期公開鍵および一時公開鍵との組み合わせの形態を有し、 前記 方法は、 a) 前記 一方の コンピュータデバイスの暗号化ハードウェアモジュール が、 前記 もう一方の コンピュータデバイス の 前記 長期公開鍵を取得するステップと、 b) 前記暗号化ハードウェアモジュール が、 前記 もう一方の コンピュータデバイス の 前記 一時公開鍵が 前記 もう一方の コンピュータデバイス の 前記 長期公開鍵と同じか否かを決定するステップと、 c) 前記暗号化ハードウェアモジュールが、前記 もう一方の コンピュータデバイス の 前記 長期公開鍵と 前記 一時公開鍵とが同じであることを決定すると 、前記 もう一方の コンピュータデバイス の 前記 長期公開鍵および 前記 一時公開鍵の両方として 前記 もう一方の コンピュータデバイス の 前記 長期公開鍵を利用する ことにより、前記共通鍵を生成する ステップと、 d) 前記暗号化ハードウェアモジュールが、前記もう一方のコンピュータデバイスと 情報を交換するために 前記 共通鍵を利用するステップと を含む、方法。
  2. 2
    前記共通鍵を生成することは、 前記組み合わせの同等表現を計算すること を含む、 請求項1に記載の方法。
  3. 3
    前記共通鍵 を生成すること は、前記一方の コンピュータデバイス の中間値を前記もう一方の コンピュータデバイス の前記長期公開鍵と組み合わせ ることを含み 、 前記 中間値は、 前記 一方の コンピュータデバイス の前記長期非公開鍵および長期公開鍵を 前記 一方の コンピュータデバイス の一時非公開鍵と結合させる、請求項2に記載の方法。
  4. 4
    前記 暗号システムは、加算群上で実装され、前記共通鍵は、 に依存し、R B は、前記もう一方の コンピュータデバイス の一時公開鍵であり、Q B は、 前記 もう一方の コンピュータデバイス の長期公開鍵であり、 は、R B から導出される整数であり、 前記 方法は、前記 暗号化ハードウェアモジュール が、形態vQ B を有する同等表現から前記共通鍵Kを計算するステップをさらに含み 、 vは、 に依存している、 請求項2または3のうちのいずれか一項に記載の 方法。
  5. 5
    前 記共通鍵 を生成すること は、ECMQV鍵合意プロトコルに従 うものであり、前記プロトコルは、 形態 の共通鍵を必要とし、 hは、楕円曲線群の余因数であり、s A は、前記中間値であり、 前記 方法は、 前記暗号化ハードウェアモジュールが、 νQ B として前記共通鍵Kを計算するステップをさらに含み 、 である、 請求項4に記載の 方法。
  6. 6
    前 記共通鍵 を生成すること は、乗法群上で実装されるMQV鍵合意プロトコルに従 うものであり、前記プロトコルは、 形態 の共通鍵を必要とし 、 R B は、前記もう一方の コンピュータデバイス の前記一時公開鍵であり、 Q B は、 前記 もう一方の コンピュータデバイス の前記長期公開鍵であり、 は、 前記 一時公開鍵から導出される整数であり、 s A は、前記中間値であり、 前記 方法は、 前記暗号化ハードウェアモジュールが、 として 前記 共通鍵を計算するステップをさらに含み 、 y=hs A R B +hs A であり、hは、群の余因数である、 請求項3に記載の 方法。
  7. 7
    前記 共通鍵 を生成すること は、MTI鍵合意プロトコルに従 うものであり、前記プロトコルは、 形態K=(α y ) a Z B x の共通鍵を必要とし、 α y は、前記もう一方の コンピュータデバイス の一時公開鍵であり、 Z B は、 前記 もう一方の コンピュータデバイス の長期公開鍵であり、 xは、前記一方の コンピュータデバイス の一時非公開鍵であり、 aは、 前記 一方の コンピュータデバイス の長期非公開鍵であり、 前記 方法は、 前記暗号化ハードウェアモジュール が 、 K=(Z B ) a+x として 前記 共通鍵を計算するステップをさらに含む、 請求項3に記載の 方法。
  8. 8
    前記暗号化ハードウェアモジュールが、 前記鍵が同じか否かを決定するために、前記もう一方の コンピュータデバイス から受信された前記 一時 公開鍵および前記長期公開鍵を比較するステップを さらに 含む、請求項2~7のうちのいずれか一項に記載の方法。
  9. 9
    前記暗号化ハードウェアモジュールが、 前記 もう一方のコンピュータデバイスの前記長期公開鍵および前記一時公開鍵 が同じであるという指標について、 前記 もう一方の コンピュータデバイス から受信されたメッセージを調査するステップと、 前記 指標を識別すると前記同等表現を計算するステップとを さらに 含む、請求項2~7のうちのいずれか一項に記載の方法。
  10. 10
    前記同等表現は、前記長期公開鍵の線形結合であり、前記方法は、 前記暗号化ハードウェアモジュールが、前記 長期公開鍵から導出される事前計算された値から前記共通鍵を累積するステップを さらに 含む、請求項2~7のうちのいずれか一項に記載の方法。
  11. 11
    前記暗号システムは、加算群上で実装され、前記事前計算された値は、前記長期公開鍵の倍数である、請求項10に記載の方法。
  12. 12
    前記暗号システムは、乗法群上で実装され、前記事前計算された値は、前記長期公開鍵のべき乗の結果である、請求項10に記載の方法。
  13. 13
    通信リンク上で通信し、共通鍵を共通する一対の コンピュータデバイス を有する暗号化システムであって、 少なくとも、前記コンピュータデバイスのうちの一方の暗号化ハードウェアモジュール は、請求項1~12のうちのいずれか一項に記載の方法に従って 、前記共通鍵を生成するように動作可能である、 暗号化システム。
  14. 14
    暗号化システムの中の一方の コンピュータデバイス と関連付けられる暗号モジュールであって、 前記暗号化システムは、もう一方のコンピュータデバイスを含み、前記暗号化ハードウェア モジュールは、 コントローラと、 前記 もう一方の コンピュータデバイス の一時 公開鍵 および長期公開鍵と 前記 一方の コンピュータデバイス の非公開鍵との組み合わせから共通鍵を生成するように動作可能である算術論理演算ユニットと、 前記 もう一方の コンピュータデバイス の 前記 一時公開鍵と 前記 長期公開鍵とが同じであるか否かを決定するように動作可能であるコンパレータと を備え 、 前記 コントローラは、 前記もう一方のコンピュータデバイスの前記一時公開鍵と前記長期公開鍵とが 同じであると 前記 コンパレータが決定する場合に、 前記 共通鍵の計算において 前記 一時公開鍵として 前記 長期公開鍵を利用することを 前記 算術演算ユニットに命令するように動作可能である、 暗号 モジュール。
  15. 15
    前記コントローラは、前記共通鍵を計算する際に前記組み合わせの同等表現を計算することを前記算術論理演算ユニットに指図するように動作可能である、請求項14に記載の暗号モジュール。
  16. 16
    前記もう一方の コンピュータデバイス の前記長期公開鍵から導出される事前計算された値は、メモリに記憶され、前記算術論理演算ユニットは、前記共通鍵を計算する際に 前記 事前計算された値を使用するように動作可能である、請求項15に記載の暗号モジュール。
  17. 17
    前記コンパレータは、前記長期公開鍵および前記一時 公開 鍵を表す一対の値を比較するように動作可能である、請求項14に記載の暗号モジュール。
  18. 18
    前記もう一方のコンピュータデバイスの前記一時公開鍵と前記長期公開鍵とが同じか否かを決定すること は、指標を既知の値と比較する ことを含む、 請求項14に記載の暗号モジュール。
  19. 19
    請求項1~12のうちのいずれか一項に記載の方法を実行するためのコンピュータ実行可能な命令を格納しているコンピュータ読み取り可能な媒体。
Independent claims19