Unit tests for Zuse cryptographic functionsWorker(s): lukechampine Reward: 1 Stars Completed
Urbit relies on Hoon cryptographic functions for its security. We want to take steps towards being confident that these functions are reliable.
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,
+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
- Read the guide to writing unit tests in Hoon.
- Read the guide to contributing.
- Here is an example test file for the new Ames. Your tests should be similar to it.
- Do not begin work until your request to claim this bounty is accepted.
- You have 60 days from acceptance to complete this bounty.
- Write the appropriate number of unit tests per function. Some arms will only need one test, but some arms may or may not require more. An insufficient number of tests for arms may result in your submission being rejected.
- Submit your tests as a PR to the “urbit” repository. Your test file should be under
pkg/arvo/tests/sys/hoonwithin the repository. Link this bounty in the PR’s description.
Your test file is merged
1 stars Your test file for all the relevant functions is accepted and merged.