Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gregtonoski/bip39-xor
Encrypt or decrypt 12, 15, 18, 21 or 24 BIP39 codewords array (so-called "seed phrase") using exclusive OR (XOR)/Vernam cipher (a.k.a. One Time Pad).
https://github.com/gregtonoski/bip39-xor
bip39 cryptography secret-sharing xor
Last synced: about 2 months ago
JSON representation
Encrypt or decrypt 12, 15, 18, 21 or 24 BIP39 codewords array (so-called "seed phrase") using exclusive OR (XOR)/Vernam cipher (a.k.a. One Time Pad).
- Host: GitHub
- URL: https://github.com/gregtonoski/bip39-xor
- Owner: GregTonoski
- Created: 2023-09-28T19:19:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-05T07:19:37.000Z (4 months ago)
- Last Synced: 2024-09-06T12:16:21.546Z (4 months ago)
- Topics: bip39, cryptography, secret-sharing, xor
- Language: Shell
- Homepage:
- Size: 314 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BIP39-XOR
Encrypt or decrypt 12, 15, 18, 21 or 24 BIP39 codewords array (so-called "seed phrase" or "recovery phrase") using exclusive OR (XOR)/Vernam cipher (a.k.a. One Time Pad). If not input by a user, an encryption key is automatically generated at random. Encryption with such a key preserves integrity of BIP-39 checksums of all keys (that's distinct while also compatible with SeedXOR implementation).```
Usage: BIP39-XOR.sh [-s] [codewords...] [XOR] [codewords...]
BIP39-XOR.sh [--auto-input]
```EXAMPLES:
`$ bash BIP39-XOR.sh time until select then return void float true false case catch depart`
Encrypt into and output two complementary encryption keys encoded in BIP39 codewords.
`$ bash BIP39-XOR.sh time until select then return void float true false case catch depart XOR age age age age age age age age age age age used`
Use input keys to decrypt and output a key. Or, equivalently, encrypt an input key with another one and output two complementary encryption keys in BIP39 format.
`$ bash BIP39-XOR.sh --auto-input`
Generate input BIP-39 twelve codewords randomly and output two complementary encryption keys encoded in BIP39 codewords.
## Screenshots
![image](https://github.com/GregTonoski/BIP39-XOR/assets/111286121/8eb12917-c1a4-4f68-9970-8d4f93a61109)## Launch on Windows
There are a few alternative methods to download and run the program on Windows, e.g.:
1. Download and run the file: [BIP39-XOR_setup.exe](https://github.com/GregTonoski/BIP39-XOR/releases/download/v.6.0.0/BIP39-XOR_setup.exe),
[![BIP39-XOR on Windows - instruction video](https://img.youtube.com/vi/oZAIvqtOBK4/default.jpg)](https://youtu.be/oZAIvqtOBK4)
(BIP39-XOR on Windows - instructional video),
2. open PowerShell application and copy-paste this line:
```
powershell Invoke-WebRequest -URI "https://github.com/GregTonoski/BIP39-XOR/releases/download/v.6.0.0/busybox.exe" -OutFile "$HOME\busybox.exe" ; Invoke-WebRequest -URI "https://raw.githubusercontent.com/GregTonoski/BIP39-XOR/main/BIP39-XOR.sh" -OutFile "$HOME\BIP39-XOR.sh" ; Start-Process -FilePath "$HOME\busybox.exe" -ArgumentList "bash","$HOME\BIP39-XOR.sh"
```
The next time BIP39-XOR.sh the shorter command (without downloading) will start the program: `cd $HOME; .\busybox.exe bash BIP39-XOR.sh`.3. The [BIP39-XOR.sh](https://raw.githubusercontent.com/GregTonoski/BIP39-XOR/main/BIP39-XOR.sh) will start by double-clicking the icon of the downloaded file or by a command line if any of the [Git for Windows](https://git-scm.com/downloads), [MSYS2](https://www.msys2.org/) or [Cygwin](https://www.cygwin.com/) is pre-installed (with the default file association settings).
4. (recommended) [Windows Subsytem for Linux](https://learn.microsoft.com/en-us/windows/wsl/install) if pre-installed then copy-paste this into the command prompt:
```
wsl.exe bash -c "cd ~ && wget -q https://raw.githubusercontent.com/GregTonoski/BIP39-XOR/main/BIP39-XOR.sh && bash BIP39-XOR.sh"
```## Launch on Linux, Unix, BSD, ChromeOS, Haiku and MacOS
Download and run from a terminal by either:
```
wget -q "https://raw.githubusercontent.com/GregTonoski/BIP39-XOR/main/BIP39-XOR.sh" && bash BIP39-XOR.sh
```
or
```
curl -fsSL "https://raw.githubusercontent.com/GregTonoski/BIP39-XOR/main/BIP39-XOR.sh" > BIP39-XOR.sh && bash ./BIP39-XOR.sh
```
Optionally make the file executable ( `$ chmod +x BIP39-XOR.sh` ) to run it in by the shorter `./BIP39-XOR.sh` command subsequently.
### Instructional video (how-to)
[![BIP39-XOR on MacOS - instructional video](https://img.youtube.com/vi/TT_Do5q8Yg8/default.jpg)](https://youtu.be/TT_Do5q8Yg8)MacOS: [https://youtu.be/TT_Do5q8Yg8](https://youtu.be/TT_Do5q8Yg8)
[![BIP39-XOR on Linux - instructional video](https://img.youtube.com/vi/D68SajCozKc/default.jpg)](https://youtu.be/D68SajCozKc)
Ubuntu Linux: [https://youtu.be/D68SajCozKc](https://youtu.be/D68SajCozKc)
## Launch on Android
Open the BIP39-XOR.sh file from a terminal app, e.g. [Termux](https://github.com/termux/termux-app) or SSH.
## Launch on iOS
Open the BIP39-XOR.sh file from a terminal app, e.g. [iSH Shell](https://apps.apple.com/us/app/ish-shell/id1436902243), [a-Shell](https://apps.apple.com/us/app/a-shell/id1473805438), [LibTerm](https://apps.apple.com/us/app/libterm/id1380911705) etc. or SSH or [Binbag](https://newosxbook.com/tools/iOSBinaries.html) or research AltStore PAL, UTM SE: Retro PC emulator etc.
## Launch on embedded and other systems
The program is compatible with Portable Operating System Interface (POSIX) shells so should run on various electronic devices. The launch methods should be similar to the ones described for other systems altough may differ in details and depend on a device.