Виммельбух, 4, перетяжка
Виммельбух, 4, перетяжка
Виммельбух, 4, перетяжка

Основы криптографии: от математики до физики

Аватар Типичный программист
Отредактировано

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

69К открытий73К показов

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

Примечание Вы читаете улучшенную версию некогда выпущенной нами статьи.

  1. Популярные шифры
  2. Полиморфизм
  3. Распространённые алгоритмы
  4. Виды алгоритмов
  5. Квантовая криптография

Задачи, которые решает криптография:

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

Популярные шифры

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

Квадрат Полибия

Квадрат Полибия — шифр простой замены. В данном примере будет использоваться двумерная матрица 6х6, содержащая заглавные буквы алфавита и цифры от 0 до 9:

Основы криптографии: от математики до физики 1

С матрицей 6х6 (36 буквенно-цифровых знаков) мы можем начать замену. Например, буква «А» имеет адрес 1х1 или x=1, y=1. Эту запись можно упростить до 11. Другой пример: адрес буквы «N» будет 2х3 или x=2, y=3 или 23.

  • Сообщение: ENCRYPT ME 2 DAY
  • Шифротекст: 51–23–31–63–15–43–24 13–51 55 41–11–15

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

Шифр Цезаря

Основы криптографии: от математики до физики 2

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

Пример использования шифра со сдвигом влево на 3:

  • Сообщение: ENCRYPT ME
  • Шифротекст: HQFUBSW PH

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

Прим. пер. Существует более простой способ взлома шифра Цезаря — частотный анализ. Он заключается в подсчёте частоты встреч каждого символа в любом обычном тексте и в шифротексте. Потом символы с похожими частотами заменяются. Например, если в шифротексте чаще всего встречается буква «T», то она заменяется на букву «Е» для английского алфавита. Этот способ действует только для текстов свыше 300 символов.

Квадрат Виженера

Это усовершенствованный шифр Цезаря с разными значениями сдвига. Например, к первой букве сообщения применяется преобразование ROT5, ко второй — ROT16, etc.

Основы криптографии: от математики до физики 3

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

Полиморфизм

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

Распространённые алгоритмы

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

Основы криптографии: от математики до физики 4

В 1949 году Клод Шеннон из Bell Laboratories опубликовал фундаментальную теорию, положившую начало симметричному шифрованию, а десятилетия эволюции принесли примеры высокого качества. Однако только в 1975 году мощный алгоритм с закрытым ключом DES стал доступен для общего пользования.

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

Основы криптографии: от математики до физики 5

Стойкость шифровального алгоритма зависит от трёх важных факторов:

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

Виды алгоритмов

DES выдержал испытание временем и вошёл в основы криптографии. После четверти века исследований учёным удалось найти несколько спекулятивных атак, которые в конечном итоге не были столь эффективными, как метод полного перебора. Единственная реальная слабость DES-шифра — маленькая длина ключа в 56 бит.

Основы криптографии: от математики до физики 6

Triple DES (3DES)  — модификация DES, позволяющая увеличить длину ключа до 112 или 168 бит.

AES  (Advanced Encryption Standard или Rijndael) поддерживает три длины ключа: 128, 192 и 256 бит. Использует 128-битный размер блоков. Считается стойким и используется по всему миру.

Основы криптографии: от математики до физики 7

Так как DES был специально разработан для аппаратного обеспечения, то не было предусмотрено, чтобы он эффективно работал в ПО. NIST протестировал работу алгоритма AES в программной среде и разработал требования к хранению криптоматериала, чтобы гарантировать, что AES будет эффективно работать на C и Java, которые используются на рабочих станциях, а также в более ограниченных средах встроенных процессоров ARM и смарт-карт.

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

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

  • 10 циклов повторения для 128-битных ключей;
  • 12 циклов повторения для 192-битных ключей;
  • 14 циклов повторения для 256-битных ключей.
Основы криптографии: от математики до физики 8

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

Квантовая криптография

Основы криптографии: от математики до физики 9

Это уже не совсем основы криптографии, а более продвинутый уровень.

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

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

Следите за новыми постами
Следите за новыми постами по любимым темам
69К открытий73К показов