
До наступления современной эпохи криптографии, когда внимание расширилось с конфиденциальности сообщений на аутентификацию личности, проверку целостности и многое другое, эта область в основном вращалась вокруг лексикографических и лингвистических шаблонов.
С добавлением цифровых компьютеров и началом широкого использования математической теории и практики информатики в криптографии, способность «взламывать» сложные алгоритмы шифрования увеличилась, но вместе с этим увеличилась скорость, с которой все усложнялось, вычислительно безопасно (хотя и , теоретически взламываемые) механизмы шифрования могут быть созданы.
Здесь мы рассмотрим два типа криптосистем: симметричные и асимметричные.
НЕКОТОРЫЕ ОСНОВНЫЕ ТЕРМИНОЛОГИИ КРИПТОГРАФИИ
Ключ - «значение переменной», которое применяется к некоторому незашифрованному сообщению с использованием алгоритма (шифра) для его шифрования. Или применяется к зашифрованному сообщению, чтобы его расшифровать.
Ключ должен храниться в секрете и должен быть известен только отправителю и получателю сообщения. Таким образом, если бы сообщение было перехвачено каким-либо сторонним участником, оно было бы воспринято как ерунда и не должно предоставлять никакой полезной информации.
Открытый текст - Незашифрованная информация. Обычно, но не всегда, ожидает ввода в алгоритм шифрования.
Cyphertext - результат шифрования открытого текста. Невозможно прочитать ни человеком, ни компьютером без надлежащего алгоритма дешифрования.
Шифр - алгоритм. Он используется для шифрования открытого текста, дешифрования зашифрованного текста или может использоваться и для того, и для другого. Шифры можно классифицировать как своего рода «процедуры», серию детально определенных шагов, которым можно следовать. Способ работы шифра будет зависеть от выбранного ключа, который действует как вспомогательная информация. Таким образом, перед использованием шифра для шифрования сообщения необходимо выбрать ключ.
Криптоанализ - вкратце, изучение расшифровки сообщений («взлома кода» алгоритмов шифрования) без доступа к ключу, который был разработан для этого.
— — — — — — — — — — — — — — — — — — — — — — — — — —
КАСТИНГ
До конца статьи я познакомлю вас с тремя наиболее часто используемыми игроками в криптографическую игру:

- Алиса (‘A’), которую мы передаем в роли отправителя. Она хочет передать какое-то сообщение или данные другой стороне.
- Боб (‘B’) предполагаемый получатель отправленной информации. Он играет роль доверенного лица Алисы.
- Ева (‘E’), наша обманчиво прозвище «пассивный» злоумышленник. Сокращенно от Eavesdropper, этот антагонист может прослушивать обмены между Алисой и Бобом, но не может изменять их сообщения, когда они отправляются туда и обратно. Их цель - просто успешно расшифровать подслушанное сообщение. (Это отличается от Мэллори («М»), «активного» атакующего, который может перехватить и напрямую изменить или заменить отправленное сообщение до того, как его получит вторая сторона. Участники Мэллори в игре представляют более сложные препятствия для создания надежно защищенная система, чем у Eves.)
Это короткие объяснения всего нескольких персонажей. Четыре из десятков обычных архетипов используются для облегчения понимания в дискуссиях по криптологии, а также в других научных и технических текстах и (по крайней мере для «Алисы» и «Боб») даже в мысленных экспериментах по теории игр и физике.
С предоставленными основными определениями и распределенными ролями давайте подготовим почву для иллюстрации наших двух типов криптосистем.
СИММЕТРИЧЕСКОЕ ШИФРОВАНИЕ
Единственный тип шифрования, публично признанный до конца 70-х годов, шифры с симметричным ключом будут либо блочными, либо потоковыми.
- Потоковые шифры - поочередно шифруют буквы или цифры (обычно байты) сообщения.
- Блочные шифры - собирают некоторое количество битов и затем шифруют их как одну единицу. Затем заполните открытый текст, сделав его кратным размеру блока (обычно использовались 64-битные блоки).
Симметричное шифрование включает один единственный ключ как для шифрования, так и для дешифрования сообщения. Это означает, что у отправителя и получателя должен быть один и тот же ключ.

Как это работает?
Это действительно так просто:
- Алиса использует свой закрытый ключ, чтобы зашифровать сообщение, которое она намеревается отправить.
- Затем она передает это зашифрованное сообщение Бобу.
- Когда Боб получает зашифрованное сообщение, он приступает к его расшифровке с тем же закрытым ключом, который использовала Алиса.
Все просто, один ключ - два (а может и больше) человек.
Ну ... подожди. Ответ на вопрос «Как Боб может иметь тот же закрытый ключ, что и Алиса?» приводит нас к центральному и главному недостатку симметричной схемы. Чтобы Алиса и Боб имели один и тот же закрытый ключ, он должен быть передан в какой-то момент между ними, что открывает дверь для Евы или даже Мэллори, чтобы перехватить ключ и фактически сделать его бесполезным для защиты своих передача информации.
АСИММЕТРИЧНОЕ ШИФРОВАНИЕ
Также известная как криптография с открытым ключом, это гораздо более новая адаптация к устаревшему симметричному типу, описанному выше. Процесс здесь требует не использования двух идентичных ключей, а того, чтобы каждая сторона (отправитель и получатель) имела свой собственный набор индивидуальных ключей. (Это делает ненужным начальное совместное использование закрытых ключей и устраняет дополнительный риск, связанный с симметричностью.)
Первый ключ по-прежнему называется «закрытым ключом», но в этом случае он уникален для держателя и теперь должен храниться в полном секрете (даже от другой стороны, отправителя или получателя). Второй называется «открытый ключ» и может распространяться бесплатно, так как он не отвечает за расшифровку (только шифрование). Эти два ключа различны, но все же связаны математически, что означает, что никогда не предполагается, что один ключ может быть вычислен на основе знания другого.

Как это работает?
Чуть более сложный процесс:
- Алиса и Боб генерируют для себя открытый и закрытый ключи (они используют алгоритм RSA).
- Алиса отправляет Бобу свой открытый ключ, а Боб, в свою очередь, отправляет Алисе свой открытый ключ. (Ни один из них никому не раскрывает свой закрытый ключ.)
- Алиса снова пишет сообщение, но на этот раз шифрует его открытым ключом Боба. Затем она отправляет сообщение Бобу.
- Когда Боб получает зашифрованное сообщение, он использует свой закрытый ключ для его расшифровки и читает сообщение, написанное Алисой.
Между двумя
- Манипуляции с данными при симметричном шифровании намного быстрее, чем при асимметричном, потому что в нем используется только один ключ, а длина используемых ключей обычно короче.
- Асимметричное шифрование почти никогда не используется для прямого шифрования больших объемов данных, в отличие от симметричного; он увеличивает размер криптограммы и может оставить данные, чтобы занять больше места в хранилище или больше времени для перемещения. В частности, для дешифрования соотношение производительности и безопасности при асимметричной схеме обычно менее впечатляюще, чем в симметричной схеме. По мере повышения безопасности эффективность дешифрования снижается.
- Большинство алгоритмов с открытым ключом включают в себя более затратные в вычислительном отношении операции (например, возведение в степень).
Учитывая то, что мы знаем об обеих схемах, очевидные плюсы и минусы каждой схемы, кажется, что симметричный кажется «лучше» в большинстве категорий, за исключением его явного изъяна «совместного использования ключа».
………………………………………………………
Войдите на этап слева, гибридную криптосистему.
Комбинация любой схемы инкапсуляции данных (криптосистема с симметричным ключом), которая обеспечивает эффективность, и любой схемы инкапсуляции ключа (криптосистемы с асимметричным ключом), которая обеспечивает удобство.
Простой пример гибридной реализации:
- К сообщению применяется высококачественный алгоритм шифрования с симметричным ключом.
- Затем сам симметричный ключ шифруется с использованием алгоритма открытого ключа.
- Зашифрованный симметричный ключ отправляется вместе с сообщением.
КЛЮЧ: Практически все действующие сегодня асимметричные схемы используют ту или иную версию оптимизации гибридной системы.