Почти год назад я написал статью о постквантовой криптографии и в этом материале решил продолжить эту тему, поскольку с каждым годом приближается момент, когда криптография, какой мы её знаем сегодня, накроется медным тазом. С появлением квантовых вычислений значительно возрос интерес к асимметричным технологиям шифрования. В частности сегодня пытаются найти подходящую замену RSA и алгоритмам на основе дискретных логарифмов, которые тривиально легко будут взломаны с помощью алгоритма Шора. Хотя симметричное шифрование более устойчиво к квантовым вычислениям, с их широким распространением оно будет существенно скомпрометировано реализациями алгоритма Гровера, поскольку он может выполнять неструктурированный поиск за O(sqrtN). Таким образом размер симметричного ключа уменьшится в два раза, то есть эффективность ключа AES-256 будет уменьшена до 128 бит. Тогда автоматически возникает вопрос, будет ли AES-256 оставаться безопасным? Давайте разбираться.
Криптография *
Шифрование и криптоанализ
Новости
Сложно ли генерировать 1024-битные простые числа?
Простые числа удивительны!
С одной стороны, их легко объяснить: это просто числа, которые делятся только на единицу и на себя; с другой стороны, они содержат в себе бесконечную сложность. Они встречаются во множестве разных сфер, от математических концепций и гипотез до любопытных визуализаций и криптографии, лежат в основе многих Интернет-стандартов и протоколов безопасности, которые мы используем ежедневно.
Несмотря на моё восхищение простыми числами, я никогда не исследовал их подробно, поэтому решил бросить себе вызов. А есть ли лучший способ изучить простые числа, чем воспользоваться моей любовью к кодингу для их генерации?
Вызов
Но какие простые числа мне генерировать? Нахождение миллиардного числа — это слишком просто, а попадание в таблицу рекордов самых больших известных простых чисел — слишком амбициозная задача для первой попытки. Соединив простые числа и интерес к криптографии, я придумал такую задачу:
Генерировать простые числа, способные генерировать ключи для алгоритма RSA
На момент написания этой статьи хорошей длиной ключей RSA считаются 2048 битов. Ключи RSA генерируются перемножением двух простых чисел, так что для получения 2048-битного ключа нам нужны два числа длиной примерно 1024 бита. Это ограничивает рамки задачи генерацией 1024-битных простых чисел. Теперь вы знаете, откуда взялось число из заголовка поста.
Дешифрование паролей для доступа к потерянным Биткоин Кошелькам с помощью метода Gauss-Jacobi
В этой статье мы рассмотрим на примере метод Gauss-Jacobi
которые применяют современные технологии, такие как предварительно обученная модель Bitcoin ChatGPT
, что позволяют более эффективно решать сложные задачи в области цифровых технологий. Важно заметить что альтернативные алгоритмы, такие как Gauss-Jacobi
играют ключевую роль и открывают новые горизонты для развития вычислительной математики.
Метод Gauss-Jacobi
является итеративным численным методом для решения систем линейных уравнений. Он широко используется в различных областях, таких как криптография, криптоанализ, инженерия и вычислительная математика. Сеть Биткоин использует криптографические алгоритмы, такие как хэш-функции SHA-256
, алгоритм подписи ECDSA
, эллиптические кривые secp256k1
, для создания публичных и приватных ключей, которые представляют собой точки на эллиптической кривой. Приватный ключ – это секретная числовая величина, которая используется для генерации публичного ключа, а публичный ключ – это точка на кривой, полученная путем вычисления с приватным ключом. Таким образом, эллиптические кривые secp256k1
лежат в основе криптографических механизмов, которые обеспечивают безопасности транзакций и защиты от различных атак. Современные технологии которые развивают предварительно обученную модель Bitcoin ChatGPT
находят эффективные способы решение сложных криптографических задач, лежащих в основе алгоритмов, используемых в Биткоине.
Самые актуальные исследования в области квантовых коммуникаций: важные шаги и вызовы
В эпоху стремительного развития квантовых технологий и их интеграции в современные телекоммуникационные сети крайне важно быть в курсе последних достижений и вызовов, стоящих перед учеными и инженерами.
Исследования в области квантового распределения ключей (КРК) и квантовых сетей продолжают открывать новые горизонты, обещая высокий уровень безопасности и эффективности в передаче данных на большие расстояния.
В дайджесте представлены недавние работы, которые не только иллюстрируют текущие достижения в области квантовых коммуникаций, но и подчеркивают важность решения возникающих проблем для создания надежной и безопасной квантовой инфраструктуры.
Истории
Уязвимость DeserializeSignature в сети Биткоин криптоанализ и недействительные подписи ECDSA
В этом исследовании мы рассмотрим уязвимость DeserializeSignature, которая позволяла злоумышленникам создавать недействительные подписи ECDSA в сети Биткоин. В криптографии цифровая подпись ECDSA – это математическая схема, позволяющая доказать подлинность цифрового сообщения или документа. В сети Bitcoin подписи используются для авторизации транзакций, подтверждая, что владелец определенного количества биткоинов действительно согласен на их перевод. Однако, уязвимость в функции DeserializeSignature
, обнаруженная в 2023 году, позволяла злоумышленникам создавать недействительные подписи, которые могли быть приняты сетью как валидные.
Локальный HTTPS в dev-окружении — простая настройка
Иногда в процессе веб-разработки требуется безопасное окружение в браузере, то есть HTTPS. Удобный способ сделать это — установить локальный УЦ и автоматизировать выдачу сертификатов на любые поддомены lcl.host и localhost. Это более функциональная и удобная альтернатива самоподписанным сертификатам.
Для установки локального УЦ есть инструменты lcl.host и mkcert, которые помогают быстро настроить и использовать HTTPS в dev-окружении.
Реализация Streebog256 и Streebog512 на языке RUST
Как и планировалось, следом за реализацией семейства хэш-функций SHA, появляется Стрибог и тоже в двух версиях, для 256 и 512 бит на выходе. Надеюсь эта статья будет полезна другим студентам. Более опытные разработчики в комментариях приветствуются.
Весь код сохранен в репозитории GitVerse.
Vo(IP) Really Simple: пишем простое VoIP решение
Будучи поклонником suckless философии, минимализма и простоты в программном обеспечении, я не нахожу простых и маленьких VoIP решений. Программ связанных с VoIP очень много. Но это либо колоссальные системы для построения SIP-based экосистемы, либо что-то из мира WebRTC. Особняком выделяю Mumble -- популярное решение среди геймеров: централизованный сервер, указываешь его адрес и вот уже слышишь в наушниках другого человека. А нет ли чего ещё попроще?
Разбор вердикта суда в отношении разработчика Tornado Cash
В результате беспрецедентного судебного разбирательства Алекс Перцев, ключевой разработчик инструмента для обеспечения приватности на базе Ethereum под названием Tornado Cash, был приговорен сегодня к более чем пяти годам тюремного заключения за свою работу над проектом. Вынесенный приговор был максимальным, запрошенным прокуратурой, и стал первым приговором разработчику, создавшему децентрализованный инструмент достижения приватности с использованием криптовалют.
Генерация надёжных псевдослучайных чисел с ChaCha8Rand в Go
В версии Go 1.22 пакет math/rand/v2
претерпел значительные изменения, а в частности - переход на ChaCha8Rand. Этот новый генератор представляет собой модификацию широко известного и проверенного временем шифра ChaCha8, который используется в протоколах TLS и SSH.
Режимы работы блочного шифра
На сегодняшний существует множество различных алгоритмов шифрования, с различными принципами работы. В рамках этой статьи мы будем разбираться в режимах работы блочных шифров.
Криптография на службе у stateless
Всем привет! Я – Кирилл, и я работаю в команде Мир Plat.Form.
В какой-то момент мы столкнулись с ситуацией, где изначально спроектированная система начинает требовать много ресурсов с увеличением нагрузки на нее. Мы начали искать узкие места, как полностью технические на уровне кода, так и на уровне системных решений и архитектуры.
В этой статье я хотел разобрать одно из найденных нами бутылочных горлышек, когда применение криптографии помогло серьезно сэкономить, хотя обычно происходит наоборот.
К текущему моменту мы не используем этот прием — рефакторинг бизнес-логики позволяет сэкономить еще больше, чем использование любых технических решений! Но, думаю, поделиться, как могут решаться подобного рода проблемы, было бы полезно.
Анализ распределения простых чисел. Часть 1
В этой части статьи основой демонстрируется авторский функционально-математический инструментарий для сравнительного анализа определённых степенных последовательностей, включая последовательность простых чисел. Особое внимание уделяется выявлению рекуррентно значимого формульного приближения для определения последующих значений в последовательности простых чисел.
Ближайшие события
Реализация SHA256 и SHA512 на языке RUST
Небольшая заметка студента о том, как самостоятельно реализовать алгоритмы SHA256 и SHA512 на Rust.
Статья будет полезна всем, кто интересуется криптографией, хочет повысить уровень безопасности своих приложений или просто расширить свои знания в области программирования на Rust.
Интеграция с ЕСИА на Node.js без CryptoPro [2024]
Приветствую! Свою первую статью решил посвятить технической стороне интеграции с ЕСИА (Госуслугами). Считаю данный материал уникальным, поскольку пока разбирался в этой задаче не увидел ни одной статьи которая описывает интеграцию с ЕСИА без использования платной CryptoPro. Надеюсь данный материал поможет коллегам, столкнувшимся с этой задачей.
Предыстория. Совсем недавно в проекте который я разрабатываю встала задача идентифицировать пользователей и сохранять их верифицированные паспортные данные с дальнейшей целью формирования документов и соглашений с этими данными. Решили сделать авторизацию через ГосУслуги, т.к это крупнейшая доступная база паспортных данных в России. Первое что бросилось в глаза - нестандартное ГОСТовское шифрование и несвобода в выборе ПО для работы с этим шифрованием, а также отсутствие актуальных материалов и понятной документации. В следствие чего пришлось собирать информацию по крупицам, пробовать и экспериментировать на каждым шаге, на что ушло немало времени. Теперь когда все шаги пройдены и интеграция налажена, я решил осветить темные места, чтобы помочь разработчикам в их непростом деле.
Перед началом! Обязательно проверьте подходит ли ваше юр лицо под критерии для подключения к ЕСИА. Это обязательное условие. Без этого Минцифры не одобрят заявку на интеграцию. Ваша компания должна иметь одну из следующих лицензий:
Возможно, загадочный манускрипт Войнича посвящён вопросам секса и зачатия
Манускрипт Войнича давно озадачивает и завораживает историков и обычных людей. Этот позднесредневековый документ покрыт иллюстрациями звёзд и планет, растений, зодиакальных символов, обнажённых женщин, голубых и зелёных жидкостей. Но сам текст — предположительно, работа пяти разных переписчиков — зашифрован и ещё не понят.
В статье, опубликованной в журнале Social History of Medicine, мы с моим соавтором Мишель Л. Льюис предполагаем, что секс является одним из предметов, подробно описанных в манускрипте, и что самая большая диаграмма изображает и секс, и зачатие.
Анонимная сеть Hidden Lake → анализ QB-сетей, функций шифрования и микросервисов на базе математических моделей
Анонимная сеть Hidden Lake (HL) - это децентрализованная F2F (friend-to-friend) анонимная сеть с теоретической доказуемостью. В отличие от известных анонимных сетей, подобия Tor, I2P, Mixminion, Crowds и т.п., сеть HL способна противостоять атакам глобального наблюдателя. Сети Hidden Lake для анонимизации своего трафика не важны такие критерии как: 1) уровень сетевой централизации, 2) количество узлов, 3) расположение узлов и 4) связь между узлами в сети.
Шифр Цезаря на Ассемблере
Друзья, коллеги, всех приветствую! В этой статье мы напишем шифратор на грязном "макро-чистом" Ассемблере и в качестве элементарного шифра будем использовать Шифр Цезаря (Шифр сдвига с ключом k = n). Статья написана для новичков, которые могут погрузиться в мир "первой" криптографии. З.Ы. Код можно доработать, как вы захотите (например, реализовать другой шифр), и использовать, например, в курсовой (в ВУЗе). Благо, в профильных ВУЗах еще уделяют какое-то время языку Ассемблера :)
Расшифровка BitLocker — добыча ключа из микросхемы TPM
Подключение сниффера к модулю TPM по шине LPC
Полнодисковое шифрование BitLocker в ОС Windows считается довольно надёжным способом сохранения данных. По умолчанию оно использует алгоритм Advanced Encryption Standard (AES) в режиме сцепления блоков (CBC) или в режиме подстроенной кодовой книги с кражей шифротекста (XTS) на базе xor-encrypt-xor (XEX) со 128- или 256-битным ключом.
В теории это довольно крепкая схема. Проблема только в том, что секретный ключ BitLocker хранится в Trusted Platform Module (TPM), а в некоторых случаях (на некоторых компьютерах) его можно извлечь, получив физический доступ к устройству.
Решение cryptopals. Часть 3
Завершаем решение cryptopals. В этой части рассмотрим блоки заданий 5 и 6, которые посвящены криптографии с открытым ключом.
Вклад авторов
alizar 5323.1Scratch 1858.0GlobalSign_admin 1395.4NeverWalkAloner 1168.0Jeditobe 594.0shifttstas 572.0m1rko 433.6Data_center_MIRAN 420.1Number571 399.0OLS 396.0