/cryptinpyc

:honeybee: :leaves: Simple implementation of RSA encryption

Primary LanguagePythonApache License 2.0Apache-2.0

cryptinpyc

Open Source Love

Use this repository to encrypt texts.

⚠️ Please, do not use this code for serious and confidential purposes. Encrypted data does not follow recommended data protection standards.

Among the various problems, the main vulnerabilities are:

  • character frequency decoding;
  • brute force decoding.

Feel free to implement solutions to this.

Architecture

Modularization by files:

Archive function
./app/calc.py Contains some relevant math functions
./app/console.py Program management apparatus
./app/gfile.py Create and write generated results to disk
./app/read.py Reads and converts encoded data
./app/RSA/conversion.py translate the data
./app/RSA/gk.py Generates keys (public and private)
./app/RSA/main.py Performs encryption based on generated keys
./app/RSA/preCoding.py Unicode translation with its correspondent
./app/.glp/glp.c e ./app/.glp/glp.py Apparatus for creating the list of prime numbers lp.txt
./app/.glp/glp.sh Writes prime numbers found

How to use:

So that you can interact with the program there is the console.py file, which can be run from the CLI and has a built-in help guide. It's important that you are in the app directory so that nothing unexpected happens.

$ python3 console.py

You can encrypt data and it will be saved in a randomly named folder containing the files:

  • ief (dados criptografados);
  • pb (chave pública);
  • pv (chave privada).

⚠️ The pv file must be removed from the directory if you want to send the folder confidentially to someone.

Para contribuir:

  1. Faça um fork do projeto;
  2. Clone o projeto do seu fork (git clone https://github.com/SEU_USUARIO/cryptinpyc.git) (não se esqueça de mudar SEU_USUÁRIO no link);
  3. Crie sua branch para realizar sua modificação (git checkout -b feature/NOME_DA_MODIFICAÇÃO);
  4. Após ter realizado suas modificações, faça um commit (git commit -m "DESCRIÇÃO_DA_MODIFICAÇÃO");
  5. Faça o Push para seu repositório (git push origin feature/NOME_DA_MODIFICAÇÃO);
  6. No seu repositório no Github crie uma Pull Request para que seja avaliada a suas modificações para ser feito o merge no projeto principal.


made with ♥ by a student