https://github.com/der3318/3questions-text
Java App - Protect Texts With Question Answer Pairs
https://github.com/der3318/3questions-text
encryption protobuf prototype shamir-algorithm
Last synced: about 1 month ago
JSON representation
Java App - Protect Texts With Question Answer Pairs
- Host: GitHub
- URL: https://github.com/der3318/3questions-text
- Owner: der3318
- License: apache-2.0
- Created: 2021-07-18T12:15:54.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-09-19T16:08:04.000Z (almost 5 years ago)
- Last Synced: 2025-03-10T07:59:28.902Z (over 1 year ago)
- Topics: encryption, protobuf, prototype, shamir-algorithm
- Language: Java
- Homepage:
- Size: 2.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 🔒 3 Questions Text





An encryptor based on [Shamir's secret sharing algo](https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing) to protect your personal texts. By setting up 3 question-answer pairs, you will be able to see the plain text if and only if correctly providing any 2 of them.

### 🧱 References
| Name | Version | Note |
| :- | :-: | :- |
| [com.codahale:shamir](https://github.com/codahale/shamir) | 6.2.10 | implementation of Shamir algorithm |
| [com.google.protobuf:protobuf-java](https://github.com/protocolbuffers/protobuf) | 3.17.3 | file serialization |
| [com.github.johnrengelman:shadow](https://github.com/johnrengelman/shadow) | 2.0.1 | fatjar packaging tool |
| [www.iconfinder.com](https://www.iconfinder.com/icons/299091/lock_open_icon) | - | app icon (
) |
### 💠How It Works
| Encrypt |
| :-: |
|
|
| Decrypt |
| :-: |
|
|
### 📗 How To Use
Using Portable Version (Windows 10/11 AMD64)
| Step | Description |
| :-: | :- |
| #1 | download and unzip [3qtxt-portable-1.0-x64.zip](https://github.com/der3318/3questions-text/releases/download/v1.0/3qtxt-portable-1.0-x64.zip) |
| #2 | double-click `launch.bat` to use the app |
Using JRE 8+
| Step | Description |
| :-: | :- |
| #1 | download [3qtxt-1.0-all.jar](https://github.com/der3318/3questions-text/releases/download/v1.0/3qtxt-1.0-all.jar) |
| #2 | (optional) download [icon.png](https://github.com/der3318/3questions-text/releases/download/v1.0/icon.png) |
| #3 | run `java -Duser.language=en -Dfile.encoding=UTF8 -jar 3qtxt-1.0-all.jar` in CLI |
### 📘 Build and Redistribution
| Step | Description |
| :-: | :- |
| #1 | clone the repository |
| #2 | run `gradew shadowJar` to compile and build the fatjar from `src/` |
| #3 | find the built binary: `build/libs/3qtxt-1.0-all.jar` |
### 📕 Update Protobuf Config & Template
| Step | Description |
| :-: | :- |
| #1 | clone the repository |
| #2 | setup protocol buffer compiler (or use `protobuf/protoc.exe`) |
| #3 | modify `protobuf/ThreeQuestionsTxtFileMsg.proto` to meet your requirement |
| #4 | run `protoc.exe --java_out=.\ ThreeQuestionsTxtFileMsg.proto` to generate java code |
| #5 | override `src/main/java/ThreeQuestionsTxtFileProtos.java` with the generated one |
| #6 | update the version of `protobuf-java` in `build.gradle` to algin with the protocol buffer compiler you use |
| #7 | rebuild the whole project under `src/` |