Qualquer tutoriais sobre criptografia de chave pública em Java? [fechadas]
-
19-08-2019 - |
Pergunta
Eu estive informações achado capaz de criptografia simétrica e hashing, mas eu tenho tido um pouco de dificuldade em encontrar muita informação sobre qualquer tipo de criptografia de chave pública para java. O que eu gostaria de fazer é fazer uma prova muito simples de programa conceito que recebe uma string (ou um arquivo suponho), criptografa com uma chave pública e, em seguida, decifra-lo com uma chave privada.
Todos os links tutorial ou exemplos seria apreciada. Eu só quero fazer algo que demonstra como você pode usar a criptografia de chave pública em Java.
Solução
Existem muito poucos recursos na web sobre isso. Basicamente, ele gira em torno da classe KeyPairGenerator.
http://www.informit.com/articles/article aspx? p = 170967 & seqnum = 4 para um programa de exemplo.
Outras dicas
Normalmente, você usar a criptografia de chave pública para criptografar uma chave simétrica, em parte porque a criptografia de chave pública é muito lento. Normalmente, você iria enviar o destinatário a seguinte, de modo que eles podem descriptografar a mensagem:
- A chave simétrica, criptografada com a chave pública do destinatário.
- Parâmetros para os algoritmos utilizados, geralmente um vector de inicialização para a cifra simétrica.
- Identificadores para os algoritmos de criptografia usado.
- O texto cifrado-a mensagem real, criptografada com a cifra simétrica.
Eu encontrei o código de exemplo na JCE documentação suficiente para fazer as coisas funcionarem.
O formato padrão para agrupar todas essas informações se é o criptográfica Message Syntax, ou CMS, que é usado por S / MIME em aplicações de e-mail. Eu recomendo usar bibliotecas Bouncy do castelo ; eles são sólidos, bastante simples, e mantido ativamente. A documentação de referência é um pouco fraco, mas eles não fornecem exemplos de código.