Metadata-Version: 2.4
Name: crypto-pt
Version: 0.1.0
Summary: Uma biblioteca Python para criptografia e descriptografia RSA em português.
Home-page: https://github.com/kikkask/crypto-pt
Author: Lucas Cordeiro
Author-email: sirbritolucas@gmail.com
Project-URL: Bug Reports, https://github.com/kikkask/crypto-pt/issues
Project-URL: Source, https://github.com/kikkask/crypto-pt/
Keywords: rsa,cryptography,encryption,decryption,crypto,pt,portugues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Security :: Cryptography
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-python
Dynamic: summary

# Crypto-PT

`crypto-pt` é uma biblioteca Python simples, com foco no público de língua portuguesa, para criptografia e descriptografia de strings usando o algoritmo RSA.

## Funcionalidades

* Geração de chaves RSA (pública e privada) com tamanho de bits personalizável (recomenda-se 1024 bits para maior segurança).
* Criptografia de strings.
* Descriptografia de mensagens criptografadas.

## Instalação

Você pode instalar `crypto-pt` via pip:

```bash
pip install crypto-pt
```

## Como Usar

Aqui está um exemplo básico de como usar a biblioteca:

```python
import crypto_pt

# 1. Defina a mensagem e o tamanho dos bits para as chaves
mensagem_original = "Minha mensagem secreta em português!"
bits_chave = 512  # Para testes rápidos. Use 1024 ou 2048 para maior segurança.

print(f"Mensagem original: {mensagem_original}")

# 2. Gere as chaves pública e privada
try:
    chave_publica, chave_privada = crypto_pt.gerar_chaves_grandes(bits=bits_chave)
    print(f"Chave Pública (e, n): {chave_publica}")
    print(f"Chave Privada (d, n): {chave_privada}")

    # 3. Criptografe a mensagem
    mensagem_criptografada = crypto_pt.criptografar(mensagem_original, chave_publica)
    print(f"Mensagem Criptografada: {mensagem_criptografada}")

    # 4. Descriptografe a mensagem
    mensagem_descriptografada = crypto_pt.descriptografar(mensagem_criptografada, chave_privada)
    print(f"Mensagem Descriptografada: {mensagem_descriptografada}")

    assert mensagem_original == mensagem_descriptografada
    print("Criptografia e descriptografia bem-sucedidas!")

except ValueError as e:
    print(f"Erro: {e}")
except Exception as e:
    print(f"Ocorreu um erro inesperado: {e}")

```

## Licença

Este projeto é licenciado sob a Licença MIT - veja o arquivo `LICENSE` para detalhes.

## Aviso

Esta implementação de RSA é para fins educacionais e pode não ser segura para uso em produção sem uma auditoria de segurança completa e a implementação de esquemas de preenchimento (padding schemes) adequados como OAEP. Para aplicações de segurança críticas, considere usar bibliotecas de criptografia bem estabelecidas e revisadas pela comunidade.
