Pergunta

Eu estou procurando um livre e até biblioteca de criptografia data para Delphi 2010, que implementa RSA e AES (Rijndael).

Eu quero uma biblioteca livre porque eu pretendo escrever e publicar um código de exemplo que irá usá-lo.

A Delphi versão 2010 do TurboPower LockBox foi lançado para o SongBeamer local, que implementa tanto de estes, mas eu estou preocupado que está ficando um pouco velho. Por exemplo, tamanhos de chaves RSA pequenas e há novos recursos de segurança por muitos anos.

Update: É a percepção de que LockBox está desatualizado ou não tem características importantes incorreta? Ainda é relevante para o desenvolvimento de produção? (Particularmente os tamanhos de chaves RSA)

Foi útil?

Solução

O algoritmo RSA não é necessariamente fora da data, mas o tamanho da chave é importante. Ele ainda é usado regularmente por todo o lugar. comprimento da chave RSA Um dos 3072 pedaços deve ser usado se a segurança é necessário além 2030. Esta é apenas uma função das melhorias na força e não uma fraqueza no algoritmo computacional.

Eu estava olhando para o LockBox antes SongBeamer começando a mantê-lo (Delphi 2007) Achei a RSA instável - apenas ondas quebrando ou produzir resultados errados ao longo do tempo. Ele pode ter sido corrigido desde então embora. Se você estiver indo para usá-lo, certifique-se que é compatível com os comprimentos de chave que você precisa, e depois criar alguns testes automatizados com entradas e saídas conhecidas. Certifique-se de que ele é executado estável. Se isso acontecer, então usá-lo por todos os meios.

Você também pode usar a API Microsoft Crypto para fazer sua criptografia RSA. Eu escrevi um wrapper para Delphi 2007 , mas não atualizou para Unicode (eu sei , que vergonha). Alguém pode ser capaz de atualizá-lo para trabalhar com Unicode facilmente.

Outra opção seria usar as funções de criptografia do .NET Framework via COM interoperabilidade ou algo assim.

Outras dicas

TurboPower LockBox 3.1.0 é agora lançado. Ele suporta:

  • Delphi 2007 e Delphi 2010
  • Unicodestrings para Delphi 2010
  • AES, DES, 3DES, Blowfish e Twofish cifras
  • Uma longa lista de modos bloco de encadeamento
  • MD5 e SHA1 hashes
  • criptografia RSA, decriptografia, assinatura e verificação
  • chaves RSA comprimento variável -. Quase há constrangimentos na gama
  • código de teste D-Unit
  • salga automática
  • Mangement adequada de IV de (em contraste com DCPcrypt)
  • White Box, Livre e Open Source
  • 100% código fonte nativa visível (sem DLL)

http://sourceforge.net/projects/tplockbox/ http://lockbox.seanbdurkin.id.au/

Hi Bruce i usar esta biblioteca desde Delphi 5,

Delphi Encryption Compedium Parte I V.5.2

  • reescrita completa da antiga 03 de dezembro, Update para DEC 5.1 (lançado em 2006)
  • Muitos Ciphers (Blowfish, Twofish, 3DES, Rijndael ...)
  • Muitos hashs (MD2 / 4/5, SHA1-512, RipeMD128-320 ...)
  • Funções soma de verificação (CRC32, CRC16 ...)
  • Funções de conversão de texto (MIME Base 64, XX / UU Codificação ...)
  • seguros Funções de números aleatórios
  • com criptografia Ciphers em Modos (CTS / CBC / CFB / OFB / BCE ...)
  • completa e fácil orientada a objetos
  • altamente otimizado, o núcleo rápido
  • Suporta ANSI e Unicode em D2009 (e abaixo usando widestrings) ...

é Freeeware e com código de Sorce, infelizmente não implementa RSA.

Parece que o trabalho D2010 é feito :

TurboPower LockBox . Criptografia de Dados . 04 de setembro de 2009 . download

Status:. Fina deve estar trabalhando
Esta biblioteca foi estendido para que ele suporta criptografia de Ansi e UnicodeStrings.
09/04/2009
* Delphi pacotes 2010
* Deve compilar sem sugestões e advertências

Eu não sei exatamente o que você quer dizer com "longo no dente" (velho?), Mas eu tinha acabado de ir para Lockbox, porque fornece tudo que você precisa. Exceto para a atualização de 2009, as últimas alterações oficiais foram feitas em 2003. Mas hey, se funciona, funciona.

Para LockBox código de exemplo pode ser ok, mas eu não iria usá-lo em produção por mais tempo. Criptografia não vá "longo no dente". Algoritmos de se tornar velho. falhas anteriormente undiscoverd, melhores técnicas cryptoanalysis, avanços matemáticos, aumentando a potência processador make uma vez algoritmos seguros e tamanhos chave já não é suficiente seguro. 3DES, MD5, SHA-1 são já consideradas não é suficiente. Os ataques contra AES têm sido publicados recentemente ( http://eprint.iacr.org/2009/374). O minum recomendado tamanho da chave RSA é agora 1024 bits, enquanto 2048 e 3072 chaves são recomendadas se as necessidades de dados a ser protegido durante anos. Lockbox ofertas únicas chaves de 1024 bits ou menos . O modo de bloco cifra direito tem que ser selecionado também. E LockBox TLbRijndael (AES) classe por padrão usa BCE, que tem conhecido falhas, e não oferecem nada mais do CBC. Devido à segurança eletrônica ganhou importância nesses anos, e as consequentes investigações tanto por bons e maus, uma biblioteca de sete anos é muito velho - apenas recompilar-lo e adicionando suporte para UTF-16 cordas não é suficiente. Esteja ciente de que falsa segurança é pior do que nenhuma segurança em tudo. Se um administrador de sistema é dito "não temos qualquer segurança no lugar", ele irá trabalhar para implementar a segurança próprio (dizem IPSec, VPN ou semelhantes). Se ele disse "sim, nós temos RSA e AES!" ele vai se sentir bem, mesmo se sua implementação do AES e RSA está desatualizado e não mais seguro.

Eu não tentei em D2010, mas DCPcrypt supostamente trabalha em D2009.

Fundamentos Cody Biblioteca tem implementações para ambos AES e criptografia RSA. Eu não usei a biblioteca no entanto isso não posso comentar sobre a sua qualidade.

Parece que há muitas gratuitos implementações Delphi AES. Sinta-se livre para adicionar seus favoritos aqui .

Há não parecem ser tão muitas implementações RSA gratuitos e muito poucas bibliotecas que oferecem ambos.

Parece que LockBox ainda é uma opção razoável bonita. Especialmente desde que eu não preciso de criptografia que terá, literalmente, anos de roer.

Eu acho que usando Crypto API da Microsoft diretamente pode ser a opção mais prática.

Daniele Teti lançou uma coleção de filtros DataSnap para Delphi 2010, que inclui haxixe, cifra e compressão. Ele menciona que ele também pode implementar cifras assimétricas no futuro.

http://www.danieleteti.it/

Esta é open source, então sinta-se livre para contribuir.

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