Compare commits

..

No commits in common. "5e4fe2c01a8b024e5f455e555adfc99e9f131311" and "44b2db0cbc03101ef43aff73eef1ab6ed011b9f5" have entirely different histories.

2 changed files with 89 additions and 71 deletions

144
README.md
View File

@ -1,48 +1,99 @@
# Split Secret (sisec) 🔐 # Split Secret
The purpose of this software is to splitt a secret over multiple people. Just if a defined amount of this people meet together they can encrypt the secret and have access to it.
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/kevinveenbirkenbach/split-secret.svg?style=social)](https://github.com/kevinveenbirkenbach/split-secret/stargazers) ## requirements
Split Secret is a versatile command-line tool for securely splitting a master secret among multiple users. Only when a defined quorum of users combines their secret shares can the original secret be decrypted. The tool also supports robust encryption, decryption, and cleanup operations to ensure sensitive data is managed securely throughout the process. ### system
This software is developed for and on an [Arch Linux](https://archlinux.org/) system.
--- ### setup
## 🛠 Features Before executing the script it may be necessary to install the following software packages:
- **Secret Splitting:** Divide a master secret into shares distributed among users.
- **Encryption & Decryption:** Securely encrypt and decrypt data files using strong cryptographic methods.
- **User Management:** Add and manage user information along with their secret shares.
- **Cleanup Operations:** Remove decrypted files after processing to maintain security.
- **Interactive Modes:** Operate in active, preview, or interactive modes to match your workflow.
- **Parallel Processing:** Efficiently handles file operations using process pooling.
---
## 📥 Installation
Install Split Secret via [Kevin's Package Manager](https://github.com/kevinveenbirkenbach/package-manager) under the alias `sisec`:
```bash ```bash
package-manager install sisec pacman -S gpg tar python pip python-pip
pip install numpy
```
## commands
## cleanup data
### cleanup for user
To delete all data which isn't necessary for the user:
```bash
python scripts/main.py --mode cleanup --user "<<user>>"
``` ```
This command installs Split Secret globally, making it available as `sisec` in your terminal. 🚀 ### delete all data
--- To delete all data execute:
## 🚀 Usage
Split Secret offers several modes for managing your secrets. Here are a few example commands:
### Cleanup Data
To delete all unnecessary decrypted and encrypted files:
```bash ```bash
sisec --mode cleanup python scripts/main.py --mode cleanup
``` ```
### Encrypt Data & Generate Meta Data ### delete decrypted data
Encrypt the master secret file and generate encrypted metadata with additional user information: To delete all decrypted data execute:
```bash ```bash
sisec --secret-holders-amount 3 --quota 50 --mode encrypt --add-user-information --master-password "your_master_password" --meta --add-user-information << EOL python scripts/main.py --mode cleanup --file-types decrypted
```
### delete all encrypted data
To delete all encrypted data execute:
```bash
python scripts/main.py --mode cleanup --file-types encrypted
```
## decrypt
### decrypt automatic
To decrypt the data execute:
```bash
python scripts/main.py --mode decrypt
```
### decrypt accumulated file
To decrypt the accumulated datafile execute:
```bash
python scripts/main.py --mode decrypt --meta
```
### decrypt defined user
To decrypt the data for a defined user execute:
```bash
python scripts/main.py --mode decrypt --user "<<user_id>>"
```
### addtional instructions
In the [INSTRUCTIONS.md](./INSTRUCTIONS.md) file the master encrypter can leave additional instructions.
## encrypt
### encrypt main data
```bash
python scripts/main.py --secret-holders-amount "<<amount>>" --quota "<<quota>>" --mode encrypt --master-password "<<master_password>>" --input-directory "<<input_directory>>"
```
### generate encryption data
To encrypt the master-password file and to create the neccessary encrypted meta data execute:
```bash
python scripts/main.py --secret-holders-amount "<<amount>>" --quota "<<quota>>" --mode encrypt --add-user-information --master-password "<<master_password>>" --meta
```
### generate encryption data with user info
To encrypt the master-password file and to create the neccessary encrypted meta data with additional user infos data execute:
```bash
python scripts/main.py --secret-holders-amount "3" --quota "50" --mode encrypt --add-user-information --master-password "<<master_password>>" --meta --add-user-information << EOL
Alan Turing Alan Turing
+ 12358 + 12358
turing@turing-bomb.world turing@turing-bomb.world
@ -60,34 +111,3 @@ Washington D.C.
<3 <3 <3 <3 <3 <3
EOL EOL
``` ```
### Decrypt Meta Data File
To decrypt the accumulated metadata file:
```bash
sisec --mode decrypt --meta
```
For additional commands and options (such as user-specific decryption, file type filtering, or recursive processing), use:
```bash
sisec --help
```
---
## 🧑‍💻 Author
Developed by **Kevin Veen-Birkenbach**
- 📧 [kevin@veen.world](mailto:kevin@veen.world)
- 🌐 [https://www.veen.world](https://www.veen.world)
---
## 📜 License
This project is licensed under the **MIT License**.
---
## 🤝 Contributions
Contributions are welcome! Please feel free to fork the repository, submit pull requests, or open issues if you have suggestions or encounter any problems. Let's work together to make secure secret management accessible and efficient! 😊

View File

@ -1,2 +0,0 @@
pacman -S gpg tar python pip python-pip
pip install numpy