#криптография

8 постов
пост №2081Технологии и общество

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

Я в этой связи вспоминаю, как правительство США пыталось запретить публичное распространение криптографии, которую они не могли взломать.

Правительство классифицировало стойкие алгоритмы как вооружение и запрещало их экспорт.

Например, в середине 90-х, было две разных версии браузера Netscape: одна с нормальным 128-битным шифрованием, доступная только в США и Канаде, а остальной мир должен был довольствоваться 40-битным шифрованием.

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

Вот активистская футболка тех времен, с алгоритмом RSA и крупным предупреждением «эта футболка классифицируется как вооружение и не может быть экспортирована из США или показана иностранцу».

пост №1876Разработка и инженерия

Интересная и очень хорошо написанная статья про гомоморфное шифрование.

Это когда сервер выполняет вычисления поверх зашифрованной информации, не расшифровывая её.

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

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

То есть сервис производит полезные действия с вашими данными, не имея возможности их прочитать, сохранить, продать, потерять.

Теоретически, это работает не только с фотографиями, но и с медицинской, финансовой, избирательной и другой чувствительной информацией.

Теоретически — потому что на практике алгоритмы, работающие с такими данными, в тысячи раз медленнее, чем обычные алгоритмы, а сами данные получаются в сотни раз больше по объёму.

Под капотом там довольно сложная математика, с красивой интуитивной частью, рекомендую почитать оригинал. Придумали её ещё в 1970-х, но первый рабочий алгоритм смогли запрограммировать только в 2011.

Первая версия алгоритма обрабатывала один бит информации за 30 минут. За последние 5 лет алгоритмы и железо ускорились в триллион (1012) раз, и теперь операции с этим видом шифрования всего в 1000 раз более ресурсоёмкие, чем обычные.

Есть гипотеза, что гомоморфное шифрование продолжит ускоряться и дальше, и в какой-то момент мы сможем пользоваться онлайн-сервисами без необходимости делиться с ними личными данными. Например: отправили медицинскому сервису свои анализы или ДНК, и он поставил диагноз, не то что не сохраняя наши персональные данные, но даже не получив возможности их прочитать. Магия!

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

Удивительное открытие для меня — это то, что уже сейчас есть продакшен-системы, которые применяют гомоморфное шифрование в реальных задачах — например, Live Caller ID Lookup айфонов, который помогает бороться со спам-звонками, сохраняя приватность.

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

пост №1705Разработка и инженерия

Отличный инструмент для инженера, когда нужно поманипулировать текстом и данными, включая сжатие, декодирование и даже криптографию. Английское имя хорошо передает суть — Cyber Swiss Army Knife.

Особенно круто, что можно собирать «рецепты» — цепочки из операций над данными и делиться всем этим богатством простой ссылкой. Разработчик — GCHQ Его Величества, исходные коды доступны на гитхабе, может работать офлайн (в закрытом контуре 👀).

За наводку спасибо Игорю.

пост №1602Разработка и инженерия

Криптография — одна из самых сложных и интересных областей программирования и математики. Часто в IT есть правильное решение. Запрограммировал всё четко и задача решена условно на вечно.

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

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

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

Гость — Евгений Алексеев, начальник отдела криптографических исследований КриптоПро.

Слушайте и подписывайтесь: Apple, Google, Яндекс, Spotify, Castbox, Overcast, веб-версия.

пост №950Разработка и инженерия

На алгоритме Диффи-Хеллмана держатся современная криптография и интернет.

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

Вот одна картинка, которая помогла мне понять принцип работы алгоритма. Перевод мой специально для мамы. Мама, ты поймешь 100%.

В русской википедии утверждается, что «наглядная работа алгоритма показана на рисунке» и дальше вот этот рисунок. Диплом о высшем математическом образовании дает мне силы сказать: это картинка не наглядная, а не мы тупые.

Не корите себя, если очень стараетесь понять что-то в разработке и не получается. Скорее всего, часть ответственности на учителе. Если речь о вашем разработчике — просите объяснить яснее, вы имеете право понимать.

пост №823Разработка и инженерия

Почему система обновления APT (Ubuntu, Debian, etc.) не использует HTTPS? Они проверяют аутентичность и свежесть обновлений по криптографической подписи, а слепки ключей распространяют вместе с ОС.

Статья вновь актуальна (в своё время, команду APT задолбали настолько, что для этой статьи даже зарегистрировали отдельный домен почемунеиспользуетhttps.com!), потому что на прошлой неделе, какой-то аноним прибежал в багтрекер VLC и открыл баг «у вас всё сломано, чините срочно, достаточно добавить HTTPS». Тред на 350 комментариев на реддите.

Необходимость постоянно включать мозги — то, что делает безопасность одной из самых сложных (и дорогих) дисциплин. Не будьте как топикстартер. Если вам вдруг кажется, что вы правы, а все ошибаются — детально (но сухо) распишите сценарий атаки, а не «всё сломано, сделайте X».

пост №104Разработка и инженерия

Исследователи из CWI и Гугла представили практическую атаку на SHA1.

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

SHA1 придумали в 1995 году в NSA (том самом агенстве национальной безопасности США) и с тех пор он активно использовался для большинства HTTPS-сертификатов в интернете. В 2005-м году исследователи обнаружили слабость в алгоритме, позволявшую теоретически произвести атаку на коллизии — подобрать второй файл с таким же отпечатком SHA1, что и у заданного первого файла. Начиная с 2010 сертификаты начали по-умолчанию использовать SHA2 или SHA3 — более свежие версии алгоритмов.

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

Тут же можно самому скачать две разные PDF-ки, у которых совпадают SHA1. Довольно мощное впечатление.

Теперь модно давать крупным атакам имя и делать персональные сайты-объяснения. Встречайте https://shattered.io/

пост №60Разработка и инженерия

Мне кажется очевидным, что криптографию нужно использовать готовую, но как мы видим на примере телеграма — с этим согласны не все 👀 https://eprint.iacr.org/2015/1177.pdf

Хорошая вводная статья о том, сколько всего нужно держать в голове при программировании криптографии http://loup-vaillant.fr/articles/rolling-your-own-crypto

Кстати, приложенная классическая картинка отвечает на популярный вопрос «как разобраться в *** за 21 день»