cipher.ink Write a message

Credits

The libraries, fonts, word lists and measurements cipher.ink is built from, with their licenses.

cipher.ink is built from a small number of other people's work, listed here with their licenses (the design is explained in how it works, and you can read all our own code on the code page). Everything not listed is ours. Nothing on this site is loaded from a third party at run time: every file below is served from cipher.ink itself.

Libraries

LibraryUsed forLicense
DOMPurify 3.1.6, Cure53cleaning HTML in messages (how)Apache-2.0 or MPL-2.0
qrcode-generator 1.4.4, Kazuhiko Arasethe QR code on the sealed cardMIT
@noble/hashes 2.4.0, Paul MillerMD5, SHA-1, SHA-2, SHA-3, BLAKE2, BLAKE3, RIPEMD-160 and HMAC in the hashing toolsMIT
Octicons mark-github icon, GitHubthe GitHub mark on the About page and in the footerMIT

The versions, sources and SHA-256 hashes of the vendored files are in assets/vendor/VENDOR.md in the project. The site's own cryptography uses the browser's built-in Web Crypto API, not a library.

Fonts

All four are self-hosted and licensed under the SIL Open Font License 1.1.

  • Newsreader (body text), by Production Type.
  • Instrument Serif (headings), by Rodrigo Fuenzalida and Jordan Egstad.
  • JetBrains Mono (interface and code), by JetBrains.
  • Space Mono Bold (the wordmark), by Colophon Foundry.

Word lists

The passphrase generator offers the EFF large and short word lists, © Electronic Frontier Foundation, released under a Creative Commons Attribution license (eff.org/copyright). The 288-word list used by the compose page's dice button is our own.

English letter statistics

The substitution solver scores text with counts of three- and four-letter groups made from about three million letters of six public-domain novels from Project Gutenberg: A Tale of Two Cities, Pride and Prejudice, Moby-Dick, Frankenstein, The Adventures of Sherlock Holmes and The Great Gatsby. Only the counts are kept. scripts/build-ngrams.mjs in the project rebuilds them. Typical English letter frequencies used elsewhere are the standard published table.

Data and measurements

Password-cracking speeds used by the crack-time estimator are from the hashcat 6.2.6 benchmark for one NVIDIA RTX 4090 published by Chick3nman on 14 October 2022. Hashing test vectors are from NIST FIPS 180-4 and 202, and the IETF's RFC 1321, 2202, 4231, 6070, 7693 and 7914; each is credited in the test suite.

The mark, Strike, a struck match whose head is a drop of ink, and the wordmark's coloring were drawn for this site. The wordmark is set in Space Mono Bold, above.

Images

The site's diagrams, icons and preview cards are drawn by us. No third-party photographs are used yet; when they are, each will be listed here with its author and license.