Обновить
128K+

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

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

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

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

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

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

Читать далее

Новости

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

В предыдущих своих работах я писал, что анонимную сеть 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.3K

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

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

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

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

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

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

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

Читать далее

Послания от ангелов и первый шаг к компьютерам: стеганография Средневековья и Ренессанса

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

Древние греки и римляне изобрели почти всё — от демократии до акведуков и… стеганографии, о чем шла речь в предыдущей публикации. С закатом же античности в значительной части мира наступил упадок культуры и технологий. Однако стеганографический «олимпийский огонь» не погас, а лишь временно поблек: вскоре его подхватили и разожгли с новой силой на Ближнем Востоке и в Европе. Некоторые методики тайнописи Средних веков и Ренессанса опередили свое время и даже создали отложенную предпосылку к появлению компьютеров и переходу в цифровую эпоху.

В блог Бастиона снова заглянула старший научный сотрудник Московского музей криптографии, кандидат исторических наук Анастасия Ашаева. В прошлой статье эксперт рассказала о стеганографических методиках и контейнерах античности. На этот раз поговорим о тайнописи Средневековья и эпохи Возрождения. Итак, поехали.

Читать далее

Восстановление данных с помощью бесплатной утилиты Easy Disk Checker

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

С момента (раз, два, три) публикаций о бесплатной свободно распространяемой многофункциональной утилите Easy Disk Checker вышел major update 5.* в котором по итогам голосования на "Хабре" появилась и развивается новая ветка “Восстановления данных”, где я, как практикующий с 2003 года дата-рекавери специалист, постарался реализовать функции которые могут помочь как обычным пользователям, так и мне, в моей ежедневной профессиональной деятельности.

Читать далее

Meta 1 мая показала как они хранят ключи от ваших бэкапов WhatsApp. Разбираю архитектуру и сравниваю

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

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

Первого мая на Engineering at Meta вышел пост «How Meta Is Strengthening End-to-End Encrypted Backups». Одиннадцатого мая продолжение про Labyrinth 1.1, реализацию для Android. Я прочитал оба, потом полез в whitepaper, потом сравнил с тем что делаю у себя, и решил написать разбор. Не пересказ маркетингового материала, а нормальный технический разбор. Что они сделали, почему именно так, где у меня болело по дороге, какие компромиссы они выбрали, какие выбрал я.

Сразу важная оговорка про что эта статья. Она не про шифрование сообщений в транзите. Signal Protocol, Double Ratchet, X3DH — всё это давно стандарт, все нормальные мессенджеры это используют. WhatsApp лицензировал Signal Protocol ещё в 2016-м. Транзит решённая задача.

Эта статья про следующее звено цепи, которое для большинства пользователей до сих пор сломано. Про бэкапы.

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