cryptii
Web app and framework offering modular conversion, encoding and encryption. Translations are done client side without any server interaction — cryptii.com
Getting started
- Use the live version
- Download the latest stable release or other releases
- Clone the repository:
git clone git@github.com:cryptii/cryptii.git
- Build project locally:
- Ensure you have Node.js of version specified in
.nvmrc
installed. - Install dependencies:
npm ci
- Run build tasks:
npm run build
- Run build tasks on file change:
npm run watch
- Ensure you have Node.js of version specified in
- Contribute to the project or report an issue
Concept
This framework and web app aims to support a wide variety of ciphers, formats, algorithms and methods (called 'Bricks') while keeping them easily combinable. There are currently two types of Bricks: Encoders and Viewers. Encoders manipulate content by encoding or decoding in a specific way and using specific settings while Viewers allow users to access and edit the content fed into or outputted by Encoders in a certain way and format.
Bricks can be arranged inside a Pipe. When the content gets edited inside a Viewer or when Brick settings get changed, the result propagates through the Pipe's Bricks in order and in both directions.
Chain objects encapsulate UTF-8 text or binary based content exchanged between Bricks. They automatically encode or decode the content when combining a text based output with a binary based input and vice-versa.
Brick library
Name | Category | Description |
---|---|---|
a1z26 |
Ciphers | Number to letter encoder (A1Z26) |
adfgx-cipher |
Polybius square | ADFGX cipher |
affine-cipher |
Ciphers | Affine Cipher |
alphabetical-substitution |
Ciphers | Alphabetical substitution |
ascii85 |
Encoding | Ascii85 / Base85 incl. variant Z85 |
bacon-cipher |
Ciphers | Bacon's cipher |
base32 |
Encoding | Base32 incl. variants base32hex, z-base-32, … |
base64 |
Encoding | Base64 incl. variants base64url, … |
baudot-code |
Encoding | Baudot code |
bifid-cipher |
Polybius square | Bifid cipher |
bitwise-operation |
Transform | Bitwise operations (NOT, AND, OR, …) |
block-cipher |
Modern cryptography | Block ciphers incl. AES |
bootstring |
Encoding | Bootstring |
bytes |
View | Viewing and editing bytes |
caesar-cipher |
Ciphers | Caesar cipher |
case-transform |
Transform | Transforms to upper case, lower case, … |
enigma |
Ciphers | Enigma machine incl. 13 models |
hash |
Modern cryptography | Creating a message digest |
hmac |
Modern cryptography | Creating a Hash-based message authentication code |
integer |
Encoding | Translates between bytes and integers |
morse-code |
Alphabets | Morse code (English) |
nihilist-cipher |
Polybius square | Nihilist cipher |
numeral-system |
Transform | Translates numerals between systems |
punched-tape |
View | Punched tape |
polybius-square |
Polybius square | Polybius square |
punycode |
Encoding | Punycode |
rail-fence-cipher |
Ciphers | Rail fence cipher |
rc4 |
Modern cryptography | RC4 incl. RC4-drop |
replace |
Transform | Finds and replaces a given text |
reverse |
Transform | Reverses the order of bytes, characters or lines |
rot13 |
Ciphers | ROT13 incl. variants ROT5, ROT18 & ROT47 |
spelling-alphabet |
Alphabets | Several spelling alphabets |
tap-code |
Polybius square | Tap code |
text |
View | Viewing and editing in plain text |
trifid-cipher |
Polybius square | Trifid cipher |
unicode-code-points |
Encoding | Encoding to Unicode code points in given format |
url-encoding |
Encoding | URL encoding / Percent-encoding |
vigenere-cipher |
Ciphers | Vigenère cipher incl. Beaufort cipher variants |
This is a project by Fränz Friederes and contributors