Для верной реализации и у отправителя, и у получателя, должны содержаться идентичные тексты-ключи.
Пример:
Возьмем стихотворение А.С. Пушкина
"К Чаадаеву"
Любви, надежды, тихой славы
Недолго нежил нас обман,
Исчезли юные забавы,
Как сон, как утренний туман;
Но в нас горит еще желанье;
Под гнетом власти роковой
Нетерпеливою душой
Отчизны внемлем призыванье.
Мы ждем с томленьем упованья
Минуты вольности святой,
Как ждет любовник молодой
Минуты верного свиданья.
Пока свободою горим,
Пока сердца для чести живы,
Мой друг, отчизне посвятим
Души прекрасные порывы!
Товарищ, верь: взойдет она,
Звезда пленительного счастья,
Россия вспрянет ото сна,
И на обломках самовластья
Напишут наши имена!
Как я уже говорил, можно сделать указатель либо на отдельную букву, либо на слово.
Зашифрованный текст: 4/1, 1/6, 1/5, 2/6, 1/7.
Числитель дроби - номер строки (начиная отсчет
сверху), знаменатель - номер буквы в строке (слева направо).
.2 Шифр Масонов
Шифр Королевской арки.
Состоит из комбинаций прямых углов с точкам или
без них.
Эти две фигуры, расчлененные,
образуют 13 знаков. А после добавления в них точек получается 26 знаков.
.3 Компьютерные шифры
) Шифр, который представляет собой
большой набор различных символов, среди которых какой-то один образует
очертание слова или буквы. Понятнее будет на примере.
В таких случаях нужно "подсветить" нужный символ, чтобы увидеть слово.
Для этого в ворде нужно нажать Ctrl+F , ввести нужный символ (в данном случае это U), затем "Выделение при чтении" -> "Выделить все"
) Шифрование с помощью ASCII- кода.представляет собой 8-битную кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов.
То есть, вместо символов исходного
текста записываются их ASCII-коды.
4. Сложные протоколы (шифр Диффи-Хеллмана)
Протокол Ди́ффи - Хе́ллмана
(англ.
<#"725417.files/image019.gif">(1)
и пересылает его Бобу, а Боб вычисляет (2):
(2)
и передаёт Алисе. Предполагается, что злоумышленник может получить оба этих значения, но не модифицировать их (то есть у него нет возможности вмешаться в процесс передачи).
На втором этапе Алиса на основе имеющегося у нее
a и полученного по сети B вычисляет значение (3):
(3)
Боб на основе имеющегося у него b и
полученного по сети A вычисляет значение (4):
(4)
Как нетрудно видеть, у Алисы и Боба получилось
одно и то же число (5):
(5)
Его они и могут использовать в
качестве секретного ключа, поскольку здесь злоумышленник встретится с практически
неразрешимой (за разумное время) проблемой вычисления (3) или (4) по
перехваченным При работе алгоритма каждая сторона:
. генерирует случайное
натуральное число
<http://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D1%82%D1%83%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE>
a - закрытый ключ
. совместно с удалённой
стороной устанавливает открытые параметры p и g (обычно значения p и g
генерируются на одной стороне и передаются другой), где p является случайным
простым числом
<http://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE>
(p-1)/2 также должно быть случайным простым числом
<http://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE>
(для повышения безопасности)[7]
<http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%94%D0%B8%D1%84%D1%84%D0%B8_%E2%80%94_%D0%A5%D0%B5%D0%BB%D0%BB%D0%BC%D0%B0%D0%BD%D0%B0>
g является первообразным корнем <http://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B2%D0%BE%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D1%8C_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%87%D0%B8%D1%81%D0%B5%D0%BB)>
по модулю <http://ru.wikipedia.org/wiki/%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8E>
p
3. вычисляет открытый ключ A, используя
преобразование над закрытым ключом
A = ga mod p
4. обменивается открытыми ключами с
удалённой стороной
5. вычисляет общий секретный ключ K,
используя открытый ключ удаленной стороны B и свой закрытый ключ a
K = Ba mod p
К получается равным с обеих сторон, потому что:
a
mod p = (gb mod p)a mod p = gab mod p = (ga
mod p)b mod p = Ab mod p
В практических реализациях для a и b
используются числа порядка 10100 и p порядка 10300.
Число g не обязано быть большим и обычно имеет значение в пределах
первого десятка.
и
, если числа
p, a, b выбраны достаточно большими. Наглядная работа
алгоритма показана на рисунке[6]
<#"725417.files/image026.gif">