https://github.com/kauemiziara/k-basic-ciphers
Encode and decode text using different ciphers.
https://github.com/kauemiziara/k-basic-ciphers
caesar-cipher caesar-shift ciphers cxx-qt encryption qml rust vigenere-cipher
Last synced: 4 months ago
JSON representation
Encode and decode text using different ciphers.
- Host: GitHub
- URL: https://github.com/kauemiziara/k-basic-ciphers
- Owner: KaueMiziara
- Created: 2023-01-25T01:55:14.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-11T21:21:51.000Z (almost 3 years ago)
- Last Synced: 2025-01-05T04:19:37.509Z (about 1 year ago)
- Topics: caesar-cipher, caesar-shift, ciphers, cxx-qt, encryption, qml, rust, vigenere-cipher
- Language: QML
- Homepage:
- Size: 141 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: Licenses/Credits.md
Awesome Lists containing this project
README
# K's Basic Ciphers
This project was creatad as an excuse to learn how to use QML and integrate it with Rust.
## How to build from source
Can be built using cmake, as long you have the dependencies installed.
First, clone the source code (or download the .zip file):
```bash
git clone https://github.com/KaueMiziara/k-basic-ciphers.git
```
Then, open the directory in the terminal and use cmake to build the executable:
```bash
cd path/to/directory
# This will create a 'build' folder and generate the buildsystem
cmake -S . -B build
# This will build the project using the generated buildsystem
cmake --build build
```
The app will be inside the 'build' folder.
## About the Ciphers
Currently, the application can encode and decode text using the following ciphers:
### Caesar Cipher/Shift
The Caesar Cipher is one of the most famous encryption technique.
It consists in, given a number that will be used as a "key" (also called "shift"), replacing each letter in a word for the letter key positions down the alphabet, i.e. using a shift of 1, "ABC" will turn into "BCD".
The method was named after Gaius Julius Caesar, a roman general and emperor that used this cipher with a shift of 3 to send messages to his generals.
### Vigenère Cipher
An improved Caesar Shift.
Instead of shifting all the characters in a text by the same key, this cipher often uses a password or a passphrase:
Each letter in the password is converted to a keythe number relative to its position in the alphabet ("A" = 1, "B" = 2, etc.). Then, each character in the text is shifted by the key in the same position, looping the password if it's shorter than the text.
For example, using "ACE" (135) as password, "ABC" will turn into "BEH".
Although being invented by the italian crypthologist Giovan Battista Bellaso,
this cipher was erroneously named after the french cryptographer Blaise de Vigenère, who
created a similar cipher, called "autokey cipher".
This cipher earned the description "le chiffrage indéchiffrable"
("indecipherable cipher") for taking over 300 years until someone managed to break it.