Crypt
One Time Pad Concept
Description
The python equivalent of this shortcut may be found on github https://github.com/kittyjosh111/crypt. That version can run on anything with support for python3.
Usage
Download the shortcut. Follow the prompts given. If you want to pass in a text file to encrypt, activate Crypt from the file's share sheet.
About
This shortcut is meant to provide a sort of encryption for simple messages. Say you want to send someone a text message without someone else being able to read it. You can use this shortcut to send a string of numbers containing the message.
This shortcut was based off of the concept of OTP (One Time Pad), so each letter of message is randomly altered; this shortcut uses simple math. As I have not extensively studied encryption methods, I could be completely wrong about OTP. The shortcut seems to work anyway.
The TLDR of the mechanism:
-
Split message into letters, spaces, basic punctuation
-
Assign numeric value to each split item (ASCII)
-
Randomly generate number as key
-
Add said random key to aforementioned number
Example
For example, let's encrypt the string "hello". The shortcut will split each letter apart, creating a list of
h
e
l
l
o
Each character is then converted to ASCII, which becomes
104
101
105
105
111
For each number, a random "key" is generated, which is a random integer from 2 to 750, wihch is then added to the number in the ASCII list. If for example our keys were generated as
1
2
1
3
4
then our final encrypted message is:
104 + 1 = 105
101 + 2 = 103
105 + 1 = 106
105 + 3 = 108
111 + 4 = 115
Then the encrypted message and the key are combined with colons and exported.
encrypted message = 105:103:106:108:115
final key = 1:2:1:3:4
To decrypt, run the process in reverse.
105 - 1 = 104 = h
103 - 2 = 101 = e
106 - 1 = 105 = l
108 - 3 = 105 = l
115 - 4 = 111 = o
Latest Release Notes
3.0 - March 6, 2022, 9:29 a.m.
- removed shared key because it was pointless
- reworked manipulation to use addition instead of multiplication, as encrypted strings were very long
Version history