Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

Шифрование (REDOC)   Найти похожие ветки 

 
NataliaC   (2004-05-11 22:38) [0]

Здравствуйте, Уважаемые.
Возникла такая необходимость - в программе написанной на Delphi использовать шифрование именно с помощью алгоритма REDOC. Но вместе с тем и проблема - об этом алгоритме мало что известно и уж тем более как его реализовать в виде программного кода. Я немало времени провела в поисках и нашла только одностраничное описание в книге Брюса Шнайера "Прикладная криптография" (приведу ниже) и реализацию на C. Был ещё документ на английском языке. Я его переводила, прочитала, с трудом осознавая что хотели сказать :), показала преподавателю, на что был дан ответ типа «не подходит, здесь только 1 часть».
И теперь я не знаю что делать... :-/ Исходники на С непонятны в силу абсолютного незнания языка… Алгоритмы мы изучали только самые простые и полностью расписанные как и что (манипуляции с ASCII-кодом). Теперь вот такая задачка…

Возможно, что кто-то знает что-нибудь ещё об этом алгоритме? Поможет разобраться в том, что написано в книге, т.е. как это реализовать? Как переделать С в Delphi? Реально?

Надеюсь на помощь и благодарю за внимание…
--------------------------------------------
Gleam of hope  act of faith


 
NataliaC   (2004-05-11 22:45) [1]

Текст из книги
----------------------------------------
13. 5 REDOC

REDOC II представляет собой другой блочный алгоритм, разработанный Майклом Вудом (Michael Wood) для Cryptech, Inc. В нем используются 20-байтовый (160-битовый) ключ и 80-битовый блок.
REDOC II выполняет все манипуляции - перестановки, подстановки и XOR с ключом - с байтами, этот алгоритм эффективен при программной реализации. REDOC II использует меняющиеся табличные функции. В отличие от DES, имеющего фиксированный (хотя и оптимизированных для безопасности) набор таблиц подстановок и перестановок REDOC II использует зависимые от ключа и открытого текста наборы таблиц (по сути S-блоков). У REDOC II 10 этапов, каждый этап представляет собой сложную последовательность манипуляций с блоком.
Другой уникальной особенностью является использование масок, которые являются числами, полученными из таблицы ключей, и используются для выбора таблиц данной функции для данного этапа. Для выбора таблиц функции используются как значение данных, так и маски.
При условии, что самым эффективным средством вскрытия этого алгоритма является грубая сила, REDOC II очень надежен: для вскрытия ключа требуется 21б0 операций. Томас Кузик (Thomas Cusick) выполнил крипто анализ одного этапа REDOC II, но ему не удалось расширить вскрытие на несколько этапов. Используя дифференциальный криптоанализ, Бихам и Шамир достигли успеха в криптоанализе одного этапа REDOC II с помощью 2300 выбранных открытых текстов. Они не смогли расширить это вскрытие на несколько этапов, но им удалось получить три значения маски после 4 этапов.

REDOC III
REDOC представляет собой упрощенную версию REDOC II, также разработанную Майклом Вудом. Он работает с 80-битовым блоком. Длина ключа может меняться и достигать 2560 байтов (20480 битов). Алгоритм состоит только из операций XOR для байтов ключа и открытого текста, перестановки или подстановки не используются.
(1) Создать таблицу ключей из 256 10-байтовых ключей, используя секретный ключ.
(2) Создать 2  10-байтовых блока маски М1 и М2. М1 представляет собой XOR первых 128 10-байтовых ключей, а М2 - XOR вторых 128 10-байтовых ключей.
(3) Для шифрования 10-байтового блока:

(a) Выполнить XOR для первого байта блока данных и первого байта М1. Выбрать ключ из таблицы ключей, рассчитанной на этапе (1). Использовать вычисленное значение XOR в качестве индекса таблицы. Выполнить XOR каждого, кроме первого, байта блока данных с соответствующим байтом выбранного ключа.
(b) Выполнить XOR для второго байта блока данных и второго байта M1. Выбрать ключ из таблицы ключей, рассчитанной на этапе (1). Использовать вычисленное значение XOR в качестве индекса таблицы. Выполнить XOR каждого, кроме второго, байта блока данных с соответствующим байтом выбранного ключа.
(c) Продолжать для всего блока данных (для байтов с 3 по 10), пока каждый байт не будет использован для выбора ключа из таблицы после выполнения для него XOR с соответствующим значением М1.Затем выполнить XOR с ключом для каждого, кроме использованного для выбора ключа, байта.
(d) Повторить для М2 этапы (а) - (с).
Этот алгоритм быстр. На 33 мегагерцовом процессоре 80386 он шифрует данные со скоростью 2,75 Мбит/с. Вуд оценил, что конвейеризированная реализация на СБИС с 64 битовой шиной данных могла бы шифровать данные со скоростью свыше 1,28 Гбит/с при тактовой частоте 20 МГц.



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
3-1083134812
Негодов
2004-04-28 10:46
2004.05.23
Обработка данных перед выводом их в DBGrid


14-1083216629
Yar-Com
2004-04-29 09:30
2004.05.23
Не пойму что с головой происходит.....


11-1071470678
BaDeVlad
2003-12-15 09:44
2004.05.23
Что за глюк с иконками в меню?


14-1083589784
Igor_thief
2004-05-03 17:09
2004.05.23
XML


14-1083798415
Германн
2004-05-06 03:06
2004.05.23
О конференции "Потрепаться"