https://github.com/cailllev/apfel
Asymmetric Password File Encryption Library
https://github.com/cailllev/apfel
Last synced: over 1 year ago
JSON representation
Asymmetric Password File Encryption Library
- Host: GitHub
- URL: https://github.com/cailllev/apfel
- Owner: cailllev
- License: gpl-3.0
- Created: 2020-12-06T15:03:36.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-12-13T13:15:54.000Z (over 4 years ago)
- Last Synced: 2025-01-23T16:30:02.988Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 1.41 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Asymmetric Password File Encryption Library
## Description
Uses the RSA / ECC / El Gamal algorithm to encrypt files. Only a password is needed, i.e. no private key (files) meaning that *all* files can be public. The password is transformed to a (prime) number to be used as the secret.
## Usage
```
init: python3 apfel.py -i
i: the name of the new keyfile
encrypt: python3 apfel.py -k -e [-a RSA | ECC | EG] [-r]
k: the keyfile with the keys
e: the file to encrypt
a: algorithm to encrypt, defaults to all
r: remove original after encryption
decrypt: python3 apfel.py -k -d [-v] [-s ]
k: the keyfile with the keys
d: the file to decrypt
v: verbose, print decrypted file
s: save decrypted file
```
## Threat Modelling
- no obvious RSA weakness, see [here](helpers/Threat_Modelling.md)
## TODO
- add ECC and El Gamal encryption algorithm
- update threat modelling
- create pypi package
- read https://www.researchgate.net/profile/Anton-Stiglic-2/publication/2372902_Security_Issues_in_the_Diffie-Hellman_Key_Agreement_Protocol/links/54b55eea0cf28ebe92e53305/Security-Issues-in-the-Diffie-Hellman-Key-Agreement-Protocol.pdf?origin=publication_detail
- implement Montgomery Reductuion
## Implementation Comments
- own RSA used instead of Pycryptodome's bc. they need a private key or a PEM cert -> destroying the "all files can be public" part
-