криптографический ключ что это
Ключ (криптография)
Согласно принципу Кeрхгоффса, надёжность криптографической системы должна определяться сокрытием секретных ключей, но не сокрытием используемых алгоритмов или их особенностей.
Длина ключа [ ]
Классификация ключей [ ]
Криптографические ключи различаются согласно алгоритмам, в которых они используются.
Главное свойство ключевой пары: по секретному ключу легко вычисляется открытый ключ, но по известному открытому ключу практически невозможно вычислить секретный. В алгоритмах ЭЦП подпись обычно ставится на секретном ключе пользователя, а проверяется на открытом. Таким образом, любой может проверить, действительно ли данный пользователь поставил данную подпись. Тем самым асимметричные алгоритмы обеспечивают не только целостность информации, но и её аутентичность. При шифровании же наоборот, сообщения шифруются на открытом ключе, а расшифровываются на секретном. Таким образом, расшифровать сообщение может только адресат и больше никто (включая отправителя). Использование асимметричных алгоритмов снимает проблему распространения ключей пользователей в системе, но ставит новые проблемы: достоверность полученных ключей. Эти проблемы более-менее успешно решаются в рамках инфраструктуры открытых ключей (PKI).
Замок | Это незавершённая статья по криптографии. Вы можете помочь проекту, исправив и дополнив её. |
ca:Clau (criptografia) cs:Šifrovací klíč da:Nøgle (kryptologi) de:Schlüssel (Kryptologie) en:Key (cryptography) eo:Elĉifrigilo es:Clave (criptografía) fr:Clé de chiffrement id:Kunci (kriptografi) it:Chiave crittografica ja:鍵 (暗号) nl:Sleutel (cryptografie) no:Krypteringsnøkkel pl:Klucz (kryptografia) pt:Chave (criptografia) ro:Cheie (criptografie) simple:Key (cryptography) sv:Kryptonyckel uk:Ключ (криптографія) vi:Khóa (mật mã)
Криптографический ключ что это
Основные понятия криптографии
Основные задачи и принципы криптографической защиты
Часто возникает ситуация, когда информация не является конфиденциальной, но важен факт поступления сообщений в неискаженном виде, т.е. наличие гарантии, что сообщение не было подделано. Такая гарантия называется обеспечением целостности информации и составляет вторую задачу криптографии.
При передаче электронных документов (в том числе и через Интернет) возможна как их подмена или редактура, так и — в случае секретного текста — доступ посторонних лиц к передаваемой информации. Таким образом, электронные документы также нуждаются в криптографической защите.
Когда речь идет об электронных документах, первая задача решается применением электронной подписи, вторая — зашифрованием документа.
Электронная подпись (ЭП) — цифровой аналог ручной подписи, обеспечивающий возможность проверки подлинности и корректности документа. Существует техническая возможность проверки электронной подписи: если документ подменен или искажен при передаче, подпись при проверке будет признана некорректной.
Зашифрование документа — видоизменение текста документа таким образом, что только тот или те, для кого текст документа предназначен, в состоянии восстановить исходный текст.
Криптографические программные продукты
Для защиты информации используются специальные пользовательские программные продукты. Они разделяются на две основные группы.
Первая группа, очень широко распространенная — это криптопровайдеры (или CSP, Cryptographic Service Providers). CSP не являются самостоятельными приложениями, они предоставляют криптографические функции другим приложениям — например, таким, как почтовые программы. Пользователь фактически не имеет дела непосредственно с CSP, работая с привычным ему пользовательским интерфейсом. CSP обладают универсальностью — один и тот же CSP может использоваться для работы со множеством различных программ. Примером такого продукта производства ООО «Криптоком» является криптопровайдер МагПро CSP.
Вторая группа — это библиотеки криптографических функций. Такие библиотеки содержат готовые функции, решающие криптографические задачи, и могут использоваться для создания новых приложений. Примером такого продукта производства ООО «Криптоком» является программный продукт «МагПро КриптоПакет».
Криптографические алгоритмы
Для того чтобы с помощью электронной подписи можно было установить факт подмены или редактуры документа при передаче, необходимо, чтобы электронная подпись вырабатывалась на основе самого текста документа. Т.е. ЭП представляет собой последовательность символов, связанную с текстом документа так, что при изменении документа нарушается заданное соответствие между ЭП и текстом. Таким образом, для получения ЭП под документом нужно провести некоторое преобразование текста документа.
Для получения зашифрованного текста исходный текст также преобразовывается так, чтобы восстановление исходного текста было практически невозможным без знания определенной информации. Лица, обладающие этой информацией, должны быть в состоянии восстановить исходный текст. Очевидно, что информация, необходимая для восстановления текста (расшифрования), должна быть известна только адресатам.
Совокупность операций, которые производятся над текстом при криптографическом преобразовании, называется криптографическим алгоритмом.
В настоящее время существует множество криптографических алгоритмов, используемых для решения различных криптографических задач.
Алгоритмы, т.е. сами последовательности действий, не являются секретными.
Стандарты на криптографические алгоритмы
На криптографические алгоритмы существуют стандарты. Надежность алгоритмов, соответствующих стандартам, тщательно анализируется специалистами. При работе с официальной документацией разрешается пользоваться только алгоритмами, соответствующими стандартам.
В разных странах существуют различные стандарты на алгоритмы. В программном обеспечении широко используются алгоритмы, соответствующие американским стандартам, чаще всего это алгоритм RSA.
В России существуют собственные государственные стандарты на алгоритмы шифрования и выработки/проверки электронной подписи: ГОСТ 28147-89, ГОСТ Р 34.10-2012, ГОСТ Р 34.10-2012.
Для выработки и проверки электронной подписи, а также зашифрования и расшифрования документов используются определенные последовательности действий, называемые криптографическими алгоритмами.
Криптографический алгоритм — это серьезная разработка, требующая немалого труда специалистов и отвечающая определенным требованиям. Одним и тем же алгоритмом может пользоваться для защиты информации большое количество пользователей, т.к. алгоритмы не являются секретной информацией.
На криптографические алгоритмы существуют стандарты, т.е. официально оформленные совокупности требований, которым эти алгоритмы должны отвечать. Эти стандарты различны в разных странах и изменяются со временем. Популярные американские алгоритмы — RSA, DSA и т.д. — которые часто используются в распространенных программных продуктах, отвечают американским стандартам.
В России также приняты государственные стандарты на криптографические алгоритмы. Российские производители, в том числе ООО «Криптоком», используют в своих программных продуктах алгоритмы, соответствующие российским стандартам.
Криптографические ключи
В качестве секретной информации используются криптографические ключи.
Криптографический ключ представляет собой последовательность символов, выработанную по определенным правилам. Эта последовательность используется при криптографических преобразованиях текстов. Для каждого криптографического алгоритма существуют свои требования, в соответствии с которыми создаются ключи. Каждый ключ создается для определенного алгоритма.
Для того чтобы обеспечить невоспроизводимость электронной подписи и невозможность прочтения зашифрованных текстов посторонними людьми, в криптографии применяются криптографические ключи.
Современный криптографический ключ — это последовательность чисел определенной длины, созданная по определенным правилам на основе последовательности случайных чисел. Для каждого ключа последовательность случайных чисел создается заново, ни одна последовательность не используется более одного раза. Для генерации последовательностей случайных чисел используются специальные программные объекты или устройства, называемые датчиками случайных чисел.
Каждый алгоритм предъявляет собственные требования к ключам, поэтому любой криптографический ключ создается для определенного алгоритма и используется только с этим алгоритмом.
Если выработка электронной подписи и ее проверка, или зашифрование и расшифрование текста выполняются с помощью одного и того же ключа, такой подход называется симметричной криптографией (соответственно симметричные алгоритмы и симметричные ключи). Операции симметричной криптографии выполняются быстро и сравнительно просты. Но они требуют знания ключа по меньшей мере двумя людьми, что значительно повышает риск их компрометации (т.е. доступа к ним посторонних лиц).
Поэтому сейчас в основном используется асимметричная криптография. В асимметричной криптографии выработка электронной подписи или зашифрование выполняются на одном ключе, а проверка подписи или расшифрование — на другом, парном ключе.
В асимметричной криптографии применяются так называемые ключевые пары (key pairs). Каждая такая пара состоит из двух связанных между собой ключей. Один из этих ключей — закрытый (private key). Он известен только владельцу ключа и ни при каких условиях не должен быть доступен никому другому. Другой ключ — открытый (public key), он может быть доступен любому желающему.
Для выработки ЭП необходим закрытый ключ автора сообщения, для проверки — открытый. Таким образом, создать ЭП может только владелец закрытого ключа, а проверить — любой пользователь, получивший соответствующий открытый ключ.
Для зашифрования текста применяется открытый ключ адресата, для расшифрования — закрытый. Таким образом, зашифровать сообщение может любой человек, а расшифровать — только владелец соответствующего закрытого ключа, т.е. адресат.
Ключевая пара, используемая для работы с ЭП (выработки и проверки ЭП), называется ключами подписи (signature keys). Ключевая пара, используемая для зашифрования и расшифрования сообщений, называется ключами обмена (exchange keys).
Проблема асимметричной криптографии состоит в том, что зашифрование по асимметричным алгоритмам происходит намного медленнее, чем по симметричным. Кроме того, если зашифрованный текст предназначен для нескольких адресатов, в отправляемое сообщение приходится включать копию текста для каждого адресата, что резко увеличивает как объем сообщения, так и время, необходимое для его зашифрования.
Эта проблема решается с помощью так называемой гибридной криптографии.
В процессе шифрования прежде всего создается одноразовый (так называемый сеансовый) ключ шифрования (session encryption key). Это симметричный ключ, т.е. один и тот же ключ используется и для зашифрования, и для расшифрования. Одноразовым или сеансовым он называется потому, что используется для зашифрования/расшифрования только одного сообщения.
На сеансовом ключе шифрования зашифровывается сообщение. Поскольку сообщение зашифровывается по симметричному алгоритму, процесс зашифровывания сообщения происходит достаточно быстро.
Затем сам ключ шифрования зашифровывается по асимметричному алгоритму на открытом ключе обмена получателя. Поскольку ключ шифрования представляет собой сравнительно небольшой объем данных, зашифрование такого ключа не занимает много времени.
Зашифрованный ключ шифрования включается в сообщение.
В результате сообщение получается незначительно больше по объему (за счет добавленной зашифрованной копии ключа шифрования), но процесс зашифрования происходит гораздо быстрее, чем если бы само сообщение зашифровывалось по асимметричному алгоритму.
Если получателей несколько, то сообщение зашифровывается один раз на сеансовом ключе шифрования, а ключ (сравнительно небольшой объем данных) зашифровывается отдельно на открытом ключе обмена каждого получателя. Таким образом, зашифрованное сообщение вместо нескольких копий сообщения, зашифрованных для каждого получателя, содержит одну зашифрованную копию сообщения и несколько копий одноразового сеансового ключа шифрования, зашифрованных для каждого получателя. Объем зашифрованного сообщения и время, необходимое для его зашифрования, оказываются существенно меньшими, чем если бы сообщение шифровалось по асимметричному алгоритму для каждого получателя.
Когда адресат получает сообщение, среди зашифрованных сеансовых ключей, включенных в сообщение, ищется сеансовый ключ, зашифрованный на открытом ключе обмена получателя. Если такой ключ находится, он расшифровывается с помощью закрытого ключа обмена получателя, а потом с помощью этого ключа расшифровывается само сообщение.
Таким образом, основное требование к процессу зашифрования по асимметричному алгоритму — чтобы к закрытому ключу обмена никто не имел доступа, кроме владельца этого ключа — соблюдается. Для того, чтобы получить доступ к ключу шифрования, необходим доступ к закрытому ключу обмена; но после того, как произведено расшифрование ключа шифрования с помощью закрытого ключа обмена, этот ключ шифрования больше никогда не используется, так что говорить о его компрометации не имеет смысла.
Сертификаты
Сертификаты — это принятая сейчас форма хранения и передачи открытых ключей. Сертификат — это набор данных специального формата, содержащий сам открытый ключ и всю информацию о нем и о его владельце. Все открытые ключи хранятся и передаются в виде сертификатов.
Сертификаты выпускаются специальными уполномоченными центрами, которые могут носить различные названия: удостоверяющий центр, центр сертификации, пункт регистрации абонентов и т.д. В любом случае такой центр выполняет административные функции. Центр и пользователи (абоненты), которые пользуются услугами центра, составляют криптосеть.
Для того чтобы центр выпустил сертификат на открытый ключ, абоненту необходимо прислать заявку (запрос) на такой сертификат. Заявка содержит открытый ключ и всю информацию о нем и о владельце. Центр проверяет подлинность и корректность этой информации (как именно — зависит от регламента центра) и выпускает сертификат, заверяя его своей электронной подписью.
Цепочки доверия
Часто возникает необходимость проверять документ с помощью другого документа, который так же требует проверки. Например, подпись под документом проверяется с помощью сертификата на открытый ключ, парный тому секретному, на котором подпись выработана. Но сам сертификат — это тоже документ, корректность и подлинность которого требует проверки. Подпись под сертификатом проверяется на сертификате на открытый ключ подписи того центра, который выпустил сертификат. Сертификат центра, в свою очередь, тоже может быть подписан электронной подписью и требовать проверки.
Такие цепочки документов, каждый из которых проверяется на следующем, называются цепочками доверия.
Очевидно, что в конце концов цепочка заканчивается — в ней обязательно существует документ, который невозможно проверить на другом документе (например, самый первый сертификат центра). Такие документы могут называться самозаверенными, корневыми, доверенными и т.д. Существуют разные способы проверки корректности и подлинности таких документов, зависящие от используемого программного обеспечения и принятого регламента: контрольные записи, цифровые отпечатки и т.д. Общим во всех этих способах проверки является то, что они требуют участия каких-то бумажных документов (распечаток) и не могут быть проверены автоматически: необходимо, чтобы человек сравнил информацию из проверяемого электронного документа с распечатанной и убедился в совпадении.
Документ может считаться корректным только в том случае, если корректны все документы, входящие в цепочку доверия от данного документа до документа, которым заканчивается цепочка (корневого).
Разумеется, при каждой проверке подписи полной проверки цепочки доверия с участием человека не происходит. Обычно корневой документ проверяется при его установке на компьютер, а затем проверка цепочек доверия, заканчивающихся этим документом, происходит автоматически.
Датчики случайных чисел и создание ключей
Ключи создаются по специальным алгоритмам на основе последовательностей случайных чисел.
Для того чтобы криптографическая защита на ключе была надежной, последовательность случайных чисел, на которой создана ключевая пара, должна быть уникальной для каждой ключевой пары. Кроме того, она должна быть действительно случайной, т.е. не допускать повторов даже через очень большие промежутки.
Такие уникальные последовательности случайных чисел генерируются во время создания ключей с помощью специальных устройств или программ, называемых датчиками случайных чисел.
Очень удобны и быстры так называемые аппаратные датчики случайных чисел, представляющие собой физические устройства — платы, подключенные к компьютеру. Такие датчики создают последовательности случайных чисел на основе физических процессов. Генерация последовательностей случайных чисел с помощью аппаратного датчика происходит очень быстро и без участия пользователя.
Но такие датчики устанавливаются не на каждом компьютере. Поэтому часто для создания ключей используется клавиатурный датчик случайных чисел
— программа, использующая для создания последовательности случайных чисел физический процесс нажатия клавиш пользователем. Для инициализации такого датчика пользователю необходимо нажать определенное количество указываемых ему клавиш (если все клавиши нажаты безошибочно, то нужно 40 нажатий; если пользователь допускает ошибочные нажатия, количество необходимых нажатий увеличивается). Создание ключей с помощью клавиатурного датчика — более медленный процесс, чем создание ключей с помощью аппаратного датчика, но его можно осуществить на любом компьютере.
Хранение закрытых ключей
Для удобства хранения закрытых ключей может создаваться файл специального формата, в котором хранятся закрытые ключи. Файл, в свою очередь, может храниться на жестком диске компьютера, на дискете, на флэш-накопителе. Для защиты закрытого ключа от несанкционированного чтения он хранится в файле в зашифрованном виде, т.е. для того, чтобы прочитать закрытый ключ и воспользоваться им, необходимо знать пароль (парольную фразу), на которой зашифрован ключ.
Таким условиям удовлетворяет USB-токен «Вьюга», разработанный в ООО «Криптоком». Устройство «Вьюга» включает в себя генератор случайных чисел (т.е. может использоваться как датчик случайных чисел при генерации ключей) и область памяти объема, достаточного для хранения ключей. Устройство подключается к компьютеру через USB-порт. Возможно подключение устройства к компьютеру непосредственно в процессе работы.
Компрометация ключей
Компрометация ключей — понятие, которое включает в себя факт доступа посторонних лиц к секретным ключам, а также возможность такого доступа или подозрение на него. Скомпрометированный секретный ключ — главная опасность для любой системы защиты информации, поэтому принимаются специальные меры для защиты секретных ключей: их никогда не записывают на жесткий диск компьютера, их держат на отдельных носителях, их зашифровывают, их защищают на пароле и т.д. Тем не менее, случаи компрометации возможны.
В случае компрометации секретный ключ и парный к нему открытый вносятся в специальные списки, содержащие скомпрометированные ключи. Такие списки в разных криптографических продуктах также могут называться по-разному — стоп-листы, списки отзыва сертификатов и т.д. Действие скомпрометированных ключей прекращается. Подпись, выработанная на скомпрометированном ключе, автоматически считается некорректной; информацию из документа, зашифрованного на скомпрометированном ключе, нельзя считать секретной.
Все, что нужно знать о криптографии: алгоритмы
С развитием технологий пользователи по всему миру, а также программисты и разработчики начали сталкиваться с вопросом сохранения конфиденциальности информации. Интернет-технологии и хакерские атаки начали ставить под угрозу соответствующее направление. Так появились различные способы шифрования данных.
В данной статье будет рассказано о том, что это такое, раскрыто понятие криптографии, рассмотрены основные способы, которыми можно защитить те или иные данные. Предложенная информация окажется полезной как опытным программерам, так и начинающим ПК-пользователям.
Понятие криптографии
Криптография также нередко называется криптологией. Это – искусство передачи информации электронного или иного типа так, чтобы без ключа шифрования считать ее было невозможно. Термин произошел от нескольких греческих слов:
Направление науки по составлению алгоритмов шифрования является одним из древнейших в мире. Но в современных реалиях данное понятие приобрело совершенно новые обороты.
Криптография – комплекс алгоритмов, знаний и средств для защиты конфиденциальности тех или иных сведений от посторонних глаз. А криптоанализом называют некое направление деятельности, которое изучает правила и методы нарушения сохранности сообщения.
История возникновения
Вопросы, связанные с алгоритмами шифрования, начали решаться еще в древнем мире. Работают изобретенные некогда людьми варианты защиты по сей день.
Впервые соответствующая тема всплыла с появлением первой письменности. Раньше встречались следующие виды письма:
Первый вариант использовался священнослужителями, второй – всеми остальными. Греки и римляне стали «изобретателями» собственных систем тайного письма. А именно – скорописи. Изначально это и было секретным письмом. «Изобретателем» является некий Тиллиус Тиро.
Но лишь в средневековье различные алгоритмы по так называемому шифрованию сообщений начали использовать в дипломатических целях с завидной регулярностью. Также соответствующие приемы встречались в торговле и военной деятельности. А в 1499 году появилась первая книжка по криптографии.
Современное развитие
Алгоритмы шифрования потихоньку развивались и приобретали новый вид. Современная интерпретация оных возникла примерно в 1990 году. В те времена началось активное развитие информационных технологий.
Разные страны начали придумывать собственные стандарты криптографических протоколов. Примеры:
Также все ранее существующие алгоритмы сильно усложнились в плане математических конструкций. Это способствует затруднению криптоанализа. Новые требования, часто не связанные с математикой, привели к тому, что методы шифрования сейчас стали максимально устойчивыми и сложными. Начали появляться направления в криптографии, которые находятся на стыке математики и квантовых вычислений.
Где применяется
Цифровые сервисы должны в обязательном порядке беспокоиться о сохранности пользовательской и архивной информации. В противном случае утечка данных чревата серьезными последствиями. Пример – хакеры смогут использовать полученные электронные материалы от того или иного проекта в своих корыстных целях.
Сегодня практически все важные аспекты жизни и деятельности человека зависят от информационных технологий и гаджетов. Финансовые операции, а также всевозможные платежи и даже работа осуществляются через мобильные технологии. Их трудно назвать безопасными каналами передачи электронных материалов. Поэтому приходится думать, как лучше организовать защиту сведений.
Алгоритмы по шифрованию информации применяются везде:
Везде, где фигурируют информационные технологии и присутствует цифровизация, задействована криптография. Данное научное направление весьма сложное, но перспективное.
Основные виды
Сейчас в мире достаточно методов шифрования информации. Их условно можно классифицировать. Существуют следующие алгоритмы криптографии:
Каждый вариант предусматривает собственные нюансы и особенности. О них статья расскажет далее.
Примитивы
Шифрование – сложный процесс, как и процедура расшифровки данных при необходимости. При генерации подобной информации в целях повышения уровня безопасности нередко используются так называемые примитивы. Они помогают уже зашифрованным сведениям получить более надежную и стойкую защиту.
В качестве алгоритмов, предусматривающих примитивы, используют:
Подобный вариант развития событий в реальной жизни появился давным-давно. Он может использоваться не только в информационных технологиях. Раньше примитивы преобразовывали и защищали обычный рукописный текст. Сейчас это не самый лучший вариант, если он задействован в качестве самостоятельного элемента.
Важно: так называемый открытый ключ для получения необходимой информации представляет собой некий алгоритм или инструкцию, согласно которому удается прочесть написанное сообщение.
Квантовые технологии
Совершенно новый виток в алгоритмах шифрования. Пока не слишком распространен, так как у человечества нет достаточно мощных квантовых компьютеров. Но такой вариант позволяет в результате получить практически неуязвимую на сегодня систему защиты электронных материалов.
В ходе реализации метода задействованы квантовые объекты. Они не только не позволяют считывать материалы, но и подделывать их. Авторы данной теории – некие ученые Беннет и Брассард. Они предложили пользоваться квантовыми технологиями специально для того, чтобы передавать секретный ключ.
Важно: первые попытки выдвижения квантовой теории для разработки алгоритмов шифрования в 1970 году высказал некий Стефан Вейснер.
Хеширование
На практике принято использовать многочисленные варианты защиты электронных материалов от хищения, копирования и подделки. Существует один такой подход, как хеширование. Имеет название хеш-функций.
В ходе него осуществляется преобразование первоначального информационного массива той или иной «протяженности» в битовую строчку фиксированной длины (256 бит, 128 бит и так далее).
Миру известна далеко не одна хеш-функция, но нас интересуют только ее криптографические вариации. Каждый вариант имеет отличие по:
Криптографически стойкие операции имеют два существенно важных критерия. А именно:
Соответствующие отличия и требования называют стойкостью к коллизиям первого и второго рода. Есть и еще один важный критерий: если аргумент изменяется незначительно, происходит наиболее крупная «корректировка» функции. Так, значение хеша не предоставляет информацию даже об отдельных битах аргументов.
Примеры алгоритмов
Стандарт шифрования информации посредством хешев может быть разным. Сегодня выделяют более 10 вариаций, среди которых встречаются такие алгоритмы как:
Это – лишь малая часть способов представления шифра в виде хеш-функций. Соответствующее направление активно развивается по сей день.
Асимметричные
В мире сегодня криптографических алгоритмов очень много. И среди них, как уже можно было заметить, встречаются совершенно разные вариации. Стандарт шифрования применяется в зависимости от типа используемой информации, а также технологических возможностей «клиента».
Есть метод так называемого асимметричного шифрования. Это система криптографического типа, которая использует открытый ключ. В данном случае для защиты информации задействована некая «расшифровка». Она является открытой. Передается прямо по открытым каналам связи (то есть, никак не скрывается). Используется специально для того, чтобы проверять электронные подписи, а также для зашифровки информации.
Технологии асимметричных алгоритмов для дешифрования и создания электронных подписей предусматривают задействование еще одного ключа. Он называется секретным.
В основе соответствующей идеи лежит принцип односторонних функций f(x). В них, согласно действующим законам математики, не так трудно найди x после получения информации о самой функции. Важно учесть, что дополнительно практически невозможно определить саму f(x), если известно только значение «икса».
Принципы работы
Асимметричные методы и алгоритмы так называемого шифрования работают по следующим принципам:
Стоит обратить внимание на одну особенность, без которой соответствующий принцип не сработает. Речь идет о том, что при получении текста в зашифрованном виде получателю придется провести аутентификацию личности. Она производится перед отправителем. Это – своеобразная система защиты.
Если получатель не смог провести аутентификацию или является не истинным лицом, которому адресован текст, расшифровка не произведется. А у недоброжелателя не получится заметить открытый ключ, предусматриваемый отправителем, на собственный.
Асимметричные шрифты – наглядные примеры
Лучший алгоритм для шифрования информации асимметричным способом подобрать трудно. Здесь, как и в случае с хешами, довольно много вариантов. Вот наиболее распространенные из них:
Применяются все эти варианты на практике весьма часто. Но есть и еще один подход к защите информации от недоброжелателей и хакеров. Он встречается в реальной жизни чаще остальных.
Алгоритм симметричного шифрования
Речь идет о симметричном шифровании. В этом случае происходит использование одного и того же ключа как для зашифровки, так и для расшифровки. Требования, применяемые к этому раскладу, следующие:
Подобные системы разделяются на несколько типов – блочного и поточного представления. Первые предусматривают дробление исходной информации на блоки, состоящих из данных. После этого осуществляется дальнейшее преобразование посредством ключей.
Поточные системы обрабатываются следующим образом: определяется выходная гамма (последовательность), накладываемая на текст сообщения. Защита проводится путем отправки потока по мере генерации гаммы.
Особенности и преимущества
Симметричный алгоритм для шифрования имеет собственные недостатки и преимущества. Отличается данный вариант высокой защитой. Для применения задействуются разнообразные сложные и многоступенчатые комбинации перестановок и подставок первоначальных сведений. Подходов для реализации поставленной задачи бывает довольно много. Каждый в обязательном порядке соответствует ключу прохода.
Если бы программист представил себе принцип обработки подобным методом, операция проводилась бы так:
У такого подхода к алгоритмам расшифровки и шифрования есть ряд преимуществ:
Недостатки у подобной системы тоже имеются. К ним относят сложность обмена ключами. Это связано с тем, что в процессе реализации поставленной задачи может произойти нарушение секретности. Также в большой сети ключами довольно трудно управлять.
Наглядные примеры
К симметричным шифрам относят:
Как и в прошлых случаях, это всего лишь примеры. Сегодня на практике довольно часто встречается такой алгоритм для шифрования информации, как AES. Он является новым американским.
Rijndael
Подход типа Rijndael – это симметричный метод защиты сведений. Относится к блочным. В нем можно корректировать параметры блоков, а также секретных ключей от 128 до 256 бит. Но важно учесть — разность достигает 32 бита.
В процессе реализации задействует линейно-подстановочные принципы. Раунд здесь может быть 10, 12 или 14. Он напрямую зависит от длины ключа.
Особенности AES
AES – это своеобразный подход к решению поставленной задачи, опирающийся на алгоритм Rijndael. Предыдущее решение с ключом 128 бит. Блок данных здесь составит 16 байт. Предусматривает различные функции.
Шифрование информации через алгоритм так называемого шифрования AES осуществляется в несколько шагов. Каждый предусматривает собственные нюансы.
Принцип зашифровки
Шифрование осуществляется в несколько этапов:
1. Формирование «стейт». Предположим, что уже есть секретное сообщение, для того или иного адресата. Оно представлено числами в диапазоне от 0 до 255. Здесь происходит деление на n-блоков информации по 16 байт. Каждый «пакет информации» называется «стейт». Если текст не кратен 16 байтам, он дополняется до соответствующих значений.
2. KeyExpansion. Ключи в AES побайтно равны state. Происходит расширение ключа, которое отвечает за генерацию нынешних массивов ключей для циклов раундов шифрования. В виде сопоставления операции XOR задействован фиксированный массив Rcon. Здесь keyExpansion через XOR с фиксированными ключевыми массивами осуществляет возврат массивов оных. Их количество – 11 штук. Только один не относится к раунду алгоритма.
3. AddRoundKey. Это – первый этап шифрования. Применяется к state при помощи правил суммирования. Происходит XOR со state, с каждым его байтов. Далее «стейт» переходит к следующей ступени – к системе раундов алгоритмов.
4. Раунды. Всего их 10 штук. Получается своеобразные таблицы замен из 10 шагов. Первые 9 выполняют subBytes, shiftRows, mixColumns, addRoundKey. Последний отвечает за обработку «саба», «шифта» и «эдда».
5. SubBytes. Происходит трансформация «стейта» через замену собственных байтов на иные. Для этого используется их подставление в готовые фиксированные таблицы S-box.
6. ShiftRows. Производится циклическое смещение трех последних строк влево. Принцип указан на картинке.
7. MixColumns. Самый сложный вычислительный процесс. Здесь осуществляется умножение на постоянную функцию f(x) = <03>x^3 + <01>x^2 + <01>x + <02>. Так получается произведение по указанным ранее правилам конкретных столбцов из State на функции a(x). Если исключить правило умножения алгоритма так называемого шифрования, подобный прием будет аналогичен матричному умножению.
В случае с дешифрованием ситуация будет примерно такой же. Процедура полностью осуществляется за несколько подходов (шагов).
О дешифровании
Сначала система при чтении сообщения путем алгоритмов шифрования типа AES использует KeyExpansion. Далее производятся раунды алгоритмов. Они предусматривают 10 ступеней, называемых шагами криптопреобразования.
Первые девять штук отвечают за цикличное выполнение 4-х функций в порядке, обратном методу первоначально защиты (шифровки). А именно:
Последний, 10 раунд – это три операции: «ЭддРаундКей», «ИнвШифт», «ИнвСабБайтс». Далее производится обработка addRoundKey. Этап предусматривает обратное суммирование по правилам алгоритмов используемого шифрования самого себя. Полностью исключается массив Rcon.
Следующий шаг – обработка invMixColumns. Это – мультипликативная обработка операции умножения по правилам умножения алгоритма на постоянную функцию a^(-1) от x конкретного столбца «стейт».
Теперь система будет производить обратную трансформацию shiftRows. То есть, проведет цикличное смещение «информации» вправо. Завершающий этап – это инверсия. Производится относительно «СабБайтс». Предусматривает обратную замену байта state, которая заведомо представлена в hex согласно соответствию фиксированной таблички:
На данном этапе пользователь сможет прочесть необходимую ему информацию. Звучит трудно, но программисты и хакеры для реализации поставленной задачи никогда не действуют «вручную». Они используют IT-технологии и всевозможные шифровальщики и дешифраторы.
Криптография и IT
В цифровых технологиях криптография – это основной инструмент обеспечения конфиденциальности информации. Помогает противодействовать незаконному (несанкционированному) копированию и распространению информации по интернету (включая даркнет). В основном применяется для защиты интеллектуальной собственности.
Среднестатистические юзеры могут столкнуться с соответствующими методами не только при работе в Сети, но и во время установки/запуска игр. Там тоже задействованы рассмотренные варианты защиты в той или иной форме.
Внимание: хакерский взлом и появление «пиратских» копий программного обеспечения ставит под вопрос сохранность информации пользователей, а также ее целостность и конфиденциальность.
Заключение
Криптография – полезная и перспективная наука, тесно связанная с программированием. Сейчас на нее нельзя отучиться на «вышке». Ни один ВУЗ не предлагает изучение encryption и других вариантов обеспечения безопасности в полной мере.
Если пользователь захотел стать экспертом в данном области, он должен разбираться в программировании, IT, информатике, алгоритмах. Можно пройти спецкурсы по выбранному направлению.