Обновить
128K+

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

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

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

От Root CA до User Authorization в nginx+apache. Часть 2. Отзыв сертификатов, CRL и OCSP

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

Сертификат скомпрометирован, а срок действия ещё не вышел — как сказать клиентам «больше ему не верьте»? Разбираем оба механизма отзыва, CRL и OCSP: отзыв, генерация и публикация списков, responder, stapling в nginx/apache. С полным справочником всех параметров.

Читать далее

Новости

Безопасное хранение паролей: соли, перцы и выбор алгоритма

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

Выбираете алгоритм хеширования паролей — берёте bcrypt, потому что все берут bcrypt, ставите rounds=10, потому что так в туториале, и идёте дальше. Разбираем, почему это может быть ошибкой, чем отличаются Argon2, scrypt и PBKDF2, и как правильно настроить каждый из них.

Читать далее

Как двое договариваются о секрете, крича на всю площадь: алгоритм Диффи-Хеллмана без формул

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

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

Звучит как безнадежная задача. Все, что Алиса крикнет Коле, услышит и Ева. Любая информация, которая дойдет до Коли, дойдет и до нее. Кажется, что общий секрет в таких условиях невозможен в принципе.

А теперь плохая новость для нашей интуиции: именно это сейчас происходит на вашем устройстве.

Читать далее

Вебинар «mTLS для Java сервисов в Kubernetes»

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

Приглашаем на вебинар, где разберём, как с помощью Axiom JDK Certified внедрять криптографию по ГОСТ без сложной настройки и лишнего кода. На вебинаре покажем живую демонстрацию: как Java-сервисы внутри Kubernetes устанавливают защищённое mTLS-соединение с использованием Axiom JDK Certified, КриптоПро/JTLS (ГОСТ TLS).

Что будет на вебинаре:

Читать далее

Рюкзачная криптосистема Шора-Ривеста

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

В этой статье мы рассмотрим рюкзачную, или ранцевую, криптосистему Шора-Ривеста (Chor-Rivest knapsack). Это один из немногих алгоритмов классической криптографии, который можно рассматривать как постквантовый кандидат. Несмотря на то что сегодня он не считается современной и надёжной постквантовой криптосистемой, его всё равно интересно разобрать как один из нестандартных вариантов такого рода.

Читать далее

Два месяца спустя. Что я понял, пока пытался сделать E2EE-мессенджер

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

Два месяца назад я опубликовал статью про свой pet-проект — E2EE-мессенджер.

Честно говоря, я не ожидал, что она вызовет такой интерес. Прилетели комментарии, замечания, вопросы и довольно полезная критика. Где-то меня поправили по делу. Где-то заставили пересмотреть решения, которые мне самому на тот момент казались нормальными.

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

Первая часть:

https://habr.com/ru/articles/1030854/

Проект:

https://github.com/vaazhen/chaos-e2ee-messenger

Вообще, за эти два месяца я понял одну простую вещь.

Написать чат оказалось не так сложно.

Написать E2EE-мессенджер — уже сложнее.

А вот понять, почему Signal делали столько лет, оказалось совсем другой историей.

Сначала кажется: ну есть же документация, есть X3DH, есть Double Ratchet, есть WebCrypto, есть статьи, есть спецификации. Осталось просто аккуратно всё собрать.

Примерно в этот момент где-то вдалеке начинает смеяться инженер из Signal.

Сразу оговорюсь: chaos messenger — это не замена Signal и не “готовый безопасный мессенджер”, а open-source pet-проект, на котором я разбираюсь, как E2EE-системы устроены изнутри.

Читать далее

Nostr — бэкенд «из коробки»: где подходит, а где нет

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

Готовый децентрализованный бэкенд без своего сервера — звучит заманчиво. На личном опыте двух приложений разбираю, где Nostr реально экономит месяцы работы, а где упирается в одно базовое ограничение и начинает мешать: заметки, чаты, ленты, communities, организации.

Читать далее

Публичный розыгрыш, который нельзя пересчитать — это не розыгрыш, а обещание

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

1 декабря 1969 года, Вашингтон, штаб-квартира Selective Service. Восемь вечера. В прямом эфире, на глазах у всей страны, конгрессмен Александр Пирни опускает руку в большую стеклянную банку и достаёт первую из 366 синих пластиковых капсул. Внутри — дата: 14 сентября. Этой дате присваивается призывной номер 1. Все мужчины 1944–1950 годов рождения, родившиеся 14 сентября, идут на войну первыми.

Прозрачнее не бывает: национальный телеэфир, конгрессмен лично тянет капсулы, 366 дней и 366 капсул на виду у миллионов. Если и существует образец честного публичного розыгрыша — вот он. Только он был нечестным. И в этом — вся статья.

Читать далее

Зачем я сделал LAN-синхронизацию между своими же устройствами в self-hosted мессенджере (и почему не через сервер)

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

ONYX — мой pet-project: self-hosted, анонимный, E2E-шифрованный мессенджер. Клиент — Flutter, есть под Windows/Linux/macOS/Android, аккаунт без телефона и почты.

Вышла v1.7-beta. Список изменений ниже, но текст в основном про одну фичу: WardLink, ради которой стоило катить этот релиз.

Читать далее

GlobalSign отозвал 20 000 сертификатов. Прошёл свои десять сайтов и записал, где будет больно

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

В российском вебе за неделю сломалось две вещи. 13 июня GlobalSign начал массовый отзыв сертификатов у российских компаний — до 20 000 доменов второго уровня под ударом. Let’s Encrypt 4 июня формализовал санкционные ограничения в новой редакции пользовательского соглашения. Я держу около десятка сайтов, все на Let’s Encrypt; сел и прошёл их по списку — какой issuer у каждого, кому грозит и в каком порядке, какие альтернативы реально работают в 2026 году. Внутри: пайплайн инвентаризации через openssl и crt.sh, конфиг Caddy с двумя issuer-ами в fallback, разбор Google Trust Services, НУЦ Минцифры и тех, кто уже выбыл (Buypass) или присоединился к ограничениям (ZeroSSL).

Читать далее

Мессенджер в одном HTML-файле: Git как storage, browser как runtime

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

Что будет, если взять один HTML-файл, браузер, localStorage и git-хостинг с CRUD API? Получится мессенджер. Без backend, базы данных, регистрации, npm и WebSocket. В статье показываю, как устроен Macaroni Messenger: хранение сообщений в .macaroni/, outbox, git-agnostic adapters, storage branch, plugin API и опциональное шифрование.

Погоди...

Криптографы «Криптонита» создали новый способ проверки устойчивости постквантовых криптосистем

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

Эксперты лаборатории криптографии российской ИТ-компании «Криптонит» предложили принципиально новый способ оценки защищённости постквантовых систем на линейных кодах. Он позволяет математически выявлять в них некоторые «слабые места» ещё на стадии проектирования и до начала дорогостоящих эмпирических тестов. Результаты работы представил на конференции CTCrypt 2026 зам. руководителя лаборатории криптографии по научной работе Иван Чижов. В своём докладе «Свойства кода квадратичных отношений и его применение в задаче декодирования линейных кодов» он предложил новый взгляд на внутреннюю структуру линейных кодов и выявил ранее незамеченные закономерности, влияющие на криптографическую надёжность.

Читать далее

Прячем метаданные в мессенджере: 2-hop onion-lite поверх обычных VLESS + Reality relay, и почему это почти бесплатно

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

В прошлые разы я разбирал, как мы встроили обход блокировок прямо в iOS-приложение: sing-box внутри бинарника, VLESS + Reality, relay как расходник, конфиг отдельно от сборки. Та статья закрывала ровно одну задачу: довести трафик мессенджера до сервера там, где прямое соединение режется.

Но в самом конце был честный абзац, который мне не давал покоя. Я написал тогда: туннель меняет то, как соединение выглядит для цензора по дороге, и не меняет того, кто стоит на концах. Оператор relay (в нашем случае мы сами) видит ваш трафик ровно так же, как его видел бы провайдер при прямом подключении.

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

Читать далее

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

Заморозка по fingerprint: как ТСПУ в июне 2026 ломает соединения по поведению, а не по протоколу

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

Полгода назад я написал здесь разбор «почему VLESS работает» — он собрал 169 тысяч просмотров и под тысячу закладок. Я тогда уверенно заявил: REALITY не отличить от обычного HTTPS, поэтому он держится там, где всё остальное давно отвалилось. Прошло полгода — и оказалось, что я был прав ровно наполовину.

В феврале ТСПУ перешёл на поведенческий анализ, а в июне — на то, что в чатах называют «заморозкой по fingerprint». И тут разом перестали подключаться мои собственные конфиги — и конфиги тысяч других людей. Приложение бодро рапортует «connected», а трафика нет. А привычный совет «обнови клиент» вдруг превратился в пустой звук.

Вот я и вернулся — посмотреть, что осталось от моих же выводов. Это разбор со стороны клиентского устройства — угла, который обычно недозанят. Что на самом деле творится в телефоне, когда «всё зелёное, а интернета нет». Как устроена новая детекция. И как измерить её самому, чтобы не потерять доступ к легальным сервисам, которые попали под ложные срабатывания.

Пара слов о том, чему верить. Тема скользкая, источников мало, и я не хочу делать вид, что у меня на руках спецификация системы. Поэтому дальше честно помечаю, где у меня твёрдый пруф, а где — реконструкция по одному источнику. Самое важное сразу: ядро всей новой схемы (разделы 2–4) собрано по одному структурированному первоисточнику — посту в Obsidian/Zapret, где автор разбирает поведение через инструмент dpi-ch. Это не выписка из документа РКН и не консенсус исследователей ТСПУ. Академические работы (ensafi/IMC 2022, gfw.report) такой схемы вообще не описывают — как и кодового имени, под которым она ходит в обсуждениях. Так что всё про конкретные пороги — «>3 хендшейка», «350–400 мс», «120/600 с» — это инженерная реконструкция чёрного ящика по одному наблюдению, а не доказанное устройство системы. Числа читайте как рабочие гипотезы.

Читать далее

«Квантовое вмешательство» помогает раскрыть фундаментальные принципы природы

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

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

Читать далее

Галуа Ч.3: Конечные поля вида GF((p^n)^m). Изоморфизм конечных полей

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

В третьей и последней статье цикла о конечных полях мы завершаем путь от базовых понятий абстрактной алгебры к полям вида GF((p^n)^m). Разберёмся, как строить поля вида GF((p^n)^m) и изоморфизм между полями одинакового порядка на примере полей GF((2^2)^2) и GF(2^4). Для наглядности также построим поле GF(3^2). Заодно посмотрим, как автоматизировать вычисления и эксперименты в конечных полях с помощью SageMath.

Читать далее

Галуа Ч.2: Кольца и поля. Конечные поля вида GF(p^n)

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

Во второй статье цикла о конечных полях продолжаем путь от базовых понятий абстрактной алгебры к полям вида GF((p^n)^m). Разберёмся, чем отличаются кольца и поля, познакомимся с конечными полями и на практике построим поле GF(2^4). Заодно посмотрим, как автоматизировать такие вычисления и эксперименты с помощью SageMath.

Читать далее

Галуа Ч.1: Классы вычетов и группы

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

Первая статья из цикла о конечных полях: путь от базовых конструкций абстрактной алгебры до полей вида GF((p^n)^m) и их изоморфизма. Начнём с классов вычетов и групп, разберём фундаментальные идеи, на которых строится теория конечных полей, и параллельно освоим SageMath для автоматизации вычислений и экспериментов.

Читать далее

Фрактальная криптография: может ли хаос стать основой постквантового шифрования?

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

Всем Q. А тем, у кого малиновые штаны много QqQq. Когда-то, n-лет тому назад, много и долго исследовал фракталы ...

Читать далее

Я не хотел, чтобы WeTransfer читал мои файлы, и написал хранилище, которое не доверяет само себе

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

Каждый раз, когда нужно передать кому-то файл или пароль, выбор бесит: WeTransfer и аналоги видят всё, почта и телеграм хранят файл в плейнтексте вечно, PrivateBin только для текста. Хотелось простого: бросил файл, получил ссылку, а сервер физически не может его прочитать. И чтобы сервер был мой. Так появился share·me, self-hosted сервис, который шифрует файлы и текст прямо в браузере (AES-256-GCM), а ключ кладёт в URL-фрагмент, который браузер никогда не отправляет на сервер. Внутри: Rust/axum, Next.js, потоковое шифрование больших файлов и пара граблей, на которых я споткнулся.

Показать, как это устроено
1
23 ...