АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Дешифрование

Читайте также:
  1. Дешифрование
  2. Шифрование vs. дешифрование

Процесс дешифрования аналогичен процессу шифрования. На входе алгоритма используется зашифрованный текст, но ключи Ki используются в обратной последовательности. K16 используется на первом раунде, K1 используется на последнем раунде. Пусть выходом i-ого раунда шифрования будет Li||Ri. Тогда соответствующий вход (16-i)-ого раунда дешифрования будет Ri||Li.

После последнего раунда процесса расшифрования две половины выхода меняются местами так, чтобы вход заключительной перестановки IP-1 был R16||L16. Выходом этой стадии является незашифрованный текст.

Проверим корректность процесса дешифрования. Возьмем зашифрованный текст и ключ и используем их в качестве входа в алгоритм. На первом шаге выполним начальную перестановку IP и получим 64-битное значение Ld0||Rd0. Известно, что IP и IP-1 взаимнообратны. Следовательно

Ld0||Rd0 = IP (зашифрованный текст)Зашифрованный текст = IP-1(R16||L16)Ld0||Rd0 = IP(IP-1(R16||L16)) = R16||L16

Таким образом, вход первого раунда процесса дешифрования эквивалентен 32-битному выходу 16-ого раунда процесса шифрования, у которого левая и правая части записаны в обратном порядке.

Теперь мы должны показать, что выход первого раунда процесса дешифрования эквивалентен 32-битному входу 16-ого раунда процесса шифрования. Во-первых, рассмотрим процесс шифрования. Мы видим, что

L16 = R15R16 = L15 F(R15, K16)

При дешифровании:

Ld1 = Rd0 = L16 = R15Rd1 = Ld0 F(Rd0, K16) == R16 F(Rd0, K16) == (L15 F(R15, K16)) F(R15, K16)

XOR имеет следующие свойства:

(A B) C = A (B C)D D = 0E 0 = E

Таким образом, мы имеем Ld1 = R15 и Rd1 = L15. Следовательно, выход первого раунда процесса дешифрования есть L15||R15, который является перестановкой входа 16-го раунда шифрования. Легко показать, что данное соответствие выполняется все 16 раундов. Мы можем описать этот процесс в общих терминах. Для i-ого раунда шифрующего алгоритма:

Li = Ri-1Ri = Li-1 F(Ri-1, Ki)

Эти равенства можно записать по-другому:

Ri-1 = LiLi-1 = Ri F(Ri-1, Ki) = Ri F(Li, Ki)

Таким образом, мы описали входы i-ого раунда как функцию выходов.

Выход последней стадии процесса дешифрования есть R0||L0. Чтобы входом IP-1 стадии было R0||L0, необходимо поменять местами левую и правую части. Но IP-1(R0||L0) = IP-1(IP (незашифрованный текст)) = незашифрованный текст Т.е. получаем незашифрованный текст, что и демонстрирует возможность дешифрования DES.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)