ВУЗ:
Составители:
6
Далее в примерах , где необходимо, будет использовано кодирование букв
русского алфавита, приведенное ниже. Знак "_" означает пробел.
Буква А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я _
Код
010203040506070809101112131415161718192021222324252627282930313233
Когда каждой букве алфавита открытого текста ставится в соответствие
одна буква шифртекста из этого же алфавита, то говорят о применении моноал-
фавитной замены .
Общая формула моноалфавитной замены имеет следующий вид :
Yi=k1*Xi+k2(mod N),
где уi - i-й символ алфавита;
k1 и k2 - константы ;
Xi - i-й символ открытого текста (номер буквы в алфавите );
N - длина используемого алфавита.
Одной из простейших форм шифрования заменой является циклический
сдвиг алфавита на определенное количество символов . Например, если латин -
ский алфавит сдвинуть на три символа, то вместо abcdefghijklmnopqrstuvwxyz
получим defghijklmnopqrstuvwxyzabc. Обратите внимание, что буквы «abc»,
находившиеся в начале алфавита, переместились в конец . Чтобы закодировать
сообщение, пользуясь этим методом , нужно просто заменить нормальный алфа-
вит его смещенной версией .
Вышеприведенный алгоритм , основанный на постоянном сдвиге алфавита,
сможет обмануть разве что совсем неопытного взломщика, поскольку взламыва-
ется исключительно просто . В конце концов , если есть всего 26 возможных вари-
антов сдвига, то все их можно перебрать за сравнительно короткое время вруч-
ную . Лучшим вариантом, по сравнению с первым является использование неупо-
рядоченного алфавита, а не просто сдвига. Еще одним недостатком метода про -
стого постоянного сдвига является то , что сохраняются на своих местах пробелы
между словами. Это еще более упрощает задачу взломщика, поэтому пробелы
также следует кодировать (еще лучше будет кодировать и знаки препинания ).
Например, можно задать такое соответствие строк: одна содержит упорядочен-
ный алфавит, а вторая , задающая преобразование, - его рандомизированную вер-
сию .
Дает ли эта рандомизированная версия существенное улучшение по срав -
нению с предыдущей версией, использовавшей простой постоянный сдвиг ? От-
вет будет утвердительным, так как теперь имеется 26! способов упорядочивания
алфавита, а с учетом пробела это число возрастет до 27!.
Шифр, задаваемый фоpмулой: yi=xi+ki(mod N),
где ki - i-ая буква ключа, в качестве которого используются слово или фраза,
называется шифром Вижинера .
Шифры Бофора используют фоpмулы : уi=ki-xi(mod n) и yi=xi-ki(mod
n).
Пример 1. Открытый текст : "ЗАМЕНА".
Ключ: "КЛЮЧ".
6 Далее в примерах, где необходимо, будет использовано кодирование букв русского алфавита, приведенное ниже. Знак "_" означает пробел. Буква А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я _ Код 010203040506070809101112131415161718192021222324252627282930313233 Когда каждой букве алфавита открытого текста ставится в соответствие одна буква шифртекста из этого же алфавита, то говорят о применении моноал- фавитной замены. Общая формула моноалфавитной замены имеет следующий вид: Yi=k1*Xi+k2(mod N), где уi - i-й символ алфавита; k1 и k2 - константы; Xi - i-й символ открытого текста (номер буквы в алфавите); N - длина используемого алфавита. Одной из простейших форм шифрования заменой является циклический сдвиг алфавита на определенное количество символов. Например, если латин- ский алфавит сдвинуть на три символа, то вместо abcdefghijklmnopqrstuvwxyz получим defghijklmnopqrstuvwxyzabc. Обратите внимание, что буквы «abc», находившиеся в начале алфавита, переместились в конец. Чтобы закодировать сообщение, пользуясь этим методом, нужно просто заменить нормальный алфа- вит его смещенной версией. Вышеприведенный алгоритм, основанный на постоянном сдвиге алфавита, сможет обмануть разве что совсем неопытного взломщика, поскольку взламыва- ется исключительно просто. В конце концов, если есть всего 26 возможных вари- антов сдвига, то все их можно перебрать за сравнительно короткое время вруч- ную. Лучшим вариантом, по сравнению с первым является использование неупо- рядоченного алфавита, а не просто сдвига. Еще одним недостатком метода про- стого постоянного сдвига является то, что сохраняются на своих местах пробелы между словами. Это еще более упрощает задачу взломщика, поэтому пробелы также следует кодировать (еще лучше будет кодировать и знаки препинания). Например, можно задать такое соответствие строк: одна содержит упорядочен- ный алфавит, а вторая, задающая преобразование, - его рандомизированную вер- сию. Дает ли эта рандомизированная версия существенное улучшение по срав- нению с предыдущей версией, использовавшей простой постоянный сдвиг? От- вет будет утвердительным, так как теперь имеется 26! способов упорядочивания алфавита, а с учетом пробела это число возрастет до 27!. Шифр, задаваемый фоpмулой: yi=xi+ki(mod N), где ki - i-ая буква ключа, в качестве которого используются слово или фраза, называется шифром Вижинера. Шифры Бофора используют фоpмулы: уi=ki-xi(mod n) и yi=xi-ki(mod n). Пример 1. Открытый текст: "ЗАМЕНА". Ключ: "КЛЮЧ".
Страницы
- « первая
- ‹ предыдущая
- …
- 4
- 5
- 6
- 7
- 8
- …
- следующая ›
- последняя »