Kuznetsov Alexey, 26 September 2005.
Здесь будет даны результаты изучения возможности переиспользования системы ЭЦП, использованной системой BOINC.

Место системы BOINC в реальном мире: An open-source software platform for computing using volunteered resources

Общие сведения
Система BOINC использует механизмы электронных подписей исполняемого кода, основанные на использовании библиотеки OpenSSL и алгоритмов RSA.

Результаты исследования:
Библиотека RSA не попадает под условия лицензии LGPL и является коммерческим продуктом, одновременно алгоритм RSA является интеллектуальной собственностью RSA DSI. Поэтому его использование в нашей системе невозможно.

Библиотека OpenSSL распространяется свободно. И использует алгоритм DSA.

Алгоритм DSA - не коммерческий алгоритм для создания цифровых подписей (Американский стандарт). Его реализация имеется практически для всех языков программирования: С, Java и даже Python...

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

Зачастую имеются встроенные в ОС реализации DSA, в т.ч. начиная с Windows 2000 DSA является частью криптосистемы Windows.

Поиск надежных и проверенных реализаций имел следующие результаты:

JDK 1.22 SE & higher Имеет реализацию DSA
.Net FCL Имеет реализацию DSA
OpenSSL Имеет реализацию DSA (Lib & Dll only from BOINC)
PUTTY (SSH-2 использует DSA) Имеет реализацию DSA (open source)

После проведенных исследований была разработана система подписи данных и генерации пары ключей на Java с использованием DSA. Данная утилита доступна здесь

В настоящее время начата работа по созданию совместимой системы на C++ с использованием исходного текста PUTTY, где также реализован алгоритм DSA.