Здравтвуйте. Не мог бы кто-нибудь разъяснить одну вещь. Известно, что многообразие симметричных криптосистем делится на несколько базовых классов: моно- и многоалфавитные подстановки, перестановки, блочные шифры и гаммирование. Так вот, в одной небезизвестной книге говорится следующее:"собственно говоря, гаммирование нельзя целиком выделить в отдельный класс криптографических преобразований, так как эта псевдослучайная последовательность может вырабатываться, например, с помощью блочного шифра ". Хотелось бы понять, что значит "последовательность вырабатывается с пощью блочного шифра". Заране спасибо.
немного не понятно...05.08.03 16:14 Автор: cybervlad <cybervlad> Статус: Elderman
> последовательность может вырабатываться, например, с > помощью блочного шифра ". Хотелось бы понять, что значит > "последовательность вырабатывается с пощью блочного шифра". 1. берем синхропосылку. это такая сущность ;) для каждого сообщения должна быть своя. она несекретная и передается вместе с зашифрованным текстом.
2. шифруем эту синхропосылку блочным шифром. на выходе получаем первый кусок гаммы.
3. результат шифруем тем же блочным шифром. получаем второй кусок гаммы.
4. и т.д., пока но получим гамму нужного размера.
5. складываем гамму по модулю 2 (xor) с защищаемым текстом и получаем зашифрованный текст. легко видеть, что от гаммы можно взять необходимое число бит (а не байт или блоков!), т.е. не нужно заморачиваться проблемой выравнивания текста.
на принимающей стороне человек берет синхропосылку и ключ, тем же способом получает гамму и восстанавливает через XOR текст.
процесс генерации гаммы шифра может быть реализован многими способами. К примеру, можно брать сигнал звукового шума со звуковой карты... очень, знаете ли непредсказуемая последовательность.
Так же и с блочным шифром. Мы берем псевдослучайную последовательность, которую даже может быть возможно предугадать (к примеру, стихотворение Маяка ;) ) и шифруем его с помощью блочного шифра (естественно, с каким-то секретным ключом, который даже необязательно запоминать!). Последовательность на выходе болчного шифратора, как мне кажется, будет удовлетворять требованиям, предъявляемым к гамме. То есть она будет абсолютно непредсказуемой, т.к. не зная секретного ключа, примененного при блочном шифровании, нельзя определить результат шифрования известного сообщения.
Короче, сумбурно я описал, но, надеюсь, понятно.
P.S. плюс в этом случае в следующем:
процесс генерации случайной гаммы шифра достаточно нетривиален и сложен (вообще-то абсолютно случайной - и невозможен). А при получении гаммы из блочного шифратора наша задача сводится к выбору секретного ключа для этого шифратора (ну и еще первоначального сообщения), что уже гораздо проще, тем более, что нам не нужно разглашать этот секретный ключ третьей стороне.