Este projeto implementa uma solução de criptografia híbrida em Java, combinando:
- Criptografia Assimétrica (EdDSA/Ed25519): Para geração de chaves e assinatura digital.
- Criptografia Simétrica (AES): Para criptografar e proteger os dados.
O projeto também inclui suporte ao gerenciamento de chaves, permitindo salvar e carregar chaves públicas e privadas no formato PEM.
- Criptografia de Dados:
- Os dados são criptografados usando o algoritmo AES para alta performance.
- Assinatura Digital:
- As mensagens criptografadas são assinadas com EdDSA, garantindo integridade e autenticidade.
- Descriptografia e Verificação:
- As mensagens são descriptografadas e a assinatura é validada.
- Gerenciamento de Chaves:
- Salva chaves públicas e privadas em arquivos no formato PEM.
- Carrega chaves a partir de arquivos PEM para reutilização.
- Java 8 ou superior.
- Biblioteca BouncyCastle:
Adicionar ao
pom.xml
se estiver usando Maven:Adicionar ao<dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk18on</artifactId> <version>1.79</version> </dependency>
build.gradle
se estiver usando Gradle:implementation 'org.bouncycastle:bcprov-jdk18on:1.79'