You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: draft-irtf-cfrg-pairing-friendly-curves-10.xml
+20-20
Original file line number
Diff line number
Diff line change
@@ -93,7 +93,7 @@ Please refer to <xref target="KB16" format="default"/> for detailed ideas and ca
93
93
In particular, BN254, which is a BN curve with a 254-bit characteristic effective for pairing calculations, was adopted by a lot of cryptographic libraries as a parameter of the 128-bit security level, however, BN254 ensures no more than the 100-bit security level due to the effect of the attack, where the security levels described in this memo correspond to the security strength of NIST recommendation <xreftarget="NIST"format="default"/>.
94
94
</t>
95
95
96
-
<t>To resolve this effect immediately, several research groups and implementers re-evaluated the security of pairing-friendly curves and they respectively proposed various curves that are secure against the attack <xreftarget="BD18"format="default"/> <xreftarget="BLS12-381"format="default"/>.</t>
96
+
<t>To resolve this effect immediately, several research groups and implementers re-evaluated the security of pairing-friendly curves and they respectively proposed various curves that are secure against the attack <xreftarget="BD18"format="default"/> <xreftarget="BLS12_381"format="default"/>.</t>
97
97
98
98
<t>In this memo, we list the security levels of certain pairing-friendly curves, and motivate our choices of curves. First, we summarize the adoption status of pairing-friendly curves in international standards, libraries and applications, and classify them in the 128-bit, 192-bit, and 256-bit security levels. Then, from the viewpoints of "security" and "widely used", pairing-friendly curves corresponding to each security level are selected in accordance with the security evaluation by Barbulescu and Duquesne <xreftarget="BD18"format="default"/>. </t>
99
99
@@ -746,7 +746,7 @@ As described below, BN curves with 256-bit p and 512-bit p specified in ISO/IEC
<t>Zcash uses a BN curve (named BN128) in their library libsnark <xreftarget="libsnark"format="default"/>.
749
-
In response to the exTNFS attacks, they proposed new parameters using BLS12_381 <xreftarget="BLS12-381"format="default"/> <xreftarget="GMT19"format="default"/>and published its experimental implementation <xreftarget="zkcrypto"format="default"/>.</t>
749
+
In response to the exTNFS attacks, they proposed new parameters using BLS12_381 <xreftarget="BLS12_381"format="default"/> <xreftarget="GMT19"format="default"/>and published its experimental implementation <xreftarget="zkcrypto"format="default"/>.</t>
750
750
<t>Ethereum 2.0 adopted BLS12_381 and uses the implementation by Meyer <xreftarget="pureGo-bls"format="default"/>. Chia Network published their implementation <xreftarget="Chia"format="default"/> by integrating the RELIC toolkit <xreftarget="RELIC"format="default"/>. DFINITY uses mcl, and Algorand published an implementation which supports BLS12_381.</t>
751
751
752
752
</section>
@@ -762,15 +762,15 @@ Especially, the one that best matches the policy is BLS12_381 from the viewpoint
762
762
On the other hand, from the viewpoint of the future use, the parameter of BN462 is also introduced.
763
763
As shown in recent security evaluations for BLS12_381<xreftarget="BD18"format="default"/> <xreftarget="GMT19"format="default"/>, its security level close to 128-bit but it is less than 128-bit.
764
764
If the attack is improved even a little, BLS12_381 will not be suitable for the curve of the 128-bit security level.
765
-
As curves of 128-bit security level are currently the most widely used, we recommend both BLS12-381 and BN462 in this memo in order to have a more efficient and a more prudent option respectively.
765
+
As curves of 128-bit security level are currently the most widely used, we recommend both BLS12_381 and BN462 in this memo in order to have a more efficient and a more prudent option respectively.
<name>BLS Curves for the 128-bit security level (BLS12_381)</name>
770
770
<t>
771
771
In this part, we introduce the parameters of the Barreto-Lynn-Scott curve of embedding degree 12 with 381-bit p that is adopted by a lot of applications such as Zcash <xreftarget="Zcash"format="default"/>, Ethereum <xreftarget="Ethereum"format="default"/>, and so on.
772
772
</t>
773
-
<t>The BLS12_381 curve is shown in <xreftarget="BLS12-381"format="default"/> and it is defined by the parameter</t>
773
+
<t>The BLS12_381 curve is shown in <xreftarget="BLS12_381"format="default"/> and it is defined by the parameter</t>
@@ -863,13 +863,13 @@ by E: y^2 = x^3 + 4 and E': y^2 = x^3 + 4(u + 1). BLS12_381 is categorized as M-
863
863
As mentioned above, BLS12_381 is adopted in a lot of applications. Since it is expected that BLS12_381 will continue to be widely used more and more in the future, <xreftarget="zcash_rep_bls12_381"format="default"/> shows the serialization format of points on an elliptic curve as useful information. This serialization format is also adopted in <xreftarget="I-D.boneh-bls-signature"format="default"/> <xreftarget="zkcrypto"format="default"/>.
864
864
</t>
865
865
<t>
866
-
In addition, many pairing-based cryptographic applications use a hashing to an elliptic curve procedure that outputs a rational point on an elliptic curve from an arbitrary input. A standard specification of ciphersuites for a hashing to an elliptic curve, including BLS12-381, is under discussion in the IETF <xreftarget="I-D.irtf-cfrg-hash-to-curve"format="default"/> and it will be valuable information for implementers.
866
+
In addition, many pairing-based cryptographic applications use a hashing to an elliptic curve procedure that outputs a rational point on an elliptic curve from an arbitrary input. A standard specification of ciphersuites for a hashing to an elliptic curve, including BLS12_381, is under discussion in the IETF <xreftarget="I-D.irtf-cfrg-hash-to-curve"format="default"/> and it will be valuable information for implementers.
@@ -981,8 +981,8 @@ BN462 is defined by the parameter</t>
981
981
GF(p^48)= GF(p^24)[s] / (s^2 + z).
982
982
]]></artwork>
983
983
<t>The elliptic curve E and its twist E' are represented by E: y^2 = x^3 + 1
984
-
and E': y^2 = x^3 - 1 / w. BLS48-581 is categorized as D-type.</t>
985
-
<t>We then give the parameters for BLS48-581 as follows.</t>
984
+
and E': y^2 = x^3 - 1 / w. BLS48_581 is categorized as D-type.</t>
985
+
<t>We then give the parameters for BLS48_581 as follows.</t>
986
986
<ulspacing="normal">
987
987
<li>
988
988
<t>G_1 is the largest prime-order subgroup of E(GF(p))
@@ -1114,7 +1114,7 @@ Implementers who will newly develop pairing-based cryptography applications SHOU
1114
1114
As of 2020, as far as we've investigated the top cryptographic conferences in the past, there are no fatal attacks that significantly reduce the security of pairing-friendly curves after exTNFS.
1115
1115
</t>
1116
1116
<t>BLS curves of embedding degree 12 typically require a characteristic p of 461 bits or larger to achieve the 128-bit security level <xreftarget="BD18"format="default"/>.
1117
-
Note that the security level of BLS12-381, which is adopted by a lot of libraries and applications, is slightly below 128 bits because a 381-bit characteristic is used <xreftarget="BD18"format="default"/> <xreftarget="GMT19"format="default"/>.
1117
+
Note that the security level of BLS12_381, which is adopted by a lot of libraries and applications, is slightly below 128 bits because a 381-bit characteristic is used <xreftarget="BD18"format="default"/> <xreftarget="GMT19"format="default"/>.
1118
1118
</t>
1119
1119
<t> BN254 is used in most of the existing implementations as shown in <xreftarget="impl"format="default"/> ( and <xreftarget="adoption_status_100bit_security"format="default"/>), however, BN curves that were estimated as the 128-bit security level before exTNFS including BN254 ensure no more than the 100-bit security level by the effect of exTNFS.
1120
1120
</t>
@@ -1615,7 +1615,7 @@ The authors would also like to acknowledge Kim Taechan, Hoeteck Wee, Sergey Gorb
<t>We provide test vectors for Optimal Ate Pairing e(P, Q) given in <xreftarget="comp_pairing"format="default"/> for the curves BLS12-381, BN462 and BLS48-581 given in <xreftarget="secure_params"format="default"/>.
2118
+
<t>We provide test vectors for Optimal Ate Pairing e(P, Q) given in <xreftarget="comp_pairing"format="default"/> for the curves BLS12_381, BN462 and BLS48_581 given in <xreftarget="secure_params"format="default"/>.
2119
2119
Here, the inputs P = (x, y) and Q = (x', y') are the corresponding base points BP and BP' given in <xreftarget="secure_params"format="default"/>.</t>
2120
-
<t>For BLS12-381 and BN462, Q = (x', y') is given by</t>
2120
+
<t>For BLS12_381 and BN462, Q = (x', y') is given by</t>
<name>ZCash serialization format for BLS12-381</name>
2561
+
<name>ZCash serialization format for BLS12_381</name>
2562
2562
<t>
2563
2563
This section describes the serialization format defined by <xreftarget="ZCashRep"format="default"/>.
2564
2564
It is not officially standardized by the standards organization, however we show it in this appendix as a useful reference for implementers.
2565
-
This format applies to points on the BLS12-381 elliptic curves E and E',
2566
-
whose parameters are given in <xreftarget="parameter-BLS12-381"format="default"/>.
2565
+
This format applies to points on the BLS12_381 elliptic curves E and E',
2566
+
whose parameters are given in <xreftarget="parameter-BLS12_381"format="default"/>.
2567
2567
Note that this serialization method is based on the representation shown in <xreftarget="SEC1"format="default"/> and it is a tiny tweak so as to apply to GF(p^m).
0 commit comments