1 ! Copyright (C) 2018 Alexander Ilin.
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: arrays io.encodings.string io.encodings.utf8 kernel math
4 sequences sodium tools.test ;
8 "Encrypted message" dup utf8 encode
9 crypto-box-nonce 2 [ crypto-box-keypair 2array ] times
10 [ [ first ] [ second ] bi* crypto-box-easy ] 3keep swap
11 [ first ] [ second ] bi* crypto-box-open-easy utf8 decode =
15 "Signature verification test" utf8 encode
18 [ drop crypto-sign-verify ] 3bi
21 ! https://github.com/sqrldev/sqrl-test-vectors/blob/master/vectors/enhash-vectors.txt
22 CONSTANT: base64-tests {
24 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
25 "_FHmfDKg6e6rE-hV-1dGCrtbmVUnQtByMvqkCXxdfuU"
26 "AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE"
27 "vhFHvj4Qdlv8VAsnTdRJ_YsdctXQpJ5Elh9aM-hI2yQ"
28 "__________________________________________8"
29 "yyHN-LfEkKdKNRkuUHWvpzYYJy3FhVJQusPGpvlGWsE"
30 "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU"
31 "bk7GPoNy_qWdAjZ-gF5GHmioZ0ZM04a8wQBvwxSQWnE"
32 "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo"
33 "TCDPMl3crNzjLnd94BiaVg0wV63oJ9TyKIu3gS33MA0"
34 "hA3Dw5BPbcuJQYQYRAukKBYa1u9m4pV5jtEpQ1DDtHk"
35 "EGisR5HKQFtLvqTcbZu7Xvl9_uySHlFaiaLxM5V5Ta0"
36 "3FI8xwyoFAU1eWsnAdAUh3D-SS-XiiWdiIGw7mGY2qk"
37 "chvqBddUlaePrIhevV1ap48P4cKR6B60i4oTnQ1BRuU"
38 "0jtFpgpHqvzcfSdKXJ5f8hXRAi0Ytf3K7zlXWN6dies"
39 "xH3LNXP0-SJnP-jtQaGXeIH3ZTK_6B-Vu_IT6wz4TjM"
40 "Wf5wO411DCEe53k7lPp_dh5pp06AEUCNpEXCi5KG0ro"
41 "iHNsJLKJ3InnB4a3D7nwzLGx-z4HXxXnnX6Ppp4fgRE"
42 "0g9euYTG7974KIhW6en7BP6-2S7u_9qabd1V-7SDIOU"
43 "-TAyGNEEkNuFceonDUF_Nz20RnlyTVpeDp92KGkCRxs"
44 "d1podenEZmoVmyP7gZ8XxAKW82jSt4QiX3mC4JnM_K8"
45 "rNZG4IAkyQAmKcoCQKOEyC34KAaU-wPA_2NY_5y7-Q4"
46 "8QROWCEzP0Ni2MwmlVKffsUm5MlX-pzxX03Q9D0zsYw"
47 "BK2JN4_78CwB3MSJjFEAwHQX-1efCOYNAvKn8-z4ALw"
48 "be30E76EBlTd_DW66KBUYZqYYhSr1eHhv-UMKrVHJOA"
49 "nrZb5PYuff38xgEP4dg6xpBzIk6XHauBFYqPD1KOu6g"
50 "Z_H_qwKAcqOilZTHIZKHhXLlRdWfty24UWWq-28a1wc"
51 "5CezCWqQX09B_MllxHQNmBE2080BADIBoMtqc5LZNfc"
55 base64-tests [ dup sodium-base64>bin sodium-bin>base64 = ] all?