X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/ba6e6b64033b1f9de49feccb5c9cd438354481f7..0f00dc4c8eb47e67bc0f148c2dd109f73a451e0a:/tests/group diff --git a/tests/group b/tests/group deleted file mode 100644 index dd09060..0000000 --- a/tests/group +++ /dev/null @@ -1,320 +0,0 @@ -# $Id$ -# -# Test group abstraction, and a bunch of other things. - -check { - "prime { 29, 7, 16 }" "ok"; - "prime { 29, 6, 5 }" "not a subgroup"; - "prime { 21, 2, 2 }" "p is not prime"; - "prime { 29, 14, 9 }" "group order not prime"; - - "ec { secp224r1 }" "ok"; - - "prime { catacomb-ll-160-1024 }" "ok"; - - "ec { - prime: - 0xdb7c2abf62e35e668076bead208b - primeproj: - 0xdb7c2abf62e35e668076bead2088, 0x659ef8ba043916eede8911702b22 - 0x09487239995a5ee76b55f9c2f098, 0xa89ce5af8724c0a23e0e0ff77500 - 0xdb7c2abf62e35e7628dfac6561c5 * 1 - }" "ok"; - - "ec { - prime: - 0xdb7c2abf62e35e668076bead208b - primeproj: - 0xdb7c2abf62e35e668076bead2088, 0x659ef8ba043916eede8911702b22 - 0x09487239995a5ee76b55f9c2f098, 0xa89ce5af8724c0a23e0e0ff77500 - 0xdb7c2abf62e35e7628dfac6561c5 * 2 - }" "incorrect or ambiguous cofactor"; - - # --- This one's oakley-155 --- - - "ec { - binpoly: 0x0800000000000000000000004000000000000001 - binproj: 0, 0x7338F - 0xaa089ae4666a422e714651ad9372213fa65a93, - 0x12d29c630dda76010397809a6816be6d2ffa815 - 0xaaaaaaaaaaaaaaaaaab1fcf1e206f421a3ea1b * 12 - }" "degree not prime"; - -} - -checkelt { - "prime { 29, 7, 16 }" 16 0; - "prime { 29, 7, 16 }" 2 -1; - - "ec { secp112r1 } " - "0x09487239995a5ee76b55f9c2f098, 0xa89ce5af8724c0a23e0e0ff77500" - 0; - - "ec { - binpoly: 0x0800000000000000000000004000000000000001 - binproj: 0, 0x7338F - 0xaa089ae4666a422e714651ad9372213fa65a93, - 0x12d29c630dda76010397809a6816be6d2ffa815 - 0xaaaaaaaaaaaaaaaaaab1fcf1e206f421a3ea1b * 12 - }" - "0x7b, 0x1c8" - -1; - -} - -mul { - "prime { 29, 7, 16 }" 8 7 27; - - "prime { catacomb-ll-128-512 }" - 3344609493517948819439808013094817124423784439045485500527919676470975342917009634212031124646834193243018749323077268170586751415510015906107400678608590 - 32459289443738057373904596685867555624839649360339363831766212033645755638497600605981483758068704145575847399920657057013890131443911836862688141735006 - 3947634573386515057215934636174241616115542585724861166389751782289048647501330677434616929656928819642658111077814577650964230037753641582364366136933940; - - "ec { nist-p192 }" - "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, - 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" - "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, - 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab" - "0x76e32a2557599e6edcd283201fb2b9aadfd0d359cbb263da, - 0x782c37e372ba4520aa62e0fed121d49ef3b543660cfd05fd"; -} - -sqr { - "prime { 29, 7, 16 }" 8 6; - - "prime { catacomb-ll-128-512 }" - 3344609493517948819439808013094817124423784439045485500527919676470975342917009634212031124646834193243018749323077268170586751415510015906107400678608590 - 1140714521254648115393410274780412972862841854751618635120376750594285456137894804866135103112174518443866054055338095672091997366768745026933347678925721; - - "ec { nist-p192 }" - "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, - 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" - "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, - 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab"; -} - -inv { - "prime { 29, 7, 16 }" 9 13; - - "prime { catacomb-ll-128-512 }" - 3344609493517948819439808013094817124423784439045485500527919676470975342917009634212031124646834193243018749323077268170586751415510015906107400678608590 - 5876676858790113051879264634636727534122591023949326683791506203503263391580079717512212895466773363712551406785344528808275608153699681298608650332072384; - - "ec { nist-p192 }" - "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, - 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" - "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, - 0xf8e6d46a003725879cefee1294db32298c06885ee186b7ee"; -} - -div { - "prime { 29, 7, 16 }" 9 5 25; - - "prime { catacomb-ll-128-512 }" - 3344609493517948819439808013094817124423784439045485500527919676470975342917009634212031124646834193243018749323077268170586751415510015906107400678608590 - 1926426135381827210395257472845875618319108487720857260583372274154852182951667715700282388176779441854588992736540698662997833538400244234146123792411051 - 24069337702503046127918930405335466791703796668849861281722901639361967869381088162761943434867448224639537469251486209856612215080111132649928233405085; - - "ec { nist-p192 }" - "0x76e32a2557599e6edcd283201fb2b9aadfd0d359cbb263da, - 0x782c37e372ba4520aa62e0fed121d49ef3b543660cfd05fd" - "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, - 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" - "0xdafebf5828783f2ad35534631588a3f629a70fb16982a888, - 0xdd6bda0d993da0fa46b27bbc141b868f59331afa5c7e93ab"; -} - -exp { - "prime { 29, 7, 16 }" 3 12 16; - - "prime { 29, 7, 16 }" 3 -12 20; - - "prime { catacomb-ll-128-512 }" - 3344609493517948819439808013094817124423784439045485500527919676470975342917009634212031124646834193243018749323077268170586751415510015906107400678608590 - 147362842169670001895012880214773009850 - 5743039465765061017258257285641279669186626264432710496849307123351095219091264933384359874588390730293795471675184250790999035405886273905917889887366080; - - "prime { catacomb-ll-128-512 }" - 3344609493517948819439808013094817124423784439045485500527919676470975342917009634212031124646834193243018749323077268170586751415510015906107400678608590 - -147362842169670001895012880214773009850 - 3548613102603269389984811279864031309564549180885835723408511495891024326106890973751615845620404633717662823827170012116865930893524976817060348977482376; - - "ec { nist-p192 }" - "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, - 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" - 6277101735386680763835789423176059013767194773182842284081 - inf; - - "ec { nist-p192 }" - "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, - 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" - 3131675836296406071791252329528905062261497366991742517193 - "0x7f55059a125dd0d2b40dc3a712248b2848a5e5fa11111f71, - 0xc6e91094cb34131e539c3db25f7f32670ef8dfe03a88b6fb"; - - "ec { nist-p192 }" - "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, - 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" - 3131675836296406071791252329528905062261497366991742517193 - "0x7f55059a125dd0d2b40dc3a712248b2848a5e5fa11111f71, - 0xc6e91094cb34131e539c3db25f7f32670ef8dfe03a88b6fb"; - - "ec { nist-p192 }" - "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, - 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" - -3131675836296406071791252329528905062261497366991742517193 - "0x7f55059a125dd0d2b40dc3a712248b2848a5e5fa11111f71, - 0x3916ef6b34cbece1ac63c24da080cd97f107201fc5774904"; -} - -mexp-1 { - "prime { 29, 7, 16 }" 3 12 16; - "prime { 29, 7, 16 }" 3 -12 20; - - "ec { nist-p192 }" - "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, - 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" - 3131675836296406071791252329528905062261497366991742517193 - "0x7f55059a125dd0d2b40dc3a712248b2848a5e5fa11111f71, - 0xc6e91094cb34131e539c3db25f7f32670ef8dfe03a88b6fb"; - - "ec { nist-p192 }" - "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, - 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" - -3131675836296406071791252329528905062261497366991742517193 - "0x7f55059a125dd0d2b40dc3a712248b2848a5e5fa11111f71, - 0x3916ef6b34cbece1ac63c24da080cd97f107201fc5774904"; -} - -mexp-2 { - "prime { 29, 7, 16 }" 3 12 8 2 9; - "prime { 29, 7, 16 }" 3 -12 8 2 4; - - "prime { catacomb-ll-128-512 }" - 3344609493517948819439808013094817124423784439045485500527919676470975342917009634212031124646834193243018749323077268170586751415510015906107400678608590 - -147362842169670001895012880214773009850 - 130340428707563070626027539288099297037336608388990593367322442443880297841210613523501678207607756678300142264348927299637006055881968995671289567513600 - 91626412351157168611316239052073981423 - 1022777063245982511046303002728993765008184164346724419524981660559588777350492245381260023136750231183070065817596986237402046431653662723677455952067221; - - "ec { nist-p192 }" - "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, - 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" - -3131675836296406071791252329528905062261497366991742517193 - "0xea711858c23d92f9964655910bc90a197a915e90111cf11b, - 0x664189a1d8b2bb24f2b2ac64b19e2178118842e6ba9f4ad5" - 1110875761630725856340142297645383444629395595869672555585 - "0xaa25bb0bf38b06821e8641c1afb8bc078dbe11c3cf9bc97, - 0xf1a4c09d621fb52736f6010ae90e9bc9771ac017a62098f9"; -} - -toint { - "prime { 29, 7, 16 }" 15 0 15; - "prime { 29, 7, 16 }" 0 0 0; - - "ec { nist-p192 }" inf -1 0; - - "ec { nist-p192 }" - "0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012, - 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811" - 0 602046282375688656758213480587526111916698976636884684818; -} - -fromint { - "prime { 29, 7, 16 }" 15 0 15; - "prime { 29, 7, 16 }" 0 0 0; - "prime { 29, 7, 16 }" 39527306161272833161358334459 0 19; - - "ec { nist-p192 }" 1 -1 inf; - "ec { nist-p192 }" 0 - 0 "0, 0x7b685605ee600cb363db5ea912f2bb5e3a0a2e0e60360f12"; -} - -toec { - "prime { 29, 7, 16 }" 0 -1 inf; - "ec { nist-p192 }" inf 0 inf; - "ec { secp112r1 }" - "0x09487239995a5ee76b55f9c2f098, 0xa89ce5af8724c0a23e0e0ff77500" - 0 - "0x09487239995a5ee76b55f9c2f098, 0xa89ce5af8724c0a23e0e0ff77500"; -} - -fromec { - "prime { 29, 7, 16 }" inf -1 0; - "prime { 29, 7, 16 }" "39527306161272833161358334459, 9" 0 19; - - "ec { secp112r1 }" inf 0 inf; - "ec { nist-p192 }" "1, 5" -1 inf; - - "ec { secp112r1 }" - "0x09487239995a5ee76b55f9c2f098, 0xa89ce5af8724c0a23e0e0ff77500" - 0 - "0x09487239995a5ee76b55f9c2f098, 0xa89ce5af8724c0a23e0e0ff77500"; -} - -tobuf { - "prime { 29, 7, 16 }" 22 -1 "00"; - "prime { 29, 7, 16 }" 22 0 "000116"; - "prime { 29, 7, 16 }" 0 -1 "0000"; - "prime { 29, 7, 16 }" 0 0 "000100"; - - "ec { secp112r1 }" inf 0 "0000"; - "ec { secp112r1 }" - "0x09487239995a5ee76b55f9c2f098, 0xa89ce5af8724c0a23e0e0ff77500" - 0 "000e09487239995a5ee76b55f9c2f098000ea89ce5af8724c0a23e0e0ff77500"; - "ec { nist-p192 }" - "0, 0x8497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0ed" - 0 "00010000188497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0ed"; -} - -frombuf { - "prime { 29, 7, 16 }" "00" -1 0; - "prime { 29, 7, 16 }" "000116" 3 22; - "prime { 29, 7, 16 }" "00000e" 2 0; - "prime { 29, 7, 16 }" "000100ff" 3 0; - - "ec { secp112r1 }" "0000" 2 inf; - "ec { secp112r1 }" - "000e09487239995a5ee76b55f9c2f098000ea89ce5af8724c0a23e0e0ff77500f00d" - 32 "0x09487239995a5ee76b55f9c2f098, 0xa89ce5af8724c0a23e0e0ff77500"; - "ec { secp112r1 }" "0001000001001ee7" -1 inf; - "ec { nist-p192 }" - "00010000188497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0eddead" - 29, "0, 0x8497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0ed"; -} - -toraw { - "prime { 29, 7, 16 }" 22 -1 ""; - "prime { 29, 7, 16 }" 22 0 "16"; - "prime { 29, 7, 16 }" 0 -1 ""; - "prime { 29, 7, 16 }" 0 0 "00"; - "prime { 4294967311, 364289, 18767 }" 4285559121 0 "00ff707151"; - "prime { 4294967311, 364289, 18767 }" 4285559121 -1 "ff707151"; - - "ec { secp112r1 }" inf 0 "00"; - "ec { secp112r1 }" - "0x09487239995a5ee76b55f9c2f098, 0xa89ce5af8724c0a23e0e0ff77500" - 0 "0409487239995a5ee76b55f9c2f098a89ce5af8724c0a23e0e0ff77500"; - "ec { nist-p192 }" - "0, 0x8497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0ed" - 0 "040000000000000000000000000000000000000000000000008497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0ed"; -} - -fromraw { - "prime { 29, 7, 16 }" "" -1 0; - "prime { 29, 7, 16 }" "160bad" 1 22; - "prime { 29, 7, 16 }" "00" 1 0; - "prime { 4294967311, 364289, 18767 }" "00ff707151e7c0" 5 4285559121; - "prime { 4294967311, 364289, 18767 }" "ff707151" -1 0; - - "ec { secp112r1 }" "" -1 inf; - "ec { secp112r1 }" "00" 1 inf; - "ec { secp112r1 }" - "0409487239995a5ee76b55f9c2f098a89ce5af8724c0a23e0e0ff775" -1 inf; - "ec { secp112r1 }" - "0409487239995a5ee76b55f9c2f098a89ce5af8724c0a23e0e0ff77500" - 29 "0x09487239995a5ee76b55f9c2f098, 0xa89ce5af8724c0a23e0e0ff77500"; - "ec { nist-p192 }" - "070000000000000000000000000000000000000000000000008497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0ed00deadbeef" - 49 "0, 0x8497a9fa119ff34c9c24a156ed0d44a0c5f5d1f19fc9f0ed"; -}