Шифрование с симметричными ключами. Часть 1
Автор: adm
Все криптографические алгоритмы заменяют один текст другим: открытый текст — зашифрованным. Прежде чем обсудить современные криптографические системы, рассмотрим очень старый простой алгоритм с симметричными ключами, приписываемый Юлию Цезарю и известный как шифр Цезаря.
Чтобы зашифровать шифром Цезаря английский текст, нужно каждую букву открытого текста заменить буквой, располагающейся в алфавите на k символов дальше (при этом весь алфавит рассматривается как цикл, то есть за буквой «z» следует буква «а»). Например, если k = 3, тогда буква «а» в открытом тексте будет заменена в зашифрованном тексте буквой «d»; буква «Ь» станет буквой «е» и т. д. В данном шифре ключом служит параметр к. Например, открытое сообщение «bob, i love you. alice» превратится в «ere, 1 oryx brx. dolfh». Хотя зашифрованный текст выглядит как полная тарабарщина, чтобы взломать такой шифр, не понадобится много времени, если известно, что использовался шифр Цезаря, так как у этого алгоритма шифрования может быть только 25 значений ключа.
Усовершенствованием шифра Цезаря является моноалфавитный шифр, также заменяющий одну букву алфавита другой. Однако вместо того, чтобы заменять символы регулярным образом (например, смещением в алфавите на постоянную величину), любая буква может заменяться любой другой буквой, при условии, что каждая буква замещается уникальным образом. На рис.3 показан пример такого шифра.
Символ
открытого текста: abcdefghi jklmnopqrstuvwxyz
Символ
зашифрованного
текста: mnbvcxzasdfghjklpoiuytrewq
Моноалфавитный шифр
В этом случае открытое сообщение «bob, i love you. alice» превратится в «nkn, s gktc wky. mgsbc». Таким образом, как и в случае шифра Цезаря, зашифрованное сообщение выглядит непонятно. Однако моноалфавитный шифр значительно более надежен, нежели шифр Цезаря, так как существует 26! (величина порядка 1026) возможных вариантов соответствий между алфавитами открытого текста и зашифрованного текста. Попытка найти ключ полным перебором всех 1026 возможных вариантов потребует слишком больших усилий.
Чтобы зашифровать шифром Цезаря английский текст, нужно каждую букву открытого текста заменить буквой, располагающейся в алфавите на k символов дальше (при этом весь алфавит рассматривается как цикл, то есть за буквой «z» следует буква «а»). Например, если k = 3, тогда буква «а» в открытом тексте будет заменена в зашифрованном тексте буквой «d»; буква «Ь» станет буквой «е» и т. д. В данном шифре ключом служит параметр к. Например, открытое сообщение «bob, i love you. alice» превратится в «ere, 1 oryx brx. dolfh». Хотя зашифрованный текст выглядит как полная тарабарщина, чтобы взломать такой шифр, не понадобится много времени, если известно, что использовался шифр Цезаря, так как у этого алгоритма шифрования может быть только 25 значений ключа.
Усовершенствованием шифра Цезаря является моноалфавитный шифр, также заменяющий одну букву алфавита другой. Однако вместо того, чтобы заменять символы регулярным образом (например, смещением в алфавите на постоянную величину), любая буква может заменяться любой другой буквой, при условии, что каждая буква замещается уникальным образом. На рис.3 показан пример такого шифра.
Символ
открытого текста: abcdefghi jklmnopqrstuvwxyz
Символ
зашифрованного
текста: mnbvcxzasdfghjklpoiuytrewq
Моноалфавитный шифр
В этом случае открытое сообщение «bob, i love you. alice» превратится в «nkn, s gktc wky. mgsbc». Таким образом, как и в случае шифра Цезаря, зашифрованное сообщение выглядит непонятно. Однако моноалфавитный шифр значительно более надежен, нежели шифр Цезаря, так как существует 26! (величина порядка 1026) возможных вариантов соответствий между алфавитами открытого текста и зашифрованного текста. Попытка найти ключ полным перебором всех 1026 возможных вариантов потребует слишком больших усилий.
Комментарии
Нет комментариев. Вы можете быть первым!