При симметричном шифровании для шифрования и расшифровки используются: основные положения и принцип работы
основные положения и принцип работы
Одним из способов защиты информации в криптосистемах, когда для расшифровки и зашифровки применяется один и тот же ключ, является симметричное шифрование. Оно является предшественником асимметричного метода, эта схема остается одной из популярнейших по сей день. Важным моментом является сохранение в тайне ключа к алгоритму, его предварительно оговаривают стороны, обоюдно вносят изменения и дополнения до того, как начинается обмен информацией в сети.
Основные положения
С началом компьютерной эры возникла потребность скрывать передаваемую информацию от посторонних глаз. Как это сделать наиболее приемлемым способом? Какие методы применить, чтоб передаваемые сведения смог понять адресат, а остальные не узнали из этого ничего?
Именно с целью сохранения тайн были придуманы разнообразные шифры и коды, с помощью которых необходимые сведения превращали в определенный поток цифр или символов, которые отправляли получателю. При помощи известного лишь ему ключа он обрабатывал полученную информацию и изымал из нее необходимые данные. Для всех остальных эти символы так и оставались бессмысленными. Чаще всего этот метод применяли для коммерческих целей и для передачи конфиденциальные сведения различного содержания.
Симметричное шифрование относят к классическому примеру таких алгоритмов. Его считают основным, в его состав входят такие методы:
- Простая перестановка, которую относят к самым простым методам шифрования.
- Одиночная перестановка по ключу является близкой родственницей простой перестановки, но некоторые различия все же есть.
- Двойная перестановка поможет зашифровать уже обработанную один раз информацию для большей безопасности.
- «Магический квадрат» считается самым сложным, для него необходимо составлять квадратные таблицы.
Каждый из них имеет свои плюсы и минусы, но применение именно этих симметричных методов шифрования является популярным до сих пор. Развитие информационных систем провоцирует развитие и шифровальных методов, но основой все равно остаются указанные способы.
Простая перестановка
Простейшей симметричной криптосистемой шифрования без применения ключа является простая перестановка. Ее выполняют так:
- Необходимую информацию записывают по столбикам в таблицу.
- Записанный колонками текст считывают строками.
- В таком измененном виде передают получателю.
До начала запуска такого шифрования отправитель и получатель должны договориться о ключе шифрования, который заключается в размере передаваемой таблицы.
Важно! Объединенные в группы буквы не являются составляющей ключа или им самим, их используют для записи текста, который может не нести никакой информации.
Одиночная перестановка по ключу
Эта схема симметричного шифрования считается более практичной и применяется чаще. Одиночная перестановка по ключу первоначально абсолютно идентична с предыдущим способом. Отличительной чертой именно этого метода является перестановка колонок таблиц по ключевому слову, выбранной заранее фразе, определенному набору чисел, которые будут целостной строкой в колонке.
На заметку! Шифрование с симметричным ключом гораздо надежнее, чем криптозащита без ключа.
Двойная перестановка
Способ применяют для дополнительного шифрования уже скрытого сообщения, двойная перестановка имеет такие особенности:
- чтоб скрыть информацию дополнительно, вторая таблица формируется так, чтоб ее параметры были полностью отличными от показателей первой;
- чаще всего практикуется взаимная перестановка, в первой переставляют столбцы, во второй меняются местами строки;
- неплохим вариантом может стать нестандартное заполнение таблиц; зигзагообразно, спиралевидно, змейкой или как-то еще.
Такой метод не всегда является залогом стойкости шифра, но заполнение таблиц становится более занятным как для отправителя, так и для получателя.
«Магический квадрат»
Перестановка «Магический квадрат» берет свое начало в Китае, именно там этому шифрованию приписывали некую магию. Их основой являются квадратные таблицы, в которые в определенной последовательности вписывают натуральные числа с такой расстановкой, чтоб по горизонтали, вертикали и диагонали сумма была одинаковой. Кроме этого, учитываются столбцы, они тоже должны быть идентичными. Такой метод шифровки широко применяли для вписывания текста по нумерации, применяемой здесь. Последующее выписывание строк таблицы представлялось в виде шифровки с перестановкой символов по определенному симметричному ключу шифрования.
Изначально кажется, что предполагаемых вариантов шифрования будет недостаточно, но это не совсем так. Количество вариантов скрытия информации возрастает пропорционально увеличению столбцов в самом квадрате. Если фигура размером 3×3 всего одна, то при увеличении каждой их сторон всего на единицу, возможных вариантов становится 880; если же количество возрастает до 5 с каждой стороны, то и вариантов уже 250 000, что не так уже и мало.
Считается, что большие квадраты стали залогом отличного шифрования, ключ к которому подобрать очень не просто. Вручную на решение такой задачи могло уйти много времени, и не факт, что в итоге получалось правильное решение.
Наиболее применяемыми были фигуры с показателями 4×4, благодаря им складывали всевозможные алгоритмы из букв и символов. Каждая буква соответствовала определенному числовому показателю, в квадрате их размещали согласно вышеописанной технологии. Далее шифровку собирали при помощи ключа, где буквы соответствовали своему порядковому номеру, пустая клетка означала точку.
При расшифровке программа генерирует, в соответствии с ключом выбирает необходимый «магический квадрат». Именно так и работает криптография с симметричным ключом
История
Криптография берет свое начало с седины веков, первый период ее начался еще в III веке до нашей эры. Уже тогда люди пытались заменить исходные знаки алфавита. Далее криптография развивалась неслаженно, на Ближнем Востоке полиалфавитные шифры вошли в обиход почти на шесть веков раньше, чем это произошло в Европе. Ал-Кинди уже в IX веке ввел понятие шифрования, Альберти донес это до европейцев лишь в XVI столетии.
В середине двадцатого века были внедрены электромеханические устройства, которые подбирали код к шифру быстрее, полиалфавитные шифры при этом никто не отменял. Семидесятые года прошлого века ознаменовались новым витком в этом деле, криптография стала основываться на математических знаниях и информатике, которая только стала активно развиваться. Современное общество активно пользуется криптографией в новейшем ее понимании, она стала основой для телекоммуникаций, электронного документооборота, коммерции и прочего.
Требования
Чтоб все работало в необходимом режиме, необходимо выполнение нескольких требований:
- Главным требованием к системному шифру является целостная потеря у исходного сообщения всех статистических закономерностей. Это достигается только «эффектом лавины», когда происходит максимальное изменение шифроблока уже при 1-битных изменениях исходных данных. Идеальным вариантом считаются изменения значений с полбита.
- Отсутствие линейности не менее значимо, иначе значительно облегчается применение дифференциального криптоанализа к применяемому шифру.
Совет! Условие f(a) xorf(b)== f(axorb) выполняться не должно.
Общая схема
Современные симметричные криптографические алгоритмы представляют собой два основных вида, которые имеют такие характеристики:
- Блочные шифры, которые осуществляют обработку информации блоками, от чего и получили свое название. Длина каждого из них бывает разной, чаще всего 64 или 128 бит каждый. Обработка базируется на применении к блоку ключа в установленном порядке, самыми применяемыми считаются перемешивание и подстановка несколькими циклами, которые получили название раунд. В результате получается «лавинный эффект», которому свойственно терять биты между открытыми блоками и зашифрованными данными.
- Поточные шифры основываются на гаммировании, для них характерно шифрование каждого бита, байта открытого текста. Поточные шифры часто создают, взяв за основу блочные, которые подвергаются запуску в определенном режиме. Ярким примером может быть ГОСТ-24147-89.
Для создания симметричных шифров зачастую применяют методику подстановок и перестановок в несколько подходов, в отдельно взятых ситуациях может достигать и 80. Каждый из подходов применят свой ключ, получивший название «ключ прохода».
Все ключи подходов объединяют в «расписание ключей», которые впоследствии применяют для расшифровки данной информации. Его создание тоже непростое, применяемый ключ поддается определенным операциям, в том числе перестановке или подстановке.
Сеть Фейстеля признана типичным алгоритмом построения симметричных шифров, шифрование строиться на основе функции F(D, K).Dвыступает количеством данных, вдвое меньше самого блока шифрования, К будет «ключом прохода» для расшифровки данного прохода. Обратимость функции не обязательна, чаще всего итог обратимости не известен.
Важно! Достоинством сети является практически полное совпадение дешифровок с шифрами, что значительно упрощает реализацию процесса. Отличием будет обратный порядок «ключей прохождения» в расписании.
Далее рассмотрим более подробно каждую из операций:
- Применение некого закона перемешивает биты сообщения, в этом и есть суть операции перестановки. В аппаратных операциях она просто перепутывает проводников, именно таким способом и достигается «эффект лавины». Операция перестановки всегда линейна, выглядит это примерно так: f(a) xor f(b) == f(a xor b).
- Подстановка выполняется по принципу замены определенной части сообщения, предварительно выбирается частота в 4, 6 или 8 бит. Замену производят на жестко встроенное число в алгоритм, обращенное к константному массиву. Операция подстановки переводит алгоритм в нелинейность.
Дифференциальный криптоанализ проверит стойкость алгоритма, важным моментом здесь будет выбор значений в таблицах подстановки. Наличие неподвижных элементов, отсутствие влияния бита входного байта на бит ожидаемого результата является нежелательным. Не стоит допускать, чтоб бит результата был одинаковым для всех пар входных слов, они должны отличаться более чем одним битом.
Параметры алгоритмов
Симметричных шифров существует много, алгоритмов, насчитывают более двух десятков. Их отличают по таким параметрам:
- стойкости к дифференциальному криптоанализу;
- по длине ключа;
- по числу раундов;
- длинною обрабатываемого блока;
- программной реализацией и ее сложностью;
- сложностями при преобразовании.
Эти моменты обязательно должны присутствовать в симметричном шифровании.
Виды симметричных шифров
Чаще всего для шифрования информации применяют такие блочные шифры:
- Американский стандарт шифрования, обозначается AES.
- Советский и российский распознают по ГОСТ 28147-89.
- DESявляется стандартом в шифровании данных США.
- Международным алгоритмом шифрования оставили IDEA.
Так же популярны 3-WAY, Kuznechik, Khufu, Khnafre, Cast.
Существуют и другие, но они пользуются меньшей популярностью и применяются значительно реже.
Сравнение с ассиметричными криптосистемами
Сравнивать и давать оценку, какой из способов шифрования лучше симметричный и асимметричный не является целесообразным, это по своей сути абсолютно разные вещи. В первую очередь их разнит подход к проведению операций. Лучше выделить достоинства и недостатки каждого из методов.
Положительными качествами симметричного шифрования является:
- высокая скорость проведения;
- простота в реализации, которая достигается более простыми операциями;
- уменьшенная длина ключа по сравнению со стойкостью;
- лучшая изученность из-за более длительного применения на практике.
Но не все так идеально, у способа есть и недостатки:
- в большой сети управлять ключами достаточно сложно;
- иногда возникают проблемы с ключами, для того, чтоб каждый абонент получил его необходимо найти секретный канал, который больше никто не сможет обнаружить.
К особо важным недостаткам относят невозможность использования шифров в электронной цифровой подписи, так как код известен обеим сторонам.
Асимметричное шифрование на практике / Хабр
Приветствую вас, хабравчане!
Проблемы безопасности — это слабое место большинства из нас. Всем нам неприятно сталкиваться и тем более терять что—то ценное из—за случайного клика мышью. И именно поэтому я решила поделиться найденными материалами с вами.
В стремлении развеять наиболее часто задаваемый вопрос — почему будут атаковать меня? Кому я нужен? — мы начнем статью именно с него.
Нужно учитывать, что атаковать вас может не только человек. Это может делать, например, бот.
Каждый из нас подключен к интернет провайдеру. А на него, скорее всего, происходят атаки буквально каждый день. Замечали у себя на почте раздел «спам»? В каждом таком письме потенциально есть фишинговая атака. Это атака не персонально на вас. Это масштабная атака, ориентированная на широкий круг лиц. Мы потенциально жертвы.
Чаще всего их цель — деньги. Как они могут их получить?
Например, использовать ваш компьютер в качестве web сервера, красть ваш контент, производить email атаки, деятельность в ботнете, кража аккаунтов, атаки с целью вымогательства. Да и email аккаунт — потенциально важная вещь, потому что все мы достаточно часто используем один и тот же пароль на нескольких сервисах.
Время дорого, и мы хотим тратить как можно меньше времени на вопросы, связанные с безопасностью.
И поэтому первое, что нужно сделать — это ответить для себя на несколько вопросов:
- В каких файлах хранятся наиболее важные данные?
- Какие аккаунты в соц сетях вы не можете потерять?
- Что может причинить наибольший вред?
- А что может ударить по вашей репутации?
Ну, например, кража ноутбука. Да, это больно и печально. Но как это может угрожать вам?
Это может быть потеря данных для входа в соц сети. Это может быть конфиденциальная информация, полученная во время работы. А может это личные фотографии.
Окей, мы определились с тем, что нам необходимо защитить. Следующий шаг — выбор метода защиты.
Да, разумеется, в мире существует множество атак и защититься от всех просто невозможно.
Поэтому мы рассмотрим один из наиболее эффективных инструментов — шифрование.
Что такое шифрование?
Чтобы сделать правильный выбор в области безопасности, вам нужно понимать, что такое шифрование. Не обязательно знать хардкорную математику. Достаточно понять на базовом уровне. Это один из лучших и незаменимых инструментов в нашем арсенале.
Шифрование — это метод преобразования данных, пригодных для чтения человеком, в форму, которую человек не сможет прочитать. За счет этого данные остаются конфиденциальными и приватными.
Дешифрование — обратная операция. Преобразование нечитаемых данных в читаемые.
Окей, где это применяется? На самом деле во многих местах. Например, обращали внимание на протокол «https»? Именно за счет него ваши данные не может перехватить 3-й человек во время вашего лазания в интернете. Объясню подробнее. Вы заходите на сайт «www.google.com», делаете любой запрос. При этом все данные, которые необходимы для отображения выдачи результатов, передаются с помощью протокола «https». А значит, если какой-либо человек решит просмотреть данные о вашем трафике (атака Man In the Middle), то он увидит лишь то, что вы зашли на Google. В придачу он получит множество зашифрованных пакетов. То есть можно сказать, что он не получит ничего.
Но вернемся к базовой теории. В процессе шифрования участвуют 2 основных компонента — алгоритм и ключ.
Алгоритм — это в каком-то смысле замок, который позволяет хранить ваши данные в тайне. За счет него происходит преобразование текста.
Ключ — это, уж простите за тавтологию, ключ от замка. Кусочек уникальных данных, с помощью которых происходит преобразование текста
Хм, хорошо. Едем дальше. Слегка повысим напряжение.
Виды шифрования
Как еще мы можем использовать шифрование в своих, корыстных целях? Для простоты понимания мы рассмотрим шифрование архива. При архивации во многих архиваторах присутствует возможность установить пароль. При этом архиватор использует какой-либо алгоритм для шифрования. И чаще всего это симметричный алгоритм.
Симметричное шифрование
Симметричный алгоритм шифрования — алгоритм, при котором для шифрования и дешифрования используется один и тот же ключ. Ярким и, в то же простым примером, будет шифр Цезаря.
Вся работа этого алгоритма заключается в том, чтобы изменить символ на другой с определенным шагом.
Например, при смещении в 5 символов, символ, который стоит на первой позиции заменить на символ 6 позиции и так далее.
Наиболее стойким на данный момент считается алгоритм AES (Advanced Encryption Standard).
Стоит упомянуть еще один момент — мощность пароля. Мощность пароля измеряется в битах. Одним из наиболее распространенных решений является 128 или 256 бит. Это то количество бит, которое будет выделено для пароля. Так же это число означает количество паролей, которое вы можете получить при данном алгоритме шифрования. Но чем больше длина ключа, тем медленнее протекает процесс шифрования или дешифрования.
Но чаще всего используется асимметричное шифрование
И так, мы зашифровали письмо, но как его отправить нашему другу? Отправлять в соц. сетях или текстовым сообщением — не самая лучшая затея. Как и говорить его по телефону.
И это приводит нас к новому типу шифрования.
В ассиметричном шифровании используется 2 ключа — открытый и закрытый(тайный).
Открытый ключ для шифрования, закрытый — для дешифрования.
Какие алгоритмы позволяют пользоваться этой технологией?
Вот списочек:
- Rivest—Shamir—Adleman (RSA) (наиболее распространенный)
- Elliptic curve cryptosystem (ECC)
- Diffie—Hellman (DH)
- El Gamal
Плюсы ассиметричных алгоритмов:
- можно свободно делиться открытым ключом и любой может отправить тебе тайное сообщение.
Минусы:
- скорость шифрования/дешифрования.
Для продвинутыхТак как во мне есть жилка программиста, а также любовь к математике, то я просто не могу не рассказать о том, как все работает «под капотом»
Рассмотрим на примере алгоритма RSA.
Первое, что нам необходимо сделать — сгенерировать открытый и закрытый ключи. Последовательность действий примерно такая:
1) Мы выбираем два простых числа. Желательно, чтобы они были достаточно близкими
p = 19
s = 13
2) Вычисляем их произведение, а также функцию Эйлера
n = p * s
f = (p — 1) * (s — 1)
3) Теперь наиболее затратная по времени часть — выбор экспоненты и произвольного коэффициента.
Дело в том, что при выбранных коэффициентах значение «d» должно быть целым. «d» — необходимая составляющая алгоритма
e = 5
k = 9
d = (k * f + 1)/e
Теперь наш открытый ключ (для шифрования сообщения) состоит из значений переменных «e» и «n», а закрытый ключ (для дешифрования) из значений «d» и «n».
То есть в нашем случае…
Тогда шифрование сообщения происходит по формуле: crypt = m^e%n.
А дешифрование: decrypt = crypt^d%n.
Ну и с точки зрения программиста, мы можем использовать эту информацию следующим образом:
- Создать массив соответствий символу и его коду (например, ASCII код)
- Применить алгоритм для каждого символа, создавая массив преобразованных значений
- Перевести полученный массив обратно в строковый вид
- Profit!
Как можно использовать асимметричное шифрование для своих целей?
Теперь, зная теорию, плюсы и минусы алгоритма, а также для чего вообще нужно им пользоваться, мы можем говорить о практическом применении.
Среди всех найденных программ, наиболее удобной мне показалась gpg4usb.
Данная программа использует PGP шифрование. Почему я рекомендую использовать именно его?
Все просто. Этот тип шифрования до сих пор еще не удалось взломать. Никому. Так что пользуйтесь.
Пользоваться программой достаточно просто. Нужно лишь знать куда нажимать.
И именно об этом сейчас пойдет речь.
Первое, что необходимо сделать — скачать программу. Вы можете это сделать по ссылке:
ссылка.
Скажу сразу — эта программа кросс—платформенная. То есть вы можете использовать ее как на Windows, так и на Linux.
Второе — это создание пары ключей шифрования.
Это можно сделать, выполнив следующую последовательность действий:
1) Переходим в раздел «Менеджер ключей»
2) Выбираем в верхней панели «Ключ», затем «Генерировать ключ»
Должно выглядеть примерно так:
3) Заполняем необходимые поля. Предупрежу сразу — пароль лучше куда-нибудь записать (или запомнить), потому что он понадобится в последующем для дешифрования сообщения.
Теперь ключ создан, и мы можем приступать непосредственно к шифрованию.
На главном экране присутствует текстовое поле — это наш плацдарм для создания сообщений. В правой боковой панели помечаем галочкой свой ключ.
Введя сообщение в поле, смело нажимаем в верхней панели «Зашифровать».
Поздравляю, вы умеете шифровать сообщения.
Дешифровка происходит аналогично, разве что вместо «Зашифровать» вы пользуетесь кнопкой «Расшифровать».
А теперь момент, который пол часа выносил мне мозг: как передать ключ другу?
Да, мы настроили систему шифрования, и она работает, да, мы можем передать другу открытый ключ и не бояться, что сообщение будет прочитано. Но где его взять?
Как оказалось, все достаточно просто. В окне, в котором мы создавали ключи для шифрования, мы помечаем галочкой нужный ключ и в верхней панели выбираем «Экспорт в файл». Мы получили открытый ключ и можем передавать кому угодно, чтобы получать от него зашифрованные сообщения, которые можем прочитать только мы.
Так, а теперь я хочу получить закрытый ключ (а вдруг буду работать с другого компьютера? Ведь ключи хранятся локально).
Чтобы решить эту задачу, мы вновь возвращаемся на главный экран, в правой боковой панели нажимаем правой кнопкой мыши на нужный ключ и выбираем «Показать свойства ключа». А в открывшемся окне выбираем «Экспортировать Секретный ключ».
Готово, теперь у вас «на руках» открытый и закрытый ключи шифрования, которыми вы можете распоряжаться по своему усмотрению.
Ну и в завершении статьи хочу поделиться полезной методикой: моделирование угроз и оценка рисков.
Первое, что нужно понять — нельзя обеспечить 100% безопасность, как и свести все риски к нулю. Нельзя получить 100% анонимность. Нельзя получить 100% безопасность (разве что не использовать телефон и ПК).
Используя интернет мы так или иначе принимаем риски. Он дает нам шанс расширить свои возможности, но при этом есть риск потери наших данных. Поэтому безопасность — это балансирование между удобством, расширением знаний, комфортом и сохранением уже определенных, важных для нас данных.
Мы должны использовать риск—ориентированный подход.
Риск = уязвимость * угрозы * последствия
Например, кража ноутбука. Что мы можем сделать? Зашифровать весь диск, добавить дополнительные этапы авторизации.
Для обеспечения качественной защиты нужно пройти несколько этапов:
- Выбираем
- Настраиваем
- Оцениваем. Проверяем, что диск зашифрован полностью
- Контролируем. Проверка обновлений систем безопасности
Симметричное и асимметричное шифрование: определение понятия, применение, примеры
Чтобы обмениваться посланиями и скрыть содержание от третьих лиц, применяют шифрование. Оно используется там, где необходим повышенный уровень защиты. Есть две схемы шифрования: симметричная и асимметричная.
Что такое шифрование
Шифрование будет полезно тогда, когда нужно скрыть некоторую информацию от посторонних лиц и предоставить секретные данные авторизованным пользователям.
Особенностью такого вида передачи данных является использование ключа.
Есть три состояния безопасности:
- скрытие информации от посторонних;
- предотвращение изменений;
- сохранение целостности информации;
- идентификация отправителя.
Для чтения информации, кроме ключа, требуется дешифратор. Именно это обеспечивает невозможность получения данных злоумышленниками, ведь перехватив данные, но не имея ключа, прочесть их невозможно.
Бывают два вида шифрования: симметричный и асимметричный.
Главной целью шифрования является хранение информации. Это позволяет работать с некоторыми данными из ненадежных источников, передавать сообщения по незащищенным каналам. Отправка информации происходит так:
- отправитель шифрует данные;
- получатель расшифровывает.
Каждое преобразование реализуется с помощью алгоритмов, для решения которых используются ключи. Симметричные и асимметричные методы шифрования отличаются криптостойкостью.
Криптостойкость
Симметричные и асимметричные системы шифрования имеют такую характеристику, которая отвечает за сложность получения несанкционированного доступа.
Существует 2 основных типа криптостойкости системы шифрования.
- Абсолютно стойкая система не может быть раскрыта, даже при наличии бесконечно больших вычислительных ресурсов. Характеризуется тем, что для каждого сообщения генерируется свой отдельный ключ. Его длина равна или больше длины сообщения.
- Достаточно стойкие системы применяются в криптографической системе гражданского назначения. Такой алгоритм сложно расшифровать, но при наличии соответствующих ресурсов это становится возможным.
Сравнение криптостойкости некоторых систем шифрования
Максимальный размер ключа RSA — 4096 бит.
Он используется для шифрования и подписи. Криптостойкость можно описать как 2,7•1028 для ключа 1300 Бит. Схема применяется во многих стандартах, принцип шифрования RSA один из первых асимметричных алгоритмов.
Размер ключа схемы Эль-Гамаля равен RSA — 4096 Бит. Он используется и для шифрования, и для цифровой подписи. Криптостойкость этой системы не отличается от RSA при одинаковом размере ключа.
В методе DSA используется значительно меньшей ключ — 1024 бита. Применяется он исключительно для цифровой подписи.
Симметричное и асимметричное шифрование
Эти два вида шифрования отличаются количеством ключей и уровнем устойчивости к взлому.
Если для кодирования и раскодирования используется один ключ, то это шифрование симметричное. Асимметричное шифрование подразумевает использование одного ключа для каждого алгоритма.
- Открытым ключом шифруется некоторый код, который представляет собой определенное послание. Ключ известен обеим сторонам, он передается по незащищенному каналу, может быть перехвачен. Важнейшей задачей сохранения информации является защита ключа от перехвата.
- Закрытый используется для расшифровывания. Известен только одной стороне. Не может быть перехвачен, так как все время находится у одного собеседника.
Цель шифрования определяет метод сохранения конфиденциальности. Одним из первых было симметричное, асиметричное шифрование изобретено позже для обеспечения большей надежности.
Особенности симметричного шифрования
Симметричная система защита имеет следующие достоинства.
- Высокая скорость и простота реализации.
- Для обеспечения стойкости шифра используется малая длина ключа.
К недостаткам относится следующее:
- сложность управления ключами в большой сети;
- сложность обмена ключами;
- потребность в поиске надежного канала для передачи ключа сторонам;
- невозможность использования для цифровой подписи, сертификатов.
Для компенсации недостатков используется комбинированная схема, в которой с помощью асимметричного шифрования передается ключ, используемый для дешифровки. Он передается при помощи симметричного шифрования.
Особенности асимметричного шифрования
Применение пары открытый-закрытый ключ можно использовать как:
- самостоятельное средство защиты информации;
- средство распределения ключей;
- средства аутентификации пользователей.
Имеет такие преимущества:
- сохранение секретного ключа в надежном месте, вместо которого по открытому каналу передается открытый;
- ключ дешифрования известен только одной стороне;
- в большой асимметричной системе используйте меньшее количество ключей в отличие от симметричной.
В таких алгоритмах сложно внести какие-либо изменения. Подобная система имеет длинные ключи. Если симметричный ключ имеет размер 128 Бит, то ключ RSA — 2304 Бит. Из-за этого страдает скорость расшифровывания — она в 2-3 раза медленнее. Для расшифровки требуются большие вычислительные ресурсы.
Существует очень много примеров симметричной и асимметричной систем шифрования.
Симметричное шифрование — как выглядит?
Пример симметричного шифрования и схема реализации ниже.
- Есть два собеседника, которые планируют обменяться конфиденциальной информацией.
- Первый собеседник генерирует ключ d, алгоритмы шифрования E и дешифрования D. Затем посылает эту информацию второму собеседнику.
- Сообщение дешифруется ключом d.
Главным недостатком является невозможность установить подлинность текста. В случае перехвата ключа злоумышленник расшифрует секретную информацию.
Существуют классические методы.
- Простая и двойная перестановка.
- Магический квадрат.
- Одиночная перестановка.
Первый метод является одним из простейших, в схеме которого не используется ключ. Отправитель и получатель договариваются о некотором ключе, представленным в виде размера таблицы. Передаваемое сообщение записывается в столбцы таблицы, но считывается по строкам. Зная размер таблицы, получатель расшифровывает сообщение.
Для обеспечения большей скрытности используется двойная перестановка. Таким образом происходит шифрование ранее зашифрованного текста. Для этого таблицы должны отличаться количеством строк и столбцов. Они заполняются вертикально, горизонтально, змейкой, по спирали. Этот способ не усиливает шифрование, но процесс взлома становится более длительным.
“Магический квадрат” — более сложная структура, которая представляет собой матрицу. В клетки вписываются натуральные числа таким образом, чтобы сумма чисел по каждому столбцу, строке, диагонали была одинаковой. Каждое число соответствует букве сообщения. Полученный текст выписывается в строку, сопоставляя числа и символы.
Примеры асимметричного шифрования
В данном случае открытый ключ отправляется по открытому каналу и теоретически может быть перехвачен злоумышленниками.
В отличие от симметричных, асимметричные ключи шифрования разные. Для шифровки применяется открытый ключ, для расшифровки послания — закрытый. Использование двух ключей решает проблему возможности перехвата, которая была в симметричном методе. Реализуется так.
- Первый собеседник выбирает алгоритмы шифрования и дешифрования, пару ключей. Открытый ключ посылает второму собеседнику.
- Второй собеседник шифрует информацию с помощью полученного ключа. Отправляет информацию первому собеседнику, который расшифровывает сообщение с помощью закрытого ключа.
Существует такие основные методы асинхронного шифрования.
- RSA.
- DSA.
- Шифр Эль-Гамаля.
RSA
RSA — первый криптографический алгоритм, используемый и для шифрования, и для цифровой подписи.
Описывается так.
- Выбирается два простых числа, например, 3 и 7.
- Вычисляется модуль n — произведение двух чисел. Получается 21.
- Вычисляется функция Эйлера
φ=(p-1)×(q-1)=2×6=12
. - Вычисляется любое простое число e меньше φ и простое с φ. Доступные варианты: 5, 7, 11.
Пара чисел e, n (5, 21) — открытый ключ. Теперь вычисляются числа d и n закрытого ключа. Число d удовлетворяет условие (d×е) mod φ=1
и равняется 17. В итоге вторая пара чисел 17 и 21 — закрытый ключ. Шифрование выполняется следующим образом: сообщение возводится в степень e, берется остаток от деления на n, при этом результат должен быть меньше числа n. Получается 10 — это будут закодированные данные. Для раскодировки e возводится в степень d, вычисляется остаток от деления на n.
DSA
DSA (в отличие от RSA) используется только для цифровой подписи, но не для шифрования. Заданная подпись может быть проверена публично. Есть два алгоритма для создания подписи и проверки. Шифруется именно хеш-сообщение, которое представляет текст в цифровом виде. Поэтому для избежания коллизий выбирается сложная хэш-функция. Построение цифровой подписи состоит из следующих шагов.
- Выбор криптографической хэш-функции H(x).
- Битность простого числа q должна равняться значению хэш-функции H(x).
- Подбор такого простого числа p, чтобы p-1 делился без остатка на q.
- Вычисление числа
g = h (p-1)/q mod p
. h должно быть произвольным числом в диапазоне от 1 до p-1. - Выбирается случайное число k от 0 до q.
- Вычисляется
r = (gk mod p) mod q
. - Затем
s = k-1(H(m) + xr)) mod q
. - Если r=0 или s=0, выбирается другое число k.
Схема Эль-Гамаля
Шифрование по схеме Эль-Гамаля используется для цифровых подписей. Является продолжением алгоритма Диффи-Хеллмана.
При работе по этой схеме важно учитывать следующую особенность. Шифрование Эль-Гамаля не является алгоритмом цифровой подписи по схеме с одноименным названием. При шифровке текст преобразовывается в шифр, который длиннее исходного сообщения в 2 раза.
Генерация ключей происходит следующим образом.
- Выбирается случайное простое число p.
- Число g должно быть первообразным корнем p.
- Число x должно быть больше 1 и меньше p-1. Это будет закрытый ключ.
- Затем вычисляется открытый ключ y по формуле
g^x mod p
.
При шифровании текста M выбирается системный ключ K. Он больше единицы и меньше p-1. Затем вычисляются числа a и b, которые являются шифротекстом, a = g^k mod p
и b = y^k M mod p
.
НОУ ИНТУИТ | Лекция | Алгоритмы симметричного шифрования. Часть 1
Аннотация: Рассматриваются основные понятия, относящиеся к
алгоритмам симметричного шифрования, ключ шифрования, plaintext,
ciphertext. Дается определение стойкости алгоритма. Рассматриваются
типы операций, используемые в алгоритмах симметричного шифрования.
Рассматривается сеть Фейстеля, которая лежит в основе многих
современных алгоритмов симметричного шифрования. Даются основные
понятия криптоанализа, рассмотрены линейный и дифференциальный
криптоанализ. Представлено описание алгоритмов DES и тройного DES.
Криптография
Основные понятия
Рассмотрим общую схему симметричной, или традиционной, криптографии.
Рис.
2.1.
Общая схема симметричного шифрования
В процессе шифрования используется определенный алгоритм шифрования,
на вход которому подаются исходное незашифрованное сообщение,
называемое также plaintext, и ключ. Выходом алгоритма является
зашифрованное сообщение, называемое также ciphertext . Ключ является
значением, не зависящим от шифруемого сообщения. Изменение ключа
должно приводить к изменению зашифрованного сообщения.
Зашифрованное сообщение передается получателю. Получатель преобразует
зашифрованное сообщение в исходное незашифрованное сообщение с
помощью алгоритма дешифрования и того же самого ключа, который
использовался при шифровании, или ключа, легко получаемого из ключа
шифрования.
Незашифрованное сообщение будем обозначать P или M, от слов plaintext
и message. Зашифрованное сообщение будем обозначать С, от слова
ciphertext.
Безопасность, обеспечиваемая традиционной криптографией, зависит от
нескольких факторов.
Во-первых, криптографический алгоритм должен быть достаточно сильным,
чтобы передаваемое зашифрованное сообщение невозможно было
расшифровать без ключа, используя только различные статистические
закономерности зашифрованного сообщения или какие-либо другие способы
его анализа.
Во-вторых, безопасность передаваемого сообщения должна зависеть от
секретности ключа, но не от секретности алгоритма. Алгоритм должен
быть проанализирован специалистами, чтобы исключить наличие слабых
мест, при наличии которых плохо скрыта взаимосвязь между незашифрованным и
зашифрованным сообщениями. К тому же при выполнении этого условия
производители могут создавать дешевые аппаратные чипы и свободно
распространяемые программы, реализующие данный алгоритм шифрования.
В-третьих, алгоритм должен быть таким, чтобы нельзя было узнать ключ,
даже зная достаточно много пар (зашифрованное сообщение,
незашифрованное сообщение), полученных при шифровании с
использованием данного ключа.
Клод Шеннон ввел понятия диффузии и конфузии для описания стойкости
алгоритма шифрования.
Диффузия — это рассеяние статистических особенностей незашифрованного
текста в широком диапазоне статистических особенностей зашифрованного
текста. Это достигается тем, что значение каждого элемента
незашифрованного текста влияет на значения многих элементов
зашифрованного текста или, что то же самое, любой элемент
зашифрованного текста зависит от многих элементов незашифрованного
текста.
Конфузия — это уничтожение статистической взаимосвязи между
зашифрованным текстом и ключом.
Если Х — это исходное сообщение и K — криптографический ключ, то
зашифрованный передаваемый текст можно записать в виде
Получатель, используя тот же ключ, расшифровывает сообщение
Противник, не имея доступа к K и Х, должен попытаться узнать Х, K или
и то, и другое.
Алгоритмы симметричного шифрования различаются способом, которым
обрабатывается исходный текст. Возможно шифрование блоками или
шифрование потоком.
Блок текста рассматривается как неотрицательное целое число, либо как
несколько независимых неотрицательных целых чисел. Длина блока всегда
выбирается равной степени двойки. В большинстве блочных алгоритмов
симметричного шифрования используются следующие типы операций:
- Табличная подстановка, при которой группа бит отображается в
другую группу бит. Это так называемые S-box . - Перемещение, с помощью которого биты сообщения переупорядочиваются.
- Операция сложения по модулю 2, обозначаемая XOR или
- Операция сложения по модулю 232 или по модулю 216.
- Циклический сдвиг на некоторое число бит.
Эти операции циклически повторяются в алгоритме, образуя так
называемые раунды. Входом каждого раунда является выход предыдущего раунда и ключ, который получен по определенному алгоритму из ключа
шифрования K. Ключ раунда называется подключом . Каждый алгоритм
шифрования может быть представлен следующим образом:
Рис.
2.2.
Структура алгоритма симметричного шифрования
Области применения
Стандартный алгоритм шифрования должен быть применим во многих
приложениях:
- Шифрование данных. Алгоритм должен быть эффективен при шифровании
файлов данных или большого потока данных. - Создание случайных чисел. Алгоритм должен быть эффективен при
создании определенного количества случайных бит. - Хэширование. Алгоритм должен эффективно преобразовываться в
одностороннюю хэш-функцию.
Платформы
Стандартный алгоритм шифрования должен быть реализован на различных
платформах, которые, соответственно, предъявляют различные
требования.
- Алгоритм должен эффективно реализовываться на специализированной
аппаратуре, предназначенной для выполнения шифрования/дешифрования. - Большие процессоры. Хотя для наиболее быстрых приложений всегда
используется специальная аппаратура, программные реализации
применяются чаще. Алгоритм должен допускать эффективную программную
реализацию на 32-битных процессорах. - Процессоры среднего размера. Алгоритм должен работать на
микроконтроллерах и других процессорах среднего размера. - Малые процессоры. Должна существовать возможность реализации
алгоритма на смарт-картах, пусть даже с учетом жестких ограничений на
используемую память.
Дополнительные требования
Алгоритм шифрования должен, по возможности, удовлетворять некоторым
дополнительным требованиям.
- Алгоритм должен быть простым для написания кода, чтобы
минимизировать вероятность программных ошибок. - Алгоритм должен иметь плоское пространство ключей и допускать любую
случайную строку бит нужной длины в качестве возможного ключа.
Наличие слабых ключей нежелательно. - Алгоритм должен легко модифицироваться для различных уровней
безопасности и удовлетворять как минимальным, так и максимальным
требованиям. - Все операции с данными должны осуществляться над блоками, кратными
байту или 32-битному слову.
НОУ ИНТУИТ | Лекция | Традиционные шифры с симметричным ключом
Аннотация: Эта лекция представляет собой обзор традиционных шифров с симметричным ключом, которые использовались в прошлом. Изучение принципов таких шифров готовит читателя к следующим лекциям, которые рассматривают современные симметричные шифры. Эта лекция имеет несколько целей.
Общая идея шифров с симметричным ключом будет представлена с использованием примеров из криптографии. Вводимые термины и определения используются во всех более поздних лекциях, где речь пойдет о шифрах с симметричным ключом. Затем мы обсуждаем традиционные шифры с симметричным ключом. Эти шифры не используются сегодня, но мы изучаем их по нескольким причинам. Во-первых, они проще, чем современные шифры, и их легче понять. Во-вторых, они демонстрируют основы криптографии и шифрования. Эти основы могут использоваться для понимания современных шифров. В-третьих, рассказ о них подводит нас к изложению принципов построения и необходимости современных шифров, потому что традиционные шифры могут быть легко атакованы любыми пользователями компьютеров, и шифры, которые были безопасны в прежнее время, не обеспечивают безопасности при современном развитии компьютеров.
4.1. Введение
Рисунок 4.1 иллюстрирует общую идею шифра с симметричным ключом.
Рис.
4.1.
Общая идея шифрования с симметричным ключом
На рисунке 4.1 объект, Алиса, может передать сообщение другому объекту, Бобу, по несекретному каналу, учитывая, что противник (назовем его Ева), не может понять содержание сообщения, просто подслушивая его по каналу.
Первоначальное сообщение от Алисы Бобу названо исходным текстом; сообщение, передаваемое через канал, названо зашифрованным текстом. Чтобы создать зашифрованный текст из исходного текста, Алиса использует алгоритм шифрования и совместный ключ засекречивания. Для того чтобы создать обычный текст из зашифрованного текста, Боб использует алгоритм дешифрования и тот же секретный ключ. Мы будем называть совместное действие алгоритмов шифрования и дешифрования шифровкой. Ключ — набор значений (чисел), которыми оперирует алгоритм шифровки.
Обратите внимание, что шифрование симметричными ключами использует единственный ключ (ключ, содержащий непосредственно набор кодируемых значений) и для кодирования и для дешифрования. Кроме того, алгоритмы шифрования и дешифрования — инверсии друг друга. Если P — обычный текст, C — зашифрованный текст, а K — ключ, алгоритм кодирования Ek (x) создает зашифрованный текст из исходного текста.
Алгоритм же дешифрования Dk (x) создает исходный текст из зашифрованного текста. Мы предполагаем, что Ek (x) и Dk (x) инверсны по отношению друг к другу. Они применяются, последовательно преобразуя информацию из одного вида в другой и обратно. Мы имеем
Шифрование: C = Ek(P), Расшифровка: P = Dk (C), где , Dk(Ek(x)) = Ek(Dk(x)) = x
Мы можем доказать, что исходный текст, созданный Бобом, тот же самый, что и исходный, переданный Алисой. Мы предполагаем, что Боб создает P1 ; мы докажем, что P1 = P:
Алиса: C = Ek(P) Боб: P1 = Dk (C) = Dk (Ek(P)) = P
Мы должны подчеркнуть, что согласно принципу Керкгоффса (приведенному далее) лучше делать алгоритм шифрования и дешифрования открытым, но сохранять в тайне совместный ключ.
Это означает, что Алиса и Боб нуждаются в другом защищенном канале для обмена ключом засекречивания. Алиса и Боб могут однажды встретиться и обменяться ключом лично. Защищенный канал аналогично представляет собой «встречу лицом к лицу» для обмена ключом. Они могут также довериться третьему лицу, чтобы он дал им одинаковые ключи. Они могут создать временный ключ засекречивания, используя другой вид асимметрично-ключевых шифров, который будет рассмотрен в более поздних лекциях. В этой лекции мы просто принимаем, что существует утвержденный ключ засекречивания между Алисой и Бобом.
Применяя шифрование симметричными ключами, Алиса и Боб могут использовать тот же самый ключ для связи на другом направлении, от Боба к Алисе. Именно поэтому метод назван симметричным.
Другой элемент в шифровании симметричными ключами — число ключей. Алиса нуждается в другом ключе засекречивания, чтобы связаться с другим человеком, скажем, Дэвидом. Если есть m группа людей, в которой каждый должен иметь связь друг с другом, сколько ключей необходимо? Ответ — , потому что каждому человеку надо m – 1 ключ, чтобы связаться с остальной частью группы, но ключ между A и B может использоваться в обоих направлениях. В более поздних лекциях мы увидим, как решается эта проблема.
Шифрование можно представлять себе как замок, который запирает ящик, содержащий сообщение; дешифрование можно представлять себе как открытие замка такого ящика. В шифровании симметричными ключами один и тот же ключ замыкает и размыкает замок, как это показано на рис. 4.2. В более поздних лекциях будет рассказано, что шифрование асимметричными ключами нуждается в двух ключах: одном для замыкания, а втором — для размыкания замка.
Рис.
4.2.
Шифрования симметричными ключами, как замыкание и размыкание замка с тем же самым ключом
Принципы Керкгоффса
Хотя можно предположить, что шифр был бы более безопасен, если мы скрываем и алгоритм шифрования/дешифрования, и ключ засекречивания, это не рекомендуется. Согласно принципу Керкгоффса, нужно всегда предполагать, что противник — Ева — знает алгоритм кодирования/дешифрования. Противодействие шифра атаке должно базироваться только на тайне ключа. Другими словами, предполагается, что ключ должен быть настолько труден, что не надо скрывать алгоритм кодирования/дешифрования. Эти принципиальные положения станут более ясны, когда мы будем изучать современные шифры. Для современных шифров сегодня существует немного алгоритмов. Множество ключей (Ключевой домен) для каждого алгоритма, однако, настолько большое число, что мешает противнику найти ключ.
Криптоанализ
Криптография — наука и искусство создания секретных кодов, криптоанализ — наука и искусство взламывания этих кодов. В дополнение к изучению методов криптографии мы также должны изучить методы криптоанализа.
Это необходимо не для того, чтобы взламывать коды других людей, а чтобы оценить уязвимые места наших криптографических систем. Изучение криптоанализа помогает нам создавать лучшие секретные коды. Есть четыре общих типа атак криптоанализа, показанные на рис. 4.3. В этой и следующих лекциях мы будем разбирать некоторые из этих атак на конкретные шифры.
Рис.
4.3.
Атаки криптоанализа
Атака только на зашифрованный текст
В атаке только на зашифрованный текст Ева имеет доступ только к некоторому зашифрованному тексту. Она пробует найти соответствующий ключ и исходный текст. При этом, согласно предположению, Ева знает алгоритм и может перехватить зашифрованный текст. Атака только зашифрованного текста — самая вероятная, потому что Еве для нее нужен только сам текст. Шифр должен серьезно препятствовать этому типу атаки и не позволить дешифрование сообщения противником. Рисунок 4.4 иллюстрирует процесс атаки.
Рис.
4.4.
Атака только на зашифрованный текст
В атаке только на зашифрованный текст могут использоваться различные методы. Мы рассмотрим здесь только некоторые из них.
Атака грубой силы
При методе грубой силы, или методе исчерпывающего ключевого поиска, Ева пробует использовать все возможные ключи. Мы предполагаем, что Ева знает алгоритм и знает множество ключей (список возможных ключей). При использовании этого метода перехватывается исходный текст и задействуются все возможные ключи, пока не получится исходный текст. Создание
атаки грубой силы было в прошлом трудной задачей; сегодня с помощью компьютера это стало проще. Чтобы предотвратить этот тип атаки, число возможных ключей должно быть очень большим.
Статистическая атака
Криптоаналитик может извлечь выгоду из некоторых свойственных языку исходного текста характеристик, чтобы начать статистическую атаку. Например, мы знаем, что буква E — наиболее часто используемая буква в английском тексте. Криптоаналитик находит наиболее часто используемый символ в зашифрованном тексте и принимает, что это соответствующий символ исходного текста — E. После определения нескольких пар аналитик может найти ключ и расшифровать сообщение. Чтобы предотвратить этот тип атаки, шифр должен скрывать характеристики языка.
Атака по образцу
Некоторые шифры скрывают характеристики языка, но создают некоторые образцы в зашифрованном тексте. Криптоаналитик может использовать атаку по образцу, чтобы взломать шифр. Поэтому важно использовать шифры, которые сделали бы просматриваемый зашифрованный текст насколько возможно неопределенным, абстрактным.
Атака знания исходного текста
При атаке знания исходного текста Ева имеет доступ к некоторым парам «исходный/зашифрованный текст» в дополнение к перехваченному зашифрованному тексту, который она хочет взломать, как показано на рис. 4.5.
Рис.
4.5.
Атака знания исходного текста
Пары исходного/зашифрованного текста были собраны ранее. Например, Алиса передала секретное сообщение Бобу, но она позже открыла содержание сообщения посторонним. Ева хранила и зашифрованный текст, и исходный текст, чтобы использовать их, когда понадобится взломать следующее секретное сообщение от Алисы Бобу, предполагая, что Алиса не изменит свой ключ. Ева использует отношения между предыдущей парой, чтобы анализировать текущий зашифрованный текст. Те же самые методы, используемые в атаке только для зашифрованного текста, могут быть применены здесь. Но эту атаку осуществить проще, потому что Ева имеет больше информации для анализа. Однако может случиться, что Алиса изменила свой ключ или не раскрывала содержания любых предыдущих сообщений, — тогда подобная атака станет невозможной.
Атака с выборкой исходного текста
Атака с выборкой исходного текста подобна атаке знания исходного текста, но пары «исходный/зашифрованный текст» были выбраны и изготовлены самим нападавшим. Рисунок 4.6 иллюстрирует этот процесс.
Рис.
4.6.
Атака с выборкой исходного текста
Это может случиться, например, если Ева имеет доступ к компьютеру Алисы. Она выбирает некоторый исходный текст и создает с помощью компьютера зашифрованный текст. Конечно, она не имеет ключа, потому что ключ обычно размещается в программном обеспечении, используемом передатчиком. Этот тип атаки намного проще осуществить, но он наименее вероятен, поскольку подразумевает слишком много «если».
Атака с выбором зашифрованного текста
Атака с выбором зашифрованного текста подобна атаке с выборкой исходного текста, за исключением того, что выбирает некоторый зашифрованный текст и расшифровывает его, чтобы сформировать пару «зашифрованный/исходный текст» (это случается, когда Ева имеет доступ к компьютеру Боба). Рисунок 4.7 показывает этот процесс.
Рис.
4.7.
Атака с выбором зашифрованного текста
Категории традиционных шифров
Мы можем разделить традиционные шифры с симметричным ключом на две обширные категории: шифры подстановки и шифры перестановки. В шифре подстановки мы заменяем один символ в зашифрованном тексте на другой символ; в шифре перестановки — меняем местами позиции символов в исходном тексте.
Категории шифровальных средств и их особенности — Энциклопедия IFCG
Согласно законодательству ЕАЭС, шифровальные (криптографические) средства (далее – ШКС) – это “аппаратные, программные и аппаратно-программные средства, системы и комплексы, реализующие алгоритмы криптографического преобразования информации и предназначенные для защиты информации от несанкционированного доступа при ее передаче по каналам связи и (или) при ее обработке и хранении”[1].
Данное определение весьма абстрактно, в связи с чем отнесение или неотнесение конкретного товара к ШКС может вызывать существенные затруднения.
Список товаров, относящихся к ШКС
В Положении о ввозе (вывозе) ШКС приведен список функций (компонентов), которые должен содержать товар, чтобы он мог считаться ШКС[2]:
- средства имитозащиты;
- средства электронной цифровой подписи;
- средства кодирования;
- средства изготовления криптографических ключей;
- сами криптографические ключи;
- системы, оборудование и компоненты, разработанные или модифицированные для выполнения крипто-аналитических функций;
- системы, оборудование и компоненты, разработанные или модифицированные для применения криптографических методов генерации расширяющегося кода для систем с расширяющимся спектром, включая скачкообразную перестройку кодов для систем со скачкообразной перестройкой частоты;
- системы, оборудование и компоненты, разработанные или модифицированные для применения криптографических методов формирования каналов или засекречивающих кодов для модулированных по времени сверхширокополосных систем.
Однако, на практике нередко возникает ситуация, что таможенные органы, руководствуясь перечнем из раздела 2.19[3] (и даже только кодом ТН ВЭД из перечня), могут решить, что ввозимый продукт является шифровальным средством (и неважно, есть ли там шифрование на самом деле или нет). В этом случае импортеру придется получать разрешительные документы или доказывать таможне, что в товаре отсутствует шифрование.
Процедура импорта (экспорта) ШКС
В зависимости от таможенной процедуры для ввоза (вывоза) ШКС необходимо оформить различные виды документов:
- Импорт и экспорт – лицензия[4] или нотификация.
- Ввоз для собственных нужд (без их распространения и оказания третьим лицам услуг в области шифрования), процедуры переработки, временного ввоза/вывоза, свободной таможенной зоны и свободного склада, реэкспорт или реимпорт – заключение (разрешительный документ) или нотификация.
12 категорий ШКС
На практике подавляющее большинство товаров с функцией шифрования ввозятся на основании нотификации.
Нотификация может зарегистрирована только на товары, относящиеся к одной или нескольким из 12 категорий шифровальных средств, технические и криптографические характеристики которых подлежат нотификации. Данный перечень приведен в Положении о нотификации.
Ниже каждая из категорий рассмотрена подробнее.
Категория №1
1. Товары, содержащие в своем составе шифровальные (криптографические) средства, имеющие любую из следующих составляющих: 1) симметричный криптографический алгоритм, использующий криптографический ключ длиной, не превышающей 56 бит; 2) асимметричный криптографический алгоритм, основанный на любом из следующих методов: • разложение на множители целых чисел, размер которых не превышает 512 бит; • вычисление дискретных логарифмов в мультипликативной группе конечного поля, размер которого не превышает 512 бит; • дискретный логарифм в группе конечного поля, отличного от поля, указанного в абзаце третьем настоящего подпункта, размер которого не превышает 112 бит.
ШКС данной категории выполняются различные криптографические функции, но определяющим фактором отнесения к данной категории является длина криптографического ключа. Указанные длины ключей существенно меньше рекомендованных минимальных значений для соответствующих групп алгоритмов. Использование таких коротких криптографических ключей делает возможным на современном оборудовании вскрытие зашифрованных сообщений методом полного перебора.
Симметричное шифрование в основном используется для обеспечения конфиденциальности данных, и основано на том, что отправитель и получатель информации используют один и тот же ключ как для зашифровки сообщений, так и для их расшифровки. Этот ключ должен храниться в тайне и передаваться способом, исключающим его перехват. Примеры симметричных алгоритмов шифрования: RC4, DES, AES.
Из перечисленных алгоритмов только DES (считающийся устаревшим) безусловно попадает в категорию 1; также алгоритм RC4 иногда может использоваться с короткими ключами (например, в протоколе WEP технологии связи Wi-Fi: длина ключа 40 или 128 бит).
В асимметричных алгоритмах шифрования (или криптографии с открытым ключом) для зашифровывания информации используют один ключ (открытый), а для расшифровывания – другой (секретный). Данные алгоритмы широко используются для установления защищенных соединений по открытым каналам связи, для целей ЭЦП. Примеры алгоритмов: RSA, DSA, Протокол Диффи — Хеллмана, ГОСТ Р 34.10-2012.
Указанные методы относятся к математической базе функционирования асимметричных алгоритмов:
- разложение на множители целых чисел — алгоритм RSA
- вычисление дискретных логарифмов в мультипликативной группе конечного поля — алгоритмы DSA, Диффи-Хеллмана, Эль-Гамаля
- дискретный логарифм в группе конечного поля, отличного от поля, указанного в абзаце третьем настоящего подпункта — алгоритмы на эллиптических кривых: ECDSA, ECDH, ГОСТ Р 34.10-2012.
Примеры нотифицируемых ШКС: теоретически любой товар может использовать устаревшие алгоритмы, либо короткие ключи в современных алгоритмах. На практике, однако, это имеет мало смысла, т.к. не обеспечивает достаточный уровень защиты. Одним из реальных примеров может быть Wi-Fi в режиме WEP с ключом длины 40 бит.
Категория №2
2. Товары, содержащие шифровальные (криптографические) средства, обладающие следующими ограниченными функциями: 1) аутентификация, включающая в себя все аспекты контроля доступа, где нет шифрования файлов или текстов, за исключением шифрования, которое непосредственно связано с защитой паролей, персональных идентификационных номеров или подобных данных для защиты от несанкционированного доступа;
Проверка подлинности пользователя в рамках данной категории предусматривает сравнение введённого им пароля или других аналогичных идентифицирующих данных с информацией, сохранённой в базе данных авторизованных пользователей, а сам процесс шифрования заключается в защите секретных данных пользователя от копирования и незаконного использования при их передаче от объекта аутентификации (пользователя) контролирующему устройству.
Примеры нотифицируемых ШКС: устройства систем контроля и управления доступом – считыватели паролей, устройства для хранения и формирования баз данных авторизованных пользователей, сетевые устройства аутентификации – шлюзы, роутеры, маршрутизаторы и т.д., устройства с защитой информации, хранящихся на них – жесткие диски с функцией парольного ограничения доступа.
2) электронная цифровая подпись (электронная подпись).
Процесс подписи реализуется путем криптографического преобразования информации с использованием закрытого ключа подписи и позволяет проверить отсутствие искажения информации в электронном документе с момента формирования подписи (целостность), принадлежность подписи владельцу сертификата ключа подписи (авторство), а в случае успешной проверки подтвердить факт подписания электронного документа (неотказуемость).
Примеры нотифицируемых ШКС: генераторы ЭЦП, программное обеспечение для сопровождения и реализации механизма применения ЭЦП, устройства хранения ключевой информации ЭЦП.
Категория №3
3. Шифровальные (криптографические) средства, являющиеся компонентами программных операционных систем, криптографические возможности которых не могут быть изменены пользователями, которые разработаны для установки пользователем самостоятельно без дальнейшей существенной поддержки поставщиком и техническая документация (описание алгоритмов криптографических преобразований, протоколы взаимодействия, описание интерфейсов и т.д.) на которые является доступной пользователю.
Операционная система это комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.
Примеры нотифицируемых ШКС: операционные системы и программные комплексы на их основе.
Категория №4
4. Персональные смарт-карты (интеллектуальные карты): 1) криптографические возможности которых ограничены их использованием в категориях товаров (продукции), указанных в пунктах 5 - 8 настоящего перечня; 2) для широкого общедоступного применения, криптографические возможности которых недоступны пользователю и которые в результате специальной разработки имеют ограниченные возможности защиты хранящейся на них персональной информации.
Смарт-карты это пластиковые карты со встроенной микросхемой. В большинстве случаев смарт-карты содержат микропроцессор и операционную систему, управляющую устройством и контролирующую доступ к объектам в его памяти.
Примеры нотифицируемых ШКС: SIM-карты доступа к услугам мобильных операторов, банковские карты, оснащенные чипом-микропроцессором, интеллектуальные карты идентификации ее владельца.
Категория №5
5. Приемная аппаратура для радиовещания, коммерческого телевидения или аналогичная коммерческая аппаратура для вещания на ограниченную аудиторию без шифрования цифрового сигнала, кроме случаев использования шифрования исключительно для управления видео- или аудиоканалами, отправки счетов или возврата связанной с программой информации провайдерам вещания.
Данная категория относится к товарам, предназначенных для предоставления пользователю доступа к платным кодированным цифровым спутниковым, эфирным и кабельным телеканалам и радиостанциям (радиоканалам) (примеры стандартов: DVB-CPCM, DVB-CSA).
Примеры нотифицируемых ШКС: TV-тюнеры, приемники телесигналов, спутниковые телеприемники.
Категория №6
6. Оборудование, криптографические возможности которого недоступны пользователю, специально разработанное и ограниченное для применения любым из следующих способов: 1) программное обеспечение исполнено в защищенном от копирования виде; 2) доступом к любому из следующего: • защищенному от копирования содержимому, хранящемуся только на доступном для чтения электронном носителе информации; • информации, хранящейся в зашифрованной форме на электронных носителях информации, которые предлагаются на продажу населению в идентичных наборах; 3) контроль копирования аудио- и видеоинформации, защищенной авторскими правами.
Примеры нотифицируемых ШКС: Игровые консоли, процессоры, игры, программное обеспечение и т.п.
Категория №7
7. Шифровальное (криптографическое) оборудование, специально разработанное и ограниченное применением для банковских или финансовых операций.
Товары данной категории должны являться аппаратным устройством, т.е. иметь законченный вид банковского оборудования, применение которого не предполагает дополнительной сборки или доработки за исключением целей модернизации.
Примеры нотифицируемых ШКС: Банкоматы, платежные терминалы, пин-пады (банковские карты относят к категории №4).
Категория №8
8. Портативные или мобильные радиоэлектронные средства гражданского назначения (например, для использования в коммерческих гражданских системах сотовой радиосвязи), которые не способны к сквозному шифрованию (от абонента до абонента).
В данную категорию отнесены все устройства мобильной сотовой связи, работающие в стандартах GSM, GPRS, EDGE, UMTS, LTE, а также некоторые радиостанции. Главным требованием, предъявляемым к товарам данной категории в области выполняемого функционала – отсутствие способности к сквозному шифрованию, т.е. связь между абонентами должна осуществляться через устройство ретрансляции.
Примеры нотифицируемых ШКС: Мобильные устройства связи и устройства, имеющие в своем составе модули сотовой связи вышеуказанных стандартов, радиостанции.
Категория №9
9. Беспроводное радиоэлектронное оборудование, осуществляющее шифрование информации только в радиоканале с максимальной дальностью беспроводного действия без усиления и ретрансляции менее 400 м в соответствии с техническими условиями производителя.
Сюда относится большинство устройств, которые иначе можно назвать как «радиоэлектронные средства малого радиуса действия». Шифрование происходит при передаче/приеме информации по беспроводному радиоканалу в целях ее защиты от перехвата, проникновения несанкционированных пользователей в сеть связи. Как известно, такую защиту поддерживает большинство беспроводных стандартов передачи данных: Wi-Fi, Bluetooth, NFC, иногда RFID.
Примеры нотифицируемых ШКС: роутеры, точки доступа, модемы, устройства, содержащие в своем составе модули беспроводной радиосвязи ближнего радиуса действия, бесконтактные карты доступа/оплаты/идентификации.
Категория №10
10. Шифровальные (криптографические) средства, используемые для защиты технологических каналов информационно-телекоммуникационных систем и сетей связи.
Данная категория описывает товары, которые являются сетевыми устройствами, выполняющие коммутационные и сервисные функции. Как правило большинство данных устройств поддерживают простые сетевые протоколы управления, позволяющие производить мониторинг состояния сети, ее производительность, а также направлять команды администратора сети в ее разные узлы.
Примеры нотифицируемых ШКС: Серверы, коммутаторы, сетевые платформы, шлюзы.
Категория №11
11. Товары, криптографическая функция которых заблокирована производителем.
Данная категория может быть представлена абсолютно разными типами устройств разных назначений и области применения. Решающим фактором отнесения таких товаров к категории №11 является наличие предустановленного программного или аппаратного обеспечения, которое производит целенаправленную блокировку выполняемых товаром криптографических функций.
Категория №12
12. Иные товары, которые содержат шифровальные (криптографические) средства, отличные от указанных в пунктах 1 - 11 настоящего перечня, и соответствуют следующим критериям: 1) общедоступны для продажи населению в соответствии с законодательством государства - члена Евразийского экономического союза без ограничений из имеющегося в наличии ассортимента в местах розничной продажи посредством любого из следующего: • продажи за наличные; • продажи путем заказа товаров по почте; • электронных сделок; • продажи по телефонным заказам; 2) шифровальные (криптографические) функциональные возможности которых не могут быть изменены пользователем простым способом; 3) разработаны для установки пользователем без дальнейшей существенной поддержки поставщиком; 4) техническая документация, подтверждающая, что товары соответствуют требованиям подпунктов 1 - 3 настоящего пункта, размещена изготовителем в свободном доступе и представляется при необходимости изготовителем (лицом, им уполномоченным) согласующему органу по его запросу.
Товары данной категории можно объединить под общим словом «прочие».
Стоит отметить, что на практике ЦЛСЗ ФСБ России предъявляет повышенные требования к представлению материалов для регистрации нотификаций на товары данной категории. Так, все перечисленные критерии должны быть подтверждены (ссылками на сайт производителя с информацией на русском языке или документально).
Наиболее распространенные категории ШКС
В Едином реестре для каждой нотификации приводится перечень категорий, к которым отнесен товар. Данная информация закодирована в поле «Идентификатор»: поле представляет собой 12-значный код, при этом, если товар относится к категории с номером N из списка выше, то на позиции N в коде будет стоят цифра 1, в противном случае — 0.
Например, код 110000000110 говорит о том, что товар нотифицировался по категориям №№ 1, 2, 10 и 11.
Интересно посмотреть на статистику использования различных категорий.
Распределение ШКС по категориям (по состоянию на конец 2017 года)
Как видно из диаграммы, наиболее распространёнными и часто встречающимися криптографическими функциями в ШКС является шифрование данных в беспроводном радиоканале малого радиуса действия (Wi-Fi, Bluetooth) – 27% от общего числа зарегистрированных ШКС, что логично, учитывая объем производимых мобильных средств связи, персональных компьютеров и других технических устройств, оснащенных модулями, поддерживающими данные технологии связи.
Второе место занимают ШКС, поддерживающие функции аутентификации и осуществления контроля доступа к защищенной информации – 19,5%. Данная тенденция также легко объясняется повышенными стандартами и запросами потребителей к защите персональной информации как на физических носителях (жесткие диски, USB-флеш накопители, серверы и т.п.), так и на сетевых (облачные хранилища, сетевые банки данных и т.п.). Дополнительно стоит отметить, что подавляющее большинство ШКС, используемые в системах контроля и управления доступом (более известные как СКУД) также выполняют криптографический функционал, относящийся к категории № 2.
Поскольку работа в сети является неотъемлемой частью функционирования любой информационной системы, то аспекты администрирования данной сетью связи реализованы в сетевых устройствах управления. Безопасность же организуемого данными устройствами интерфейса управления реализована посредством применения механизмов шифрования технологических каналов связи, что является основание для категорирования такого рода ШКС по категории №10, являющейся третьей по распространенности – 16%.
Важно также отметить, что наименее распространенные функции ШКС распределяются по категориям №5 (0,28%), №12 (0,29%) и №7 (0,62%). Товары реализующие данные криптографические функции являются редкими и при проведении регистрации в ЦЛСЗ документация на них подвергается более детальному анализу, т.к. «не поставлена на поток» и наборы используемых криптографических протоколов и алгоритмов могут быть уникальны в каждом отдельном случае. Именно поэтому товарам данных категорий необходимо уделить максимальное внимание при составлении необходимых документов, поскольку в противном случае риск отказа в регистрации нотификации крайне велик.
Примечания
Ссылки
См. также
НОУ ИНТУИТ | Лекция | Введение в криптографию с открытым ключом
Аннотация: В этой лекции читатель познакомится с наиболее важным достижением криптографов ХХ века – асимметричной криптографией и узнает, какие математические функции называются односторонними и как они используются для шифрования, формирования секретных ключей и цифровой подписи на электронных документах.
Цель лекции: первоначальное знакомство с принципами шифрования с открытым ключом.
Предпосылки создания методов шифрования с открытым ключом и основные определения
При использовании шифрования с закрытым ключом возникают две достаточно серьезные проблемы. Первая проблема заключается в изготовлении секретных ключей и доставке их участникам информационного обмена. При большом количестве и территориальной распределенности участников информационного обмена, использующих каналы связи общего назначения, например, обычную или электронную почту, часто бывает сложно гарантировать безопасность доставки такого ключа и его подлинность. В
«Поточные шифры и генераторы псевдослучайных чисел. Часть 2»
учебного пособия проблема распределения ключей для симметричного шифрования была подробно рассмотрена.
Второй проблемой является обеспечение подлинности партнеров при электронном общении. Развитие деловой переписки и электронной коммерции требует наличия методов, при использовании которых невозможно было бы подменить кого-либо из участников обмена. Получатель корреспонденции должен иметь возможность удостовериться в подлинности документа, а создатель электронного послания должен быть в состоянии доказать свое авторство получателю или третьей стороне. Следовательно, электронные документы должны иметь аналог обычной подписи.
Многие криптографы работали над решением этих проблем, в результате чего во второй половине семидесятых годов ХХ века были разработаны принципиально новые подходы, позволяющие решить перечисленные выше (и некоторые другие) задачи. Основой послужило открытие так называемых асимметричных криптоалгоритмов, или методов, в которых процедуры прямого и обратного криптопреобразования выполняются на различных ключах и не имеют между собой очевидных и легко прослеживаемых связей, которые позволили бы по одному ключу определить другой. Асимметричные алгоритмы гораздо больше основаны на свойствах математических функций, чем алгоритмы симметричного шифрования, использующие в основном только операции перестановки и замены. Большой вклад в эти исследования внесли американские ученые У. Диффи (W. Diffie), Э. Хеллман (M. Hellman), Р. Меркль (R. Merkle). Они первыми предложили способы решения обеих задач, которые радикально отличаются от всех предыдущих подходов к шифрованию.
Асимметричные алгоритмы шифрования называются также алгоритмами с открытым ключом. В отличие от алгоритмов симметричного шифрования (алгоритмов шифрования с закрытым ключом), в которых для шифрования и расшифрования используется один и тот же ключ, в ассиметричных алгоритмах один ключ используется для шифрования, а другой, отличный от первого, – для расшифрования. Алгоритмы называются асимметричными, так как ключи шифрования и расшифрования разные, следовательно, отсутствует симметрия основных криптографических процессов. Один из двух ключей является открытым (public key) и может быть объявлен всем, а второй – закрытым (private key) и должен держаться в секрете. Какой из ключей, открытый или закрытый, используется для шифрования, а какой для расшифрования, определяется назначением криптографической системы.
В настоящее время асимметричные алгоритмы широко применяются на практике, например, для обеспечения информационной безопасности телекоммуникационных сетей, в том числе сетей, имеющих сложную топологию; для обеспечения информационной безопасности в глобальной сети Internet; в различных банковских и платежных системах (в том числе использующих интеллектуальные карты).
Алгоритмы шифрования с открытым ключом можно использовать для решения, как минимум, трех задач:
- Для шифрования передаваемых и хранимых данных в целях их защиты от несанкционированного доступа.
- Для формирования цифровой подписи под электронными документами.
- Для распределения секретных ключей, используемых потом при шифровании документов симметричными методами.
Односторонние функции
Все алгоритмы шифрования с открытым ключом основаны на использовании так называемых односторонних функций. Односторонней функцией (one-way function) называется математическая функция, которую относительно легко вычислить, но трудно найти по значению функции соответствующее значение аргумента. То есть, зная х легко вычислить f(x), но по известному f(x) трудно найти подходящее значение x. Под словом «трудно вычислить» понимают, что для этого потребуется не один год расчетов с использованием ЭВМ. Односторонние функции применяются в криптографии также в качестве хеш-функций (см.
«Криптографические хеш-функции»
). Использовать односторонние функции для шифрования сообщений с целью их защиты не имеет смысла, так как обратно расшифровать зашифрованное сообщение уже не получится. Для целей шифрования используются специальные односторонние функции – односторонние функции с люком (или с секретом) – это особый вид односторонних функций, имеющих некоторый секрет (люк), позволяющий относительно быстро вычислить обратное значение функции.
Для односторонней функции с люком f справедливы следующие утверждения:
- зная х, легко вычислить f(x),
- по известному значению f(x) трудно найти x,
- зная дополнительно некоторую секретную информацию, можно легко вычислить x.
Использование асимметричных алгоритмов для шифрования
В 70-х годах ХХ века Диффи и Хеллман предложили принцип шифрования, основанный на использовании двух разных ключей, хотя и связанных между собой, но устроенных так, что вычислить по одному из них (открытому) другой (закрытый) практически невозможно. Этот принцип может быть использован для решения проблемы снабжения пользователей ключами шифрования/расшифрования, а точнее – для устранения этой проблемы. Согласно Диффи и Хеллману предварительно распределяемые закрытые ключи вообще не должны использоваться для шифрования данных (так как секрет, который известен более чем одному человеку, – уже не секрет). Закрытый ключ должен быть известен только одному лицу – его владельцу. Такой принцип использования асимметричных алгоритмов получил название открытого шифрования или шифрованием с открытым ключом.
Согласно этому принципу, любой желающий может зашифровать сообщение открытым ключом. Расшифровать сообщение сможет только владелец закрытого ключа. Пусть, например, пользователи А и Б, имеющие возможность обмениваться электронными сообщениями, используют схему открытого шифрования. Предположим, пользователь А должен передать секретное сообщение пользователю Б так, чтобы никто другой не смог его прочитать. Для этого необходимо выполнить следующие действия:
- Пользователь Б посылает пользователю А свой открытый ключ U по любому каналу связи, например, по электронной почте.
- Пользователь А шифрует свое сообщение М полученным открытым ключом U и получает зашифрованное сообщение С.
- Зашифрованное сообщение С пересылается пользователю Б.
- Пользователь Б расшифровывает полученное сообщение С своим закрытым ключом R.
Если операцию шифрования обозначить как F, а операцию расшифрования как F-1, то схему протокола обмена информацией между пользователями можно изобразить, как на
рис.
9.1.
Рис.
9.1.
Схема открытого шифрования
Использование открытого шифрования снимает проблему распределения ключей. Раньше пользователи перед обменом зашифрованными данными должны были каким-либо образом по закрытому каналу связи согласовывать используемый секретный ключ. Для этого они могли встретиться лично или использовать курьера. Если один из пользователей считал нужный изменить ключ, он должен был передать новый ключ своему абоненту. Криптография с открытыми ключами все упрощает. Теперь абоненты не должны заботиться о возможности компрометации секретного ключа. Пользователи системы связи могут совершенно свободно обмениваться открытыми ключами и зашифрованными ими сообщениями. Если пользователь надежно хранит свой закрытый ключ, никто не сможет прочитать передаваемые сообщения.
Для упрощения процедуры обмена в сети передачи сообщений обычно используется база данных (подробнее об этом см. в
«Криптографические алгоритмы с открытым ключом и их использование»
), в которой хранятся открытые ключи всех пользователей. При необходимости любой пользователь системы может запросить из базы открытый ключ другого человека и использовать полученный ключ для шифрования сообщений.
Симметричное шифрование
— шифрование и дешифрование
Симметричное шифрование (также известное как шифрование с симметричным ключом, шифрование с одним ключом, шифрование с одним ключом и шифрование с закрытым ключом) — это тип шифрования, при котором один и тот же секретный ключ используется для шифрования и дешифрования информации или существует простое преобразование между двумя ключами.
Секретный ключ может быть числом, словом или просто цепочкой случайных букв. Секретный ключ применяется к информации для изменения содержимого определенным образом.Это может быть так же просто, как сдвигать каждую букву на определенное количество разрядов в алфавите. Симметричные алгоритмы требуют, чтобы и отправитель, и получатель знали секретный ключ, чтобы они могли зашифровать и расшифровать всю информацию. Существует два типа алгоритмов симметричного шифрования: потоковые алгоритмы (потоковые шифры) и блочные алгоритмы (блочные шифры).
Типы симметричных алгоритмов (алгоритмы с симметричным ключом)
Симметричные алгоритмы шифрования (алгоритмы шифрования с симметричным ключом) используют один и тот же ключ для шифрования и дешифрования.Алгоритмы шифрования с симметричным ключом можно разделить на потоковые алгоритмы (потоковые шифры) и блочные алгоритмы (блочные шифры).
Потоковые шифры
Потоковые шифры шифруют биты информации по одному за раз — работают с 1 битом (или иногда с 1 байтом) данных (шифрование данных побитовое). Потоковые шифры быстрее и меньше в реализации, чем блочные шифры, однако у них есть важный пробел в безопасности. Если используется один и тот же ключевой поток, определенные типы атак могут привести к раскрытию информации.
Блочные шифры
Блочные шифры (метод шифрования данных в блоках) — это симметричный шифр, который шифрует информацию, разбивая ее на блоки и шифруя данные в каждом блоке. Блочный шифр шифрует данные блоками фиксированного размера (обычно 64 бита). Чаще всего используются блочные шифры Triple DES и AES.
Симметричные алгоритмы шифрования:
— AES / Rijndael
— Blowfish
— CAST5
— DES
— IDEA
— RC2
— RC4
— RC6
— Serpent
— Triple DES
— Twofish
Шифрование AES / Rijndael
AES расшифровывается как Advanced Encryption Standard.AES — это метод шифрования с симметричным ключом, который заменяет широко используемый стандарт шифрования данных (DES).
Это результат всемирного призыва к представлению алгоритмов шифрования, выпущенного Национальным институтом стандартов и технологий при правительстве США в 1997 году и завершенного в 2000 году.
Победивший алгоритм, Rijndael, был разработан двумя бельгийскими криптологами, Винсентом Риджменом и Джоан. Daemen. AES обеспечивает надежное шифрование и был выбран NIST в качестве федерального стандарта обработки информации в ноябре 2001 г. (FIPS-197).
Алгоритм AES использует ключи трех размеров: 128-, 192- или 256-битный ключ шифрования. Каждый размер ключа шифрования приводит к тому, что алгоритм ведет себя немного по-разному, поэтому увеличивающиеся размеры ключа не только предлагают большее количество битов, с помощью которых вы можете шифровать данные, но также увеличивают сложность алгоритма шифрования.
Blowfish
Blowfish — это симметричный алгоритм шифрования (64-битный шифр), разработанный в 1993 году Брюсом Шнайером в качестве альтернативы существующим алгоритмам шифрования.Blowfish имеет переменную длину ключа — от 32 бит до 448 бит. С тех пор Blowfish подвергся серьезному анализу и получает признание как надежный алгоритм шифрования.
CAST
CAST — это Карлайл Адамс и Стаффорд Таварес, изобретатели CAST. CAST — это популярный 64-битный блочный шифр, допускающий размер ключа до 128 бит.
Стандарт шифрования данных (DES)
Стандарт шифрования данных (DES) — это блочный шифр с размером блока 64-бит, использующий 56-битные ключи.DES был изобретен IBM более 20 лет назад в ответ на публичный запрос Национального бюро стандартов. Из-за недавних достижений в компьютерных технологиях некоторые эксперты больше не считают DES защищенным от всех атак; с тех пор Triple-DES (3DES) стал более сильным методом. Используя стандартное шифрование DES, Triple-DES шифрует данные три раза и использует другой ключ по крайней мере для одного из трех проходов, что дает совокупный размер ключа 112–168 бит.
IDEA
IDEA — это международный алгоритм шифрования данных.IDEA — это симметричный алгоритм шифрования, который был разработан доктором X. Лай и профессором Дж. Мэсси для замены стандарта DES. В отличие от DES, он использует 128-битный ключ. Такая длина ключа делает невозможным взлом, просто пробуя каждую клавишу.
RC2
RC2 — шифр с переменной длиной ключа. Он был изобретен Роном Ривестом для RSA Data Security, Inc. Его подробности не публиковались.
RC4
RC4 был разработан Роном Ривестом в 1987 году. Это потоковый шифр с переменным размером ключа.Это шифр с размером ключа до 2048 бит (256 байт).
RC6
RC6 — это блочный шифр с симметричным ключом, полученный из RC5. Он был разработан Роном Ривестом, Мэттом Робшоу, Рэем Сидни и Ицюном Лизой Инь в соответствии с требованиями конкурса Advanced Encryption Standard (AES). Алгоритм шифрования RC6 был выбран среди других финалистов, чтобы стать новым федеральным расширенным стандартом шифрования (AES).
Serpent
Serpent — это блочный шифр, разработанный Россом Андерсоном, Эли Бихамом и Ларсом Кнудсеном.Serpent может работать с разными комбинациями длин клавиш. Serpent также был выбран среди других пяти финалистов, чтобы стать новым федеральным стандартом Advanced Encryption Standard (AES).
Triple DES
Triple DES — это вариант стандарта шифрования данных (DES). Он использует 64-битный ключ, состоящий из 56 эффективных битов ключа и 8 битов четности. Размер блока для Triple-DES составляет 8 байтов. Triple-DES шифрует данные 8-байтовыми порциями. Идея Triple DES состоит в том, чтобы повысить безопасность DES путем трехкратного применения шифрования DES с использованием трех разных ключей.
Twofish
Twofish — симметричный блочный шифр. Twofish имеет размер блока 128 бит и принимает ключи любой длины до 256 бит. Алгоритм шифрования
Twofish был разработан Брюсом Шнайером, Джоном Келси, Крисом Холлом, Нильсом Фергюсоном, Дэвидом Вагнером и Дугом Уайтингом. Национальный институт стандартов и технологий (NIST) исследовал Twofish как одного из кандидатов на замену алгоритма шифрования DES.
Что такое уязвимости симметричного шифрования?
Взлом симметричного шифрования
Существует два метода взлома симметричного шифрования — грубая сила и криптоанализ.
Brute Force Attack — это форма атаки, в которой проверяется каждая возможность до достижения успеха. Обычно зашифрованный текст дешифруется под разными ключами до тех пор, пока не будет распознан открытый текст. Нет программного обеспечения для шифрования, которое полностью защищено от метода грубой силы, но если количество возможных ключей достаточно велико, это может сделать программу астрономически сложной для взлома с использованием грубой силы. Но чем больше бит в ключе, тем он безопаснее, поэтому выбирайте программное обеспечение с как можно большим количеством битов.
Криптоанализ — это форма атаки, которая атакует характеристики алгоритма, чтобы вывести конкретный открытый текст или используемый ключ.
Слабые пароли
В каждом виде программного обеспечения для шифрования необходимо создать какой-то пароль, чтобы получатели информации могли его прочитать. Создание надежного пароля, который нелегко угадать, так же важно, как и выбор хорошего алгоритма или надежного программного обеспечения для шифрования.
Запоминание паролей
Если вы забудете пароль, вы не сможете расшифровать зашифрованные данные. Обязательно сделайте резервную копию своего пароля и храните ее в надежном месте.
Обмен и хранение секретных ключей
Алгоритмы шифрования с симметричным ключом требуют совместного использования секретного ключа — и отправителю, и получателю нужен один и тот же ключ для шифрования или дешифрования данных. Расшифровать сообщение может любой, кто знает секретный ключ. Поэтому очень важно, чтобы отправитель и получатель могли безопасно обмениваться секретными ключами. Слабость алгоритмов симметричного шифрования заключается в том, что при обнаружении секретного ключа все сообщения могут быть расшифрованы. Таким образом, секретный ключ необходимо регулярно менять и хранить в безопасности во время распространения и использования.
Симметричные и асимметричные алгоритмы шифрования
Симметричные алгоритмы шифрования шифруют и дешифруют одним и тем же ключом. Основными преимуществами симметричных алгоритмов являются их безопасность и высокая скорость. Алгоритмы асимметричного шифрования шифруют и дешифруют с разными ключами. Данные зашифрованы с помощью открытого ключа и дешифруются с помощью закрытого ключа. Алгоритмы асимметричного шифрования невероятно медленные, и их непрактично использовать для шифрования больших объемов данных. Как правило, симметричные алгоритмы шифрования намного быстрее выполняются на компьютере, чем асимметричные.На практике они часто используются вместе, так что алгоритм открытого ключа используется для шифрования случайно сгенерированного ключа шифрования, а случайный ключ используется для шифрования фактического сообщения с использованием симметричного алгоритма.
Преимущества симметричного шифрования
Основными преимуществами алгоритмов симметричного шифрования являются их безопасность и высокая скорость.
.
c — симметричное шифрование и дешифрование AES CTR
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.
Асимметричное шифрование — шифрование и дешифрование
Определение асимметричного шифрования (шифрование с открытым ключом)
Что такое асимметричное шифрование?
Асимметричное шифрование использует разные ключи для шифрования и дешифрования. Ключ шифрования является открытым, поэтому любой может зашифровать сообщение. Однако ключ дешифрования является частным, поэтому только получатель может расшифровать сообщение. Обычно в сети создают «пары ключей», чтобы у каждого пользователя был открытый и закрытый ключ.Открытый ключ предоставляется всем, чтобы они могли отправлять сообщения, но закрытый ключ доступен только тому человеку, которому он принадлежит.
Как работает асимметричное шифрование (шифрование с открытым ключом):
В процессе асимметричного шифрования используются два ключа: один ключ для шифрования и второй ключ для дешифрования. Схема шифрования с асимметричным ключом состоит из шести основных частей:
Открытый текст — это текстовое сообщение, к которому применяется алгоритм.
Алгоритм шифрования — он выполняет математические операции для проведения замен и преобразований в открытый текст.
Открытый и закрытый ключи — это пара ключей, один из которых используется для шифрования, а другой — для дешифрования.
Шифрованный текст — это зашифрованное или скремблированное сообщение, полученное путем применения алгоритма к текстовому сообщению с использованием ключа.
Алгоритм дешифрования — этот алгоритм генерирует зашифрованный текст и соответствующий ключ для создания открытого текста.У отправителя и получателя должно быть одно и то же программное обеспечение. Получатель составляет пару ключей — открытый ключ и закрытый ключ (оба ключа можно разблокировать одним паролем). Открытый ключ может использоваться кем угодно с тем же программным обеспечением для шифрования сообщения. Открытые ключи могут свободно распространяться, не беспокоясь, поскольку они используются только для шифрования (шифрования) данных. Отправителю не нужен пароль получателя, чтобы использовать свой открытый ключ для шифрования данных. Другой ключ получателя — это закрытый ключ, который может использовать только он или она при расшифровке сообщения.Закрытый ключ никогда не должен распространяться, поскольку закрытый ключ гарантирует, что только предполагаемый получатель может расшифровать (расшифровать) данные, предназначенные для него или нее. Получатель может свободно распространять открытый ключ, не беспокоясь, поскольку он используется только для шифрования данных.
Чтобы лучше понять асимметричное шифрование, прочтите пример:
Например, Джек делает открытый ключ A и закрытый ключ A, а Джилл делает открытый ключ B и закрытый ключ B. Джек и Джилл обмениваются своими открытыми ключами.Как только они обменяются ключами, Джек может отправить зашифрованное сообщение Джилл, используя открытый ключ Джилл B, чтобы зашифровать сообщение. Джилл использует свой закрытый ключ B, чтобы расшифровать его. Если Джилл хочет отправить зашифрованное сообщение Джеку, она использует открытый ключ Джека A, чтобы зашифровать свое сообщение, которое Джек затем может расшифровать своим закрытым ключом A. Асимметричная криптография обычно медленнее выполняется в электронном виде, чем симметричная криптография. Некоторые асимметричные алгоритмы ключевые алгоритмы), такие как RSA, также позволяют процессу работать в противоположном направлении: сообщение может быть зашифровано с помощью закрытого ключа и расшифровано с помощью соответствующего открытого ключа.Если получатель хочет расшифровать сообщение с помощью открытого ключа Боба, он / она должен знать, что сообщение пришло от Боба, потому что ни у кого другого нет личного ключа отправителя. Так работают цифровые подписи.
Алгоритмы асимметричного шифрования:
— RSA
— DSA
— PGP
Асимметричное шифрование RSA
RSA — самый известный алгоритм асимметричного (открытого ключа) алгоритма, названный в честь его изобретателей: Ривеста, Шамира и Адлемана. RSA использует открытый и закрытый ключи, которые являются функциями пары больших простых чисел.Его безопасность основана на сложности факторизации больших целых чисел. Алгоритм RSA может использоваться как для шифрования с открытым ключом, так и для цифровых подписей. Ключи, используемые для шифрования и дешифрования в алгоритме RSA, генерируются с использованием случайных данных. Ключ, используемый для шифрования, — это открытый ключ, а ключ, используемый для дешифрования, — это закрытый ключ. Открытые ключи хранятся в любом общедоступном месте. Отправитель сообщения шифрует данные, используя открытый ключ, а получатель расшифровывает их, используя свой собственный закрытый ключ.Таким образом, никто, кроме получателя, не сможет перехватить данные.
DSA
Алгоритм цифровой подписи (DSA) — это стандарт федерального правительства США или FIPS для цифровых подписей. Он был предложен Национальным институтом стандартов и технологий (NIST) в августе 1991 года для использования в их стандарте цифровой подписи (DSS).
PGP
PGP (Pretty Good Privacy) — это система криптографии с открытым и закрытым ключом, которая позволяет пользователям более легко интегрировать использование шифрования в их повседневные задачи, такие как защита электронной почты и аутентификация, а также защита файлов, хранящихся на компьютере.PGP был первоначально разработан Филом Циммерманом. Он использует IDEA, CAST или Triple DES для фактического шифрования данных и RSA (с ключом длиной до 2048 бит) или DH / DSS (с ключом подписи 1024 бит и ключ шифрования 4096 бит) для управления ключами и цифровой подписи. Открытый ключ RSA или DH используется для шифрования секретного ключа IDEA как части сообщения.
Комбинация симметричного шифрования и асимметричного шифрования
Если нам нужны преимущества обоих типов алгоритмов шифрования, общая идея состоит в том, чтобы создать случайный симметричный ключ для шифрования данных, а затем асимметрично зашифровать этот ключ.После того, как ключ зашифрован асимметрично, мы добавляем его в зашифрованное сообщение. Получатель получает ключ, расшифровывает его своим закрытым ключом и использует его для расшифровки сообщения.
Симметричные и асимметричные алгоритмы шифрования
Симметричные алгоритмы шифрования шифруют и дешифруют одним и тем же ключом. Основными преимуществами симметричных алгоритмов являются их безопасность и высокая скорость. Алгоритмы асимметричного шифрования шифруют и дешифруют с разными ключами. Данные зашифрованы с помощью открытого ключа и дешифруются с помощью закрытого ключа.Алгоритмы асимметричного шифрования невероятно медленные, и их непрактично использовать для шифрования больших объемов данных. Как правило, симметричные алгоритмы шифрования намного быстрее выполняются на компьютере, чем асимметричные. На практике они часто используются вместе, так что алгоритм открытого ключа используется для шифрования случайно сгенерированного ключа шифрования, а случайный ключ используется для шифрования фактического сообщения с использованием симметричного алгоритма.
Разница между симметричным и асимметричным шифрованием
Симметричные алгоритмы шифрования используют один и тот же ключ для шифрования и дешифрования.Алгоритмы симметричного шифрования требуют, чтобы и отправитель, и получатель согласовали ключ, прежде чем они смогут безопасно обмениваться сообщениями. Алгоритмы асимметричного шифрования используют другой ключ для шифрования и дешифрования, и ключ дешифрования не может быть получен из ключа шифрования.
.
Шифрование — Шифрование и дешифрование
Шифрование — это преобразование данных в форму, называемую зашифрованным текстом. Существует два основных метода шифрования информации: симметричное шифрование (также называемое шифрованием с секретным ключом) и асимметричное шифрование (также называемое шифрованием с открытым ключом).
Как работает шифрование
Программа шифрования
использует алгоритм шифрования (сложные математические процессы) для шифрования и дешифрования данных. Алгоритм шифрования создает определенные строки данных, используемые для шифрования — ключи, которые состоят из длинных цепочек битов или двоичных чисел.Чем больше битов в ключе, тем больше количество возможных комбинаций двоичных чисел, затрудняющих взлом кода. Затем алгоритм шифрования скремблирует данные, комбинируя биты ключа с битами данных. При симметричном шифровании один и тот же ключ используется для шифрования (шифрования) и дескремблирования (дешифрования) данных. При шифровании с асимметричным ключом требуются два разных ключа — один для шифрования и один для дешифрования.
Зачем нужно шифрование
В наши дни, когда все больше и больше конфиденциальной информации хранится на компьютерах и передается через Интернет, нам необходимо обеспечить безопасность и сохранность информации.
Одним из наиболее распространенных способов использования шифрования является шифрование электронной почты. Отправка конфиденциальных сообщений, документов и файлов через Интернет похожа на отправку открытки, поскольку все электронные письма передаются в незащищенной форме. Это не зависит от того, отправляете ли вы электронные письма через общедоступные или частные сети. Ваше сообщение полностью открыто для перехвата кем угодно, так что любой — ваш интернет-провайдер, начальник и т. Д. Может прочитать ваши электронные письма. Даже если вы подключаетесь к своему серверу и отправляете электронные письма через SSL, это означает только то, что ваши электронные письма не могут быть видны при передаче между вами и вашим сервером.Когда ваша электронная почта достигает вашего сервера, ее может увидеть ваш поставщик услуг электронной почты. Затем ваш сервер обычно отправляет вашу электронную почту получателю незащищенным способом, и вашу электронную почту также может легко увидеть любой.
Частная сеть, в которой электронная почта отправляется непосредственно на почтовый сервер и остается там до тех пор, пока не будет получена, также не обеспечивает необходимый уровень безопасности, поскольку ваша электронная почта может быть видна, например администратором сети, вашим начальником и т. д.
Конечно, вы можете верить, что ваша личная электронная почта не содержит никакой личной информации, но у каждого есть что хранить в секрете от своей семьи, соседей или коллег.Это могут быть финансовые, сексуальные, социальные, политические или профессиональные секреты. На самом деле есть только один надежный способ защитить конфиденциальность вашей электронной почты — использовать шифрование.
Симметричное шифрование
Симметричное шифрование (также известное как шифрование с симметричным ключом, шифрование с одним ключом, шифрование с одним ключом и шифрование с закрытым ключом) — это тип шифрования, при котором один и тот же секретный ключ используется для шифрования и дешифрования информации или существует простое преобразование между два ключа.
Секретный ключ может быть числом, словом или просто цепочкой случайных букв.Секретный ключ применяется к информации для изменения содержимого определенным образом. Это может быть так же просто, как сдвигать каждую букву на определенное количество разрядов в алфавите. Симметричные алгоритмы требуют, чтобы и отправитель, и получатель знали секретный ключ, чтобы они могли зашифровать и расшифровать всю информацию.
Существует два типа симметричных алгоритмов: потоковые алгоритмы (потоковые шифры) и блочные алгоритмы (блочные шифры).
Типы симметричных алгоритмов (алгоритмы с симметричным ключом)
Симметричные алгоритмы (алгоритмы с симметричным ключом) используют один и тот же ключ для шифрования и дешифрования.Алгоритмы с симметричным ключом можно разделить на потоковые алгоритмы (потоковые шифры) и блочные алгоритмы (блочные шифры).
Потоковые шифры
Потоковые шифры шифруют биты информации по одному — работают с 1 битом (или иногда с 1 байтом) данных за раз (шифрование данных побитовое). Потоковые шифры быстрее и меньше в реализации, чем блочные шифры, однако у них есть важный пробел в безопасности. Если используется один и тот же ключевой поток, определенные типы атак могут привести к раскрытию информации.
Блочные шифры
Блочный шифр (метод шифрования данных в блоках) — это симметричный шифр, который шифрует информацию, разбивая ее на блоки и шифруя данные в каждом блоке. Блочный шифр шифрует данные блоками фиксированного размера (обычно 64 бита). Чаще всего используются блочные шифры Triple DES и AES.
Некоторые примеры алгоритмов симметричного шифрования:
— AES / Rijndael
— Blowfish
— CAST5
— DES
— IDEA
— RC2
— RC4
— RC6
— Serpent
— Triple DES
— Twofish
AES / шифрование Rijndael
AES расшифровывается как Advanced Encryption Standard.AES — это метод шифрования с симметричным ключом, который заменяет широко используемый стандарт шифрования данных (DES).
Это результат всемирного призыва к представлению алгоритмов шифрования, выпущенного Национальным институтом стандартов и технологий (NIST) правительства США в 1997 году и завершенного в 2000 году.
Победивший алгоритм, Rijndael, был разработан двумя бельгийскими криптологами Винсентом Риджмен и Джоан Дэемен. AES обеспечивает надежное шифрование и был выбран NIST в качестве федерального стандарта обработки информации в ноябре 2001 г. (FIPS-197).
Алгоритм AES использует ключи трех размеров: 128-, 192- или 256-битный ключ шифрования. Каждый размер ключа шифрования приводит к тому, что алгоритм ведет себя немного по-разному, поэтому увеличивающиеся размеры ключа не только предлагают большее количество битов, с помощью которых вы можете шифровать данные, но также увеличивают сложность алгоритма шифрования.
Blowfish
Blowfish — это алгоритм симметричного шифрования (64-битный шифр), разработанный в 1993 году Брюсом Шнайером в качестве альтернативы существующим алгоритмам шифрования.Blowfish имеет переменную длину ключа — от 32 бит до 448 бит. С тех пор Blowfish подвергся серьезному анализу и получает признание как надежный алгоритм шифрования.
КАСТ
CAST — это Карлайл Адамс и Стаффорд Таварес, изобретатели CAST. CAST — это популярный 64-битный блочный шифр, допускающий размер ключа до 128 бит.
Стандарт шифрования данных (DES)
Data Encryption Standard (DES) — это блочный шифр с размером блока 64-бит, использующий 56-битные ключи.DES был изобретен IBM более 20 лет назад в ответ на публичный запрос Национального бюро стандартов. Из-за недавних достижений в компьютерных технологиях некоторые эксперты больше не считают DES защищенным от всех атак; с тех пор Triple-DES (3DES) стал более сильным методом. Используя стандартное шифрование DES, Triple-DES шифрует данные три раза и использует другой ключ по крайней мере для одного из трех проходов, что дает совокупный размер ключа 112–168 бит.
ИДЕЯ
IDEA означает международный алгоритм шифрования данных.IDEA — это симметричный алгоритм шифрования, который был разработан доктором X. Лай и профессором Дж. Мэсси для замены стандарта DES. В отличие от DES, он использует 128-битный ключ. Такая длина ключа делает невозможным взлом, просто пробуя каждую клавишу.
RC2
RC2 — шифр с переменной длиной ключа. Он был изобретен Роном Ривестом для RSA Data Security, Inc. Его подробности не публиковались.
RC4
RC4 был разработан Роном Ривестом в 1987 году. Это потоковый шифр с переменным размером ключа.Это шифр с размером ключа до 2048 бит (256 байт).
RC6
RC6 — это блочный шифр с симметричным ключом, полученный из RC5. Он был разработан Роном Ривестом, Мэттом Робшоу, Рэем Сидни и Ицюном Лизой Инь в соответствии с требованиями конкурса Advanced Encryption Standard (AES). Алгоритм шифрования RC6 был выбран среди других финалистов, чтобы стать новым федеральным расширенным стандартом шифрования (AES).
Змей
Serpent — это блочный шифр, разработанный Россом Андерсоном, Эли Бихамом и Ларсом Кнудсеном.Serpent может работать с разными комбинациями длин клавиш. Serpent также был выбран среди других пяти финалистов, чтобы стать новым федеральным стандартом Advanced Encryption Standard (AES).
Тройной DES
Triple DES — это вариант стандарта шифрования данных (DES). Он использует 64-битный ключ, состоящий из 56 эффективных битов ключа и 8 битов четности. Размер блока для Triple-DES составляет 8 байтов. Triple-DES шифрует данные 8-байтовыми порциями. Идея Triple DES состоит в том, чтобы повысить безопасность DES путем трехкратного применения шифрования DES с использованием трех разных ключей.
Twofish
Twofish — симметричный блочный шифр. Twofish имеет размер блока 128 бит и принимает ключи любой длины до 256 бит. Алгоритм шифрования
Twofish был разработан Брюсом Шнайером, Джоном Келси, Крисом Холлом, Нильсом Фергюсоном, Дэвидом Вагнером и Дугом Уайтингом. Национальный институт стандартов и технологий (NIST) исследовал Twofish как одного из кандидатов на замену алгоритма шифрования DES.
Что такое уязвимости шифрования?
Взлом симметричного шифрования
Существует два метода взлома симметричного шифрования — грубая сила и криптоанализ.
Brute Force Attack — это форма атаки, в которой проверяется каждая возможность, пока не будет достигнут успех. Обычно зашифрованный текст дешифруется под разными ключами до тех пор, пока не будет распознан открытый текст. Нет программного обеспечения для шифрования, которое полностью защищено от метода грубой силы, но если количество возможных ключей достаточно велико, это может сделать программу астрономически сложной для взлома с использованием грубой силы. Но чем больше бит в ключе, тем он безопаснее, поэтому выбирайте программное обеспечение с как можно большим количеством битов.
Криптоанализ — это форма атаки, которая атакует характеристики алгоритма, чтобы вывести конкретный открытый текст или используемый ключ.
Слабые пароли
В любом виде программного обеспечения для шифрования необходимо создать какой-то пароль, чтобы получатели информации могли его прочитать. Создание надежного пароля, который нелегко угадать, так же важно, как и выбор хорошего алгоритма или надежного программного обеспечения для шифрования.
Запоминание паролей
Если вы забудете свой пароль, вы не сможете расшифровать данные, которые вы зашифровали.Обязательно сделайте резервную копию своего пароля и храните ее в надежном месте.
Обмен и хранение секретных ключей
Алгоритмы симметричного ключа требуют совместного использования секретного ключа — и отправителю, и получателю нужен один и тот же ключ для шифрования или дешифрования данных. Расшифровать сообщение может любой, кто знает секретный ключ. Поэтому очень важно, чтобы отправитель и получатель могли безопасно обмениваться секретными ключами. Слабость симметричных алгоритмов состоит в том, что при обнаружении секретного ключа все сообщения могут быть расшифрованы.Таким образом, секретный ключ необходимо регулярно менять и хранить в безопасности во время распространения и использования.
Асимметричное шифрование (шифрование с открытым ключом)
Асимметричное шифрование использует разные ключи для шифрования и дешифрования. Ключ дешифрования очень сложно получить из ключа шифрования. Ключ шифрования является открытым, поэтому любой может зашифровать сообщение. Однако ключ дешифрования является частным, поэтому только получатель может расшифровать сообщение. Обычно в сети создают «пары ключей», чтобы у каждого пользователя был открытый и закрытый ключ.Открытый ключ предоставляется всем, чтобы они могли отправлять сообщения, но закрытый ключ доступен только тому человеку, которому он принадлежит.
Как работает асимметричное шифрование (шифрование с открытым ключом):
Отправитель и получатель должны иметь одинаковое программное обеспечение. Получатель составляет пару ключей — открытый ключ и закрытый ключ (оба ключа можно разблокировать одним паролем). Открытый ключ может использоваться кем угодно с тем же программным обеспечением для шифрования сообщения.Открытые ключи могут свободно распространяться, не беспокоясь, поскольку они используются только для шифрования (шифрования) данных. Отправителю не нужен пароль получателя, чтобы использовать свой открытый ключ для шифрования данных. Другой ключ получателя — это закрытый ключ, который может использовать только он или она при расшифровке сообщения. Закрытый ключ никогда не должен распространяться, поскольку закрытый ключ гарантирует, что только предполагаемый получатель может расшифровать (расшифровать) данные, предназначенные для него или нее.
Чтобы лучше понять асимметричное шифрование, прочтите пример:
Например, Джек делает открытый ключ A и закрытый ключ A, а Джилл делает открытый ключ B и закрытый ключ B.Джек и Джилл обмениваются открытыми ключами. Как только они обменяются ключами, Джек может отправить зашифрованное сообщение Джилл, используя открытый ключ Джилл B, чтобы зашифровать сообщение. Джилл использует свой закрытый ключ B, чтобы расшифровать его. Если Джилл хочет отправить зашифрованное сообщение Джеку, она использует открытый ключ Джека A для шифрования своего сообщения, которое Джек затем может расшифровать своим закрытым ключом A. Асимметричная криптография обычно медленнее выполняется в электронном виде, чем симметричная криптография.
Некоторые асимметричные алгоритмы (алгоритмы с открытым ключом), такие как RSA, позволяют процессу работать и в обратном направлении: сообщение может быть зашифровано с помощью закрытого ключа и расшифровано с помощью соответствующего открытого ключа.Если получатель хочет расшифровать сообщение с помощью открытого ключа Боба, он / она должен знать, что сообщение пришло от Боба, потому что ни у кого другого нет личного ключа отправителя. Так работают цифровые подписи.
Некоторые примеры популярных алгоритмов асимметричного шифрования:
— RSA
— DSA
— PGP
Шифрование RSA
RSA — самый известный алгоритм с открытым ключом, названный в честь его изобретателей: Ривеста, Шамира и Адлемана. RSA использует открытый и закрытый ключи, которые являются функциями пары больших простых чисел.Его безопасность основана на сложности факторизации больших целых чисел. Алгоритм RSA может использоваться как для шифрования с открытым ключом, так и для цифровых подписей. Ключи, используемые для шифрования и дешифрования в алгоритме RSA, генерируются с использованием случайных данных. Ключ, используемый для шифрования, — это открытый ключ, а ключ, используемый для дешифрования, — это закрытый ключ. Открытые ключи хранятся в любом общедоступном месте. Отправитель сообщения шифрует данные, используя открытый ключ, а получатель расшифровывает их, используя свой собственный закрытый ключ.Таким образом, никто, кроме получателя, не сможет перехватить данные.
DSA
Алгоритм цифровой подписи (DSA) — это стандарт федерального правительства США или FIPS для цифровых подписей. Он был предложен Национальным институтом стандартов и технологий (NIST) в августе 1991 года для использования в их стандарте цифровой подписи (DSS).
PGP
PGP (Pretty Good Privacy) — это система криптографии с открытым и закрытым ключом, которая позволяет пользователям более легко интегрировать использование шифрования в их повседневные задачи, такие как защита электронной почты и аутентификация, а также защита файлов, хранящихся на компьютере.PGP был первоначально разработан Филом Циммерманом. Он использует IDEA, CAST или Triple DES для фактического шифрования данных и RSA (с ключом длиной до 2048 бит) или DH / DSS (с ключом подписи 1024 бит и ключ шифрования 4096 бит) для управления ключами и цифровой подписи. Открытый ключ RSA или DH используется для шифрования секретного ключа IDEA как части сообщения.
Сочетание симметричного шифрования и асимметричного шифрования
Если нам нужны преимущества обоих типов алгоритмов шифрования, общая идея состоит в том, чтобы создать случайный симметричный ключ для шифрования данных, а затем зашифровать этот ключ асимметрично.После того, как ключ зашифрован асимметрично, мы добавляем его в зашифрованное сообщение. Получатель получает ключ, расшифровывает его своим закрытым ключом и использует его для расшифровки сообщения.
.