/sqrl-test-vectors

Creative Commons Zero v1.0 UniversalCC0-1.0

SQRL Test Vectors

A suite of test vectors to aid developers of SQRL clients (and possibly servers?)

Vector files

  • enscrypt-vectors.txt - A CSV text file of 80 test vectors for EnScrypt varying in number of iterations, salt, and password. Created by Shane Killian. Verified by PHolder and Alex Hauser.
  • enhash-vectors.txt - A CSV file of 1000 test vectors for EnHash, encoded in Base64URL. Created by Adam Comley. Verified by Shane Killian.
  • base56-vectors.txt - A CSV file of 120 test vectors for Base56. Given an input in hexadecimal and a zero-based byte line number, test the result of the Base56 encoding and the check char. Created by Shane Killian. Verified by Alex Hauser.
  • base56-full-format-vectors.txt - A CSV file of 128 vectors of differing lengths for testing the base56 encoding used to create textual versions of binary identities. The raw input bytes (random data was used for the test vectors instead of actual identity data) are offered either base64_url- or hex-encoded, output is the string created by the base56 encoding, formatted with spaces and newlines (encoded with \n). Created by Alex Hauser. Fully verified by PHolder and partly verified by PaulF.
  • identity-vectors.txt - A CSV file of 80 test vectors for creation of identity keys. Given the Identity Unlock Key (IUK), the Identity Lock Key (ILK) and the Identity Master Key (IMK) are derived. The IMK is then combined with a domain name (and, in some cases, extensions) and an Alt-ID (if it exists) to result in the website's public key identifying the user (the IDK). The IUK, ILK, IMK and IDK are Base64URL-encoded. Created by Shane Killian. Corrected by Alex Hauser.
  • ins-vectors.txt - A CSV file of 48 test vectors for creation of the INS (INdexed Secret) given the user's IMK (base64-URL encoded), the domain name, and the SIN (Secret INdex) provided by the server as a string. The resulting INS is Base64URL-encoded. Created by Shane Killian. Verified by Alex Hauser.
  • identity-lock-vectors.txt - A CSV file of 14 vectors for testing the Identity Lock protocol. Given an Identity Unlock Key (IUK) and a Random Lock Value (RLV), test the results of the Identity Lock Key (ILK), the Server Unlock Key (SUK), the Diffie-Hellman Key Agreement for unlocking the identity (DHKA), and the Verify Unlock Key (VUK). All values hex-encoded. Created by PHolder.

Needed

If any other test vectors are needed by developers, please post in the Issues tab.

Credits

Initial vectors created by Shane Killian, Adam Comley, Alex Hauser, and PHolder. Additionally, see the list of contributors.

License

To the extent possible under law, the creators have dedicated all copyright and related and neighboring rights to these test vectors to the public domain worldwide. This software is distributed without any warranty. See the COPYING.txt file or <http://creativecommons.org/publicdomain/zero/1.0/>.