2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4, 5
 
 Re: ЭЦП и биометрия
Сообщение26.11.2025, 16:46 
epros в сообщении #1710703 писал(а):
надо сгенерировать два больших простых числа
Но не любых, на них есть требования - чтобы их произведение не разлагалось быстро ни одним известным методом (а их с полдесятка).

 
 
 
 Re: ЭЦП и биометрия
Сообщение27.11.2025, 11:14 
Аватара пользователя
С RSA всё слишком сложно. Ни какие-то левые библиотеки с гитхаба, ни написание собственной программы детерминированной генерации ключей не являются хорошими решениями.

Проверил ECDSA на кривой P-256, Adobe Acrobat Reader DC такой сертификат принимает. Правда мне не нравится, что алгоритм при подписании использует случайное число, что предполагает наличие хорошего генератора на компьютере подписанта (ибо его отсутствие создаёт угрозу безопасности). К тому же параметры кривой взялись неизвестно откуда, что наводит на подозрение, что авторы кривой заложили в них бэкдор. Ну да ладно, зато была надежда, что я могу вместо приватного ключа подставить сгенерированный хеш парольной фразы.

Увы, пока надежда не оправдывается. Файл приватного ключа, который генерирует openssl, содержит также открытый ключ. Так что если тупо заменить в файле приватный ключ, то нарушится целостность. Вот нафига так сделано? Ведь открытый ключ - это просто произведение закрытого на координаты базовой точки кривой. Но высчитывать его самому в обход стандартных утилит, это тоже не очень хороший вариант...

 
 
 
 Re: ЭЦП и биометрия
Сообщение28.11.2025, 08:18 
Аватара пользователя
epros в сообщении #1710767 писал(а):
Файл приватного ключа, который генерирует openssl, содержит также открытый ключ.

К счастью, проблема легко разрешилась. Если генерировать ключ с параметром -no_public, то openssl делает файл без публичного ключа. При генерации из этого файла самоподписанного сертификата публичный ключ стандартным образом рассчитывается из заданного приватного. Так что подставить в файл приватного ключа вместо самого ключа некий хеш - технически простая задача, сертификаты получаются вполне корректные.

Я сейчас столкнулся с другой проблемой: русские буквы в имени владельца сертификата заменяются на коды, начинающиеся со слеша. Не смог побороть это ни указанием utf8=yes в конфигурационном файле openssl, ни указанием при генерации сертификата параметра -nameopt sep_comma_plus,utf8. Кодировка командной строки тоже utf8. Непонятно, что ещё можно сделать.

 
 
 [ Сообщений: 63 ]  На страницу Пред.  1, 2, 3, 4, 5


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group