Simplified cryptography tools

This page has several example functions that are the kinds of tools used to build cryptographic protocols. The functions on this page are insecure, deigned for exploration not for actual security.

Most functions on this page use a base-95 encoding, representing numbers as printable ASCII characters.

1 Hash

2 Key exchange function

3 Symmetric cipher

This uses a variant of the Vignere cipher that uses all printable ASCII instead of just letters for both the key and the message text.

4 Sign

5 Check signature

Note: if the signed hash is longer than 5 characters, that means key was not used to create the signature. If it is ≤5 characters but doesn’t match the message’s hash, that means the signature is from the signer but was for a different message.