https://github.com/xaptum/amcl
https://github.com/miracl/amcl
Elliptic Curves
1. ED25519
2. C25519
3. NIST256
4. BRAINPOOL
5. ANSSI
6. HIFIVE
7. GOLDILOCKS
8. NIST384
9. C41417
10. NIST521
11. NUMS256W
12. NUMS256E
13. NUMS384W
14. NUMS384E
15. NUMS512W
16. NUMS512E
17. SECP256K1
Pairing-Friendly Elliptic Curves
18. BN254
19. BN254CX
20. BLS383
21. BLS381
22. FP256BN
23. FP512BN
24. BLS461
25. BLS24
26. BLS48
RSA
27. RSA2048
28. RSA3072
29. RSA4096
Choose a Scheme to support - 0 to finish: Choose a Scheme to support - 0 to finish: Choose a Scheme to support - 0 to finish: Choose a Scheme to support - 0 to finish: Choose a Scheme to support - 0 to finish: Choose a Scheme to support - 0 to finish: Choose a Scheme to support - 0 to finish: Choose a Scheme to support - 0 to finish: Choose a Scheme to support - 0 to finish:
Testing MPIN protocols for curve BN254
Master Secret= 014f1b45c488f1649e3c686076e4e669a902c1488ed7b9494a7be0186a2ee0d2
Client ID Hash= f319830bd08041e5bc2961538f2547f704477d6dc94f683d0c6585ec67706b75
Client ID= 7465737455736572406d697261636c2e636f6d
Client Secret= 0413cf9dd07b18e824bbad492ab93d5b917898ea3cea45b7717efe6c3a0305c79812318bff79bfb80e347d3c08b6ae3c9497764100050169ead592e0db04e8ef92
Server Secret= 01bc731d4a95f0a5ab0144a94f523ed022773e16eb00264a5a35f5b10a021a850eb2ed1c28ac2c0ee353066887c4a92f0d2364a4f4c39a656d16ee4ea41468b10631fe7cd6514b8cf3d7e7b8bb82dbe62a10f2e5104efff1f8b56dfa5344f7280671be1c40b94d6f1777658ad04d7efe7196b4f8f7d67a17ea148415776e7671
Client extracts PIN= 1234
Client Token= 040303a1056f2fbc434558a91e510193eee1ff7d9cd22d8a7d868c1994a1983a40023155791accc6bdf07f5a1cb24dd301c67abf08c6c8e03a2dc4fc8beaaa6efe
Client gets Time Permit
Time Permit= 0420c5937f8f6ff1a0e2747506b4693ab0dec9078800375f65d5710713ca2f37e01902e2f63994061660fd62ceef6e80a3d3bf90338fd52dd96e9d4ecbfac21cac
PIN= MPIN Multi Pass
Server says - PIN is good! You really are testUser@miracl.com.
Client Key = f3a5ae33f5d6daeed7ac0de5dd8a76fe
Server Key = f3a5ae33f5d6daeed7ac0de5dd8a76fe
Testing MPIN protocols for curve BLS383
Master Secret= 000000000000000000000000000000002d67d0d3fd6ad21d13d68370a7ce4fed2c0492f4edbd5a6f7b0888039fd1caae
Client ID Hash= 00000000000000000000000000000000f319830bd08041e5bc2961538f2547f704477d6dc94f683d0c6585ec67706b75
Client ID= 7465737455736572406d697261636c2e636f6d
Client Secret= 0446692a1f412446a398c7b2eeb71a2eb26436ec86542c93d0d5a9a29f82bbe32b688e012a4c2747267f60bf2746545d3f04a5f885837dae1a8a88b8da49488caa877d6e9ff711651849cd67406317267c52e66017a21ad2e092022077663226f6
Server Secret= 40add6429597dffd06fb7e69b5bc9a12e8acfa8ff7f94d9854803aed98e96b17d07d0f9f4a779cff02723dd21d99e76a348f5354f2d247f5d6ed4400e31bf79aeeca6784c1ce6d7c2139da0556f63162bcaa809df0279fe7c63bceb665fe724053aad2aacb7fdec2b9efcfc7f8ef5222f2f2ce45add4286199ae14c5152bc9c6ff6f80bda9d53e6457bc286cd200905925fcf261f7e4128032133b2cb84543f516db94d4f30ce67679a875d8c9d4e9d9ee7c25f96d950148f3f5d7bd21a909b3
Client extracts PIN= 1234
Client Token= 042f08853087377965d66844b46237b51e88404173e117ed4ad97e3c5775f5612544316b808865325ce35d5856823ffde6460f39e9b1ae712297bd1b79b6702bc74dd6c1e1fcbd532aa0be958c7b90f3172a7a3b0c587542e110683d2fba622b1b
Client gets Time Permit
Time Permit= 045348cff01d6f756355c999540a6cecb0e0415a533eb7bc4a97248b495a606c16424cf96cb33c776cb21111cacbd6fcf022a88f5e1a7d5fc1d8374ac1e981663303608582c5af6f53237f4cc96f9c75a1c7a1f1b1eaf3723c0c27aaf5b762c947
PIN= MPIN Multi Pass
Server says - PIN is good! You really are testUser@miracl.com.
Client Key = d455c9f0cbe7a3d57a8c4c7f17d87ba4
Server Key = d455c9f0cbe7a3d57a8c4c7f17d87ba4
Testing MPIN protocols for curve BLS24
Master Secret= 000000000000000000000000bd69d0a37414590935e99d33b5ee51ec8ef749a3679a892f7a93a6b1bdb90ea7292d85238e6fefefdb94277d4dc671a4
Client ID Hash= 00000000000000000000000045e7b8d8eef5142494d4a60c24812ac99a1b1b99466c1fb82b67cb545c7ceaf7be12ab671d0b54f65e2d7b365dadfbb2
Client ID= 7465737455736572406d697261636c2e636f6d
Client Secret= 0403af37ae5dd9c380eec3164e46aa15a4170ec0b9380d6055a9259a89a649561df82ee473f24ae12d4e2846d2f8403fc4fcb6fba99f039bedf17f54d200adab2bd6c1c85edc2b974272e609622bda422497c9edce9458f3375a0eec7984916b485991071f8be2778040cc1fd42dc39f290e08d3cb190205fb
Server Secret= 19cf1d46c402b4473f5bf2da6c023a11f43097289618d5d35fb001c73778576bc8ee5448702acd9ce3c97d410c8b614a64060927b5359fd90d9862c707005af782320c06042d6241745e8c5ccfb4c02ec5205f6b6e22db35cc02796a2177580655eae8b0175d5e32e9bff73b2aa3a055e8c6a1db98403eea3efd0807797213b52b0f1d4aae15f03c7e5f2aa0f49b1ecb54fb792721b66eafe5a80febb4e5497a5136b0546ea1904588a7e01495cd7ae9f2933ad44ff1c7e74d4e2cb8eabaa433104430d585246d2db3e8abc82fa5d54f5ce772defb76a32f007473e7886163a32066996ba0548b8f063b36e4fd4ce4a74e4609df4bef2f4e72d38d765380777de5ac6082f0497475315cae1d2159cb97df3da70a663d1ac8523aeabda42e42df395a84bc99737984cf377e7e2ae97e739e1b2bbc92b303806435ab645146e8f7c6546824610aeacde610f8d6617797fac3d6540e342177a1afbafe14a300ac6f8f4f1d6a0f8e905e2b5f4531a804b4604fa49c87201dd912b9138c8e09e05a6932ed41aaec56d1b08b7fe98da1e4d2d869bf2e3ace82e37e9094f59be4d429d795a98d8e515a62c082783a32ff699f6b80e3f7afa7284c6dfb7d0d565245e3fb0a3a341f174f189337df69cd7624d72fe5a1372cf1e434dbfc7a10e4bdf36ef2
Client extracts PIN= 1234
Client Token= 0435edb841430a27a60eb6f269aefd4407b61cbff6fc337d32705ab7d9cc42a8371b731d13ffeaafafdf486f84c10455d4856a85e34e3a9969265a54ea1b4ed310ecae72e1e26d8be023918b3f58b9b5da55c20eff27554200fc8abb510e176e258321969b5a10bc4a1e79284e79351b342f6d9098c8dae19b
Client gets Time Permit
Time Permit= 040090e86e1a0ea0a94d0f88a58082fa268ffacf404bc39cbfe93221a665eac9c961974578cf96e80604136de5688fe325871a29576b3f207b38bc8c8b01e2d301634c8d37b2122a03c27b7c406a68b5665696c44dee59c6dcfafe43f6e3555abf1021459a56d6b09a0c772527bf03fdd7cd621cfaf4ca9f59
PIN= MPIN Multi Pass
Server says - PIN is good! You really are testUser@miracl.com.
Client Key = 78d097bae9ed86bbde57635a84a61e568a13f6a6e3440098
Server Key = 78d097bae9ed86bbde57635a84a61e568a13f6a6e3440098
Testing MPIN protocols for curve BLS48
Master Secret= 000000000000000032d643c28a5bdcb06ee9ab3193d3d8afddd9be1d451b7cccf7f3df910db32a7d3d1f30fba059fbf8ec424d38da2173865544bcc4f8afc642cc7aea33ccf8
Client ID Hash= 000000000000b14a5dd3a04f8cf1569eaf6fd2ddb27545c55237e0c152b18534f02f87645275695583abc11b175ddad2e7c50c0d5e7321791d824e5290e9599afc3a0d9a516b
Client ID= 7465737455736572406d697261636c2e636f6d
Client Secret= 040d1884ef11b0ae1febf2a2a80f3def5a7c369a24c52dea3391a8354703d2c56b5d8a5a68f3e358b74d0518072dce76417a038f562cef01c989d0b0893da234f0d0c71e0cdfdb02cb5fc3ac4d85c6deb6fce8fbe23f1608d25e81841b28017a6be69b5f952992068670868ff459ca6090449763c4a5e92cd83780dfdff0317d95736ef150952c3394084495e4
Server Secret= 0b125661e50393ce98f67f8072cf5876a65d4a0e95a01dbfa372a77fc742831d8c127fc3f5020511afa259400f00a8a1b4f2daae1ca656653aca042843650ed3e76b63c00ec50b01b8292f1127ba8573ace55b54056cf29bbe5b68abdd5c75ba6c255d10c18342dfb67fd0c4466dc53161d8c0cbe835824389c42b3fccef78227536554183ef2725d39ecce50aef11fa2ae8cab6698d3fe28190d6b7f6418174da27f5a302c83bc3e4bfe7254393e93799c6a2d825a1508f774e5d147643bdea943bd513082e7b2639cbb9ad70a05b2a19c70fb6b605ca5aef6134ea8137b3f300dd6df54ecebe95d0d2046682e17407800bb1dbd75fa246ad43c15a950aabdfe9144855d9de2b9d4b1149c82fdbf819b1256f3a62a8318a0591719a1c7b1d6a679168c8f6ac75a45771f2d7dadd7030aafbe1f5f338408f16c6addd4f92b25447f711024afc73754babdf65e8b8d0602582e1d9faf967c21a77dfae37f00f43a0af664664833cf1f7f20059b590dcc6cc436ba58cfe3376f49b62c4ae0e69e5b35c3cab15c89adad074558805a9262a58a9d07239856b1f680fc1631808f8d387a867f709a14b5a3b11c64c1297a89a1843d30fe914481b7270e8b772603bd0f1ad45423cfabb55cafa39c80ad85648e51c8ee4149d00683eed380bef0f443b791825ac0cab2088c2ff0daf1a0cb9118fdb05dcd0afba11a5970b8e9a0967d52a9c95dbece9794a42dea0853eb24bdc88183839672c9db0beb42719152045fa4e3b7b7912b77905c010336e0c2a097b0b0257e01c7880e12a1f34f2e261b0917158a5217deb9b763efa5f8f5eee578763f8b60debf275e1ba325b7f06b591ff979b939dacb003932062c87ca18fb0b5733719c7a4950dd061143ea0e1a5733a9ce0256e5b47b239840e967e7b5d3d65f89add7b5c91e5c60a4cc640337253df5badd843e59d7c01be150f1e0912bd1a4c62966122ba1271ce9cfa7801c909ef637ff70a03efb7c380c37f58b3dee6b2c4c1bb09b0aacc532aeb80afc292e316cf9d2d6ba45bb884efafca3e59f72c8183a95fcb6bea15a26ec795a8ac2fdbdac10a088044cdd20e6609e7f5277f3ac4330cb6693e4d51e3850c08be9e8eecdcec285c791a3ca00a1f75d674ba12557790622dbfd4078cd2176923da2ef5d37724e027ed714a126e0f0318907d40576b44405ad9af097dd1464f583d0201d7be3a2b3da8c99e7568a52810ac6800b4541c1b9143009fb31107f951601c597d7eadbe0ec0d17d036dbb43bc72b2b7063813029eb2818fdb9ee4bf4800b8b5e9c4088ea5fb77a7108bcf48435887bb844b37d391dcef7fc899e4ecf0c69cd26feadafd036e74158f7ffbd2d121a03b40fb08271aa50f9ff78a7900963ac6d0b3a3d025ed71ced95d5f848f8ed4ab3752c1aa7c06facd5b81f7a6eab77d42b180e24cb8c5cd91f4747842a77f55a15fc7253fb421e084f5db74a368035637ef0a10db1e7eeeaf117d9309f80c8cb21b6dcfd09e822f2dad8fc1db476cf814d163c5dc4580e563b07058b48e95b77bfcf2bd7a2beb888ff5adba3bc690b5c52ed0a1
Client extracts PIN= 1234
Client Token= 040b169349426aeb26b3bcf8d78e7dbb7fae38cf7a59a5d58372bcf02e87d410e6fe25986f6f371f02823e0d506b78074e2f4ef548866de7be64189e92b129c7fbd8c31dada12e0f673c3eab2bc5b70e2b14a5476c8261a5d2df5b7910a9f682574903083109ad74bbef3a53bc078add6129ade3f08d9207e58ee4904b7282bb276adbcb5fcdbfbbcec557681a
Client gets Time Permit
Time Permit= 04043edc3eed451bc76d45ad0b1f3b6242b7a0ad3f02ac8568dad23b7277e257180486b9f3471ee9fa7efb970edbf4b55e17a000dde94bfb613f0230f1b13b2370bd9e376d197206db83a4bcccacceae48a04ffca25af75acca07a52803599cfd6bf2215b1de441dd3bc0f9b84fe01cfeef4a3775428538bcab81f8121a2adf6ae20cafe16f29ecf0347274644
PIN= MPIN Multi Pass
Server says - PIN is good! You really are testUser@miracl.com.
Client Key = 6fc60ab62470a17abd7e5663341c855be00d3c9c38a3f018de65ed9672d678a2
Server Key = 6fc60ab62470a17abd7e5663341c855be00d3c9c38a3f018de65ed9672d678a2
Testing ECDH protocols for curve ED25519
Alice's Passphrase= M0ng00se
Alices private key= 0xe79fcc5b7e499a74f20d854833a7f5a0286543a4ea930b0c16a366a0007ba397
Alices public key= 0x041e74e47c158e5c0ea6deeb19f9997e8fe8e4b59eb944a7b28ff651e43ffb27c02cefab0ee7e06dd8fac43d73896ad18fafad5d3f1efbb23052b8d96d863676f9
Servers private key= 0x06a9c2edd367a9e4e5e621491d1b8a8ffcd77af53bca1060c544ef9a2faaba32
Servers public key= 0x04437e8279bc70e22326f2c38f1f3d9de8f33ada5e76e3f4678597863ebc2daff23f487f18cf9efc30d9d9198ad2c4d3fc0ab05e28538249bb01ec7161c42abcc1
Alice's DH Key= 0x9d11973bb3c32695a25ab0c5421e1d38
Servers DH Key= 0x9d11973bb3c32695a25ab0c5421e1d38
Testing ECIES
Ciphertext=
V= 0x047f74e8285ad38ee8c9f968cb364ac4c840ed3447d6d9a6511069d46ef5a47d714241354b6c82c0bb23d384db76a7501be15af8f960ae34198a121a234e71c8dd
C= 0x8e9feae9867e78f98bdaffe61c41e88bf17cad4472e34cb188346d7a9a2da1df
T= 0x194a999a62cfea0131afd249
Decryption succeeded
Message is 0x000102030405060708090a0b0c0d0e0f10
Testing ECDSA
Signature C = 0x0ab02109f365adea33f808f9deb41cd40441ed8df5f9c035e7f62fb698695e46
Signature D = 0x0b6da43fdcb023806384fe8385b2418b2b8c1c3896e19898c4c75bf1d3c86570
ECDSA Signature/Verification succeeded
Testing ECDH protocols for curve NIST256
Alice's Passphrase= M0ng00se
Alices private key= 0xe79fcc5b7e499a74f20d854833a7f5a0286543a4ea930b0c16a366a0007ba397
Alices public key= 0x04291bd9dfdd7463ba40cc3ca25a5dd28d694944c002f84a136681fdced8d0b02dc807fe80c1956be9802105893f0e16159104d047d93d30a9704535223b6598ac
Servers private key= 0xd380d807fe138d8c021052150ba45ad5f6b744f91d2b2285c6cba77d2f92a3d7
Servers public key= 0x04dc2eb04d56599f46a615c20776ea3ea2fffe476d83dac1b124557741885f478a2c0c1c7dedee4601ae11dc42013b5400425bcd3f5e2f01dbf3dcba6467727129
Alice's DH Key= 0x38a2acf81b3d784314fa9c5ac5ce9b77
Servers DH Key= 0x38a2acf81b3d784314fa9c5ac5ce9b77
Testing ECIES
Ciphertext=
V= 0x044f1ee1c6bd3750ef1450c724688956edda79ad83f2adbe8fea728f5a0f53414ce2f29331bdfca0f976f5a81611288d906c31a16407693f9c6fe4584b1a810932
C= 0xebfe481938fa6d78769e8a88b3298e6a6d7f223d9ee98d52fb48a3149e1daaa3
T= 0x9852bfb89c5f860439b8baf6
Decryption succeeded
Message is 0x000102030405060708090a0b0c0d0e0f10
Testing ECDSA
Signature C = 0x4bf5765d16baddfa4ba5d04f5fe67f72a27b51d1685d5183545b548693cb6bc1
Signature D = 0x099add1f95536463df221fddf26aa9e2a581bc9ae96a10be99a0a817d8f8fb5d
ECDSA Signature/Verification succeeded
Testing ECDH protocols for curve GOLDILOCKS
Alice's Passphrase= M0ng00se
Alices private key= 0xabf0d22f4c44d4a071b6dff53db25ef801f88e8a6013157b95967d8b814860721baa7610749e0a272baf4f22745affb2b09bafe7725e6e36
Alices public key= 0x04de651393f565845ab5755444d6ae5dc2cb4a7814a7bda29a79ff51d8ede3f990e202f1a07fd424b4654ce78716c596ba33239f575787fdd1b678ec84819c1bf8e3f34cae5d04e144bee2f6eafda62bf28256b08b6b56634a338bbd5d10fce4e86c7161e2672458833bd63d983b4facd9
Servers private key= 0x055faf2b535396d71b36d867223ac302d525cfbc5d2ed288a5b13793e1068b9bef1d8bb16e1a7686734b22a85a658a7deb1f154f03b47897
Servers public key= 0x04389a94b26a2ec09a8b1dd47ca4f4ac222d7e1d56ef2f99361d538302bde7f9201015b000edf01ef0987396f393675f6c182ebe622defd63e845cb8bc3bca72b40110d152ed26b3cf51fd7f9e65ad8030a6e6820009be50c3ce84e83884d3f37ff74de36926747735f4055443d6d07c6e
Alice's DH Key= 0x3c9fc155fbd15c5be0ae246b6e922fa67767611685e3d822e73ed9d22da1c3a1
Servers DH Key= 0x3c9fc155fbd15c5be0ae246b6e922fa67767611685e3d822e73ed9d22da1c3a1
Testing ECIES
Ciphertext=
V= 0x04b051c1e2239a01acb6be2031bf7d68b09236d7233c7084fded7bb0f1149a0e89abc8912eef9c0393549cccbf9e3fb761a43a6cc0e72e703a94be885ada9a0f05cb72b7692024cd4a55900609d6332f97f11ec48a5be2e68231732999e1220e04870dda0bb5019d7fb467c71ae09fc455
C= 0x9b716bc7d3f8222037965e28964bce209caebdc62be0b1fad5d375ed7a2b1797
T= 0xeca440350a83db5e84678cd6
Decryption succeeded
Message is 0x000102030405060708090a0b0c0d0e0f10
Testing ECDSA
Signature C = 0x15eeddc0a586ac66b3a3dd9115d9fd3c95adeb31cba7c103632677233d5a85f9505f30e3874375a3d49fa1de875ba5cfec476f629116f088
Signature D = 0x1aa9b5d213ecca13b622f7e50c9cbded991f4384af6c1ab1cd60d3d1f690efac9470f27bdd0e43d68203fd98a48822e0c15768f7ea548c42
ECDSA Signature/Verification succeeded
Testing RSA protocols for 2048-bit RSA
Generating public/private key pair
Encrypting test string
Ciphertext= 34de0cf987b75dc3f661207850bcf2c2c19dc368f350b032445338d9ea02c3eaa9eb75de4e794d5cde3b145e936341b76fbf3cb420a0912f92d185c8479a19c4dc1775a299c621e785a2013f12be9a0b8ed3fbca565645870ab1ecb11f55d274b1af8e0f5b782baf21ec71f65f3b5ff8e143cd8a025500ab0e94e75e3454393505e70caafb5c83a6cef6b5fb09a468bba2121da62eab47d75d4afd832274393959c6d038cedc5de661a0746f676af54600e2413b799149c4835bae551c02826a87688b4cfd7f8840db0eb00c12e8840d455617fc724908411de189a73c7e880762a4f997f34a97bd32e81b03c050620c76db04e1e9ef1090adf9af3b8ca8cf9d
Decrypting test string
Decrypted
Decoded
Hello World
Signing message
Signature= 4095609e5b3d0d5a749af13deed3043a6e8d72455996ecf945de0a8cb6221ec482f44a74e6ee60f6c62bfaf6dd3139f74153d1e598192fdcf7f8b2b2f82bd3bb91d1cc92eb363345f6ae9e87ab2b6716682e5607eedc88c0cb073731cbaf7bd62101fc8dadb5643c1296832a76460a87d5da52b91e52b67754f81d165ba8ecc99b0af989d824951d534871c9679c02a6fc6297d29714d3cade5f6edf43813d0211139f0691d0e4c76ed91a58871d947d8a3ed8a6ea283b638f57c220f922fd27690e83b1d8e89743483525a56eab35d11427d99021a16c05caa3b02e603e849f809424487e85dcd2ee26c9708ff3128216af7d29b443df4056b2d127098879c2
Signature is valid
64 bit build
Testing BLS signature for curve BN254
Private key= 0x03ea176e8e9375e955e5190e71561b9edd23e4ccff296db6289d739b1e5317fb
Public key= 0x068a4065906f4fa5c83a0a755968f10e68e9d785e6ebab8a9b54a20cb5b43a870ccdb1c2ae1871354824d89bd4d84a20a43282786d983d28afa0af5199f8add8222a57ba93834e99fd17e88bff5a4ad4623d3d6a1dea17a35e9106880fa98591049cca10ba22a94cb04a6d638c115a139d67f9a28c778299812be40a55ec26c5
Signature= 0x020f08f361acd8e4003a0e76894066090a75848759dac8ec6d2c5a76ef87950411
Signature is OK
Testing BLS signature for curve BLS383
Private key= 0x00000000000000000000000000000000135d3f4c9be18603644fc3ff53e46e8750bd337ff467e983355268fca29be8f5
Public key= 0x15d391a783fc072d21f9bfd8c7f2058ef86915f49b8f030f0c9f17224cd7f5a199cc11820da3f439c4d0d5ee4920c049377b54202f7c33dd7d27d33756ef86c9931f8b6210f0c0969b512844b315774eea8ab52eebc15e153b96ce439e6618950649a36b2279a6208f645e6443d33c9c7a85b4440d04d9f6852ee87ed6351ea486158e01bfa37a302a527fbb48f80bce4487d8648c3bb29b7e4fbfab73e334b4f7fb006a0f8db487304915c03d499d2459c77bbe592d4ade5428fa5bde9e8485
Signature= 0x030818f5b9a36c9eb5c2d40c118a556eb6ea7d7e4b1bdfa0522949181756285dcac15a40395762eee627c8d7b2d5b86175
Signature is OK
Testing BLS signature for curve BLS24
Private key= 0x000000000000000000000000578f34a0bd3875336247421f6fbc52a9fa5e02d3902356110812a45ab06bace2d4eeae05ec1d8c809583af4a1836ceb3
Public key= 0x30f290b52ef263db69d4fe4cbf31c77ab564204be1e61014297df957331a1f8905d5ed60fb02f07b1008ad70523d064d85a39282422e426e0abb773808713aea53b1f8ba1a66829d250831d6cf48f29b90432892a5109260506b94d8c4bdb01e5a3211050e41e991785b28eeb6d855e382acacf4adc304bb4d0c7ef7a5f946028ba206afe477f250365cf333fe97dd5977986592e9bca9350a4454ff4f24cf828b48862e001932c7d12cadbefe98aa2634c448870f990c20d8b31f77c117775b90d240b9c4725b101ac3d6a47a88b5b1b7e3f4bccfa6e219a1d5c8bd2511e70d72dffde429638ef075325923a7298f7431af95d3784ea3f4edc637a949bdbb0192be43567c1556b5fbd276e74ed1cddf9beb638e68b84ff8335ce5165b2ae5c430688e7095b6b5e5ced7a7d549b9542f4c8558e42af1066c2c1a311f16e60818ca1db1747e36117f6ff5f0848ce87f16fb4680db759153567a636d99a3cede9f57cf05800ddc11ed54183d290e60311a6ad54d0c99b59f87c5fa3a2d4e7fbf9d43532849caec264284b4f75b81e773f90e05dd92cc988a3d6fe54c1934d19b2c35a6a8f3001cb318e22f1630aa1053d016bf9a7701eba591c3accd577207a63056f93d1f80d5d4f2ea0904116e5959f27fb7dd59e2c7b9a5d25273a476ee4335
Signature= 0x030a6744a92c1774b9234566d57a041433fd0b5284218b7383f04ca4427a6cba4f6b47d3c9d98870a733ea17d876bf3bc6f085d327ec47c6cb8164d223
Signature is OK
Testing BLS signature for curve BLS48
Private key= 0x000000000000000074000cba8ad57346b6fbf1a9ec3e11d015e56fedd458f599a4cbbb3655699aff61243135d363efbc2982f855f0f54c5662d752140d6ce65677283d6d415c
Public key= 0x0d7f7c6a1c905ca3efb6c2dcaeeceb55e418ef1fea707dc86b2103c218a3c1d63f12dbfc1d835d38247254bf6d483c4726cfbe68493c1c6971514a5d811f85f602e4f8e625c70fa7cb70834c41f8cca4c62b5bda31efd1d701d6f4b9795f60c7c745927ce75811834b4728568908f41c2f96058388b3975352618dc5ffa2f9fc41a2141786c1ce301d0030670656cfdfc6a7a855d0fb0df00b4f3a0d73cf7456c1b7040f875710ef51e6a6151d50874fa309d191c612ac513e80dfef012de41b7e87e1934b06bc73167492fb570c5b1679c20eb718c59892e542b6f473e44994e132cec261e707db5c326d5b476a26259622384fdc60d2b1c4405e53267c56159ed88f3448fca8acc330fb46557939319623ea68d7358756098040ff6fe4251d352f60e79498a950ab34e6ebdcb7b71edc335dca7f8140790e3b23606a48e85bd8202096e385d3d19cbbdc01630d6e410ccd08d59cbca0b19bf1a18f279001e277f658483fc06359040c5b348f332bebc01541d6efd58d144e88f6276626227399b4da27fa2bc53ac8acd683b988e9a17c176c51a87d9c438d8b75b2b15b4a106661c78d0cc2b6ecf4418bb320ab9b6425a7ca8d20871bdca7141c39a0f6c5d8478b6b2f06de0dc80ceed6d219cfe7d529f46d9a7d103410878295cc03723b2e280918369a40cce6f22d01ae563533085b19f6c82a8f9ef08d6a823633f58df02b2d7a3e9a462b0ed8eb5a329938ffa6b9976f37c75f3d976bc7c18baf4c23ba50c85f6926e110cec2759d36c59b0d9e080ae744ca80ee23d40bd579bc0efe64db9990eae339cd45d52febb7053585bd275da659c0540de6818193ed8ef9333774bd583d971cdeff5ae041b01aaeec3f16ca7455932b0413a2437efb85db1b94dad5f0e0e7d94a531a1986d2a690bd346218be713bc20a807529c2f16ab1b37664251ea6380031afd0cc46ab4ae79d6e8cab93ad26f9f5c10a22878201908afe4a4692922ae0c2047aae860e7e7e1804cab75b501f4dc4947a5d43e7748483f5da763e85dcbec8d43f75c0f7efabe1b8d91023526ba0d668cd32e1307a3efabf54d80856805ac75c792082cf990eaf1d974d6b4079aac3f040320753cdb3422e83e1b9913cb1ce08f185ae9d7b907eacb313b4ab3efd7a619b7a9ec2b46d0173821a08ead6c9e1680268557c1be3d79652f855be3ccdba284a149fbd1318b11737aad01d458ec60705615732d84e316a0b5ac77a46e1cd0f35259c16235a3b23b2e324854adc1c2b4a0b29fc12370603fce2ba6d167184c7b1f764aefb8686e585997c029b52b74784f56de0cb181aedee9e138859443833f7e982ef07427b56929d32bdf6e77421408a4215bb18c01024ae621505cb939ab549d30535898168dea3aef34fee5c1617c2e52bb1a99bcfc8de53a01a3cd03230f0b3cbc5d0f8e3cad1327bf4b23354ebcbca7e4b7cdca9e8cb098dc4ac791f0c130d5d02c15b33df2f35ead3c97d0760ffc56607fbe0059e092aef2ea77829bc5ee4f939a18cbb2c3e12874f1e2fb4a5fe5840efd42a7c955b4f9cefc789bbf21553b83ee52928
Signature= 0x0304e7d010febe77909d15e83f2b035bab4a2cb4dc0867ae38300aba9be237a7d39e2283a40544453f3f584f02cf610995fcb8825e27c4fe4363fcb3585d6ca0f601d29b1f86d4
Signature is OK
Alice key= 0x33e5c48bf413dddc7f8970b1d4eda675c7b25077bb190b9915757f6915e9bd51
Bob's key= 0x33e5c48bf413dddc7f8970b1d4eda675c7b25077bb190b9915757f6915e9bd51
Testing/Timing ED25519 ECC
Edwards parameterization
Pseudo-Mersenne Modulus
64-bit Build
EC mul - 38477 iterations 0.26 ms per iteration
Testing/Timing NIST256 ECC
Weierstrass parameterization
Not special Modulus
64-bit Build
EC mul - 17202 iterations 0.58 ms per iteration
Testing/Timing GOLDILOCKS ECC
Edwards parameterization
Generalised-Mersenne Modulus
64-bit Build
EC mul - 9186 iterations 1.09 ms per iteration
Testing/Timing BN254 Pairings
G1 mul - 37381 iterations 0.27 ms per iteration
G2 mul - 16770 iterations 0.60 ms per iteration
GT pow - 10324 iterations 0.97 ms per iteration
GT pow (compressed) - 17956 iterations 0.56 ms per iteration
PAIRing ATE - 9304 iterations 1.07 ms per iteration
PAIRing FEXP - 9842 iterations 1.02 ms per iteration
Testing/Timing BLS383 Pairings
G1 mul - 24540 iterations 0.41 ms per iteration
G2 mul - 11965 iterations 0.84 ms per iteration
GT pow - 8486 iterations 1.18 ms per iteration
GT pow (compressed) - 8719 iterations 1.15 ms per iteration
PAIRing ATE - 7196 iterations 1.39 ms per iteration
PAIRing FEXP - 4731 iterations 2.11 ms per iteration
Testing/Timing BLS24 Pairings
G1 mul - 11435 iterations 0.87 ms per iteration
G2 mul - 2055 iterations 4.87 ms per iteration
GT pow - 1369 iterations 7.31 ms per iteration
GT pow (compressed) - 1129 iterations 8.86 ms per iteration
PAIRing ATE - 1687 iterations 5.93 ms per iteration
PAIRing FEXP - 742 iterations 13.48 ms per iteration
Testing/Timing BLS48 Pairings
G1 mul - 7899 iterations 1.27 ms per iteration
G2 mul - 444 iterations 22.55 ms per iteration
GT pow - 290 iterations 34.54 ms per iteration
GT pow (compressed) - 249 iterations 40.31 ms per iteration
PAIRing ATE - 832 iterations 12.03 ms per iteration
PAIRing FEXP - 176 iterations 57.13 ms per iteration
Testing/Timing 2048-bit RSA
Generating 2048-bit RSA public/private key pair
RSA gen - 31 iterations 330.99 ms per iteration
RSA enc - 21424 iterations 0.47 ms per iteration
RSA dec - 3070 iterations 3.26 ms per iteration
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理