var
i, j,w:integer;
n, m:longint;
s:string;
begin
j:=0; s:=txt;
for i:=length(txt) downto 1 do
begin
j:=i*2;
n:=passw[j-1];
m:=passw[j];
if n>m then
begin
w:=n; n:=m; m:=w;
end;
s:=copy(s, length(txt)-n+1,n)+copy(s, length(txt)-m+1,m- n)+copy(s,1,length(txt)-m);
end;
result:=s;
end;
После выполнения получим:
|
Существуют и другие способы перестановки, которые можно реализовать программным и аппаратным путем. Например, реализованный аппаратным путем блок перестановки, который для преобразования информации использует электрические цепи, по которым она передается параллельным способом. Преобразование текста заключается в «перепутывании» порядка разрядов в цифровой кодограмме путем изменения электрического монтажа схемы в блоке. Для дешифрации на приемном пункте устанавливается другой блок, восстанавливающий порядок цепей.
Для методов перестановки характерны простота алгоритма, возможность программной реализации и низкий уровень защиты, так как при большой длине исходного текста в шифрованном тексте проявляются статистические закономерности ключа, что позволяет его раскрыть достаточно легко.
2.2 Шифры замены (подстановки)
Наиболее известными и часто используемыми шифрами являются шифры замены (подстановки). Они характеризуются тем, что отдельные части сообщения (буквы, слова) заменяются на какие-либо другие буквы, числа, символы и т. д. При этом замена осуществляется так, чтобы потом по шифрованному сообщению можно было однозначно восстановить передаваемое сообщение.
Пусть, например, зашифровывается сообщение на русском языке и при этом замене подлежит каждая буква сообщения. Формально в этом случае шифр замены можно описать следующим образом. Для каждой буквы a исходного алфавита строится некоторое множество символов Ma так, что множества Ma и Mb попарно не пересекаются при a¹b, то есть любые два различные множества не содержат одинаковых элементов. Множество Ma называется множеством шифробозначений для буквы a.
Таблица
а | б | в | … | я |
а | Мб | Мв | … | Мя |
является ключом шифра замены. Зная ее, можно осуществить как зашифровку, так и расшифровку.
При зашифровке каждая буква a открытого сообщения, начиная с первой, заменяется любым символом из множества Ma. Если в сообщении содержится несколько букв a, то каждая из них заменяется на любой символ из Ma. За счет этого с помощью одного ключа (1) можно получить различные варианты зашифрованного сообщения для одного и того же открытого сообщения. Например, если ключом является таблица
а | б | в | г | д | е | ж | з | и | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ш | щ | ъ | ы | ь | э | ю | я |
21 | 37 | 14 | 22 | 01 | 24 | 62 | 73 | 46 | 23 | 12 | 08 | 27 | 53 | 35 | 04 | 20 | 13 | 59 | 25 | 75 | 43 | 19 | 29 | 06 | 65 | 74 | 48 | 36 | 28 | 16 |
40 | 26 | 63 | 47 | 31 | 83 | 88 | 30 | 02 | 91 | 72 | 32 | 77 | 68 | 60 | 44 | 52 | 39 | 07 | 49 | 33 | 85 | 58 | 80 | 50 | 34 | 17 | 56 | 78 | 64 | 41 |
10 | 03 | 71 | 82 | 15 | 70 | 11 | 55 | 90 | 69 | 38 | 61 | 54 | 09 | 84 | 45 | 89 | 67 | 93 | 76 | 18 | 51 | 87 | 66 | 81 | 92 | 42 | 79 | 86 | 05 | 57 |
то сообщение «я знаком с шифрами замены» может быть зашифровано, например, любым из следующих трех способов:
16 | 55 | 54 | 10 | 69 | 09 | 61 | 89 | 29 | 90 | 49 | 44 | 10 | 08 | 02 | 73 | 21 | 32 | 83 | 54 | 74 |
41 | 55 | 77 | 10 | 23 | 68 | 08 | 20 | 66 | 90 | 76 | 44 | 21 | 61 | 90 | 55 | 21 | 61 | 83 | 54 | 42 |
57 | 30 | 27 | 10 | 91 | 68 | 32 | 20 | 80 | 02 | 49 | 45 | 40 | 32 | 46 | 55 | 40 | 08 | 83 | 27 | 42 |
я | з | н | а | к | о | м | с | ш | и | ф | р | а | м | и | з | а | м | е | н | ы |
Так как множества Ма, Мб,.., Мя попарно не пересекаются, то по каждому символу шифрованного сообщения можно однозначно определить, какому множеству он принадлежит, и, следовательно, какую букву открытого сообщения он заменяет. Поэтому дешифрование возможно и открытое сообщение определяется единственным образом.
Одним из простейших методов является прямая замена исходных символов их эквивалентом из вектора замен. В качестве вектора замен может быть использован некоторый смешанный алфавит, например, перестановка обычного алфавита. Для очередного символа исходного текста отыскивается его местоположение в исходном алфавите. Эквивалент из вектора замены выбирается как отстоящий на полученное смещение от начала алфавита. На рис.1 показан полный исходный алфавит, смешанный алфавит и шифрование короткого сообщения, в котором каждая буква заменяется соответствующей буквой смешанного алфавита.
При дешифровании поиск производится в векторе замен, а эквивалент выбирается из исходного алфавита. Полученный таким методом текст имеет сравнительно низкий уровень защиты, так как исходный и шифрованный тексты имеют одинаковые статистические характеристики.
Более стойкой в отношении раскрытия является схема шифрования, основанная на использовании квадрата (таблицы) Вижинера (табл.2). Таблица представляет собой квадратную матрицу с числом элементов К, где К – количество символов в алфавите. Сверху и по левому краю квадрата выписан исходный алфавит. В первой строке матрицы записываются буквы в порядке очередности их в алфавите, во второй – та же последовательность букв, но со сдвигом влево на одну позицию, в третьей – со сдвигом на две позиции и т. д. Освободившиеся места справа заполняются вытесненными влево буквами, записываемыми в естественной последовательности.
|
А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | |
А | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я |
Б | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А |
В | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б |
Г | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В |
Д | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г |
Е | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д |
Ж | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е |
З | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж |
И | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З |
Й | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И |
К | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й |
Л | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К |
М | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л |
Н | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М |
О | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н |
П | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О |
Р | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П |
С | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р |
Т | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С |
У | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т |
Ф | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У |
Х | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф |
Ц | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х |
Ч | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц |
Ш | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч |
Щ | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш |
Ъ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ |
Ы | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ |
Ь | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы |
Э | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь |
Ю | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э |
Я | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю |
Для шифрования текста устанавливается ключ, представляющий собой некоторое слово или набор букв. Далее из полной матрицы выбирается подматрица шифрования, включающая, например, первую строку и строку матрицы, начальной буквой которой являются последовательно буквы ключа.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 |


