diff --git a/contrib/crypto/test/barrett.factor b/contrib/crypto/test/barrett.factor new file mode 100644 index 0000000000..2f26eb1a0f --- /dev/null +++ b/contrib/crypto/test/barrett.factor @@ -0,0 +1,4 @@ +USING: kernel math test namespaces crypto ; + +[ HEX: 1f63edfb7e838622c7412eafaf0439cf0cdf3aae8bdd09e2de69b509a53883a83560d5ce50ea039e4 ] [ HEX: 827c67f31b2b46afa49ed95d7f7a3011e5875f7052d4c55437ce726d3c6ce0dc9c445fda63b6dc4e 16 barrett-mu ] unit-test + diff --git a/contrib/crypto/test/base64.factor b/contrib/crypto/test/base64.factor new file mode 100644 index 0000000000..eedbaea217 --- /dev/null +++ b/contrib/crypto/test/base64.factor @@ -0,0 +1,8 @@ +USING: kernel math test namespaces crypto ; + +[ "abcdefghijklmnopqrstuvwxyz" ] [ "abcdefghijklmnopqrstuvwxyz" >base64 base64> ] unit-test +[ "" ] [ "" >base64 base64> ] unit-test +[ "a" ] [ "a" >base64 base64> ] unit-test +[ "ab" ] [ "ab" >base64 base64> ] unit-test +[ "abc" ] [ "abc" >base64 base64> ] unit-test + diff --git a/contrib/crypto/test/blum-blum-shub.factor b/contrib/crypto/test/blum-blum-shub.factor new file mode 100644 index 0000000000..b1b6034373 --- /dev/null +++ b/contrib/crypto/test/blum-blum-shub.factor @@ -0,0 +1,5 @@ +USING: kernel math test namespaces crypto crypto-internals ; + +[ 6 ] [ 5 T{ bbs f 590695557939 811977232793 } random-bbs-bits* ] unit-test +[ 792723710536787233474130382522 ] [ 100 T{ bbs f 200352954495 846054538649 } [ random-bbs-bits* drop ] 2keep random-bbs-bits* ] unit-test + diff --git a/contrib/crypto/test/common.factor b/contrib/crypto/test/common.factor new file mode 100644 index 0000000000..6050454402 --- /dev/null +++ b/contrib/crypto/test/common.factor @@ -0,0 +1,15 @@ +USING: kernel math test namespaces crypto ; + +[ 0 ] [ 1 0 0 bitroll ] unit-test +[ 1 ] [ 1 0 1 bitroll ] unit-test +[ 1 ] [ 1 1 1 bitroll ] unit-test +[ 1 ] [ 1 0 2 bitroll ] unit-test +[ 1 ] [ 1 0 1 bitroll ] unit-test +[ 1 ] [ 1 20 2 bitroll ] unit-test +[ 1 ] [ 1 8 8 bitroll ] unit-test +[ 1 ] [ 1 -8 8 bitroll ] unit-test +[ 1 ] [ 1 -32 8 bitroll ] unit-test +[ 128 ] [ 1 -1 8 bitroll ] unit-test +[ 8 ] [ 1 3 32 bitroll ] unit-test + + diff --git a/contrib/crypto/test/crc32.factor b/contrib/crypto/test/crc32.factor new file mode 100644 index 0000000000..e4639000be --- /dev/null +++ b/contrib/crypto/test/crc32.factor @@ -0,0 +1,5 @@ +USING: kernel math test namespaces crypto ; + +[ 0 ] [ "" >crc32 ] unit-test +[ HEX: cbf43926 ] [ "123456789" >crc32 ] unit-test + diff --git a/contrib/crypto/test/md5.factor b/contrib/crypto/test/md5.factor new file mode 100644 index 0000000000..42d8b92ee1 --- /dev/null +++ b/contrib/crypto/test/md5.factor @@ -0,0 +1,10 @@ +USING: kernel math test namespaces crypto ; + +[ "d41d8cd98f00b204e9800998ecf8427e" ] [ "" string>md5str ] unit-test +[ "0cc175b9c0f1b6a831c399e269772661" ] [ "a" string>md5str ] unit-test +[ "900150983cd24fb0d6963f7d28e17f72" ] [ "abc" string>md5str ] unit-test +[ "f96b697d7cb7938d525a2f31aaf161d0" ] [ "message digest" string>md5str ] unit-test +[ "c3fcd3d76192e4007dfb496cca67e13b" ] [ "abcdefghijklmnopqrstuvwxyz" string>md5str ] unit-test +[ "d174ab98d277d9f5a5611c2c9f419d9f" ] [ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" string>md5str ] unit-test +[ "57edf4a22be3c955ac49da2e2107b67a" ] [ "12345678901234567890123456789012345678901234567890123456789012345678901234567890" string>md5str ] unit-test + diff --git a/contrib/crypto/test/miller-rabin.factor b/contrib/crypto/test/miller-rabin.factor new file mode 100644 index 0000000000..1590180a1d --- /dev/null +++ b/contrib/crypto/test/miller-rabin.factor @@ -0,0 +1,10 @@ +USING: errors kernel math test namespaces crypto ; + +[ f ] [ 473155932665450549999756893736999469773678960651272093993257221235459777950185377130233556540099119926369437865330559863 miller-rabin ] unit-test +[ "miller-rabin error: must call with n > 2" ] [ [ 2 miller-rabin ] catch ] unit-test +[ t ] [ 3 miller-rabin ] unit-test +[ f ] [ 36 miller-rabin ] unit-test +[ t ] [ 37 miller-rabin ] unit-test +[ 101 ] [ 100 next-miller-rabin-prime ] unit-test +[ 100000000000031 ] [ 100000000000000 next-miller-rabin-prime ] unit-test + diff --git a/contrib/crypto/test/montgomery.factor b/contrib/crypto/test/montgomery.factor new file mode 100644 index 0000000000..8ab0f015b1 --- /dev/null +++ b/contrib/crypto/test/montgomery.factor @@ -0,0 +1,8 @@ +USING: kernel math test namespaces crypto ; + + +[ HEX: 7155b978fed765e2ec80b472b4eae1154d2f75dd753e7efaca0449b8eaf7c047f94564302c80c717 ] [ HEX: c8d30cdd849cc1cbccf75340f903cde3acc0e7b5e0326aa91f82f442cc1ab23f66cf042c2af22a0b montgomery-r^2 ] unit-test + +[ HEX: 5aee1477 ] [ HEX: d681fab9 32 montgomery-n0' ] unit-test + + diff --git a/contrib/crypto/test/rsa.factor b/contrib/crypto/test/rsa.factor new file mode 100644 index 0000000000..f6d2598319 --- /dev/null +++ b/contrib/crypto/test/rsa.factor @@ -0,0 +1,7 @@ +USING: kernel math test namespaces crypto ; + +[ 123456789 ] [ 128 generate-rsa-keypair 123456789 over rsa-encrypt swap rsa-decrypt ] unit-test +[ 123456789 ] [ 129 generate-rsa-keypair 123456789 over rsa-encrypt swap rsa-decrypt ] unit-test +[ 123456789 ] [ 130 generate-rsa-keypair 123456789 over rsa-encrypt swap rsa-decrypt ] unit-test + + diff --git a/contrib/crypto/test/sha1.factor b/contrib/crypto/test/sha1.factor new file mode 100644 index 0000000000..24f9de5c91 --- /dev/null +++ b/contrib/crypto/test/sha1.factor @@ -0,0 +1,7 @@ +USING: kernel math test namespaces crypto ; + +[ "a9993e364706816aba3e25717850c26c9cd0d89d" ] [ "abc" string>sha1str ] unit-test +[ "84983e441c3bd26ebaae4aa1f95129e5e54670f1" ] [ "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" string>sha1str ] unit-test +! [ "34aa973cd4c4daa4f61eeb2bdbad27316534016f" ] [ 1000000 CHAR: a fill string>sha1str ] unit-test ! takes a long time... +[ "dea356a2cddd90c7a7ecedc5ebb563934f460452" ] [ "0123456701234567012345670123456701234567012345670123456701234567" [ 10 [ dup % ] times ] "" make nip string>sha1str ] unit-test +