biblioteca de criptografia livre para Delphi [fechado]
-
05-07-2019 - |
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)
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
-
Como mencionado por Argalatyr, DCPCrypt trabalha com Delphi 2009, mas ele doesn 't fazer RSA;
-
ChillKat faz RSA apoio e AES para Delphi, mas é não é livre;
-
Sergey Kirichenko feita uma implementação livre Rijndael que você pode baixar aqui: http: // rcolonel.tripod.com/dwnload/rc_rnd.zip . Os arquivos estão novembro datado de 2000, então eu não sei se ele vai trabalhar diretamente no mais recente Delphi.
-
Há costumava ser um arquivo zip com código Delphi para download aqui: http://ace.ulyssis.student.kuleuven.ac.be/~triade/GInt/bin/RSA.zip , mas o desenvolvedor provavelmente terminou seu estudo e da universidade tirou o pagina inicial. Em esta página chinese eu podia ver o conteúdo do arquivo (procurar RSA.pas na página e clique no link).
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.
Esta é open source, então sinta-se livre para contribuir.