/* * Copyright 2014-2026 The GmSSL Project. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * * http://www.apache.org/licenses/LICENSE-2.0 */ static const TEST_PBKDF2_VECTOR pbkdf2_hmac_sha1_tests[] = { { 1, "RFC 6070", "Rfc6070,Printable", "70617373776f7264", "73616c74", 1u, 20u, "0c60c80f961f0e71f3a9b524af6012062fe037a6", TEST_RESULT_VALID, }, { 2, "RFC 6070", "Rfc6070,Printable", "70617373776f7264", "73616c74", 2u, 20u, "ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957", TEST_RESULT_VALID, }, { 3, "RFC 6070", "Rfc6070,Printable", "70617373776f7264", "73616c74", 4096u, 20u, "4b007901b765489abead49d926f721d065a429c1", TEST_RESULT_VALID, }, { 4, "RFC 6070", "Rfc6070,LargeIterationCount,Printable", "70617373776f7264", "73616c74", 16777216u, 20u, "eefe3d61cd4da4e4e9945b3d6ba2158c2634e984", TEST_RESULT_VALID, }, { 5, "RFC 6070", "Rfc6070,Printable", "70617373776f726450415353574f524470617373776f7264", "73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74", 4096u, 25u, "3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038", TEST_RESULT_VALID, }, { 6, "RFC 6070", "Rfc6070,Ascii", "7061737300776f7264", "7361006c74", 4096u, 16u, "56fa6aa75548099dcc37d7f03425e0c3", TEST_RESULT_VALID, }, { 7, "", "Pseudorandom,Printable", "7130577430643470", "798acc7c76739d75", 4096u, 16u, "9ea245e919e491118087fc369142e2ee", TEST_RESULT_VALID, }, { 8, "", "Pseudorandom,Printable", "5a30673349567272", "84bbd18de5ec10ff", 4096u, 42u, "b874ff052f517d94eb6cb7edd2ede57a7d96c01eea5dbe4fafc47d6fce32ce28defb14f7980c5ed3ba10", TEST_RESULT_VALID, }, { 9, "", "Pseudorandom,Printable", "7439315572766f47", "5d76db9ca0f0bae2", 4096u, 65u, "56799b703ed17b58b9e3ee12c80f93b35b83baa769789c539f7a4cb3e825db5df8c7afed85bb276a01aae0dc78beb492de832b581c7d5b899b184516cf028e90f7", TEST_RESULT_VALID, }, { 10, "", "Pseudorandom,Printable", "6b6f67583748447a", "0a8fbd0232a3a7f6e60d6564c92ea35f", 4096u, 16u, "8e7c43f3a3baa0ac7e8e24db0b99ea45", TEST_RESULT_VALID, }, { 11, "", "Pseudorandom,Printable", "4939745242645168", "0a3bb93c0de86a174ab005b8089706ab", 4096u, 42u, "ab713dcf744ded086b1b588f570ba0c1876e8737c488a852216add421c2dd70ff3b58e5390c80bbe9103", TEST_RESULT_VALID, }, { 12, "", "Pseudorandom,Printable", "6f4f4d37324f6330", "3827c3b6b1e6de7aab096eb75e23610d", 4096u, 65u, "8cd3a480add2dfd8fbfee4f49c55b6b2980955635474c5a795d1d6cdca9e0934797cd5ea797a1cf8cfa7d975a63b3f66855ec6b4a97dde26e49bd149c6259f6f52", TEST_RESULT_VALID, }, { 13, "", "Pseudorandom,Printable", "6761734354484546654d36526f61386349", "cac9ae7ef670990e", 4096u, 16u, "5e71edeb8746e5215b0949e0f64a03aa", TEST_RESULT_VALID, }, { 14, "", "Pseudorandom,Printable", "75375330684678774e33586f76707a6551", "201b1e277f4ff955", 4096u, 42u, "349d048452b7fc74ae8e7b373925621321ff807968e3ff4d5a31b815ace5b95d07cd868f20f958161c68", TEST_RESULT_VALID, }, { 15, "", "Pseudorandom,Printable", "51524b6a6d6d6b48524462507178696868", "e71d6a702d2d54bc", 4096u, 65u, "5c480790477441c254bc89611d52e5cb83fb0e6eb9fe1000344c638dfd134d67d4c633f6fdbb3316dc57115f34b0e9d4186b96023d6d0c6b90da34720731bdad6b", TEST_RESULT_VALID, }, { 16, "", "Pseudorandom,Printable", "3732317a52704b79306b4c6d3862317279", "8b9314972ef99ac98b69b6c2ac4247c7", 4096u, 16u, "9edef2939c154b91d359876d41772d79", TEST_RESULT_VALID, }, { 17, "", "Pseudorandom,Printable", "75507078436d7536577a68535030553947", "874d7cc9369ff9988642ffe05a7f2153", 4096u, 42u, "69cc4a0b7374717be2312a49cc4768a8e40a360f8637eb475dc125f253a54747edfcb64132ce8097a9ed", TEST_RESULT_VALID, }, { 18, "", "Pseudorandom,Printable", "6f39505350597a445349783365374d7063", "1569909588ec25a3afa147cb7fff9fb1", 4096u, 65u, "744a5c9831b81db08874abdc9cd0afd7bc7f11250da19ad6aa61ed02626b1d52dcbf9bbb34dd44c65a8a7973f34244e0e16f27e31ee45c37d84ad1f9465445ddc9", TEST_RESULT_VALID, }, { 19, "", "Pseudorandom,Ascii", "4b2d6c600e66535c7f3d6d6c", "7a4c02db8bd8fcc2", 4096u, 16u, "8739361a2fa899f6d5cceba27d4142da", TEST_RESULT_VALID, }, { 20, "", "Pseudorandom,Ascii", "287e74200e6b69285f5f7e00", "dddf018487fa4b95", 4096u, 42u, "68a1ad4082c5f45e339ac85e44fbe4368fd604d73030bab4d459e0f7e79a709293a349305bc91ac86de4", TEST_RESULT_VALID, }, { 21, "", "Pseudorandom,Ascii", "0f3b5e220e1c000c2a703a4d", "7cf71b19c0daf499", 4096u, 65u, "b58ad2cb772a9eb1bae46afcfc7738a043bcc3ff602071850d3019b8935270dc20a2ee90c5cb8f6c323b49f7477797352b1ba0b7973f6a2652cd2bb319f092f371", TEST_RESULT_VALID, }, { 22, "", "Pseudorandom,Ascii", "1f4b7b354903545f2b07720b", "62f91ea01f3a18aa2f122bd15c4a615b", 4096u, 16u, "deea05da06df69c5401517d132678f90", TEST_RESULT_VALID, }, { 23, "", "Pseudorandom,Ascii", "5d7e1f70174b2f616c0d6722", "4fb602173327228431dd8d088154c7ec", 4096u, 42u, "05489b534681b9eb74d4bac4caeaa9e7fa5977dca35314b0118f57662b539b016b38c6393c8c75aa419d", TEST_RESULT_VALID, }, { 24, "", "Pseudorandom,Ascii", "2657324e694c6b242b174f1a", "3cad67ef1eaf3aaafb5ee372d6b1ecb4", 4096u, 65u, "a175e5aa360bd47b5e0e7d4d7bb29d0e4d5eef89f80e30e5570cb2b21aabdffb37996aee3dfefef1d79d1ec9fa0198276db9ed763770f1127d4d3e0c047037ab0a", TEST_RESULT_VALID, }, { 25, "", "Pseudorandom,Ascii", "15296b0933473119180f3c0645202d5221633803", "d7412e4137fc4410", 4096u, 16u, "6033619ba0f6a1c4d2877ab466cc8bca", TEST_RESULT_VALID, }, { 26, "", "Pseudorandom,Ascii", "2a1124361d53464245580130076d6b54001e3d01", "7ecaaed1eab03c3f", 4096u, 42u, "2e481954bbb8ac4e330a1d28ea8f736d63a1f760bb58d97a70855ffe8ff9480972c46b645095470a8cda", TEST_RESULT_VALID, }, { 27, "", "Pseudorandom,Ascii", "666252024e18233308430820127e753e6b041f56", "756fafa7fac1f019", 4096u, 65u, "95273cd50ba4a4e419b2e3a59d4587291188710912bcab5bf7640deb5f34c9c046f410f4e6b83192a6d36e96b5b8f11a898fb69d1ea6df38614138165c5438ee86", TEST_RESULT_VALID, }, { 28, "", "Pseudorandom,Ascii", "7a106c2773542c791d2f0a02632b69644f666278", "a36350db68186d747254bd9835219487", 4096u, 16u, "d206f75207b50786c7571d9a4b21a2a0", TEST_RESULT_VALID, }, { 29, "", "Pseudorandom,Ascii", "0b3c6f070149615b5b461c7f5c3a366a6d375402", "42be6c8fcd7858458fb97cece0069524", 4096u, 42u, "6a0ffe5218cde4ec89dad3bc6ff32133c31b86baf45740fdd1313b8b2c525871fce7be5b312999bde78d", TEST_RESULT_VALID, }, { 30, "", "Pseudorandom,Ascii", "5177161d237c1b64426353434113015665344a6c", "596dbf5830aa8b00682429883e0b1ed0", 4096u, 65u, "52ec2859141885b77108eade00564a7564c41aa1747af8ef2fee384ada8e82c51743a5005d3ca4f855339837e8ff2e8fe78dcb17904a192591f508c801fc4c8abc", TEST_RESULT_VALID, }, { 31, "", "Pseudorandom,Utf8", "d0a3d1bed38acc83", "8dfae85c9f2072ae", 4096u, 16u, "672b655566b8ce79b5e5244b2bb59472", TEST_RESULT_VALID, }, { 32, "", "Pseudorandom,Utf8", "d0bcccab64cf9a", "15187b0393d8a441", 4096u, 42u, "b753a37266ffa863239bf199abf0a8eef11c7a40cfc058ea4d46f58353d08a7bffda005327f98db8fd1d", TEST_RESULT_VALID, }, { 33, "", "Pseudorandom,Utf8", "c4bddd8f4ad69d", "775bde4bd6e40ddd", 4096u, 65u, "28bffd8c6c6a6231336c3948c5a00510f433be50c1a36ebc2f180ace80feb4914fa35204386c2b6eb41e634951702f6de924bcffaaf4d976c01794c64c6af3d08e", TEST_RESULT_VALID, }, { 34, "", "Pseudorandom,Utf8", "c299d292cd92dcb8", "99c55e182238c8e0c385447685e9ba85", 4096u, 16u, "5be67e596d953ede56531b9a66bbe566", TEST_RESULT_VALID, }, { 35, "", "Pseudorandom,Utf8", "d086d0bed193d9b6", "42a7aca6a7664f87b405b49d62a074db", 4096u, 42u, "f73504788a1c491bc856cb3ab9b873f07cf1dba837c100997029a206f19169583c8a2c4efe1e2bbca6aa", TEST_RESULT_VALID, }, { 36, "", "Pseudorandom,Utf8", "da8ddcacde86d3b0", "f3eb3938f338fe8639813beacd8100a5", 4096u, 65u, "8ad0fc0024268cc557baad39644cbbe03fbc251262a51fb20f5dd2f1b4e14e73f4f53f6912e3a75f69f6ec6a42273411069df812899e4877323351b6056d8f21a2", TEST_RESULT_VALID, }, { 37, "", "Pseudorandom,Utf8", "cfbec3b9d7acc7a9d585d1a5c28fcca119", "e9c55717a1259a29", 4096u, 16u, "4a5fdfd0cafdbb8793806299275372dd", TEST_RESULT_VALID, }, { 38, "", "Pseudorandom,Utf8", "d29cd099d197d1b0da9aca8ec2a3daa5c38a", "5acc2d76a9f4444c", 4096u, 42u, "0479f3777ab64d13f2b514526b149686347688d824be30e077b2bcd4c05cbca845e3091b00d3b049e721", TEST_RESULT_VALID, }, { 39, "", "Pseudorandom,Utf8", "de89d193d18c75c2b8c6bcd190d198c3a2", "c69c3b58917e0975", 4096u, 65u, "7374cbb82049ccfb9271ee9df3dcdcf5f64870f356816e5077f8a5fb0cad52e14df3609814b771bf7d151de23d91584b973bc7fd34ee955a893f904fcfdc9e0215", TEST_RESULT_VALID, }, { 40, "", "Pseudorandom,Utf8", "da9dd096cb93db88dbbed495ceaacf853c", "200bba668b2010b1968b82091848937c", 4096u, 16u, "f90c5c5cab441e656c21a259fb83547e", TEST_RESULT_VALID, }, { 41, "", "Pseudorandom,Utf8", "de81d0a6cea9c7b3cbabce9bda90d29f73", "36586fdefbe916369412c9f3e6337ddf", 4096u, 42u, "bf873cb5210319562901a01c9fc8521a41b4d0397f774853f2499ec6b6b37490c4a8487523868af2ee3c", TEST_RESULT_VALID, }, { 42, "", "Pseudorandom,Utf8", "d281da97c8a3d8b7ceb9db80dc8dd4a0c3be", "ab7c17e3b78fe71e373b0ccb0fc3ccda", 4096u, 65u, "dcd906b27d8cffe87013fbb1557877e21c2bb58fcdec5f94d9a18beb523902c60fc4d63bb78f58cff300309f4d3411e8f524dadeadd956d94c551e3370b55c60b1", TEST_RESULT_VALID, }, { 43, "", "Pseudorandom,NonUtf8", "8423ec7ea4ca4b03", "8dfae85c9f2072ae", 4096u, 16u, "5409681bde39075bda761ad33cfd06f8", TEST_RESULT_VALID, }, { 44, "", "Pseudorandom,NonUtf8", "2c3c932bf0648bda", "15187b0393d8a441", 4096u, 42u, "357f1e696f62b232b242d6a64b680fb73ccda4cdde09cc7ade62d5a9f828f4ac2f728a687c79a079c4ff", TEST_RESULT_VALID, }, { 45, "", "Pseudorandom,NonUtf8", "393d474fd84a259d", "775bde4bd6e40ddd", 4096u, 65u, "e04e777c27b3ab84cd7647751f710fa37f50019f2b1536ae52b3f7893dd9bcd6345fa2e1459501c01dfe65da07dd83ff6e88e211418c88fec36410e6efaaf59240", TEST_RESULT_VALID, }, { 46, "", "Pseudorandom,NonUtf8", "48997492c3528738", "99c55e182238c8e0c385447685e9ba85", 4096u, 16u, "1436967f0de829ae653a31c45168525c", TEST_RESULT_VALID, }, { 47, "", "Pseudorandom,NonUtf8", "74064c3ebc53d676", "42a7aca6a7664f87b405b49d62a074db", 4096u, 42u, "6b7433a14d6225b5222fb7d5f5dfe674154c075ad83d13dbb274ccf6880f75c7545d35bc6e7bfcfa814b", TEST_RESULT_VALID, }, { 48, "", "Pseudorandom,NonUtf8", "668d4f2c8f86f4f0", "f3eb3938f338fe8639813beacd8100a5", 4096u, 65u, "23c9045a0a037f60d0ef0e4058c8a3633714c67e4d3f4637499de4d9c949248bfce2bc7cd6bac4cfe74e9c28a221401d3ea7d99e0b33ca23bcd66ff239d1e8c40d", TEST_RESULT_VALID, }, { 49, "", "Pseudorandom,NonUtf8", "e3feb0f96dec61e9dd451465f88f132119", "e9c55717a1259a29", 4096u, 16u, "16ef25c3c98e34147b33a8d33813b13f", TEST_RESULT_VALID, }, { 50, "", "Pseudorandom,NonUtf8", "5c9ca419dc576470269a828e40a3aea5ca", "5acc2d76a9f4444c", 4096u, 42u, "fb711258128c94ffbe6c2ecffa8ae50823ec51c71ad512a2c3df0e56ad82403a87cb1b24e4049f56c065", TEST_RESULT_VALID, }, { 51, "", "Pseudorandom,NonUtf8", "bf898453344c6875f0b8b9bc2c50fc58e2", "c69c3b58917e0975", 4096u, 65u, "25917d740b0882ba22158b8008ce8c074462c3751413b85e44e86366147c06aa11fa07dd3ee95424d4c8db162cbd164d795e9ddfb2b369b3475c1152c2d3f01b19", TEST_RESULT_VALID, }, { 52, "", "Pseudorandom,NonUtf8", "9e9d7c166ad3bec856fe5d15d3aacbc53c", "200bba668b2010b1968b82091848937c", 4096u, 16u, "72a9fed7bf44ed9f3d09a812e14ada47", TEST_RESULT_VALID, }, { 53, "", "Pseudorandom,NonUtf8", "17812c26bba941f3c2ebdb9bb6904c9f73", "36586fdefbe916369412c9f3e6337ddf", 4096u, 42u, "65a48055639d90cb775b68926e1ad0bfa164d80c010711da0d1ff6838da9d4a7d1aaf28f3b1994f8c50f", TEST_RESULT_VALID, }, { 54, "", "Pseudorandom,NonUtf8", "6c816697ba2366375bb986c0af0d7d20fe", "ab7c17e3b78fe71e373b0ccb0fc3ccda", 4096u, 65u, "17d8c8f2974fbcb8c75109d1660e72fc808aaa96fbd8542a0f51bab2135333e42a5e97c5a96005550aafdba80f78da789d2759e79135a75315baa99f27e8f5f898", TEST_RESULT_VALID, }, { 55, "empty password", "Pseudorandom,Printable", "", "1a71e2118c9fbcc9", 4096u, 32u, "93f5d4cf0da5cd8c1f2c71a48a8efebfbda76763c29ca535c5a09e627af5c410", TEST_RESULT_VALID, }, { 56, "long password", "Pseudorandom,Printable", "523249584467597a5a4271363970667a4a714e744b7761545a4544494676766b6a6253417167566e456a6b456b454557504e69383653626a6e376b725764394d67", "d26b99043c8ba3a4", 4096u, 32u, "de22ce1289402528225f5e52e00dad82b394f1e593d2fa0fa83185137bef5ed2", TEST_RESULT_VALID, }, { 57, "long password", "Pseudorandom,Printable", "63727a466d396430795463456a6468545758693877674e516f544e6d486e61686f6956317071613133655471477933497531354b4f52516339494c53646756527a45524e6b4463723565676a62584a78426572536a74726b6b674341616a63356243354434706e66743836663754626663666370595a30767354454d4930524178", "9266da5b8c102b27", 4096u, 32u, "c80288d20baa94340a79735e9257867b92709568e71355209911d7c4ad484621", TEST_RESULT_VALID, }, { 58, "long password", "Pseudorandom,Printable", "32647a56696e6f45774464656c656257797058314d6f4f685975585a463172514b7a32535a6c307578576377796f3561416e6f42524e7a5044763072513662693742345a34324f50695258534c6859684441643262746f647633744d54424430744b46316e4b655942656565547a70413145434150713942687a4a4c555a67737636754e4b664450333558414d684a486c736a6f5a796b677130624d506265556941796d6f324371586b64524752633876544176684e5a5838536f564d33704e74594a4a7258766975337547583233736a353847723061614a4b45763765796c373248636e6167713474766e533737626d6376676c79536d347370707a65673869", "6a06903b78dae6de", 4096u, 32u, "90767f81981d82c053146a0f69f04d3035a675ffc0cbca5f5debdccfbe59aa69", TEST_RESULT_VALID, }, { 59, "special case password", "NonUtf8", "ff", "32140a66b88e1683", 4096u, 16u, "33d50f1918fd8cc91969b41cf0ac6cb7", TEST_RESULT_VALID, }, { 60, "special case password", "NonUtf8", "ffffffffffffffff", "8a359634423ed028", 4096u, 16u, "ced7945a9c40448206dc738a462cabe5", TEST_RESULT_VALID, }, { 61, "special case password", "NonUtf8", "c0c0c0c0c0c0c0c0", "d6f596f170ed2414", 4096u, 16u, "c6d3d7d40940ce6ea88ec034df470722", TEST_RESULT_VALID, }, { 62, "special case password", "NonUtf8", "eeeeeeeeeeeeeeee", "6b2269425e288d03", 4096u, 16u, "d1dd8d5b7f5e74d628bc656b2c4a7e08", TEST_RESULT_VALID, }, { 63, "special case password", "NonUtf8", "f0f0f0f0f0f0f0f0", "ebf0b04633711248", 4096u, 16u, "1cf137fbce42e38f531a4f36ff3717e4", TEST_RESULT_VALID, }, { 64, "special case password", "Ascii", "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "9de9b71eeb9d9a34", 4096u, 16u, "a7b2fbb97f52f3b5f9006e0f1acf0903", TEST_RESULT_VALID, }, };