IDベース暗号
IDベース暗号の主要な利点の1つとして、利用者数が有限であれば、全ての利用者に秘密鍵が配布されたのちに、第三者(秘密鍵生成局)の秘密鍵を廃棄できることが挙げられる。これは、ひとたび生成された鍵は以降ずっと正しいものであると仮定されていることから可能になる (基本的な方式では鍵無効化の方法は考えられていない)。鍵無効化法を持つ多くの方式ではこの利点が失われる。
更に、公開鍵が識別子から生成されるため、IDベース暗号方式は公開鍵基盤を必要としない。この方式では、秘密鍵が識別子に対応する利用者に安全に配送されていさえすれば、公開鍵は暗に認証されている。
また、IDベース暗号は、識別子に付加的な情報を埋め込むことが出来るため、有用な機能を持つ。例えば、送信者はメッセージの満了日を設定することが可能になる。送信者は、満了日の時刻情報を受信者の識別子に加えればよい (X.509のような形式を用いることが可能であろう)。受信者が秘密鍵生成局にアクセスした際に、秘密鍵生成局は識別子を評価し、もし満了日を過ぎていた場合は秘密鍵生成を拒否できる。一般に、識別子へのデータの埋め込みは、送信者と秘密鍵生成局の間に新しい通信路を開くことに対応しており、その通信路の信頼性は秘密鍵が識別子に依存していることにより保証される。
秘密鍵生成アルゴリズムは入力として P {\displaystyle \textstyle {\mathcal {P}}} , K m {\displaystyle \textstyle K_{m}} および識別子 I D ∈ { 0 , 1 } ∗ {\displaystyle \textstyle ID\in \left\{0,1\right\}^{*}} を受け取り、利用者 I D {\displaystyle \textstyle ID} 用の秘密鍵 d {\displaystyle \textstyle d} を出力する。
暗号化 (Encrypt): P {\displaystyle \textstyle {\mathcal {P}}} 、平文 m ∈ M {\displaystyle \textstyle m\in {\mathcal {M}}} 、および識別子 I D ∈ { 0 , 1 } ∗ {\displaystyle \textstyle ID\in \left\{0,1\right\}^{*}} を入力とし、暗号文 c ∈ C {\displaystyle \textstyle c\in {\mathcal {C}}} を出力する。
復号 (Decrypt): d {\displaystyle \textstyle d} 、 P {\displaystyle \textstyle {\mathcal {P}}} 、 c ∈ C {\displaystyle \textstyle c\in {\mathcal {C}}} を入力とし、 m ∈ M {\displaystyle \textstyle m\in {\mathcal {M}}} を出力する。