HIME(R)とは、大きな数の素因数分解問題が困難であることを安全性の根拠とした公開鍵暗号の一つである。日立製作所が提案した。
特殊な法を利用したRabin暗号方式の一種である。パディングにはOAEPを用いている。
Rabin暗号では法として
を利用していたが、HIME(R)では法として
を利用する。
また、復号化の際に中国式剰余定理を用いない点も特徴である。
用語については、暗号の用語、暗号理論の用語を参照のこと。
暗号方式[編集]
をセキュリティ・パラメータとする。
鍵生成[編集]
- 法を4の下で3と等しい
ビットの素数
を選ぶ。
となる整数
を選ぶ。
を計算する。
また、パディング用に以下のパラメータ生成を行う。
とする。
,
となる正整数
を選ぶ。
- ハッシュ関数
と
を選ぶ。
秘密鍵を素因数
とし、公開鍵を
とする。
暗号化[編集]
の元
を平文とする。
- 乱数
を
からランダムに選ぶ。
- パディング: OAEPを用いる。
を計算する。
を計算する。
とする。
を暗号文とする。
受け取った暗号文を
とする。
- 暗号文
が
上で平方剰余かどうか確かめる。そうでなければ拒否。
- 具体的には
と
を確かめる。
の計算。
,
,
,
を計算し,
について,
,
を計算する.
を計算する。
- 注:
がそれぞれ2通りの値を取るので, 4つのMがありうる。
- 各
についてOAEPの逆パディングを適用し, 正しく
を復元できたものを平文とする。
実装上の注意[編集]
- 仕様ではハッシュ関数GおよびHの実装例が記されている。
- 復号精度の向上のために
の符号とヤコビ記号を送っても良い。この場合でも安全性証明に影響は無い。
安全性[編集]
参考文献[編集]
関連項目[編集]