Generate simple encrypted messages!

Overview

Premio's Shift is a very simple text encryption, you can use it to send secret messages to your friends.

Table of Content

How it works

  • A Shift is a message encrypted using Premio's Shift.
  • Every Shift has a key to encrypt and decrypt
  • The key has no char limit
  • A key only has alphabetic characters and numbers, everything else is ignored
  • Messages have a position, being 0 the initial state

Lets look at this example using the message "ahz159" and key "2ca".

Position Message
0 ahz159
1 cja380
25 ydy104
  1. First, the key is converted to a list of key numbers, in this case: [2, 3, 1]
    • 2 is a number, so we keep it;
    • "c" is a letter, so we get it's position in the alphabet, in this case: 3
    • "a" is a letter, so we get it's position in the alphabet, in this case: 1
  2. Now multiply the list by the amount if shift we want in the message
    • If the shift is 25, we multiply all the numbers inside the key numbers list, like so:
    • [2, 3, 1] * 25 = [50, 75, 25]
  3. For each letter in the message take the corresponding number in the key numbers list and then get the new letter by summing the current place in alphabet plus the corresponding number in the key number list
    • If there is no more key number list, we start over from the first number in the list

How to use

CLI Interface

You can encrypt or decrypt yout message only using your terminal.

$ python3 cli.py -h
usage: cli.py [-h] [-m MESSAGE] [-k KEY] [-s SHIFT] [-p POS] [-t TO]
Argument Flag Description
Message -m / --message The message to shift
Key -k / --key The key to use in the shifting process
Shift -s / --shift optional, the total steps to shift
Pos -p / --pos optional, the initial position of the message
To -t / --to optional, will move the correct amount of steps to move the message to this position. (requires -p value)

Simple shift

A simple shift, encrypting the message "Hello world" with the key 123.

$ python3 cli.py -m "Hello world" -k 123 -s 25
Gcikm vmokb

Decrypt a message

Using the result from the example above, its possible decrypt the message knowing the current position the message is.

$ python3 cli.py -m "Gcikm vmokb" -k 123 -s -25
Hello world

It is also posible to use the From and To arguments to decrypt a message.

$ python3 cli.py -m "Gcikm vmokb" -k 123 -p 25 -t 0
Hello world

Using From and To

In this example the message is decrypted and then is shifted +1.

$ python3 cli.py -m "Gcikm vmokb" -k 123 -p 25 -t 0 -s 1
Igomq xqumf
Owner
Peterson Adami Candido
Peterson Adami Candido
This folder contains all the assignment of the course COL759 : Cryptography & Computer Security

Cryptography This folder contains all the assignment of the course COL759 : "Cryptography & Computer Security" Assignment 1 : Encyption, Decryption &

0 Jan 21, 2022
Python repo to create blockchain CSVs

staketaxcsv Python repo to create blockchain CSVs for Terra (LUNA), Solana (SOL), and Cosmos (ATOM). CSV codebase for stake.tax Community contribution

187 Dec 31, 2022
Gearbox-vyper-contracts - Auxillary contracts for the Gearbox Protocol written in Vyper

Gearbox Vyper Contracts Auxillary contracts for the Gearbox Protocol written in

Edward Amor 4 Jan 07, 2022
Bridge between L1 (Ethereum) and L2 (cheapETH)

The ETH chain and the cheapETH chain. We can assume the ETH chain has ~1000x more value than the cheapETH chain.

107 Oct 12, 2022
How to setup a multi-client ethereum Eth1-Eth2 merge testnet

Mergenet tutorial Let's set up a local eth1-eth2 merge testnet! Preparing the setup environment In this tutorial, we use a series of scripts to genera

Diederik Loerakker 24 Jun 17, 2022
Linear encryption software programmed with python

Echoder linear encryption software programmed with python How does it work? The text in the text section runs a function with two keys entered keys mu

Emre Orhan 4 Dec 20, 2021
Простой шифратор работающий по ключам.

deCryptor Что это такое? Простой шифратор работающий по ключам и без них. Как пользоваться? СМОТРЕТЬ ИЗОБРАЖЕНИЕ Разработчики Роман Слабицкий - написа

Romanin 2 May 31, 2022
PytoPrice is an automation program to fetch the latest price of a cryptocurrency of your choice at a user-customizable update interval.

PyToPrice (Python Crypto Price) PytoPrice is an automation program to fetch the latest price of a cryptocurrency of your choice at a user-customizable

Peter 1 Jun 16, 2022
Token drop template on Tezos blockchain, based on Merkle Tree Distribution mechanism.

🛬 Token Drop Template This is a template to perform token drops efficiently on Tezos blockchain. The drop is handled using Merkle Tree Distribution m

Anshu Jalan 5 Oct 11, 2022
Technical_indicators_cryptos - Using technical indicators to find optimal trading strategies to deploy onto trading bot.

technical_indicators_cryptos Using technical indicators to find optimal trading strategies to deploy onto trading bot. In the Jup Notebook you wil

Van 4 Jul 03, 2022
dashboard to track crypto prices and change via the coinmarketcap APIs

crypto-dashboard Dashboard to track crypto prices and change via the coinmarketcap APIs. Uses chart.js and ag-grid. Requirements: python 3 (was writte

4 Nov 09, 2021
Buckley 2 Jul 24, 2022
⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡

⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡

11.2k Jan 09, 2023
Connects to an active BitCoin Peer and communicates in order to locate a specific block number (height)

BitCoin-Peer-Client Connects to an active BitCoin Peer, and locates a predetermined block number (height) by downloading block headers. Once required

Henry Song 1 Jan 16, 2022
Stai Beta Of Staiking Chain - Food, Water And Electricity - Worldwide

Stai Beta Of Staiking Chain - Food, Water And Electricity - Worldwide

STATION-I 2 Feb 05, 2022
GmJEWEL - The monorepo for the Greedy Merchants Guild

Greedy Merchants Guild Hello! Welcome to the monorepo for the Greedy Merchants G

Greedy Merchants Guild 5 Mar 09, 2022
cairo_kernel is a simple Jupyter kernel for Cairo a smart contract programing language for STARKs.

cairo_kernel cairo_kernel is a simple Jupyter kernel for Cairo a smart contract programing language for STARKs. Installation Install virtualenv virtua

Ankit Chiplunkar 29 Sep 21, 2022
Mina is a new cryptocurrency with a constant size blockchain, improving scaling while maintaining decentralization and security.

Mina Mina is the first cryptocurrency with a lightweight, constant-sized blockchain. This is the main source code repository for the Mina project. It

1.6k Jan 07, 2023
Hide secret texts inside an image, optionally encrypt them with a password using AES-256.

Hide secret texts/messages inside an image. You can optionally encrypt your texts with a password using AES-256 before encoding into the image.

Teja Swaroop 97 Dec 29, 2022
Image Encryption/Decryption based on Rubik Cube 's principle and AES

Image Encryption/Decryption based on Rubik Cube 's principle and AES Our final project for Theory of Crytography class. Our Image Encryption/Decryptio

Danny 5 Apr 11, 2022