Занимательная криптография(обзорная статья).

El Jefe

Consejero
Проверенный сервис
Силовые акции
Сообщения
3.376
Реакции
8.461
Продажи
7
Кешбек
0.66$
Посвящаем эту небольшую обзорную статью такому интересному и не праздному предмету как криптография.

Вот все твердят, криптография, криптография... Так что же это, в сущности, такое?

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

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

Если секретность информации обусловлена секретностью алгоритма, то это т. наз. ограниченный алгоритм, как правило он недостаточно безопасен. У хорошего же криптоалгоритма секретность информации защищена не секретностью алгоритма, а секретностью самого ключа. Ключ – это сердце криптоалгоритма, его квинтэссенция, некий уникальный файл(массив битов), так же “запирающий-отпирающий” шифротекст, как его железный сородич делает это с замком. Множество всех возможных для данного алгоритма ключей называют ключевым пространством.

Алгоритмы шифрования бывают симметричными, когда шифрование и расшифровывание текста происходит на одном и том же ключе, и ассиметричными – с дополняющими друг друга открытым(тот, который передаётся абоненту, служит для создания шифровки) и закрытым(находится строго у хозяина, служит для расшифровывания) ключами.

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

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

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

До появления компьютерной техники криптография осуществлялась на символьной основе при помощи смещений и подстановок. Таким был, к примеру, знаменитый шифр Юлия Цезаря, заключавшийся в смещении каждого символа на 3 позиции вправо по модулю 26(число букв лат. алфавита), D вместо A, E вместо B, …. , A вместо X, B вместо Y... Да ещё этот текст наносили несмываемой тушью на выбритую налысо голову гонца, которая потом по дороге обрастала волосами, а чтобы прочитать шифровку, голову опять брили. Такого рода шифры весьма наивны, поскольку не маскируют частоту использования символов и для их вскрытия необходимо знать только сам латинский алфавит! Немного похитрее полиалфавитные шифры, в которых каждая следующая буква шифруется собственным ключом с некоторым циклическим периодом – такими шифрами пользовались американцы времён Гражданской войны; сейчас подобные ухищрения вскрываются программно за секунды. Именно такого рода – известные шифры Бофора и Вигенера. С изобретением машин для такого шифрования стали использоваться роторные механизмы, подобные тому, который применялся в немецкой шифровальной машинке Энигма времён 2МВ.

До идеала доведён подобный метод шифрования в шифре Вернама, в котором для шифрования каждого символа применяется одноразовый уникальный ключ, складывающийся с символом по модулю 26 и потом отрывающийся от шифроблокнота и уничтожающийся(у абонента есть такой же шифроблокнот для расшифровки – повторное сложение ключа с результатом возвращает исходный текст!). Вскрыть такой шифр практически невозможно, ибо ни один ключ не используется дважды! Единственный недостаток – его трудоёмкость при использовании.

С изобретением компьютеров основой шифрования стала побитовая логическая операция XOR - исключающее или( 0 XOR 0 = 0 ; 1 XOR 0 = 1 ; 0 XOR 1 = 1 ; 1 XOR 1 = 0 ). По сути, это сложение по модулю 2, в отличие от mod 26 при посимвольном шифровании. Оно примечательно тем, что повторный XOR данного битового массива с одним и тем же ключом даёт возвращение исходного текста! Самые распространённые криптографические алгоритмы на сегодняшний день – это симметричные DES и AES/Rijndael и асимметричные RSA, Diffy-Hellman и Fiat-Shamir.

Надёжность шифрования.

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

Для вскрытия ключа симметричного алгоритма брутфорсом(грубым перебором) криптоаналитику понадобится хотя бы одна пара зашифрованного и незашифрованного текстов, добытые методом перехвата, например. Если число таких пар больше, хотя бы две, то ключевое пространство можно разделить на сектора и брутфорсить их параллельно в несколько тредов до “встречи посередине”.

Что же до длины ключа, то для ключа длиной 8 бит надо будет перебрать 2 в 8-ой степени; для ключа в 56 бит – 2 в 56-ой степени. Если компьютер взломщика способен перебирать миллион ключей в секунду, взлом ключа займёт 2285 лет. Если длина ключа равна 128 битам, то брутфорс с данной скоростью займёт 10 в 25-ой степени лет, что превышает возраст вселенной(ок. 10 в 10-ой всего лишь!)

Майкл Винер сконструировал машину со множеством независимых процессоров стоимостью порядка 1 млд.долл., которая 56-битный ключ DES может взломать за 3,5 – 7 часов в среднем. В настоящее время такие ресурсы доступны крупным коммерческим структурам и криминальным организациям. 64-битный ключ могут взломать брутфорсом спецслужбы свехдержав и их военные структуры. 80 — битный ключ уже не кажется столь безопасным, учитывая прогресс компьютерной техники. Но 128 битный ключ делает мысль о брутфорсе невозможной – даже если бросить на него все существующие на планете миллиарды процессоров, его время всё равно будет в миллионы раз выше времени жизни вселенной!

Безопасность алгоритма RSA(Ривеста-Шамира-Аделсона) основана на трудности разложения на множители больших чисел. Открытый и закрытый ключи являются функциями двух больших(100-200 и больше разрядов) чисел. Восстановление открытого текста по шифротексту и открытому ключу аналогично разложению на множители больших чисел. Открытый ключ RSA длиной 2048 бит аналогичен по безопасности приблизительно 128-битному ключу симметричного криптоалгоритма.
 
Чет где-то ты это скопипастил
 
Чет где-то ты это скопипастил
Нет, это моя собственная прямая речь на основании первоисточников(Брюс Шнайер, "Прикладная криптография" и "Практическая криптография").
 
Хорошо поставленная речь. ramp
 
Нет, это моя собственная прямая речь на основании первоисточников(Брюс Шнайер, "Прикладная криптография" и "Практическая криптография").
Вполне годный научпоп, ещё бы пошагово дойти до сорцев какого шифрующего пакета чтобы для самых маленьких.
 
Хотелось бы ещё про алгоритмы вскрытия шифров услышать, кроме прямого брутфорса, ну есть же линейный криптоанализ, дифференциальный, метод Мацуи и прочие, не только же брутфорсом тупым их вскрывают. Про терморектальный чур не писать, ему и так уже чуть не пол-доски посвящено :)
 
Скоро выйдет статья о методах криптоанализа и отличии стойких к взлому алгоритмов от нестойких.
 
Самобамп.
 
Замечательная статья, благодарю.
Алгоритм основанный на разложении больших чисел на множители, напомнил сюжет из фильма Куб, в котором аутист быстро раскладывал числа в уме.
Вполне возможно, что есть такие мозги на службе государств с вживленными интерфейсами:)))
 
Вот все твердят, криптография, криптография... Так что же это, в сущности, такое?
Конкретной, четкой формулировки, "криптография – это ..." ты так и не дал.
Допустим, Боб хочет послать письмо Алисе, да так, чтобы его нельзя было прочесть и понять постороннему, если тот перехватит отправление.
Ты говоришь о конфиденциальности, а равно секретности. И что, криптография этим исчерпывается? Что там насчет целостности, аутентичности?
Также ты, как всякий уважающий себя деятель даркнета, начинаешь рассуждать о Бобе с Алисой, при этом не определив сначала модели угроз. Кто наш противник, что он может делать.

Кстати говоря, каждая первая статья о сетевой безопасности, о схемах анонимности строится на этом же принципе. Просто валится в кучу все подряд, побольше тоннелей, побольше шифрования, муки(!) для вязкости.

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

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

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

Ну и самое смешное, что вопрос существования односторонних функций с потайным ходом эквивалентен вопросу равенства классов P и NP, на который нет ответа. Неизвестно, существует ли (= отсутствует ли) способ быстрого обращения таких функций.

До идеала доведён подобный метод шифрования в шифре Вернама, в котором для шифрования каждого символа применяется одноразовый уникальный ключ, складывающийся с символом по модулю 26 и потом отрывающийся от шифроблокнота и уничтожающийся(у абонента есть такой же шифроблокнот для расшифровки – повторное сложение ключа с результатом возвращает исходный текст!). Вскрыть такой шифр практически невозможно, ибо ни один ключ не используется дважды! Единственный недостаток – его трудоёмкость при использовании.
Если пользоваться этим шифров вручную, то он не более трудоемок, чем любой табличный шифр, не говоря уж о линеечных.
Если речь об автоматизированном или компьютеризированном шифровании, там более непонятно, что имеется в виду.

Самые распространённые криптографические алгоритмы на сегодняшний день – это симметричные DES и AES/Rijndael и асимметричные RSA, Diffy-Hellman и Fiat-Shamir.
DES используется только в легаси системах.
RSA медленно, но верно вытесняется примитивами на эллиптических кривых.
Ну и конечно же ты свалил в кучу алгоритмы шифрования, порождения согласованного ключа и подписи/zkp

Надёжность шифрования.
Я ждал формулировки "Надежность шифрования – это ..." и не дождался.
Майкл Винер сконструировал машину со множеством независимых процессоров стоимостью порядка 1 млд.долл., которая 56-битный ключ DES может взломать за 3,5 – 7 часов в среднем.
Не миллиард (кто бы ему дал столько), а миллион ( ), позже этот результат был кратно улучшен ( , ).

Я так и не понял, какую цель ты преследовал при написании этой статьи.
Свои знания криптографии (чтобы продавать услуги консалтинга по теме, например) ты не показал.
Вместо актуальных сведений я прочел вольный пересказ инфы не первой свежести. Зачем это здесь?
 
AES с конкретным ключом в обе стороны считается одинаково быстро, то есть это никоим образом не односторонняя функция.
Односторонняя математическая функция - это функция, в которой по аргументу однозначно определяется значение функции(результат), а по результату нельзя либо крайне сложно определить аргумент. Вот именно, что в AES, не зная ключа, аргумент из функции не определить.

Свои знания криптографии (чтобы продавать услуги консалтинга по теме, например) ты не показал.
А что ты хотел, чтоб в краткой обзорной статье я стал подробно описывать, к примеру, полностью все 16 раундов алгоритма DES со всеми перестановками, подстановками и XORами? Её цель - популяризация этой темы среди форумчан, иное было бы нецелесообразно здесь, настоящих специалистов-криптоаналитиков здесь нет(думаю, и ты им не являешься).

В древних Афинах жил-был такой философ-недотёпа Зоил(вряд ли о нём вам на ваших ускоренных курсах доводили :-) ) Так вот, Зоил сей, сам будучи не в состоянии создать ничего толкового, только ядовито критиковал других деятелей и выискивал у них всяческие неточности и ошибки, отчего его имя стало впоследствии нарицательным.

Всё бы ничего, если бы не одна такая особенность: он был часто покусан собаками на улицах города :)

Написал бы хоть сам чего толкового(если можешь :-) )
 
Свои знания криптографии (чтобы продавать услуги консалтинга по теме, например) ты не показал.
То ли дело Вы, дарагой таварисч. И швец, и жнец, и на дуде игрец, и криптоаналитик, и "кобы" с "метой" знаток, и невидимаго фронту боец! Нам бы, убогим, до Вас дотянуться!
 
Хорошая статья, интересная! Не думал, что ты в криптографии шаришь!)

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

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

Похожие темы

NIST официально опубликовал три постквантовых криптографических стандарта, полученных в результате конкурса, который он проводил для разработки криптографии, способной выдержать ожидаемое квантовое вычислительное дешифрование текущего асимметричного шифрования. Никаких сюрпризов, но теперь это...
Ответы
3
Просмотры
Darknet [Дополнение] Основная статья: /threads/dakrnet-rutor-statja.122697 1. Шифрование и безопасность Расширенное шифрование данных. Многофакторная аутентификация в анонимных сетях. Роль криптовалют в обеспечении анонимности. 2. Децентрализованные Приложения (DApps) Децентрализованные...
Ответы
2
Просмотры
Симметричное шифрование - это ключевой компонент информационной безопасности, используемый для обеспечения конфиденциальности данных. В этой статье мы проведем глубокий обзор симметричных алгоритмов шифрования и рассмотрим их практическое применение в программировании. Основы симметричного...
Ответы
2
Просмотры
715
Здесь будет лог лекции "Криптография эллиптических кривых. Механизмы работы и преимущества" от 29.05.23
Ответы
3
Просмотры
Лекция на тему "Понимание криптографии и ее роли в защите конфиденциальности в интернете. Алгоритмы шифрования". Лектор: @CyberSec RuTOR На лекции были рассмотрены следующие вопросы: 1. Рассмотрели для чего используется шифрование в интернете; 2. Рассмотрели криптографические типы...
Ответы
4
Просмотры
Назад
Сверху Снизу