Commit 1389d852 authored by eroman@chromium.org's avatar eroman@chromium.org

[refactor] Move webcrypto test data to separate files.

BUG=245025

Review URL: https://codereview.chromium.org/147613002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248637 0039d316-1c4b-4281-b951-d872f2087c98
parent 5bbe97f5
...@@ -63,6 +63,7 @@ include_rules = [ ...@@ -63,6 +63,7 @@ include_rules = [
"+third_party/libjingle", "+third_party/libjingle",
"+third_party/mozilla", "+third_party/mozilla",
"+third_party/npapi/bindings", "+third_party/npapi/bindings",
"+third_party/re2",
"+third_party/skia", "+third_party/skia",
"+third_party/sqlite", "+third_party/sqlite",
"+third_party/tcmalloc", "+third_party/tcmalloc",
......
...@@ -320,6 +320,7 @@ ...@@ -320,6 +320,7 @@
'../sql/sql.gyp:test_support_sql', '../sql/sql.gyp:test_support_sql',
'../testing/gmock.gyp:gmock', '../testing/gmock.gyp:gmock',
'../testing/gtest.gyp:gtest', '../testing/gtest.gyp:gtest',
'../third_party/re2/re2.gyp:re2',
'../ui/accessibility/accessibility.gyp:accessibility', '../ui/accessibility/accessibility.gyp:accessibility',
'../ui/gfx/gfx.gyp:gfx', '../ui/gfx/gfx.gyp:gfx',
'../ui/gfx/gfx.gyp:gfx_geometry', '../ui/gfx/gfx.gyp:gfx_geometry',
......
[
// F.2.1 (CBC-AES128.Encrypt)
// http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf
{
"key": "2b7e151628aed2a6abf7158809cf4f3c",
"iv": "000102030405060708090a0b0c0d0e0f",
"plain_text": "6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710",
// Added a padding block: encryption of {0x10, 0x10, ... 0x10}) (not given by the
// NIST test vector)
"cipher_text": "7649abac8119b246cee98e9b12e9197d5086cb9b507219ee95db113a917678b273bed6b8e3c1743b7116e69e222295163ff1caa1681fac09120eca307586e1a78cb82807230e1321d3fae00d18cc2012"
},
// F.2.6 CBC-AES256.Decrypt [*]
// http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf
//
// [*] Truncated 3 bytes off the plain text, so block 4 differs from the
// NIST vector.
{
"key": "603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4",
"iv": "000102030405060708090a0b0c0d0e0f",
// Truncated the last block to make it more interesting.
"plain_text": "6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be6",
// Last block differs from source vector (due to truncation)
"cipher_text": "f58c4c04d6e5f1ba779eabfb5f7bfbd69cfc4e967edb808d679f777bc6702c7d39f23369a9d9bacfa530e26304231461c9aaf02a6a54e9e242ccbf48c59daca6"
},
// Taken from encryptor_unittest.cc (EncryptorTest.EmptyEncrypt())
{
"key": "3132383d5369787465656e4279746573",
"iv": "5377656574205369787465656e204956",
"plain_text": "",
"cipher_text": "8518b8878d34e7185e300d0fcc426396"
}
]
// These tests come from the NIST GCM test vectors:
// http://csrc.nist.gov/groups/STM/cavp/documents/mac/gcmtestvectors.zip
//
// Both encryption and decryption are expected to work.
[
// [Keylen = 128]
// [IVlen = 96]
// [PTlen = 0]
// [AADlen = 0]
// [Taglen = 128]
{
"key": "cf063a34d4a9a76c2c86787d3f96db71",
"iv": "113b9785971864c83b01c787",
"plain_text": "",
"cipher_text": "",
"additional_data": "",
"authentication_tag": "72ac8493e3a5228b5d130a69d2510e42"
},
// [Keylen = 128]
// [IVlen = 96]
// [PTlen = 0]
// [AADlen = 128]
// [Taglen = 120]
{
"key": "6dfa1a07c14f978020ace450ad663d18",
"iv": "34edfa462a14c6969a680ec1",
"plain_text": "",
"cipher_text": "",
"additional_data": "2a35c7f5f8578e919a581c60500c04f6",
"authentication_tag": "751f3098d59cf4ea1d2fb0853bde1c"
},
// [Keylen = 128]
// [IVlen = 96]
// [PTlen = 128]
// [AADlen = 128]
// [Taglen = 112]
{
"key": "ed6cd876ceba555706674445c229c12d",
"iv": "92ecbf74b765bc486383ca2e",
"plain_text": "bfaaaea3880d72d4378561e2597a9b35",
"cipher_text": "bdd2ed6c66fa087dce617d7fd1ff6d93",
"additional_data": "95bd10d77dbe0e87fb34217f1a2e5efe",
"authentication_tag": "ba82e49c55a22ed02ca67da4ec6f"
},
// [Keylen = 192]
// [IVlen = 96]
// [PTlen = 128]
// [AADlen = 384]
// [Taglen = 112]
{
"key": "ae7972c025d7f2ca3dd37dcc3d41c506671765087c6b61b8",
"iv": "984c1379e6ba961c828d792d",
"plain_text": "d30b02c343487105219d6fa080acc743",
"cipher_text": "c4489fa64a6edf80e7e6a3b8855bc37c",
"additional_data": "edd8f630f9bbc31b0acf122998f15589d6e6e3e1a3ec89e0c6a6ece751610ebbf57fdfb9d82028ff1d9faebe37a268c1",
"authentication_tag": "772ee7de0f91a981c36c93a35c88"
}
]
// The results are stored here in hex format for readability.
//
// TODO(bryaneyler): Eventually, all these sample test sets should be replaced
// with the sets here: http://csrc.nist.gov/groups/STM/cavp/index.html#03
//
// Results were generated using the command sha{1,224,256,384,512}sum.
[
{ "algorithm": "sha-1",
"input": "",
"output": "da39a3ee5e6b4b0d3255bfef95601890afd80709"
},
{ "algorithm": "sha-224",
"input": "",
"output": "d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f"
},
{ "algorithm": "sha-256",
"input": "",
"output": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{ "algorithm": "sha-384",
"input": "",
"output": "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b"
},
{ "algorithm": "sha-512",
"input": "",
"output": "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"
},
{ "algorithm": "sha-1",
"input": "00",
"output": "5ba93c9db0cff93f52b521d7420e43f6eda2784f"
},
{ "algorithm": "sha-224",
"input": "00",
"output": "fff9292b4201617bdc4d3053fce02734166a683d7d858a7f5f59b073"
},
{ "algorithm": "sha-256",
"input": "00",
"output": "6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d"
},
{ "algorithm": "sha-384",
"input": "00",
"output": "bec021b4f368e3069134e012c2b4307083d3a9bdd206e24e5f0d86e13d6636655933ec2b413465966817a9c208a11717"
},
{ "algorithm": "sha-512",
"input": "00",
"output": "b8244d028981d693af7b456af8efa4cad63d282e19ff14942c246e50d9351d22704a802a71c3580b6370de4ceb293c324a8423342557d4e5c38438f0e36910ee"
},
{ "algorithm": "sha-1",
"input": "000102030405",
"output": "868460d98d09d8bbb93d7b6cdd15cc7fbec676b9"
},
{ "algorithm": "sha-224",
"input": "000102030405",
"output": "7d92e7f1cad1818ed1d13ab41f04ebabfe1fef6bb4cbeebac34c29bc"
},
{ "algorithm": "sha-256",
"input": "000102030405",
"output": "17e88db187afd62c16e5debf3e6527cd006bc012bc90b51a810cd80c2d511f43"
},
{ "algorithm": "sha-384",
"input": "000102030405",
"output": "79f4738706fce9650ac60266675c3cd07298b09923850d525604d040e6e448adc7dc22780d7e1b95bfeaa86a678e4552"
},
{ "algorithm": "sha-512",
"input": "000102030405",
"output": "2f3831bccc94cf061bcfa5f8c23c1429d26e3bc6b76edad93d9025cb91c903af6cf9c935dc37193c04c2c66e7d9de17c358284418218afea2160147aaa912f4c"
}
]
[
// Empty sets. Result generated via OpenSSL commandline tool. These
// particular results are also posted on the Wikipedia page examples:
// http://en.wikipedia.org/wiki/Hash-based_message_authentication_code
{
"hash": "sha-1",
"key": "",
"message": "",
// openssl dgst -sha1 -hmac "" < /dev/null
"mac": "fbdb1d1b18aa6c08324b7d64b71fb76370690e1d"
},
{
"hash": "sha-256",
"key": "",
"message": "",
// openssl dgst -sha256 -hmac "" < /dev/null
"mac": "b613679a0814d9ec772f95d778c35fc5ff1697c493715653c6c712144292c5ad"
},
// For this data, see http://csrc.nist.gov/groups/STM/cavp/index.html#07
// Download:
// http://csrc.nist.gov/groups/STM/cavp/documents/mac/hmactestvectors.zip
// L=20 set 45
{
"hash": "sha-1",
"key": "59785928d72516e31272",
"message": "a3ce8899df1022e8d2d539b47bf0e309c66f84095e21438ec355bf119ce5fdcb4e73a619cdf36f25b369d8c38ff419997f0c59830108223606e31223483fd39edeaa4d3f0d21198862d239c9fd26074130ff6c86493f5227ab895c8f244bd42c7afce5d147a20a590798c68e708e964902d124dadecdbda9dbd0051ed710e9bf",
"mac": "3c8162589aafaee024fc9a5ca50dd2336fe3eb28"
},
// L=20 set 299
{
"hash": "sha-1",
"key": "ceb9aedf8d6efcf0ae52bea0fa99a9e26ae81bacea0cff4d5eecf201e3bca3c3577480621b818fd717ba99d6ff958ea3d59b2527b019c343bb199e648090225867d994607962f5866aa62930d75b58f6",
"message": "99958aa459604657c7bf6e4cdfcc8785f0abf06ffe636b5b64ecd931bd8a456305592421fc28dbcccb8a82acea2be8e54161d7a78e0399a6067ebaca3f2510274dc9f92f2c8ae4265eec13d7d42e9f8612d7bc258f913ecb5a3a5c610339b49fb90e9037b02d684fc60da835657cb24eab352750c8b463b1a8494660d36c3ab2",
"mac": "4ac41ab89f625c60125ed65ffa958c6b490ea670"
},
// L=32, set 30
{
"hash": "sha-256",
"key": "9779d9120642797f1747025d5b22b7ac607cab08e1758f2f3a46c8be1e25c53b8c6a8f58ffefa176",
"message": "b1689c2591eaf3c9e66070f8a77954ffb81749f1b00346f9dfe0b2ee905dcc288baf4a92de3f4001dd9f44c468c3d07d6c6ee82faceafc97c2fc0fc0601719d2dcd0aa2aec92d1b0ae933c65eb06a03c9c935c2bad0459810241347ab87e9f11adb30415424c6c7f5f22a003b8ab8de54f6ded0e3ab9245fa79568451dfa258e",
"mac": "769f00d3e6a6cc1fb426a14a4f76c6462e6149726e0dee0ec0cf97a16605ac8b"
},
// L=32, set 224
{
"hash": "sha-256",
"key": "4b7ab133efe99e02fc89a28409ee187d579e774f4cba6fc223e13504e3511bef8d4f638b9aca55d4a43b8fbd64cf9d74dcc8c9e8d52034898c70264ea911a3fd70813fa73b083371289b",
"message": "138efc832c64513d11b9873c6fd4d8a65dbf367092a826ddd587d141b401580b798c69025ad510cff05fcfbceb6cf0bb03201aaa32e423d5200925bddfadd418d8e30e18050eb4f0618eb9959d9f78c1157d4b3e02cd5961f138afd57459939917d9144c95d8e6a94c8f6d4eef3418c17b1ef0b46c2a7188305d9811dccb3d99",
"mac": "4f1ee7cb36c58803a8721d4ac8c4cf8cae5d8832392eed2a96dc59694252801b"
},
// L=28, Count=71
{
"hash": "sha-224",
"key": "6c2539f4d0453efbbacc137794930413aeb392e029e0724715f9d943d6dcf7cdcc7fc197333df4fc476d5737ac3940d40eae",
"message": "1f207b3fa6c905529c9f9f7894b8941b616974df2c0cc482c400f50734f293139b5bbf97384adfafc56494ca0629ed0ca179daf03056e33295eb19ec8dcd4dff898281b4b9409ca369f662d49091a225a678b1ebb75818dcb6278a2d136319f78f9ba9df5031a4f6305eefde5b761d2f196ee318e89bcc4acebc2e11ed3b5dc4",
"mac": "4a7d9d13705b0faba0db75356c8ee0635afff1544911c69c2fbb1ab2"
},
// L=48, Count=50
{
"hash": "sha-384",
"key": "d137f3e6cc4af28554beb03ba7a97e60c9d3959cd3bb08068edbf68d402d0498c6ee0ae9e3a20dc7d8586e5c352f605cee19",
"message": "64a884670d1c1dff555483dcd3da305dfba54bdc4d817c33ccb8fe7eb2ebf623624103109ec41644fa078491900c59a0f666f0356d9bc0b45bcc79e5fc9850f4543d96bc68009044add0838ac1260e80592fbc557b2ddaf5ed1b86d3ed8f09e622e567f1d39a340857f6a850cceef6060c48dac3dd0071fe68eb4ed2ed9aca01",
"mac": "c550fa53514da34f15e7f98ea87226ab6896cdfae25d3ec2335839f755cdc9a4992092e70b7e5bd422784380b6396cf5"
},
// L=64, Count=65
{
"hash": "sha-512",
"key": "c367aeb5c02b727883ffe2a4ceebf911b01454beb328fb5d57fc7f11bf744576aba421e2a63426ea8109bd28ff21f53cd2bf1a11c6c989623d6ec27cdb0bbf458250857d819ff84408b4f3dce08b98b1587ee59683af8852a0a5f55bda3ab5e132b4010e",
"message": "1a7331c8ff1b748e3cee96952190fdbbe4ee2f79e5753bbb368255ee5b19c05a4ed9f1b2c72ff1e9b9cb0348205087befa501e7793770faf0606e9c901836a9bc8afa00d7db94ee29eb191d5cf3fc3e8da95a0f9f4a2a7964289c3129b512bd890de8700a9205420f28a8965b6c67be28ba7fe278e5fcd16f0f22cf2b2eacbb9",
"mac": "4459066109cb11e6870fa9c6bfd251adfa304c0a2928ca915049704972edc560cc7c0bc38249e9101aae2f7d4da62eaff83fb07134efc277de72b9e4ab360425"
}
]
This diff is collapsed.
{
// The RSA public and private keys used for this test are produced by the
// openssl command line:
// % openssl genrsa -out pair.pem 1024
// % openssl rsa -in pair.pem -out spki.der -outform DER -pubout
// % openssl pkcs8 -topk8 -inform PEM -outform DER -in pair.pem -out
// pkcs8.der -nocrypt
// % xxd -p spki.der
// % xxd -p pkcs8.der
"rsa_spki_der": "30819f300d06092a864886f70d010101050003818d0030818902818100a8d30894b93f376f7822229bfd2483e50da944c4ab803ca31979e0f47e70bf683c687c6b3e80f280a237cea3643fd1f7f10f7cc664dbc2ecd45be53e1c9b15a53c37dbdad846c0f8340c472abc7821e4aa7df185867bf38228ac3ecc1d97d3c8b57e21ea6ba57b2bc3814a436e910ee8ab64a0b7743a927e944d3420401f7dd50203010001",
"rsa_pkcs8_der": "30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100a8d30894b93f376f7822229bfd2483e50da944c4ab803ca31979e0f47e70bf683c687c6b3e80f280a237cea3643fd1f7f10f7cc664dbc2ecd45be53e1c9b15a53c37dbdad846c0f8340c472abc7821e4aa7df185867bf38228ac3ecc1d97d3c8b57e21ea6ba57b2bc3814a436e910ee8ab64a0b7743a927e944d3420401f7dd5020301000102818100896cdffb50a0691bd00ad9696933243a7c5861a64684e8d74b91aed0d76c28234da9303e8c6ea2f89b141a9d5ea9a4ddd3d8eb9503dcf05ba0b1fd76060b281e3ae4b9d497fb5519bdf1127db8ad412d6a722686c78df3e3002acca960c6b2a242a83ace5410693c03ce3d74cb9c9a7bacc8e271812920d1f53fee9312ef4eb1024100d09c14418ce92af7cc62f7cdc79836d8c6e3d0d33e7229cc11d732cbac75aa4c56c92e409a3ccbe75d4ce63ac5adca33080690782c6371e3628134c3534ca603024100cf2d3206f6deea2f39b70351c51f854362005aa8f643e49e22486736d536e040dc30a2b4f9be3ab212a88d1891280874b9a170cdeb22eaf61c27c4b082c7d1470240638411a5b3b307ec6e744802c2d4ba556f8bfe72c7b76e790b89bd91ac13f5c9b51d04138d80b3450c1d4337865601bf96748b36c8f627be719f71ac3c70b441024065ce92cfe34ea58bf173a2b8f3024b4d5282540ac581957db3e11a7f528535ec098808dca0013ffcb3b88a25716757c86c540e07d2ad8502cdd129118822c30f0240420a4983040e9db46eb29f1315a0d7b41cf60428f7460fce748e9a1a7d22d7390fa328948e7e9d1724401374e99d45eb41474781201378a4330e8e808ce63551",
// Similarly, the cleartext and public key encrypted ciphertext for this test
// are also produced by openssl. Note that since we are using a 1024-bit key,
// the cleartext size must be less than or equal to 117 bytes (modulusLength /
// 8 - 11).
// % openssl rand -out cleartext.bin 64
// % openssl rsautl -encrypt -inkey spki.der -keyform DER -pubin -in
// cleartext.bin -out ciphertext.bin
// % xxd -p cleartext.bin
// % xxd -p ciphertext.bin
"cleartext": "ec358ed141c45d7e03d4c6338aebad718e8bcbbf8f8ee6f8d9f4b9ef06d884739a398c6bcbc688418b2ff64761dc0ccd40e7d52bed03e06946d0957aeef9e822",
"ciphertext": "6106441c2b7a4b1a16260ed1ae4fe6135247345dc8e674754bbda6588c6c0d95a3d4d26bb34cdbcbe327723e80343bd7a15cd4c91c3a44e6cb9c6cd67ad2e8bf41523188d9b36dc364a838642dcbc2c25e85dfb2106ba47578ca3bbf8915055aea4fa7c3cbfdfbcc163f04c234fb6d847f39bab9612ecbee04626e945c3ccf42"
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment