Как стать автором
Обновить
34.92

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

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

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

Сложно ли генерировать 1024-битные простые числа?

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

Простые числа удивительны!

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

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

Вызов

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

Генерировать простые числа, способные генерировать ключи для алгоритма RSA

На момент написания этой статьи хорошей длиной ключей RSA считаются 2048 битов. Ключи RSA генерируются перемножением двух простых чисел, так что для получения 2048-битного ключа нам нужны два числа длиной примерно 1024 бита. Это ограничивает рамки задачи генерацией 1024-битных простых чисел. Теперь вы знаете, откуда взялось число из заголовка поста.

Читать далее
Всего голосов 52: ↑52 и ↓0+70
Комментарии21

Новости

Дешифрование паролей для доступа к потерянным Биткоин Кошелькам с помощью метода Gauss-Jacobi

Время на прочтение14 мин
Количество просмотров2.3K

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

Метод Gauss-Jacobi является итеративным численным методом для решения систем линейных уравнений. Он широко используется в различных областях, таких как криптография, криптоанализ, инженерия и вычислительная математика. Сеть Биткоин использует криптографические алгоритмы, такие как хэш-функции SHA-256, алгоритм подписи ECDSA, эллиптические кривые secp256k1, для создания публичных и приватных ключей, которые представляют собой точки на эллиптической кривой. Приватный ключ – это секретная числовая величина, которая используется для генерации публичного ключа, а публичный ключ – это точка на кривой, полученная путем вычисления с приватным ключом. Таким образом, эллиптические кривые secp256k1 лежат в основе криптографических механизмов, которые обеспечивают безопасности транзакций и защиты от различных атак. Современные технологии которые развивают предварительно обученную модель Bitcoin ChatGPT находят эффективные способы решение сложных криптографических задач, лежащих в основе алгоритмов, используемых в Биткоине.

Читать далее
Всего голосов 5: ↑2 и ↓3+1
Комментарии5

Самые актуальные исследования в области квантовых коммуникаций: важные шаги и вызовы

Время на прочтение5 мин
Количество просмотров797

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

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

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

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Уязвимость DeserializeSignature в сети Биткоин криптоанализ и недействительные подписи ECDSA

Время на прочтение18 мин
Количество просмотров1.3K

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

Читать далее
Всего голосов 5: ↑3 и ↓2+3
Комментарии3

Истории

Локальный HTTPS в dev-окружении — простая настройка

Время на прочтение6 мин
Количество просмотров7.9K


Иногда в процессе веб-разработки требуется безопасное окружение в браузере, то есть HTTPS. Удобный способ сделать это — установить локальный УЦ и автоматизировать выдачу сертификатов на любые поддомены lcl.host и localhost. Это более функциональная и удобная альтернатива самоподписанным сертификатам.

Для установки локального УЦ есть инструменты lcl.host и mkcert, которые помогают быстро настроить и использовать HTTPS в dev-окружении.
Читать дальше →
Всего голосов 24: ↑18 и ↓6+17
Комментарии5

Реализация Streebog256 и Streebog512 на языке RUST

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров2.3K

Как и планировалось, следом за реализацией семейства хэш-функций SHA, появляется Стрибог и тоже в двух версиях, для 256 и 512 бит на выходе. Надеюсь эта статья будет полезна другим студентам. Более опытные разработчики в комментариях приветствуются.

Весь код сохранен в репозитории GitVerse.

Читать далее
Всего голосов 16: ↑13 и ↓3+12
Комментарии14

Vo(IP) Really Simple: пишем простое VoIP решение

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров1.7K

Будучи поклонником suckless философии, минимализма и простоты в программном обеспечении, я не нахожу простых и маленьких VoIP решений. Программ связанных с VoIP очень много. Но это либо колоссальные системы для построения SIP-based экосистемы, либо что-то из мира WebRTC. Особняком выделяю Mumble -- популярное решение среди геймеров: централизованный сервер, указываешь его адрес и вот уже слышишь в наушниках другого человека. А нет ли чего ещё попроще?

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии4

Разбор вердикта суда в отношении разработчика Tornado Cash

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

В результате беспрецедентного судебного разбирательства Алекс Перцев, ключевой разработчик инструмента для обеспечения приватности на базе Ethereum под названием Tornado Cash, был приговорен сегодня к более чем пяти годам тюремного заключения за свою работу над проектом. Вынесенный приговор был максимальным, запрошенным прокуратурой, и стал первым приговором разработчику, создавшему децентрализованный инструмент достижения приватности с использованием криптовалют.

Читать далее
Всего голосов 64: ↑57 и ↓7+66
Комментарии275

Генерация надёжных псевдослучайных чисел с ChaCha8Rand в Go

Время на прочтение4 мин
Количество просмотров1.1K

В версии Go 1.22 пакет math/rand/v2претерпел значительные изменения, а в частности - переход на ChaCha8Rand. Этот новый генератор представляет собой модификацию широко известного и проверенного временем шифра ChaCha8, который используется в протоколах TLS и SSH.

Читать далее
Всего голосов 10: ↑9 и ↓1+12
Комментарии7

Режимы работы блочного шифра

Время на прочтение5 мин
Количество просмотров1.7K

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

Читать далее
Всего голосов 9: ↑7 и ↓2+10
Комментарии2

Криптография на службе у stateless

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

Всем привет! Я – Кирилл, и я работаю в команде Мир Plat.Form.

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

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

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

Почему крипта иногда позволяет экономить
Всего голосов 7: ↑7 и ↓0+9
Комментарии0

Анализ распределения простых чисел. Часть 1

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

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

Читать далее
Всего голосов 21: ↑4 и ↓17-11
Комментарии28

Реализация SHA256 и SHA512 на языке RUST

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

Небольшая заметка студента о том, как самостоятельно реализовать алгоритмы SHA256 и SHA512 на Rust.

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

Читать далее
Всего голосов 15: ↑14 и ↓1+16
Комментарии28

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

Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

Интеграция с ЕСИА на Node.js без CryptoPro [2024]

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

Приветствую! Свою первую статью решил посвятить технической стороне интеграции с ЕСИА (Госуслугами). Считаю данный материал уникальным, поскольку пока разбирался в этой задаче не увидел ни одной статьи которая описывает интеграцию с ЕСИА без использования платной CryptoPro. Надеюсь данный материал поможет коллегам, столкнувшимся с этой задачей.

Предыстория. Совсем недавно в проекте который я разрабатываю встала задача идентифицировать пользователей и сохранять их верифицированные паспортные данные с дальнейшей целью формирования документов и соглашений с этими данными. Решили сделать авторизацию через ГосУслуги, т.к это крупнейшая доступная база паспортных данных в России. Первое что бросилось в глаза - нестандартное ГОСТовское шифрование и несвобода в выборе ПО для работы с этим шифрованием, а также отсутствие актуальных материалов и понятной документации. В следствие чего пришлось собирать информацию по крупицам, пробовать и экспериментировать на каждым шаге, на что ушло немало времени. Теперь когда все шаги пройдены и интеграция налажена, я решил осветить темные места, чтобы помочь разработчикам в их непростом деле.

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

Читать далее
Всего голосов 11: ↑11 и ↓0+12
Комментарии7

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

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

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

В статье, опубликованной в журнале Social History of Medicine, мы с моим соавтором Мишель Л. Льюис предполагаем, что секс является одним из предметов, подробно описанных в манускрипте, и что самая большая диаграмма изображает и секс, и зачатие.

Читать далее
Всего голосов 18: ↑15 и ↓3+20
Комментарии17

Анонимная сеть Hidden Lake → анализ QB-сетей, функций шифрования и микросервисов на базе математических моделей

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров3.6K

Анонимная сеть Hidden Lake (HL) - это децентрализованная F2F (friend-to-friend) анонимная сеть с теоретической доказуемостью. В отличие от известных анонимных сетей, подобия Tor, I2P, Mixminion, Crowds и т.п., сеть HL способна противостоять атакам глобального наблюдателя. Сети Hidden Lake для анонимизации своего трафика не важны такие критерии как: 1) уровень сетевой централизации, 2) количество узлов, 3) расположение узлов и 4) связь между узлами в сети.

Читать далее
Всего голосов 13: ↑13 и ↓0+16
Комментарии3

Шифр Цезаря на Ассемблере

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

Друзья, коллеги, всех приветствую! В этой статье мы напишем шифратор на грязном "макро-чистом" Ассемблере и в качестве элементарного шифра будем использовать Шифр Цезаря (Шифр сдвига с ключом k = n). Статья написана для новичков, которые могут погрузиться в мир "первой" криптографии. З.Ы. Код можно доработать, как вы захотите (например, реализовать другой шифр), и использовать, например, в курсовой (в ВУЗе). Благо, в профильных ВУЗах еще уделяют какое-то время языку Ассемблера :)

Читать далее
Всего голосов 12: ↑11 и ↓1+11
Комментарии7

Расшифровка BitLocker — добыча ключа из микросхемы TPM

Время на прочтение4 мин
Количество просмотров18K

Подключение сниффера к модулю TPM по шине LPC

Полнодисковое шифрование BitLocker в ОС Windows считается довольно надёжным способом сохранения данных. По умолчанию оно использует алгоритм Advanced Encryption Standard (AES) в режиме сцепления блоков (CBC) или в режиме подстроенной кодовой книги с кражей шифротекста (XTS) на базе xor-encrypt-xor (XEX) со 128- или 256-битным ключом.

В теории это довольно крепкая схема. Проблема только в том, что секретный ключ BitLocker хранится в Trusted Platform Module (TPM), а в некоторых случаях (на некоторых компьютерах) его можно извлечь, получив физический доступ к устройству.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+26
Комментарии43

Решение cryptopals. Часть 3

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров575

Завершаем решение cryptopals. В этой части рассмотрим блоки заданий 5 и 6, которые посвящены криптографии с открытым ключом.

Первая часть
Вторая часть

Читать далее
Всего голосов 2: ↑2 и ↓0+3
Комментарии0

Хеш-функция Стрибог. Особенности аппаратной реализации на System Verilog

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров4.4K

На просторах интернета есть несколько статей об алгоритме получения хеш-функции Стрибог (ГОСТ 34.11-2012), в том числе и на Хабре. Однако везде в качестве примера приводится реализация на языках программирования C, C#, Python и других. То есть идет последовательное выполнение операций алгоритма. В данной статье я хочу затронуть аппаратную реализацию на языке System Verilog, уделить внимание распараллеливанию вычислений и описанию интерфейсов модулей. Для начала кратко рассмотрим теорию.

Читать далее
Всего голосов 29: ↑28 и ↓1+38
Комментарии20
1
23 ...