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.

Foi útil?

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:

  1. A chave simétrica, criptografada com a chave pública do destinatário.
  2. Parâmetros para os algoritmos utilizados, geralmente um vector de inicialização para a cifra simétrica.
  3. Identificadores para os algoritmos de criptografia usado.
  4. 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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top