Crypt :: OTP.

Implementação Perl do método de criptografia de uma hora (portanto, otp).
Baixe Agora

Crypt :: OTP. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Kurt Kincaid
  • Site do editor:
  • http://search.cpan.org/~sifukurt/Crypt-GOST_PP-1.10/GOST_PP.pm

Crypt :: OTP. Tag


Crypt :: OTP. Descrição

Implementação Perl do método de criptografia One Time Pad (Hence, OTP). Crypt :: OTP é uma implementação Perl do método de criptografia de uma hora (daí, OTP ).Synopsis # OO Interface Use Crypt :: OTP; $ Ref = Crypt :: OTP-> NOVO ("PADFILE"); $ cifra = $ Ref-> OTP ($ Mensagem); ou $ cifra = $ ref-> OTP ($ message, $ mode); # interface funcional use crypt :: otp; $ cifra = crypt :: otp ($ pad, $ mensagem); ou $ cifra = crypt :: otp ($ pad, $ message, $ mode); o método de criptografia de pad de uma hora é muito simples, e impossível de rachar sem o arquivo pad real contra o qual a mensagem de para-be-be-criptografada é XOR ' ed. A criptografia e a descriptografia são realizadas usando excatíssimos o mesmo método, e a mensagem irá descriptografar corretamente somente se o mesmo bloco for usado na descriptografia, como foi utilizado em criptografia. O método mais seguro de uso é usar um arquivo de texto grande e semi-aleatório como almofada, assim: $ CipherText = OTP ("my_pad.txt", $ mensagem); no entanto, eu também implementei um segundo método que não confia em um arquivo de almofada externa, embora este Mathod seja substancialmente menos seguro. $ less_secure = OTP ("Este texto toma o lugar do meu arquivo pad", $ mensagem, 1); Neste exemplo, o "1" instrui a sub-rotina OTP para usar o conteúdo do primeiro elemento que o bloco, em vez do Método padrão que é usar o primeiro elemento como o nome do arquivo pad externo. Se o arquivo especificado usando o primeiro método não existe, OTP retorna zero. Em todos os outros casos, OTP retorna a mensagem Xor'ed.A alguns pontos importantes devem ser feitos sobre o gerenciamento de chaves. Primeiro e mais importante, deve-se notar que o uso do método em que o bloco é passado como uma string (ou seja, definindo o modo para um valor diferente de zero) é tremendamente inseguro, a menos que você use uma sequência não repetida que seja pelo menos desde que a mensagem seja criptografada. Eu tive algum debate animado com os outros neste ponto, mas fico firmemente pela noção de que a gestão chave é deixada como um exercício para o usuário. O objetivo deste módulo é fornecer uma criptografia de almofada de tempo, não fornecer gerenciamento de chaves para o mesmo, que é, inquestionavelmente, uma tarefa separada. Como acontece com qualquer método de criptografia, se você usá-lo de maneira inseguro, ela não será insegura. Em qualquer caso, a melhor prática é usar um pad que contém um conjunto pseudo-aleatório de dados com um período maior ou igual ao comprimento da mensagem a ser criptografada. Por que "pseudo-aleatório"? Simples. Qualquer gerador de números aleatórios (i.e., a função Rand () em Perl) que não é especificamente declarada para ser criptograficamente segura, acabará por repetir sua seqüência de números aleatórios. Como tal, se, por exemplo, seu gerador de números aleatórios for iniciado a repetir sua sequência depois, digamos, 100 números, mensagens de menos de 100 caracteres serão bastante seguras. No entanto, mensagens criptografadas maiores que 100 caracteres seriam consideradas fracas, porque elas seriam criptografadas com um bloco que exibirá uma sequência repetida. Se você é desconfortável em fazer seu próprio gerenciamento de chaves, provavelmente não é o módulo para você. Se você tomar precauções adequadas com o seu pad / key, a cripta :: OTP lhe servirá em bom lugar. Use este módulo por sua conta e risco e use o máximo cuidado com o gerenciamento de suas chaves. Requisitos: · Perl.


Crypt :: OTP. Software Relacionado