Обновить
128K+

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

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

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

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

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

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

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

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

Читать далее

Новости

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

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

Полгода назад я написал здесь разбор «почему 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 мин
Охват и читатели8.8K

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Я устал от бесконечных списков чатов и написал свой приватный мессенджер на гексагональных сотах (Kotlin + Go)

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

Привет, Хабр!

Меня, честно говоря, просто утомили современные интерфейсы общения и навигации. Куда ни посмотри — в Telegram, Slack, WhatsApp, на почте — нас везде встречает один и тот же шаблон: бесконечный, давящий вертикальный список чатов. Это превращает общение в какую-то рутину, конвейер, где новые сообщения постоянно вытесняют старые, заставляя нас бесконечно скроллить экран вверх и вниз.

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

Так родился проект ПОРЯДОК или ORDO. Идея навигации в нем реализована фрактально-пространственным способом — в виде гексагональных сот (ячеек).

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

Читать далее

Я открыл боевую базу своего clipboard-sync, чтобы показать, что он знает о вашем пароле. Ответ: ничего

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

Скопировали пароль от прода и синхронизировали его между ноутбуком и телефоном. Где он теперь лежит и кто может его прочитать? Я сделал сервис, где честный ответ — «нигде в открытом виде и никто, включая меня». И сейчас покажу строку из живой базы, чтобы это доказать.

Это первая статья про Copy Sync — приватный кроссплатформенный обмен буфером обмена. Я не собираюсь его вам продавать. Я хочу разобрать одну инженерную задачу: как построить сервер, которому физически нечего у вас украсть, даже если им завладеет кто-то злой — включая меня самого. Весь крипто-код открыт, и проверить меня можно по ~70 строкам, а не по обещаниям.

Читать далее

Как я создавал алгоритм шифрования под влиянием шифра Вернама

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

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

Читать далее

Я спрятал в этой статье шифр. Точно так же, как его прячет ваш принтер

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

Похоже на корявый рисунок в paint. И хотя это он и есть, этот рисунок, на самом деле, вы уже видели раньше, но в другом виде. Есть он в каждом листе, который выходит из вашего цветного принтера. Только там он желтый и почти невидимый.

Я не буду объяснять, как работает лазерный принтер. Барабан, тонер, коротрон, про это написано тысячу раз. Сегодня речь про то, что именно принтер дописывает поверх вашего документа и о чем вам не сказали.

А по дороге, в статье, между главами, спрятан шифр. Его я расшифровывать не буду. Кто первым выложит ответ в комментарии, тот молодец.

Читать далее

48-кубитный гибридный симулятор Гровера на домашней видеокарте: пробиваем стены памяти и времени

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

Вокруг квантовых вычислений много маркетингового шума. Если вы попытаетесь смоделировать честное 48-кубитное квантовое состояние в комплексном базисе complex128, то неизбежно упретесь в «стену памяти» в 4.5 Петабайта. Если же вы решите применить блочную декомпозицию пространства состояний для ее поочередного обсчета, то упретесь в «стену времени» длиною в несколько лет непрерывных вычислений на GPU.

В этой статье мы разберем проект гибридного симулятора, который обходит обе стены, удерживая потребление видеопамяти в пределах 268 МБ, а время симуляции сокращает в 400 раз.

Давайте сразу снимем маски: физически данный симулятор не удерживает 48 кубитов в единой суперпозиции. Между старшей и младшей половиной регистра полностью отсутствует квантовая запутанность (entanglement).

Вместо этого применена жесткая, но эффективная классическая блочная декомпозиция (принцип Space-Time Trade-off, то есть размен памяти на время):

Читать далее

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

Meshtastic + Hidden Lake: анонимный трафик поверх Mesh-сетей

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

В предыдущих своих работах я писал, что анонимную сеть Hidden Lake можно внедрить в любую систему, где существует возможность отправления и получения сообщений. За счёт такой имплементации появляется возможность использовать выбранную систему для генерации анонимного трафика и скрывать свои действия в ней же. В этой статье мы попробуем внедрить Hidden Lake в радиомодуль Meshtastic/LoRa.

Читать далее

Миссия выполнима: Как подружить Max и E2E

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

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

Идея зародилась, когда весь этот цирк только начинался. Прогревали новый ГОСТ-мессенджер, поливали его чем только можно. В какой-то момент проскочила новость: В Max нет сквозного шифрования...

И тут зародилась глупая идея: почему бы самому не прикрутить к нему разные функции анонимности и шифрования? Уровень конечно совсем не тот, что у Telegram и Signal, но сама возможность скрыть содержание переписки завораживает, разве нет?!

Спойлер: APK весит 11 МБ против 120 МБ у официального, не греет телефон и показывает каждый запрос к серверам ok[.]ru и vk[.]ru

Читать далее

Квантовые компьютеры — не угроза 128-битным симметричным ключам

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

Надвигающаяся угроза со стороны заточенных на криптографию квантовых компьютеров заставила срочно менять действующие примитивы асимметричной криптографии — обмен ключами (ECDH) и цифровые подписи (RSA, ECDSA, EdDSA) — которые уязвимы для квантового алгоритма Шора. Однако существующих симметричных методов криптографии (AES, SHA-2, SHA-3) или уровней их стойкости это не коснулось. ccc

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

AES-128, как и SHA-256, обеспечивает достаточную защиту от атак с применением квантовых компьютеров. В рамках перехода в постквантовую эпоху размер симметричных ключей изменять не требуется. Это почти единогласное мнение среди профильных экспертов и органов стандартизации, которое нужно распространить среди остальной части IT-сообщества. И дальше в статье я подкреплю это утверждение техническими аргументами со ссылками на авторитетные источники.

Читать далее

Острова и несколько личностей на одном устройстве: как мы делаем приватность частью архитектуры

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

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

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

1. Фундамент: сервер, который мало что знает

Сначала коротко про основание, иначе дальше будет непонятно.

- Идентификатор это UIN, просто число. Никакого номера телефона, никакой загрузки списка контактов. Аккаунт не привязан к личности, его можно сжечь и завести новый за секунды.

- Sealed sender: отправитель запечатан внутри зашифрованного конверта, а не лежит в заголовке. На транспортном уровне сервер видит "кому доставить", но не "от кого". Кто это понимает, тот сразу видит, что граф общения на сервере не собирается.

- Контент шифруется end-to-end: эфемерный X25519 на сообщение, HKDF, ChaCha20-Poly1305. Сервер пересылает шифротекст, ключей у него нет.

Идея простая: сервер это в основном тупая труба для шифротекста. Нет телефонов, нет графа, нет содержимого. Это важно для всего дальнейшего.

2. Острова: свой сервер вместо нашего

Раз сервер это тупая труба, его можно вынести куда угодно. Любая организация (редакция, юрфирма, команда, НКО) поднимает свой экземпляр RCQ, свой остров, и общается внутри него: свой сервер, свои UIN, своя история, свои группы, отдельно от публичной сети.

Читать далее

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

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

Как организовать шифрование на уровне протокола? На самом деле тема непростая и пожалуй (имхо) это как раз та самая тема, где прийти к компромиссу почти никогда не получается. Разве что просто не передавать чувствительные данные вовсе.

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

Читать далее

Privacy-by-design: что наш edge не пишет на диск и почему это сложнее, чем кажется

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

Я пилю VantageDNS — рекурсивный DNS-резолвер с фильтрацией. NextDNS-clone, если коротко: юзер настраивает роутер на наш DoH endpoint, а мы рекурсивно резолвим и заодно режем рекламу, трекеры и malware.

Privacy-фокус для такого продукта это не маркетинговая фича, а архитектурное ограничение, которое надо тащить с первого дня. Privacy policy без архитектурных гарантий — это обещание не лезть в твою тумбочку, ключи от которой ты сам отдал.

В этой статье конкретика: что edge-нода не пишет на диск, как устроен кольцевой буфер для query log, что делать с crash dumps, и как юзер может проверить, что мы не врём, через strace.

Что мы не пишем на диск

Создал свой генератор случайных чисел на потоках

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

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

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