Я ищу Delphi-реализацию асимметричного алгоритма шифрования без каких-либо зависимостей от внешних DLL. Есть ли в наличии?
Моя цель - зашифровать / расшифровать строку (или массив байтов) с помощью пары открытого / закрытого ключей.
Я ищу Delphi-реализацию асимметричного алгоритма шифрования без каких-либо зависимостей от внешних DLL. Есть ли в наличии?
Моя цель - зашифровать / расшифровать строку (или массив байтов) с помощью пары открытого / закрытого ключей.
SecureBlackBox от Eldos предлагает собственное комплексное решение, включающее управление сертификатами и доступ к внешним криптоустройствам (например, USB жетоны)
LockBox теперь улучшен. Он позволяет использовать длинные ключи для шифрования RSA, AES и находится в активной разработке. Это бесплатный, открытый исходный код и 100% нативный код без библиотек DLL.
Вы можете попробовать Lockbox - http://sourceforge.net/projects/tplockbox/. Это бесплатно и включает в себя, среди прочего, RSA (Blowfish, MD5, SHA-1, DES, тройной DES, Rijndael и цифровую подпись сообщений).
Он поставляется в комплекте с хорошим примером RSA, который демонстрирует, как сгенерировать ваши открытые / закрытые ключи и как на самом деле зашифровать и расшифровать данные с помощью этих ключей.
В настоящее время я использую его с Delphi 2010.
Я понимаю, что в исходном вопросе говорилось «нет внешних DLL», но при отсутствии приемлемого ответа, возможно, вам стоит взглянуть на DLL OpenSSL вместе с этой ссылкой Delphi, которая содержит импорт модуль для библиотеки и несколько хороших примеров того, как его использовать, включая шифрование RSA.
Я повозился с этим, и он работает очень хорошо. Чтобы заставить его работать с Unicode Delphi, требуются некоторые изменения, но в основном они связаны с изменением PChar на PAnsiChar или PBytes.
Простые оболочки Delphi теперь позволяют мне подписывать / проверять / шифровать sym или asym и использовать SSL. И давайте будем честными - распространение DLL OpenSSL намного проще, чем у некоторых предложений Microsoft. К тому же это бесплатно и в хорошем состоянии.
Взгляните на пакет FGInt на этом сайте: http://submanifold.be/
Если вы умеете пользоваться службами Windows, есть Crypto API: http://msdn.microsoft.com/en-us/library/aa380255(v=VS.85).aspx
Если вы ориентируетесь на Vista и выше, есть новый API криптографии: следующее поколение. Это также поддерживает шифрование на основе эллиптических кривых: http://msdn.microsoft.com/en-us/library/aa376210(VS.85).aspx
Еще один очень хороший и достаточно полный пакет - Delphi Encryption Compendium (DEC) 5.2. Вы можете загрузить (бесплатно с исходным кодом) с http://www.torry.net/pages.php?id=519#939342.