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