Реферат: Шифрование по методу UUE

Описание алгоритма

Алгоритм UUE основан на идее Фила Карна.

Берётся открытый текст 2N байтов и разделяется на две половины T1 и T2, каждый из N байтов. Также ключ шифрования делиться на две половины K1 и K2. Теперь находится функцию хэша пути S и это используется, чтобы смешивать K1 и T1 для того, чтобы получить блок из N байтов, затем производится второй этап шифрования открытого текста T2 при помощи алгоритма шифрования XOR; в результате получаем блок C2 состоящий из N байтов - это вторая половина зашифрованного текста:

S( K1, T1 ) xor T2 -> C2

Аналогичным способом шифруем другую половину текста, чтобы получить C1 - это первая половина зашифрованного текста:

S( K2, C2 ) xor T1 -> C1

Полный зашифрованный текст - сочетание блоков C1 и C2.

Для того, чтобы дешифровать зашифрованный текст, необходимо повторить операцию в обратном порядке:

S( K2, C2 ) xor C1 -> T1

S( K1, T1 ) xor C2 -> T2

Преимущество данной идеи в том, что безопасность основана в качестве скремблера S. Если Вы можете создать хороший скремблер, тогда Вы можете создать хороший шифровальный алгоритм.

Сердцем алгоритма UUE является параметрический скремблер (GSSCRAMBLE). Скремблер состоит из 7 простых скремблеров (SCRAMBLE0.. SCRAMBLE6). Также используются 32 функции хэша (HASH0.. HASH31).

Алгоритм UUE основан на вышеописанном методе, но он отличается от него.

- Первое отличие – производится деление ключа на четыре равных части: K1s, K1t, K2s, K2t. Компонент K1t используется как первая половина ключа шифрования, компонент K1s используется, чтобы выбирать из большого числа скремблеров - один, чтобы использовать его в дальнейшем для кодировки первой половины открытого текста T1:

S ( K1t, T1 ) xor T2 -> C2 K1s

Аналогичном способом использованы K2t и K2s, чтобы кодировать вторую часть зашифрованного текста, чтобы получить первую половину зашифрованного текста:

S ( K2t, C2 ) xor T1 -> C1 K2s

Для того, чтобы дешифровать зашифрованный текст (C1,C2)необходимо повторить эти же операции в обратном порядке:

S ( K2t, C2 ) xor C1 -> T1 K2s

S ( K1t, T1 ) xor C2 -> T2 K1s

Как Вы можете видеть, K1t и K2t использованы, чтобы модифицировать данные, которые нужно смешиваться, и подключи K1s и K2s использованы, чтобы выбирать скремблер, который определяет как данные будут смешаны. Поскольку UUE использует ключ в 256 байтов, который делится на четыре равные части, каждая длиной в 64 байт (512 битов).

Второе отличие предназначено для устранения слабости в алгоритме Фила Карна. Это можно проиллюстрировать следующим образом: предположим, что мы знаем открытый текст (A,B) и мы знаем, что это производит зашифрованный текст (X,Y), и мы также знаем, что открытый текст (A,C) - в котором мы знаем первую половину сообщения, но не знаем вторую половину - производит зашифрованный текст (W,Z). Затем мы можем вычислить неизвестный открытый текст C следующим образом:

S( K1, A ) xor B -> Y; следовательно S( K1, A ) = B xor Y

S( K1, A ) xor C -> W; следовательно C = S( K1, A) xor W

Объединение эти два результата дает мне величину C в форме:

C = ( B xor Y ) xor W

UUE свободен от этой слабости

Чтобы закодировать сообщение:

S( K1, T1 xor T2 ) xor T2 -> C2 S( K2, C2 ) xor ( T1 xor T2 ) -> C1

К-во Просмотров: 194
Бесплатно скачать Реферат: Шифрование по методу UUE