Paper reference: Identity-Based Encryption from the Weil Pairing | SpringerLink
Known Public Encryption Scheme
Setup: Generate global system parameters and a
master-key
Extract: use the
master-key
to generate theprivate-key
corresponding to anpublic-key
stringEnc: encrypt M with ID → C
Dec: decrypt C with private-key
Application
(interesting)
Revocation of Public Keys
“One could potentially make this approach more granular by encrypting e-mail for Bob using “bob@hotmail.com ‖ current-date”. This forces Bob to obtain a new private key every day.” (Boneh and Franklin, p. 215)
“This approach enables Alice to send messages into the future: Bob will only be able to decrypt the e-mail on the date specified by Alice” (Boneh and Franklin, p. 215)
Delegation of Decryption Keys
- bind <pk,sk> pairs with dates so that private-key can be stored in a vulnerable device: only thoses pairs are compromised and the Master-key is unharmed.
- delegations of duties or other title as a skill to distribute private keys.
Construction
preparation
Bilinear Map: e.g. Weil pairing
, where and are two CYCLIC groups of some large prime order .
“In our system, G1 is the group of points of an elliptic curve over Fp and G2 is a subgroup of F∗p2 . Therefore, we view G1 as an additive group and G2 as a multiplicative group.” (Boneh and Franklin, p. 216)
Bilinear
DH problem is hard in
Properties of the Weil Pairing
Build:
where prime satisfies
Syntax
Setup: k -> sys param (publicly shared) | master key (owned by PKG (“Private Key Generator” ))
**Extract(master-key K,string ID) **=> private decryption key d.> ID is used as a public key
Enc/Dec
Secure Models
IND-ID-CCA: “adaptive chosen ciphertext attack”(Boneh and Franklin, p. 218)
ID-OWE(one-way encryption): Given random public key and ciphertext C which is the encryption of a random message M using , A’s goal is to recover M.
models above allow A to conduct multi-round queries of <ID,d(private key)> pairs;
Scheme
MapToPoint(string ID)=> Point
, where in the security analysis G is viewed as a random oracle
.
Compute and
return
Basic IBE (BasicIdent)
security parameter:
Setup
Step 1: Choose a large k-bit prime p such that p = 2 mod 3 and p = 6q − 1 for some prime q > 3. Let E be the elliptic curve defined by over . Choose an arbitrary of order q.
Step 2: Pick a random and set .
Step 3: Choose a cryptographic hash function for some n. Choose a cryptographic hash function . The security analysis will view H and G as random oracles.
output: system params := , master-key : picked in Step 2.
Message space is
Ciphertext space is
Extract(string ID)
Step 1.
Step 2. private key , where s is the master key.
Encrypt
Decrypt
“Let C = 〈U, V 〉 ∈ C be a ciphertext encrypted using the public key ID. If U ∈ E/Fp is not a point of order q reject the ciphertext. Otherwise, to decrypt C using the private key dID compute:” (Boneh and Franklin, p. 222)
proof:
IND-CCA Security: enhanced by Fujisaki-Okamoto transform
Fujisaki-Okamoto transform
Suppose is a public key encryption scheme.H and G are hash functions(viewed as random oracles): ,
Comparing with conventional Hybrid Encryption, FO transform surpasses as follows:
- IND-CCA Security
- using Hash functions to blind random seeds and message
- check keys before decryption
Encrypt
Notice that binds with both the message M and the random seed ,functioning as as that above.
Decrypt: receive C=<U,V,W>
Check if is not a point of order q, otherwise reject C
Compute
Decrypt
re-compute and check