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

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

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

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

Алгоритм для секретного назначения дарителей в Secret Santa

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


Привет, Хабр! В этой статье я приведу простой алгоритм, позволяющий группе из N человек секретно сгенерировать каждому из участников группы номер другого участника — одариваемого — для обмена подарками на Новый год в мероприятии Тайный Санта (Secret Santa).


Прежде всего, что такое Тайный Санта? Статья в Википедии рассказывает это лучше меня, я лишь кратко скажу, что это церемония, пришедшая к нам с Запада, в которой группа людей сговаривается подарить на Новый год друг другу подарки таким образом, что каждый из участников дарит и получает по одному подарку, при этом каждому не известен его даритель, но известен одариваемый (отсюда "тайный Санта"). Стоимость подарков обычно оговаривается заранее, чтобы все подарки были примерно равноценны. При желании можно условиться, что после того, как обмен подарками совершится, дарители раскроются.


Свой "Тайный Санта" есть и на Хабрахабре под названием "Клуб Анонимных Дедов Морозов".


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

Читать дальше →
Всего голосов 21: ↑16 и ↓5+11
Комментарии41

Я отказался от PGP

Время на прочтение5 мин
Количество просмотров45K
Об авторе: Филиппо Валсорда занимается криптографией и TLS, называет себя «послом urandom», входит в криптогруппу компании Cloudflare, поднял известный сервис для тестирования на уязвимость Heartbleed. Вы могли встречать его на конференциях по криптографии и компьютерной безопасности или под ником @FiloSottile на Github и в твиттере

Спустя годы мучений с GnuPG с различным уровнем энтузиазма я пришёл к выводу, что оно не стоит того, и я сдаюсь. По крайней мере относительно концепции долговременных ключей PGP.

Речь не о самой программе gpg и не о криптографических инструментах в принципе. Многие писали на эту тему. Я говорю о модели долговременных ключей PGP, будь она гарантирована сетью доверия, отпечатками открытых ключей или моделью TOFU — неважно. Я говорю о том, что она не подходит для меня лично.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии83

XCA – удостоверяющий центр уровня предприятия или сага о русских и немецких программистах

Время на прочтение9 мин
Количество просмотров24K
I think noone ever looked at the code as deeply as you did.
Christian Hohnstädt, Programming, Translation and Testing XCA
Перевод:
Я думаю, что еще никто так глубоко не заглядывал в мой код, как вы.
Christian Hohnstädt, разработчик XCA
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии7

Экспорт ключа SignalCom в OpenSSL

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

У вас стоит задача интегрироваться с удалённым сервисом, который работает по ГОСТу и "только через КРИПТО-КОМ", а вы хотите использовать OpenSSL с gost? На форуме "Сигнал-КОМ" вы видите кучи сообщений, что "ключи из формата КРИПТО-КОМ нельзя конвертировать в формат OpenSSL-гост-совместимых"? На самом деле конвертация возможна.

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

Истории

[СПб, Анонс] Встреча CodeFreeze с Александром Чепурным про блокчейн для разработчиков

Время на прочтение2 мин
Количество просмотров3.8K
image
В четверг, 15 декабря, в 20:00 в офисе компании SEMrush состоится встреча с Александром Чепурным, сотрудником IOHK Research. Тема встречи — блокчейн для разработчиков. В данной сессии будет рассказано все о технологии: от самых основ до деталей различных проблем и атак.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии0

Сказание о Клеопатре и о российской криптографии (Продолжение)

Время на прочтение6 мин
Количество просмотров24K
imageС появлением библиотеки GCrypt-1.7.0 с поддержкой российской криптографии (ГОСТ 28147-89, ГОСТ Р 34.11-94/2012 и ГОСТ Р 34.10-2001/2012), стало возможным говорить о поддержке российского PKI в таких проектах как Kleopatra и KMail.

imageKMail – это почтовый клиент, который для обеспечения безопасности переписки позволяет подписывать и шифровать сообщения по протоколу S/MIME. И то и другое базируется на архитектуре PKI, сертификатах X509 и протоколах CMS/PKCS#7:

image
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии10

Токены PKCS#11: сертификаты и закрытые ключи

Время на прочтение4 мин
Количество просмотров20K
image Токены PKCS#11 выполняют не только криптографические функции (генерация ключевых пар, формирование и проверка электронной подписи и другие), но и являются хранилищем для публичных (открытых, PUBLIC KEY) и приватных (закрытых, PRIVATE KEY) ключей. На токене также могут храниться сертификаты. Как правило, на токене хранятся личные сертификаты вместе с ключевой парой. При этом на токене может храниться несколько личных сертификатов.

Встает дилемма, как определить какой закрытый ключ (да и открытый тоже) соответствует тому или иному сертификату.

Такое соответствие, как правило, устанавливается путем задание идентичных параметров CKA_ID и/или CKA_LABEL для тройки объектов: сертификата (CKO_CERTIFICATE), публичного ключа (CKO_PUBLIC_KEY) и приватного ключа (CKO_PRIVATE_KEY).
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии12

О квантовой криптографии. Протоколы E91 & Lo05

Время на прочтение4 мин
Количество просмотров15K
Доброе время суток, Хабражители! Как и обещал в первой статье, расскажу о протоколах E91 и Lo05.

E91


Немного терории…


Это протокол был разработан Артуром Экертом в 1991 году. Так же он имеет название EPR (Einstein-Podolsky-Rosen) так как он основан на парадоксе Эйнштейна-Подольского-Розена.

В протоколе предлагается использовать, например, пары фотонов, рождающихся в антисимметричных поляризационных состояниях. Перехват одного из фотонов пары не приносит Еве никакой информации, но является для Алисы и Боба сигналом о том, что их разговор прослушивается.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии8

7 самых неприятных проблем в программировании

Время на прочтение8 мин
Количество просмотров52K
image

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

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

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

Вот семь из устрашающих уголков мира программирования, на которых легко можно написать: «Здесь живут драконы».
Читать дальше →
Всего голосов 74: ↑49 и ↓25+24
Комментарии91

Поддержка https совсем без настроек

Время на прочтение2 мин
Количество просмотров24K
Написал программу для автоматического выписывания ssl-сертификатов налету (при первом запросе к домену). Для начала работы программы её достаточно просто запустить, настраивать не надо совсем (даже домены для сертификатов указывать не надо).

Подробности внутри.
Читать дальше →
Всего голосов 58: ↑50 и ↓8+42
Комментарии30

Обзор децентрализованных крипто-платформ. Часть 2: Lisk

Время на прочтение6 мин
Количество просмотров7.4K
imageЭтим постом мы продолжаем цикл обзоров блокчейн-платформ (Часть 1: Waves), которые крайне редко упоминаются и обсуждаются в российских СМИ, однако, широко известны в узких «криптовалютных» кругах и среди энтузиастов.

Во втором материале цикла речь пойдет об open source блокчейн-платформе Lisk, которой к марту этого года за время предварительной продажи монет (ICO) удалось собрать 14 009 BTC и более 80 млн XCR на общую сумму 5,9 млн долларов.

Я решил подробнее ознакомиться с функционалом этой платформы децентрализованных приложений, которая дает разработчикам возможность самостоятельно участвовать в экосистеме проекта. При этом сами разработчики постепенно отказываются от привычного термина dapps в пользу термина «блокчейн-приложения».
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии1

Немного о квантовой криптографии

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

Данная статья является прологом к циклу статей и переводов по теме Квантовая криптография.

Действительно в последнее время все чаще мы слышим такие понятия как «Квантовый компьютер», «Квантовые вычисления» и конечно же «Квантовая криптография».

И если с первыми двумя понятиями в принципе всё понятно, то «Квантовая криптография» — понятие, которое хоть и имеет точную формулировку, до сих пор остается для большинства людей темным и не совсем понятным этакий Ёжик в тумане.
Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии4

Реализация блочного шифра «Кузнечик» с режимом CFB на С++

Время на прочтение10 мин
Количество просмотров25K
Сегодня речь пойдёт о новом алгоритме блочного шифрования «Кузнечик» из стандарта ГОСТ Р 34.12 2015. В последнее время выходит множество публикаций, посвященных этому стандарту. В них с теоретической точки зрения описываются приведённый алгоритм, изучаются особенности отельных преобразований, а так же предлагаются способы оптимизации, путём включения вставок кода на языке ассемблера.

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

Структура программы


Программа состоит из трех частей
  • набор вспомогательных функций и классов — mycrypto.cpp mycrypto.hpp
  • блочный шифр «Кузнечик» — Kuznyechik.cpp Kuznyechik.hpp
  • режим шифрования Cipher Feed Back — modes.hpp
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии18

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

Облачный токен PKCS#11 – миф или реальность?

Время на прочтение3 мин
Количество просмотров8.8K
PKCS#11 (Cryptoki) является стандартом, разработанным RSA Laboratories, для взаимодействия программ с криптографическими токенами, смарт-картами и другими аналогичными устройствами с помощью унифицированного программного интерфейса, который реализуется через библиотеки.

Поддержкой стандарта PKCS#11 для российской криптографии занимается технический комитет по стандартизации «Криптографическая защита информации» (ТК 26).
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии21

Досье на хакера: Борис Флорикик aka Tron, создатель первого Криптофона

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


Борис Флорикик (8 июня 1972 — 17 октября 1998), известный под псевдонимом Tron, был немецким хакером и фрикером, чья смерть, наступившая при невыясненных обстоятельствах, привела к появлению в немецкой прессе большого количества гипотез из разряда «теорий заговора». Он был также известен благодаря своему дипломному проекту, представлявшему собой одну из первых известных реализаций телефона со встроенным голосовым шифрованием, получившей название «Криптофон».

image Флорикик занимался взломом разнообразных систем компьютерной безопасности: известен, в частности, взлом защиты немецких телефонных карт и создание их работоспособных копий. Впоследствии он был приговорён к 15 месяцам заключения за совершённую в 1995 г. кражу телефона-автомата (совершённую им в целях reverse engineering), однако, затем приговор был отменён и заменён испытательным сроком.

Имя Флорикика вновь активно упоминалось в прессе в период с декабря 2005 г. по январь 2006 г., когда его родители и Andy Müller-Maguhn, известный член хакерского общества Chaos Computer Club (CCC), предъявили в Германии судебный иск к фонду «Викимедиа» в связи с тем, что в разделе Википедии на немецком языке было написано настоящее имя хакера. Иск включал требования убрать из статьи в немецкоязычной Википедии имя Флорикика.

Ранние годы


Флорикик вырос в Гропиусштадте, в южном пригороде Берлина. В школе его интересовали технические предметы. После десяти лет он покинул школу и получил профессиональное образование в Берлинском техническом университете по специальности «телекоммуникационная электроника» с квалификацией «информационные технологии». Получив аттестат, он приступил к занятиям по кибернетике в Техническом университете прикладных наук Берлина.
Всего голосов 20: ↑19 и ↓1+18
Комментарии4

Транспондер DST40: принцип работы, история появления и взлома, а также немного практики по брутфорсу

Время на прочтение17 мин
Количество просмотров33K
Давным-давно, ещё в девяностых годах прошлого века, набирающий обороты автомобильный рынок остро нуждался в появлении серьёзных противоугонных систем (далее по тексту — иммобилайзеров). Для автоугонщиков в те времена не было особых препятствий, мешавших завести двигатель механической копией ключа или даже совсем без ключа — простым замыканием проводов. Нужны были иммобилайзеры, способные значительно затруднить процесс старта двигателя и дальнейшего угона автомобиля без родного ключа зажигания.

Вот тогда и появилась на свет идея создания компактного радиомодуля (далее по тексту — транспондера), встраиваемого прямо в ключ зажигания автомобиля. В автомобиль же устанавливался иммобилайзер, общающийся с транспондером по радиоканалу. Иммобилайзер посылал в транспондер запрос, а транспондер отвечал неким кодом, без получения которого иммобилайзер не позволял запустить двигатель. Однако поначалу транспондеры всё равно были довольно примитивными, сравнительно легко клонируемыми устройствами. Достаточно было наличие радиоперехватчика и светлой головы на плечах, чтобы разобраться в алгоритме обмена и сымитировать ответ транспондера. Требовалось кардинальное изменение алгоритма общения иммобилайзера с транспондером.

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

Далее по тексту все картинки будут кликабельными, чтобы при желании их можно было детально рассмотреть.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии21

Специальные простые числа помогают пассивно прослушать протокол обмена ключами Диффи-Хеллмана

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

Слайд из презентации АНБ

В 2013 году благодаря Эдварду Сноудену в СМИ попали документы АНБ. Среди них — замыленный слайд из презентации, который указывал на возможности АНБ по расшифровке трафика VPN. У АНБ не было причин врать в засекреченной презентации, так что специалисты восприняли эту информацию как свидетельство наличия некоей фундаментальной уязвимости в современных системах криптографии с открытым ключом.
Читать дальше →
Всего голосов 56: ↑50 и ↓6+44
Комментарии11

ГОСТ Р 34.12 '15 на SSE2, или Не так уж и плох Кузнечик

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

На Хабре уже как минимум дважды упоминался новый отечественный стандарт блочного шифрования ГОСТ Р 34.12 2015 «Кузнечик», ru_crypt в своем посте рассмотрел основные механизмы и преобразования нового стандарта, а sebastian_mg занимался пошаговой трассировкой базового преобразования. Но многие вопросы остались без ответа. Насколько быстр новый ГОСТ? Можно ли его оптимизировать, эффективно реализовать, ускорить аппаратно?


GOST R 34.12 2015 with SSE2

А если можно, то как?
Всего голосов 55: ↑53 и ↓2+51
Комментарии47

Генерируем псевдослучайные ID а-ля Youtube

Время на прочтение4 мин
Количество просмотров24K
Привет, %username%! Бывает необходимо генерировать ID не подряд, причем чтобы они гарантированно не повторялись. На youtube это используется для того, чтобы вы не могли брутфорсом получить все новые и старые видосики, так же это не редкость на разных файлообменниках и вообще везде где нужно предотвратить или хотя бы затруднить возможность прямого перебора значений.


К примеру, в системе moodle, которая использовалась у нас в универе для тестирования студентов, ID ответов были инкрементными и сквозными на всю базу. Логично предположить, что правильным ответом был тот, что с наименьшим ID в пределах вопроса. В общем, проблем с тестами у нас не было. Потом они перешли на GUID, но я к тому моменту уже выпустился, хехе.

Давайте рассмотрим несколько способов генерации таких ограниченных по длине последовательностей от самых простых до криптографически стойких.
Читать дальше →
Всего голосов 69: ↑63 и ↓6+57
Комментарии41

Квантовое хеширование. Лекция в Яндексе

Время на прочтение20 мин
Количество просмотров19K
Фарид Мансурович Аблаев — заведующий кафедрой теоретической кибернетики Казанского федерального университета. Приехав в московский офис Яндекса, Фарид Мансурович рассказал об алгоритмах, потенциально пригодных для запуска на квантовых компьютерах. Таких устройств пока очень мало, и они толком не освоены даже самыми передовыми компаниями. Но когда они начнут дешеветь, у специалистов уже будут наработки, позволяющие приступить к их использованию.


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

Всего голосов 59: ↑59 и ↓0+59
Комментарии11