Метка «криптография» - 7

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

Алгоритм Диффи — Хеллмана позволяет двум сторонам получить общий секретный ключ, используя незащищенный от прослушивания, но защищённый от подмены канал связи. Полученный ключ можно использовать для обмена сообщениями с помощью Читать полностью »

Всё нижеописанное относится к физлицам Российской Федерации.

Зачем это надо?

Как вы, возможно, знаете — авторизация на портале госуслуг возможна тремя способами — при помощи логина и пароля (где роль логина играет номер СНИЛС), при помощи USB-ключа ЭЦП (криптографического токена), и при помощи CSP.
Мне проще помнить небольшой ПИН к токену, чем каждый раз держать перед глазами карточку СНИЛС с цифрами номера, и вспоминать пароль (а требования к паролю у ЕПГУ серьезные).Поэтому я решил получить аппаратный токен с ключом ЭЦП.
До кучи — квалифицированую подпись токеном можно использовать и помимо портала госуслуг.
Читать полностью »

Решение (несложных) криптографических задач на языке HaskellВторая инкарнация вводного курса по криптографии на Coursera порадовала тем, что в ней для решения задач можно было пользоваться произвольным языком программирования. Ну и поскольку мои познания в криптографии ограничивались тем, что я прочитал в рассказах «Золотой жук» Эдгара По и «Пляшущие человечки» Артура Конан-Дойля, то я с удовольствием прослушал все лекции, порешал задачи и поучаствовал в жизни тамошнего форума.

За шесть недель курса почтенным слушателям было предложено шесть задач на программирования по следующим темам:

  1. Поточные шифры.
  2. Блочные шифры.
  3. Аутентификация сообщений.
  4. Аутентификация шифровок.
  5. Обмен ключами.
  6. Шифрование при помощи открытых ключей.

Все представленные программные задачи были мной решены при помощи прекрасного языка функционального программирования Haskell. Для этих целей пришлось накодировать несколько вспомогательных модулей, а также две задачи были решены в полуавтоматизированном режиме (режим «автоматизированного криптоанализа»). Далее в этой заметке я приведу сначала описание вспомогательных модулей, а потом описание функций для решения задач. Самих ответов я приводить не буду, чтобы не нарушать так называемый «Кодекс чести». И если вы планируете самостоятельно проходить этот курс, то рекомендую вам не читать дальнейший текст.

Читать полностью »

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

Гомоморфное шифрование — криптографическая система, которая позволяет проводить определенные математические действия с открытым текстом путем произведения операций с зашифрованным текстом.

Долгое время полностью гомоморфная криптосистема оставалась для всех криптографов мира священным Граалем, недостижимым идеалом. И вот в 2009 году Craig Gentry в своей диссертации впервые описал полностью рабочую схему гомоморфного шифрования.
Несколько математических подробностей идеи Gentry а также пример реализации его алгоритма вы найдете под катом.
Читать полностью »

Предисловие

О себе

Учусь в колледже, познакомился с программированием около года назад, на работу не берут в таком возрасте в офисы — всем нужны дипломы, квалификации и опыт работы (на стажировки в крутые компании тоже берут только с 3-5 курса университета), поэтому решил подзаработать на фрилансе.
Читать полностью »

Учёные из Агентства по науке, технологиям и исследованиям Сингапура (A*STAR) реализовали метод печати микроскопических изображений с разрешением около 100 000 DPI. Предполагается, что этот метод найдёт применение для печати водяных знаков, секретных сообщений, в криптографии и в системах хранения информации.

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

Полноцветная печать с разрешением 100 000 DPI на дифракционном пределе
Изображение Лены размером 50×50 микрометров
Читать полностью »

Судя по всему, в связи с выпуском Google Chrome 21, Google тихо, без лишней помпы, сменил криптографический протокол TLS 1.0, который уже давно скомпрометирован, на TLS 1.1. Поигравшись с настройками Opera и отключив SSL 3.0/TLS 1.0, выяснилось, что авторизация в учётку Google работает и по TLS 1.2. Аналогично сносно работают PayPal и Facebook. А вот что Яндекс, что Твиттер, что Outlook.com пока, видимо, не в курсе о ненадёжности протоколов и работать принудительно под TLS 1.1/1.2 не хотят.

P. S.Читать полностью »

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

Собственно, вот сам квест. Принцип тот же, что и в новогоднем квесте: на каждом уровне дается задание в виде текстового файла, решив его (то есть взломав шифр), получаем пароль к архиву, в котором лежит следующий уровень. Архив нулевого уровня (cryptoquest.zip) без пароля. В каждом случае зашифрован не только сам пароль, но и достаточно длинное осмысленное сообщение — иначе криптоанализ становится слишком трудоемким.
Читать полностью »

Anubis
Продолжая своеобразную неделю криптографии на Хабре, я решил поделиться своей реализацией алгоритма шифрования Anubis на PHP. Anubis представляет собой блочный алгоритм шифрования, являющийся, по-сути, модификацией алгоритма Rijndael, принятого в качестве стандарта шифрования в США. Авторами шифра являются Винсент Рэймен — один из разработчиков Rijndael и Пауло С. Л. М. Баррето — известный криптограф, один из разработчиков хэш-функции Whirlpool.

Почему я выбрал именно Anubis? Это не патентованный алгоритм, доступный для свободного использования. Anubis отвечает современным требованиям безопасности — размер блока составляет, как и в AES, 128 бит, а длина ключа может варьироваться от 128 до 320 бит. Кроме того, с момента опубликования в 2000-м году, в алгоритме Anubis не обнаружено слабых мест. Он не попал в проект NESSIE, но лишь из-за своей схожести с Rijndael.
Читать полностью »

Предисловие

Шамир Ади – израильский криптоаналитик, профессор информатики и прикладной математики института Вейцмана, лауреат премии Тьюринга. Является одним их трех создателей знаменитой криптосистемы RSA.В 1984 году Шамир пишет статью о новой криптосистеме, называемой ID-Based Cryptography ( личностная криптография).Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js