2014 dxdy logo

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

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




На страницу Пред.  1, 2, 3, 4
 
 Re: ЭЦП и биометрия
Сообщение24.11.2025, 12:27 
Аватара пользователя
epros в сообщении #1710234 писал(а):
Дописывать собственный код - это довольно коряво
Генерировать ключи шифрования из пароля - тоже.

Готовой утилиты нет, но, если не ошибаюсь, пишется совсем просто.
Используется синтаксис Python
# криптография реализована непрофессионалами, не пытайтесь повторить в домашних условиях
seed = hash.sha256(password).digest()
private_key = cryptography.hazmat.primitives.asymmetric.ed25519.Ed25519PrivateKey.from_private_bytes(seed)
public_key = private_key.public_key()

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

 
 
 
 Re: ЭЦП и биометрия
Сообщение24.11.2025, 14:52 
Аватара пользователя
mihaild в сообщении #1710448 писал(а):
epros в сообщении #1710234 писал(а):
Дописывать собственный код - это довольно коряво
Генерировать ключи шифрования из пароля - тоже.

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

mihaild в сообщении #1710448 писал(а):
Готовой утилиты нет, но, если не ошибаюсь, пишется совсем просто

Всё равно придётся записать и где-то хранить.

mihaild в сообщении #1710448 писал(а):
И, скорее всего, с любой библиотекой для ed25519 результат получится одинаковым.

Это "скорее всего" звучит как-то разочаровывающе. Т.е. уверенности в том, что через 20 лет в точности такая же библиотечная функция останется доступной общественности, всё-таки нет?

 
 
 
 Re: ЭЦП и биометрия
Сообщение24.11.2025, 15:28 
Аватара пользователя
epros в сообщении #1710463 писал(а):
А так другого выхода не вижу.
Генерировать ключи из качественного сида, и как-то заучивать его наизусть.
epros в сообщении #1710463 писал(а):
Всё равно придётся записать и где-то хранить.
Название конкретной утилиты, если на то пошло, тоже надо где-то хранить.
epros в сообщении #1710463 писал(а):
Т.е. уверенности в том, что через 20 лет в точности такая же библиотечная функция останется доступной общественности, всё-таки нет?
Тут надо проверить, что правда реализация в других библиотеках дает тот же результат. Если правда - то уверенность примерно того же уровня, что текущие файлы с rsa ключами можно будет использовать.

 
 
 
 Re: ЭЦП и биометрия
Сообщение24.11.2025, 17:51 
Аватара пользователя
mihaild в сообщении #1710466 писал(а):
Генерировать ключи из качественного сида, и как-то заучивать его наизусть

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

mihaild в сообщении #1710466 писал(а):
Название конкретной утилиты, если на то пошло, тоже надо где-то хранить

Ну вот подпись PGP сразу распознаётся по формату самой подписи, так что даже названия утилиты не надо хранить.

mihaild в сообщении #1710466 писал(а):
Тут надо проверить, что правда реализация в других библиотеках дает тот же результат. Если правда - то уверенность примерно того же уровня, что текущие файлы с rsa ключами можно будет использовать.

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

 
 
 
 Re: ЭЦП и биометрия
Сообщение24.11.2025, 18:37 
Аватара пользователя
epros в сообщении #1710482 писал(а):
А смысл?
А смысл вообще каких-то секретов?
epros в сообщении #1710482 писал(а):
А риск того, что разгадают парольную фразу и попытаются с её помощью присвоить авторство произведения отсутствует, если в самой парольной фразе содержатся сведения о моей подлинной личности.
При таком подходе можно не генерировать ключи, а просто приложить хеш конкатенации парольной фразы и текста.
epros в сообщении #1710482 писал(а):
Ну вот подпись PGP сразу распознаётся по формату самой подписи, так что даже названия утилиты не надо хранить
Я не уверен, что все утилиты через 20 лет будут одинаково этот формат поддерживать.
epros в сообщении #1710482 писал(а):
RSA - это криптографический стандарт, описание которого зафиксировано в истории
Но он работает с числами. А как эти числа представляются в файле с ключом - уже другой вопрос.
epros в сообщении #1710482 писал(а):
А какой алгоритм генерации ключей реализован в этой библиотечной функции, то никому неведомо, ибо в истории он не зафиксирован
По идее должен быть тот же, что описан в https://datatracker.ietf.org/doc/html/r ... tion-5.1.5. Т.е. приватный ключ - это ровно Ваши 32 байта, а публичный генерируется по нему описанной процедурой.

 
 
 
 Re: ЭЦП и биометрия
Сообщение24.11.2025, 20:18 
Аватара пользователя
mihaild в сообщении #1710495 писал(а):
А смысл вообще каких-то секретов?

У меня есть сертификат УКЭП, но я не могу им пользоваться иначе как в приватной официальной переписке, за сохранность которой более или менее отвечает другая сторона, потому что публикация документов с такой подписью автоматически означает выкладывание в публичный доступ моих ФИО, ИНН и СНИЛС, чего мне конечно же совсем не нужно.

Поэтому я и обсуждаю возможность публикации под псевдонимом, но с потенциальной возможностью когда-нибудь потом доказать своё авторство, может быть кому-то в приватном порядке, а может быть и публично, но не сейчас.

mihaild в сообщении #1710495 писал(а):
При таком подходе можно не генерировать ключи, а просто приложить хеш конкатенации парольной фразы и текста.

Да, это вариант. Но:
1) Такой хеш никто не сможет проверить без моего личного участия, а значит произведение в ходе путешествия по сети может подвергнуться модификации и никто этого не заметит. В итоге оригинальный вариант скорее всего не сохранится. Если же используется электронная подпись, то любой сразу увидит, что подпись соответствует псевдониму автора. Так что если кто-то отредактирует произведение, добросовестные читатели стразу же предложат: "Лучше возьми оригинальный вариант вот там-то".
2) В подписи содержится открытый ключ. Так что если я таким же образом подпишу другое произведение, то все увидят, что автор действительно тот же. Если же кто-то другой проставит тот же псевдоним под другим произведением, то все увидят, что на самом-то деле автор другой.

mihaild в сообщении #1710495 писал(а):
Я не уверен, что все утилиты через 20 лет будут одинаково этот формат поддерживать.

Как же тогда проверять подписи документов 20-ти летней данности? Я всё же думаю, что общество позаботится о сохранности алгоритма.

mihaild в сообщении #1710495 писал(а):
Но он работает с числами. А как эти числа представляются в файле с ключом - уже другой вопрос.

Какая разница, какова кодировка при выводе числа для печати - 16-ричные цифры, BASE64, BASE58 или что-то ещё? Главное - просто знать, какова она.

mihaild в сообщении #1710495 писал(а):
Т.е. приватный ключ - это ровно Ваши 32 байта, а публичный генерируется по нему описанной процедурой.

А, т.е. гдя генерации приватного ключа из парольной фразы можно просто использовать SHA-256?

Честно говоря, я был не уверен, что по приватному ключу можно сгенерировать открытый. Они же, вроде, генерируются парой? Или это особенность протокола Диффи-Хеллмана?

 
 
 
 Re: ЭЦП и биометрия
Сообщение24.11.2025, 21:34 
Аватара пользователя
epros в сообщении #1710508 писал(а):
В итоге оригинальный вариант скорее всего не сохранится. Если же используется электронная подпись, то любой сразу увидит, что подпись соответствует псевдониму автора.
Я не понимаю, как это должно работать. Вы написали текст, взяли свои паспортные данные, и выложили текст и какую-то функцию от текста и паспорттных данных. Я взял тот же текст, посчитал ту же функцию от текста и уже своих паспортных данных, и опубликовал текст с получившимся у меня значением. Кто что как должен проверять, и чем подпись тут отличается от хеша текста?
epros в сообщении #1710508 писал(а):
Я всё же думаю, что общество позаботится о сохранности алгоритма
Я тоже на это надеюсь. И даже довольно сильно уверен, что так и будет. Но тут ситуация ничем качествено не отличается от взятия сколь-нибудь популярной библиотеки, да и количественно не очень.
epros в сообщении #1710508 писал(а):
А, т.е. гдя генерации приватного ключа из парольной фразы можно просто использовать SHA-256?
В принципе да. Дорогу тоже можно переходить, просто посмотрев по сторонам и игнорируя светофор.
epros в сообщении #1710508 писал(а):
Честно говоря, я был не уверен, что по приватному ключу можно сгенерировать открытый. Они же, вроде, генерируются парой? Или это особенность протокола Диффи-Хеллмана?
Не очень понимаю, причем тут Диффи-Хеллман. Это особенность EdDSA (в котором я, откровенно говоря, не особо разбирался, но штука известная).

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


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