Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO 29904 builds upon the mathematical infrastructure defined in ISO 29903-1 to specify concrete, implementable algorithms for identity-based encryption systems. While Part 1 establishes the theoretical foundations of bilinear pairings and algebraic structures, Part 2 defines the specific cryptographic protocols, encoding schemes, and message formats that enable interoperable IBE implementations. This standard is essential reading for cryptographic engineers, security architects, and software developers building IBE-enabled applications.
The standard specifies four primary IBE schemes: the Basic Boneh-Franklin (BF) scheme for chosen-plaintext security, the Full Boneh-Franklin scheme for chosen-ciphertext security (IND-ID-CCA), the Sakai-Kasahara (SK) scheme based on a different mathematical construction, and the Boneh-Boyen (BB) scheme that offers security without random oracles. Each scheme is specified with complete algorithmic details, including system parameter generation, key extraction, encryption, and decryption procedures. The standard also defines hybrid encryption variants that combine IBE with symmetric-key cryptography for efficient encryption of arbitrary-length messages.
The Boneh-Franklin IBE scheme, first published in 2001, remains the most widely deployed and extensively analyzed IBE construction. ISO 29904 specifies both the BasicIdent and FullIdent variants. BasicIdent provides semantic security against chosen-plaintext attacks (IND-ID-CPA) using a single hash function H1 mapping identities to group elements and a second hash function H2 for message encoding. The encryption process takes an identity string ID and a message M, computes gID = e(H1(ID), Ppub) where Ppub is the public master key, and produces a ciphertext C = (U, V) where U = rP and V = M XOR H2(gID^r).
The FullIdent variant extends BasicIdent to provide security against adaptive chosen-ciphertext attacks through the Fujisaki-Okamoto transformation. This transformation adds a verification step that detects tampering with ciphertexts, preventing attackers from extracting information through decryption queries. The standard specifies precise byte-level encoding formats for all ciphertext components, ensuring interoperability between different implementations. Key sizes are defined for multiple security levels, with the 128-bit security level using a 256-bit BN curve producing ciphertexts of approximately 70 bytes plus the symmetric-encrypted message payload.
| Scheme | Security Level | Security Model | Ciphertext Overhead | Decryption Cost (relative) |
|---|---|---|---|---|
| BasicIdent | IND-ID-CPA | Random oracle | ~64 bytes | 1 pairing + 1 exponentiation |
| FullIdent (BF) | IND-ID-CCA | Random oracle | ~70 bytes | 1 pairing + 2 exponentiations |
| Sakai-Kasahara | IND-ID-CCA | Random oracle | ~60 bytes | 1 exponentiation (no pairing) |
| Boneh-Boyen | IND-ID-CCA | Standard model | ~100 bytes | 3 pairings + 2 exponentiations |
ISO 29904 specifies detailed encoding and serialization formats for all IBE cryptographic objects, including system parameters, public keys, private keys, and ciphertexts. The standard uses Distinguished Encoding Rules (DER) for parameter serialization, providing compatibility with existing cryptographic infrastructure. System parameters are encoded as a SEQUENCE containing the curve identifier, generator point, public master key point, and hash function identifiers. Private keys are encoded as ASN.1 structures with access control metadata that specifies which identities the key is authorized to decrypt for.
The standard also defines a comprehensive key derivation framework for IBE, enabling the derivation of encryption keys for hierarchical identities. The hierarchical IBE (HIBE) extension allows parent identities to generate private keys for child identities, supporting organizational structures such as “admin@example.com” deriving keys for “user@example.com”. ISO 29904 specifies the encoding for hierarchical identity strings using forward-slash delimiters and defines the key derivation protocol that enables delegation without exposing the parent’s master secret.
ISO 29904 provides comprehensive implementation guidance covering performance optimization, side-channel resistance, and integration with existing security infrastructure. For performance-critical applications, the standard recommends precomputation techniques for pairing values, batch processing for multiple simultaneous decryption operations, and hardware acceleration using trusted execution environments such as Intel SGX or ARM TrustZone. The standard also specifies countermeasures against timing attacks, power analysis attacks, and fault injection attacks, which are essential for implementations running in adversarial environments such as mobile devices and cloud servers.
The standard dedicates significant attention to interoperability testing and certification. ISO 29904 defines a set of test vectors for each scheme variant, enabling developers to verify the correctness of their implementations. These test vectors cover all phases of the IBE protocol: system parameter generation, key extraction, encryption, and decryption. The standard also specifies a protocol for IBE-enabled secure email, including message format specifications, key exchange protocols, and integration with S/MIME and OpenPGP message formats. For IoT applications, the standard defines lightweight IBE variants that reduce computational and communication overhead for resource-constrained devices.
A: ISO 29904 specifies several approaches to key revocation. The most practical approach uses time-bound identities (e.g., “user@example.com||2026-06-01”), where the PKG issues private keys that are only valid until a specified expiration date. For immediate revocation, the standard supports blacklist-based revocation and mediator-based revocation where a semi-trusted mediator assists with decryption.
A: The fundamental Boneh-Franklin IBE patent (US Patent 7,113,594) has expired, making the basic IBE schemes freely available for commercial use. However, certain extensions and optimizations may still be covered by active patents. Organizations should conduct their own patent landscape analysis before deploying IBE in commercial products.
A: Yes, the standard includes specific provisions for IoT deployments. The lightweight IBE variant reduces pairing computations through offline precomputation and uses smaller curve parameters optimized for constrained devices. An IBE encryption operation on a typical ARM Cortex-M4 processor takes approximately 30-50 milliseconds, making it suitable for many IoT applications.
A: The standard specifies that identity strings must be normalized using the Unicode Normalization Form C (NFC) before any cryptographic operations. For email addresses, the local part is case-sensitive while the domain part is lowercased. These normalization rules ensure that the same logical identity always produces the same cryptographic keys.