Created
September 21, 2015 09:01
-
-
Save angelsl/c098dd75acd8910d8f05 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/lib/libssl/src/crypto/ec/ec_curve.c b/src/lib/libssl/src/crypto/ec/ec_curve.c | |
index 8598ee2..2d539f0 100644 | |
--- a/src/lib/libssl/src/crypto/ec/ec_curve.c | |
+++ b/src/lib/libssl/src/crypto/ec/ec_curve.c | |
@@ -3008,6 +3008,42 @@ static const struct { | |
} | |
}; | |
+static const struct { | |
+ EC_CURVE_DATA h; | |
+ unsigned char data[0 + 32 * 6]; | |
+} | |
+ _EC_CURVE_25519 = { | |
+ { | |
+ NID_X9_62_prime_field, 0, 32, 8 | |
+ }, | |
+ { /* no seed */ | |
+ 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* p */ | |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | |
+ 0xFF, 0xED, | |
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* a */ | |
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | |
+ 0x6d, 0x06, | |
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* b */ | |
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
+ 0x00, 0x01, | |
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* x */ | |
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
+ 0x00, 0x09, | |
+ 0x20, 0xae, 0x19, 0xa1, 0xb8, 0xa0, 0x86, 0xb4, 0xe0, 0x1e, /* y */ | |
+ 0xdd, 0x2c, 0x77, 0x48, 0xd1, 0x4c, 0x92, 0x3d, 0x4d, 0x7e, | |
+ 0x6d, 0x7c, 0x61, 0xb2, 0x29, 0xe9, 0xc5, 0xa2, 0x7e, 0xce, | |
+ 0xd3, 0xd9, | |
+ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* order */ | |
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xde, 0xf9, 0xde, | |
+ 0xa2, 0xf7, 0x9c, 0xd6, 0x58, 0x12, 0x63, 0x1a, 0x5c, 0xf5, | |
+ 0xd3, 0xed | |
+ } | |
+}; | |
+ | |
#endif | |
typedef struct _ec_list_element_st { | |
@@ -3135,6 +3171,7 @@ static const ec_list_element curve_list[] = { | |
{NID_brainpoolP512t1, &_EC_brainpoolP512t1.h, 0, "RFC 5639 curve over a 512 bit prime field"}, | |
/* ANSSI */ | |
{NID_FRP256v1, &_EC_FRP256v1.h, 0, "FRP256v1"}, | |
+ {NID_curve25519, &_EC_CURVE_25519, 0, "Curve 25519"}, | |
#ifndef OPENSSL_NO_GOST | |
/* GOST R 34.10-2001 */ | |
{NID_id_GostR3410_2001_TestParamSet, &_EC_GOST_2001_Test.h, 0, "GOST R 34.10-2001 Test Curve"}, | |
diff --git a/src/lib/libssl/src/crypto/objects/obj_mac.num b/src/lib/libssl/src/crypto/objects/obj_mac.num | |
index d3a658e..bb7796a 100644 | |
--- a/src/lib/libssl/src/crypto/objects/obj_mac.num | |
+++ b/src/lib/libssl/src/crypto/objects/obj_mac.num | |
@@ -947,3 +947,4 @@ id_tc26_gost3410_2012_256 946 | |
id_tc26_gost3410_2012_512 947 | |
id_tc26_signwithdigest_gost3410_2012_256 948 | |
id_tc26_signwithdigest_gost3410_2012_512 949 | |
+curve25519 950 | |
diff --git a/src/lib/libssl/src/crypto/objects/objects.txt b/src/lib/libssl/src/crypto/objects/objects.txt | |
index 1ce73cc..a942d21 100644 | |
--- a/src/lib/libssl/src/crypto/objects/objects.txt | |
+++ b/src/lib/libssl/src/crypto/objects/objects.txt | |
@@ -1328,3 +1328,5 @@ tc26 1 1 1 : id-tc26-gost3410-2012-256 : GOST R 34.10-2012 (256 bit) | |
tc26 1 1 2 : id-tc26-gost3410-2012-512 : GOST R 34.10-2012 (512 bit) | |
tc26 1 3 2 : id-tc26-signwithdigest-gost3410-2012-256 : GOST R 34.11-2012 with GOST R 34.10-2012 (256 bit) | |
tc26 1 3 3 : id-tc26-signwithdigest-gost3410-2012-512 : GOST R 34.11-2012 with GOST R 34.10-2012 (512 bit) | |
+ | |
+1 3 6 1 4 1 3029 1 5 1 : curve25519 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-----BEGIN EC PARAMETERS----- | |
MIGiAgEBMCsGByqGSM49AQECIH////////////////////////////////////// | |
///tMAgEAwdtBgQBAQRBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ | |
IK4ZobighrTgHt0sd0jRTJI9TX5tfGGyKenFon7O09kCIBAAAAAAAAAAAAAAAAAA | |
AAAU3vneovec1lgSYxpc9dPtAgEI | |
-----END EC PARAMETERS----- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment