Подтвердить что ты не робот

Библиотека бесплатного шифрования для Delphi

Я ищу бесплатную и обновленную библиотеку шифрования для Delphi 2010, которая реализует RSA и AES (Rijndael).

Я хочу бесплатную библиотеку, потому что планирую написать и опубликовать некоторый пример кода, который будет ее использовать.

Версия TurboPower LockBox от Delphi 2010 была отправлена ​​на сайт SongBeamer, который реализует обе эти функции, но я заинтересован что он становится немного старым. Например, небольшие размеры ключей RSA и отсутствие новых функций безопасности в течение многих лет.

Update: Является ли восприятие того, что LockBox устарел или неправильно содержит важные функции? Все еще актуально для развития производства? (В частности, размеры ключей RSA)

4b9b3361

Ответ 1

Алгоритм RSA не обязательно устарел, но размер ключа важен. Он по-прежнему используется регулярно повсюду. Длина ключа RSA 3072 бит должна использоваться, если требуется защита более 2030. Это просто функция улучшения вычислительной мощности, а не слабость в алгоритме.

Я смотрел на LockBox до SongBeamer, начав его поддерживать (Delphi 2007). Я обнаружил, что RSA нестабилен - просто сбой или время от времени производя неправильные результаты. Возможно, это было исправлено с тех пор. Если вы собираетесь использовать его, убедитесь, что он поддерживает требуемую длину ключа, а затем создайте некоторые автоматические тесты с известными входами и выходами. Убедитесь, что он работает стабильно. Если это так, то используйте его всеми средствами.

Вы также можете использовать Microsoft Crypto API для шифрования RSA. Я написал обертку для Delphi 2007, но не обновил ее для Unicode (я знаю, позор мне). Кто-то еще сможет обновить его для работы с Unicode.

Другой вариант - использовать функции криптографии .NET Framework через COM-совместимость или что-то еще.

Ответ 2

TurboPower LockBox 3.1.0 теперь выпущен. Он поддерживает:

  • Delphi 2007 и Delphi 2010
  • Unicodestrings для Delphi 2010
  • AES, DES, 3DES, Blowfish и Twofish ciphers.
  • Длинный список режимов цепочки блоков
  • Хеши MD5 и SHA1
  • RSA-шифрование, дешифрование, подпись и проверка
  • Клавиши RSA с переменной длиной - почти никаких ограничений в диапазоне.
  • D- Unit test code
  • Автоматическое засоление
  • Надлежащее управление IV (в отличие от DCPcrypt)
  • Белый ящик, свободный и открытый источник
  • 100% видимый исходный код (без DLL)

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

Ответ 3

Привет, Брюс, я использую эту библиотеку с Delphi 5,

Delphi Encryption Compedium Часть я v.5.2

  • Полное переписывание прежнего DEC 3, обновление до DEC 5.1 (выпущено в 2006 году).
  • Многие шифры (Blowfish, Twofish, 3DES, Rijndael...)
  • Многие хеши (MD2/4/5, SHA1-512, RipeMD128-320...)
  • Функции контрольной суммы (CRC32, CRC16...)
  • Функции преобразования текста (MIME Base 64, XX/UU Coding...)
  • Защищенные функции случайных номеров
  • с шифрованием шифров в режимах (CTS/CBC/CFB/OFB/ECB...)
  • Полная и простая объектно-ориентированная
  • Высоко оптимизированный, быстрый ядро ​​
  • Поддержка ANSI и Unicode в D2009 (и ниже с помощью WideStrings)...

Является бесплатным и с кодом Sorce, к сожалению, не реализует RSA.

Ответ 4

Похоже, Работа D2010 выполнена:

TurboPower LockBox. Шифрование данных. 04.09.2009. Загрузить

Статус: должен работать нормально.
Эта библиотека была расширена так, что она поддерживает шифрование Ansi и UnicodeStrings.
09/04/2009
  * Пакеты Delphi 2010
  * должен компилироваться без подсказок и предупреждений

Ответ 5

  • Как упоминалось Argalatyr, DCPCrypt работает с Delphi 2009, но не выполняет RSA;

  • ChillKat поддерживает RSA и AES для Delphi, но это не бесплатно;

  • Сергей Кириченко сделал бесплатную реализацию Rijndael, которую вы можете скачать здесь: http://rcolonel.tripod.com/dwnload/rc_rnd.zip. Файлы датированы ноябрь 2000 года, поэтому я не знаю, будет ли это работать непосредственно в новых Delphi.

  • Раньше существовал zip файл с кодом Delphi для загрузки здесь: http://ace.ulyssis.student.kuleuven.ac.be/~triade/GInt/bin/RSA.zip, но разработчик, вероятно, закончил свое исследование и университет удалил свою домашнюю страницу. На на этой китайской веб-странице Я мог видеть содержимое файла (поиск по RSA.pas на странице и щелчок по ссылке).

Я точно не знаю, что вы имеете в виду с "длинным зубом" (старый?), но я просто пойду за Lockbox, потому что он предоставляет все, что вам нужно. За исключением обновления 2009 года, последние официальные изменения были внесены в 2003 году. Но, если он работает, он работает.

Ответ 6

Для примера кода LockBox может быть в порядке, но я больше не буду использовать его в производстве. Шифрование действительно "длинное в зубе". Алгоритмы стареют. Раньше неоткрытые недостатки, улучшенные методы криптоанализа, математические достижения, увеличение мощности процессора, как только надежные алгоритмы и размеры ключей уже недостаточно безопасны. 3DES, MD5, SHA-1 уже считаются недостаточными. Недавно были опубликованы атаки против AES (http://eprint.iacr.org/2009/374). Минимальный рекомендуемый размер ключа RSA теперь составляет 1024 бит, тогда как 2048 и 3072 клавиши рекомендуются, если данные должны быть защищены в течение многих лет. Lockbox предлагает только ключи размером 1024 бит или меньше. Также необходимо выбрать режим правильного блочного шифрования. А класс LockBox TLbRijndael (AES) по умолчанию использует ECB, который имеет известные недостатки и не предлагает ничего больше, чем CBC. Из-за важности электронной безопасности, полученной в эти годы, и последующих исследований как хорошими, так и плохими парнями, семилетняя библиотека действительно старая - просто перекомпилировать ее и добавить поддержку строк UTF-16 недостаточно. Имейте в виду, что ложная безопасность хуже, чем отсутствие безопасности. Если системному администратору сообщается "у нас нет никакой безопасности", он будет работать для обеспечения безопасности сам (например, IPSec, VPN или тому подобное). Если он сказал "да, у нас есть RSA и AES!" он будет чувствовать себя нормально, даже если ваша реализация AES и RSA устарела и больше не защищена.

Ответ 7

Я не пробовал это в D2010, но DCPcrypt предположительно работает в D2009.

Ответ 8

Основы Cody Library имеет реализации для шифрования AES и RSA. Я не использовал библиотеку, но не могу прокомментировать ее качество.

Ответ 9

Кажется, что есть множество бесплатных реализаций Delphi AES. Не стесняйтесь добавлять свои любимые здесь.

Кажется, не так много бесплатных реализаций RSA, и очень мало библиотек, которые предлагают оба.

Похоже, что LockBox по-прежнему довольно разумный вариант. Тем более, что мне не требуется шифрование, которое займет буквально годы, чтобы взломать.

Я думаю, что использование API Microsoft Crypto напрямую может быть наиболее практичным вариантом.

Ответ 10

Daniele Teti выпустила набор фильтров DataSnap для Delphi 2010, который включает в себя хэш, шифрование и сжатие. Он упоминает, что в будущем он может также применять асимметричные шифры.

http://www.danieleteti.it/

Это открытый исходный код, поэтому, пожалуйста, не стесняйтесь вносить свой вклад.