Криптография
#1
Посвящаем эту небольшую обзорную статью такому интересному и не праздному предмету как криптография.
Вот все твердят, криптография, криптография... Так что же это, в сущности, такое?
Допустим, Боб хочет послать письмо Алисе, да так, чтобы его нельзя было прочесть и понять постороннему, если тот перехватит отправление. Тогда Боб совершает с открытым текстом письма некие преобразования, такие, чтобы злоумышленник не смог прочитать его и оно выглядело для него как не несущий никакой полезной информации набор символов (последовательность битов). Такое письмо назовём шифротекстом. Алиса же, получив зашифрованное письмо, совершает над ним некое действие, комплементарное к действию Боба, переводит зашифрованный текст обратно в открытый и успешно читает письмо. Так вот, действия Боба и Алисы называются шифрованием-расшифровыванием, а преобразование, применяемое ими к письму, называется криптоалгоритмом.
Обычно такой алгоритм бывает основан на некой односторонней математической функции, т. е. функции, в которой на основании аргумента однозначно можно определить значение функции, но отнюдь не наоборот – зная значение функции, невозможно определить какому аргументу она соответствует.
Если секретность информации обусловлена секретностью алгоритма, то это т. наз. ограниченный алгоритм, как правило он недостаточно безопасен. У хорошего же криптоалгоритма секретность информации защищена не секретностью алгоритма, а секретностью самого ключа. Ключ – это сердце криптоалгоритма, его квинтэссенция, некий уникальный файл (массив битов), так же “запирающий-отпирающий” шифротекст, как его железный сородич делает это с замком. Множество всех возможных для данного алгоритма ключей называют ключевым пространством.
Алгоритмы шифрования бывают симметричными, когда шифрование и расшифровывание текста происходит на одном и том же ключе, и ассиметричными – с дополняющими друг друга открытым (тот, который передаётся абоненту, служит для создания шифровки) и закрытым (находится строго у хозяина, служит для расшифровывания) ключами.
Также симметричные криптоалгоритмы делятся на потоковые, когда информация обрабатывается побитово, и блочные, когда информация обрабатывается массивами из 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-битному ключу симметричного криптоалгоритма.
Like
Реакции: Lord-or-Not, Tayy, _-Fantom-_ и 17 других
Pendalf
Pendalf
Местный Подтвержденный
13 Мар 2021
#2
Чет где-то ты это скопипастил
Like
Реакции: _-Fantom-_, ПАВка и El Jefe
El Jefe
El Jefe
Consejero Проверенный сервис
13 Мар 2021
#3
Pendalf написал (а):
Чет где-то ты это скопипастил
Нет, это моя собственная прямая речь на основании первоисточников (Брюс Шнайер, "Прикладная криптография" и "Практическая криптография").
Like
Реакции: Tayy, _-Fantom-_, ALLETRO и 5 других
Pendalf
Pendalf
Местный Подтвержденный
13 Мар 2021
#4
Хорошо поставленная речь. ramp
Like
Реакции: _-Fantom-_, ALLETRO, ПАВка и 2 других
tueda65
tueda65
Местный
13 Мар 2021
#5
El Jefe написал (а):
Нет, это моя собственная прямая речь на основании первоисточников (Брюс Шнайер, "Прикладная криптография" и "Практическая криптография").
Вполне годный научпоп, ещё бы пошагово дойти до сорцев какого шифрующего пакета чтобы для самых маленьких.
Like
Реакции: Gore, Tayy, 12 обезьян и 2 других
The Man ITHC
The Man ITHC
Юзер Подтвержденный
13 Мар 2021
#6
До сих пор пользуюсь Энигмой, проблем не возникало
Like
Реакции: Lord-or-Not, torinmyheart, Tayy и 6 других
El Jefe
El Jefe
Consejero Проверенный сервис
13 Мар 2021
#7
The Man ITHC написал (а):
До сих пор пользуюсь Энигмой
Кстати, для своего времени был довольно неплохой аппарат.
Like
Реакции: Gore, Tayy, _-Fantom-_ и 4 других
ПАВка
ПАВка
Местный
15 Мар 2021
#8
Хотелось бы ещё про алгоритмы вскрытия шифров услышать, кроме прямого брутфорса, ну есть же линейный криптоанализ, дифференциальный, метод Мацуи и прочие, не только же брутфорсом тупым их вскрывают. Про терморектальный чур не писать, ему и так уже чуть не пол-доски посвящено:)
Like
Реакции: Gore, Tayy, _-Fantom-_ и 3 других
El Jefe
El Jefe
Consejero Проверенный сервис
15 Мар 2021
#9
Скоро выйдет статья о методах криптоанализа и отличии стойких к взлому алгоритмов от нестойких.
Like
Реакции: Tayy, _-Fantom-_, Nyash Kun и 2 других
ПАВка
ПАВка
Местный
23 Мар 2021
#10
Ждём-с.
Like
Реакции: _-Fantom-_, 12 обезьян и El Jefe
El Jefe
El Jefe
Consejero Проверенный сервис
26 Мар 2021
#11
Самобамп.
Like
Реакции: _-Fantom-_, RayZR, 12 обезьян и ещё 1 человек
RayZR
Пассажир
29 Мар 2021
#12
Замечательная статья, благодарю.
Алгоритм основанный на разложении больших чисел на множители, напомнил сюжет из фильма Куб, в котором аутист быстро раскладывал числа в уме.
Вполне возможно, что есть такие мозги на службе государств с вживленными интерфейсами:)))
Like
Реакции: 12 обезьян, _-Fantom-_, ПАВка и ещё 1 человек
ПАВка
ПАВка
Местный
22 Апр 2021
#13
Бамп
Like
Реакции: _-Fantom-_, 12 обезьян и El Jefe
_-Fantom-_
_-Fantom-_
Местный
31 Окт 2021
#14
The Man ITHC написал (а):
До сих пор пользуюсь Энигмой, проблем не возникало
Ты её хоть смазываешь?
Like
Реакции: 12 обезьян, El Jefe и ПАВка
pianist_sidorov
Пассажир
1 Ноя 2021
#15
El Jefe написал (а):
Вот все твердят, криптография, криптография... Так что же это, в сущности, такое?
Конкретной, четкой формулировки, "криптография – это..." ты так и не дал.
El Jefe написал (а):
Допустим, Боб хочет послать письмо Алисе, да так, чтобы его нельзя было прочесть и понять постороннему, если тот перехватит отправление.
Ты говоришь о конфиденциальности, а равно секретности. И что, криптография этим исчерпывается? Что там насчет целостности, аутентичности?
Также ты, как всякий уважающий себя деятель даркнета, начинаешь рассуждать о Бобе с Алисой, при этом не определив сначала модели угроз. Кто наш противник, что он может делать.
Кстати говоря, каждая первая статья о сетевой безопасности, о схемах анонимности строится на этом же принципе. Просто валится в кучу все подряд, побольше тоннелей, побольше шифрования, муки (!) для вязкости.
El Jefe написал (а):
Обычно такой алгоритм бывает основан на некой односторонней математической функции, т. е. функции, в которой на основании аргумента однозначно можно определить значение функции, но отнюдь не наоборот – зная значение функции, невозможно определить какому аргументу она соответствует.
Нет.
Ты говоришь об асимметричных алгоритмах шифрования и подписи. Они действительно базируются на односторонних функциях, но не просто односторонних, а с потайным ходом.
В симметричных алгоритмах шифрования практическая (она же семантическая) надежность достигается широтой пространства псевдослучайных функций (перестановок).
AES с конкретным ключом в обе стороны считается одинаково быстро, то есть это никоим образом не односторонняя функция.
В симметричных алгоритмах контроля целостности используются односторонние функции без потайного хода. Они считаются только в одну сторону и при создании, и при проверке тэга.
Ну и самое смешное, что вопрос существования односторонних функций с потайным ходом эквивалентен вопросу равенства классов P и NP, на который нет ответа. Неизвестно, существует ли (= отсутствует ли) способ быстрого обращения таких функций.
El Jefe написал (а):
До идеала доведён подобный метод шифрования в шифре Вернама, в котором для шифрования каждого символа применяется одноразовый уникальный ключ, складывающийся с символом по модулю 26 и потом отрывающийся от шифроблокнота и уничтожающийся (у абонента есть такой же шифроблокнот для расшифровки – повторное сложение ключа с результатом возвращает исходный текст!). Вскрыть такой шифр практически невозможно, ибо ни один ключ не используется дважды! Единственный недостаток – его трудоёмкость при использовании.
Нажмите для раскрытия...
Если пользоваться этим шифров вручную, то он не более трудоемок, чем любой табличный шифр, не говоря уж о линеечных.
Если речь об автоматизированном или компьютеризированном шифровании, там более непонятно, что имеется в виду.
El Jefe написал (а):
Самые распространённые криптографические алгоритмы на сегодняшний день – это симметричные DES и AES/Rijndael и асимметричные RSA, Diffy-Hellman и Fiat-Shamir.
DES используется только в легаси системах.
RSA медленно, но верно вытесняется примитивами на эллиптических кривых.
Ну и конечно же ты свалил в кучу алгоритмы шифрования, порождения согласованного ключа и подписи/zkp
El Jefe написал (а):
Надёжность шифрования.
Я ждал формулировки "Надежность шифрования – это..." и не дождался.
El Jefe написал (а):
Майкл Винер сконструировал машину со множеством независимых процессоров стоимостью порядка 1 млд. долл., которая 56-битный ключ DES может взломать за 3,5 – 7 часов в среднем.
Не миллиард (кто бы ему дал столько), а миллион (пруф), позже этот результат был кратно улучшен (пруф, пруф).
Я так и не понял, какую цель ты преследовал при написании этой статьи.
Свои знания криптографии (чтобы продавать услуги консалтинга по теме, например) ты не показал.
Вместо актуальных сведений я прочел вольный пересказ инфы не первой свежести. Зачем это здесь?
El Jefe
El Jefe
Consejero Проверенный сервис
2 Ноя 2021
#16
pianist_sidorov написал (а):
AES с конкретным ключом в обе стороны считается одинаково быстро, то есть это никоим образом не односторонняя функция.
Односторонняя математическая функция - это функция, в которой по аргументу однозначно определяется значение функции (результат), а по результату нельзя либо крайне сложно определить аргумент. Вот именно, что в AES, не зная ключа, аргумент из функции не определить.
pianist_sidorov написал (а):
Свои знания криптографии (чтобы продавать услуги консалтинга по теме, например) ты не показал.
А что ты хотел, чтоб в краткой обзорной статье я стал подробно описывать, к примеру, полностью все 16 раундов алгоритма DES со всеми перестановками, подстановками и XORами? Её цель - популяризация этой темы среди форумчан, иное было бы нецелесообразно здесь, настоящих специалистов-криптоаналитиков здесь нет (думаю, и ты им не являешься).
В древних Афинах жил-был такой философ-недотёпа Зоил (вряд ли о нём вам на ваших ускоренных курсах доводили:) ) Так вот, Зоил сей, сам будучи не в состоянии создать ничего толкового, только ядовито критиковал других деятелей и выискивал у них всяческие неточности и ошибки, отчего его имя стало впоследствии нарицательным.
Всё бы ничего, если бы не одна такая особенность: он был часто покусан собаками на улицах города:)
Написал бы хоть сам чего толкового (если можешь:) )
Like
Реакции: Gore, ПАВка и 12 обезьян
ПАВка
ПАВка
Местный
2 Ноя 2021
#17
pianist_sidorov написал (а):
Свои знания криптографии (чтобы продавать услуги консалтинга по теме, например) ты не показал.
То ли дело Вы, дарагой таварисч. И швец, и жнец, и на дуде игрец, и криптоаналитик, и "кобы" с "метой" знаток, и невидимаго фронту боец! Нам бы, убогим, до Вас дотянуться!
Like
Реакции: 12 обезьян, Gore и El Jefe
Gore
Gore
Обучение выращиванию марихуаны Проверенный сервис
2 Ноя 2021
#18
Хорошая статья, интересная! Не думал, что ты в криптографии шаришь!)
Однажды смотрел видео на каком-то сайте в клире о том, как чел взломал ВераКрипт, вытащив какой-то хэш быстро и играючи будто. Мол вот и всё, пароль оттуда надо достать.
Это вообще возможно или вера надёжная штукенция, подскажи пожалуйста.
Like
Реакции: ПАВка, 12 обезьян и El Jefe
El Jefe
El Jefe
Consejero Проверенный сервис
2 Ноя 2021
#19
Gore написал (а):
чел взломал ВераКрипт, вытащив какой-то хэш быстро и играючи будто.
Это был взлом по радужным таблицам, каждое слово из словаря шифруется с помощью криптографического алгоритма единственно возможным образом, и результаты сводятся в некие таблицы, а потом попавший нам в руки хэш сравнивается с табличными и на их совпадении и находится наш искомый пароль, от которого образован хэш.
Like
Реакции: ПАВка и 12 обезьян
ChistayaDusha
саппорт кадрового агенства Подтвержденный
2 Ноя 2021
#20
Можно пожалуйста задать вам вопрос.
Вот у меня стоит 2 ос каждая из которых шифрованна с помощью веракрипт, 1 чистая, другая грязная. Я даю пороль злоумышленнику от чистой. Может ли он узнать о существовании второй, и в дальнейшем выкачать с нее инфу или просто расшифровать?
El Jefe написал (а):
Это был взлом по радужным таблицам, каждое слово из словаря шифруется с помощью криптографического алгоритма единственно возможным образом, и результаты сводятся в некие таблицы, а потом попавший нам в руки хэш сравнивается с табличными и на их совпадении и находится наш
1 из 2
Вперёд
Last
Войдите или зарегистрируйтесь для ответа.
Похожие темы
Nigma
Квантовые компьютеры и криптография для чайников
Nigma Другие новости
Ответы
4
29 Июл 2020
El Jefe
КАлина-мАлина. Обзорная статья по Raspberry Pi и Arduino и тред для радиолюбителей.
El Jefe Авторские статьи для пользователей Rutor
Ответы
18
Вчера в 14:34
Авторские статьи для пользователей Rutor
Russian (RU)
Условия и правила
Помощь
Очень интересный и полезный материал, большое Вам спасибо за подробную информацию по этой теме, жду следующих публикаций