Cramer-Shoup暗号
鍵生成、暗号化、復号について説明する。
理由としては、特にダニエル・ブライヘンバッハー(英語版)がRSA暗号の一種を用いたSSLサーバに対する実用的な適応的選択暗号文攻撃を提出したことなどが大きい。
Cramer-Shoup暗号が初のIND-CCA2安全な暗号というわけではない。 NaorとYung、RackoffとSimon、DolevとDworkとNaorが、IND-CPA安全な暗号をIND-CCA1安全やIND-CCA2安全な暗号に変換する方法を提案している。 これらの方法は標準的な仮定のもとで(ランダムオラクル無しに)安全である。しかし複雑なゼロ知識証明のテクニックを用いており、計算コストと暗号文の長さの面で効率が悪い。 他のアプローチとしては、ミヒル・ベラーレ(英語版)とフィリップ・ロガウェイ(英語版)らによるOAEPや藤崎-岡本変換が知られている。これらはランダムオラクルという数学的抽象観念を用いて効率の良い構成を達成しているが、不幸なことに、実装するにはランダムオラクルを何らかの現実的な関数(暗号学的ハッシュ関数)で置き換えなければならない。 そうした実装例に対して、実用的な攻撃方法が提出された訳ではないが、研究が進むにつれ、この種のアプローチでは安全性を証明することが困難であることが判ってきている。