Бесплатная библиотека шифрования для Delphi [закрыта]

StackOverflow https://stackoverflow.com/questions/1402380

  •  05-07-2019
  •  | 
  •  

Вопрос

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

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

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

Обновить: Неверно ли мнение о том, что LockBox устарел или в нем отсутствуют важные функции?Актуально ли это по-прежнему для развития производства?(В частности, размеры ключей RSA)

Это было полезно?

Решение

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

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

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

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

Другие советы

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

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

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

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

Сборник по шифрованию Delphi, часть I, v.5.2

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

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

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

Сейф с турбонаддувом . Шифрование данных . 04 Сентября 2009 . Скачать

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

  • Как упоминал Аргалатыр, DCPcrypt - шифрование работает с Delphi 2009, но не поддерживает RSA;

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

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

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

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

Для примера кода 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 устарела и больше не безопасна.

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

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

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

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

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

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

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

http://www.danieleteti.it/

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top