From: Sergey Matveev Date: Wed, 29 Oct 2025 07:39:03 +0000 (+0300) Subject: Backdoor в ECDSA кошельков BitCoin X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=daa21367a1187326ea5c2c104867188788cb12c1;p=stargrave-blog.git 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) -- не настолько конечно плох, но имеет же катастрофическую багу, делающую его бесполезным. ---