Crypt-Perl

 view release on metacpan or  search on metacpan

t/Crypt-Perl-ECDSA-Deterministic.t  view on Meta::CPAN

            {
                label => "P-256, $hashfn",
                order => 'FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551',
                key => 'C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '8c9520267c55d6b980df741e56b4adee114d84fbfa2e62137954164028632a2e' ],
        [ sha224 => '669f4426f2688b8be0db3a6bd1989bdaefff84b649eeb84f3dd26080f667faa7' ],
        [ sha256 => 'd16b6ae827f17175e040871a1c7ec3500192c4c92677336ec2537acaee0008e0' ],
        [ sha384 => '16aeffa357260b04b1dd199693960740066c1a8f3e8edd79070aa914d361b3b8' ],
        [ sha512 => '6915d11632aca3c40d5d51c08daf9c555933819548784480e93499000d9f0b7f' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "P-384, $hashfn",
                order => 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973',
                key => '6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '66cc2c8f4d303fc962e5ff6a27bd79f84ec812ddae58cf5243b64a4ad8094d47ec3727f3a3c186c15054492e30698497' ],
        [ sha224 => '18fa39db95aa5f561f30fa3591dc59c0fa3653a80daffa0b48d1a4c6dfcbff6e3d33be4dc5eb8886a8ecd093f2935726' ],
        [ sha256 => 'cfac37587532347dc3389fdc98286bba8c73807285b184c83e62e26c401c0faa48dd070ba79921a3457abff2d630ad7' ],
        [ sha384 => '15ee46a5bf88773ed9123a5ab0807962d193719503c527b031b4c2d225092ada71f4a459bc0da98adb95837db8312ea' ],
        [ sha512 => '3780c4f67cb15518b6acae34c9f83568d2e12e47deab6c50a4e4ee5319d1e8ce0e2cc8a136036dc4b9c00e6888f66b6c' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "P-521, $hashfn",
                order => '1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409',
                key => '0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => 'bb9f2bf4fe1038ccf4dabd7139a56f6fd8bb1386561bd3c6a4fc818b20df5ddba80795a947107a1ab9d12daa615b1ade4f7a9dc05e8e6311150f47f5c57ce8b222' ],
        [ sha224 => '40d09fcf3c8a5f62cf4fb223cbbb2b9937f6b0577c27020a99602c25a01136987e452988781484edbbcf1c47e554e7fc901bc3085e5206d9f619cff07e73d6f706' ],
        [ sha256 => '1de74955efaabc4c4f17f8e84d881d1310b5392d7700275f82f145c61e843841af09035bf7a6210f5a431a6a9e81c9323354a9e69135d44ebd2fcaa7731b909258' ],
        [ sha384 => '1f1fc4a349a7da9a9e116bfdd055dc08e78252ff8e23ac276ac88b1770ae0b5dceb1ed14a4916b769a523ce1e90ba22846af11df8b300c38818f713dadd85de0c88' ],
        [ sha512 => '16200813020ec986863bedfc1b121f605c1215645018aea1a7b215a564de9eb1b38a67aa1128b80ce391c4fb71187654aaa3431027bfc7f395766ca988c964dc56d' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "K-163, $hashfn",
                order => '4000000000000000000020108A2E0CC0D99F8A5EF',
                key => '09A4D6792295A7F730FC3F2B49CBC0F62E862272F',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '14cab9192f39c8a0ea8e81b4b87574228c99cd681' ],
        [ sha224 => '91dd986f38eb936be053dd6ace3419d2642ade8d' ],
        [ sha256 => '193649ce51f0cff0784cfc47628f4fa854a93f7a2' ],
        [ sha384 => '37c73c6f8b404ec83da17a6ebca724b3ff1f7eeba' ],
        [ sha512 => '331ad98d3186f73967b1e0b120c80b1e22efc2988' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "K-233, $hashfn",
                order => '8000000000000000000000000000069D5BB915BCD46EFB1AD5F173ABDF',
                key => '103B2142BDC2A3C3B55080D09DF1808F79336DA2399F5CA7171D1BE9B0',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '1d8bbf5cb6effa270a1cdc22c81e269f0cc16e27151e0a460ba9b51aff' ],
        [ sha224 => '67634d0aba2c9bf7ae54846f26dcd166e7100654bce6fdc96667631aa2' ],
        [ sha256 => '2ce5aedc155acc0ddc5e679ebacfd21308362e5efc05c5e99b2557a8d7' ],
        [ sha384 => '1b4bd3903e74fd0b31e23f956c70062014dfefee21832032ea5352a055' ],
        [ sha512 => '1775ed919ca491b5b014c5d5e86af53578b5a7976378f192af665cb705' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "K-283, $hashfn",
                order => '1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9AE2ED07577265DFF7F94451E061E163C61',
                key => '06A0777356E87B89BA1ED3A3D845357BE332173C8F7A65BDC7DB4FAB3C4CC79ACC8194E',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '168b5f8c0881d4026c08ac5894a2239d219fa9f4da0600adaa56d5a1781af81f08a726e' ],
        [ sha224 => '45e13ea645ce01d9b25ea38c8a8a170e04c83bb7f231ee3152209fe10ec8b2e565536c' ],
        [ sha256 => 'b585a7a68f51089691d6ede2b43fc4451f66c10e65f134b963d4cbd4eb844b0e1469a6' ],
        [ sha384 => '1e88738e14482a09ee16a73d490a7fe8739df500039538d5c4b6c8d6d7f208d6ca56760' ],
        [ sha512 => 'e5f24a223bd459653f682763c3bb322d4ee75dd89c63d4dc61518d543e76585076bba' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "K-409, $hashfn",
                order => '7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5F83B2D4EA20400EC4557D5ED3E3E7CA5B4B5C83B8E01E5FCF',
                key => '29C16768F01D1B8A89FDA85E2EFD73A09558B92A178A2931F359E4D70AD853E569CDAF16DAA569758FB4E73089E4525D8BBFCF',
                hash => $hashfn,
                expect => $expect,
            },

t/Crypt-Perl-ECDSA-Deterministic.t  view on Meta::CPAN

            {
                label => "B-283, $hashfn",
                order => '3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF90399660FC938A90165B042A7CEFADB307',
                key => '14510D4BC44F2D26F4553942C98073C1BD35545CEABB5CC138853C5158D2729EA408836',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '185c57a743d5ba06193ce2aa47b07ef3d6067e5ae1a6469bcd3fc510128ba564409d82' ],
        [ sha224 => '2e5c1f00677a0e015ec3f799fa9e9a004309dbd784640eaaf5e1ce64d3045b9fe9c1fa1' ],
        [ sha256 => '18a7d44f2b4341fefe68f6bd8894960f97e08124aab92c1ffbbe90450fcc9356c9aaa5' ],
        [ sha384 => '3c75397ba4cf1b931877076af29f2e2f4231b117ab4b8e039f7f9704de1bd3522f150b6' ],
        [ sha512 => '14e66b18441fa54c21e3492d0611d2b48e19de3108d915fd5ca08e786327a2675f11074' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "B-409, $hashfn",
                order => '10000000000000000000000000000000000000000000000000001E2AAD6A612F33307BE5FA47C3C9E052F838164CD37D9A21173',
                key => '0494994CC325B08E7B4CE038BD9436F90B5E59A2C13C3140CD3AE07C04A01FC489F572CE0569A6DB7B8060393DE76330C624177',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '17e167eab1850a3b38ee66bfe2270f2f6bfdac5e2d227d47b20e75f0719161e6c74e9f23088f0c58b1e63bc6f185ad2ef4eae6' ],
        [ sha224 => '1adeb94c19951b460a146b8275d81638c07735b38a525d76023aaf26aa8a058590e1d5b1e78ab3c91608bda67cffbe6fc8a6cc' ],
        [ sha256 => '6eba3d58d0e0dfc406d67fc72ef0c943624cf40019d1e48c3b54ccab0594afd5dee30aebaa22e693dbcfecad1a85d774313dad' ],
        [ sha384 => 'a45b787db44c06deab846511eedbf7bfcfd3bd2c11d965c92fc195f67328f36a2dc83c0352885dab96b55b02fcf49dccb0e2da' ],
        [ sha512 => 'b90f8a0e757e81d4ea6891766729c96a6d01f9aedc0d334932d1f81cc4e1973a4f01c33555ff08530a5098cadb6edae268abb5' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "B-571, $hashfn",
                order => '3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE661CE18FF55987308059B186823851EC7DD9CA1161DE93D5174D66E8382E9BB2FE84E47',
                key => '028A04857F24C1C082DF0D909C0E72F453F2E2340CCB071F0E389BCA2575DA19124198C57174929AD26E348CF63F78D28021EF5A9BF2D5CBEAF6B7CCB6C4DA824DD5C82CFB24E11',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '19b506fd472675a7140e429aa5510dcddc21004206eec1b39b28a688a8fd324138f12503a4efb64f934840dfba2b4797cfc18b8bd0b31bbff3ca66a4339e4ef9d771b15279d1dc' ],
        [ sha224 => '333c711f8c62f205f926593220233b06228285261d34026232f6f729620c6de12220f282f4206d223226705608688b20b8ba86d8dfe54f07a37ec48f253283ac33c3f5102c8cc3e' ],
        [ sha256 => '328e02cf07c7b5b6d3749d8302f1ae5bfaa8f239398459af4a2c859c7727a8123a7fe9be8b228413fc8dc0e9de16af3f8f43005107f9989a5d97a5c4455da895e81336710a3fb2c' ],
        [ sha384 => '2a77e29ead9e811a9fda0284c14cdfa1d9f8fa712da59d530a06cde54187e250ad1d4fb5788161938b8de049616399c5a56b0737c9564c9d4d845a4c6a7cdfcbff0f01a82be672e' ],
        [ sha512 => '21ce6ee4a2c72c9f93bdb3b552f4a633b8c20c200f894f008643240184be57bb282a1645e47fbbe131e899b4c61244efc2486d88cdbd1dd4a65ebdd837019d02628d0dcd6ed8fb5' ],
    ),
);

#----------------------------------------------------------------------

use constant _SAMPLE_TESTS => (
    {
        label => 'detailed example from RFC',
        order => '4000000000000000000020108A2E0CC0D99F8A5EF',
        key => '09A4D6792295A7F730FC3F2B49CBC0F62E862272F',
        hash => 'sha256',
        expect => '23af4074c90a02b3fe61d286d5c87f425e6bdd81b',
    },

    {
        label => 'python-ecdsa, SECP256k1 (1)',
        order => 'fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141',
        key => '9d0219792467d7d37b4d43298a7d0c05',
        hash => 'sha256',
        expect => '8fa1f95d514760e498f28957b824ee6ec39ed64826ff4fecc2b5739ec45b91cd',
    },

    {
        label => 'python-ecdsa, SECP256k1 (2)',
        order => 'fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141',
        key => 'cca9fbcc1b41e5a95d369eaa6ddcff73b61a4efaa279cfc6567e8daa39cbaf50',
        hash => 'sha256',
        expect => '2df40ca70e639d89528a6b670d9d48d9165fdc0febc0974056bdce192b8e16a3',
    },

    {
        label => 'python-ecdsa, SECP256k1 (3)',
        order => 'fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141',
        key => '1',
        hash => 'sha256',
        expect => '8f8a276c19f4149656b280621e358cce24f5f52542772691ee69063b74f15d15',
        message => 'Satoshi Nakamoto',
    },

    {
        label => 'python-ecdsa, SECP256k1 (4)',
        order => 'fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141',
        key => '1',
        hash => 'sha256',
        expect => '38aa22d72376b4dbc472e06c3ba403ee0a394da63fc58d88686c611aba98d6b3',
        message => 'All those moments will be lost in time, like tears in rain. Time to die...',
    },

    {
        label => 'python-ecdsa, SECP256k1 (5)',
        order => 'fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141',
        key => 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140',
        hash => 'sha256',
        expect => '33a19b60e25fb6f4435af53a3d42d493644827367e6453928554f43e49aa6f90',
        message => 'Satoshi Nakamoto',
    },

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "P-192, $hashfn",
                order => 'FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831',
                key => '6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '37d7ca00d2c7b0e5e412ac03bd44ba837fdd5b28cd3b0021' ],

t/Crypt-Perl-ECDSA-Deterministic.t  view on Meta::CPAN

            {
                label => "P-256, $hashfn",
                order => 'FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551',
                key => 'C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '882905f1227fd620fbf2abf21244f0ba83d0dc3a9103dbbee43a1fb858109db4' ],
        [ sha224 => '103f90ee9dc52e5e7fb5132b7033c63066d194321491862059967c715985d473' ],
        [ sha256 => 'a6e3c57dd01abe90086538398355dd4c3b17aa873382b0f24d6129493d8aad60' ],
        [ sha384 => '9f634b188cefd98e7ec88b1aa9852d734d0bc272f7d2a47decc6ebeb375aad4' ],
        [ sha512 => '5fa81c63109badb88c1f367b47da606da28cad69aa22c4fe6ad7df73a7173aa5' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "P-384, $hashfn",
                order => 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973',
                key => '6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '4471ef7518bb2c7c20f62eae1c387ad0c5e8e470995db4acf694466e6ab096630f29e5938d25106c3c340045a2db01a7' ],
        [ sha224 => 'a4e4d2f0e729eb786b31fc20ad5d849e304450e0ae8e3e341134a5c1afa03cab8083ee4e3c45b06a5899ea56c51b5879' ],
        [ sha256 => '180ae9f9aec5438a44bc159a1fcb277c7be54fa20e7cf404b490650a8acc414e375572342863c899f9f2edf9747a9b60' ],
        [ sha384 => '94ed910d1a099dad3254e9242ae85abde4ba15168eaf0ca87a555fd56d10fbca2907e3e83ba95368623b8c4686915cf9' ],
        [ sha512 => '92fc3c7183a883e24216d1141f1a8976c5b0dd797dfa597e3d7b32198bd35331a4e966532593a52980d0e3aaa5e10ec3' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "P-521, $hashfn",
                order => '1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409',
                key => '0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '89c071b419e1c2820962321787258469511958e80582e95d8378e0c2ccdb3cb42bede42f50e3fa3c71f5a76724281d31d9c89f0f91fc1be4918db1c03a5838d0f9' ],
        [ sha224 => '121415ec2cd7726330a61f7f3fa5de14be9436019c4db8cb4041f3b54cf31be0493ee3f427fb906393d895a19c9523f3a1d54bb8702bd4aa9c99dab2597b92113f3' ],
        [ sha256 => 'edf38afcaaecab4383358b34d67c9f2216c8382aaea44a3dad5fdc9c32575761793fef24eb0fc276dfc4f6e3ec476752f043cf01415387470bcbd8678ed2c7e1a0' ],
        [ sha384 => '1546a108bc23a15d6f21872f7ded661fa8431ddbd922d0dcdb77cc878c8553ffad064c95a920a750ac9137e527390d2d92f153e66196966ea554d9adfcb109c4211' ],
        [ sha512 => '1dae2ea071f8110dc26882d4d5eae0621a3256fc8847fb9022e2b7d28e6f10198b1574fdd03a9053c08a1854a168aa5a57470ec97dd5ce090124ef52a2f7ecbffd3' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "K-163, $hashfn",
                order => '4000000000000000000020108A2E0CC0D99F8A5EF',
                key => '09A4D6792295A7F730FC3F2B49CBC0F62E862272F',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '9744429fa741d12de2be8316e35e84db9e5df1cd' ],
        [ sha224 => '323e7b28bfd64e6082f5b12110aa87bc0d6a6e159' ],
        [ sha256 => '23af4074c90a02b3fe61d286d5c87f425e6bdd81b' ],
        [ sha384 => '2132abe0ed518487d3e4fa7fd24f8bed1f29ccfce' ],
        [ sha512 => 'bbcc2f39939388fdfe841892537ec7b1ff33aa3' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "K-233, $hashfn",
                order => '8000000000000000000000000000069D5BB915BCD46EFB1AD5F173ABDF',
                key => '103B2142BDC2A3C3B55080D09DF1808F79336DA2399F5CA7171D1BE9B0',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => '273179e3e12c69591ad3dd9c7cce3985820e3913ab6696eb14486ddbcf' ],
        [ sha224 => '71626a309d9cd80ad0b975d757fe6bf4b84e49f8f34c780070d7746f19' ],
        [ sha256 => '73552f9cac5774f74f485fa253871f2109a0c86040552eaa67dba92dc9' ],
        [ sha384 => '17d726a67539c609bd99e29aa3737ef247724b71455c3b6310034038c8' ],
        [ sha512 => 'e535c328774cde546be3af5d7fcd263872f107e807435105ba2fdc166' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "K-283, $hashfn",
                order => '1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9AE2ED07577265DFF7F94451E061E163C61',
                key => '06A0777356E87B89BA1ED3A3D845357BE332173C8F7A65BDC7DB4FAB3C4CC79ACC8194E',
                hash => $hashfn,
                expect => $expect,
            },
        }
        [ sha1 => 'a96f788decaf6c9dbe24dc75aba6eaae85e7ab003c8d4f83cb1540625b2993bf445692' ],
        [ sha224 => '1b4c4e3b2f6b08b5991bd2bdde277a7016da527ad0aae5bc61b64c5a0ee63e8b502ef61' ],
        [ sha256 => '1ceb9e8e0dff53ce687deb81339aca3c98e7a657d5a9499ef779f887a934408ecbe5a38' ],
        [ sha384 => '1460a5c41745a5763a9d548ae62f2c3630bbed71b6aa549d7f829c22442a728c5d965da' ],
        [ sha512 => 'f3b59fcb5c1a01a1a2a0019e98c244dff61502d6e6b9c4e957eddceb258ef4dbef04a' ],
    ),

    (
        map {
            my ($hashfn, $expect, $blksize) = @$_;

            {
                label => "K-409, $hashfn",
                order => '7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5F83B2D4EA20400EC4557D5ED3E3E7CA5B4B5C83B8E01E5FCF',
                key => '29C16768F01D1B8A89FDA85E2EFD73A09558B92A178A2931F359E4D70AD853E569CDAF16DAA569758FB4E73089E4525D8BBFCF',
                hash => $hashfn,
                expect => $expect,
            },



( run in 2.147 seconds using v1.01-cache-2.11-cpan-e1769b4cff6 )