Что мы знаем про решетчатую атаку?
Начнем с того что алгоритм цифровой подписи на эллиптических кривых (ECDSA)
— это распространенная схема цифровой подписи, которую мы видим во многих наших обзорах кода. Он обладает некоторыми желательными свойствами, но также может быть очень хрупким для восстановления закрытого ключа с помощью атаки по побочному каналу, раскрывающей менее одного бита секретного одноразового номера.
ECDSA
— это особая форма алгоритма цифровой подписи (DSA)
. DSA
— это довольно распространенная схема цифровой подписи , которая определяется тремя алгоритмами: генерация ключа, подпись и проверка.
Если одноразовый номер NONCES
для подписи когда-либо раскрывается, секретный ключможет быть немедленно восстановлен, что нарушает всю нашу схему подписи.
Кроме того, если два одноразовых номера когда-либо повторяются, независимо от того, что представляют собой сообщения, злоумышленник может легко обнаружить это и немедленно восстановить секретный ключ, снова нарушив всю нашу схему.
Это довольно хрупко, и это только легкие атаки!
Но существует новая атака Lattice Attack которую очень подробно и детально описали Йоахим Брайтнер и Надя Хенингер
(Joachim Breitner and Nadia Heninger)
В блокчейне Биткоина мы нашли некую транзакцию:
transaction: 08d917f0fee48b0d765006fa52d62dd3d704563200f2817046973e3bf6d11f1f
для Биткоин Адреса: 15N1KY5ohztgCXtEe13BbGRk85x2FPgW8E
и нам удалось размножить фейковые подписи и применить решетку
где с помощью Python-скрипта algorithmLLL.py с установкой пакетов в GOOGLE COLAB
INSTALL >> SAGE + ECDSA + BITCOIN + algorithm LLL
Нам удалось получить Private Key
к Bitcoin Wallet
из одной слабой транзакции в ECDSA
.