wimaxing 2008-7-4 11:38
RFC5091-Identity-Based Cryptography Standard (IBCS) #1
【资料成文时间】: 2007
【语言】:英文
【页数】:63
【何人(公司)所著】:
【文件格式】: PDF
【文件原名】:Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems
【摘要或目录】:
Table of Contents
1. Introduction ....................................................4
1.1. Sending a Message That Is Encrypted Using IBE ..............5
1.1.1. Sender Obtains Recipient’s Public Parameters ........6
1.1.2. Construct and Send an IBE-Encrypted Message .........6
1.2. Receiving and Viewing an IBE-Encrypted Message .............7
1.2.1. Recipient Obtains Public Parameters from PPS ........8
1.2.2. Recipient Obtains IBE Private Key from PKG ..........8
1.2.3. Recipient Decrypts IBE-Encrypted Message ............9
2. Notation and Definitions ........................................9
2.1. Notation ...................................................9
2.2. Definitions ...............................................12
3. Basic Elliptic Curve Algorithms ................................12
3.1. The Group Action in Affine Coordinates ....................13
3.1.1. Implementation for Type-1 Curves ...................13
3.2. Point Multiplication ......................................14
3.3. Operations in Jacobian Projective Coordinates .............17
3.3.1. Implementation for Type-1 Curves ...................17
3.4. Divisors on Elliptic Curves ...............................19
3.4.1. Implementation in F_p^2 for Type-1 Curves ..........19
3.5. The Tate Pairing ..........................................21
3.5.1. Tate Pairing Calculation ...........................21
3.5.2. The Miller Algorithm for Type-1 Curves .............21
4. Supporting Algorithms ..........................................24
4.1. Integer Range Hashing .....................................24
4.1.1. Hashing to an Integer Range ........................24
4.2. Pseudo-Random Byte Generation by Hashing ..................25
4.2.1. Keyed Pseudo-Random Bytes Generator ................25
4.3. Canonical Encodings of Extension Field Elements ...........26
4.3.1. Encoding an Extension Element as a String ..........26
4.3.2. Type-1 Curve Implementation ........................27
4.4. Hashing onto a Subgroup of an Elliptic Curve ..............28
4.4.1. Hashing a String onto a Subgroup of an
Elliptic Curve .....................................28
4.4.2. Type-1 Curve Implementation ........................29
4.5. Bilinear Mapping ..........................................29
4.5.1. Regular or Modified Tate Pairing ...................29
4.5.2. Type-1 Curve Implementation ........................30
4.6. Ratio of Bilinear Pairings ................................31
4.6.1. Ratio of Regular or Modified Tate Pairings .........31
4.6.2. Type-1 Curve Implementation ........................32
5. The Boneh-Franklin BF Cryptosystem .............................32
5.1. Setup .....................................................32
5.1.1. Master Secret and Public Parameter Generation ......32
5.1.2. Type-1 Curve Implementation ........................33
5.2. Public Key Derivation .....................................34
5.2.1. Public Key Derivation from an Identity and
Public Parameters ..................................34
5.3. Private Key Extraction ....................................35
5.3.1. Private Key Extraction from an Identity, a
Set of Public ......................................35
5.4. Encryption ................................................36
5.4.1. Encrypt a Session Key Using an Identity and
Public Parameters ..................................36
5.5. Decryption ................................................37
5.5.1. Decrypt an Encrypted Session Key Using
Public Parameters, a Private Key ...................37
6. The Boneh-Boyen BB1 Cryptosystem ...............................38
6.1. Setup .....................................................38
6.1.1. Generate a Master Secret and Public Parameters .....38
6.1.2. Type-1 Curve Implementation ........................39
6.2. Public Key Derivation .....................................41
6.2.1. Derive a Public Key from an Identity and
Public Parameters ..................................41
6.3. Private Key Extraction ....................................41
6.3.1. Extract a Private Key from an Identity,
Public Parameters and a Master Secret ..............41
6.4. Encryption ................................................42
6.4.1. Encrypt a Session Key Using an Identity and
Public Parameters ..................................42
6.5. Decryption ................................................45
6.5.1. Decrypt Using Public Parameters and Private Key ....45
7. Test Data ......................................................47
7.1. Algorithm 3.2.2 (PointMultiply) ...........................47
7.2. Algorithm 4.1.1 (HashToRange) .............................48
7.3. Algorithm 4.5.1 (Pairing) .................................48
7.4. Algorithm 5.2.1 (BFderivePubl) ............................49
7.5. Algorithm 5.3.1 (BFextractPriv) ...........................49
7.6. Algorithm 5.4.1 (BFencrypt) ...............................50
7.7. Algorithm 6.3.1 (BBextractPriv) ...........................51
7.8. Algorithm 6.4.1 (BBencrypt) ...............................52
8. ASN.1 Module ...................................................53
9. Security Considerations ........................................58
10. Acknowledgments ...............................................60
11. References ....................................................60
11.1. Normative References .....................................60
11.2. Informative References ...................................60