Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

Шифрование (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.043 c
14-1083457127
VID
2004-05-02 04:18
2004.05.23
Спим ?


1-1083604314
Goida
2004-05-03 21:11
2004.05.23
Как поместить в DLL MDI форму?


4-1081251517
Dimitry
2004-04-06 15:38
2004.05.23
Запрет ввода некоторых символов в Edit


1-1083959896
Sergix
2004-05-07 23:58
2004.05.23
Как скопировать каталог


14-1083772408
Ig
2004-05-05 19:53
2004.05.23
Это, что?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский