Unit tests for Zuse cryptographic functions

Worker(s): lukechampine Reward: 1 Stars Completed

Background

Urbit relies on Hoon cryptographic functions for its security. We want to take steps towards being confident that these functions are reliable.

Bounty Description

Write unit tests which assert that every function under the +crypto (lines 2819 to 6113 of zuse.hoon) arm behaves as intended. These functions include, but are not limited to, +enjs, +dejs, and +dejs-soft. +crypto is located in /sys/zuse.hoon, in section 2b.

These tests should:

Confirm that Zuse functions match output from industry-standard implementations. For example, NaCl, secp256k1, openssl, and so on. Use recommended test vectors where appropriate. For example, RFC 231 provides recommended test vectors for the HMAC SHA family.

Save the test files in the tests/sys/zuse/crypto directory in Arvo. Use the same framework as the files that already exist in /tests.

Resources

Contribution Guidelines

Milestones

Your test file is merged

1 stars Your test file for all the relevant functions is accepted and merged.