Термин «шифр» имеет арабское происхождение. В начале XV в. арабы опубликовали энциклопедию «Шауба Аль-Аща», в которой есть специальный раздел о шифрах. В этой энциклопедии указан способ раскрытия шифра простой замены. Он основан на различной частоте повторяемости букв в тексте. В этом разделе есть и перечень букв в порядке их повторяемости на основе изучения текста Корана. Заметим, что и для русского алфавита есть подобный перечень.
№ | Буква | Относит. частота | № | Буква | Относит. частота | № | Буква | Относит. частота |
0 1 2 3 4 5 6 7 8 9 | а б в г д е, ё ж з и й | 0,062 0,014 0,038 0,013 0,025 0,072 0,007 0,016 0,062 0,010 | 10 11 12 13 14 15 16 17 18 19 | к л м н о п р с т у | 0,028 0,035 0,026 0,053 0,090 0,023 0,040 0,045 0,053 0,021 | 20 21 22 23 24 25 26 27 28 29 30 | ф х ц ч ш щ ы ь, ъ э ю я | 0,002 0,009 0,004 0,012 0,006 0,003 0,016 0,014 0,003 0,006 0,018 |
Итак, в русском тексте чаще всего встречается буква «О», затем буква «Е» и на третьем месте стоят буквы «И» и «А». Реже всего – буквы «Щ» и «Ф».
|
|
Неудобство шифров типа «подстановка» в случае использования стандартного алфавита очевидно. Таблица частот встречаемости букв алфавита позволяет определить один или несколько символов, а этого иногда достаточно для дешифрования всего сообщения. Поэтому обычно пользуются разными приемами, чтобы затруднить дешифрование. Для этой цели используют многобуквенную систему шифрования – систему, в которой одному символу отвечает одна или несколько комбинаций двух и более символов. Другой прием – использование нескольких алфавитов. В этом случае для каждого символа употребляют тот или иной алфавит в зависимости от ключа, который связан каким-нибудь способом с самим символом или с его порядком в передаваемом сообщении.
В процессе шифрования (и дешифрования) используется таблица («таблица Виженера»), которая устроена следующим способом: в первой строке выписывается весь алфавит, в каждой следующей осуществляется циклический сдвиг на одну букву. Так получается квадратная таблица, число строк которой равно числу столбцов и равно числу букв в алфавите. Ниже представлена таблица, составленная из 31 буквы русского алфавита (без букв «Ё» и «Ъ»). Чтобы зашифровать какое-нибудь сообщение, поступают следующим образом. Выбирается слово – ключ (например, «монастырь») и подписывается с повторением над буквами сообщения.
Таблица Виженера
А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я |
Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А |
В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б |
Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В |
Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г |
Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д |
Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е |
З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж |
И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З |
Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И |
К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й |
Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К |
М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л |
Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М |
О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н |
П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О |
Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П |
С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р |
Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С |
У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т |
Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У |
Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф |
Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х |
Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц |
Ш | Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч |
Щ | Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш |
Ь | Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ |
Ы | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь |
Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы |
Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э |
Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю |
|
|
Чтобы получить шифрованный текст, находят очередной знак ключа, начиная с первого в вертикальном алфавите, а ему соответствующий знак сообщения в горизонтальном. В данном примере сначала находим столбец, отвечающий букве «М» ключа, а затем строку, соответствующую букве «Р» открытого текста. На пересечении выделенных столбца и строки находи букву «Э». Так продолжая дальше, находим шифрованный текст полностью:
м | о | н | а | с | т | ы | р | ь | м | о | н | а | с | т | ы | р | ь | м | о | н |
р | а | с | к | и | н | у | л | о | с | ь | м | о | р | е | ш | и | р | о | к | о |
э | о | я | к | щ | а | п | ы | й | ю | й | щ | о | в | ч | ф | ш | л | ь | ш | ы |
Наконец, к сообщению можно применять несколько систем шифрования.
Аббат Тритемиус – автор первой печатной книги о тайнописи (1518 г.) – предложил несколько шифров и среди них шифр, который можно считать усовершенствованием шифра Г.Ю.Цезаря. Этот шифр устроен так. Все буквы алфавита нумеруются по порядку (от 1 до 33 в русском варианте). Затем выбирают какой-нибудь ключ, например «Вологда», и подписывают сообщением с повторением, как показано ниже:
о | п | е | р | а | ц | и | я | н | а | ч | и | н | а | е | т | с | я | в | в | о | с | к | р | е | с | е | н | ь | е |
в | о | л | о | г | д | а | в | о | л | о | г | д | а | в | о | л | о | г | д | а | в | о | л | о | г | д | а | в | о |
|
|
Чтобы получить шифрованный текст, складывают номер очередной буквы с номером соответствующей буквы ключа. Если полученная сумма больше 33, то из нее вычитают 33. В результате получается последовательность чисел от 1 до 33. Вновь заменяя числа этой последовательности соответствующими буквами, получают шифрованный текст. Разбивая этот текст на группы особой длины (например, по 5), получают шифрованное сообщение:
«СЯСАД ЫЙВЭМ ЖМТБЗ ВЮОЁЖ ПФЪЭФ ХЙОЯФ»
Если под ключом понимать однобуквенное слово «В» (в русском варианте), то мы получим шифр Г.Ю.Цезаря. В этом случае для того же текста шифрованное сообщение принимает вид
«СТЗУГ ЩЛВРГ ЪЛРГЗ ХФВНЕЕ СФНУЗ ФЗРЯЗ»
Появившийся в XVIII в. шифр «по книге» можно рассматривать как дальнейшее усовершенствование шифра Г.Ю.Цезаря. Чтобы воспользоваться этим шифром, два корреспондента договариваются об определенной книге, имеющейся у каждого из них. Например, Я.Гашек «Похождения бравого солдата Швейка» (Москва, 1997). В качестве ключа каждый из них может выбрать «слово» той же длины, что и передаваемое сообщение. Этот ключ кодируется парой чисел, а именно номером страницы и номером строки на ней, и передается вместе с шифрованным сообщением. Например, (287,2) определяет «слово», то есть текст избранной книги: «Внимательно прочитав эту страницу, офицеры ничего не поняли…». Этому ключу отвечает последовательность чисел (от 1 до 33):
В н и м а т е л ь н о п р о ч и т а в э т у с т р а н и ц у…
03 15 10 14 01 20 06 13 30 15 16 17 18 16 25 10 20 01 03 31 20 21 19 20 18 01 15 10 24 21…
Зная этот ключ, можно легко расшифровать переданное сообщение. Например,
«РОНЮП ЕЧХВШ РХЩЮЩ ХУШРМ ШВЧФА»[8]
Примером нераскрываемого шифра может служить «одноразовый шифровальный блокнот» - шифр, в основе которого лежит та же идея, что и в алфавите Г.Ю.Цезаря. Назовем расширенным алфавитом совокупность букв алфавита, знака пробела между словами и знаков препинания [.,:;!? () – “]. Число символов расширенного алфавита в русском варианте равно 44. Занумеруем символы расширенного алфавита числами от 0 до 43. Тогда любой передаваемый текст можно рассматривать как числовую последовательность {an} множества А={0, 1, 2, …, 43}.
|
|
Предположим, что имеем случайную последовательность {сn} из чисел множества А той же длины, что и передаваемый текст (ключ). Складывая по модулю 44 число an передаваемого текста с соответствующим числом сn ключа
an + сn ≡ bn (mod 44), 0 ≤ bn ≤ 43,
получим последовательность {bn} знаков шифрованного текста. Чтобы получить передаваемый текст, можно воспользоваться тем же ключом:
an ≡ сn - bn (mod 44), 0 ≤ an ≤ 43,
У двух абонентов, находящихся в секретной переписке, имеются два одинаковых блокнота. В каждом из них на нескольких листах напечатана случайная последовательность чисел множества А. Отправитель свой текст шифрует указанным выше способом при помощи первой страницы блокнота. Зашифровав сообщение, он уничтожает использованную страницу и отправляет его второму абоненту, получатель шифрованного текста расшифровывает его и также уничтожает использованный лист блокнота. Нетрудно увидеть, что одноразовый шифр не раскрываем в принципе, так как символ в тексте может быть заменен любым другим символом и этот выбор совершенно случаен.
Случайная последовательность чисел множества А может быть получена при помощи «вертушки со стрелкой». Обод вертушки разделен на 44 равные части (дуги). Каждая из них помечена числами от 0 до 43. Запуская вертушку, получим какое-нибудь из чисел множества А. Продолжая так дальше, можем получить случайную последовательность любой длины.
С появлением радио- и телеграфных линий всякую информацию удобно передавать, используя двоичный код, например азбуку Морзе. В современных системах шифрования обычно шифруют сообщения, записанные двоичным кодом (чередование 0 и 1).