Botan
1.11.15
|
00001 /* 00002 * List of ECC groups 00003 * (C) 2013 Jack Lloyd 00004 * 00005 * Botan is released under the Simplified BSD License (see license.txt) 00006 */ 00007 00008 #include <botan/ec_group.h> 00009 00010 namespace Botan { 00011 00012 const char* EC_Group::PEM_for_named_group(const std::string& name) 00013 { 00014 if(name == "secp112r1") 00015 return 00016 "-----BEGIN EC PARAMETERS-----" 00017 "MHQCAQEwGgYHKoZIzj0BAQIPANt8Kr9i415mgHa+rSCLMCAEDtt8Kr9i415mgHa+" 00018 "rSCIBA5lnvi6BDkW7t6JEXArIgQdBAlIcjmZWl7na1X5wvCYqJzlr4ckwKI+Dg/3" 00019 "dQACDwDbfCq/YuNedijfrGVhxQIBAQ==" 00020 "-----END EC PARAMETERS-----"; 00021 00022 if(name == "secp112r2") 00023 return 00024 "-----BEGIN EC PARAMETERS-----" 00025 "MHMCAQEwGgYHKoZIzj0BAQIPANt8Kr9i415mgHa+rSCLMCAEDmEnwkwF84oKqvZc" 00026 "DvAsBA5R3vGBXbXtdPzDTIXXCQQdBEujCrXokrThZJ3QkoZDrc1G9YguN0fe826V" 00027 "bpcCDjbfCq/YuNdZfKEFINBLAgEB" 00028 "-----END EC PARAMETERS-----"; 00029 00030 if(name == "secp128r1") 00031 return 00032 "-----BEGIN EC PARAMETERS-----" 00033 "MIGAAgEBMBwGByqGSM49AQECEQD////9////////////////MCQEEP////3/////" 00034 "//////////wEEOh1ecEQefQ92CSZPCzuXtMEIQQWH/dSi4mbLQwoYHylLFuGz1rI" 00035 "OVuv6xPALaKS3e16gwIRAP////4AAAAAdaMNG5A4oRUCAQE=" 00036 "-----END EC PARAMETERS-----"; 00037 00038 if(name == "secp128r2") 00039 return 00040 "-----BEGIN EC PARAMETERS-----" 00041 "MH8CAQEwHAYHKoZIzj0BAQIRAP////3///////////////8wJAQQ1gMZmNGzu/6/" 00042 "Wcybv/mu4QQQXu78o4DQKRncLGVYu22KXQQhBHtqpdheVymD5vsyp83rwUAntpFq" 00043 "iU067nEG/oBfw0tEAhA/////f////74AJHIGE7WjAgEE" 00044 "-----END EC PARAMETERS-----"; 00045 00046 if(name == "secp160k1") 00047 return 00048 "-----BEGIN EC PARAMETERS-----" 00049 "MIGYAgEBMCAGByqGSM49AQECFQD////////////////////+//+sczAsBBQAAAAA" 00050 "AAAAAAAAAAAAAAAAAAAAAAQUAAAAAAAAAAAAAAAAAAAAAAAAAAcEKQQ7TDgs43qh" 00051 "kqQBnnYwNvT13U1+u5OM+TUxj9zta8KChlMXM8PwPE/uAhUBAAAAAAAAAAAAAbj6" 00052 "Ft+rmsoWtrMCAQE=" 00053 "-----END EC PARAMETERS-----"; 00054 00055 if(name == "secp160r1") 00056 return 00057 "-----BEGIN EC PARAMETERS-----" 00058 "MIGYAgEBMCAGByqGSM49AQECFQD/////////////////////f////zAsBBT/////" 00059 "////////////////f////AQUHJe+/FS9eotlrPifgdTUrcVl+kUEKQRKlrVojvVz" 00060 "KEZkaYlow4u5E8v8giOmKFUxaJR9WdzJEgQjUTd6xfsyAhUBAAAAAAAAAAAAAfTI" 00061 "+Seu08p1IlcCAQE=" 00062 "-----END EC PARAMETERS-----"; 00063 00064 if(name == "secp160r2") 00065 return 00066 "-----BEGIN EC PARAMETERS-----" 00067 "MIGYAgEBMCAGByqGSM49AQECFQD////////////////////+//+sczAsBBT/////" 00068 "///////////////+//+scAQUtOE00/tZ64urVydJBGZNWvUDiLoEKQRS3LA0KToR" 00069 "fh9P8Rsw9xmdMUTObf6v/vLjMfKW4HH6DfmYLP6n1D8uAhUBAAAAAAAAAAAAADUe" 00070 "54aoGPOhoWsCAQE=" 00071 "-----END EC PARAMETERS-----"; 00072 00073 if(name == "secp192k1") 00074 return 00075 "-----BEGIN EC PARAMETERS-----" 00076 "MIGwAgEBMCQGByqGSM49AQECGQD//////////////////////////v//7jcwNAQY" 00077 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" 00078 "AAMEMQTbT/EOwFfpriawfQKAt/Q0HaXRsergbH2bLy9tnFYop4RBY9AVvoY0QIKq" 00079 "iNleL50CGQD///////////////4m8vwXD2lGanTe/Y0CAQE=" 00080 "-----END EC PARAMETERS-----"; 00081 00082 if(name == "secp192r1") 00083 return 00084 "-----BEGIN EC PARAMETERS-----" 00085 "MIGwAgEBMCQGByqGSM49AQECGQD////////////////////+//////////8wNAQY" 00086 "/////////////////////v/////////8BBhkIQUZ5ZyA5w+n6atyJDBJ/rje7MFG" 00087 "ubEEMQQYjagOsDCQ9ny/IOtDoYgA9P8K/YL/EBIHGSuV/8jaeGMQEe1rJM3Vc/l3" 00088 "oR55SBECGQD///////////////+Z3vg2FGvJsbTSKDECAQE=" 00089 "-----END EC PARAMETERS-----"; 00090 00091 if(name == "secp224k1") 00092 return 00093 "-----BEGIN EC PARAMETERS-----" 00094 "MIHIAgEBMCgGByqGSM49AQECHQD///////////////////////////////7//+Vt" 00095 "MDwEHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEHAAAAAAAAAAAAAAAAAAA" 00096 "AAAAAAAAAAAAAAAAAAUEOQShRVszTfCZ3zD8KKFppGfp5HB1qQ9+ZQ62t6Rcfgif" 00097 "7X+6NEKCyvvW9+MZ98CwvVniykvbVW1hpQIdAQAAAAAAAAAAAAAAAAAB3OjS7GGE" 00098 "yvCpcXafsfcCAQE=" 00099 "-----END EC PARAMETERS-----"; 00100 00101 if(name == "secp224r1") 00102 return 00103 "-----BEGIN EC PARAMETERS-----" 00104 "MIHIAgEBMCgGByqGSM49AQECHQD/////////////////////AAAAAAAAAAAAAAAB" 00105 "MDwEHP////////////////////7///////////////4EHLQFCoUMBLOr9UEyVlBE" 00106 "sLfXv9i6Jws5QyNV/7QEOQS3Dgy9a7S/fzITkLlKA8HTVsIRIjQygNYRXB0hvTdj" 00107 "iLX3I/tMIt/mzUN1oFoHR2RE1YGZhQB+NAIdAP//////////////////FqLguPA+" 00108 "E90pRVxcKj0CAQE=" 00109 "-----END EC PARAMETERS-----"; 00110 00111 if(name == "secp256k1") 00112 return 00113 "-----BEGIN EC PARAMETERS-----" 00114 "MIHgAgEBMCwGByqGSM49AQECIQD////////////////////////////////////+" 00115 "///8LzBEBCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQgAAAAAAAA" 00116 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcEQQR5vmZ++dy7rFWgYpXOhwsHApv8" 00117 "2y3OKNlZ8oFbFvgXmEg62ncmo8RlXaT7/A4RCKj9F7RIpoVUGZxH0I/7ENS4AiEA" 00118 "/////////////////////rqu3OavSKA7v9JejNA2QUECAQE=" 00119 "-----END EC PARAMETERS-----"; 00120 00121 if(name == "secp256r1") 00122 return 00123 "-----BEGIN EC PARAMETERS-----" 00124 "MIHgAgEBMCwGByqGSM49AQECIQD/////AAAAAQAAAAAAAAAAAAAAAP//////////" 00125 "/////zBEBCD/////AAAAAQAAAAAAAAAAAAAAAP///////////////AQgWsY12Ko6" 00126 "k+ez671VdpiGvGUdBrDMU7D2O848PifSYEsEQQRrF9Hy4SxCR/i85uVjpEDydwN9" 00127 "gS3rM6D0oTlF2JjClk/jQuL+Gn+bjufrSnwPnhYrzjNXazFezsu2QGg3v1H1AiEA" 00128 "/////wAAAAD//////////7zm+q2nF56E87nKwvxjJVECAQE=" 00129 "-----END EC PARAMETERS-----"; 00130 00131 if(name == "secp384r1") 00132 return 00133 "-----BEGIN EC PARAMETERS-----" 00134 "MIIBQAIBATA8BgcqhkjOPQEBAjEA////////////////////////////////////" 00135 "//////7/////AAAAAAAAAAD/////MGQEMP//////////////////////////////" 00136 "///////////+/////wAAAAAAAAAA/////AQwszEvp+I+5+SYjgVr4/gtGRgdnG7+" 00137 "gUESAxQIj1ATh1rGVjmNii7RnSqFyO3T7CrvBGEEqofKIr6LBTeOscce8yCtdG4d" 00138 "O2KLp5uYWfdB4IJUKjhVAvJdv1UpbDpUXjhydgq3NhfeSpYmLG9dnpi/kpLcKfj0" 00139 "Hb0omhR86doxE7XwuMAKYLHOHX6BnXpDHXyQ6g5fAjEA////////////////////" 00140 "////////////x2NNgfQ3Ld9YGg2ySLCneuzsGWrMxSlzAgEB" 00141 "-----END EC PARAMETERS-----"; 00142 00143 if(name == "secp521r1") 00144 return 00145 "-----BEGIN EC PARAMETERS-----" 00146 "MIIBrAIBATBNBgcqhkjOPQEBAkIB////////////////////////////////////" 00147 "//////////////////////////////////////////////////8wgYgEQgH/////" 00148 "////////////////////////////////////////////////////////////////" 00149 "/////////////////ARCAFGVPrlhjhyaH5KaIaC2hUDuotpyW5mzFfO4tImRjvEJ" 00150 "4VYZOVHsfpN7FlLAvTuxvwc1c9+IPSw08e9FH9RrUD8ABIGFBADGhY4GtwQE6c2e" 00151 "PstmI5W0QpxkgTkFP7Uh+CivYGtNPbqhS1537+dZKP4dwSei/6jeM0izwYVqQpv5" 00152 "fn4xwuW9ZgEYOSlqeJo7wARcil+0LH0b2Zj1RElXm0RoF6+9Fyc+ZiyX7nKZXvQm" 00153 "QMVQuQE/rQdhNTxwhqJywkCIvpR2n9FmUAJCAf//////////////////////////" 00154 "////////////////+lGGh4O/L5Zrf8wBSPcJpdA7tcm4iZxHrrtvtx6ROGQJAgEB" 00155 "-----END EC PARAMETERS-----"; 00156 00157 if(name == "1.3.6.1.4.1.8301.3.1.2.9.0.38") 00158 return 00159 "-----BEGIN EC PARAMETERS-----" 00160 "MIIBrAIBATBNBgcqhkjOPQEBAkIB////////////////////////////////////" 00161 "//////////////////////////////////////////////////8wgYgEQgH/////" 00162 "////////////////////////////////////////////////////////////////" 00163 "/////////////////ARCAFGVPrlhjhyaH5KaIaC2hUDuotpyW5mzFfO4tImRjvEJ" 00164 "4VYZOVHsfpN7FlLAvTuxvwc1c9+IPSw08e9FH9RrUD8ABIGFBADGhY4GtwQE6c2e" 00165 "PstmI5W0QpxkgTkFP7Uh+CivYGtNPbqhS1537+dZKP4dwSei/6jeM0izwYVqQpv5" 00166 "fn4xwuW9ZgEYOSlqeJo7wARcil+0LH0b2Zj1RElXm0RoF6+9Fyc+ZiyX7nKZXvQm" 00167 "QMVQuQE/rQdhNTxwhqJywkCIvpR2n9FmUAJCAf//////////////////////////" 00168 "////////////////+lGGh4O/L5Zrf8wBSPcJpdA7tcm4iZxHrrtvtx6ROGQJAgEB" 00169 "-----END EC PARAMETERS-----"; 00170 00171 if(name == "brainpool160r1") 00172 return 00173 "-----BEGIN EC PARAMETERS-----" 00174 "MIGYAgEBMCAGByqGSM49AQECFQDpXkpfc3BZ3GDfx62Vs9gTlRViDzAsBBQ0Dnvi" 00175 "ooDrdOK+YbradF2X6PfDAAQUHliahZVCNBITT6otveyVyNhnXlgEKQS+1a8W6j9q" 00176 "T2KTjEYx61r3vbzbwxZny0d6Go7DOPlHQWacl2MW2mMhAhUA6V5KX3NwWdxg31mR" 00177 "1FApQJ5g/AkCAQE=" 00178 "-----END EC PARAMETERS-----"; 00179 00180 if(name == "brainpool192r1") 00181 return 00182 "-----BEGIN EC PARAMETERS-----" 00183 "MIGwAgEBMCQGByqGSM49AQECGQDDAvQdkyo2zaejRjCT0Y23j85HbeGoYpcwNAQY" 00184 "apEXQHax4OGcOcAx/oaFwcrgQOXGmijvBBhGmijvfCjMo9xyHQRPRJa8yn70FG+/" 00185 "JckEMQTAoGR+qrakh1OwM8VssPCQCi9cSFM3X9YUtpCGar1buItfSCjBSQAC5nc/" 00186 "ovopm48CGQDDAvQdkyo2zaejRi+enpFrW+jxAprErMECAQE=" 00187 "-----END EC PARAMETERS-----"; 00188 00189 if(name == "brainpool224r1") 00190 return 00191 "-----BEGIN EC PARAMETERS-----" 00192 "MIHIAgEBMCgGByqGSM49AQECHQDXwTSqJkNmhioYMCV10deHsJ8HV5faifV+yMD/" 00193 "MDwEHGil5iypzmwcKZgDpsFTC1FOGCrYsAQqWcrSn0MEHCWA9jzP5EE4hwcTsakj" 00194 "aeM+ITXSZtuzcjhsQAsEOQQNkCmtLH5c9DQII7KofcaMnkzjF0webv3uEsB9WKpW" 00195 "93LAcm8kxrieTs2sJDVLnpnKo/bTdhQCzQIdANfBNKomQ2aGKhgwJXXQ+5jRFrxL" 00196 "bd68o6Wnk58CAQE=" 00197 "-----END EC PARAMETERS-----"; 00198 00199 if(name == "brainpool256r1") 00200 return 00201 "-----BEGIN EC PARAMETERS-----" 00202 "MIHgAgEBMCwGByqGSM49AQECIQCp+1fboe6pvD5mCpCdg41ybjv2I9UmICggE0gd" 00203 "H25TdzBEBCB9Wgl1/CwwV+72dTBBev/n+4BVwSbcXGzpSktE8zC12QQgJtxcbOlK" 00204 "S0TzMLXZu9d8v5WEFilc9+HOa8zcGP+MB7YEQQSL0q65y35XyyxLSC/8gbevud4n" 00205 "4eO9I8I6RFO9ms4yYlR++DXD2sT9l/hGGhRhHcnCd0UTLe2OVFwdVMcvBGmXAiEA" 00206 "qftX26Huqbw+ZgqQnYONcYw5eqO1Yab3kB4OgpdIVqcCAQE=" 00207 "-----END EC PARAMETERS-----"; 00208 00209 if(name == "brainpool320r1") 00210 return 00211 "-----BEGIN EC PARAMETERS-----" 00212 "MIIBEAIBATA0BgcqhkjOPQEBAikA015HIDa8T7fhPHhe0gHgZfmPz6b29A3vT5K5" 00213 "7HiT7Cj81BKx8bMuJzBUBCg+4wtWj7qw+IPM69RtPzu4oqc1E/XredpmGQ6whf+p" 00214 "9JLzdal9hg60BChSCIOUnf28QtOtGYZAaIpv4T9BNJVUtJrMMdzNiEU5gW9etKyP" 00215 "sfGmBFEEQ71+mvtT2LhSibzEjuW/5vIBN9EKCH6254ceKhClmccQr40NOeIGERT9" 00216 "0FVF7BzIq0CTJH93J14HQ//tEXGC6qnHeHeqrGrH01JF0WkujuECKQDTXkcgNrxP" 00217 "t+E8eF7SAeBl+Y/PpbaPEqMtSC7H7oZY6YaRVVtExZMRAgEB" 00218 "-----END EC PARAMETERS-----"; 00219 00220 if(name == "brainpool384r1") 00221 return 00222 "-----BEGIN EC PARAMETERS-----" 00223 "MIIBQAIBATA8BgcqhkjOPQEBAjEAjLkegqM4bSgPXW9+UOZB3xUvcQntVFa0ErHa" 00224 "GX+3ESOs06cpkB0acYdHABMxB+xTMGQEMHvDgsY9jBUMPHIICs4Fr6DCvqKOT7In" 00225 "hxORZe+6kfkPiqWBSlA61OsEqMfdIs4oJgQwBKjH3SLOKCaLObVUFvBEfC+3feEH" 00226 "3NKmLogOpT7rYtV8tDkCldvJlDq3hpb6UEwRBGEEHRxk8GjPRf+ipjqBt8E/a4hH" 00227 "o+d+8U/j23/K/gy9EOjoJuA0NtZGqu+HsuJH1K8eir4ddSD5wqRcseuOlc/VUmK3" 00228 "Cyn+7Fhk4ZwFT/mRKSgORkYhd5GBEUKCA0EmPFMVAjEAjLkegqM4bSgPXW9+UOZB" 00229 "3xUvcQntVFazHxZubKwEJafPOrava3/DEDuIMgLpBGVlAgEB" 00230 "-----END EC PARAMETERS-----"; 00231 00232 if(name == "brainpool512r1") 00233 return 00234 "-----BEGIN EC PARAMETERS-----" 00235 "MIIBogIBATBMBgcqhkjOPQEBAkEAqt2duNvpxIs/1OauM8n8B8swjbOzydIO1mOc" 00236 "ynAzCHF9TZsAm8ZoQq7NoSrmo4DmKIH/Ly2CxoUoqmBWWDpI8zCBhARAeDCjMYtg" 00237 "O4niMnFFrCNMxZTL3Y09+RYQqDRByuqYY7wt7V1aqCU6oQou8cmLmsi1fxEXpyvy" 00238 "x7nnwaxNd/yUygRAPfkWEKg0QcrqmGO8Le1dWqglOqEKLvHJi5rItX8RF6cr8se5" 00239 "58GsTXf8lMrcCD5nmEBQt1665d0oCb1jgBb3IwSBgQSBruS92C7ZZFohMi6cTGqT" 00240 "he2fcLXZFsG0O2Lu9NAJjv87H3ji0NSNUNFoe5O5fV98bVBHQGpeaIs1Igm8ufgi" 00241 "fd44XVZjMuzA6r+pz3gi/fIJ9wAkpXsaoADFW4gfgRGy3N5JSl9IXlvKS9iKJ2Ou" 00242 "0corL6jwVAZ4zR4POtgIkgJBAKrdnbjb6cSLP9TmrjPJ/AfLMI2zs8nSDtZjnMpw" 00243 "MwhwVT5cQUypJhlBhmEZf6wQRx2x04EIXdrdtYeWgpypAGkCAQE=" 00244 "-----END EC PARAMETERS-----"; 00245 00246 if(name == "x962_p192v2") 00247 return 00248 "-----BEGIN EC PARAMETERS-----" 00249 "MIGwAgEBMCQGByqGSM49AQECGQD////////////////////+//////////8wNAQY" 00250 "/////////////////////v/////////8BBjMItbfuVxrJeScDWNkpOWYDDk6ohZo" 00251 "2VMEMQTuorrn4Ul4QvLed2nP6cmJwHKtaW9IA0pldNEdabbsemcruCoIPfLysIR9" 00252 "6XCy3hUCGQD///////////////5fsack3IBBhkjY3TECAQE=" 00253 "-----END EC PARAMETERS-----"; 00254 00255 if(name == "x962_p192v3") 00256 return 00257 "-----BEGIN EC PARAMETERS-----" 00258 "MIGwAgEBMCQGByqGSM49AQECGQD////////////////////+//////////8wNAQY" 00259 "/////////////////////v/////////8BBgiEj3COVoFyqdCPa7MyUdgp9RiJWvV" 00260 "aRYEMQR9KXeBAMZaHaF4NxZYjc4ri0rujiKPGJY4qQ8iY3M3M0tJ3LZqbcj5l4rK" 00261 "dkipQ7ACGQD///////////////96YtAxyD9ClPZA7BMCAQE=" 00262 "-----END EC PARAMETERS-----"; 00263 00264 if(name == "x962_p239v1") 00265 return 00266 "-----BEGIN EC PARAMETERS-----" 00267 "MIHSAgEBMCkGByqGSM49AQECHn///////////////3///////4AAAAAAAH//////" 00268 "/zBABB5///////////////9///////+AAAAAAAB///////wEHmsBbDvc8YlB0NZU" 00269 "khR1ynGp2y+yfR03eWGFwpQsCgQ9BA/6ljzcqIFszDO4ZCvt+QXD01hXPT8n+707" 00270 "PLmqr33r6OTpCl2ubkBUylMLoEZUs2gYziJrOfzLewLxrgIef///////////////" 00271 "f///nl6an12QcfvRUiaIkJ0LAgEB" 00272 "-----END EC PARAMETERS-----"; 00273 00274 if(name == "x962_p239v2") 00275 return 00276 "-----BEGIN EC PARAMETERS-----" 00277 "MIHSAgEBMCkGByqGSM49AQECHn///////////////3///////4AAAAAAAH//////" 00278 "/zBABB5///////////////9///////+AAAAAAAB///////wEHmF/q2gyV2y7/tUN" 00279 "mfAknD/uWLlLoAOMeuhMjIMvLAQ9BDivCdmHJ3BRIMkhu16eJilqPNzy81dXoOr9" 00280 "h7gw51sBJeTb6g7HIG2g/AHZsIEyn7VV3m70YCN9/4vkugIef///////////////" 00281 "gAAAz6foWUN31BTAOCG8WCBjAgEB" 00282 "-----END EC PARAMETERS-----"; 00283 00284 if(name == "x962_p239v3") 00285 return 00286 "-----BEGIN EC PARAMETERS-----" 00287 "MIHSAgEBMCkGByqGSM49AQECHn///////////////3///////4AAAAAAAH//////" 00288 "/zBABB5///////////////9///////+AAAAAAAB///////wEHiVXBfoqMGZUsfTL" 00289 "A9anUKMMJQEC1JiHF9m6FattPgQ9BGdoro4Yu5LPzwBclJqixtlIU9DmYLv4VLHJ" 00290 "UF/pWhYH5omPOQwGvB1VK60ibztvz+SLboGEma8Y4+1s8wIef///////////////" 00291 "f///l13rQbOmBXw8QyFGUmVRAgEB" 00292 "-----END EC PARAMETERS-----"; 00293 00294 if(name == "gost_256A") 00295 return 00296 "-----BEGIN EC PARAMETERS-----" 00297 "MIHgAgEBMCwGByqGSM49AQECIQD/////////////////////////////////////" 00298 "///9lzBEBCD////////////////////////////////////////9lAQgAAAAAAAA" 00299 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKYEQQQAAAAAAAAAAAAAAAAAAAAAAAAA" 00300 "AAAAAAAAAAAAAAAAAY2R5HHgmJzaJ99QWkU/K3Y1KU8t3yPjsSKsyZyenx4UAiEA" 00301 "/////////////////////2xhEHCZWtEARYQbCbdhuJMCAQE=" 00302 "-----END EC PARAMETERS-----"; 00303 00304 return nullptr; 00305 } 00306 00307 }