Алгоритмы шифрования данных: Алгоритмы шифрования данных | Статья в журнале «Молодой ученый»

Содержание

Алгоритмы шифрования данных | Статья в журнале «Молодой ученый»

Библиографическое описание:

Иванов, К. К. Алгоритмы шифрования данных / К. К. Иванов, Р. Н. Юрченко, А. С. Ярмонов. — Текст : непосредственный // Молодой ученый. — 2016. — № 29 (133). — С. 18-20. — URL: https://moluch.ru/archive/133/37180/ (дата обращения: 20.12.2020).



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

Для предотвращения подобного исхода применяется шифрование данных.

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

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

Для того чтобы решить столь серьезную проблему, были разработаны специальные алгоритмы шифрования. Структурно эти алгоритмы можно разделить на три группы: бесключевые, одноключевые и двухключевые (см. рисунок 1) [1]. Бесключевые алгоритмы не используют ключи в процессе шифрования, одноключевые используют один ключ, а двухключевые — два ключа. Двухключевые алгоритмы считаются наиболее надежными, однако они более сложны и трудоёмки в использовании.

Рис. 1. Структурное разделение алгоритмов шифрования

Как видно из рисунка 1, некоторые типы алгоритмов могут относиться сразу к нескольким группам. Так, например, хэш-функции (выполняющие контрольное суммирование данных) могут выполняться как с ключом (причем с одним), так и без него. Хэш-функции получили широкое распространение из-за своей относительной простоты и низкой потребности ресурсов и используется, например, тогда, когда необходимо подтвердить целостность данных.

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

1) Каждый пользователь владеет уникальным ключом шифрования, который также знает и система;

2) При попытке входа в систему сервер генерирует случайное число, которое после генерации отправляет пользователю;

3) Используя свой уникальный ключ шифрования, пользователь шифрует полученное число и отправляет серверу уже зашифрованное число;

4) Сервер расшифровывает полученное число (или зашифровывает исходное), используя ключ шифрования пользователя, хранящейся в системе;

5) Если результаты совпадают, то пользователь получает доступ к системе, в противном же случае он получит отказ на получение доступа.

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

Алгоритмы симметричного шифрования являются базовыми, так как в них шифрование и дешифрование производится по одному ключу (или один ключ можно легко получить из другого). Эти алгоритмы делятся на использующие блочное шифрование и использующие потоковое шифрование. При блочном шифровании весь массив данных делится на блоки определенной фиксированной длины (чаще всего используются блоки по 64 или 128 бит), которая равна длине ключа шифрования. Соответственно, каждый полученный блок шифруется отдельно ключом, причем этот ключ может меняться для разных блоков, например, в зависимости от результата шифрования предыдущего блока. В свою очередь, при потоковом шифровании шифруется отдельно каждый бит данных. Можно сказать, что потокового шифрования как такового не существует — оно всего лишь является частным случаем блочного шифрования, когда длина блока равна одному биту. Стоит отметить, что алгоритмы симметричного шифрования представляют собой наиболее обширную категорию алгоритмов шифрования.

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

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

1) Один пользователь имеет открытый ключ шифрования, а другой — секретный;

2) Первый пользователь шифрует сообщение, используя открытый ключ, и передает его второму;

3) Второй пользователь дешифрует полученное сообщение, используя секретный ключ.

Последними на очереди являются алгоритмы электронной подписи, которые «используют секретный ключ для вычисления электронной цифровой подписи данных, а вычисляемый из него открытый — для ее проверки» [1].

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

Литература:

  1. Панасенко, С. П. Алгоритмы шифрования. Специальный справочник. / С.П Панасенко. — СПб.: БХВ-Петербург, 2009. — 576 с.: ил.

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

Алгоритмы шифрования данных – как придумать свой шифр

10 вопросов и ответов по криптографии

Алексей Раевский

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

  1. Что такое криптография?

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

  2. Что такое алгоритм шифрования?

  Алгоритм шифрования — это набор логических правил, определяющих процесс преобразования информации из открытого состояния в зашифрованное (зашифровывание) и, наоборот, из зашифрованного состояния в открытое (расшифровывание).

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

  3. Как с помощью шифрования защищаются данные?

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

  4. Какой алгоритм шифрования самый стойкий?

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

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

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

  5. Что такое ключ шифрования?

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

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

  Ключ шифрования имеет одну существенную характеристику — длину, которая, как правило, измеряется в битах.

  6. Какие бывают алгоритмы шифрования?

  Алгоритмы шифрования делятся на два больших класса — симметричные и асимметричные (или несимметричные).

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

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

  Примеры симметричных алгоритмов шифрования — DES, RC4, RC5, AES, CAST.

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

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

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

  Примеры асимметричных алгоритмов шифрования — RSA, El-Gamal.

  7. Как взламывают алгоритмы шифрования?

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

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

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

  8. Какова должна быть длина ключа шифрования?

  На сегодняшний день для симметричных алгоритмов шифрования достаточной длиной ключа шифрования считается 128 бит (16 байт). Для полного перебора всех возможных ключей длиной 128 бит (атака brute force) за один год необходимо наличие 4,2х1022 процессоров производительностью 256 миллионов операций шифрования в секунду. Стоимость такого количества процессоров составляет 3,5х1024 долларов США (по данным Bruce Schneier, Applied Cryptography).

  Существует международный проект distributed.net, целью которого является объединение пользователей Интернет для создания виртуального распределенного суперкомпьютера, занимающегося перебором ключей шифрования. Последний проект по взлому ключа 64 бит был завершен в течение 1757 дней, в нем приняло участие более трехсот тысяч пользователей, а вычислительная мощность всех компьютеров проекта была эквивалентна почти 50.000 процессорам AMD Athlon XP с тактовой частотой 2 ГГц.

  При этом следует учитывать, что увеличение длины ключа шифрования на один бит увеличивает количество значений ключа, а, следовательно, и время перебора, в два раза. То есть, исходя из вышеприведенных цифр, за время 1757 * 2 дней можно взломать не 128-битный ключ, как может показаться на первый взгляд, а всего лишь 65-битный.

  9. Я слышал о ключах шифрования 1024 и даже 2048 бит, а вы говорите, что 128 бит вполне достаточно. Что это значит?

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

  10. Может ли ФСБ (ФАПСИ, АНБ, ЦРУ) прочитать мои зашифрованные данные, используя свои суперкомпьютеры и супертехнологии?

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

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

  Для иллюстрации этого утверждения можно привести исторический пример. Во время второй мировой войны британскому премьер-министру Уинстону Черчиллю в результате перехвата и дешифровки немецких сообщений стало известно о предстоящей бомбардировке города Ковентри. Несмотря на это, он не принял никаких мер, чтобы противник не узнал о том, что британская разведка может дешифровать их сообщения. В результате, в ночь с 14 на 15 ноября 1940 года Ковентри был разрушен немецкой авиацией, погибло большое количество мирных жителей. Таким образом, для Черчилля цена разглашения информации о том, что он может дешифровать немецкие сообщения, оказалась выше цены нескольких тысяч человеческих жизней.

Симметричное шифрование

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

Принцип работы

Сим­мет­рич­ное шиф­ро­ва­ние рабо­та­ет так:

  1. Есть дан­ные, кото­рые нуж­но зашифровать. 
  2. Есть ключ шиф­ро­ва­ния. С его помо­щью дан­ные шиф­ру­ют­ся по какому-то алгоритму.
  3. Тот, кто обла­да­ет клю­чом и зна­ет алго­ритм, может рас­шиф­ро­вать сообщение
  4. Если не знать клю­ча, то рас­шиф­ро­вать дан­ные почти невоз­мож­но. Поче­му почти — рас­ска­жем в ста­тье про криптостойкость.

Сло­во «сим­мет­рич­ный» свя­за­но с тем, что для шиф­ро­ва­ния и рас­шиф­ров­ки нужен один и тот же ключ. Клю­чом может быть что угод­но: чис­ло, сло­во, фра­за, фраг­мент тек­ста или файл. Выбор клю­ча зави­сит от спо­со­ба шиф­ро­ва­ния, но общее пра­ви­ло в сим­мет­рич­ном шиф­ро­ва­нии такое: чем длин­нее ключ, тем слож­нее его взломать.

Алгоритмы шифрования

Сим­мет­рич­ное шиф­ро­ва­ние в общих чер­тах рабо­та­ет так:

  1. Берём ключ и дан­ные, кото­рые нуж­но зашифровать.
  2. С помо­щью мате­ма­ти­че­ских функ­ций и пре­об­ра­зо­ва­ний мы соеди­ня­ем ключ и дан­ные. Напри­мер, берём каж­дый байт сооб­ще­ния, умно­жа­ем на чис­ло из клю­ча и полу­ча­ем новое чис­ло. Так дела­ем с каж­дым бай­том исход­но­го сооб­ще­ния и на выхо­де полу­ча­ем зашиф­ро­ван­ные дан­ные — мас­сив из цифр.
  3. Эти дан­ные мож­но пере­да­вать по любо­му кана­лу свя­зи. Даже если их пере­хва­тят, то без клю­ча всё рав­но не прочитают.
  4. Полу­ча­тель берёт этот мас­сив из чисел, делит каж­дое на чис­ло из того же клю­ча и полу­ча­ет исход­ное сооб­ще­ние, кото­рое мож­но прочитать. 

Если этот ключ будет знать кто-то ещё, то он тоже смо­жет читать и отправ­лять такие сооб­ще­ния. А если ключ узна­ют все, то пере­пис­ка пере­ста­нет быть секретной.

👉 Пере­мно­же­ние — про­стой алго­ритм, кото­рый дав­но не исполь­зу­ет­ся в крип­то­гра­фии в чистом виде. Сей­час берут что-то намно­го более слож­ное: лога­риф­мы в конеч­ном про­стран­стве, фак­то­ри­за­цию и дру­гие мате­ма­ти­че­ские функции.

Простой пример

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

  1. Состав­ля­ем сооб­ще­ние на рус­ском языке.
  2. Берём ключ (чис­ло) и сдви­га­ем все сим­во­лы в сооб­ще­нии на это чис­ло. Напри­мер, если ключ равен трём, то А (1-я пози­ция) сдви­га­ет­ся на три пози­ции даль­ше по алфа­ви­ту и пре­вра­ща­ет­ся в Г (4-я пози­ция), Л пре­вра­ща­ет­ся в О и так далее. Если при сдви­ге мы выхо­дим за гра­ни­цу алфа­ви­та, то воз­вра­ща­ем­ся в нача­ло алфа­ви­та и про­дол­жа­ем отсчёт оттуда.
  3. Таким спо­со­бом шиф­ру­ем всё сооб­ще­ние, бук­ва за буквой.
  4. Отда­ём шиф­ров­ку другу.
  5. Он берёт каж­дый сим­вол и сдви­га­ет его на три пози­ции назад по алфа­ви­ту. В ито­ге у него все бук­вы вер­нут­ся на свои места и полу­чит­ся тот текст, кото­рый мы отправляли.

Если взять ключ 10 и зашиф­ро­вать им фра­зу «При­вет, это жур­нал Код!», то полу­чит­ся так:

Щът­лоь, жьш рэъ­чйх Фшн! 

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

👉 Алго­ритм из наше­го при­ме­ра назы­ва­ет­ся шиф­ром Цеза­ря, пото­му что так рим­ский импе­ра­тор шиф­ро­вал важ­ные сооб­ще­ния сво­им генералам.

Плюсы и минусы симметричного шифрования

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

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

Симметричное шифрование в жизни

Почти всё обще­ние в совре­мен­ных мес­сен­дже­рах постро­е­но на сим­мет­рич­ном шифровании.

Все наши бан­ков­ские пла­те­жи, пере­во­ды и онлайн-оплата тоже шиф­ру­ет­ся сим­мет­рич­ным методом. 

Когда мы ста­вим замок на дверь и даём ключ всем жиль­цам — это тоже сим­мет­рич­ное шиф­ро­ва­ние. Замок — это шифр, а ключ — это ключ рас­шиф­ров­ки. Если вста­вить не тот ключ, то ниче­го не про­изой­дёт. Открыть дверь мож­но толь­ко тем клю­чом, кото­рый был от это­го зам­ка, и сде­лать это может толь­ко тот, у кого есть этот ключ.

Любая защи­щён­ная линия свя­зи, от пра­ви­тель­ствен­ной до част­ной, исполь­зу­ет сим­мет­рич­ное шифрование.

Что дальше

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

Текст:
Миша Поля­нин

Редак­тор:
Мак­сим Ильяхов

Кор­рек­тор:
Ира Михе­е­ва

Иллю­стра­тор:
Даня Бер­ков­ский

Вёрст­ка:
Маша Дро­но­ва

Достав­ка:
Олег Веш­кур­цев

алгоритмов шифрования — что это такое и как они защищают ваши данные?

Алгоритм шифрования — это умный способ сохранить конфиденциальность и безопасность данных. Шифрование работает путем кодирования сообщения двумя ключами: одним для кодирования, а другим — для дешифрования. Это означает, что только отправитель и получатель могут прочитать сообщение. Это то, что WhatsApp использует для защиты данных во время передачи. Если кто-то дойдет до этого, он не сможет понять этого.

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

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

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

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

Если вы хотите получить безопасную VPN и хотите узнать больше о том, как работает шифрование, вот несколько часто используемых алгоритмов:

TripleDES, также известный как DES / 3DES

Это алгоритм шифрования, называемый Стандарт шифрования данных, который впервые был использован U.Правительство С. в конце 1970-х гг. Он обычно используется в банкоматах (для шифрования PIN-кодов) и используется для шифрования паролей UNIX.

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

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

Blowfish

Blowfish — это незапатентованный симметричный блочный шифр, который можно использовать бесплатно. Он был разработан Брюсом Шнайером и представлен в 1993 году.

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

Лучшие веб-браузеры | Лучший антивирус | Лучшее программное обеспечение для шифрования

AES

Расширенный стандарт шифрования (AES) или Rijndael использует блочный шифр Rijndael, одобренный Национальным институтом стандартов и технологий (NIST).Таким образом, это надежный стандарт, используемый правительством США с 2000 года, когда он заменил DES.

Twofish

Twofish — это блочный шифр, разработанный Брюсом Шнайером — да, тот же самый, что придумал Blowfish. Это следующее поколение этого творения, связанное как с Blowfish, так и с AES.

Он был одним из пяти финалистов Advanced Encryption Standard (AES), не имеет патента и имеет открытый исходный код. Возможные размеры блока: 128 или 256 бит. Это считается очень безопасным шифром, но он не такой быстрый, как некоторые другие, поэтому он не выбран в качестве передового стандарта шифрования.

IDEA

Шифр ​​международного алгоритма шифрования данных (IDEA) использовался в версии 2 Pretty Good Privacy (PGP) и является дополнительным алгоритмом в OpenPGP. IDEA содержит 64-битные блоки с 128-битным ключом. Это означает, что он выполняет восемь идентичных раундов для шифрования, в которых используются шесть разных подключей с четырьмя ключами для преобразования вывода.

Все это означает, что это надежный алгоритм, который не имеет патентов с 2012 года, что делает его доступным для всех.

MD5

MD5 был разработан профессором Рональдом Риверстом в 1991 году и использовался для создания цифровых подписей. Он заменил алгоритм MD4 и использует 128-битное хеш-значение для 512-битных блоков.

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

SHA 1

SHA 1 — это алгоритм хеширования, аналогичный MD5, но SHA 1 в значительной степени заменяет MD5, поскольку обеспечивает большую безопасность.Он был разработан Агентством национальной безопасности США и является Федеральным стандартом обработки информации США.

Однако с тех пор он показал множество слабых мест для атак, и в 2011 году NIST официально отказался от его использования. В 2013 году его использование для электронных подписей было запрещено. Все основные веб-браузеры прекратили использование SHA 1 в 2017 году.

HMAC

Это метод хеширования, аналогичный MD5 и SHA 1, иногда называемый HMAC MD5 и HMAC SHA1. Несмотря на то, что это небезопасно с использованием MD5, текущие атаки на HMAC-MD5, похоже, не обнаруживают никаких уязвимостей.

Это не шифрует само сообщение, а скорее отправляется вместе с ним для хеширования для поиска подлинных совпадений.

RSA Security

Это шифрование с открытым ключом, стандарт, используемый для отправки данных через Интернет. Поскольку он использует пару ключей, он классифицируется как асимметричный, с открытым ключом, используемым для шифрования, и закрытым ключом для дешифрования сообщений. Это непростой код для взлома.

  • RC4 RC4 — это потоковый шифр с переменным размером ключа, основанный на использовании случайной перестановки.
  • RC5 Это параметризованный алгоритм с переменным блоком, размером ключа и количеством раундов.
  • RC6 Это эволюция RC5, это также параметризованный алгоритм с переменным блоком, ключом и несколькими циклами. Этот алгоритм имеет целочисленное умножение и 4-битные рабочие регистры.

алгоритмов шифрования

алгоритмов шифрования



Описание:

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

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


Глоссарий:

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

Блочный шифр.
Эти алгоритмы работают с блоками данных определенного размера вместе с ключом, что приводит к блокам зашифрованного текста. Национальный институт стандартов и технологий (NIST) — федеральное агентство. который утвердил блочный шифр стандарта шифрования данных (DES) — ранний алгоритм шифрования, созданный в середине 1970-х годов. Американский национальный институт стандартов (ANSI) также установил этот алгоритм безопасности в качестве стандарта алгоритма шифрования данных (DEA).Другой стандарт, разработанный в 1980-х, — это стандарт тройного шифрования данных (3DES). Некоторые часто используемые алгоритмы блочного шифрования: IDEA, RC2, RC5, CAST и Skipjack.

CBC, Cipher Block Chaining.
Режим шифрования.

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

CCM, Счетчик с CBC-MAC.
Режим шифрования. Общий режим блочного шифрования с аутентификацией. Этот режим определен для использования с 128-битными блочными шифрами, такими как AES.

CFB, Cipher FeedBack.
Режим шифрования.

Китайская лотерея.
Криптографический подход к взлому алгоритмов шифрования с использованием большого количества машин в Интернете.

  • [RFC 3607] Пересмотр криптоанализа китайской лотереи: Интернет как инструмент взлома кода.

Алгоритм шифрования.
Механизм, используемый для шифрования или дешифрования сообщения.

Шифрованный текст.
Результирующее зашифрованное сообщение, созданное алгоритмом шифрования.

CTR, счетчик.
Режим шифрования.

Расшифровка.
Процесс распознавания зашифрованного сообщения с помощью алгоритма шифрования.

ECB, Электронная кодовая книга.
Режим шифрования.

Шифрование.
Процесс создания сообщения нераспознаваемым с помощью алгоритма шифрования.

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

OFB, выходная обратная связь.
Режим шифрования.

Обычный текст.
Незашифрованное сообщение.

Закрытый ключ.
(RFC 2828) Секретный компонент пары криптографических ключей, используемых для асимметричной криптографии. В криптосистеме с открытым ключом тот ключ пары ключей пользователя, который известен только этому пользователю.

Открытый ключ
Открытый ключ, которым шифруется сообщение.(RFC 2828) Общедоступный компонент пары криптографических ключей, используемых для асимметричной криптографии. В криптосистеме с открытым ключом — тот ключ пары ключей пользователя, который является публично известным.

Шифрование с открытым ключом.
Механизм шифрования, в котором используются два ключа. Открытый ключ используется для шифрования сообщения, а секретный закрытый ключ — для расшифровки сообщения.

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

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

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

Симметричный алгоритм шифрования.
Ключ шифрования и ключ дешифрования взаимосвязаны и даже могут быть одинаковыми.


3DES.
Алгоритм блочного шифрования.


AES, расширенный стандарт шифрования.
Алгоритм блочного шифрования.

ARIA.
Алгоритм блочного шифрования.


Blowfish.
Алгоритм блочного шифрования.


Камелия.
Алгоритм блочного шифрования.

CAST.
Алгоритм блочного шифрования.

CLEFIA.
Алгоритм блочного шифрования.

CMAC.
Алгоритм блочного шифрования.


DES, Стандарт шифрования данных.
Алгоритм блочного шифрования.


ГОСТ 28147.
Алгоритм симметричного шифра.

[RFC 4357] Дополнительные криптографические алгоритмы для использования с ГОСТ 28147-89, ГОСТ Р 34.10-94, ГОСТ Р 34.10-2001, ГОСТ Р 34.11-94 Алгоритмы.

[RFC 4490] Использование алгоритмов с криптографическим синтаксисом сообщений (CMS) по ГОСТ 28147-89, ГОСТ Р 34.11-94, ГОСТ Р 34.10-94 и ГОСТ Р 34.10-2001.

  • Категория: Дорожка стандартов.

IDEA, Международный алгоритм шифрования данных.
Алгоритм блочного шифрования.

  • [RFC 3058] Использование алгоритма шифрования IDEA в CMS.

Марс.
Алгоритм блочного шифрования.

MISTY1.
Алгоритм блочного шифрования.


Кролик.
Алгоритм потокового шифрования.

RC2.
Алгоритм блочного шифрования.

RC4.
Алгоритм потокового шифрования. Запатентованный алгоритм шифрования доступен по лицензии RSA Data Security Inc.

RC5.
Алгоритм блочного шифрования.

RC6.

Rijndael.
Алгоритм блочного шифрования. Алгоритм победы в конкурсе AES.


СЕМЕНА.
Алгоритм блочного шифрования.

СКИПДЖЕК.
Алгоритм блочного шифрования.

  • [RFC 2876] Использование алгоритмов KEA и SKIPJACK в CMS.

SOBER.
Алгоритм потокового шифрования.


Twofish.
Алгоритм блочного шифрования.


W7.
Алгоритм потокового шифрования. Шифр синхронного потока шириной в байт, оптимизированный для эффективной аппаратной реализации при очень высоких скоростях передачи данных. Это алгоритм с симметричным ключом, поддерживающий длину ключа 128 бит.


RFC:

[RFC 3766] Определение сильных сторон открытых ключей, используемых для обмена симметричными ключами.

[RFC 4107] Рекомендации по управлению криптографическими ключами.

[RFC 4270] Атаки на криптографические хэши в интернет-протоколах.


Публикации:


Устаревшие RFC:



5 распространенных типов шифрования и почему не следует создавать собственные

О шифровании часто говорят в новостях, но, как правило, оно является объектом дезинформированной государственной политики или частично виновным в зверствах террористов.

Не верьте этим 5 мифам о шифровании!

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

Это игнорирует важность шифрования.Подавляющее большинство интернет-сервисов используют шифрование для защиты вашей информации.

Шифрование, однако, понять довольно сложно.Существует множество типов, и они используются по-разному. Тогда как узнать, какой тип шифрования является «лучшим»?

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

Типы шифрования vs.Сила шифрования

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

  • Тип шифрования: Тип шифрования определяет способ завершения шифрования.Например, асимметричная криптография — один из наиболее распространенных типов шифрования в Интернете.
  • Алгоритм шифрования: Когда мы говорим о силе шифрования, мы говорим о конкретном алгоритме шифрования. Алгоритмы являются источником интересных имен, таких как Triple DES, RSA или AES. Имена алгоритмов шифрования часто сопровождаются числовыми значениями, например AES-128. Число относится к размеру ключа шифрования и дополнительно определяет надежность алгоритма.

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

5 самых распространенных алгоритмов шифрования

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

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

1.Стандарт шифрования данных (DES)

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

Джон Гилмор, соучредитель EFF, возглавлявший проект Deep Crack, сказал: «При разработке безопасных систем и инфраструктуры для общества прислушивайтесь к криптографам, а не к политикам.«Он предупредил, что рекордное время для взлома DES должно стать« тревожным звонком »для всех, кто полагается на DES для сохранения конфиденциальности данных.

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

2.ТройнойDES

TripleDES (иногда обозначаемый как 3DES или TDES) — это более новая и более безопасная версия DES.Когда DES был взломан менее чем за 23 часа, правительство осознало, что на его пути стоит серьезная проблема. Так родился TripleDES. TripleDES увеличивает объем процедуры шифрования, выполняя DES трижды.

Данные шифруются, дешифруются и затем снова шифруются, что дает эффективную длину ключа 168 бит.Этого достаточно для большинства конфиденциальных данных. Однако, хотя TripleDES сильнее стандартного DES, у него есть свои недостатки.

TripleDES имеет три варианта кодирования :

  • Вариант клавиш 1: Все три клавиши независимы.Этот метод предлагает самую высокую стойкость ключа: 168-битный.
  • Вариант ключей 2: Ключ 1 и Ключ 2 независимы, а Ключ 3 такой же, как Ключ 1. Этот метод предлагает эффективную силу ключа 112 бит (2×56 = 112).
  • Вариант клавиш 3: Все три клавиши одинаковы. Этот метод предлагает 56-битный ключ.

Вариант ключа 1 — самый сильный.Вариант 2 с ключом не такой надежный, но все же предлагает большую защиту, чем простое двойное шифрование с помощью DES. TripleDES — это блочный шифр, означающий, что данные шифруются одним фиксированным размером блока за другим. К сожалению, размер блока TripleDES невелик и составляет 64 бита, что делает его несколько уязвимым для определенных атак (например, столкновения блоков).

3.RSA

RSA (названный в честь его создателей Рона Ривеста, Ади Шамира и Леонарда Адлемана) — один из первых криптографических алгоритмов с открытым ключом.Он использует функцию одностороннего асимметричного шифрования, описанную в ранее связанной статье.

Многие аспекты Интернета широко используют алгоритм RSA.Это основная функция многих протоколов, включая SSH, OpenPGP, S / MIME и SSL / TLS. Кроме того, браузеры используют RSA для установления защищенной связи в небезопасных сетях.

RSA остается невероятно популярным из-за длины ключа.Ключ RSA обычно имеет длину 1024 или 2048 бит. Однако эксперты по безопасности полагают, что вскоре будет взломан 1024-битный RSA, что побудит многочисленные правительственные и коммерческие организации перейти на более надежный 2048-битный ключ.

4.Расширенный стандарт шифрования (AES)

Advanced Encryption Standard (AES) теперь является надежным стандартом шифрования правительства США.

Он основан на алгоритме Rijndael, разработанном двумя бельгийскими криптографами, Joan Daemen и Vincent Rijmen.Бельгийские криптографы представили свой алгоритм в Национальный институт стандартов и технологий (NIST) вместе с 14 другими, претендующими на звание официального преемника DES. Rijndael «победил» и был выбран в качестве предложенного алгоритма AES в октябре 2000 года.

AES — это алгоритм с симметричным ключом, использующий симметричный блочный шифр.Он состоит из ключей трех размеров: 128, 192 или 256 бит. Кроме того, для каждого размера ключа существуют разные раунды шифрования.

Раунд — это процесс преобразования открытого текста в зашифрованный текст.Для 128-битных есть 10 раундов. 192-битный имеет 12 раундов, а 256-битный — 14 раундов.

Существуют теоретические атаки на алгоритм AES, но все они требуют уровня вычислительной мощности и хранения данных, что просто невозможно в нынешнюю эпоху.Например, для одной атаки требуется около 38 триллионов терабайт данных — больше, чем все данные, хранящиеся на всех компьютерах в мире в 2016 году. По другим оценкам, общее время, необходимое для подбора ключа AES-128, составляет миллиарды лет.

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

5.Twofish

Twofish был финалистом конкурса Advanced Encryption Standard от Национального института стандартов и технологий, но проиграл Rijndael.Алгоритм Twofish работает с ключами размером 128, 196 и 256 бит и имеет сложную структуру ключей, которая затрудняет взлом.

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

Он присутствует в некоторых из лучших бесплатных программ для шифрования, таких как VeraCrypt (шифрование дисков), PeaZip (файловые архивы) и KeePass (управление паролями с открытым исходным кодом), а также в стандарте OpenPGP.

Почему бы не сделать свой собственный алгоритм шифрования?

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

Но как насчет создания доморощенного алгоритма шифрования? Сохраняет ли безопасная частная система ваши данные? Короче нет ! Или, может быть, лучше сказать нет, но…

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

Возьмем, к примеру, алгоритм AES:

  • В сентябре 1997 года NIST призвал к разработке новых алгоритмов шифрования.
  • К августу 1998 года NIST получил 15 потенциальных алгоритмов AES.
  • На конференции в апреле 1999 года NIST выбрал пять алгоритмов-финалистов: MARS, RC6, Rijndael, Serpent и Twofish.
  • NIST продолжал тестировать и получать комментарии и инструкции от криптографического сообщества до мая 2000 года.
  • В октябре 2000 года NIST подтвердил, что Rijndael является перспективным AES, после чего начался еще один период консультаций.
  • Rijndael, как AES, был опубликован в качестве Федерального стандарта обработки информации в ноябре 2001 года. Подтверждение начало валидационное тестирование в рамках Программы валидации криптографических алгоритмов.
  • AES стал официальным стандартом шифрования федерального правительства в мае 2002 года.

У вас нет ресурсов для создания надежного алгоритма

Итак, вы видите, что создание действительно безопасного, долговечного и мощного шифрования требует времени и глубокого анализа со стороны некоторых из самых влиятельных организаций по безопасности на планете.Или, как говорит Брюс Шнайер:

«Любой может изобрести алгоритм шифрования, который он сам не сможет взломать; гораздо сложнее изобрести такой, который никто другой не сможет взломать.»

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

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

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

Используйте шифрование и не изобретайте колесо заново

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

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

Вы знаете, что такое корневой сертификат и как он может помочь вам безопасно просматривать веб-страницы?

5 лучших кастомных прошивок для Android, которые все еще стоит попробовать

Хотите установить новую версию Android на свой телефон? Вот лучшие пользовательские прошивки для Android, которые вы можете попробовать сегодня.

Справочник по алгоритмам SDK шифрования AWS

Информация на этой странице является справочником по созданию собственного шифрования. библиотека, совместимая с AWS Encryption SDK.Если вы не строите свой своя совместимая библиотека шифрования, скорее всего, эта информация вам не понадобится.

Чтобы использовать AWS Encryption SDK на одном из поддерживаемых языков программирования, см. Раздел Языки программирования.

Для спецификации, определяющей элементы надлежащей реализации AWS Encryption SDK, см. спецификацию AWS Encryption SDK Specification в репозитории aws-encryption-sdk-спецификаций на GitHub.

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

AWS Encryption SDK поддерживает следующие наборы алгоритмов. Все алгоритмы AES-GCM в люксах есть 12-байтовый вектор инициализации и 16-байтовый AES-GCM тег аутентификации. Набор алгоритмов по умолчанию зависит от AWS Encryption SDK. версия и выбранная политика ключевых обязательств.Подробнее см. Политика обязательств и набор алгоритмов.

Идентификатор алгоритма Версия формата сообщения Алгоритм шифрования Длина ключа данных (биты) Алгоритм получения ключа Алгоритм подписи Алгоритм передачи ключей Длина данных набора алгоритмов (байты)
05 78 0x02 AES-GCM 256 HKDF с SHA-512 ECDSA с P-384 и SHA-384 HKDF с SHA-512 32 (ключевое обязательство)
04 78 0x02 AES-GCM 256 HKDF с SHA-512 Нет HKDF с SHA-512 32 (ключевое обязательство)
03 78 0x01 AES-GCM 256 HKDF с SHA-384 ECDSA с P-384 и SHA-384 Нет НЕТ
03 46 0x01 AES-GCM 192 HKDF с SHA-384 ECDSA с P-384 и SHA-384 Нет НЕТ
02 14 0x01 AES-GCM 128 HKDF с SHA-256 ECDSA с P-256 и SHA-256 Нет НЕТ
01 78 0x01 AES-GCM 256 HKDF с SHA-256 Нет Нет НЕТ
01 46 0x01 AES-GCM 192 HKDF с SHA-256 Нет Нет НЕТ
01 14 0x01 AES-GCM 128 HKDF с SHA-256 Нет Нет НЕТ
00 78 0x01 AES-GCM 256 Нет Нет Нет НЕТ
00 46 0x01 AES-GCM 192 Нет Нет Нет НЕТ
00 14 0x01 AES-GCM 128 Нет Нет Нет НЕТ
Идентификатор алгоритма

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

Версия формата сообщения

Версия формата сообщения.Наборы алгоритмов с ключевым сообщением об использовании обязательств формат версии 2 (0x02). Наборы алгоритмов без ключевого обязательства используют формат сообщения версия 1 (0x01).

Длина данных набора алгоритмов

Длина в байтах данных, специфичных для набора алгоритмов.Это поле поддерживается только в формате сообщения версии 2 (0x02). В формате сообщения версии 2 (0x02) это данные появляется в поле данных набора алгоритмов заголовка сообщения. Алгоритм наборы, которые поддерживают ключевую приверженность, используют 32 байта для строка ключевого обязательства.Для получения дополнительной информации см. Ключевые обязательства. алгоритм в этом списке.

Длина ключа данных

Длина ключа данных в битах.SDK для шифрования AWS поддерживает 256-битные, 192-битные и 128-битные ключи. Ключ данных генерируется связкой ключей или главным ключом.

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

Алгоритм шифрования

Имя и режим используемого алгоритма шифрования.Наборы алгоритмов в В AWS Encryption SDK используется алгоритм шифрования Advanced Encryption Standard (AES). с участием Режим Галуа / Счетчика (GCM).

Алгоритм передачи ключей

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

Техническое объяснение добавления фиксации ключа в набор алгоритмов см. В разделе Передача ключей AEAD в криптологии. Архив ePrint.

Алгоритм получения ключа

Основанная на HMAC функция извлечения и расширения ключа (HKDF), используемая для получения ключ шифрования данных.SDK AWS Encryption использует HKDF, определенный в RFC 5869.

Наборы алгоритмов без привязки ключа (идентификатор алгоритма 01xx 03xx )

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *