{"id":18705117,"url":"https://github.com/gregtonoski/bip39-xor","last_synced_at":"2025-04-12T10:07:05.720Z","repository":{"id":197057641,"uuid":"697933066","full_name":"GregTonoski/BIP39-XOR","owner":"GregTonoski","description":"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).","archived":false,"fork":false,"pushed_at":"2024-10-03T08:17:15.000Z","size":423,"stargazers_count":9,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T10:05:11.821Z","etag":null,"topics":["bip39","cryptography","secret-sharing","xor"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GregTonoski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-28T19:19:42.000Z","updated_at":"2025-01-14T21:52:45.000Z","dependencies_parsed_at":"2023-12-10T21:24:29.397Z","dependency_job_id":"afeccc62-298a-478c-a102-bec6e6f83eb5","html_url":"https://github.com/GregTonoski/BIP39-XOR","commit_stats":null,"previous_names":["gregtonoski/bip39-xor"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GregTonoski%2FBIP39-XOR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GregTonoski%2FBIP39-XOR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GregTonoski%2FBIP39-XOR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GregTonoski%2FBIP39-XOR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GregTonoski","download_url":"https://codeload.github.com/GregTonoski/BIP39-XOR/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248550634,"owners_count":21122933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bip39","cryptography","secret-sharing","xor"],"created_at":"2024-11-07T12:09:46.208Z","updated_at":"2025-04-12T10:07:05.696Z","avatar_url":"https://github.com/GregTonoski.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BIP39-XOR\nEncrypt 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).\n\n```\nUsage: BIP39-XOR.sh [-s] [codewords...] [XOR] [codewords...]\n       BIP39-XOR.sh [--auto-input]\n```\n\nEXAMPLES:\n\n`$ bash BIP39-XOR.sh time until select then return void float true false case catch depart`\n\nEncrypt into and output two complementary encryption keys encoded in BIP39 codewords.\n\n`$ 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`\n\nUse 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.\n\n`$ bash BIP39-XOR.sh --auto-input`\n\nGenerate input BIP-39 twelve codewords randomly and output two complementary encryption keys encoded in BIP39 codewords.\n\n## Screenshots\n![image](https://github.com/GregTonoski/BIP39-XOR/assets/111286121/8eb12917-c1a4-4f68-9970-8d4f93a61109)\n\n\n## Launch on Windows\nThere are a few alternative methods to download and run the program on Windows, e.g.:\n1. 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),  \n[![BIP39-XOR on Windows - instruction video](https://img.youtube.com/vi/oZAIvqtOBK4/default.jpg)](https://youtu.be/oZAIvqtOBK4)  \n(BIP39-XOR on Windows - instructional video),\n2. open PowerShell application and copy-paste this line:\n```\npowershell 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\"\n```\nThe next time BIP39-XOR.sh the shorter command (without downloading) will start the program: `cd $HOME; .\\busybox.exe bash BIP39-XOR.sh`.\n\n3. 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).\n4. (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:\n```\nwsl.exe bash -c \"cd ~ \u0026\u0026 wget -q https://raw.githubusercontent.com/GregTonoski/BIP39-XOR/main/BIP39-XOR.sh \u0026\u0026 bash BIP39-XOR.sh\"\n```\n\n## Launch on Linux, Unix, BSD, ChromeOS, Haiku and MacOS\nDownload and run from a terminal by either:\n```\nwget -q \"https://raw.githubusercontent.com/GregTonoski/BIP39-XOR/main/BIP39-XOR.sh\" \u0026\u0026 bash BIP39-XOR.sh\n```\nor\n```\ncurl -fsSL \"https://raw.githubusercontent.com/GregTonoski/BIP39-XOR/main/BIP39-XOR.sh\" \u003e BIP39-XOR.sh \u0026\u0026 bash ./BIP39-XOR.sh\n```\nOptionally make the file executable ( `$ chmod +x BIP39-XOR.sh` ) to run it in by the shorter `./BIP39-XOR.sh` command subsequently.\n### Instructional video (how-to)\n[![BIP39-XOR on MacOS - instructional video](https://img.youtube.com/vi/TT_Do5q8Yg8/default.jpg)](https://youtu.be/TT_Do5q8Yg8)\n\nMacOS: [https://youtu.be/TT_Do5q8Yg8](https://youtu.be/TT_Do5q8Yg8)\n\n[![BIP39-XOR on Linux - instructional video](https://img.youtube.com/vi/D68SajCozKc/default.jpg)](https://youtu.be/D68SajCozKc) \n\nUbuntu Linux: [https://youtu.be/D68SajCozKc](https://youtu.be/D68SajCozKc)\n## Launch on Android\nOpen the BIP39-XOR.sh file from a terminal app, e.g. [Termux](https://github.com/termux/termux-app) or SSH.\n## Launch on iOS\nOpen 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.\n## Launch on embedded and other systems\nThe 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgregtonoski%2Fbip39-xor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgregtonoski%2Fbip39-xor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgregtonoski%2Fbip39-xor/lists"}