/* Copyright (c) (2015,2019) Apple Inc. All rights reserved. * * corecrypto is licensed under Apple Inc.’s Internal Use License Agreement (which * is contained in the License.txt file distributed with corecrypto) and only to * people who accept that license. IMPORTANT: Any license rights granted to you by * Apple Inc. (if any) are limited to internal use within your organization only on * devices and computers you own or control, for the sole purpose of verifying the * security characteristics and correct functioning of the Apple Software. You may * not, directly or indirectly, redistribute the Apple Software or any portions thereof. */ // Regular implementation // Vector from https://tools.ietf.org/html/rfc5054#appendix-B { .di = ccsha1_di, .gp = ccsrp_gp_rfc5054_1024, .opt = CCSRP_OPTION_SRP6a_HASH, .U = "alice", .P = "password123", .salt = "BEB25379D1A8581EB5A727673A2441EE", .k = "7556AA045AEF2CDD07ABAF0F665C3E818913186F", .x = "94B7555AABE9127CC58CCF4993DB6CF84D16C124", .v = "7E273DE8696FFC4F4E337D05B4B375BEB0DDE1569E8FA00A9886D812"\ "9BADA1F1822223CA1A605B530E379BA4729FDC59F105B4787E5186F5"\ "C671085A1447B52A48CF1970B4FB6F8400BBF4CEBFBB168152E08AB5"\ "EA53D15C1AFF87B2B9DA6E04E058AD51CC72BFC9033B564E26480D78"\ "E955A5E29E7AB245DB2BE315E2099AFB", .a = "60975527035CF2AD1989806F0407210BC81EDC04E2762A56AFD529DDDA2D4393", .b = "E487CB59D31AC550471E81F00F6928E01DDA08E974A004F49E61F5D105284D20", .A = "61D5E490F6F1B79547B0704C436F523DD0E560F0C64115BB72557EC4"\ "4352E8903211C04692272D8B2D1A5358A2CF1B6E0BFCF99F921530EC"\ "8E39356179EAE45E42BA92AEACED825171E1E8B9AF6D9C03E1327F44"\ "BE087EF06530E69F66615261EEF54073CA11CF5858F0EDFDFE15EFEA"\ "B349EF5D76988A3672FAC47B0769447B", .B = "BD0C61512C692C0CB6D041FA01BB152D4916A1E77AF46AE105393011"\ "BAF38964DC46A0670DD125B95A981652236F99D9B681CBF87837EC99"\ "6C6DA04453728610D0C6DDB58B318885D7D82C7F8DEB75CE7BD4FBAA"\ "37089E6F9C6059F388838E7A00030B331EB76840910440B1B27AAEAE"\ "EB4012B7D7665238A8E3FB004B117B58", .u = "CE38B9593487DA98554ED47D70A7AE5F462EF019", .S = "B0DC82BABCF30674AE450C0287745E7990A3381F63B387AAF271A10D"\ "233861E359B48220F7C4693C9AE12B0A6F67809F0876E2D013800D6C"\ "41BB59B6D5979B5C00A172B4A2A5903A0BDCAF8A709585EB2AFAFA8F"\ "3499B200210DCC1F10EB33943CD67FC88A2F39A4BE5BEC4EC0A3212D"\ "C346D7E474B29EDE8A469FFECA686E5A", .K = "017eefa1cefc5c2e626e21598987f31e0f1b11bb", .M = "62c71b289cb22a034b405667e1541202ce5d8e03", .HAMK = "b475d7f2d75ce9537748005483e5d326048b59e9", }, // RFC2945, Test vector generated with AppleSRP { .di = ccsha1_di, .gp = ccsrp_gp_rfc5054_3072, .opt = CCSRP_OPTION_RFC2945_INTERLEAVED, .U = "user", .P = "password", .salt = "743329AE415CDE036EFB", .k = NULL, .x = "2F09A6CC6D9C05A953AA09F07E98FB301114DD98", .v = "57301B0B54B9E466FA20E041E60A27F99C5F76167BCD8FE70A365234B31A74E38549E769975EFA716798387D691EB39546A70D84B34797F66FC03295A3E671873FEFD643EBF26550DADAD5694B59044DB5F604C2D9366233A4B70D64AE8EC80FCD5C7F67AEB7FC8B36719D6680393DB212F7E1A53ADF84F947160C5D40A640D0D456027103F38150A6B62A4699B4F2329E155B3B7BF5D3E69745E94B529FACD08D29BEDEDD1A4E4647CE04B58FE89B74FAD81FC10ACB7265B169D1C9C50B4CF02DD8E445A41B89D5F9A2BB9F6765DB81E1ADF440CDA12B5F36E28071B0AC439C5678D6DE2DBBAB1D97C6E32A749B290193C5BD1ED2863175F616C6B748674DD95EA7BE707B19DA9A5F1940B8D343D56B5BA64515B2E918FB77466B9EFF7493733697FAB2842E06C3EE9EBA6B4A173A4A7BA2D47A476BD178A2D38B4558232AE15D03026796BDF7DB44BA0FD83255696F6C509026EEB8896D668FEBE9F17FC4021A682FC16CB8FBF94653244DF69D5A8DA9CF8578CAA190022D7C1ED3D8B92404", .a = "2A42D2247C24880F55C09F9BCF9BA38C6E109E5706FD12D5233AF4DFF387C1B8", .b = "388A2ED7DFFB6EF31B58793B7B1ECADB87EF13B53958AAAC3ECABA0FA6A091BD", .A = "12EE5BD23B911782DB71364057D66A16402778D45166B17A4A4008C4FA31C92CADAC4E6AF686A7B1F1FB2184FCBC645BB8294E1F7CF7E8B00378985CBD77208D21CF857C18A5725B806E0CBDD9D539ADA5CCB406D1D482AF3D30BFD289B832E9B737D34F26E60C257CCC863A468AD64608F748BDCB93B8F525FE97E9A95EF15FDBD02ACEB76DB4C94849EE5918082455D2654ECACF0A5564651C54CB17D872C48A38ABE769EC10B1B733978B854411B5C457FA8ACE67734288B3D34EFE8F5B14938174B860AF049ADB07DA0E7D380D1AA9B7015698231A64ACA1D39180AA871A05CDAFCFEC809D69709CFD1415877369DAC647D3CB5E0BF548FECB2B2FBEC8C63D5518925E44F42207339C0B9ED66C264A88EE122A3E46A9C4B54149B6A32848E7C2E2C644F676B0B9F3D45E073818F5DD88829EBDBAC5FB64F088C206778A5378BC7FAECE7E0E5FE834E27C5D09B69D25990B67D42D89103BF9E88693B7CC4AC3DAA2AB09D30FB6DDD8E032DE7E59C884BA7C6E30074075CACBB7D201860FCD", .B = "DFF82B04737256BAE1791D44C7F2404C2E87040FC53FCC017F7F0151FEE29BED6D671B419BF230691B247CAF0AAD06C8B9289642CF4794487834C329A27E155A898AFB8B63E5D9085CC3B33479ED83E35A6658375A4D76C280E42CE845A473B10E44CF8A69F56BA168E5069B0689B1E46F9B25073B8B5F26BFD13CE39BF6F6E107634AB3069004A5766D5A14462467D01FCBFF7431BFB20C1F1BB38E632C29C0CFF0829ED889D5A57AC97EA58B6D553098EA86C7036BF6C8C3AAFA976AE66140BBB23F6A51111770ADD263351F24C28413C36E72B6BCE81C0CC0361625A1156FF08C001FA441E50210F759E34C1F915CA0935D407266823DD90AE7D64C9E9AE9269484374B67A43771B65D73CF2814994B72A357FEB9518B7F5916CFFAFC0B42915BEA818663A68CBE7565B2C7F959E123F2AA7964B65E1121B967377A8E3E60116EBC943B1C8D8455CC80E1729D75A0D119012B0E6AACB502D1184B011B04AB770AC34A423520108EBAAD37B36EDC58B3A66D4068F7556E5F0330245066EA7F", .u = "D54A663F", .S = "191499FE9C891E7E4284C1ECFDFC22E9B17506DD2BEC0AA246867D27D55075AEC9EC5D50972511B0A808F3712EE63A70813B2F3B2B7AC4EA59CCC695D33121A0D728B762F22BC0B99E0A92DBC4BD98746BE6DCC4926ECDC26AB16504E5F3453B7531078622F5FB789A6371D2AF71D34999CDC4593031574FA6C1E932DF73EC33A8D34F304D9575A27218C6E893B58BA05E7EE961C362EC4F1EBE4D8B95B8383FF6906DD3749B0D4DECDBAAF12600D1CFBEA02A5F58C6E21CD504636818A9E1A0F6C353CF8C6D7078BCD2A88584501FC7FA41EF19C91215915A1EEE58D166F1754C3432900FEBA9A2D3819EA6BBED85267F994EC642CC717D715E81E20D75DF4716EB6BCA7850670292C0A0D31CB20B1C0ADE21105973E37B857718E7727C49B8F46DF4F1303017B37A456A6CD63CB2D1A9E8B200FCC39CC1CBC9FCBE2AAADC970EB7F662ECF6084ECC44E8943D47F9E970956DF4F928C5F30562FF5D853786FB9FB2DFC9A3F4874A27973F56247A88D1F9FFCFE25E8FC77D7CDCADFE4A1BC184", .K = "E85B15325AD704AE3000647A81A2868AAD1B937CF16F28603CA651D47AAF50C828FE058B40B340C3", .M = "98EF40DFB72285AACD721DFAB59CDE23156C04C6", .HAMK = "4BF6EE918E6A4699FB9FE8DF1D48E0E24CED81BB", }, // RFC2945, Test vector generated with AppleSRP // B has a leading zero { .di = ccsha1_di, .gp = ccsrp_gp_rfc5054_3072, .opt = CCSRP_OPTION_RFC2945_INTERLEAVED, .U = "user", .P = "password", .salt = "321E9868C7B018DC05DC", .k = NULL, .x = "9B6A5BD1D78F64641DFD16E0752B7D5EC3596C80", .v = "5BEED15B697404518AB4466A01CBD088FA4464A8138F02FFAC508F813AD2D69C127A5C88D4E47200F223879DC3DEAB30BD19EACAFFB08BF1485618DD8D12DEC2A1068CFDD16935758A9D0FC18A72E24E27B82AF0BA8F24747A09A7E4B79229E51C9D4CB005E9DD442BD2A08329073E7E79AADE3F697014223115A82FE4F76C6DEAD901022374A73B10FA3CD6FA623D0F55E16F1B57CA830CF14E84A3125FC6D38539032C35E31045D13DF7792D89B661EAD95064E278F0FCA84D913681FCCD3E784475C68441F24EA9D75E8033942967D29449F5E75998A509D8B98535EF53FA3AE1BD5140BFA0C5C544F9B37C1808CE33679B60D57AC93A1041BB9EC9B25AA3C530846D181E076BB0973EC175B000E617FD857E0F3DDA4104EA874637CD018E87918BB7D1607A1720D64E4F4A523858A4792847D46DA51581E9553ACCEE0BA739AA97709571958D42DC0A0D17B626D5DB783C5936B7D712F338EC2B09DF5E714785691CB1600C6918F5052D5C50318C88CE5D51DEB726523AC9BA4DE1D21B03", .a = "602409E3758CB20BB6DAC8729C784E9FC5FE967A312A8CF10ADF2C62342472B5", .b = "BC2FB9192597AE51FB37A43CD034419E8A14FF10221378961DA8E62F78EE71E2", .A = "BA3F5D4C7D17986FA8445478BC634796BE617DD19E0A8DA2770A602B30640EF18E393685C0F59B22727B08BD67E1D95B294C4B13D637445DBE472524EE05F1A8BD8CDE1CEDBFEE84E823DC1413141FD99DEA322B23A38332D750CA868D1FA0773FA3C38F9CA0DF159B40D711CDE31B4BB5BED49FD75934E83E90261021849BEDE7A7FCA18C94C797C0FCA65214F17B7B810CE7A90535DCAD19C2155E3D2E72A85F20E74F4A7B7F0B13E642EF0359A60D0443A94E456A8E3CE46310267736FB8D1A43ACF2D5E306291DCF088BC382FBC339593B0BA937D09D9843B2104504FED2A0A9FF9D99B3D21EC29A1278666294C0CAD2801D24A929A5926D182CCE08180B70BC3DF4D9896AF611622C26B43B806B8BC12197F8924B9C55B5ECBEB7493D7CAF9E9B34C406A931C392018094EE3CE39E30E450DD9FD6329A18F8BCB0575B7F28961729705064B743C631F0FD5B1BB6E57954697B1AB70CDDE5703C91745E98B43EBDE2194D247603590F00123C862D752BAE344647D438A79985B003B4660A", .B = "908EBF3D8A7812DBAD76CF626DE33E7AAA90DE655DD61E525B4E889F57C213CD2DBC7A21F59DBC20BC450216F1E3D67329291AFB97A4ED53F98DACF42E7EBD7CCECED3AFAD7F018EF7AF10053A4285F1BC80B2FC21766595CA39D03159D6DAB4D1EDA73E6BB4A2558704EABE537375578973E8EA42DF5F219B4079B6437C083FEF45933A0F378D8B9296E40453BC35DDF6C3322A15BA8E09D7F2A20C9A7408EC29C1AE3622750E8FEA43892BC929F0CCF1BCD4355488E452BBF6B8A75C7CAEFF08D939DBB4D10952E79110965CE6B1476D37285D88D1E15531404FAB78C85E1B3836E430F2B4DFE7770321FB7B446AF59ECD4664F6C90445D9F118129AF5C266C7E718482C62CF8D5F4CE181EB5B5A116A22EA53BD355D6941D3729E67718404FCE9C4D00EE520238CC62220A5784E2F6C9E78BB7477310A6C6E71D1E21329AA5D9380BCB5351C7C66BEF9B3B2FC759E507D2004FE67B419B6627A1E37CF5EE79AF48EDF09F18F28FA49CF54BEBF645309A7EAB1D5215F5784BEECBA981521", .u = "D41B17C5", .S = "5C90E0833684B45A19D2354EE00F981282A048A3D55A0223FEAC13821196E4E1C2B725604642FBF13EC85829CBAF5DCAD8840A845FEAFDBED66F9B1AA2DD403488A93200B68BB02A3E36E22C6688BE9FC608136671611898B9F74BE3B140762D635D7DD718D9BC9DFBF958EB4FBDB38AB3FDDFDC11F34AF7E15AA36BD75DC70FA9F79ABAA0480D232D9717235F99BF618740945CFE80806A0B21AEAB5DCFC53B7FB78B5A3DDF265021007870993315D924603DA3455F50734EEB51BD0A62BCD63A324A125DD1AF09A3CEE6A10B1899202D79D9902A701355D19C560D26B907338CAB364734965E2425081A87F072A3D1026FF55D8DEBF5955521C87B33358DA4CDC0DE0A628F007B8F4AFF54409C0B43C2459D58CAD634DCC525D4A709A57BE3594847D9B97868CEF3348156DC99154FAD2164AF1AD861909DF41A69AC5DE3FF3CB215A1FD1CC46BD336B710F4C6F5000CE0B7365A6D3974E5B45A2D06743E76888AD786B83DD2149A777259E81E0ED0823CB53FF1439B13F0AD849FE7FC3023", .K = "AC4908E43DE30EC809AEA48555D9A51A3B823806B1D7FC91652C9B485123D6F07A6A3E197491D460", .M = "E936CCB7679A629FF9D5F6C712EF517CBA66C4C3", .HAMK = "CC8C6B2D0047B4D2CBD15C9DA2E756D68A95D13F", }, // RFC2945, Test vector generated with AppleSRP // S has a leading zero { .di = ccsha1_di, .gp = ccsrp_gp_rfc5054_3072, .opt = CCSRP_OPTION_RFC2945_INTERLEAVED, .U = "user", .P = "password", .salt = "B85EC89A4E6D0DF28661", .k = NULL, .x = "FAA0BF41A8E3B6923BAA27DEA225D70CC1218AC", .v = "4EE3AA31265D7425BE7FA401F7FB339C69F3DD9048E2A7E7954C3FFD81F383379E4EA62E2F1B8CE14C185F0F7FE6D9A63D929F1CC3DF299830C95442E0E9BDD995D5C6C5AB13E8F079A5F36094C7B085FE5644E12EA39143F76E8CDB723A60599A1FDC0138B6A1E949167C4EF132E9918A46EB99ED9B740CE34D10EA1B35F8AFAF456B8BA6F8D3828C3CAFCCF8B28BF2F87C9E9D8BCE46C2E2D581D04ED7A07EF0D3B38B3C4D53763051708D78AECEA879B0DF25F85C1A8F04392AEA28629867F0467B9ABEFEE5DE49AC563571C95C13DBD50F3568BCEDD4CDC331BD7DB73C7B7D97A817A085495C0ACB46A4DE72D56FEA01AD931923C60360374E3770344CA68A58F5DFC04151109255ED3E9B55D685AB689C02515A2BECE817299825A4EBBC015FF5EEAEE8CEBA6A5BC3198D9E45126A8DA0D3A4F444CF013748338CC01E3FFC46EC6624A25D33A2630605FFB53E6F3C4FB7A84C6D157018891673D8BFE27D05C2B0ABB1711C812619E649EA9AB34DC78780A54202B071865EA6AA973AAD69", .a = "589847542E22229A9D084AABB401FB47A77ED9ACC196D71EAF3024346215B4CA", .b = "AFC34AE7548B129C6242A7D181F75B50028823E4B628BA9A2A4FEF47B71BA21B", .A = "661DB498B99604413A1578BCDE443376027E9E56516D332D60506DF4189A26FF76C78FC064818FFE6F92E9818F2888606D1FA6374A10DA1A8118B08753E57E217838C78EC2B6552615D7DD769D24A115B70207422960EF3A26D3CE04C05B3AA106C62E5B7242C11CB899B2A5AC068BAFA2E208D7F95EE1DB00E47C0B848DB1A8315EC182E70B3B619B85A7281A07AAE540E3B02D9041DF52F071E98102749803CAC8E877130E1B694916B8CAAF0AAE663BE14639EF4821BFAA0931D5BF0F315D16AAB418402D2041040D9D3A1DCBDA472492A9A18D4DA592EAEE38BE89C0EED4A62F116699E7D0F5479D9FCCB0C60B2D5C2787C7A88A72C8CC1880903C3F0300EB82991FC97B1161F2CFBA7D6D2AB6FF76336B6E8DFC37C16AE388AFEB8AB246E13706EE259E98E608454D29521DB4ED7651D5AEF7145B4A1D2D4B09647E7EE8F5871B12532F8491928D1AE08B33B95DDB5D5B7ED4BD140ADED866E57B57F1ACA534F78CBA87AB06510583FFCFF0202ECE60C15911FE6602176F86D8577193A0", .B = "72E1FB4C93C30A499854896BBE8747FC3194F5C974A69B9BBFDE5F926215E20F0B9FB3D557753F5EE835E74E3697A7C0C9F695CF742159A1A473FDDC1E65493D71F2155E5A61C7C51FF2704952F27406A77C6750880508C39F15230941353993447EE5E0F31E52C7FD2338C4A5B110688FD00803DC73E4B2A4FE87DDD5F78E3D9B31622C4B8F36EEAA12804213A16A94E5538E6B58B30D7BF1682877D88B6EBA554A2879430B61D1E9632DC9F4F35CA2B78D96B1736AF02F42E7807E431F2E25C61AA95BB5D59F110701B9192747C6679A5870E993843AFA7CA6904A60B205BE5955281CECCB1AC474CEB075CF937C54C789054C3E5DA809843BA4F91D553701E524BCCFBDF64E5D63DB4DE0C5088EEB480EC6F35B6831BE8288C960CD718949FC8523F144E95F92D42331E100C83B058A15A904B5CFA91A677897283F63C2ED40052B220C1D75EA1D928D0014C6241D218869A8A619EF515B2F2281BB2D8A070D219135338234F043FC95D1601F5B5B686450B12832B8E2DC541202C2FE0985", .u = "82C82261", .S = "D972BADD9CC73FBBC220099A84C130B5DC3FBB0EC113D350C4ED911B465F8DA0A19DBFE32635D766F9F5E2A51650E90FF91DC113C4EEFE2508C438D6C345FA6E1797118DCA62FF83FBD6E6DFF93B014A56F74088323D8EF84E739E9E40558831F221EB7C81B24B0EE1E48D27B3B094A25B39F7BC009E1A274DDF82DB4B4E32A7E51317D3EBDB013EE9B55024FA9E15766A2C252409D8AC34B691A50B26B50CA860A6DEB3679E87E999E7DFD8ED84131BD4E882E566E9B2F278A2D2EE1260CD6EBE4BECFC92A9AE788458AC41216C4869018A4B5C79C47BA5E92B87F8680EBB92F9CCE55CF7B53FEB5D6EA12713766C945779D80B189ABB3F199651C087BD18AB71FB97A52BF2075B12C81AE5CBD7EDBAB1388DBBA5B88BE74564C3F498744F84E3A580E6171C767F68DACD18E19009F6460FBE57744018C7F07116DCF2E816F202D90C9D97C2EA2B666C38FA829633CBCB9EF3AACA01A43F5638B699369C263B9A76F75E6A471656CDA100E6D50BE325981C2B5C3259489F95EA0020D1191C", .K = "3319FF92DF312758307CDD60A32C9A96AC389FB9483AC3C245C4FC517D24B229711C445D81C3F2A6", .M = "CB176095351D6D8EDAC41F75A7537A144E47DE18", .HAMK = "FAEB703569B9542A733C308C474124AC7D667509", }, // RFC2945, Test vector generated with AppleSRP { .di = ccsha1_di, .gp = ccsrp_gp_rfc5054_4096, .opt = CCSRP_OPTION_RFC2945_INTERLEAVED, .U = "user", .P = "password", .salt = "2934EF8457140A0981DE", .k = NULL, .x = "81019E14574339A48DAD1172C9EDF50F74647BFD", .v = "13BC54A07EA9EF25727A7266017BE946D047B7F25DC4D4893D955A9D3FE0EEB78417FC61163A9C254419421AE460F7D7B59ABC10CB8ACA31845AD66AF6AE8BA76FB93923104505AAF5A6FB90CAD3D0BBF06B3699372622C1049DEDEE1ACC975714D178056C3E4DEB68739CDF7139C71FC1C97B13437751D85EA6DAE0EBA1BED90BE1D75B3FADF837647949F20634F9A63300F399E55D10176555A464FF0169E48EE81FD776236B6092784C6DA516B4BDA2D2FD0487D99E9A2607A0EF46F7B26A13B3C7D2A287B6D38E4DE947FBD66629FA5063C2D6AE336B8AF09787B682B1E9F5B64A616B551E0C1941C88B2ED27D296E4CA2FFB4DCD41534570B6DA87A5D5D236E72C9AC48C04470BE7AF7339063F85CB25823A4577C27EC9AE2A8B0033C25F716DCE8F8C5D6E158564F284FCB66F98E5DCA72A49A9C88F58EB666AC3E406910BA0508E183CCF7D062EC40A30554D6BACC411EF2433CB3E1B2C86FF84A15B023D948139959B98183BD2D7D0A07CB0225CC9646D5A2C1BB1F31B4E20158B647AC339986001725C36F457ABE318D2841A2757ACD5618452E80D773CA1E3DC967A7F4862974B9CACB6742332C907AF5EBA1AD1A32C0901540C9CEAF086EE56A92B08716779FFB8C9CB563DAE34C8C1C3674170EB2CB55141858C6CEE380414ED5ACC5C1838BBC4AA75C0ED87AAED1F5D65B24E4D2F2F11888EA18AF978938DB98", .a = "A087C0322884EDC488E613D792FBE26B4FAD3D037D5BF2E0FD50D5DF241ACA54", .b = "7471D7912AE449718813722007901829666B95DBFFBA37182883A7E87C67225", .A = "320D791849ED93818CE8CD71E8406F8F5C04AB76836A60284F61051985F0FDC09BA44B37A88C14B9703F77EC5B4AF24E7B971BF1C15F83447EE368083218CE22D0752A428E6B03994F21579DB539699CBC9D1442C27E46B602FF198DE510C9CFBFD837BB3A52AFFBFCBFF99F30BA9A12237E45456DD65931622A0664BC67E5475677DC3CD6EE7205936FC4E382827FBE47B02C9116F61408C65F91C12D8484778F5858C1DB03CD04D3B36DD4D2EA148C30FF6B362B53F2891EABF55F39B0F868A3C1454F94B184A0073B56B957DB270D40F8E7E82C94BFCAC7173FFC658656B4B93D4CDFFF3B0C201C5C8E72CD66637B0C56814031C264159AD10ADA287F3B05D6EFB293D252A56286508FA6575F8000B15D800C7B1674C28685EC570831E76BEC4B73D2620E2AFD31804D898C3C98B26E793BF968DB2D6BC7F57C067C6FEC04EB9155A697E3BD03E0998780A9C98555F2C1D5461F2B57FB9A7B7F8AB316EE6B8CD23706A945413925496EF176A66B92529E99B4BBF28BB1DAF902542F28AB09CD5D85775EBB360FD12F67641FA65FBB0FC8896374E387BA53A5255626E2FE9AABCAA40E7D1ACDE8F65FD96752AD601947CB12A110078C25E8407E80D1C9E4F0416A43062CC02F6CBFCA454F3CA426F23441B2AF1A355B65AC9F1ABC8DCBBDDAE91608B1954737EEFFFE324CA9702CA6780DDC2A7FB19FBFD2D6786DE6EA9D4E", .B = "C83FC971E08BFCDC6E6CCA47340FDA58B7EB15FA300269EFE596891D31230F95E4623A0D5520DC359B6CD8B3084C16C8655C1C6AE47E7189E625A4EA309880BE9843A40703B8CF0E0DAD39942BB978F0621CAFAA9F5807C7DFFB62C9264B4B73FE794BD228D179EC0DE1BA36F2CC686625FC9F905DD58B88C6BEA4C002915F5C407DE6C28495FD9DD558A39C354A29882CF75DF018CB4D2B1427FDBF2204B46CB1C1C1B26B3ACE497C6E5ABD1A68A176F72DC8354280CF512A49161462CE0860700934F0240A2173BE6918780860083D51785B24B4746A70B9BEC2C84F938DC7D2790D98583D2B98A41263521F98C0F166E6E19F1C79C89AF33C751068D1CCF4FBA5BADC60DC9AF4DEE944D6E90DAFADBD758F6A0880555A6158E9E01E1DEABCDADDAF999AC30FF95B12689E578AA2956158F8150B3B8BF9956758C2FFF5A997533225005060987E9AF9438CAEFA6359F5E5E83AC25F7ED315158A4FE5A4C295E76D5F3A432A328779F8040601AAC3AED2D0B9F7C03D56E9C1FE50F45D782F5A6AE0E5AEAE40E3A575C4B921B2901FB8B7C6A8AF9AFD1C07FC90369E27C1FBFC34CD35EC83265FC81F41FF82FEF3A6EB1CEBE3B39A5C055D2DA8D76283B2C938BCB58EE6C413A00E50610E284749FE2040A2248E66D879EA407BF9B9669C23506115D50E3DFC11593E30E4ED89A5BCFB1390E8B60BC3AC30BC1B3AFCB055FCA2", .u = "8D64BCC6", .S = "29B6AEC1F7B982CCF311943BA39C66F0A910E1B1D2A70ED8EB0592D670D4394FFAC66B525D990028E6AE4FB84D16C4DA7B6CA1581244E263FDC5AB7F8080C2735BB590EA668D17731927B521EECBC7BFC14F435A97B4AC57BA43F751A89B07414BA15BD48989A70B83298596450F27BA6CAD8691F962934690BABFB3B36B2A97AA6BA31E96DBD7FF00BF6EB9AFB110A33C691AD7B4330357CDBD5B462715742877703736760925E647808B43BA955693006BAF156F24C5B21979D3CDF2190611F6990E64E562E7F3ECC522A84E557F271A9C84DA5E145086536E420A8C85D2F105D53541633602A477B41E61C16BE09F5F91E92B8A26EDE4286227F4993235BD66A4845E699DB5AA254EDBCFC02A4AC710E3216758026654F7E6FA911720B6C26AFCF653141AD987A2D0B87BE1C26AF08E9FA19ADF071149907A825BF19ED3E26504A140FE1E1F53783BC0BF0B538D2E7D8097C331CF88961EEE68B29CE18CA23614743298ECB84B973A5634B18E63B4907A73E1373F3E416C2E9DF5DD387AAE11883418C3B0601BA855F265948E499E5CF6FDAC7A910AAD4DC6B97AD6BD26CA5A6B1998234D80EA2BA227282885368BA259FF0CE79C408F9DC2CE9917D620D32A79A0C9638DE45201DEDCB02909F477474A7CE6A97F18E10C014C14B55CD90A285B9A2FA7C99FA9315CFE6D714A01A9A58ACE7AC6ABEF1DC0CAA7A85E368174", .K = "1A7385CFF310C78387D4388B1267BF3F6922CE72DF83B853F384E6FF2B65638A0B735B926034E135", .M = "10DBD376F615457C926967C80D0054379895D8A6", .HAMK = "DECCE1A402A1CA01F86A38D14516D61DD15B82D6", }, // RFC2945, Test vector generated with AppleSRP { .di = ccsha1_di, .gp = ccsrp_gp_rfc5054_8192, .opt = CCSRP_OPTION_RFC2945_INTERLEAVED, .U = "user", .P = "password", .salt = "57EA641DB1CEB89338E6", .k = NULL, .x = "2FE280EB020EE403DE2DEDBB51E3FF6EA55C8DBF", .v = "F2566703E974C54910E8F8BD012B2BD26B3AB7744FCA15B8B82DFC8C6F60F3339D00EE796B941ACD9D6B74DAEE1119273B8BC9926995BF5F14ECC28F859CA387D83B46C49ACB699ABB6A135B8CAA4E724D9C3598C8755000E237FADBB5CB9151004CE9D18352AC87FFC7E571DF9D8F43FA94218863C53D9DDBD66E9A2ABDED602B1807CEA819E99E7282D7C951E672E3D2BA3CF3D59DB46796FA651A849C55DC48D85E2B240FFFA2D170F498384064932728A8FFFE3B300A9061414FECF13AC542D54544C04A7276F18E548C1DD1219917C2321BF9A59420F727877B9DD2B64BFE012A32E83CA03FA5F0898F0EFBFB081154E43D59A2316DFD5C8699F8372C9D7ED06AA55D4A55D140C02187492B673569294B1B0F80D3A68E1C52E14297AE8692D0CBFFE3A8C93F9E4CA66720C5EC618DE1E4445B1C84D47F83461D32C2065EC0109996BAB373AD0FEF00C3AB61E263EC3F325D8AAAA0D682DA6D97D57984BCF3BF935FEFE2D15E37306054794269F133A95B63822B89E1A9091C18B8682E03D04EBCDDEC88A27255B6336FA9CB479C1D99A0FB46B1FAB4F6A2C83E9B42D97EBB5A2627BA8266FE35D90B11BDF50B66F933BFEA62688C3987D5E31481757D61CE58C85DF814F4ED7B46415903D6239CE25D4A9F64C3EE4DAA96E073F3888C2F8820EED9818D17B8C11031414ABA122E4C5128DFC0FA9F9D2DB272233356C3B47C2BD61E3A8BD0BB9069FE41FBACF1583412C6B43854897975609562AFE00BF94834C2BC591DCAA77ED0F01D631BAF98996CA9A7333ADB6A38534201156B2FBFA63D0487E73AA8837BF4F5304B2C959D2DAECEEF9CDE921430CBDC664859C6358FDE5D0C0AF884C1C4E5402BD4239C763D3741A50DABF4F602DA56B66E3B08A8337BC4DEB7FC1F66A6FB70CE61A33708D2487338C805FADC53A0C8E90B407132630BE8BF7EAE23C16F27127676C4ACE4E94CDB8A0E791FD330D4EFA9C79A915307B370D080FA040CE39BF0440B948885C5B2DF93F5EE02DAD237BCAB0BF77BEB87C0E4C0337A4E792100EE70AEFE1E32B62D5AE90B1F905BA8585BEF4C9905583033852B7C83FAC4AE4D09FAB66FA00BB1E338F44CCFD89A13B164546DC3CAE072F597F460DF4B1A6A8F1249F0ABE62DDC731EBF17371CCAA8F46B6E9C22CEA9A16B0360A5F9036C8E335FC9B85D4A5E801CBF2289561869E390C538457291AB1938FE70AF0FCA24C05510819155F85650DC7ADA9CEE75EA2D9DAE6F7CB7211A98C9B17C5005F44FF2D8BF6F4333F3F4052658DF3A845F10F893B3E5464E06DB64500F76ED871CAFD237FAB23C527A51481FD96706C18EB3BFAC24C8B995A019E1835F72E226A29C786E8A34DEBC8D0E967650443FDEB06274521722947A56DD7699279FACB6F5FD481694F1BA03F25A44D783A618788DE86487AAA908E39102", .a = "A66860ED25FB7A96FA019612F3D6F34DC6DC04CF0104F337CC745F641BB32A2F", .b = "A9BA1116A2462E4887ADD03292931A35D1FECFD8A73B6D37C776D73C32F8413F", .A = "AD0E6173315D482FB88BB783F09A8496432955D9BB412B597C3DE81080F1B30DA3C852ADCCCC769A4B03DCBD6C19A75F94AB95CBFE14B5EEEEB312368955362F87C49D339B6619D4FBE7163167A3187893A1978F2CA395A803AAD7C95D5BC907DEF77533EE4CE203C8B57A8F7C9E6058EBF8BC77E4CB2B7D9B4A305C8F113BBFCA231819EF45D8FDFA4A41AEA38E7522DDE25C4304E752C123EBB2324636E627339B388AF97D9DE229F2356B23FA9E3D8E6BE5A0A2C00AD5D0757B8638A9ECAAD0721D8CF04521220856918BE584325753943413AA13F1453FBF545C110F7F19578FF156C8E354820E55D382B8E99065F7FFF743C547856D187E1E5E7DB64B65372FEE56BF35C341CEF4B6D8E0F87CCD46A52E6E1E0CEBC737FB91059766F89D676B4E756B1A83669DB1A03B14990B6B707F20820B5A28D58B74857CAEAB30E4DDA5A8AC5F4A01CE1AA222CCF4636EC7CE7A8CAA98C375572A8484CB50C79107B7BA32B4F3845A029A9E88F41FFFC4BB0F24D8C1509DF85B72EF584A725B6D87B2E2FE5E0493BB58D10A1935FA3CA049EAC701AFECC7093307A825A479770A40C5FB9E7A808EAF2B3AE65E45A67B00032135EE76CBCD5618B5791A796CACFB930FA65663719162EED84DEBC2BA2DBBAA293207CB846D94F350A31BDF1C945430961623D55D3F8A7E797CBC78094FF04E64D30B703C3B1B71EB6752F9977099F872F39B36D6DDE8F99BAFFC6020856F1A730BE559055A6D48F6E53366708E276D073C87C96C1238CA95216FD3B7220AAB28109BF8107B8503049D90BBBD8C6FA362410738D2C605EA1C462495C6311589BD71C7AD167983EA22D3DB7B0F3D4530551E0854AD50D3B2F556BB01EF4BFCCA918EF25845D5B6762E1036CF6B9D32B5093AD71E4553825B46BD35EE526E07528142E238E7B9CEF19377275E76ACE39B5F7E46C886CAF7168C0C1269AAFCA33924FA68F2993354369F8502AB77FF3ACA6CBE80B9F67189AF0D22A68F689C96A3BA9C93C0F56BF3D7EAB64CA27D2FC83A53AE21569CEBD2D04B5E97D2DD9BD291E5619A0EF4966B268C0D600EA45DCC7EFDA9D1C4DB08A6331D18E3C1291DCE2D3C2B314EA8AB07A1547E7BF105B1FBC583B9BED8BA3E9A14C173E4A7E35472ECABDD851C444EB70831F96A74C33DDC75689AAB57D9F541EB0E93E7CE6CA0CF25B3FCAAA01A9846BCE35AEAE6C143734BBE94D5A33C720174500CB7AA67F21D9FE64DF466644F75299376FECDA75BFA38FCCFD8DCE3F2C5D10445DFB2002264ED7D5753E7FF9D3AF9247BF43250246F9B5F96E8D10B19D42381E78B196A12F1776388EEEA84A4017295CBBF90633F98F2DA7B52BADEDDA950CCF374C43A88AA0660ED7708B3D8A0652F2DFAD6D6489FE6989360FBEFB0C17425D18C7B4D7991FA65499DE820397E26B542752E063BBD59", .B = "66BCB34BFEB272AB5F36B3EDB2A8448A6AD87413C74699950ED2DC01CE8137C1EA5B0DCEC755CE95F1F620C5DF814D1EB6FB570FD29F9A72FE4FD21AEC475708F2D21FE2F1E517C482397E76FB1BF1635BC210C2F3FA7DBF10BDF599AE89CDBFDAC52CBCD3A860039EECA9414A6C8097C75179F37BB9671FD8F64F666D39050FEDEC7CCEC0B9F0CAD3AFF4AA6BF5649FEF35873C2EF95608948E4B19153235A827CF9DC833FEF2ACDC3B48B0989DFAFA5CBF9E9B3B1E09B281AC7D4482CA1029CC3F1B1F2D0240B21145DD97DAC0C4FF4301B2C1A82F3A421FE8C91B2CB4AC459BF1644F5E57C740C4062F4E321D6F05B44A1FBAE4724CCDD0CA13E81F4F5F4F77A337CE6624CC817A9C8C1E0C71C218D10EE3FCB3EFC1E0F40E914A0E1250E5FF90449FCD208EFF1CC040A0086B9F3530A7F852433D2EFEC5F35C9A0281395F3DEADD090039F7AD064D1FB828173A25DDDC607F2055A5803247A477D6125CA5D19BB161F374A197C815EA0B06D0B1ABFB7CC05256FA7C5B55593AFBBAE384EAC4F3BFBE98C55CE803B079019CE2F151A08026BF642A5DDE3498EBD3A71569C10E34DD006A4665E45B46E068B0ABA025DE3A5D0963161C48C25F443D65737E6EF4D9AF2CC23A64AC96032CB3A334A13CEEF8379A5DFF9AAE82F9496CB1D4E9D3D919D0D7D3CFB7FF200DEFD89120A5A477B52CE1EC89DB4CB1C9A41DFD47775B82F57C841C721DFE7973D814BCA31278740DAB05AE5735D1A4A934EEEA1D58E268E8097D4A555CC61286F96369DEC5B500264001B7A7FBA1ABD0D20926E354ECAB5C15C604B717F12FD00A6622A262E2CECE3A531F0BD5C2256111EEF54275B2E46ED59D212D6C2EEBA6EC177DF4A2AF48F554DB481FF2925636F89EB4DCB4C70E132338F772FAB135DBAC450CC90FC47FA2638D681DDAEE0EBC64231B1B771F7FFEC8388BE613E2475E3AE0661A7097B87BAB6A756FCECBD411520EEF91C2ECE8E340E85D598A0BF6F22F6E2C7223225DFBA54C4084BB1668100906C4BFE4148557994779BFFACDB389D74FABC9C38898445372512B71EC177525EF4E74725A1659140E6816C7D2900DC403FC3C3011C577E92C4B7AB0576EB6DE8B9187A59DEC0B8A98219594EAF0101E5244AF4B43DAE549A8AC9C4272662C8C90EEE84AAECD8DDE3F7695C7CF1562DA2CA396CAF8FDCC106C48CF8F7C5314C56B8EF1AA8947B70EA0E1579D2782FF4C7F5D145C543C3932198C5689455B63ECDCA33039E33EDA8A0FC011E89084336EDB7E8BF1B4782F25F5F4DBC581B26FEC811FC1BFDE516376E67CE8CBF8D5D62B273CB83E1E37C687E2371976A82147DE3B69FDEA1575EEE4257551B3F13CF0B0EF0516B444ABA10CB76C8EE37733C217A63FF83352A5E3D9C241529ED207920EF91898A6F6F46160CA03FD2013825F8544CD337CF2", .u = "877A3F3B", .S = "8D6B130D33EADB985264876DC7B8FD9357CBEE62EDEC0F7E0C9F830322305A60ECBFCFD806309E2D8CCA345EA4EBB3513B18B5992F20FD3BAD21781FA58A9FBE35BD08B28F819D8E142A774E9B7814E1F298A7D6D83BB84758E37DA36ABDF29E2B3B1775E4B28AC586D442F51A1A75E5772AEBB7554365DCF8CA1B8D0D4A38A53827C463B6A7425B7CBA8EB3D56FD9D9DC44CF3A83CCA3C54D3731228CC02C0AA8B30BB2D6A6399776A73946353C9DC65EBE7C57BE16C07F3D6E43D984FD34107F88F8568FBC602FC617EF7A223582C376151DD78271AA683E8ACC7AD606388AC8A1149609FA847441DD9C6F9F66F42E2DCEDAB78BA54FE7BB5990393C1A000DF9D521009DD36A809BB2467836989BD6E88858B2EBFF38A061B60B55316DFCDD6385C22CD05224693F77A244880908CC67193D99C2BC2CFD6AA23104AE81A2329B403E1396B6453406DB7F77A62DBB05C5FAD43F0D1E368D7B8DCE9C9BAD5A57046C66473EF83BB479D5D897D76656AF3ED09ED655D7229F1F3B610C13BB62030CDCFE4947A6D1AB34E92B9805FECA651312B4778E101EC5F8A4E520DB23FC77908B24A9483EED582321DA8F2DA900722A7FAA54C6A0C7BE5BD34FEA752471E8C68478474E65D7A131E46C59B93F13A9F299EEB9FFD5243C0CB29E0ACD6369C1A4B9D0EEE7040748BA904621DD7EA7D0C6C8F053BD21266B35C52D1A1710F40D54E89DD6A8B18A5A0F6F50B5FB8B979CB15177B9AD5034AE0085F486B78D1AAB45F57E3097CC8826B7662E43FD7D0BD6728576E3E3A39EDE561F6255BF4131ACD89AFA3B65000EE183208C71A56D210B484C1E2D4C8ECDA1990B3CAFDD610D810F17BF37158FF87FCEFA52281A713571F23F1F92FAF7C538225475E20412F64A883317AF32B4E2BA2A77D9FD3521CC19FC0DE2EB043119FDA74576658DF6B33B7A8F0226318CA7E871E40C3AE6FEBD1D7E3069B29DC2409A3FEEB82DF6AB147EA2D37776F5D92691C6F3129E35DCF303312800DDCCA7DA5F8BF1128D47552D2F771E0B93A71E1E3200D0EE7E94CB0B7CFB2E99A8C6A65D1BEBA6CAEC0C86E9616BB96DC0E68E83B834E37B5BC81ED7373B56C3F276BE7BE40D0340E7A374269B1D9BCB3FDB86BDC7016A6EE568032C6C2133B3D6CC53A1837CD8131D55A7660A6651925D40BC6ED3CEBB066B6126364668D6234D0F6F6DEF84B56B6D5E305CFFD67E25F58904A573F1912A73E7CF8336589AED1F69037F92FBD8982E57C31E7DCC0989B7DD078B91E873B9C951EB3FD86994020BDBE6DEC2776412154F855F869AD84A25C4CA18E83244D56FBDDF1E0C67DB68262AB0369BF09BF89FD5E1FE07DC33A392992B063990F91B06C3D9DBE9034F982C20ED6BE14A63D22104681AEB9F5689146D4DA3281F84F7A3B5CB71D0B5DAF04C7E9CA7B60BF1DCFBF5B8D8F", .K = "655927B7F77FEE24C7D0D26BCBAA528DC280F5EDB82D6760C01F70F26BF5109D2B672E5DFCCC3E60", .M = "9BEA4E5394D3D64E41D4E459D4FD32660DADA543", .HAMK = "4B0104478317CF04D1ED04A9A2B71FEDE17614A", }, // SRP6a, Test vector generated with AppleSRP { .di = ccsha1_di, .gp = ccsrp_gp_rfc5054_3072, .opt = CCSRP_OPTION_SRP6a_MGF1, .U = "user", .P = "password", .salt = "D0891B05C9C016424C22", .k = "C2FD8F8B274FA634EFD702BD22FB6C1218D9F2A0", .x = "C9938F79B38452A5BDFE00824FC06B6587D203CA", .v = "8635B1F288ED702C65FE7D6B55B37F8EA002F8ADC04EC31E9A2C2646F09A2B6ADF8D9D4636755B8387D435E587A0F4DB9ABEA0FF2CCAD995794C8B396167A31E9C5FDC763F46784EC10DC772A8E4EDEC74FE82AC7472799C69468DA9C886C95CE87E3D0D37C9763E17E22D2D8D8D3BFA603923C334FC3223B7B48003E9CA2D9D5B83289978F99C3CFB56F9467CA71D424EFF463C69C5B658D6F84338DC2291D65FC85E8A682AA0F620587F971E51774417FB1DDBBBE7B7415CC1846D10527B3F12909D93BC05B9A21F0FE4FCB03CC99646B2A01F6F33156A25585CE98E5203313B05D920D0813B65B17C18A9F1B2CA56D552F5050FF8DD22841B8B78998215D0226213B6C01AAF9629D28A05E38DC0F2DF59A4462FD3FDFEC69DE02D176AEDB77D2E6AB05B9AC77D0C1495633D4F4BECBD88A7E7D79462CD1DC846B15760371E273558B356F6C7EA133FE7EBB428A57EE986FFE6535057D6F52E442A57DB27CD6C1F931848ACF73254B5CA0BA733AD39734353F3F21DBA21BF3573F55660D986", .a = "62F4467D0DE51E625726A9C6B9BBA251595841576A13DA1CA1544F1D3A4DB32A", .b = "BA5F9422AE20617BDFC512E9281AD7567A88B8F82D182F89343D8974C258EE35", .A = "8C8AD22F28AB75A4D527B7E449751CF01AF4C8B6A8B4F3BE941703A9468E4AC785C06A43249BCA831296990DBBDE495417CE43EDCEE7A918AF338539EBE08786212670AC8EB14A0A191DB99F0F6ED038C669C5ECE04B883877C793FA8CB1595710B6D2E4455FBA4415E722BF14FF3800903BE1C601B140E2DA973957656F75D858AC4C4867DEFA9303B81D410E5CBCE44A7F5F42E30CEEF08B19C59F8607D61CB4C5F53402800C7FC6473A76CEF2ED296F3110AD5EFB8708A461D137B4C8FDF81058364FCA9C63B1E2B574C9B0F818A0460F882CAAEE70EA99BEC3505C29E38F6D57F665029D1D2BD551C3EA5BCA29DBACB61BDF2A05ECE101D8AFDFFCEF29D84771030D2CE7AAF2316A23F423018E1F95FB191A86C76F73CA26082A8B59DFE9C6B59FB3CC4B951375209CDC9FB0BB9379208C1B047C5FD78F9F09DE87D82611B5E9077E2B14966B36709A7A040F206A8CB35ED694E4EEC926E5EBC09E2884D4278BE2A37C1D893CD653B917ECB253332B9CE782166359C4C89BE8E04AEE63AF", .B = "EE37D8A9954D30B5D4FD0CCE4658C3FB64376F4D6A4ED79EE6926F375A1111971540E7189269A6275B4EDD84F27FD65907CE973E27D6A4CBBD0EF43E5301EFAF2F5BC36CD32A1550856B50C04F11D982789BB4E18EBBD608A2EFC50C39556561D086540C5EA7EABEB3D9FEEE5D12061FEB706BDCA1B4BA5C0C12CB87EC97D2B24695176A9718FE362BEEE9C1BE51C6BBDC9D58A55FB16D141A397DB36DA12959F712E6955281F9372E5D10BBE90DA9E296FC04989023F73F877516B15C9ACD6E32764CB04007B4034F237E961B4E68247B3E61EC314B4F20B5D41B7011305E609EC4CB0B5DE227B481DF4CA5B090282B5A353C57247947A401DDD133296A81D8EBCA7433FB5683935D3BFE09B9D3873EA8797ACD8E2BD3FF45ADB7FC2F3511F6379F42B8FE21FA67B269DD00B11C17C601F303C4EDE643F22F6591077FD85DC9058C0452486F8BF120529FF1D4CD0A0E933DFA608D15DD74F744AFCB8FCE1FDBBAEE9F1EA67DFC8DD67B1294E7A7D7768003BAD2662DBF03B6692DB1204874DA", .u = "29736CD299FB2E73D315DD94EDEB91BE39C0B938", .S = "456A1F0B059C6D0F2445A1FC3C32190C3C8BB305F9C074BE90E92FFC8F75D9B9BAC4997E6B56CBC44E320D400CFA98C793E02C316EECF8262AE24245586FAB3791DE1B46F37D06ED4D7355BE6BF0AAB1254C022F00B2A1604F11EBEC8CD6E700EF752BCDB6B3E66148F616C4B8A8432A7DA0577B8F0D422076874FD317790473D33E934D0BCA12C8E081A399D9E08CF298852AF960407609E90264598B3A391625ABFD9203433190E14319BFAA1C0DF529602E2661B154B08A80397934C17EE133FB903B59C9E8539616E28B8EE66CDFE93B1724190ED8478145B32D9B7CA63574BD4B7A73FC2F81A5F73DBE3D85108C61CE57B4BA2B15FC6174121EF1068C5BACD404EC227EA3F515CEC9D3490AD4CB99AB15BFA5AD8B4BAF9D7211D35604ABA7C556628020CD15A31713D5123A481D78F7D3C499D438415FA2A9DABDAE888FA713F430EFEA0B394BCC1596B9C3B864B0A7000D0137FADD0CA4F96D7C93B475DC037EF66B9DFE1F1FF2E5BA87D9408054D33A5A2D53DF12CE08C1B6621D5C14", .K = "EDAEE8EBCCBFE70CE72A6BAFB084FDFBFA9B95B3CA39AEC6709273EC0FB37C28E752D99777D60F79", .M = "165E00765D984CBAA4FAF47A0EA6F4D6B90C379", .HAMK = "9457F6E035710C087742170F9026D4C199F3AF87", }, // SRP6a, Test vector generated with AppleSRP // A has a leading zero { .di = ccsha1_di, .gp = ccsrp_gp_rfc5054_3072, .opt = CCSRP_OPTION_SRP6a_MGF1, .U = "user", .P = "password", .salt = "5DBBC921A96A2F1A4FD0", .k = "C2FD8F8B274FA634EFD702BD22FB6C1218D9F2A0", .x = "1F6A44C7BBEAB7C8BA9EF0FE3A68407A7FF83F6A", .v = "E7F46D3C5E8FE181CF0F9765C57A563916FD88441E2D925AB092714F85574404DA78B040B50737B523A0A05143C77D4F6703D908CC0A12E534DB8CF5A61B455EF969222A3FAE4C2D1C566B7849FB0CDBEEF08774578D7D3FEEE702EEEB9ED54A2B0B937008674B68439053A9F62F71CDD729B769BB7C411B9DDCA63B3E54E4FC5D65848194BF205C35A35ACE5367413F9745716948031B8EA437DABDF618333F82AB911C361FDD5DC0E74782696106214ACDE93F96BA7EAC2CE3BBF7274733E53CD67887CAEB1CCB3E3A667F298132A4B03CE4D2ABEA53820AF0F9B674BE712157E0AC54FDC22C0388383B8C73D62189FAC4CBC5C4F2CB7178089ECCE2D57BC186720221E9567A7ED10AA6A14A143311DA75C3F3C52C0B3146EE690D4B0CE8425BC4F58AB4C6194FB8C49749B63AAF172714EA008C07C1B9389089F6CF524960CB7C89AD38FB2103388C47695FF719EBE5EC5D4598C3B91F85B63A4D18FC87AD86CBAE1D2142493E4245EF1AA75F152533DBDC491CEF431F7660E08EFD64FBB1", .a = "6A17A7B944332793269D4D171BB0BF42F30BE6E4ECEAE7DC886593B2446FF6C6", .b = "8ED44703A3919874B779EA3C332A5F0C2832E21001F20B5FDE8A3FD5C4F114A8", .A = "7AA29A18422C9BBD585AFD1C77DC577BE8D4801714B7A3FD142C37B3D320E8FCDE0109C44A7C4DC5B2EB78E48D0482B328BAC71F59254A9E345001A184ACD47EA44229DA944D3084423F0703100037AEFE8CEB03D78D28C319833A80702E8D9F40A99C35B591A267BAA0C488808D8454CF115CE517563E631C7B7FA1FBA4521FA65ECDEDDAC0B9FD3F94FA8B67E5AE16268E4681197987464FC9D075DA28FE8207E77591DD16A66FC0558230EEF192C530FBE40133FFFAD892964F62331557DE54166A195CF7DC89D7D5C04AAB78F712F7BA1A8162C4D051BF6C4FDB5A4D194C687073F7ADD152BD43701FEDDBAD8D7557A9FC250C4DF690FCED6652CBE4C48418BF6037A0CA100EBC9F67C0761F7CAA2C39FA1C201E86F5D14B257F1B03DDB99D850FF7C242A037193A2B6E2703D5782FD97109D4C35FF587043451F439908E1CB9DF64637A8368C4CFD591B4248422AB0850B5FD0A4A977332B07A997611DC8C59869260D41848F072FB1E462863FE81A00345EE21151DDF88E344F1156C", .B = "ADAC78386D0F640D6A1990728AC33ABF175C54FBDFCE2E2E66A451F1E76FA94FAC1201453E122D214B5B8A99520AEAB2C54C11157C90C4A0BBCA69270CA7A6E0178D5F70BC23D84715CDE9034D8293CA97686CB061BE488C9A6FCBC9F36EC8AA2E6B04F1AD72D71924B9E846C596DCB39E6CAA45157A144E92285DB48DE2B6B96597FAF09082AEB22C84D905065E7B82FCC9E13CE5E42C55B7E1ECFB950B7C09EAE38620AC6444C26F323D37CD5FF4FB4249C96D9DE7018FAF6E77630E58350BD96538722F146FB3B8A055473CC99DB21044EBE5AD74A06AF86B4974C9F20AFF4DAB1DC7C19E449671E0F9C1E8F10BFB4D9F0D059C602A15DE8F43590940AFEE5DED79207C8323B30C6E8EF42273259B16F9CB567E2841C6AE283832DAB31CC930772D6198E687823828BF5626BF060A4C00F369FA6C0DA64357FFEDD67CEF318534B2B8C44DAD2ADB62C98070FD8051234E3C8C8588202A56C8D42D66189699DDB4F853849A7C4EF8942B9770C5CB6852CD329A9C9F13BD6002140087B63AED", .u = "F1CD3A4DA015117F4B08A573FB65827BF073AA8A", .S = "49F1E3C7A982DA022C4D3F47D6073FA90BA752081D1A421A23016139FE72E5E75F8F83AB26B4B77E9CD94E82D0563EF5AAD58490CF1BAAA1F0B85892CD29FB5EB698D7693341D8E8702A501766CAE18559F8E52F3143D18BDE2C540B9EED83E412F59CD8B2A67ABA5E659E144AD19674805CC1A702D8B2CDA9F6E1518FF25479307C1B116ADAEFDA5AF460C6B3B61C04D84A4C0F1073EFF39440A717D2CF3485A8D6C8C9A78F6B9014B2DC66351746B1EDE4D21DD5632A791C092A32C3654340A7C62E66C3A85B04DE3FBEC411CC1D39E0FAC5F5E0D4D7555EABBFDB4897288CA302E18656F87E15D47F6658D5B10DC1E3456FFAFB0EAA03DA388FF97118B96E0E75991F67C8B1B9958DC4F599958D993872592E3D26D352C2F49DFA0A62AD3978553A3A9BE41E1415CF23E6E40E3EA6B2BB7DE9D58DC3F215201ED612C8C456B8A38EC5340974045DF510FC5F0B7E2AFA28BE9B525983325CD851A6891C1B624F493B9C83F12F4ADA3AF4E7CAF2A39D3ECC14EF8D7AAC331FC7D0FF739BEAFF", .K = "A287C070CD6229E3E797686DCB27FB5A4F86EF467F0702C8345676C2A3766C01FA11AA09AAC0757B", .M = "C56600DE1FA63E3F40D70CC5AC4F5EFF46A87773", .HAMK = "4B41C6E530FE4807C31376B75114D88D7454B235", }, // SRP6a, Test vector generated with AppleSRP // B has a leading zero { .di = ccsha1_di, .gp = ccsrp_gp_rfc5054_3072, .opt = CCSRP_OPTION_SRP6a_MGF1, .U = "user", .P = "password", .salt = "F4DAC3342DB74C063254", .k = "C2FD8F8B274FA634EFD702BD22FB6C1218D9F2A0", .x = "24BB18CC066AA1E42A9339F48AE9F0C3C12B30C2", .v = "E2A6180653302512264A4496C33F4D1C47DFE7FFCC50120BE90F1E3ED052AA7626AF1AA24975DAE84FC3AA079F0AF6E21758587F5F135A9BBDF63C678F7C1D18EBE6010C69A6B4008DCD3AEF996241BBF12ACB9E176DD3406DA5D3E7C8FA42E2DB20E0530E41F11589D54761B6BF48CD74B8B289BE01EBAB0CA6D8E9BFB510AAEF2E31BBC704A20E602940CD0434C8F40A14D6B0F54F6B97263AA8658B4291E24C63B2AA26603A0D9BC4536F9E6F508E2679B312DB93116254927FD96ED4DD5C9E82EDF4828B5BD69AF3043E8ED0BC30CE2B53F36F41669431FCC206E1ECE1B999FBFDA2BE273C0C647838C42F973172EEB725B26442CBC2F7DAF04C0B507C2274070C123B4681F4A7FB77E0875477BBEF88AC1B9FB2BD5B45D89529E1DADFE53E875165B71E2E34CCE65DC00CA09E1A471DE3E08B68E11805E9E3F6E9D6E4E7541B913E979CC4C54E077EC77F347ED27639C188E2D4788EC170D53CE9EE29AF61F710835416330F38CC1260C1B40B98068FE00D2A38EC2316D41DFAC8B0DAC6", .a = "3A665363AEBB8DCBB47C9EAC105942310D98CEF77159F03BDF5DD196772A2DDE", .b = "63A166EE8BCDCC8C26ABE13F0DFA06C23DC6C2F034101A4718CD99D52D4E7677", .A = "61B0F7CC20A28DDD552718D0E22788E5906A99DFE9F0FE0C1A76666701D409C0C879FDFEF995184E19162A771340851D843BF79AFFA7916D3E40DD956DF25CDACAF2960F2C07CC15B3A9E761A6E26EE9C870FB4E0ED185569A0F2BCADA6643AEB873946A0778BC4DB117E81F90CECEC9F62EBB2CE6388CC6FD6EB3CA6557BC908AFE36EA6C4525374387B9AC793340B47299D16FF46D980B4443D6225699B9DBEB91FCF6B23170228A56583148B59FE486E4B4A8245016C9FE6B26F79B7D310A29772C020CD29580CDDB20A864C44147D6EFD82667E8746B0F6D8931592DBD69DA8B2315A3F63657F9ACE6A4A0DE653E98EAAC789B5B268372F95E448801154434883100EFA3A3D6BE68B376F427DC03F7F97B31F777B63D6FF2DD010C418D30435406FCC9D23430A4279CA60433A7E66462ADEEBE2CA819F9E87A940D7B7875210FAD88DCCDBBBB176830E3B7A3A6C768214693A917D7FD3DD8CEF46A91DE9613A7136202030CAB510CA3CAFD77116A730C69FB06D6B19748121A2B37AF72FC", .B = "4D999D0651D493B9FBAF3D26AB1FC0B1C8301CC607C1B6916DF4445FE5BF6D1E57B9F5386B61F9064F4446FADB8F560990EFDE34BBFA853E06B5EA1BED8C8CA98B6DC19EDD85163E125E8B5AF5B763CD07B58AF3C58F5976EAC3767FD39CB3E0E9C0446CFEFBD03FBAE1606D1FBF75E89E6D936A2CEE8A75D876425EEA07CD7FADDB26BAA80DDB5B36E863E6FD747468511C5AFAE841FB4601F2141EE6AC73AF519688A2290FED5791F840279611FF0C0D83399D34C055D2751DBAD193CB9A632D3A35D174CBDF22617A0F36B81EA93038C67E9CD72DE6B8A544D7B33D0CF171E2C096A55C8C9A00BC84CFD63BD2E8E6DBA22A4EDFB4E25B8A874FAE9D4EEDFC5410CD3CB2D69B5F2F2EFFF2875400680B1D6E94FB6D57105425579E080A5C56DB432FA613C9A16DE14A709DBCFB5233A41350F0B34F8F6E60B9DD4488701C6D0D8B4AC21BD96884870AC87EC5C0338198962DC639F08EA411F4AE6F8A83EAF617B45CF576FE95D7A41F3B681FD611130780005AC253BA719532715B71BE7A", .u = "439F72469E57F8CE3D45BD35328CAD8F608257C2", .S = "592722FCCA0FBB33D74F3F61BEF4A23C3FCCC0836C41A846F6E11666CB5814B20B1EB2B43B5D0494AE3C48B64EF64EF06D33A3457F655D87EC48A06F3B916F8F539959DC8A2D1B637686544DA99DB623D493A653F9A6B5C03ABBC97FC0DBCCE2BC305C56B0D069171015D8BC53462BD581323ACFB8EC252242D65564EB4176A182EB5C8561503762D0D3F8D90866B1A98D78D5FB20A8B5B53FBA8B07B05E65DDC3A964E0D918572C9DB42228DDDCE8152FF15B092200630B147EB584A1F39A95E383AF7E5B154DAD64E58F48055073639AF4D9345E04BDA45FCFEAC1964EF1823C1C3842A872BDF3910EA5C2988CFF3119B80EAB03F316646B83C687518934B90D514D5A27B927F93661E4F43E85FEC07466FDAC6D9CFC8780C6EBEADF62E6FA7542C8C271EB7D9D1FA6135465A77F398336DFD072237D9C667306CA48A127242189A4D1659031E451E6DE4CA60783C62DE592398F1BD81B1FE286410F0064CA974727D9738AFEF08C46E1CCA5C3104387DF300EAE5C8672166983CB3DD5DE7F", .K = "26CFDC083BEBDEBA6A51133BBDB924AC05A0D4AF2054E4925B2938196EEE2E1B8DFE6087C1EAAEA4", .M = "5801A221C1E89FDCB2368B3B86D0879A08FB6B1C", .HAMK = "BC82E6DE63E9C8D83D0EE0BE927C641E914B8BAB", }, // SRP6a, Test vector generated with AppleSRP // S has a leading zero { .di = ccsha1_di, .gp = ccsrp_gp_rfc5054_3072, .opt = CCSRP_OPTION_SRP6a_MGF1, .U = "user", .P = "password", .salt = "9361CF3668129012441B", .k = "C2FD8F8B274FA634EFD702BD22FB6C1218D9F2A0", .x = "C2EAE8BD7EED1E343411988B7184C7408BF6951", .v = "4CF6D619555EA254CB9824E6BC5262F6F3A16FEB7495DC782B9FA0226CC8A06A928DF2E6D1A8147212CE0082421DDFB934ABE1AB3DC4B582EC78294DE4CF3385EDC39BF7640E96B26A8AD5617A1B68B2CD453703C789B954C592ED305C843712DF2F3652F34CA5F682A42480F8438DF88F85D4E8E17E23CC7F3E32D4F1D5EA19BF19EF69AB9457BE91F60816BEEAF5E173BA37913D0BC06E4418F629C45F8CE0896115762F8FC7C9D7AC74F704B9089D4AF8BA81A22CA2274A0C1C0AC6C969F299C7C8227F1679B7EFB259C3373F6DF734281039A0347ED29E18D92A3E8A04D12352250E290147DC7F90A925474BEC75683D33EB003583918C3B5894A07C8D3CB96334667787D25428514D8F4361FC1BFD62007E66EC89F8C1AA8DB67DABC5E2981453838D707761BF4B00B54FDE3C628E364C668350B16E28CC97D7AE6AAF19DDF9B351F1A57246672318C2B5F966A610A79D131EF0BE1AF3657C8854B209A5E5A61D080B958148243C1F2628AC80B484CE0872123097674B155545E01EE120", .a = "464CAAF63C2523771C8891A65E247D98385E5E896FB38B8743F5E9D28C42F434", .b = "AD20100D6C5EAB00A234874256A8BE29CB171F013165B419D4EF3C9E1E42830C", .A = "7E74C0EAD05537B521A24E2AC7CF4B665A9346A799F53E2926741EC9671F038005263257831969AEDFEFFA050B842658FF515E83D3DB85043BCDE4F15DCD38515502339D8BC726CE2D8E57FC56F7292B0D114450D1922A217F312384DC21A3617619673C2EDA7EE0524484D8457D7D68B48F80C4A668722672DEA359311A4EDD014A538A23C215D58CC3995BFA328525935E649DAD4BDD2BB3201949E867D743DF324CB8D4CE70A498D9C255F6E3D54239B0E2C7A9B9698376190B876EEB45AC37F890A48A9D3DA338292C83ED8F014895812DD69420F05C106845825730FFB54E57DE908A3DBEEEC287066646DAD926DE0B3B75D810E0A5615CE5163E2D94693D1A79BC04AB65B1BA1DEA1A76A3EC37B8BC8FBA2820E0D6F68D5C0AAB8DBBBD9135240AC8EDE3962176C48D886A536C24E26DC261A31FE9E7551E7BD7A96BB4FB3217AE7F06EACA6A755EBD37A6B666F9E0D5B369CF7CF72A68FE1DCC99A2B88717D5FFE16DC108675255E4F78DBF22B04ED62B5E872A35AEABCDAA42DCFB9", .B = "971156BF1FFDEC1BDF3789FD0D9834257944BA19D15AEB0562EFB0E82566BF9809EC532E31B26BAA2162CFED027BC4F567B9D64472FE0473E828AC1A3C1952C4F6FB2CBA061A03F8489D8266AC5B2DB3497EBA32A533C4F98AD6D3A4014826CF14D9D3B072DC324619FED27459EED6C032A200FDB155D9A7DFA7A17E5FED4074BF468E3DA97415ED0B2650A104D3FE17B073A02C02EC077BF72CC5D91122AD159F68E13BD216EEB0C3853C24D6FC502970A36C52DE87FA201300981FC0C0DF5487EBF3FBD311F88A891FE186D8105A70A00E9065020E888323AD8371C0D15A05D9B468AE4E321A6896CA22CA5901D21A9A408AA6A89F34AFB86FEE8E6615C22C5F3B59C06618E0F59C9F0B886C2E095C7410486DE8706BE310D797672FFCF8719896A6D00C9EF5BB2622FFC55A178CD0565050D859D93E90F0D9B72456906AD0E6784045955D870C996AD17218F6D5EA61C3984E5268D33EACB940DA4A6F9DDFB9032F5BE1669248D44AF80E371609D4E750411E987BF2AD9D2B83962D5B5726", .u = "56E8E31874093FD6D2B91A66FBF174084B38C08F", .S = "61CEA1FD1C6C1D7EBA2F58EF2ABF278B1A52168552AB90B68401DE16A8B05D51C79EF0DF36E9A19059AE19230F9246E09159B256B15A795CDFF6FCED4AB6ED5C124D092E1697454142686F8A90648003B28199D2771E4C96F76C3EAD719196B354ADB970A351BAE80B8F44FBB24A21F74A4CD26AC73B647204B06BDE5F03F919723519CED344E8B440806ADC638462E0A06673F35EA9B1C48015D487868CED54E8D65885C211E923087C76866F0F834810C609F92E7D90EC989DD7A5107093CF68856DF3929E9D7D619DC75C66BCFBC8F173BD74E3003FC4A50C063A7CDD00474BF5558CDFD6A60F07F1BDD5F8656FE69AA3C0DF359F2247F9CEB077DA1E62951EABFF827849747E8D741C3FC59586F09B687B6D8C9F3F4D0649A2B7E04C67724BA2B8F87BDB70D57ECB330A0186559352DBC6D925D1823A4769E1D598356E2BB730F5801EB2AFD192CCFBF0808F89CCD3E1DB78A4FD5AB8546AB243F65E667E1944EAD35DE6110C7D8208A8282332D1A91A909BCE791C8CC6669E04A44614", .K = "4DD1EC208ABA0E48A21199D25C4F20DEDA16EB199CCE0A57BBD3D47D1F34C41D540C4D599671D3FE", .M = "79473CF49BF31B91A29CD84B8293FF3CFB3264DA", .HAMK = "EBFD7C708CFB476BE137C4E0964A143AEA7030C5", }, // SRP6a, Test vector generated with AppleSRP { .di = ccsha1_di, .gp = ccsrp_gp_rfc5054_4096, .opt = CCSRP_OPTION_SRP6a_MGF1, .U = "user", .P = "password", .salt = "2934EF8457140A0981DE", .k = "A521694605810C01ABDFA01FD6207173A56178E9", .x = "81019E14574339A48DAD1172C9EDF50F74647BFD", .v = "13BC54A07EA9EF25727A7266017BE946D047B7F25DC4D4893D955A9D3FE0EEB78417FC61163A9C254419421AE460F7D7B59ABC10CB8ACA31845AD66AF6AE8BA76FB93923104505AAF5A6FB90CAD3D0BBF06B3699372622C1049DEDEE1ACC975714D178056C3E4DEB68739CDF7139C71FC1C97B13437751D85EA6DAE0EBA1BED90BE1D75B3FADF837647949F20634F9A63300F399E55D10176555A464FF0169E48EE81FD776236B6092784C6DA516B4BDA2D2FD0487D99E9A2607A0EF46F7B26A13B3C7D2A287B6D38E4DE947FBD66629FA5063C2D6AE336B8AF09787B682B1E9F5B64A616B551E0C1941C88B2ED27D296E4CA2FFB4DCD41534570B6DA87A5D5D236E72C9AC48C04470BE7AF7339063F85CB25823A4577C27EC9AE2A8B0033C25F716DCE8F8C5D6E158564F284FCB66F98E5DCA72A49A9C88F58EB666AC3E406910BA0508E183CCF7D062EC40A30554D6BACC411EF2433CB3E1B2C86FF84A15B023D948139959B98183BD2D7D0A07CB0225CC9646D5A2C1BB1F31B4E20158B647AC339986001725C36F457ABE318D2841A2757ACD5618452E80D773CA1E3DC967A7F4862974B9CACB6742332C907AF5EBA1AD1A32C0901540C9CEAF086EE56A92B08716779FFB8C9CB563DAE34C8C1C3674170EB2CB55141858C6CEE380414ED5ACC5C1838BBC4AA75C0ED87AAED1F5D65B24E4D2F2F11888EA18AF978938DB98", .a = "2BB2E28E17D9D308A90A6A6BC567F6F7C303F1D9046A3045939B2E7BC23D925", .b = "99E93157170E6D95F38291CE426611B351E47F4946D180DAFEC82F5A9CEE8BF", .A = "39E1E725540C2A055E906593D2556F1B19233CCB2420086C23CE2686A37FC634805EF1E4E98C085F4C0D6E47F05B4EDE3AF2FB6928388B6B5FCC876C11CF5A667145EFCB28DEFF692EDF7C084C0912F9E0EEC9BFDE55B4FD5A9229C5375AF8E07BDF6266BCB89D10257C180F4FEE458416384F3CB253712E822F01DC937325C3D7EEE65554A04EA76028D7D1663D7A2CE0AAED7DCBD5486194CA020C1993CC910E968EBA032F3395CF428B9FEFAF77CF989635C11FACA6E51767F538FE9C0CCDCD6E7E126A46A7AB0474410A38B409C3401ED6C36C0B67E8C269727B6E497414B0E381100839BBDE0C91C7286C1B3427F037FA6FEBEE5BE17559F349D7A319FE1CD071D175EDC815045E03C0E9B536D9997B7F21284C064F82ADC4E827378F3331F1D7D3E4F8173D529AD4D648CF453A6145BA1669D10AB69BEB64D400E81FA356755C5EED9DFAB31368180361C8015A7C0BA2A95AAFE343D75651B1B96581A6461FC123FE16E8C2F9AFFB895C701AE305B67B3D24F7D25D7B9FACDF49C01F832F04174078BB6115CBB56B09FEECEE8A9047A581C2D51BA25BCB6C357B8E1FCEC852ADACE6DFA5894DBBD2AE0E344709185E916B1545399978FF59E33B68890B526CB617728DDE338C4A7D0FEEE94514FAE987CB784FBEFD5C370931659D6E2BE240592087C79EBC6BBAEF70C66A42D1BD18D9FCF36428D71FD06902B2D9DAA3", .B = "23263E1AC02E156066CC9E00BDF3B4003384DC9CFE9B0A4F56CB7405A5ACB8EFE20E03A97E3DD7F4A800811DC4315A43C5A53B535580DD6551D198BAC12792823C0FD3846086D5833D0E14955F7FD6A563D74DB37969DCE1795E75A801966B63FA9D47FCF55552DD608C76C311330764C381AA42C8766068E7FC5A9EB7D673F3B8B86909CF10CC4852A4A5DE830E19A3A9C3ED23F69DF8D0CE8E287EFBA786BC734C01B97BBE46B82450305C88A67F3FB3BE05093533CCFA992ADE83FBB890316B3ACE45C49440CE95262B7CBE6D33F0AD9D4B7C9331E846A3AB020CA28B3B544F78ED3F84DD830908B4959864B7E4A1996798FB7688BB9019B26B7CDCEA0C504052391E61FEB7D0A145D4F9286C21842D4F3C60BABD6CE6B6E88B0554355F5276840D2E2FC877356573A3C9758C64024A5489A4AC0F2AD72548BE6A8D6DCA2A72B33C39A68A301AA95E1B6B6F72187FE9376079E4CD9E0FB9F6BB9BFE09EBF99EDFF68480546916FCC48D4D2C739672833DB1D000F7821274AC5D965AEE2C7D7CEAF367B64CCEB2733D72C25D880BABD8749BAC64CBFA7A4346EFC6257E23B0C025F86A4A9FEF36B211044B2C1DEF035649555FEA79E336CDE69662EA236886859D315B384AF1B93FE3728EF4C417F29C0F2340F2F61C3AC0EAFFC4E07A54974E6FEBF7E56F31D72830A38A2EEFD34692561E23550635FAC67C0B8CBC57B56C", .u = "7A5E7538C9E44D9ED329B79BB329E6E9CB253D08", .S = "B110316371FAB53BEC771766AB64D9A5F16BA9D8154EECD7A0EFDBB996B4DE390D006B377A2558C1E73D068676BE0CBF42F45D264070E03C3107DEC165B4ACB1F7302D17A69C4FAF0DE3AD877D6BBDB8FA5703C028ECB8A469D670FBB825F1C0364CC1B55FD417D2A50E18D8303C27A3EAD236A370DFCE658BAEF09DCFE01A589D43CD2011F3D546F41EF56C25142F954E689D50DF7CB8AA2422C10B67AB40DEFFD35397780D1C51C5743124D6DDA308C8184E4A8B65E0A4F4CE2A71B863A9FD0BC469AC28C3F951FB42CB5FC5AC9BB3AE92B9E6526092926342726D744EE183AAE20184DB2A930AEE3BFE1688D13392B0C3913F0424B0705DFAD288EA1515E15E0416AA8FBFF19A7196A4C48136FF65DE99B230E48086D1D322703661E69964695BC2D1656631D80F00E1E655DB1726B1BF47FD5B5609584B16C883BB8B42AC6C2E1AB8B26DEC4C893CE8BFC07B4072BB1456BB06BE1E2ED57AFDEE6FB978485D911B67BB5631F45C95DEA02DA71FB360F83DD32133F57F1C0B1186A7F8F42D12DBFE5E090A8F9B0D68C7A5ABFAD12EBE69C8FDB00E955F552CD0E24A7A0D179A47F25ECCE9AEC21EE41491F7FA922787D0E4867A19A99A3FF69D04681CDEF47D27A769C61CD0820CF098DACD9F83302F2AEB03DF01E8710C233C64F67AB5B23BFE36C04A9801D22A4865E7C0CB947C060EA5E6763CC35A66A9806B0E69EF50", .K = "192D7B5602A7577C25ED2E78C063C5138D9A633839D3865B91D5A05448CFCF51449A11100206D6C4", .M = "8A2E764C4E449196B1A007E6A571B41859F8345A", .HAMK = "7367C0A0FE0335C3804CA84B42E61EC499D94A94", }, // SRP6a, Test vector generated with AppleSRP { .di = ccsha1_di, .gp = ccsrp_gp_rfc5054_8192, .opt = CCSRP_OPTION_SRP6a_MGF1, .U = "user", .P = "password", .salt = "57EA641DB1CEB89338E6", .k = "3BC248EDFAFEF15A15518351B43DFCA0A37C4941", .x = "2FE280EB020EE403DE2DEDBB51E3FF6EA55C8DBF", .v = "F2566703E974C54910E8F8BD012B2BD26B3AB7744FCA15B8B82DFC8C6F60F3339D00EE796B941ACD9D6B74DAEE1119273B8BC9926995BF5F14ECC28F859CA387D83B46C49ACB699ABB6A135B8CAA4E724D9C3598C8755000E237FADBB5CB9151004CE9D18352AC87FFC7E571DF9D8F43FA94218863C53D9DDBD66E9A2ABDED602B1807CEA819E99E7282D7C951E672E3D2BA3CF3D59DB46796FA651A849C55DC48D85E2B240FFFA2D170F498384064932728A8FFFE3B300A9061414FECF13AC542D54544C04A7276F18E548C1DD1219917C2321BF9A59420F727877B9DD2B64BFE012A32E83CA03FA5F0898F0EFBFB081154E43D59A2316DFD5C8699F8372C9D7ED06AA55D4A55D140C02187492B673569294B1B0F80D3A68E1C52E14297AE8692D0CBFFE3A8C93F9E4CA66720C5EC618DE1E4445B1C84D47F83461D32C2065EC0109996BAB373AD0FEF00C3AB61E263EC3F325D8AAAA0D682DA6D97D57984BCF3BF935FEFE2D15E37306054794269F133A95B63822B89E1A9091C18B8682E03D04EBCDDEC88A27255B6336FA9CB479C1D99A0FB46B1FAB4F6A2C83E9B42D97EBB5A2627BA8266FE35D90B11BDF50B66F933BFEA62688C3987D5E31481757D61CE58C85DF814F4ED7B46415903D6239CE25D4A9F64C3EE4DAA96E073F3888C2F8820EED9818D17B8C11031414ABA122E4C5128DFC0FA9F9D2DB272233356C3B47C2BD61E3A8BD0BB9069FE41FBACF1583412C6B43854897975609562AFE00BF94834C2BC591DCAA77ED0F01D631BAF98996CA9A7333ADB6A38534201156B2FBFA63D0487E73AA8837BF4F5304B2C959D2DAECEEF9CDE921430CBDC664859C6358FDE5D0C0AF884C1C4E5402BD4239C763D3741A50DABF4F602DA56B66E3B08A8337BC4DEB7FC1F66A6FB70CE61A33708D2487338C805FADC53A0C8E90B407132630BE8BF7EAE23C16F27127676C4ACE4E94CDB8A0E791FD330D4EFA9C79A915307B370D080FA040CE39BF0440B948885C5B2DF93F5EE02DAD237BCAB0BF77BEB87C0E4C0337A4E792100EE70AEFE1E32B62D5AE90B1F905BA8585BEF4C9905583033852B7C83FAC4AE4D09FAB66FA00BB1E338F44CCFD89A13B164546DC3CAE072F597F460DF4B1A6A8F1249F0ABE62DDC731EBF17371CCAA8F46B6E9C22CEA9A16B0360A5F9036C8E335FC9B85D4A5E801CBF2289561869E390C538457291AB1938FE70AF0FCA24C05510819155F85650DC7ADA9CEE75EA2D9DAE6F7CB7211A98C9B17C5005F44FF2D8BF6F4333F3F4052658DF3A845F10F893B3E5464E06DB64500F76ED871CAFD237FAB23C527A51481FD96706C18EB3BFAC24C8B995A019E1835F72E226A29C786E8A34DEBC8D0E967650443FDEB06274521722947A56DD7699279FACB6F5FD481694F1BA03F25A44D783A618788DE86487AAA908E39102", .a = "98FF32DAD9E12BBDCE240A8DA4BB67EC88A2DADB291451988C8C1B7EC120D047", .b = "3121DA20ECCF743791C57EA4A3449B9A7C574518D00173D1D688E65CBE2ED2D4", .A = "AA85B7146BBA3E523A2CFF9D3F04ECF1959955CBAEE92D60519781C413202442C4B08F86DF1A6831710FFB8E1BB65B180B611ACD58B18527672791D57ACC4F9A292E95A51E6880C28BC3EB2D3446BE169FB150F74BB139E4A9164F97A5C7EDAAD0F4F1C0125DCB8A0FE67390E4CFDF8C69ECFA5604AF4889AD30DF93694DC4B0788E8FC7375B6ECE1C01EB6B8645256B3768C3ACD3210D26200C10C86A6B0EA2B48249061D2A1F6CF76E5E7B957A324F03580D6EC5E888A72C215991E3B9122537E63E0697FA508FDE6A16427C155774A99DD480A83D661658D4F76DD2442CDE972E385F1BBB1A78BDFEEC67952AC3C224BC6B8A9444BCF3D01F142BDC42DAF96722ABCE23FA0F19C00F41004372EAAF2D648B662913BD6CF1C8400B6B2AEE15E1E9EA9173270AF5972FE46ADE705AE05294ABFCA5416226AF53BBEC667A903B11F183922FC2669871D572732ACA05029624B52F6F734DB8A470837BA8733E2D2B2793700BA8694D048F5B26CED1939D6686817C356A476F1870FE3051848DE6668FEDD0C86A0714A5360836CFCA0975524DB04062CA8F82F5D9910C4807038D573E0BEAA0C6A0F4F55FC7D3D39989F01C15601F9C4CCE728943E406239D9215ED8CBF38023D6BBA10D54950723FD4C3732821676087AF85997DA21DEAD6524924FEA1885A1EC74B1C8DFD4A904E63C687A10B2F18E49C448ADD149CB1CEB776168DC305E000AB841920D8FC35844BA7947CB1A91C82BE9C4A59EF9D9D8165F13941827F20FBE8927D1AB2CEA67E0E7B035D104B622EB9DD566182E855626BDD279526C80BD82DD4A183BDD27C0B17CA701E6957F8C6BCF0058C08D0CBF9860391F7EF1F7530E6BD47A3F4EB5E47046D54F626CA82FF509B1E384BAB507945C733E0B756AC7D811758F76A870E67BA503C0D0820F090726CAF98713E0BCCE77DDF2C57C1566EAD72E56F76D974CB5C610FD02480E7E7831CD94D3FC8C41ECF6DE7EA2BDD3D112F8360938F226E53D08D79119697AA732B220593EABF85DF874F20C09CB1CD121FEE99D84B91CE3B84C8ED2C1914EF1829B98F6E661D05DE269D41E94BCF35995F092CF526073BBD3E6F4CA1ED8003F8DB82F2EAB9AF3949F259A84C21BD92AED90A4E05FC26503298A055D1837FC7CEBD7037939AF2D7AB4743791E63D2A46105B492B05266AFE1B840ABAA97BD6696E1F11163E73BEF1AA105D5060D60719D3C944E09DEC1EEB6C4EBFEEAFF78C1B2DA03251D4A312770E29D7E1D3A65510D9510C866D210F648FC286E59C6DF03EE67CC0F5FA7D01471F82F88A88361DFD75AEDAE697FF094960A366E8F763C6009CD7FFEBC77D26F4DCB75A608F547424C29995FAAC712C7F1C1848364061C898FF17B1618C702F13FAC3E133FA38874AA6BB6EF801B3E2542B03187E35D21A0686C96731BF97E8D5C1C25", .B = "C42E3FB20A8638380F53FB4B7DABA5AE1C031311F935EF05DF54F5B1DAC4DEEDAF417F0F7473AFE22B93767DA2BAA9E0826C820C437672A59DAFD264670F9D0E058160AF6ED4D36BD85EC6DA5627755CE9796F7A92BF0C4DEFE77BE29AD000ED6CBD9D5536CE0987741271207A72C1902667A2F3FE0286E6DB61009AAA276C07F0EED56088C9534A79E703F8E436082A29D53792B76AC86CBA8BDF72A1AB5DE74C4D158E71B4C6A2A5FC7268E3DA17FEBC9C4BD4ED4A506E5E3C24198F0F359A9EE7B2F7E00006BB89DB83A0E6FAF966F8AA51B2C393888AF51272004067FE75C9922F5C70C61A7B7194294FA577D042AAA93D3FB3D8EF12E5A702A7494C78DB52F5932DCD026E12FD3FA110DBEC88FB29CD47BA13A20B3DCE3E95E09927C38BA7D1433748F268BDB3018AF8E7711564BDD1049209B487898CBB1DE7BC9C04B8C4A165A774DEB2E8AFF092120ABB34C8B28E20FC0C4A4D0256707E899253E92D883442B3AE65BA3DFD94BF4972C9B78BC1943BF134B348A7971ACACA1F994A9B9CA8B7D0EC41706FE42397A80932A82A30CC323EBEBEA5F5B378589E2C67401C7BF3F6263396D3F71DE47995B55481524C4AA3E6D0C9EECB2366AAD7CE65E8AF0253B021D40FAE908EDAD93F655503E8BFF2C3CD650560E718F463D246FA90921783265894136DC69EEA70C2527CFF3BF8E0DA53880E0435A111738B18769C9D49D0934858FE3E95B50DE232BF33069C13FE81CAF3805B443AD61FDAC94CA4ED93AC7656400D9FF78B477E3F96EF26764C695658B37699BE6B1DE63BF7E560465E70CBBD9AACF8F5655C21C5F9A16204FD1AAC29FB9FAB1C37E28953027A172B9E6BDBADC53EC3745C67C060E5E58FAA73824CB81A40E29B1396E96340B4FC98C9D6312754A9D7D7E0BB476FB63CA80B3D7B28720470633B1612F572CFD2CFF0116ECA9B64246C6D2171DC24FCF685538873831FC922A342849E773ADCE420C5B21167B9FE418DB49D0D9BF9D547945D575BB0D72F4D21DF7C665399E060F65CD08C040FD0B09F07FFB1C0705E011B7E6690CD1716E2E37E5625397A463F088B810ECB8A1A486083C1F30E363D5D7893DA705AB1DF61E62A17C8444D1E8CFF86F4215AA034642888C5D449B6D0CA8D0F1EAB62D3351C81BD484EB830B20C4638B174C5F578C108CC467D1AED5036A849972C748B7EB8746FE39FF7EA6BDE035D67C165549313CEFBBFB0F47888C4AAD087E83820B7B4ED6C6D624E76A480EBD57DB8ADBBE073D192D9C5B2C804C565285EA4475D485B9728DC97B2BA4AC6C9D9C46F2243F778E7E1B550BB905CA0F73F9721CC45B568D85B73B8BE663292901F57F69877EF27FDFAE6BD2E683A952760F0C51BA3778BBA5302D43239D6A7FDDE4C9E2D1763191D689DBA0244275F79F2CFCE37B795BCC88EF43945A94DCD3A5F", .u = "93730BFBC7E781719370E7EFDF00272ED02189E1", .S = "63D8C9365DCE9B3D47AE25BE1EAA3B3957BAA1C39C8099A2B34E9396C298A87CAAF6DCD0CD564CB734B094078F96B8EAAF069033F8FBF5C70FD029A55A07B88C74165A56BE488CA75B2C85B1B3797A77548A1FC5113958186ADA52E5ECD12214291668F37011760E9A378D92AFD309B82B7C465AC05696349A36267C634E2D4B65C72844B01EFDFCF345CD243AF9A6A6468D7C7C13FD6E4DA8AE94822B555E5F6CDD024016A7A54A9A834FDAF81AE5A860D09C4974C7F6BA8E06AC404C33EB46D656C56788FC0E1B9D524E16270C6B7601B7CF5FFA3DBBA56F521BD19CC83AD53D9BF62C451239AACEA9D90B833E0FC3D1F165AC90B1C4B1FC80ABC807F81BB718698DEDCB17CABFA052A2CCE0F2E24FA0BF4FA175599A04F03E20BD2266849C92BFE4BA8D5576FD4E9A73C79BFD053413894023238135FDA824E6AFA4816FBCFAE043869F179B92518ED2B9AA95C1CFF242F1670CD719B67344B480F5C5769C74C9659FAAB1750B7715A1905ADCB81240BB5CB6A8C9A1500A9C80D4CBBFBCCE60464F934F07E562BA0C8C41D2CC167026E411831AB68B80135B060CC68AC455F2D3BAED3B8D614746A61AF2235D0F76241B3B485D3F05618A435DFD9BD9EE534A72C762EECA1C937998A80426EA5C738B0078BD8EBD08CB01C9E60E92C56E0FA168C68EA49569159C42AE37C3644574B44C043F397F1EF80B99CAFA030FD5D542C85A4204FD9B155E0D79FF2AE91E9A05940E33193770FF3C772D3CD3E1BB5DD4A60374353A28150077D3A9A02E5B962F2D95F4ECC4E872B87671BE6ED427E00E7A479DE862C2D130135755E384E526905E60225D409904CBCE054A6BAE267B0DF469865F39794DEE53286B414439699A63A8A317E11EA14B15C1C6E71222BB14195865EB17DD51BB393306CDBC0A6A36BB6F2323116D340718B01B473E00FA7FAD75E7985113F8E17C9FE0500DFE81BE6847F698EAAEA89914C3B9E802EB80A23326C26349D9C4CA46F813157215E87D9AB5D7C1849CCE738F2F0EEAAEE136E2D73E1EB13E28A7DBCB334F5682FD2FCB59D6831AFE5A60FE81EFA97EDDDF0B7F503A75B35F1D377818AED838A275C6E613F7F66DAC8CB5C5542655C02358E2618E9D2D9E29F3D197386FFA01EAE9A560F6FE8315EB8A796811ED26A201DAA657A16A181FEDBDDCF6835E6F0D901F127194DAF4FAD5BA07B57C9C2946238A374F816AA15CF28DA26A1CD71B4FCE721702B357C1DBA1F074F3788398A4FB439B90E88AB10394EA3D058441970F7CF86C1F0F87559274577E848A8A0CD72FDAE4F595215BA882556DD020FF89AB193765D309DD127B00A2CAFD560A50A3042F5A8C138D3A60DBD60A46CF9FA5FCAC0515A2EE307BF540F6BB1512770A27FCF2B360C0AC74BA9ADDDDD6F249907C584F816971A5AF9BB64B3F0892BC161CDB7521", .K = "5653F12BA70D436E73EE37D400690CBDCF51EE95D9E0860B4D6D70A5D2390BE753FC37730E7CA571", .M = "1585BE77F16A1F315A9E00D0C7C1B66770F8728F", .HAMK = "276A66D9A0C2D871DAC0B0AC7CEE04D94C278FF2", }, // SRP6a, Test vector generated with previous implementation of corecrypto // leading zero in B { .di = ccsha384_di, .gp = ccsrp_gp_rfc5054_2048, .opt = CCSRP_OPTION_SRP6a_HASH, .U = "testuser", .P = "password", .salt = "cdfdb8197205300109e56398321656b2c47edfd0c9d113537f344955dd61557089e250a63e8c4d3a3d6b2f6431dfe9f2acffc851258b55abad0417f3f61a063d", .k = "32967fe7207da143940617acd28715b8f6a634d641a5f1cddc7f89a41aec031e686da6408af77ed0f0b34823364dfd39", .x = "f0f2d6f42707f813b052e0084113c948d936b41ba08ab78ad6b6ddf7da546a49cc53075089087b87c6d40384364d1eb0", .v = "5c1db1d6eb294618441096dd0f11c08dddd5fadc2a22a3253361b8a4d3979262810df993b00518db2f5debc9422e0667193a66b0751b6553334a748b8c9c7117ce7c117f0c0dee2c1704a3e73d6a7a3f886a8b10de502d882c56ce9ce4954da43cc8f356e7cedd5ee8065aedfb69b69ea55f9e0f926f4ef3391d9cbe0677033c2079e55fc5533c90d16f515db209b9d2542d21cbbfcfdac7bda215b1e9218352901deb55270bcfdf96b559c691935d19e51af57cae2a92fa24bffaa19f419e08ed7e94e48a4454652b1892ad4ebb2b18587ca966f272dbab1636293ef95c3cd82756f6c3e29bd4b3e03fb2674bcaea0bb442afc10389f95e7f4dad31df029393", .a = "849f227f126c5be22b0e67fbae831705eff9433db054b34c02f4aea471612b3a", .b = "aa18af1f446caf9095be4d08ebc58dd8f55357d349c508b42e3516cc14fa7809", .A = "6df12db3c63dedcd8248759ae621d914a1911fab35a6b1f50f5eaa9aaeaad3e99e473e3825669c529de97573a2cbf0e9f75fa6e5919aa5c0a204d92428781bfe65df9ff65b3044ce74346100a555b43ab0e1728f872d39171f892b64d4bb4368fc28dff82266154d392e7961e49c63fc85e6e2a9cdd051c03d4589bd0638438ce51898ba232771fc43b2be3b51f4081b9515824cde57d840f64f0e41a7aee05105d4a0c06436fd112ff6c13baada13cd65eabc90c496bdcbae102d3f0ee66f3608a4cd918c75c741e3dce1d93f84f271afb14ed3f6cf298317aa4ea6781f6fbbb22e3367753b4c323ff560e73a8ae3960e243aafa9bd36f2ca3099c6eab3a012", .B = "0075e9954404c544b2655278cb3544c0489f64488c2ad34fb1ec0ea5853f0e86569810884e9c0e838e881dba7d3a741cb3fc71b033eecea19fdb3744bfe23c283fd59a0a41306e7c07fead18465b61dd02243d5b147b6ee5cf2253e1cf161b39fcc1f813423c557404ea4829bed9506678407821e073915304cee000dec73875ad90c3be8e39541f92296dc5adc370344b5221ad7a2ef9a8d655d720d4dfb3be0b046c39a9aa37ca3f6867a39fe2475f95b2b69e669440342075f6f3548854c341694d3bc04830c8d5b370cef5b46568446bd4d4476be86e456cfe46f3eca08d89f9d0aef7c50a96e669ed72c0aa41afea980f2a10191278a1e9437ab1a0530f", .u = "2c4e6f44df1286163e1b2cdadf3821f266649aa6d35d097921e13c44366b8391311264488e68351b9b3751f0bcbc96f", .S = "a6c8108be334ecba771f5affedb6ee0eb4eac5ab96ea45eb37665c7f0a1a9f9f7ad8fa496428bac068694b115bc73787175002ab13591fc57cd71d872ac52060cab6f4e3697683ce7b7615d8b38328b99a1a3c1128554ac8cc38009300895966743805e43a4c026105427d848ee76f1050c438b2c9a687324984f9dcb18a8021b28670ac89236341a0b1b29fb5ae7b4697e6f0b4b726130f55b06d08bc9cbe147412fd5d932c0cf0b828f5c48001e740ad80608726cfffa1bfca79bf6bd005f42be5a2ef13e0df660e7acede3cb661ceab10a4b370dd536b529c9cc4dbcece1883d605c6b0953be93d16a7ed2827fc572b529906ff4b4c36da7f5c2d4d4d0c2a", .K = "feb9b6fa7696fdb8a81770f9878e73fc10732d3cfeb879317f5e26dfca79f537049ef1859336d140e714c7a2352cd5fa", .M = "0a4d175246e5d9edc04a9cb3efc3bc3fdcbd15ffab1dc38446d34e1f4fbe941401704406c3b6278c474f8c4b2dc55652", .HAMK = "9bd6ab17c3c8256e14bd19a6e644241c562ad1aa6cdd0cc019e1e6cd5121575dfff087d690dae05b3e96242362d423d6", }, // SRP6a, Test vector generated with previous implementation of corecrypto // leading zero in A { .di = ccsha512_di, .gp = ccsrp_gp_rfc5054_3072, .opt = CCSRP_OPTION_SRP6a_HASH, .U = "testuser", .P = "password", .salt = "3445feb3d9a5310a6ef0a4224aef454f6b5bd585bfbbea28fc29a3cae3fb0c15c192a7864a883b2ac0c108eba15c5938dac8d57bcccbec6b8fc6c8cff8c879f8", .k = "a9c2e2559bf0ebb53f0cbbf62282906bede7f2182f00678211fbd5bde5b285033a4993503b87397f9be5ec02080fedbc0835587ad039060879b8621e8c3659e0", .x = "f7a38f32ea2e0badee888b5c76807a8b1071836460b4eb5da82d1a4934410628eb892729b1447f8f7cb539c7380234ae615f148793645c7e10b7e7b44aa77dbf", .v = "c005a80db07e0dfbc8be30f66b5640b5fca727bf05e56408462f449f0978b768647da7a00710953f4a5eeb50c3140817edb7f7f76a2373eb822d9644890ca85eec4ee43f926b79722e4e15ec863084ac1fee3a0a3a1fb18fad11c44988394d234b10f87fd61a4f3c3867cd7f853d97f3979317d7bc30728ce997dfdbe66b2c91aca78245ca851bb95c7a05ac5931b0c8f599c143f3a455fc02052e9a712098868122176223a7d87d57c7d2cb05c8abfea3315fcc5871aca6fcadbf6cca6f46ccbdbd5ee3b33cf1247a2da6882d786c4b079588bcb85f72e02eff6866c8af496904fcaeb6713e40e1a834b613baa061357c836ae9eae65c3f97d48570b8cf63ea6949dd062cb9421621e15a67a14d22eb328398b5035d9de91b72bc5c207bf8dbe97bc642b37baf85f8368fd4aad8999236afc4caeded9a7729ed3d6031dbbf418e740b0c4b1ca17dc245ad9a02a8e37ca45e99376cdce8a6761b2e2a948abaf819cc17286be42cc20ae501f76ec3866be5fd9e2459c751fa6cbb48c60ef5e6b0", .a = "b5213eff32eee805986489b01c6be60c581c2c809872f6fa3e62188b4c7c889c", .b = "d733e7e32866d1ebde7bfad73c7301326089cbf0eb0c82c4b56a4f80f7ba70e3", .A = "00227de8832219430043a312b4e3ccd4a8abf2dde300a4b45f298f8dfbf91af2358aac8a5223c169601270e98ddae53ee85814e9537c8862f59a012eea1fb9d1da09c16ac8584ffa6960c119b0008e569976b466c9b84d791a64fac22b46b9aa636419f9838eb3c0ad0444c2fdb7e30eb9ecabb50dfc82dc622c1bac2dd5b546593e95eb21257f704d3d86a41327c55360c73df5e5032ee4de491e7c7daee664fd7f93aeb48e10cdb33a2f18ab1cff19141b30305ddc663da45adf8018a760dc19b25b92157d937264316cbce94724e3193281a5a321d345d3920364fabcc673e9b181789d54a76f25bffdb7081b0b409000a5d6797c09b31bdd034f700c05556d1c7991e5464c85a2230d6f1c4b6a7443f3ddebe3f4c679d5f5c33a2ff8cb07483655c7f15d88f9759e1868d6bc38237bf28f70a37d50d32cb903ba3c1cfaebf1d25510bc70fcee3011bfaa0f941c71fd3af6e72fb43a0b0a7ae5d7990e7853729e007c7c12955347fc836d8e7b16c73e8891fb6bcc5308a695a6c0d7ff0210", .B = "a1606e89fb7c5ac86e5a9be73dfe34a0e907cfb25c5f74504421f0f8e4e4859efbcfb028ec6c3e01ae3c91468dbb0b299d9bd119e1ba355600aa05b4f1d04b7992da7aba3cfa566520fdb9310f8ab1562b62ee3823bd2815b781952487fa3142ce9fab085d371b92d9e24eb09303160f84b0acae8103cc5d9b5cea6d3b187e573528113076cf8cbe9b5414c5380b556333ad1e108b1916cf56d43fbc5d3da45091db522be3fcd58d84b00ca3b4f788cbd357a6c7f9e67b491d829705e2089befb456a4a4b293d56187a135a56dea6613daee52f4a5d7ccbd07747f8a8f3d53020238b6ef5945fc40d876e8a5de062af57b651aabe062a505c4e8c115621fbd11678657818c6f7bf3c6d53be13a7a82d8ef4de4039a912fbb37231950bec3cec03203ea7518d74786ee63c2557e6cc039f0ff9ad3c95d1ed71d2738eb01e841804bfbebdf057c2c6ae29f4fe996ab07431d3b54779293e46ead88336e0f938db97fa976c3107a9e58b5cfe95a3283fcc268319c539bc893770132214642d28254", .u = "30acfb7fb281705b63bdfca477293dffc913b885f79e9babed3739f97a673aaaceccfe1446d97d92ac0453c0de92561838b1db9c5a15bd8c7f9b4911242b3c28", .S = "9efecd4e95aad6f64b34f6b25e903a40caa18088e9b31e8da0e84330d88d6a35bb414045a84cc7adb1e7955df30c0ef8212e7d276d5a60cccc86158c352c0048a00c91e5f99e26acb597c86c0b85e67a53bd0e5018d6b108b2720726d1a58437bac43d7912caa9d3a38ec0aa2e54926620c8e4e7d9d84fed5eee61efafa849fae0c8ab50c31e8f98bc0c07f408e046d93bb5b0a0e6ab2c365aee4815926ba9917ef297103a72b2eb868fbcfaf226597c79b2259d23cd0a98530b748fd97949960ca846c69dbb2bfcee9fbb05905e0f4fe0301ee67e3fe31812f32fa6031c65d481c543ff01a7e8bd0f54ebfa829f829d97f35c1e1d1afffad18638a247374a5ab08194e621c3113bf4260575f17af825c76fa4f135e14d1dac769f715443baf1fcbb2d9a3c9662f273f7b0c76accbce7a31bf04ce9407263747d022a1947903fca6578f3a2f43827ae4b1f81cfec13be044a9c608e258997484214f679ac731cdc68e6792d88f3c8f3d31491f4e84fac2c6332755cbf8776c3d01e23416204ef", .K = "d5f50fc15e59d026424516d80f8b63ba5414b19fa1f3d90e5288d43f65b0d98db37798b1a5892b457db35e14ec4501f957dbd0552a49460826be8b1295f8e85e", .M = "987fedbca80f9d6d2f1ec2c98d616d5bb17272ddaa91f2fab9cfda5e3fa7abb1ac257b3b817d5a54b8cd08f8a45126aea183f9b798e34ddaa0100750e844ec5f", .HAMK = "bf72af264bc17862ef1532101e248d4c2f8e806b17347b44ed6bd40892442d3d9a74c7224648e2cee91c8381487731ad461c9253a8787ee91ced6bda3251042e", }, // SRP6a, Test vector generated with previous implementation of corecrypto // leading zero in S { .di = ccsha1_di, .gp = ccsrp_gp_rfc5054_1024, .opt = CCSRP_OPTION_SRP6a_HASH, .U = "testuser", .P = "password", .salt = "eb7fcf33de103e45e391682bd6f6bfdfd90ed5f3ad23d821f15a9f994221d62b4e0855561b05eb451ea9412c807a562f6640fef66edcece718c4127ecdc9bda7", .k = "7556aa045aef2cdd07abaf0f665c3e818913186f", .x = "853225b18bb799980052d05b46d38de7ed09d4f4", .v = "7d28ed4e6622b93f36f8566f05937a44f972d2b2991bfec485ddb2b150f91b74e04befec7feec5da8c2bbbdcde2a27ee739065a2a678a1425644a05c383a9f737f44415cd1dd7944e741cfbc874dc5eab88ab442ea4f63ab05634bda2761f7aacb2e14911fcee50d43c7bb5478f9a52bc4d3ea7911b854f692e7c2c75a5140f8", .a = "e219ac0766a6a11d9902dba0c54290f667b2e43b", .b = "d4c52fedaec5b279864bd7582be886036d9f2e8d", .A = "bd8548dad8f40a21d40ca07753cf6a4f84d7502541715559f055c90a75b4fddb29cfcb55f31be2aa959d7cec2ec1c2dc306eeaa72bcb29a0819f1cc19f2348940ae1411870f3f8f87578f41141dcdc60e37b691353b970570c60d3b1231cec55dacf1ca376e763873c7daf76f92e10d7bc04753622367708d447c803d64d4074", .B = "5c3dd2b4f35ed6913ffad11dc99b177e3e51808956e5c0ed9dd30e385c7cf90abd7f2024f97db9670bb46e0969413fcb71d5335da399ec7162e3971af0cc6ff74ec972130ac6e7404ab4ef2cff3c1b0d2b54985225439b3cf1782f9e5e9c0a93eccdd49d938ec44566ac7ef5e86592a01eeab7a7234b7bc6b77bc73faeed3d37", .u = "b4bddc30a65dc317047a3b3ea72c4377d4d9a6e3", .S = "003debe50eafadc76b4e12643b572ef98e726389cc79c70bb8b9dac0931619bd0905733fc8985d94c309c5d0460cc54f0785a7623316d6b528387328bcddadd8f433d1c8de54c7874a4db24f7428e680740941069a458a918cd937e4333d2a21ead2a6e33b8ac57b89df0f516984f0dd9de6709253935d88c1b83f88fae3077b", .K = "9ff28018b1ab0051b643583bca633dd2c7166bdb", .M = "cb874a260e334fe29bd0e25cf47f2bd73e117c7e", .HAMK = "bee5c82fd7a4feae12e72f2a3e7df33e72f5889a", },