All Projects → torognes → Enigma

torognes / Enigma

Licence: gpl-3.0
Enigma cipher tool

Projects that are alternatives of or similar to Enigma

Simon speck ciphers
Implementations of the Simon and Speck Block Ciphers
Stars: ✭ 74 (+469.23%)
Mutual labels:  cryptography, encryption, decryption
Easycrypt
Android cryptography library with SecureRandom patches.
Stars: ✭ 102 (+684.62%)
Mutual labels:  cryptography, encryption, decryption
Lazysodium Android
An Android implementation of the Libsodium cryptography library. For the lazy dev.
Stars: ✭ 69 (+430.77%)
Mutual labels:  cryptography, encryption, decryption
Java Crypto Utils
Java Cryptographic, Encoding and Hash Utilities
Stars: ✭ 15 (+15.38%)
Mutual labels:  cryptography, encryption, decryption
Encrypt
🔒 A set of high-level APIs over PointyCastle for two-way cryptography.
Stars: ✭ 199 (+1430.77%)
Mutual labels:  cryptography, encryption, cipher
Swifty
🔑 Free Offline Password Manager
Stars: ✭ 496 (+3715.38%)
Mutual labels:  cryptography, encryption, cipher
Cryptr
A simple shell utility for encrypting and decrypting files using OpenSSL.
Stars: ✭ 81 (+523.08%)
Mutual labels:  cryptography, encryption, decryption
Padding Oracle Attacker
🔓 CLI tool and library to execute padding oracle attacks easily, with support for concurrent network requests and an elegant UI.
Stars: ✭ 136 (+946.15%)
Mutual labels:  cryptography, encryption, decryption
Ciphey
⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡
Stars: ✭ 9,116 (+70023.08%)
Mutual labels:  cryptography, decryption, cipher
Sboot stm32
Secure USB DFU1.1 bootloader for STM32
Stars: ✭ 181 (+1292.31%)
Mutual labels:  cryptography, encryption, cipher
Openssl
TLS/SSL and crypto library
Stars: ✭ 17,157 (+131876.92%)
Mutual labels:  cryptography, encryption, decryption
Pgsodium
Modern cryptography for PostgreSQL using libsodium.
Stars: ✭ 202 (+1453.85%)
Mutual labels:  cryptography, encryption, decryption
Gonnacry
A Linux Ransomware
Stars: ✭ 341 (+2523.08%)
Mutual labels:  cryptography, encryption, decryption
Securitydriven.inferno
✅ .NET crypto done right. Professionally audited.
Stars: ✭ 501 (+3753.85%)
Mutual labels:  cryptography, encryption
Halite
High-level cryptography interface powered by libsodium
Stars: ✭ 933 (+7076.92%)
Mutual labels:  cryptography, encryption
Darkwire.io
End-to-end encrypted instant web chat
Stars: ✭ 594 (+4469.23%)
Mutual labels:  cryptography, encryption
Secure Ls
🔒 Secure localStorage data with high level of encryption and data compression
Stars: ✭ 486 (+3638.46%)
Mutual labels:  encryption, decryption
Securefs
Filesystem in userspace (FUSE) with transparent authenticated encryption
Stars: ✭ 518 (+3884.62%)
Mutual labels:  cryptography, encryption
Virgil Crypto Php
Virgil PHP Crypto Library is a high-level cryptographic library that allows you to perform all necessary operations for secure storing and transferring data and everything required to become HIPAA and GDPR compliant.
Stars: ✭ 22 (+69.23%)
Mutual labels:  cryptography, encryption
Xjar
Spring Boot JAR 安全加密运行工具,支持的原生JAR。
Stars: ✭ 692 (+5223.08%)
Mutual labels:  encryption, decryption

Enigma cipher tool

This is a tool to encrypt or decrypt messages using an Enigma cipher machine simulator.

If you do not know the correct settings for decryption, it can also be used to try out a large number of settings and look for plaintext messages that look similar to text written in a selected language, i.e. crack the code.

The settings include the reflector (umkehrwalze) and wheels (walzen) used, the ring positions (ringstellung) and start positions (grundstellung), as well as the position of the plugs in the plugboard (steckerbrett).

Both the common three-wheel Enigma as well as the special Norway Enigma (Norenigma) is supported.

If specified (with the -c option), a hill-climbing algorithm will be used to identify the optimal plugboard configuration.

All possible combinations of the other unspecified settings will be tried.

Enigma cipher tool version 1.0
Copyright (C) 2017 Torbjørn Rognes

Usage: enigma [OPTIONS]
  -h           Show help information
  -v           Show version information
  -u X         Reflector (umkehrwalze) X (A-C, N or .) [.]
  -w XYZ       Wheels (walzen) XYZ (1-8 or .) [...]
  -x integer   Highest wheel number to use (3-8) [5]
  -n           Use the Norway Enigma reflector (N) and wheels (1-5)
  -r XYZ       Ring positions (ringstellung) XYZ (A-Z or .) [AA.]
  -g XYZ       Start positions (grundstellung) XYZ (A-Z or .) [...]
  -s AB...     Plugboard (steckerbrett) letter pairs (A-Z pairs) [none]
  -c           Perform hill climbing to determine plugboard settings
  -l language  Plaintext language (german, english, danish, french) [german]
  -i           Use index of coincidence (IC) to determine plaintext score
  -m           Use monogram statistics to determine plaintext score
  -b           Use bigram statistics to determine plaintext score
  -t           Use trigram statistics to determine plaintext score
  -q           Use quadgram statistics to determine plaintext score [default]
  -p filename  Name of file containing plaintext to compare result with

Defaults are indicated in [square brackets].

The ciphertext is read from standard input. The final plaintext is written
to standard output.

For the reflector, wheels, ring position and start position, a dot (.)
works as a wild card, leaving it unspecified. When these settings are not
specified, the program will try all combinations to find the settings
resulting in the highest plaintext score. If asked for, a hill climbing
algorithm will be used to try to determine the plugboard settings.

The files with the ngram frequencies for various languages have been obtained from the Practical cryptograhy website. Additional languages are available there.

The hill climbing strategy is based on the algorithms described in the publications by Frode Weierud et al.

The software is available under the GNU GPL version 3 license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].