[О блоге] [наверх] [пред] [2025-10-29 10:39:03+03:00] [daa21367a1187326ea5c2c104867188788cb12c1]
Темы: [crypto]

Backdoor в ECDSA кошельков BitCoin

https://habr.com/ru/articles/961106/
Я бывало совершенно абсолютно не понимал как люди умудряются
использовать не os.urandom, /dev/urandom или что-то подобное
вместо math.random-like вещей. Если человек не понимает что
такое случайность, то его просто преступно допускать до
кода связанного с криптографией.

А тут использовали плохой рандом и поэтому приватные ключи
были по-настоящему скомпрометированы. Одна из причин почему
я принципиально не хотел бы нигде использовать ECDSA (туда
же и ГОСТ Р 34.10). Либо детерминированный ECDSA, которого
на практике не встречал, либо всякие ed25519. В корявых
руках, конечно же, люди найдут способы облажаться и с ним.

За более чем десять лет после написания PyGOST и другого
софта, со мной уйма людей связывалась на тему обсуждения
новой идеи, подхода, алгоритма или протокола. Я часто слышу
про do not roll your own crypto, но думал что речь о людях
типа меня, кто не очень понимает почему некоторые вещи делают
так или эдак, но хотя бы помнит как надо. Но люди такую дичь,
бывает, предлагают, что так и хочется искренне от всей души
посоветовать вообще не прикасаться к криптографии.

Недавно, переписываясь с одним человеком, я вот наверное раз десять
повторил, что у него не аутентифицируется шифротекст -- просто
применяется голый AES. Вот с десяток раз это сказал, в 8/10 случаях явно
употребил слово MAC, где-то и AEAD упомянул. Но человек твердит что не
хочет делать подписи, так как они, так сказать деанонимизируют
отправителя. С этим не спорю, non-repudiability, non-deniability
зачастую вредные свойства. Но я ни разу, пишу ему, не говорил про
подпись, ни разу не говорил про sender authentication. Человек вообще
абсолютно слеп к понятиям и для него любой MAC идентичен подписи, а
подпись исключительно связана с отправителем. И вот что мне ему сказать?
Ну реально, человек не прочитал ни одного хоть сколько-то достойного
введения в *прикладную* криптографию и ему вообще не стоит ничего делать
связанного с ней.

Преобладающее большинство опасается и придумывает контр-меры на случай
если всё же сломают AES, Кузнечик, whatever. Давайте каскад шифров
использовать. Давайте ещё какие-то ухищрения, которые от силы несколько
бит энтропии и сложности к силе ключа добавляют -- и люди реально
уверены, что даже это мизерное поднятие сложности стоит того. Да даже
вчерашний JWT/JOSE (af48dd5e7b3ea4ea9764438eee5c73413a7c651f) -- не
настолько конечно плох, но имеет же катастрофическую багу, делающую его
бесполезным.

    [оставить комментарий]
    комментарий 0:
    From: Alexander Venedioukhin
    Date: 2025-10-30 17:16:54Z
    
    Здравствуйте!
    
    Безотносительно основного посыла заметки, но, всё же, справедливости
    ради: упомянутая статья на "Хабре" - довольно странная. Исходных данных
    - нет. Почему-то автор той статьи считает, что распределение младших
    16-битных значений X-координат (r) должно коррелировать с
    распределением значений k - типа, если обнаружили какие-то "повторы" в
    16-битах r, то из этого следует, что k "не случайные". Но понятно же,
    что это не так, в принципе: r - это координата точки, да и вообще r не
    должны давать "равномерное распределение" в младших битах, с чего бы?
    (Могут, но не должны.) Так выглядит, как если та хабра-статья сделана
    силами LLM.
    
    --
    С уважением,
    Александр Венедюхин
    https://dxdt.ru/