S. Kent
BBN Technologies
January 2008
Additional Diffie-Hellman Groups for Use with IETF Standards
Status of This Memo
-
This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.
Abstract
-
This document describes eight Diffie-Hellman groups that can be used in conjunction with IETF protocols to provide security for Internet communications. The groups allow implementers to use the same groups with a variety of security protocols, e.g., SMIME, Secure SHell (SSH), Transport Layer Security (TLS), and Internet Key Exchange (IKE).
All of these groups comply in form and structure with relevant standards from ISO, ANSI, NIST, and the IEEE. These groups are compatible with all IETF standards that make use of Diffie-Hellman or Elliptic Curve Diffie-Hellman cryptography.
These groups and the associated test data are defined by NIST on their web site [EX80056A], but have not yet (as of this writing) been published in a formal NIST document. Publication of these groups and associated test data, as well as describing how to use Diffie-Hellman and Elliptic Curve Diffie-Hellman for key agreement in all of the protocols cited below, in one RFC, will facilitate development of interoperable implementations and support the Federal Information Processing Standard (FIPS) validation of implementations that make use of these groups.
Table of Contents
-
1. Introduction ....................................................2 2. Additional Diffie-Hellman Groups ................................4 2.1. 1024-bit MODP Group with 160-bit Prime Order Subgroup ......4 2.2. 2048-bit MODP Group with 224-bit Prime Order Subgroup ......4 2.3. 2048-bit MODP Group with 256-bit Prime Order Subgroup ......5 2.4. 192-bit Random ECP Group ...................................6 2.5. 224-bit Random ECP Group ...................................7 2.6. 256-bit Random ECP Group ...................................7 2.7. 384-bit Random ECP Group ...................................8 2.8. 521-bit Random ECP Group ...................................9 3. Using These Groups with IETF Standards ..........................9 3.1. X.509 Certificates .........................................9 3.2. IKE .......................................................10 3.3. TLS .......................................................10 3.4. SSH .......................................................11 3.5. SMIME .....................................................11 4. Security Considerations ........................................12 5. IANA Considerations ............................................13 6. Acknowledgments ................................................13 Appendix A: Test Data .............................................14 A.1. 1024-bit MODP Group with 160-bit Prime Order Subgroup......15 A.2. 2048-bit MODP Group with 224-bit Prime Order Subgroup......15 A.3. 2048-bit MODP Group with 256-bit Prime Order Subgroup......16 A.4. 192-bit Random ECP Group ..................................17 A.5. 224-bit Random ECP Group ..................................18 A.6. 256-bit Random ECP Group ..................................18 A.7. 384-bit Random ECP Group ..................................19 A.8. 521-bit Random ECP Group ..................................19 Normative References ..............................................20 Informative References ............................................20
1. Introduction
-
This document provides parameters and test data for several Diffie-Hellman (D-H) groups that can be used with IETF protocols that employ D-H keys, (e.g., IKE, TLS, SSH, and SMIME) and with IETF standards, such as Public Key Infrastructure for X.509 Certificates (PKIX) (for certificates that carry D-H keys). These groups complement others already documented for the IETF, including the "Oakley" groups defined in RFC 2409 [RFC2409] for use with IKEv1, and several additional D-H groups defined later, e.g., [RFC3526] and [RFC4492].
The initial impetus for the definition of D-H groups (in the IETF) arose in the IPsec (IKE) context, because of the use of an ephemeral, unauthenticated D-H exchange as the starting point for that protocol. RFC 2409 defined five standard Oakley Groups: three modular exponentiation groups and two elliptic curve groups over GF[2^N]. One modular exponentiation group (768 bits - Oakley Group 1) was declared to be mandatory for all IKEv1 implementations to support, while the other four were optional. Sixteen additional groups subsequently have been defined and registered with IANA for use with IKEv1, including eight that have also been registered for use with IKEv2. All of these additional groups are optional in the IKE context. Of the twenty-one groups defined so far for use with IKE, eight are MODP groups (exponentiation groups modulo a prime), ten are EC2N groups (elliptic curve groups over GF[2^N]), and three are ECP groups (elliptic curve groups over GF[P]).
The purpose of this document is to provide the parameters and test data for eight additional groups, in a format consistent with existing RFCs along with instructions on how these groups can be used with IETF protocols such as SMIME, SSH, TLS, and IKE. Three of these groups were previously specified for use with IKE [RFC4753], and five of these groups were previously specified for use with TLS [RFC4492]. (The latter document does not provide or reference test data for the specified groups). By combining the specification of all eight groups with test data and instructions for use in a variety of protocols, this document serves as a resource for implementers who may wish to offer the same Diffie-Hellman groups for use with multiple IETF protocols.
All of these groups are compatible with applicable ISO [ISO-14888-3], ANSI [X9.62], and NIST [NIST80056A] standards for Diffie-Hellman key exchange. These groups and the associated test data are defined by NIST on their web site [EX80056A], but have not yet (as of this writing) been published in a formal NIST document. Publication of these groups with associated test data as an RFC will facilitate development of interoperable implementations and support FIPS validation of implementations that make use of these groups.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].
2. Additional Diffie-Hellman Groups
-
This section contains the specification for eight groups for use in IKE, TLS, SSH, etc. There are three standard prime modulus groups and five elliptic curve groups. All groups were taken from publications of the National Institute of Standards and Technology, specifically [DSS] and [NIST80056A]. Test data for each group is provided in Appendix A.
2.1. 1024-bit MODP Group with 160-bit Prime Order Subgroup
-
The hexadecimal value of the prime is:
p = B10B8F96 A080E01D DE92DE5E AE5D54EC 52C99FBC FB06A3C6
-
9A6A9DCA 52D23B61 6073E286 75A23D18 9838EF1E 2EE652C0 13ECB4AE A9061123 24975C3C D49B83BF ACCBDD7D 90C4BD70 98488E9C 219A7372 4EFFD6FA E5644738 FAA31A4F F55BCCC0 A151AF5F 0DC8B4BD 45BF37DF 365C1A65 E68CFDA7 6D4DA708 DF1FB2BC 2E4A4371
The hexadecimal value of the generator is:
g = A4D1CBD5 C3FD3412 6765A442 EFB99905 F8104DD2 58AC507F
-
D6406CFF 14266D31 266FEA1E 5C41564B 777E690F 5504F213 160217B4 B01B886A 5E91547F 9E2749F4 D7FBD7D3 B9A92EE1 909D0D22 63F80A76 A6A24C08 7A091F53 1DBF0A01 69B6A28A D662A4D1 8E73AFA3 2D779D59 18D08BC8 858F4DCE F97C2A24 855E6EEB 22B3B2E5
The generator generates a prime-order subgroup of size:
q = F518AA87 81A8DF27 8ABA4E7D 64B7CB9D 49462353
2.2. 2048-bit MODP Group with 224-bit Prime Order Subgroup
-
The hexadecimal value of the prime is:
p = AD107E1E 9123A9D0 D660FAA7 9559C51F A20D64E5 683B9FD1 B54B1597 B61D0A75 E6FA141D F95A56DB AF9A3C40 7BA1DF15 EB3D688A 309C180E 1DE6B85A 1274A0A6 6D3F8152 AD6AC212 9037C9ED EFDA4DF8 D91E8FEF 55B7394B 7AD5B7D0 B6C12207 C9F98D11 ED34DBF6 C6BA0B2C 8BBC27BE 6A00E0A0 B9C49708 B3BF8A31 70918836 81286130 BC8985DB 1602E714 415D9330 278273C7 DE31EFDC 7310F712 1FD5A074 15987D9A DC0A486D CDF93ACC 44328387 315D75E1 98C641A4 80CD86A1 B9E587E8 BE60E69C C928B2B9 C52172E4 13042E9B 23F10B0E 16E79763 C9B53DCF 4BA80A29 E3FB73C1 6B8E75B9 7EF363E2 FFA31F71 CF9DE538 4E71B81C 0AC4DFFE 0C10E64F
The hexadecimal value of the generator is:
g = AC4032EF 4F2D9AE3 9DF30B5C 8FFDAC50 6CDEBE7B 89998CAF 74866A08 CFE4FFE3 A6824A4E 10B9A6F0 DD921F01 A70C4AFA AB739D77 00C29F52 C57DB17C 620A8652 BE5E9001 A8D66AD7 C1766910 1999024A F4D02727 5AC1348B B8A762D0 521BC98A E2471504 22EA1ED4 09939D54 DA7460CD B5F6C6B2 50717CBE F180EB34 118E98D1 19529A45 D6F83456 6E3025E3 16A330EF BB77A86F 0C1AB15B 051AE3D4 28C8F8AC B70A8137 150B8EEB 10E183ED D19963DD D9E263E4 770589EF 6AA21E7F 5F2FF381 B539CCE3 409D13CD 566AFBB4 8D6C0191 81E1BCFE 94B30269 EDFE72FE 9B6AA4BD 7B5A0F1C 71CFFF4C 19C418E1 F6EC0179 81BC087F 2A7065B3 84B890D3 191F2BFA
The generator generates a prime-order subgroup of size:
q = 801C0D34 C58D93FE 99717710 1F80535A 4738CEBC BF389A99 B36371EB
2.3. 2048-bit MODP Group with 256-bit Prime Order Subgroup
-
The hexadecimal value of the prime is:
p = 87A8E61D B4B6663C FFBBD19C 65195999 8CEEF608 660DD0F2
-
5D2CEED4 435E3B00 E00DF8F1 D61957D4 FAF7DF45 61B2AA30 16C3D911 34096FAA 3BF4296D 830E9A7C 209E0C64 97517ABD 5A8A9D30 6BCF67ED 91F9E672 5B4758C0 22E0B1EF 4275BF7B 6C5BFC11 D45F9088 B941F54E B1E59BB8 BC39A0BF 12307F5C 4FDB70C5 81B23F76 B63ACAE1 CAA6B790 2D525267 35488A0E F13C6D9A 51BFA4AB 3AD83477 96524D8E F6A167B5 A41825D9 67E144E5 14056425 1CCACB83 E6B486F6 B3CA3F79 71506026 C0B857F6 89962856 DED4010A BD0BE621 C3A3960A 54E710C3 75F26375 D7014103 A4B54330 C198AF12 6116D227 6E11715F 693877FA D7EF09CA DB094AE9 1E1A1597
The hexadecimal value of the generator is:
g = 3FB32C9B 73134D0B 2E775066 60EDBD48 4CA7B18F 21EF2054
-
07F4793A 1A0BA125 10DBC150 77BE463F FF4FED4A AC0BB555 BE3A6C1B 0C6B47B1 BC3773BF 7E8C6F62 901228F8 C28CBB18 A55AE313 41000A65 0196F931 C77A57F2 DDF463E5 E9EC144B 777DE62A AAB8A862 8AC376D2 82D6ED38 64E67982 428EBC83 1D14348F 6F2F9193 B5045AF2 767164E1 DFC967C1 FB3F2E55 A4BD1BFF E83B9C80 D052B985 D182EA0A DB2A3B73 13D3FE14 C8484B1E 052588B9 B7D2BBD2 DF016199 ECD06E15 57CD0915 B3353BBB 64E0EC37 7FD02837 0DF92B52 C7891428 CDC67EB6 184B523D 1DB246C3 2F630784 90F00EF8 D647D148 D4795451 5E2327CF EF98C582 664B4C0F 6CC41659
The generator generates a prime-order subgroup of size:
q = 8CF83642 A709A097 B4479976 40129DA2 99B1A47D 1EB3750B
A308B0FE 64F5FBD3
2.4. 192-bit Random ECP Group
-
The curve is based on the integers modulo the prime p given by:
p = 2^(192) - 2^(64) - 1
Group prime (in hexadecimal):
-
p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFFFF FFFFFFFF
The equation for the elliptic curve is:
y^2 = x^3 + ax + b (mod p)
Group curve parameter A (in hexadecimal):
-
a = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFFFF FFFFFFFC
Group curve parameter B (in hexadecimal):
-
b = 64210519 E59C80E7 0FA7E9AB 72243049 FEB8DEEC C146B9B1
The generator for this group is given by: g=(gx,gy) where
-
gx = 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012
gy = 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811
Group order (in hexadecimal):
-
n = FFFFFFFF FFFFFFFF FFFFFFFF 99DEF836 146BC9B1 B4D22831
2.5. 224-bit Random ECP Group
-
The curve is based on the integers modulo the prime p given by:
p = 2^(224) - 2^(96) + 1
Group prime (in hexadecimal):
-
p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 00000000
-
-
The equation for the elliptic curve is:
y^2 = x^3 + ax + b (mod p)
Group curve parameter A (in hexadecimal):
-
a = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFFFF FFFFFFFF
FFFFFFFE
Group curve parameter B (in hexadecimal):
-
b = B4050A85 0C04B3AB F5413256 5044B0B7 D7BFD8BA 270B3943
2355FFB4
The generator for this group is given by: g=(gx,gy) where
-
gx = B70E0CBD 6BB4BF7F 321390B9 4A03C1D3 56C21122 343280D6
115C1D21
-
gy = BD376388 B5F723FB 4C22DFE6 CD4375A0 5A074764 44D58199
85007E34
Group Order (in hexadecimal):
-
n = FFFFFFFF FFFFFFFF FFFFFFFF FFFF16A2 E0B8F03E 13DD2945
5C5C2A3D
2.6. 256-bit Random ECP Group
-
The curve is based on the integers modulo the prime p given by:
p = 2^(256)-2^(224)+2^(192)+2^(96)-1
Group prime (in hexadecimal):
-
p = FFFFFFFF 00000001 00000000 00000000 00000000 FFFFFFFF
FFFFFFFF FFFFFFFF
The equation for the elliptic curve is:
y^2 = x^3 + ax + b (mod p)
Group curve parameter A (in hexadecimal):
-
a = FFFFFFFF 00000001 00000000 00000000 00000000 FFFFFFFF
FFFFFFFF FFFFFFFC
Group curve parameter B (in hexadecimal):
-
b = 5AC635D8 AA3A93E7 B3EBBD55 769886BC 651D06B0 CC53B0F6
3BCE3C3E 27D2604B
The generator for this group is given by: g=(gx,gy) where
-
gx = 6B17D1F2 E12C4247 F8BCE6E5 63A440F2 77037D81 2DEB33A0
F4A13945 D898C296
-
gy = 4FE342E2 FE1A7F9B 8EE7EB4A 7C0F9E16 2BCE3357 6B315ECE
CBB64068 37BF51F5
Group Order (in hexadecimal):
-
n = FFFFFFFF 00000000 FFFFFFFF FFFFFFFF BCE6FAAD A7179E84
F3B9CAC2 FC632551
2.7. 384-bit Random ECP Group
-
The curve is based on the integers modulo the prime p given by:
p = 2^(384)-2^(128)-2^(96)+2^(32)-1
Group prime (in hexadecimal):
-
p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFE FFFFFFFF 00000000 00000000 FFFFFFFF
-
The equation for the elliptic curve is:
y^2 = x^3 + ax + b (mod p)
Group curve parameter A (in hexadecimal):
-
a = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFE FFFFFFFF 00000000 00000000 FFFFFFFC
-
Group curve parameter B (in hexadecimal):
-
b = B3312FA7 E23EE7E4 988E056B E3F82D19 181D9C6E FE814112
0314088F 5013875A C656398D 8A2ED19D 2A85C8ED D3EC2AEF
-
The generator for this group is given by: g=(gx,gy) where
-
gx = AA87CA22 BE8B0537 8EB1C71E F320AD74 6E1D3B62 8BA79B98
-
59F741E0 82542A38 5502F25D BF55296C 3A545E38 72760AB7
-
-
gy = 3617DE4A 96262C6F 5D9E98BF 9292DC29 F8F41DBD 289A147C
-
E9DA3113 B5F0B8C0 0A60B1CE 1D7E819D 7A431D7C 90EA0E5F
-
Group Order (in hexadecimal):
-
n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
C7634D81 F4372DDF 581A0DB2 48B0A77A ECEC196A CCC52973
2.8. 521-bit Random ECP Group
-
The curve is based on the integers modulo the prime p given by:
p = 2^(521)-1
Group Prime (in hexadecimal):
-
p = 000001FF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
-
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
The equation for the elliptic curve is:
y^2 = x^3 + ax + b (mod p)
Group curve parameter A (in hexadecimal):
-
a = 000001FF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
-
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFC
Group curve parameter B (in hexadecimal):
-
b = 00000051 953EB961 8E1C9A1F 929A21A0 B68540EE A2DA725B
-
99B315F3 B8B48991 8EF109E1 56193951 EC7E937B 1652C0BD 3BB1BF07 3573DF88 3D2C34F1 EF451FD4 6B503F00
The generator for this group is given by: g=(gx,gy) where
-
gx = 000000C6 858E06B7 0404E9CD 9E3ECB66 2395B442 9C648139
053FB521 F828AF60 6B4D3DBA A14B5E77 EFE75928 FE1DC127
A2FFA8DE 3348B3C1 856A429B F97E7E31 C2E5BD66
-
-
gy = 00000118 39296A78 9A3BC004 5C8A5FB4 2C7D1BD9 98F54449
-
579B4468 17AFBD17 273E662C 97EE7299 5EF42640 C550B901
3FAD0761 353C7086 A272C240 88BE9476 9FD16650
-
Group Order (in hexadecimal):
-
n = 000001FF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
-
FFFFFFFF FFFFFFFF FFFFFFFA 51868783 BF2F966B 7FCC0148 F709A5D0 3BB5C9B8 899C47AE BB6FB71E 91386409
3. Using These Groups with IETF Standards
3.1. X.509 Certificates
-
Representation of both MODP and Elliptic Curve Diffie-Hellman public keys (and associated parameters) in X.509 certificates is defined in [RFC3279]. The MODP groups defined above MUST be represented via the syntax defined in Section 2.3.3, and the elliptic curve groups via the syntax defined in Section in 2.3.5 of that RFC. When a Diffie-Hellman public key is encoded in a certificate, if the KeyUsage extension is present, the keyAgreement bits MUST be asserted, and encipherOnly or decipherOnly (but not both) MAY be asserted.
3.2. IKE
-
Use of MODP Diffie-Hellman groups with IKEv2 is defined in [RFC4306], and the use of MODP groups with IKEv1 is defined in [RFC2409]. However, in the case of ECP Diffie-Hellman groups, the format of key exchange payloads and the derivation of a shared secret has thus far been specified on a group-by-group basis. For the ECP Diffie-Hellman groups defined in this document, the key exchange payload format and shared key derivation procedure specified in [RFC4753] MUST be used (with both IKEv2 and IKEv1).
In order to use a Diffie-Hellman group with IKE, it is required that a transform ID for the group be registered with IANA. The following table provides the Transform IDs of each Diffie-Hellman group described in this document, as registered in both [IANA-IKE] and [IANA-IKE2].
NAME | NUMBER --------------------------------------------------------+--------- 1024-bit MODP Group with 160-bit Prime Order Subgroup | 22 2048-bit MODP Group with 224-bit Prime Order Subgroup | 23 2048-bit MODP Group with 256-bit Prime Order Subgroup | 24 192-bit Random ECP Group | 25 224-bit Random ECP Group | 26 256-bit Random ECP Group | 19 384-bit Random ECP Group | 20 521-bit Random ECP Group | 21
3.3. TLS
-
Use of MODP Diffie-Hellman groups in TLS 1.1 is defined in [RFC4346]. TLS 1.0, the widely deployed predecessor of TLS 1.1, is specified in [RFC2246] and is the same as TLS 1.1 with respect to the use of (MODP) Diffie-Hellman to compute a pre-Master secret. (Currently, the TLS working group is in the process of producing a specification for TLS 1.2. It is unlikely that TLS 1.2 will make significant changes to the use of Diffie-Hellman, and thus the following will likely also be applicable to TLS 1.2).
A server may employ a certificate containing (fixed) Diffie-Hellman parameters, and likewise for a client using a certificate. Thus, the relevant PKIX RFCs (see 3.1 above) are applicable. Alternatively, a server may send ephemeral Diffie-Hellman parameters in the server key exchange message, where the message signature is verified using an RSA- or DSS-signed server certificate. The details for accomplishing this for MODP Diffie-Hellman groups are provided in [RFC2246].
Use of Elliptic Curve Diffie-Hellman in TLS 1.1 (and 1.0) is defined in [RFC4492]. The elliptic curves in this document appear in the IANA EC Named Curve Registry [IANA-TLS], although the names in the registry are taken from the Standards for Efficient Cryptography Group (SECG) specification [SECG] and differ from the names appearing in NIST publications. The following table provides the EC Named Curve ID for each of the elliptic curves along with both the NIST name and the SECG name for the curve.
NAME (NIST) | NUMBER | NAME (SECG) ---------------------------------+--------------+--------------- 192-bit Random ECP Group | 19 | secp192r1 224-bit Random ECP Group | 21 | secp224r1 256-bit Random ECP Group | 23 | secp256r1 384-bit Random ECP Group | 24 | secp384r1 521-bit Random ECP Group | 25 | secp521r1
3.4. SSH
-
Use of Diffie-Hellman with SSH was defined initially in [RFC4253]. That RFC defined two MODP Diffie-Hellman groups, and called for the registration of additional groups via an IANA registry. However, [RFC4419] extended the original model to allow MODP Diffie-Hellman parameters to be transmitted as part of the key exchange messages. Thus, using RFC 4419, no additional specifications (or IANA registry actions) are required to enable use of the MODP groups defined in this document. At this time, no RFC describes the use of Elliptic Curve Diffie-Hellman with SSH. However, [SSH-ECC] provides a description of how to make use of Elliptic Curve Diffie-Hellman with SSH.
3.5. SMIME
-
Use of Diffie-Hellman in SMIME is defined via a discussion of Cryptographic Message Syntax (CMS) enveloped data [RFC3852]. For MODP Diffie-Hellman, the appropriate reference is [RFC2631]. This specification calls for a sender to extract the Diffie-Hellman (MODP) parameters from a recipient's certificate, and thus the PKIX specifications for representation of Diffie-Hellman parameters suffice. The sender transmits his public key via the
OriginatorIdentifierorKey field, or via a reference to the sender's certificate.
Use of Elliptic Curve Diffie-Hellman in CMS is defined in [RFC3278]. As with use of MODP Diffie-Hellman in the CMS context, the sender is assumed to acquire the recipient's public key and parameters from a certificate. The sender includes his Elliptic Curve Diffie-Hellman public key in the KeyAgreeRecipientInfo originator field. (See Section 8.2 of RFC 3278 for details of the ECC-CMS-SharedInfo).
4. Security Considerations
-
The strength of a key derived from a Diffie-Hellman exchange using any of the groups defined here depends on the inherent strength of the group, the size of the exponent used, and the entropy provided by the random number generator used. The groups defined in this document were chosen to make the work factor for solving the discrete logarithm problem roughly comparable to an attack on the subgroup.
Using secret keys of an appropriate size is crucial to the security of a Diffie-Hellman exchange. For modular exponentiation groups, the size of the secret key should be equal to the size of q (the size of the prime order subgroup). For elliptic curve groups, the size of the secret key must be equal to the size of n (the order of the group generated by the point g). Using larger secret keys provides absolutely no additional security, and using smaller secret keys is likely to result in dramatically less security. (See [NIST80056A] for more information on selecting secret keys.)
When secret keys of an appropriate size are used, an approximation of the strength of each of the Diffie-Hellman groups is provided in the table below. For each group, the table contains an RSA key size and symmetric key size that provide roughly equivalent levels of security. This data is based on the recommendations in [NIST80057].
GROUP | SYMMETRIC | RSA -------------------------------------------+------------+------- 1024-bit MODP with 160-bit Prime Subgroup | 80 | 1024 2048-bit MODP with 224-bit Prime Subgroup | 112 | 2048 2048-bit MODP with 256-bit Prime Subgroup | 112 | 2048 192-bit Random ECP Group | 80 | 1024 224-bit Random ECP Group | 112 | 2048 256-bit Random ECP Group | 128 | 3072 384-bit Random ECP Group | 192 | 7680 521-bit Random ECP Group | 256 | 15360
5. IANA Considerations
-
IANA has taken the following actions:
Updated the IKE and IKEv2 registries to include the following five groups defined in this document: (Note that the other three ECP groups defined in this document have already been added to the IKE registry).
- 1024-bit MODP Group with 160-bit Prime Order Subgroup
- 2048-bit MODP Group with 224-bit Prime Order Subgroup
- 2048-bit MODP Group with 256-bit Prime Order Subgroup
- 192-bit Random ECP Group
- 224-bit Random ECP Group
Updated [IANA-IKE] and [IANA-IKE2] to reflect the above, which now appear as entries in the list of Diffie-Hellman groups given by Group Description. The descriptions are as stated above.
6. Acknowledgments
-
We wish to thank NIST for publishing the group definitions and providing test data to assist implementers in verifying that software or hardware correctly implements these groups. We also wish to thank Tero Kivinen and Sean Turner for providing helpful comments after reviewing an earlier version of this document.
Appendix A. Test Data
-
The test data in this appendix is a protocol-independent subset of the test data in [EX80056A]. In the test data for the three modular exponentiation groups, we use the following notation:
-
xA:
-
The secret key of party A
yA:
-
The public key of party A
xB:
-
The secret key of party B
yB:
-
The public key of party B
Z:
-
The shared secret that results from the Diffie-Hellman computation
In the test data for the five elliptic curve groups, we use the following notation:
dA: The secret value of party A
-
x_qA:
-
The x-coordinate of the public key of party A
-
-
y_qA:
-
The y-coordinate of the public key of party A
-
dB: The secret value of party B
-
x_qA:
-
The x-coordinate of the public key of party B
-
-
y_qA:
-
The y-coordinate of the public key of party B
-
x_Z: The x-coordinate of the shared secret that results from the Diffie-Hellman computation y_Z: The y-coordinate of the shared secret that results form the Diffie-Hellman computation
A.1. 1024-bit MODP Group with 160-bit Prime Order Subgroup
-
xA = B9A3B3AE 8FEFC1A2 93049650 7086F845 5D48943E yA = 2A853B3D 92197501 B9015B2D EB3ED84F 5E021DCC 3E52F109 D3273D2B 7521281C BABE0E76 FF5727FA 8ACCE269 56BA9A1F CA26F202 28D8693F EB10841D 84A73600 54ECE5A7 F5B7A61A D3DFB3C6 0D2E4310 6D8727DA 37DF9CCE 95B47875 5D06BCEA 8F9D4596 5F75A5F3 D1DF3701 165FC9E5 0C4279CE B07F9895 40AE96D5 D88ED776 xB = 9392C9F9 EB6A7A6A 9022F7D8 3E7223C6 835BBDDA yB = 717A6CB0 53371FF4 A3B93294 1C1E5663 F861A1D6 AD34AE66 576DFB98 F6C6CBF9 DDD5A56C 7833F6BC FDFF0955 82AD868E 440E8D09 FD769E3C ECCDC3D3 B1E4CFA0 57776CAA F9739B6A 9FEE8E74 11F8D6DA C09D6A4E DB46CC2B 5D520309 0EAE6126 311E53FD 2C14B574 E6A3109A 3DA1BE41 BDCEAA18 6F5CE067 16A2B6A0 7B3C33FE Z = 5C804F45 4D30D9C4 DF85271F 93528C91 DF6B48AB 5F80B3B5 9CAAC1B2 8F8ACBA9 CD3E39F3 CB614525 D9521D2E 644C53B8 07B810F3 40062F25 7D7D6FBF E8D5E8F0 72E9B6E9 AFDA9413 EAFB2E8B 0699B1FB 5A0CACED DEAEAD7E 9CFBB36A E2B42083 5BD83A19 FB0B5E96 BF8FA4D0 9E345525 167ECD91 55416F46 F408ED31 B63C6E6D
A.2. 2048-bit MODP Group with 224-bit Prime Order Subgroup
-
xA = 22E62601 DBFFD067 08A680F7 47F361F7 6D8F4F72 1A0548E4 83294B0C yA = 1B3A6345 1BD886E6 99E67B49 4E288BD7 F8E0D370 BADDA7A0 EFD2FDE7 D8F66145 CC9F2804 19975EB8 08877C8A 4C0C8E0B D48D4A54 01EB1E87 76BFEEE1 34C03831 AC273CD9 D635AB0C E006A42A 887E3F52 FB8766B6 50F38078 BC8EE858 0CEFE243 968CFC4F 8DC3DB08 4554171D 41BF2E86 1B7BB4D6 9DD0E01E A387CBAA 5CA672AF CBE8BDB9 D62D4CE1 5F17DD36 F91ED1EE DD65CA4A 06455CB9 4CD40A52 EC360E84 B3C926E2 2C4380A3 BF309D56 849768B7 F52CFDF6 55FD053A 7EF70697 9E7E5806 B17DFAE5 3AD2A5BC 568EBB52 9A7A61D6 8D256F8F C97C074A 861D827E 2EBC8C61 34553115 B70E7103 920AA16D 85E52BCB AB8D786A 68178FA8 FF7C2F5C 71648D6F xB = 4FF3BC96 C7FC6A6D 71D3B363 800A7CDF EF6FC41B 4417EA15 353B7590 yB = 4DCEE992 A9762A13 F2F83844 AD3D77EE 0E31C971 8B3DB6C2 035D3961 182C3E0B A247EC41 82D760CD 48D99599 970622A1 881BBA2D C822939C 78C3912C 6661FA54 38B20766 222B75E2 4C2E3AD0 C7287236 129525EE 15B5DD79 98AA04C4 A9696CAC D7172083 A97A8166 4EAD2C47 9E444E4C 0654CC19 E28D7703 CEE8DACD 6126F5D6 65EC52C6 7255DB92 014B037E B621A2AC 8E365DE0 71FFC140 0ACF077A 12913DD8 DE894734 37AB7BA3 46743C1B 215DD9C1 2164A7E4 053118D1 99BEC8EF 6FC56117 0C84C87D 10EE9A67 4A1FA8FF E13BDFBA 1D44DE48 946D68DC 0CDD7776 35A7AB5B FB1E4BB7 B856F968 27734C18 4138E915 D9C3002E BCE53120 546A7E20 02142B6C Z = 34D9BDDC 1B42176C 313FEA03 4C21034D 074A6313 BB4ECDB3 703FFF42 4567A46B DF75530E DE0A9DA5 229DE7D7 6732286C BC0F91DA 4C3C852F C099C679 531D94C7 8AB03D9D ECB0A4E4 CA8B2BB4 591C4021 CF8CE3A2 0A541D33 994017D0 200AE2C9 516E2FF5 14577926 9E862B0F B474A2D5 6DC31ED5 69A7700B 4C4AB16B 22A45513 531EF523 D7121207 7B5A169B DEFFAD7A D9608284 C7795B6D 5A5183B8 7066DE17 D8D671C9 EBD8EC89 544D45EC 061593D4 42C62AB9 CE3B1CB9 943A1D23 A5EA3BCF 21A01471 E67E003E 7F8A69C7 28BE490B 2FC88CFE B92DB6A2 15E5D03C 17C464C9 AC1A46E2 03E13F95 2995FB03 C69D3CC4 7FCB510B 6998FFD3 AA6DE73C F9F63869
A.3. 2048-bit MODP Group with 256-bit Prime Order Subgroup
-
xA = 0881382C DB87660C 6DC13E61 4938D5B9 C8B2F248 581CC5E3 1B354543 97FCE50E yA = 2E9380C8 323AF975 45BC4941 DEB0EC37 42C62FE0 ECE824A6 ABDBE66C 59BEE024 2911BFB9 67235CEB A35AE13E 4EC752BE 630B92DC 4BDE2847 A9C62CB8 15274542 1FB7EB60 A63C0FE9 159FCCE7 26CE7CD8 523D7450 667EF840 E4919121 EB5F01C8 C9B0D3D6 48A93BFB 75689E82 44AC134A F544711C E79A02DC C3422668 4780DDDC B4985941 06C37F5B C7985648 7AF5AB02 2A2E5E42 F09897C1 A85A11EA 0212AF04 D9B4CEBC 937C3C1A 3E15A8A0 342E3376 15C84E7F E3B8B9B8 7FB1E73A 15AF12A3 0D746E06 DFC34F29 0D797CE5 1AA13AA7 85BF6658 AFF5E4B0 93003CBE AF665B3C 2E113A3A 4E905269 341DC071 1426685F 4EF37E86 8A8126FF 3F2279B5 7CA67E29 xB = 7D62A7E3 EF36DE61 7B13D1AF B82C780D 83A23BD4 EE670564 5121F371 F546A53D yB = 575F0351 BD2B1B81 7448BDF8 7A6C362C 1E289D39 03A30B98 32C5741F A250363E 7ACBC7F7 7F3DACBC 1F131ADD 8E03367E FF8FBBB3 E1C57844 24809B25 AFE4D226 2A1A6FD2 FAB64105 CA30A674 E07F7809 85208863 2FC04923 3791AD4E DD083A97 8B883EE6 18BC5E0D D047415F 2D95E683 CF14826B 5FBE10D3 CE41C6C1 20C78AB2 0008C698 BF7F0BCA B9D7F407 BED0F43A FB2970F5 7F8D1204 3963E66D DD320D59 9AD9936C 8F44137C 08B180EC 5E985CEB E186F3D5 49677E80 607331EE 17AF3380 A725B078 2317D7DD 43F59D7A F9568A9B B63A84D3 65F92244 ED120988 219302F4 2924C7CA 90B89D24 F71B0AB6 97823D7D EB1AFF5B 0E8E4A45 D49F7F53 757E1913 Z = 86C70BF8 D0BB81BB 01078A17 219CB7D2 7203DB2A 19C877F1 D1F19FD7 D77EF225 46A68F00 5AD52DC8 4553B78F C60330BE 51EA7C06 72CAC151 5E4B35C0 47B9A551 B88F39DC 26DA14A0 9EF74774 D47C762D D177F9ED 5BC2F11E 52C879BD 95098504 CD9EECD8 A8F9B3EF BD1F008A C5853097 D9D1837F 2B18F77C D7BE01AF 80A7C7B5 EA3CA54C C02D0C11 6FEE3F95 BB873993 85875D7E 86747E67 6E728938 ACBFF709 8E05BE4D CFB24052 B83AEFFB 14783F02 9ADBDE7F 53FAE920 84224090 E007CEE9 4D4BF2BA CE9FFD4B 57D2AF7C 724D0CAA 19BF0501 F6F17B4A A10F425E 3EA76080 B4B9D6B3 CEFEA115 B2CEB878 9BB8A3B0 EA87FEBE 63B6C8F8 46EC6DB0 C26C5D7C
A.4. 192-bit Random ECP Group
-
dA = 323FA316 9D8E9C65 93F59476 BC142000 AB5BE0E2 49C43426
-
x_qA = CD46489E CFD6C105 E7B3D325 66E2B122 E249ABAA DD870612
y_qA = 68887B48 77DF51DD 4DC3D6FD 11F0A26F 8FD38443 17916E9A
dB = 631F95BB 4A67632C 9C476EEE 9AB695AB 240A0499 307FCF62
-
x_qB = 519A1216 80E00454 66BA21DF 2EEE47F5 973B5005 77EF13D5
y_qB = FF613AB4 D64CEE3A 20875BDB 10F953F6 B30CA072 C60AA57F
x_Z = AD420182 633F8526 BFE954AC DA376F05 E5FF4F83 7F54FEBE y_Z = 4371545E D772A597 41D0EDA3 2C671112 B7FDDD51 461FCF32
-
A.5. 224-bit Random ECP Group
-
dA = B558EB6C 288DA707 BBB4F8FB AE2AB9E9 CB62E3BC 5C7573E2 2E26D37F x_qA = 49DFEF30 9F81488C 304CFF5A B3EE5A21 54367DC7 833150E0 A51F3EEB y_qA = 4F2B5EE4 5762C4F6 54C1A0C6 7F54CF88 B016B51B CE3D7C22 8D57ADB4 dB = AC3B1ADD 3D9770E6 F6A708EE 9F3B8E0A B3B480E9 F27F85C8 8B5E6D18 x_qB = 6B3AC96A 8D0CDE6A 5599BE80 32EDF10C 162D0A8A D219506D CD42A207 y_qB = D491BE99 C213A7D1 CA3706DE BFE305F3 61AFCBB3 3E2609C8 B1618AD5 x_Z = 52272F50 F46F4EDC 91515690 92F46DF2 D96ECC3B 6DC1714A 4EA949FA y_Z = 5F30C6AA 36DDC403 C0ACB712 BB88F176 3C3046F6 D919BD9C 524322BF
A.6. 256-bit Random ECP Group
-
dA = 81426414 5F2F56F2 E96A8E33 7A128499 3FAF432A 5ABCE59E 867B7291 D507A3AF x_qA = 2AF502F3 BE8952F2 C9B5A8D4 160D09E9 7165BE50 BC42AE4A 5E8D3B4B A83AEB15 y_qA = EB0FAF4C A986C4D3 8681A0F9 872D79D5 6795BD4B FF6E6DE3 C0F5015E CE5EFD85 dB = 2CE1788E C197E096 DB95A200 CC0AB26A 19CE6BCC AD562B8E EE1B5937 61CF7F41 x_qB = B120DE4A A3649279 5346E8DE 6C2C8646 AE06AAEA 279FA775 B3AB0715 F6CE51B0 y_qB = 9F1B7EEC E20D7B5E D8EC685F A3F071D8 37270270 92A84113 85C34DDE 5708B2B6 x_Z = DD0F5396 219D1EA3 93310412 D19A08F1 F5811E9D C8EC8EEA 7F80D21C 820C2788 y_Z = 0357DCCD 4C804D0D 8D33AA42 B848834A A5605F9A B0D37239 A115BBB6 47936F50
A.7. 384-bit Random ECP Group
-
dA = D27335EA 71664AF2 44DD14E9 FD126071 5DFD8A79 65571C48 D709EE7A 7962A156 D706A90C BCB5DF29 86F05FEA DB9376F1
-
x_qA = 793148F1 787634D5 DA4C6D90 74417D05 E057AB62 F82054D1
-
-
0EE6B040 3D627954 7E6A8EA9 D1FD7742 7D016FE2 7A8B8C66
-
y_qA = C6C41294 331D23E6 F480F4FB 4CD40504 C947392E 94F4C3F0
-
-
6B8F398B B29E4236 8F7A6859 23DE3B67 BACED214 A1A1D128
-
dB = 52D1791F DB4B70F8 9C0F00D4 56C2F702 3B612526 2C36A7DF 1F802311 21CCE3D3 9BE52E00 C194A413 2C4A6C76 8BCD94D2
-
x_qB = 5CD42AB9 C41B5347 F74B8D4E FB708B3D 5B36DB65 915359B4
-
-
4ABC1764 7B6B9999 789D72A8 4865AE2F 223F12B5 A1ABC120
-
y_qB = E171458F EAA939AA A3A8BFAC 46B404BD 8F6D5B34 8C0FA4D8
-
-
0CECA163 56CA9332 40BDE872 3415A8EC E035B0ED F36755DE
-
x_Z = 5EA1FC4A F7256D20 55981B11 0575E0A8 CAE53160 137D904C 59D926EB 1B8456E4 27AA8A45 40884C37 DE159A58 028ABC0E y_Z = 0CC59E4B 046414A8 1C8A3BDF DCA92526 C48769DD 8D3127CA A99B3632 D1913942 DE362EAF AA962379 374D9F3F 066841CA
-
A.8. 521-bit Random ECP Group
-
dA = 0113 F82DA825 735E3D97 276683B2 B74277BA D27335EA 71664AF2 430CC4F3 3459B966 9EE78B3F FB9B8683 015D344D CBFEF6FB 9AF4C6C4 70BE2545 16CD3C1A 1FB47362 x_qA = 01EB B34DD757 21ABF8AD C9DBED17 889CBB97 65D90A7C 60F2CEF0 07BB0F2B 26E14881 FD4442E6 89D61CB2 DD046EE3 0E3FFD20 F9A45BBD F6413D58 3A2DBF59 924FD35C y_qA = 00F6 B632D194 C0388E22 D8437E55 8C552AE1 95ADFD15 3F92D749 08351B2F 8C4EDA94 EDB0916D 1B53C020 B5EECAED 1A5FC38A 233E4830 587BB2EE 3489B3B4 2A5A86A4 dB = 00CE E3480D86 45A17D24 9F2776D2 8BAE6169 52D1791F DB4B70F7 C3378732 AA1B2292 8448BCD1 DC2496D4 35B01048 066EBE4F 72903C36 1B1A9DC1 193DC2C9 D0891B96 x_qB = 010E BFAFC6E8 5E08D24B FFFCC1A4 511DB0E6 34BEEB1B 6DEC8C59 39AE4476 6201AF62 00430BA9 7C8AC6A0 E9F08B33 CE7E9FEE B5BA4EE5 E0D81510 C24295B8 A08D0235 y_qB = 00A4 A6EC300D F9E257B0 372B5E7A BFEF0934 36719A77 887EBB0B 18CF8099 B9F4212B 6E30A141 9C18E029 D36863CC 9D448F4D BA4D2A0E 60711BE5 72915FBD 4FEF2695 x_Z = 00CD EA89621C FA46B132 F9E4CFE2 261CDE2D 4368EB56 56634C7C C98C7A00 CDE54ED1 866A0DD3 E6126C9D 2F845DAF F82CEB1D A08F5D87 521BB0EB ECA77911 169C20CC y_Z = 00F9 A7164102 9B7FC1A8 08AD07CD 4861E868 614B865A FBECAB1F 2BD4D8B5 5EBCB5E3 A53143CE B2C511B1 AE0AF5AC 827F60F2 FD872565 AC5CA0A1 64038FE9 80A7E4BD
Normative References
-
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
Informative References
-
[RFC2246] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0", RFC 2246, January 1999. [RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange (IKE)", RFC 2409, November 1998. [RFC2631] Rescorla, E., "Diffie-Hellman Key Agreement Method", RFC 2631, June 1999. [RFC3278] Blake-Wilson, S., Brown, D., and P. Lambert, "Use of Elliptic Curve Cryptography (ECC) Algorithms in Cryptographic Message Syntax (CMS)", RFC 3278, April 2002. [RFC3279] Bassham, L., Polk, W., and R. Housley, "Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 3279, April 2002. [RFC3526] Kivinen, T. and M. Kojo, "More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)", RFC 3526, May 2003. [RFC3852] Housley, R., "Cryptographic Message Syntax (CMS)", RFC 3852, July 2004. [RFC4253] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) Transport Layer Protocol", RFC 4253, January 2006. [RFC4306] Kaufman, C., Ed., "Internet Key Exchange (IKEv2) Protocol", RFC 4306, December 2005. [RFC4346] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.1", RFC 4346, April 2006. [RFC4419] Friedl, M., Provos, N., and W. Simpson, "Diffie- Hellman Group Exchange for the Secure Shell (SSH) Transport Layer Protocol", RFC 4419, March 2006. [RFC4492] Blake-Wilson, S., Bolyard, N., Gupta, V., Hawk, C., and B. Moeller, "Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS)", RFC 4492, May 2006. [RFC4753] Fu, D. and J. Solinas, "ECP Groups For IKE and IKEv2", RFC 4753, January 2007. [SSH-ECC] Green, J. and D. Stebila, "Elliptic-Curve Algorithm Integration in the Secure Shell Transport Layer", Work in Progress, 2007. [IANA-IKE] Internet Assigned Numbers Authority, Internet Key Exchange (IKE) Attributes. http://www.iana.org/assignments/ipsec-registry [IANA-IKE2] IKEv2 Parameters. http://www.iana.org/assignments/ikev2-parameters [IANA-TLS] Internet Assigned Numbers Authority, Transport Layer Security (TLS) Attributes. http://www.iana.org/assignments/tls-parameters [ISO-14888-3] International Organization for Standardization and International Electrotechnical Commission, ISO/IEC 14888-3:2006, Information Technology: Security Techniques: Digital Signatures with Appendix: Part 3 - Discrete Logarithm Based Mechanisms. [DSS] National Institute for Standards and Technology, Digital Signature Standard (DSS), FIPS PUB 186-2, January 2000. http://csrc.nist.gov/publications/fips/index.html [NIST80056A] National Institute of Standards and Technology, "Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography," NIST Special Publication 800-56A, March 2006. http://csrc.nist.gov/CryptoToolkit/KeyMgmt.html [EX80056A] National Institute for Standards and Technology, "Examples for NIST 800-56A," May 2007. http://csrc.nist.gov/groups/ST/toolkit/examples.html [NIST80057] National Institute of Standards and Technology, "Recommendation for Key Management - Part 1", NIST Special Publication 800-57. [SECG] SECG, "Recommended Elliptic Curve Domain Parameters", SEC 2, 2000, <http://www.secg.org/>. [X9.62] ANSI X9.62-2005, Public Key Cryptography For The Financial Services Industry: The Elliptic Curve Digital Signature Algorithm (ECDSA). 2005.
Author's Addresses
-
Matt Lepinski
BBN Technologies
10 Moulton St.
Cambridge, MA 02138EMail:
mlepinski@bbn.com
Stephen Kent
BBN Technologies
10 Moulton St.
Cambridge, MA 02138EMail:
kent@bbn.com
Full Copyright Statement
-
Copyright © The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
-
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.