Криптография (Cryptography): Это метод скремблирования [разновидность кодирования информации] сообщения с использованием математической логики для обеспечения безопасности информации. Он сохраняет скремблированное сообщение от взлома при транспортировке по незащищенной сети. Поскольку он преобразует читаемое сообщение в нечитаемый текст.
Простой текст (Plaintext): Это содержимое данных, которое находится в удобночитаемой форме, которым необходимо обмениваться в небезопасной сети.
Шифрование ключа (Encrypting key): Это случайная строка бит, созданная специально для скремблирования информации открытого текста в нечитаемый текст с использованием математической логики. Существует два типа шифрования ключа: симметричный ключ и асимметричный ключ.
Зашифрованный текст (Cipher text): Вывод шифрования создает шифрованный текст, который не читается людьми.
Расшифровка ключа (Decrypting key): Это ключ, который используется для расшифровки текста шифрования во вновь открытый текст с использованием симметричного или асимметричного ключа для чтения исходного сообщения.
Функциональность криптосистемы
- Аутентификация: Это процесс проверки личности действительного человека через его логин и пароль, с помощью которых происходит обмен данными по сети.
- Авторизация: Это относится к процессу предоставления или отказа в доступе к сетевому ресурсу или услуге. Большинство систем компьютерной безопасности, которые мы имеем сегодня, основаны на двухэтапном механизме. Первым шагом является аутентификация, а вторым шагом является авторизация или контроль доступа, что позволяет пользователю получать доступ к различным ресурсам на основе идентификации пользователя.
- Конфиденциальность: Это означает, что только авторизованные пользователи могут читать или использовать конфиденциальную информацию. Когда криптографические ключи используются в открытом тексте для создания шифрованного текста, конфиденциальность присваивается этой информации.
- Целостность: Целостность - это аспект безопасности, который подтверждает, что исходное содержимое информации не было изменено или повреждено. При транспортировке по сети не должно быть никаких изменений в информации.
- Отказ: Отказ от ответственности гарантирует, что каждая сторона несет ответственность за отправленное сообщение. Кто-то может общаться, а затем позже либо ложно отрицает сообщение полностью, либо заявляет, что он произошел в другое время, или даже отрицает получение какой-либо информации.
Типы классических криптографических алгоритмов
Шифр Цезаря
Шифр Цезаря - это тип шифрования замещения, в котором каждая буква алфавита заменяется буквой на некотором расстоянии от этой буквы.
Алгоритм
Шаг 0: Математический, сопоставление букв с числами (т.е., A = 1, B = 2, and т.д.).
Шаг 1: Выберем целочисленный ключ K между 1 и 25 (т. е. в английском языке всего 26 букв), допустим, сдвинуть вправо на 3 буквы алфавита, где A +3 = D, B + 3 = E и т. д.
Шаг 2: Формула шифрования: «Добавить k mod 26»; то есть исходная буква L становится (L + k)% 26.
Например, шифрование «IGNITE» будет выглядеть так:
C = E (L+K) %26
Где L= I и K = 3
C = E (I+3) % 26
C = E (9+3) % 26
C = E (12) % 26
C = E (L)
Следовательно, шифрование IGNITE: LJQLWH
Шаг 3: Расшифровка - «Вычесть k mod 26»; то есть зашифрованная буква L становится (L - k)% 26. Например, расшифровка «LJQLWH» будет выглядеть как:
C = D (L-K) %26
C = D (L-3) % 26
C = D (12-3) % 26
C = D (9) % 26
C = D (I)
Следовательно, расшифровка LJQLWH: IGNITE
Ограниченность: Шифр Цезаря уязвим для атаки грубой силы (brute-force attack), потому что он зависит от одного ключа с 25 возможными значениями, если открытый текст написан на английском языке. Следовательно, пробовав каждый вариант и проверяя, какой из них приводит к содержательному слову, можно узнать ключ. Как только ключ найден, полный текст шифрования может быть дешифрован точно.
Моноалфавитный шифр
Это также тип шифрования замещения, в котором каждая буква алфавита является подменой, используя некоторую перестановку букв в алфавите. Следовательно, перестановки из 26 букв будут 26! (Факториал 26) и равен 4 × 1026. Этот метод использует случайный ключ для каждой отдельной буквы для шифрования и который делает моноалфавитный шифр защищенным от атаки грубой силы.
Отправитель и получатель принимают решение о случайно выбранной перестановке букв алфавита. Например, в слове «HACKING» замените G на «J» и N на «W», поэтому ключ перестановки равен 2! то есть факториал 2, а HACKING станет «HACKIWJ» [в оригинальной статье - HACKING станет “HACKJIW”].
Алгоритм
Шаг 0: Создадим пару тексту с открытым текстом, путем сопоставления каждой простой текстовой буквы с другой текстовой буквой IJKLQR --- GFE.
Шаг 1: Чтобы зашифровать, для каждой буквы в исходном тексте, заменим обычное текстовое письмо на текстовое письмо. Следовательно, шифрование «IGNITE» будет таким, как показано ниже
Шаг 2: для расшифровки нужно изменить процедуру на шаге 1.
Следовательно, расшифровка «USBUOQ» будет «IGNITE»
Ограниченность: Несмотря на свои преимущества, случайный ключ для каждой буквы в моноалфавитной замене также имеет некоторые недостатки. Очень сложно запомнить порядок букв в ключе, и поэтому требуется много времени и усилий для шифрования или расшифровки текста вручную. Моноалфавитная замена уязвима для частотного анализа.
Шифр Плейфера
Он шифрует орграфы или пары букв, а не отдельные буквы, такие как простой шифр замещения. В этом шифре создается таблица алфавита с сеткой размером 5 × 5, которая содержит 25 букв вместо 26. Один символ «J» (или любой другой) опущен. Сначала нужно заполнить пробелы в таблице буквами ключевого слова (не записывая повторяющиеся буквы), а затем заполнить оставшиеся пробелы остальными буквами алфавита по порядку. Если открытый текст () содержит "J", то он заменяется на "I".
Алгоритм
Шаг 0: Разделим открытый текст на пару, если количество букв нечетно, добавьте «X» с последней буквой открытого текста. Например, "TABLE" ("ТАБЛИЦА") - это наш открытый текст, который разбивает его на пару как: TA BL EX
Шаг 1: Установим матрицу 5 × 5, заполнив первые позиции ключевым словом. Заполним остальную часть матрицы другими буквами. Пусть предположим, что «ARTI» - наш ключ для шифрования.
Шаг 2: для шифрования он включает в себя три правила: если обе буквы попадают в одну строку, нужно заменить каждую букву справа на круговой узор. TA -> IR
Если обе буквы попадают в разные строки и столбцы, формируется прямоугольник с двумя буквами и возьмём буквы в горизонтальном противоположном углу прямоугольника. BL -> TN
Если обе буквы попадают в один и тот же столбец, каждая букву заменяется буквой под ней круговой диаграммой. EX -> LT
Шаг 3: Для приемника дешифрования используется тот же ключ, чтобы расшифровать текст, изменив три правила, используемые в шаге 2.
Шифрование слова «TABLE» - это «IR TN LT».
Ограниченность: Шифр Плейфера значительно сложнее сломать; он по-прежнему уязвим для частотного анализа, поскольку в случае с этим шифром частотный анализ будет применяться на 25 * 25 = 625 возможных орграфах, а не в 25 возможных монографиях (моноалфавитных)
Полиалфавитный шифр
Полиалфавитный замещающий шифр представляет собой ряд простых подстановочных шифров. Он используется для изменения каждого символа открытого текста с переменной длиной. Шифр Виженера (Vigenere cipher) является особым примером полиалфавитного шифра.
Алгоритм
Шаг 0: Решим ключ шифрования для изменения открытого текста в шифре, например, возьмём «HACKING» в качестве ключа шифрования, числовое представление которого «7, 0, 2, 10, 8, 13, 6»
Шаг 1: Чтобы зашифровать, число первой буквы ключа шифрует первую букву открытого текста, второе число второй буквы ключа шифрует вторую букву открытого текста и т. д.
Например, открытый текст “VISIT TO HACKING ARTICLES”, а ключ “HACKING: 7 0 2 10 8 13 6”
Шаг 2: Формула шифрования: «Добавить k mod 26»; то есть исходная буква L становится (L + k)% 26
C = E (L+K) %26
Где L=V и K =7
C = E (V+7) %26
C = E (21+7) %26
C = E (28) %26
C = E (2)
C = E (C)
Следовательно, “VISIT TO HACKING ARTICLES” будет зашифровано в “CIUSBGUOAEUQAMHRVSKYKZ”
Ограниченность: Основной ограниченностью шифра Виженера является повторяющийся характер его ключа. Если криптоаналитик правильно оценивает длину ключа, тогда шифрованный текст можно связать с шифрами Цезаря, которые можно легко разбить отдельно.
Шифрование вращением
В ротации шифр генерирует шифрованный текст от имени размера блока и угла поворота обычного текста в направлении следующих углов: 90° 180° 270°
Алгоритм
Шаг 0: Определим размер блока для открытого текста «CRYPTOGRAPHY», допустим, 6 для него как размер блока.
CRYPTO
GRAPHY
Шаг 1: Для шифрования открытый текст размещается в любом направлении между этими углами 90° 180° 270°, как показано ниже: В 90° поместим точку поворота вниз по вертикали от G до C и так далее.
CRYPTO
GRAPHY
В 180° буква вращается справа налево горизонтально от O до C и так далее.
CRYPTO --- OTPYRC
GRAPHY --- YHPARG
В 270° вращение помещает последнюю букву сверху вниз вертикально от O до Y и так далее.
CRYPTO
GRAPHY
Следовательно, зашифровальный текст будет выглядеть следующим образом:
Шаг 2: Упорядочив буквы в соответствии с их углами, получим:
Шифр повернутый на 90° «GCRRAYPPHTYO»
Шифр повернутый на 180° «YHPARGOTPYRC»
Шифр повернутый на 270° «OYTHPPYARRCG»
Ограниченность: Для дешифрования с использованием размера блока и угла поворота среди всех вышеуказанных текстов шифрования можно расшифровать.
Шифр перестановки
В перестановочном шифровании символы оригинального исходного текста переставляются местами.
Алгоритм
Шаг 0: Определим ключевое слово, которое будет представлять собой число столбцов таблицы, в которых хранится обычный текст внутри него, и поможем в генерации шифрованного текста. Предположим, что мы выбираем CIPHER как ключ.
Шаг 1: Сохраним текст «classical cryptography» в таблице слева направо.
Шаг 2: Для шифрования упорядочим все буквы в соответствии с столбцами в возрастающем порядке ключевого слова «CIPHER» будет CEHIPR как:
Столбец 1: CCCPP
Column2: ESRR
Столбец 3: HSCG
Столбец 4: PALOY
Столбец 5: RIYA
Следовательно, мы получим зашифрованный текст «CCCPPESRRHSCGPALOYRIYA»
Шаг 3: Для дешифровки используется ключ для переупорядочения 26 букв шифрования в соответствии с его столбцом в матрице 6 * 5.
Ограниченность: Было очень легко определить зашифрованное послание, если определить правильный ключ.
Заметки Хакера - ПОДПИШИСЬ