Обновить
64K+

Криптография *

Шифрование и криптоанализ

58,4
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Маленькие тонкости большого дела

Уровень сложностиСложный
Время на прочтение27 мин
Охват и читатели6.5K

В наше время, а дальше больше, знание умножения и сложения становится стратегическим. Вот то самое умножение в столбик, знакомое с начальной школы и сложение с переносом, знакомое еще раньше умножения, теперь стратегический ресурс.

И причина простая как 2х2. Весь обмен информацией теперь шифруется и подписывается. А это, как ни крути, умножение и сложение больших чисел

Любая передача информации, денег, команд и знаний нынче требует стандартных шагов: зашифровать-расшифровать и проверить. А это, в основном, именно те самые умножения и сложения больших чисел в большом количестве.

Ну и поскольку самый наш любимый размер это 256 битовые числа, то попробуем кое-что тут посмотреть интересного.

глянем в суть

Новости

Казань брал, Астрахань брал, шифрование развивал: как Иван Грозный поставил инфобез на государственные рельсы

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели7.8K

Иван Грозный прославился, с одной стороны, опричным террором, «кол-центром» от слова «кол» и званием «отец года» (справедливости ради отметим, что он, скорее всего, не убивал своего сына). С другой — именно он «Казань брал, Астрахань брал», начал присоединение Сибири, дал ход книгопечатанию в России, а заодно поставил инфобез на государственные рельсы. При нем в Москве появилось первое криптографическое подразделение, а шифрование превратилось из забавы книжников в рабочий инструмент защиты военной и дипломатической тайны. А еще Иван Васильевич первым из русских государей лично занялся пропагандой и в целом работой с информацией. 

В статье кратко пробежимся по основным криптографическим методикам, которые издревле применялись на Руси, а затем рассмотрим подъем информационной безопасности и пропаганды в правление первого русского царя. И на десерт — пара шпионских сюжетов с шифрованием и перлюстрацией конца XVI столетия. Итак, поехали! 

Читать далее

Как я факторизовал RSA‑ключи центра сертификации… из 90-х

Уровень сложностиСложный
Время на прочтение6 мин
Охват и читатели5.4K

В последнее время меня всерьез стала беспокоить безопасность RSA. Криптография RSA держится на сложности факторизации большого полупростого числа, но какое именно число можно считать достаточно «большим» — вопрос интересный. Web PKI отказалась от 1024-битного RSA больше десяти лет назад, и хотя я не знаю никого, кто факторизовал бы ключ такого размера, это вполне по силам какому‑нибудь правительству или другой организации с большим количеством машин. Буквально пару дней назад кто‑то факторизовал 862-битный ключ RSA-260 в рамках конкурса RSA Factoring Challenge. Это самая крупная факторизация, о которой я слышал.

Читать далее

Еще немного красивых картинок на скатерти Улама

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.8K

В прошлой статье показал скатерть Улама

https://ru.wikipedia.org/wiki/Скатерть_Улама https://en.wikipedia.org/wiki/Ulam_spiral )

немного её усовершенствовал в косынку и померял с разных сторон.

Но вот если рисовать точки не по квадрату? Скатерть Улама рисуется обходом точки в форме квадрата, а если обходить по треуголнику или пятиугольнику?

Сохранится тонкая структура линий?

Думаю, что скатерть изменится, но по сути как тонкая структура сохранится, т.е. линии будут, но в другом месте, но точно будут.

картинки

Вышла Крипто Шифр — моя игра головоломка

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели8.1K

Однажды я задумался о том, как бы мне занять себя в свободное время, пока я нахожусь не дома. Мне хотелось что-то сложное и притом близкое к компьютеру, чтобы можно было неплохо прокачать себя в анализе. Увлекаясь криптографией, я вдруг понял, что я хочу и сделал программу на C, чтобы попробовать расшифровать первые шифры, о чем я написал в последствии в моей предыдущей статье. Книги я решил скачивать с Project Gutenberg в текстовом формате.

Далее я опишу интерфейс программы.

Экран меню я не стал показывать и сразу перейду к новой игре.

Читать далее

«Ключ к доверию. Безопасность в эпоху высоких технологий»: как готовили выставку Музея криптографии и Бастиона

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели9.6K

Для посетителя выставка, как и театр, начинается с вешалки или, точнее говоря, музейного гардероба. Для создателей же — с основной идеи: какие мысли нужно донести до аудитории и какой опыт она должна получить. От этой задумки отталкивается вся последующая работа, включая подбор экспонатов, подготовку интерактивов и оформление экспозиции. 

Этот непростой и творческий процесс невозможен без дискуссий и концептуальных экспериментов. Даже такие, казалось бы, сугубо бытовые моменты, как освещение и вентиляция, порой требуют немалой фантазии и нестандартного мышления. Для посетителя всё это остается за кадром: он видит уже готовую экспозицию, но не знает, сколько решений стоит за тем, как она устроена. 

Совместную выставку Музея криптографии и Бастиона «Ключ к доверию. Безопасность в эпоху высоких технологий» готовили целый год. За это время первоначальная концепция проекта успела претерпеть ряд трансформаций, но главная задумка осталась неизменной. Вместо абстрактного рассуждения в духе «вот так правильно, а вот так опасно» выставка дает посетителю самому оказаться в различных ситуациях, сделать осознанный выбор в части кибербеза и посмотреть, к каким последствиям это приведет. 

К нам в блог заглянул научный куратор проекта Егор Ефремов. Он рассказал, как родилась и эволюционировала концепция выставки, как готовили проект и с какими сложностями сталкивались музейщики и безопасники. Не будем устраивать виртуальную экскурсию по залам — здесь лучше один раз посетить, чем сто раз прочитать. Вместо этого заглянем в закулисье проекта и посмотрим на выставку изнутри вместе с человеком, который координировал весь процесс. 

Читать далее

Вы отозвали сертификат. Браузер об этом не спросит

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.3K

Перед аудитом мы ротировали сертификат на стенде, а старый отправили в отзыв - обычная гигиена. Мне захотелось убедиться, что отзыв действительно сработал: поднял на отдельном порту сервис со старым сертификатом и открыл его в браузере.

Браузер открыл страницу. Замок на месте, предупреждений нет.

Первая мысль была, что отзыв не прошёл: запрос ушёл не туда, серийный номер не тот, удостоверяющий центр ещё не обновил список. Проверил сам - скачал список отзыва по адресу из сертификата и нашёл в нём его серийный номер с датой отзыва. Отозван. Он этого не учитывает, потому что не проверяет.

Читать далее

Анонимная среда для работы в интернете на Tor под Shadowsocks

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели13K

Можешь ли быть полностью анонимен в интернете? Сделал среду для работы в интернете через Tor поверх Shadowsocks

Читать далее

Квантовый взлом шифрования RSA и ECC подешевел: от миллиона кубитов до нескольких десятков тысяч

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели8.3K

Две исследовательские группы утверждают, что им удалось значительно сократить количество кубитов и время, необходимое для взлома распространённых технологий шифрования. 

В марте 2026 года две независимые группы объявили о результатах, которые заметно сокращают разрыв между теорией и реальными машинами. Звёздная команда квантовых физиков из Калифорнийского технологического института (Калтеха) представила проект квантового компьютера, способного взламывать шифрование RSA и ECC всего лишь с помощью десятков тысяч кубитов, и заявила о создании компании для его разработки. А исследователи из Google объявили о разработке реализации алгоритма Шора, которая в десять раз эффективнее лучшего из предыдущих методов.

Но почему именно алгоритм Шора так интересует большинство специалистов по квантовым вычислениям? Примерно 30 лет назад математик Питер Шор взял за основу узкоспециализированный физический проект — компьютер, который работал бы по контринтуитивным законам квантовой механики, — и потряс мир.

Шор разработал способ быстрого решения квантовыми компьютерами пары математических задач, которые классические компьютеры могли решить только спустя миллиарды лет. Так вышло, что именно на этих задачах держалась безопасность зарождавшегося цифрового мира. Почти каждый сайт, электронный почтовый ящик и банковский счёт защищает допущение: решить эти задачи за разумное время невозможно. Алгоритм Шора доказал ошибочность этого предположения.

Читать далее

От Root CA до User Authorization в nginx+apache. Часть 4. Свой web-УЦ: выпуск из браузера, роли и аудит

Уровень сложностиСредний
Время на прочтение82 мин
Охват и читатели8.2K

Четвёртая часть цикла про свой удостоверяющий центр. В первой мы развернули Root CA и три промежуточных центра, во второй научились отзывать сертификаты и подняли OCSP-responder, в третьей настроили вход по клиентскому сертификату в nginx и Apache. Осталось ответить на вопрос, который возникает сразу после первого успешного входа: а откуда у людей берутся сертификаты?

Пока удостоверяющим центром пользуется один человек, openssl в терминале — идеальный интерфейс. Как только приходит второй с просьбой «выпусти мне тоже», начинается то, ради чего существуют регистрационные центры: заявки, роли, журнал и ответ на вопрос «кто и на каком основании это подписал».

В четвёртой части:

— PKCS#10 прямо в браузере. Ключ рождается в WebCrypto и не покидает его, запрос собирается на голом JavaScript без единой библиотеки, а результат проверяется настоящим openssl, а не «на глаз».

— Почему кнопке «получить сертификат» нельзя доверять отличительное имя: позволь заявителю назвать себя самому — и он выпишет себе сертификат с DN администратора. Настоящий, подписанный вашим же центром.

— PKIDesk: движок управления сертификатами на Go, без единой зависимости, под Apache-2.0. Разрезан по границе доверия — у веб-части нет ни ключей УЦ, ни index.txt, ни даже бинарника openssl. Плюс пять архитектурных развилок, за которые придётся отвечать перед аудитом.

— Три дефекта, которые вылезли только на живом стенде: правило subjectAltName = supplied, которое не выполнится никогда; просроченный сертификат, который остаётся действующим и занимает subject; гонка «выпустил — сразу зашёл», где nginx запоминает неудачную проверку отзыва.

— Четыре расширенных справочника, 237 параметров: openssl req, openssl genpkey, структура PKCS#10 и Web Crypto API — синтаксис, значения, умолчания и подводные камни, сверенные с официальной документацией.

Читать далее

«Файл подписан, значит безопасный» — цифровая подпись отвечает не на тот вопрос

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7K

«Он подписан, издатель известный» — этим аргументом закрывают вопрос про стороннюю программу, которую тянут в сборку или ставят на рабочий компьютер. Возразить с ходу нечем: вкладка «Цифровые подписи» в свойствах файла и правда показывает «Эта цифровая подпись действительна». Случаи, когда вредоносный файл подписан настоящим сертификатом, редки — на них и не рассчитывают. В таких разговорах я обычно зануда.

Подпись действительно кое-что подтверждает. Просто не то, что от неё ждут. Она говорит: «этот файл в момент подписи выпустил вот такой издатель, и после подписи содержимое не меняли». Она не говорит: «файл безопасен», «издатель — тот, за кого себя выдаёт прямо сейчас» и «ключ не украли полгода назад».

Читать далее

«Подписываем данные SHA-256 с секретным ключом». Такую подпись подделывают, не зная ключа

Уровень сложностиСложный
Время на прочтение9 мин
Охват и читатели9.2K

Знакомая схема защиты от подмены. Сервер кладёт клиенту cookie user=guest&role=reader и рядом — подпись sha256(secret + данные), чтобы клиент не переписал reader на admin. Секрет знает только сервер, поэтому пересчитать подпись под изменённые данные клиент вроде бы не может.

Поломается не сама SHA-256, а конструкция вокруг неё: к данным можно дописать хвост &role=admin и предъявить к нему валидную подпись, не зная секрета вообще. Атака называется length extension, и в статье мы её проделаем на своём же сервере.

Читать далее

Защита биткоина от несуществующих квантовых компьютеров

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели16K

В последнее время часто можно услышать про квантовые компьютеры (КК), которые угрожают криптовалютам, в том числе биткоину, и вообще всей современной криптографии.

На самом деле сообщество Bitcoin давно выработало технические решения для данной проблемы. Максимум, что требуется — обычный софтфорк, то есть обновление ПО. Его не проводят лишь потому, что КК стоят в книжном магазине на полке «Научная фантастика», если перефразировать известный анекдот.

Читать далее

Ближайшие события

Физики впервые сгенерировали сертифицированно идеальную случайность из ненадёжных сигналов

Время на прочтение4 мин
Охват и читатели17K

Числа, генерируемые обычными программными ГСЧ, абсолютно детерминированы. Физические же ГСЧ (даже квантовые) не детерминированы, но из-за несовершенства компонентов они выдают «грязную» случайность — с микро-закономерностями и смещениями. Это можно использовать для взлома шифра.

Вот почему истинная непредсказуемость крайне важна.

Учёные из Швейцарского федерального технологического института Цюриха (ETH Zurich) опубликовали научную работу, в которой случайность достигает настолько высокого уровня (см. диаграмму в конце статьи со значением CHSH S = 2,271), который вообще невозможен в любой локально-реалистической теории. Только квантовые эффекты позволяют повысить теоретически возможный лимит S с 2 до 2√2.

Читать далее

Рыбно‑пузырьковая энтропия в KMS

Время на прочтение9 мин
Охват и читатели25K

Смоделируем ситуацию: внезапно бот проходит вашу капчу, потому что заранее знает, какие случайные числа будут сгенерированы. Если рандом предсказуем, то защита становится иллюзией. Чтобы такая ситуация была невозможна, мы используем различные источники рандома. 

Наверняка многие знают про броуновское движение и прочие природные рандомайзеры. Два года назад у меня родилась идея, которую коллеги поначалу приняли за шутку. Рыбы, пузыри, каустики на дне, колышущиеся водоросли — каждую секунду картинка меняется так, как не предскажет ни одна модель. И тут я понял, что можно забрать весь этот хаос в продакшн.

Читать далее

Ловушка для собственного бэкенда: как заметить, что тебя уже взломали

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.2K

У сервиса, который хранит ключи шифрования, есть клиент, которому он обязан верить. Это бэкенд приложения: он подписывает каждый запрос своим ключом, и подпись честно сходится.

Теперь предположим, что бэкенд захвачен. Атакующий получает вместе с ним и ключ подписи, а значит выписывает себе совершенно валидные разрешения на любой документ. Все десять проверок при выдаче ключа проходят. Ни одна не заметит ничего необычного, потому что необычного и нет: пришёл доверенный клиент и попросил то, что имеет право просить.

Эта статья про то, что делать в такой ситуации. Она вторая: в первой я разбирал, почему второй фактор, живущий в присланной сервером странице, защищает не то, что кажется. В комментариях там справедливо спросили: если захват одного сервера рушит всю схему, зачем вообще было городить разделение. Вот механизм, который на этот вопрос отвечает.

Читать далее

От Root CA до User Authorization в nginx+apache. Часть 3. Вход по клиентскому сертификату: прокси или приложение

Уровень сложностиСредний
Время на прочтение147 мин
Охват и читатели7.1K

В первой части я обещал беспарольный вход в админку. Здесь он наконец заработал.

Что внутри:

— mTLS в nginx и apache: все директивы, все переменные $ssl_client_* и SSL_CLIENT_*, семь справочников на 309 параметров, сверенных с документацией; — вход по кнопке вместо диалога выбора сертификата на первом же заходе — с отдельным хостом, одноразовым пропуском и защитой от login CSRF; — выпуск сертификата в один клик: ключ рождается в браузере и не уезжает на сервер; — свой web-УЦ на Go без единой зависимости, где ключ УЦ отделён от веба сетевой границей.

И честная часть: три дефекта, которые вылезли только на живом стенде, окно версий nginx между CVE и регрессией, и дыра, которую состязательная проверка нашла в уже работавшем коде.

Читать далее

.fsecurity — как можно разделять файлы, базы данных и ключи шифрования

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели4.7K

Разработал .fsecurity — отдельный модуль FlautCompany для защиты файлов, в котором ключи шифрования не хранятся в базе данных. Разбираю архитектуру и принцип разделения данных и ключей.

Читать далее

Делаем пост‑квантовый протокол удобным, не ломая шифрование на TypeScript. Обновленная и гибкая библиотека

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.4K

Как я улучшил гибридный квантово-устройчивый протокол шифрования за 4 месяца экспериментов. Разбор различных методов ротации ключей, NTT и других нюансов проектирования протоколов шифрования с объяснением.

Читать далее

Второй фактор, который жил в чужой странице: как я выбросил WebAuthn из своего сервиса ключей

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.1K

Мы храним зашифрованные данные, и рядом с ними лежат ключи, которые к этим данным не подходят. Выглядит как расстройство для взломщика.

Это описание того, что я хотел построить, и оно же оказалось единственной формулировкой, которую я потом ни разу не пожалел. Дальше рассказ про то, как из этой мысли вырос отдельный сервис, и как из него пришлось выбросить самую эффектную часть.

Читать далее
1
23 ...