Ξυ³h*Ω―œ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›0.1.0.1Internal Definitions4Copyright © 2022-2024 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred "(?ΐΥδεχšœsha-validation6The returned paths are relative to the given directoryBsha-validationΤCheck that all test vectors in a File are satisfied by a given hash implementation.Csha-validationΦFor a given hash implementation, assert the correct result for each test vector in a 2.ΟThe function to assert equality is usually provided by some testing framework.Csha-validation™Function to assertion Equality. The first argument is a test label, the second argument is the actual value, and the thrid value is the expected value.sha-validation Hash functionDsha-validationseed multiplyersha-validation™Function to assertion Equality. The first argument is a test label, the second argument is the actual value, and the thrid value is the expected value.sha-validation Hash functionΖ23456-./0178'()*+,#$%&9: !";< => ?@BCEDAΖ23456-./0178'()*+,#$%&9: !";< => ?@BCEDA3SHA Test Vectors for Hashing Byte-Oriented Messages4Copyright © 2022-2024 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred"χcosha-validationΤTest a given SHA1 or SHA2 implementation for the test vectors in a monte file. See p for details.psha-validationήFor a given SHA1 or SHA2 implementation, assert the correct result for each test vector in a '.ΟThe function to assert equality is usually provided by some testing framework.ΝNOTE that the test algorithms for SHA (SHA1 and SHA2) and SHA3 are different.&The test algorithm is describe in cf.  μhttps://csrc.nist.gov/csrc/media/projects/cryptographic-algorithm-validation-program/documents/shs/shavs.pdf!. The pseudo code is as follows: INPUT: Seed - A random seed n bits long { for (j=0; j<100; j++) { MD0 = MD1 = MD2 = Seed; for (i=3; i<1003; i++) { Mi = MDi-3 || MDi-2 || MDi-1; MDi = SHA(Mi); } MDj = Seed = MD1002; OUTPUT: MDj } } qsha-validationSHA1LongMsg.rsprsha-validationSHA224LongMsg.rspssha-validationSHA256LongMsg.rsptsha-validationSHA384LongMsg.rspusha-validationSHA512LongMsg.rspvsha-validationSHA512_224LongMsg.rspwsha-validationSHA512_256LongMsg.rspxsha-validationSHA1ShortMsg.rspysha-validationSHA224ShortMsg.rspzsha-validationSHA256ShortMsg.rsp{sha-validationSHA384ShortMsg.rsp|sha-validationSHA512ShortMsg.rsp}sha-validationSHA512_224ShortMsg.rsp~sha-validationSHA512_256ShortMsg.rspsha-validation SHA1Monte.rsp€sha-validationSHA224Monte.rspsha-validationSHA256Monte.rsp‚sha-validationSHA384Monte.rspƒsha-validationSHA512Monte.rsp„sha-validationSHA512_224Monte.rsp…sha-validationSHA512_256Monte.rsppsha-validation™Function to assertion Equality. The first argument is a test label, the second argument is the actual value, and the thrid value is the expected value.sha-validation Hash function-23456-./01qrstuvwxyz{|}~'()*+,#$%&€‚ƒ„…BCop-23456-./01qrstuvwxyz{|}~'()*+,#$%&€‚ƒ„…BCopMITLars Kuhtz  experimental Safe-Inferred"χέ†sha-validationΜTest a given SHA3 implementation for the test vectors in a monte file. See ‡ for details.‡sha-validationΦFor a given SHA3 implementation, assert the correct result for each test vector in a '.ΟThe function to assert equality is usually provided by some testing framework.&The test algorithm is describe in cf.  ξhttps://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/sha3/sha3vs.pdf The pseudo code is as follows: δINPUT: A random Seed n bits long { MD0 = Seed; for (j=0; j<100; j++) { for (i=1; i<1001; i++) { Msgi = MDi-1; MDi = SHA3(Msgi); } MD0 = MD1000; OUTPUT: MD0 } } ΝNOTE that the test algorithms for SHA (SHA1 and SHA2) and SHA3 are different.ˆsha-validationSHA3_224LongMsg.rsp‰sha-validationSHA3_256LongMsg.rspŠsha-validationSHA3_384LongMsg.rsp‹sha-validationSHA3_512LongMsg.rspŒsha-validationSHA3_224ShortMsg.rspsha-validationSHA3_256ShortMsg.rspŽsha-validationSHA3_384ShortMsg.rspsha-validationSHA3_512ShortMsg.rspsha-validationΘMonte Carlo SHA-3 Hash Function Tests for Hashing Byte-Oriented MessagesSHA3_224Monte.rsp‘sha-validationSHA3_256Monte.rsp’sha-validationSHA3_384Monte.rsp“sha-validationSHA3_512Monte.rsp‡sha-validation™Function to assertion Equality. The first argument is a test label, the second argument is the actual value, and the thrid value is the expected value.sha-validation Hash function$23456-./01ˆ‰Š‹ŒŽ'()*+,#$%&‘’“BC†‡$23456-./01ˆ‰Š‹ŒŽ'()*+,#$%&‘’“BC†‡/SHA-3 XOF Test Vectors for Byte-Oriented Output4Copyright © 2022-2024 Lars Kuhtz MITLars Kuhtz  experimental Safe-Inferred"E”sha-validationSHAKE128LongMsg.rsp•sha-validationSHAKE256LongMsg.rsp–sha-validationSHAKE128ShortMsg.rsp—sha-validationSHAKE256ShortMsg.rsp˜sha-validationSHAKE128Monte.rsp™sha-validationSHAKE256Monte.rspšsha-validationSHAKE128VarOut.rsp›sha-validationSHAKE256VarOut.rsp+ !"–—”• ˜™ š›+ !"–—”• ˜™ š›       !"##$%&&'()*++,-.//0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€kl‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—-sha-validation-0.1.0.1-2jNMQg8QH9oCJcPtEfqjlFTest.Hash.Internal Test.Hash.SHATest.Hash.SHA3Test.Hash.SHAKEsha-validationShakeVarOutVector_shakeVarOutCount_shakeVarOutOutputLen_shakeVarOutMsg_shakeVarOutOutputShakeVarOutFile_shakeVarOutDescription_shakeVarOutInputLength_shakeVarOutMinOutputBits_shakeVarOutMaxOutputBits_shakeVarOutVectorsShakeMonteVector_shakeMonteCount_shakeMonteOutputLen_shakeMonteOutputShakeMonteFile_shakeMonteDescription_shakeMonteMinOutputBits_shakeMonteMaxOutputBits_shakeMonteMsg_shakeMonteVectorsShakeMsgVector _shakeMsgLen _shakeMsgMsg_shakeMsgOutput ShakeMsgFile_shakeMsgDescription_shakeMsgOutputLen_shakeMsgVectors MonteVector _monteCount_monteMd MonteFile_monteDescription_monteL _monteSeed _monteVectors MsgVector_msgLen_msgMsg_msgMdMsgFile_msgDescription_msgL _msgVectors readMsgFile embedMsgFile readMonteFileembedMonteFilereadShakeMsgFileembedShakeMsgFilereadShakeMonteFileembedShakeMonteFilereadShakeVarOutFileembedShakeVarOutFileembedIOmsgTest msgAssertmonteAssertInternalmonteTestInternal$fLiftBoxedRepVector$fShowShakeVarOutFile$fEqShakeVarOutFile$fOrdShakeVarOutFile$fLiftBoxedRepShakeVarOutFile$fShowShakeVarOutVector$fEqShakeVarOutVector$fOrdShakeVarOutVector$fLiftBoxedRepShakeVarOutVector$fShowShakeMonteFile$fEqShakeMonteFile$fOrdShakeMonteFile$fLiftBoxedRepShakeMonteFile$fShowShakeMonteVector$fEqShakeMonteVector$fOrdShakeMonteVector$fLiftBoxedRepShakeMonteVector$fShowShakeMsgVector$fEqShakeMsgVector$fOrdShakeMsgVector$fLiftBoxedRepShakeMsgVector$fShowShakeMsgFile$fEqShakeMsgFile$fOrdShakeMsgFile$fLiftBoxedRepShakeMsgFile$fShowMonteFile $fEqMonteFile$fOrdMonteFile$fLiftBoxedRepMonteFile$fShowMonteVector$fEqMonteVector$fOrdMonteVector$fLiftBoxedRepMonteVector $fShowMsgFile $fEqMsgFile $fOrdMsgFile$fLiftBoxedRepMsgFile$fShowMsgVector $fEqMsgVector$fOrdMsgVector$fLiftBoxedRepMsgVector monteTest monteAssert sha1LongMsg sha224LongMsg sha256LongMsg sha384LongMsg sha512LongMsgsha512_224LongMsgsha512_256LongMsg sha1ShortMsgsha224ShortMsgsha256ShortMsgsha384ShortMsgsha512ShortMsgsha512_224ShortMsgsha512_256ShortMsg sha1Monte sha224Monte sha256Monte sha384Monte sha512Montesha512_224Montesha512_256Montesha3_224LongMsgsha3_256LongMsgsha3_384LongMsgsha3_512LongMsgsha3_224ShortMsgsha3_256ShortMsgsha3_384ShortMsgsha3_512ShortMsg sha3_224Monte sha3_256Monte sha3_384Monte sha3_512Monteshake128LongMsgshake256LongMsgshake128ShortMsgshake256ShortMsg shake128Monte shake256Monteshake128VarOutshake256VarOut listFiles