diff --git a/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc b/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc index cc33dae696b17c744edb1aea6e0703194ee1a365..792fde68a38d5417cadeb3788d0372af9e413b7f 100644 --- a/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc +++ b/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc @@ -131,13 +131,11 @@ TEST_F(EciesAeadHkdfHybridDecryptTest, testBasic) { // Generate and test many keys with various parameters. std::string context_info = "some context info"; - for (auto curve : - {EllipticCurveType::NIST_P224, EllipticCurveType::NIST_P256, - EllipticCurveType::NIST_P384, EllipticCurveType::NIST_P521}) { + for (auto curve : {EllipticCurveType::NIST_P256, EllipticCurveType::NIST_P384, + EllipticCurveType::NIST_P521}) { for (auto ec_point_format : {EcPointFormat::UNCOMPRESSED, EcPointFormat::COMPRESSED}) { - for (auto hash_type : - {HashType::SHA224, HashType::SHA256, HashType::SHA512}) { + for (auto hash_type : {HashType::SHA256, HashType::SHA512}) { for (uint32_t aes_gcm_key_size : {16, 24, 32}) { for (uint32_t plaintext_size : {1, 10, 100, 1000}) { ecies_key = test::GetEciesAesGcmHkdfTestKey( diff --git a/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc b/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc index 6e227fa6167567b367d80646fc22f81ae61f5d6f..a5107055ae3379f783d206d2abef39f930d9bfb6 100644 --- a/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc +++ b/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc @@ -126,13 +126,11 @@ TEST_F(EciesAeadHkdfHybridEncryptTest, testBasic) { // Generate and test many keys with various parameters. std::string plaintext = "some plaintext"; std::string context_info = "some context info"; - for (auto curve : - {EllipticCurveType::NIST_P224, EllipticCurveType::NIST_P256, - EllipticCurveType::NIST_P384, EllipticCurveType::NIST_P521}) { + for (auto curve : {EllipticCurveType::NIST_P256, EllipticCurveType::NIST_P384, + EllipticCurveType::NIST_P521}) { for (auto ec_point_format : {EcPointFormat::UNCOMPRESSED, EcPointFormat::COMPRESSED}) { - for (auto hash_type : - {HashType::SHA224, HashType::SHA256, HashType::SHA512}) { + for (auto hash_type : {HashType::SHA256, HashType::SHA512}) { for (uint32_t aes_gcm_key_size : {16, 24, 32}) { ecies_key = test::GetEciesAesGcmHkdfTestKey( curve, ec_point_format, hash_type, aes_gcm_key_size); diff --git a/cc/signature/ecdsa_sign_key_manager_test.cc b/cc/signature/ecdsa_sign_key_manager_test.cc index d8c1fccf79bf654baf19d85ab177c589c3c4c512..87663a822a5a4f1d6df83ff95cd172784065757c 100644 --- a/cc/signature/ecdsa_sign_key_manager_test.cc +++ b/cc/signature/ecdsa_sign_key_manager_test.cc @@ -127,7 +127,7 @@ TEST_F(EcdsaSignKeyManagerTest, testKeyMessageErrors) { EcdsaPrivateKey key; auto public_key = key.mutable_public_key(); public_key->mutable_params()->set_encoding(EcdsaSignatureEncoding::DER); - public_key->mutable_params()->set_curve(EllipticCurveType::NIST_P224); + public_key->mutable_params()->set_curve(EllipticCurveType::UNKNOWN_CURVE); auto result = key_manager.GetPrimitive(key); EXPECT_FALSE(result.ok()); EXPECT_EQ(util::error::INVALID_ARGUMENT, result.status().error_code()); diff --git a/cc/signature/ecdsa_verify_key_manager_test.cc b/cc/signature/ecdsa_verify_key_manager_test.cc index d2d31b6e970b97c00eede01d67efca910808bf5d..7c408fcf6ccbce631ea7e0c00bc4ff94b6603fdb 100644 --- a/cc/signature/ecdsa_verify_key_manager_test.cc +++ b/cc/signature/ecdsa_verify_key_manager_test.cc @@ -127,7 +127,7 @@ TEST_F(EcdsaVerifyKeyManagerTest, testKeyMessageErrors) { { // Bad elliptic curve. EcdsaPublicKey key; key.mutable_params()->set_encoding(EcdsaSignatureEncoding::DER); - key.mutable_params()->set_curve(EllipticCurveType::NIST_P224); + key.mutable_params()->set_curve(EllipticCurveType::UNKNOWN_CURVE); auto result = key_manager.GetPrimitive(key); EXPECT_FALSE(result.ok()); EXPECT_EQ(util::error::INVALID_ARGUMENT, result.status().error_code()); diff --git a/cc/subtle/common_enums.cc b/cc/subtle/common_enums.cc index aa0fb8b94cd4a3d76e35231abdba50f2a1662071..d8bccd8f950c59d609f14064dd7fcfaba83d4f6e 100644 --- a/cc/subtle/common_enums.cc +++ b/cc/subtle/common_enums.cc @@ -24,8 +24,6 @@ namespace subtle { std::string EnumToString(EllipticCurveType type) { switch (type) { - case EllipticCurveType::NIST_P224: - return "NIST_P224"; case EllipticCurveType::NIST_P256: return "NIST_P256"; case EllipticCurveType::NIST_P384: @@ -56,8 +54,6 @@ std::string EnumToString(HashType type) { switch (type) { case HashType::SHA1: return "SHA1"; - case HashType::SHA224: - return "SHA224"; case HashType::SHA256: return "SHA256"; case HashType::SHA512: diff --git a/cc/subtle/common_enums.h b/cc/subtle/common_enums.h index 1adf9d5d6a7237b4fc4d2fce370eb8913121186e..cce4b9d04a178bd4f17cfe2f43ca5d686f86d33e 100644 --- a/cc/subtle/common_enums.h +++ b/cc/subtle/common_enums.h @@ -26,7 +26,6 @@ namespace subtle { // Common enums used by classes in subtle. enum EllipticCurveType { UNKNOWN_CURVE = 0, - NIST_P224 = 1, NIST_P256 = 2, NIST_P384 = 3, NIST_P521 = 4, @@ -41,7 +40,6 @@ enum EcPointFormat { enum HashType { UNKNOWN_HASH = 0, SHA1 = 1, // SHA1 for digital signature is deprecated but HMAC-SHA1 is fine. - SHA224 = 2, SHA256 = 3, SHA512 = 4, }; diff --git a/cc/subtle/common_enums_test.cc b/cc/subtle/common_enums_test.cc index 7578f76225f8fe297f466a251304307dc7cc5f5e..9c5c580588c41587f33ca9574fe104a48b64441a 100644 --- a/cc/subtle/common_enums_test.cc +++ b/cc/subtle/common_enums_test.cc @@ -25,7 +25,6 @@ namespace { class CommonEnumsTest : public ::testing::Test {}; TEST_F(CommonEnumsTest, testEllipticCurveTypeToString) { - EXPECT_EQ("NIST_P224", EnumToString(EllipticCurveType::NIST_P224)); EXPECT_EQ("NIST_P256", EnumToString(EllipticCurveType::NIST_P256)); EXPECT_EQ("NIST_P384", EnumToString(EllipticCurveType::NIST_P384)); EXPECT_EQ("NIST_P521", EnumToString(EllipticCurveType::NIST_P521)); @@ -35,7 +34,6 @@ TEST_F(CommonEnumsTest, testEllipticCurveTypeToString) { TEST_F(CommonEnumsTest, testHashTypeToString) { EXPECT_EQ("SHA1", EnumToString(HashType::SHA1)); - EXPECT_EQ("SHA224", EnumToString(HashType::SHA224)); EXPECT_EQ("SHA256", EnumToString(HashType::SHA256)); EXPECT_EQ("SHA512", EnumToString(HashType::SHA512)); EXPECT_EQ("UNKNOWN_HASH", EnumToString(HashType::UNKNOWN_HASH)); diff --git a/cc/subtle/ec_util_test.cc b/cc/subtle/ec_util_test.cc index f8232b8fd50441de5454159196397ac9bf29c0c5..eeb04908a27a0f3174d370bcd17f2add35bc27d3 100644 --- a/cc/subtle/ec_util_test.cc +++ b/cc/subtle/ec_util_test.cc @@ -39,12 +39,7 @@ struct TestVector { }; static const std::vector<TestVector> test_vector( - {{"af33cd0629bc7e996320a3f40368f74de8704fa37b8fab69abaae280", - "882092ccbba7930f419a8a4f9bb16978bbc3838729992559a6f2e2d7", - "8346a60fc6f293ca5a0d2af68ba71d1dd389e5e40837942df3e43cbd", - "7d96f9a3bd3c05cf5cc37feb8b9d5209d5c2597464dec3e9983743e8", - EllipticCurveType::NIST_P224}, - {"700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287", + {{"700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287", "db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac", "7d7dc5f71eb29ddaf80d6214632eeae03d9058af1fb6d22ed80badb62bc1a534", "46fc62106420ff012e54a434fbdd2d25ccc5852060561e68040dd7778997bd7b", diff --git a/cc/subtle/subtle_util_boringssl.cc b/cc/subtle/subtle_util_boringssl.cc index 3515316df29cf4fd96ee707b948ce76c983a61f6..7dddfa1f5945db87e47aa49199462025f327dd95 100644 --- a/cc/subtle/subtle_util_boringssl.cc +++ b/cc/subtle/subtle_util_boringssl.cc @@ -50,8 +50,6 @@ size_t FieldElementSizeInBytes(const EC_GROUP* group) { util::StatusOr<EC_GROUP *> SubtleUtilBoringSSL::GetEcGroup( EllipticCurveType curve_type) { switch (curve_type) { - case EllipticCurveType::NIST_P224: - return EC_GROUP_new_by_curve_name(NID_secp224r1); case EllipticCurveType::NIST_P256: return EC_GROUP_new_by_curve_name(NID_X9_62_prime256v1); case EllipticCurveType::NIST_P384: @@ -136,8 +134,6 @@ util::StatusOr<const EVP_MD *> SubtleUtilBoringSSL::EvpHash( switch (hash_type) { case HashType::SHA1: return EVP_sha1(); - case HashType::SHA224: - return EVP_sha224(); case HashType::SHA256: return EVP_sha256(); case HashType::SHA512: diff --git a/cc/subtle/wycheproof_util.cc b/cc/subtle/wycheproof_util.cc index e001f1ff8b1bc99a3d8c28c78ab5e12b7d591421..e15034b4491036cc603f3bdf303f850e5d4434a8 100644 --- a/cc/subtle/wycheproof_util.cc +++ b/cc/subtle/wycheproof_util.cc @@ -47,8 +47,6 @@ HashType WycheproofUtil::GetHashType(const Json::Value &val) { std::string md = val.asString(); if (md == "SHA-1") { return HashType::SHA1; - } else if (md == "SHA-224") { - return HashType::SHA224; } else if (md == "SHA-256") { return HashType::SHA256; } else if (md == "SHA-384") { @@ -63,9 +61,7 @@ HashType WycheproofUtil::GetHashType(const Json::Value &val) { EllipticCurveType WycheproofUtil::GetEllipticCurveType(const Json::Value &val) { std::string curve = val.asString(); - if (curve == "secp224r1") { - return EllipticCurveType::NIST_P224; - } else if (curve == "secp256r1") { + if (curve == "secp256r1") { return EllipticCurveType::NIST_P256; } else if (curve == "secp384r1") { return EllipticCurveType::NIST_P384; diff --git a/cc/util/enums.cc b/cc/util/enums.cc index a12a18cd27e0561dec7a6a1c19a6cfdf765de484..25ab9cda31ccff51835c4fddc85c700c4f57945f 100644 --- a/cc/util/enums.cc +++ b/cc/util/enums.cc @@ -26,8 +26,6 @@ namespace util { // static pb::EllipticCurveType Enums::SubtleToProto(subtle::EllipticCurveType type) { switch (type) { - case subtle::EllipticCurveType::NIST_P224: - return pb::EllipticCurveType::NIST_P224; case subtle::EllipticCurveType::NIST_P256: return pb::EllipticCurveType::NIST_P256; case subtle::EllipticCurveType::NIST_P384: @@ -42,8 +40,6 @@ pb::EllipticCurveType Enums::SubtleToProto(subtle::EllipticCurveType type) { // static subtle::EllipticCurveType Enums::ProtoToSubtle(pb::EllipticCurveType type) { switch (type) { - case pb::EllipticCurveType::NIST_P224: - return subtle::EllipticCurveType::NIST_P224; case pb::EllipticCurveType::NIST_P256: return subtle::EllipticCurveType::NIST_P256; case pb::EllipticCurveType::NIST_P384: @@ -84,8 +80,6 @@ pb::HashType Enums::SubtleToProto(subtle::HashType type) { switch (type) { case subtle::HashType::SHA1: return pb::HashType::SHA1; - case subtle::HashType::SHA224: - return pb::HashType::SHA224; case subtle::HashType::SHA256: return pb::HashType::SHA256; case subtle::HashType::SHA512: @@ -100,8 +94,6 @@ subtle::HashType Enums::ProtoToSubtle(pb::HashType type) { switch (type) { case pb::HashType::SHA1: return subtle::HashType::SHA1; - case pb::HashType::SHA224: - return subtle::HashType::SHA224; case pb::HashType::SHA256: return subtle::HashType::SHA256; case pb::HashType::SHA512: diff --git a/cc/util/enums_test.cc b/cc/util/enums_test.cc index fadc4b4fdd7bc3d7e6127d53bc4e6750fbc36cb7..a5455079ce883d7323de6c27a1ca2e26dc6bd998 100644 --- a/cc/util/enums_test.cc +++ b/cc/util/enums_test.cc @@ -32,8 +32,6 @@ class EnumsTest : public ::testing::Test { }; TEST_F(EnumsTest, testEllipticCurveType) { - EXPECT_EQ(pb::EllipticCurveType::NIST_P224, - Enums::SubtleToProto(subtle::EllipticCurveType::NIST_P224)); EXPECT_EQ(pb::EllipticCurveType::NIST_P256, Enums::SubtleToProto(subtle::EllipticCurveType::NIST_P256)); EXPECT_EQ(pb::EllipticCurveType::NIST_P384, @@ -45,8 +43,6 @@ TEST_F(EnumsTest, testEllipticCurveType) { EXPECT_EQ(pb::EllipticCurveType::UNKNOWN_CURVE, Enums::SubtleToProto((subtle::EllipticCurveType)42)); - EXPECT_EQ(subtle::EllipticCurveType::NIST_P224, - Enums::ProtoToSubtle(pb::EllipticCurveType::NIST_P224)); EXPECT_EQ(subtle::EllipticCurveType::NIST_P256, Enums::ProtoToSubtle(pb::EllipticCurveType::NIST_P256)); EXPECT_EQ(subtle::EllipticCurveType::NIST_P384, @@ -70,14 +66,12 @@ TEST_F(EnumsTest, testEllipticCurveType) { count++; } } - EXPECT_EQ(5, count); + EXPECT_EQ(4, count); } TEST_F(EnumsTest, testHashType) { EXPECT_EQ(pb::HashType::SHA1, Enums::SubtleToProto(subtle::HashType::SHA1)); - EXPECT_EQ(pb::HashType::SHA224, - Enums::SubtleToProto(subtle::HashType::SHA224)); EXPECT_EQ(pb::HashType::SHA256, Enums::SubtleToProto(subtle::HashType::SHA256)); EXPECT_EQ(pb::HashType::SHA512, @@ -89,8 +83,6 @@ TEST_F(EnumsTest, testHashType) { EXPECT_EQ(subtle::HashType::SHA1, Enums::ProtoToSubtle(pb::HashType::SHA1)); - EXPECT_EQ(subtle::HashType::SHA224, - Enums::ProtoToSubtle(pb::HashType::SHA224)); EXPECT_EQ(subtle::HashType::SHA256, Enums::ProtoToSubtle(pb::HashType::SHA256)); EXPECT_EQ(subtle::HashType::SHA512, @@ -112,7 +104,7 @@ TEST_F(EnumsTest, testHashType) { count++; } } - EXPECT_EQ(5, count); + EXPECT_EQ(4, count); } TEST_F(EnumsTest, testEcPointFormat) { diff --git a/go/subtle/util.go b/go/subtle/util.go index 88fa7f95368599683b3f2d7cb9290a2011adf3c3..34e7e1afbae3f547ddabc62f38cc15c9c8d4c558 100644 --- a/go/subtle/util.go +++ b/go/subtle/util.go @@ -73,8 +73,6 @@ func GetHashFunc(hash string) func() hash.Hash { // It returns null if the curve type is not supported. func GetCurve(curve string) elliptic.Curve { switch curve { - case "NIST_P224": - return elliptic.P224() case "NIST_P256": return elliptic.P256() case "NIST_P384": diff --git a/go/subtle/util_test.go b/go/subtle/util_test.go index 111c6f7f79c5ab434416ae5db21d7c033a040bdf..8b75ea1f4d3fc8475b6b778137fe3413ed6f1e16 100644 --- a/go/subtle/util_test.go +++ b/go/subtle/util_test.go @@ -67,9 +67,6 @@ func TestComputeHash(t *testing.T) { } func TestGetCurve(t *testing.T) { - if subtle.GetCurve("NIST_P224").Params().Name != "P-224" { - t.Errorf("incorrect result for NIST_P224") - } if subtle.GetCurve("NIST_P256").Params().Name != "P-256" { t.Errorf("incorrect result for NIST_P256") } diff --git a/java/src/test/java/com/google/crypto/tink/aead/AeadKeyTemplatesTest.java b/java/src/test/java/com/google/crypto/tink/aead/AeadKeyTemplatesTest.java index 57eca5b3f79b1abe8dbadcbd3fece274de012aa8..025d3145dd28b7b9e000e1dfdcd7fcb8ea8bc5a6 100644 --- a/java/src/test/java/com/google/crypto/tink/aead/AeadKeyTemplatesTest.java +++ b/java/src/test/java/com/google/crypto/tink/aead/AeadKeyTemplatesTest.java @@ -149,7 +149,7 @@ public class AeadKeyTemplatesTest { int ivSize = 72; int hmacKeySize = 24; int tagSize = 27; - HashType hashType = HashType.SHA224; + HashType hashType = HashType.UNKNOWN_HASH; KeyTemplate template = AeadKeyTemplates.createAesCtrHmacAeadKeyTemplate( aesKeySize, ivSize, hmacKeySize, tagSize, hashType); assertEquals(AesCtrHmacAeadKeyManager.TYPE_URL, template.getTypeUrl()); diff --git a/java/src/test/java/com/google/crypto/tink/signature/SignatureKeyTemplatesTest.java b/java/src/test/java/com/google/crypto/tink/signature/SignatureKeyTemplatesTest.java index b08c45c2218c59a244a705566166cc0792a36a39..fac7a15794f2f7ca8aa683ff3032345852198be2 100644 --- a/java/src/test/java/com/google/crypto/tink/signature/SignatureKeyTemplatesTest.java +++ b/java/src/test/java/com/google/crypto/tink/signature/SignatureKeyTemplatesTest.java @@ -76,7 +76,7 @@ public class SignatureKeyTemplatesTest { // Intentionally using "weird" or invalid values for parameters, // to test that the function correctly puts them in the resulting template. HashType hashType = HashType.SHA512; - EllipticCurveType curve = EllipticCurveType.NIST_P224; + EllipticCurveType curve = EllipticCurveType.UNKNOWN_CURVE; EcdsaSignatureEncoding encoding = EcdsaSignatureEncoding.IEEE_P1363; KeyTemplate template = SignatureKeyTemplates.createEcdsaKeyTemplate(hashType, curve, encoding); assertEquals(EcdsaSignKeyManager.TYPE_URL, template.getTypeUrl()); diff --git a/java/src/test/java/com/google/crypto/tink/streamingaead/StreamingAeadKeyTemplatesTest.java b/java/src/test/java/com/google/crypto/tink/streamingaead/StreamingAeadKeyTemplatesTest.java index e013a66548ca25dfb2c03e55cb0427439722fab0..08344ee090350b659d9662ebf6a553f7fe2153db 100644 --- a/java/src/test/java/com/google/crypto/tink/streamingaead/StreamingAeadKeyTemplatesTest.java +++ b/java/src/test/java/com/google/crypto/tink/streamingaead/StreamingAeadKeyTemplatesTest.java @@ -99,7 +99,7 @@ public class StreamingAeadKeyTemplatesTest { int tagSize = 45; int ciphertextSegmentSize = 12345; HashType hkdfHashType = HashType.SHA512; - HashType macHashType = HashType.SHA224; + HashType macHashType = HashType.UNKNOWN_HASH; KeyTemplate template = StreamingAeadKeyTemplates.createAesCtrHmacStreamingKeyTemplate( mainKeySize, hkdfHashType, derivedKeySize, macHashType, tagSize, ciphertextSegmentSize); diff --git a/proto/common.proto b/proto/common.proto index c4ba0be388b65a4ef82c2fb26669e3a552da9632..4623c7b7079325c130559e5db5c60051af760847 100644 --- a/proto/common.proto +++ b/proto/common.proto @@ -26,7 +26,6 @@ option go_package = "github.com/google/tink/proto/common_go_proto"; enum EllipticCurveType { UNKNOWN_CURVE = 0; - NIST_P224 = 1; NIST_P256 = 2; NIST_P384 = 3; NIST_P521 = 4; @@ -41,7 +40,6 @@ enum EcPointFormat { enum HashType { UNKNOWN_HASH = 0; SHA1 = 1; // Using SHA1 for digital signature is deprecated but HMAC-SHA1 is fine. - SHA224 = 2; SHA256 = 3; SHA512 = 4; };