Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 10
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Двунаправленный динамический список на Delphi + Блок схемы
Калькулятор на Delphi с переводом в другую систему исчисления + Блок схемы
Моделирование процесса передачи данных по магистрали с основным и резерв...

Алгоритм RC6
В качестве одного из кандидатов фирмой RSA Data Security, Inc. был представлен алгоритм RC6 прошедший второй тур отбора. В нем предусматривается использование четырех рабочих регистров, а так-же введена операция целочисленного умножения, позволяющая существенно увеличить возмущения, вносимые каждым циклом шифрования, что приводит к увеличению стойкости и/или возможности сократить число циклов.
RC6 является полностью параметризованным алгоритмом шиф-рования. Конкретная версия RC6 обозначается как RC6-w/r/b, где w обозначает длину слова в битах, r - ненулевое количество итерационных циклов шифрования, а b - длину ключа в байтах. Во всех вариантах RC6-w/r/b работает с четырьмя w-битовыми словами, используя шесть базовых операций, обозначаемых следующим образом:
а + b- целочисленное сложение по модулю 2W;
а - b- целочисленное вычитание по модулю 2W;
а b - побитовое "исключающее ИЛИ" w-битовых слов;
а x b - целочисленное умножение по модулю 2W;
a « b - циклический сдвиг w-битового слова влево на величину, заданную log2w младшими битами b;
a » b — циклический сдвиг w-битового слова вправо на величину, заданную log2W младшими битами b;
Шифрование при помощи RC6-w/r/b описывается следующим об-разом:
Вход: Исходный текст, записанный в 4 w-битовых входных регистрах А, В, С, D; Число циклов шифрования r; Ключевая таблица S[0; ... 2r + 3] w-битовых слов.
Выход: Шифрованный текст в регистрах А, В, С, D.
Алгоритм RC6

Расшифрование в этих обозначениях выглядит очень похоже:
Вход: Шифрованный текст, записанный в 4 w-битовых вход-ных регистрах А, В, С, D; Число циклов шифрования r; Ключевая таблица S[0; ... 2r + 3] w-битовых слов.
Выход: Исходный текст в регистрах А, В, С, D.

Алгоритм вычисления ключей для RC6-w/r/b выглядит следующим образом:
Пользователь задает ключ длиной b байтов. Достаточное число ненулевых байтов дописываются в конец, чтобы получилось целое число слов. Затем эти байты записываются начиная с младшего в массив из с слов, т.е. первый байт ключа записывается в L[0], и т.д., a L[c - 1] при необходимости дополняется со стороны старших разрядов нулевыми байтами. В результате работы алгоритма генерации ключей будет вычислено 2r + 4 слов, которые будут записаны в мас-сиве S[0; ...; 2r + 3].
Константы Р32 = B7E15163h and Q32 = 9E3779B9h - это константы, получаемые из двоичного представления е -2, где е -основание натуральных логарифмов, и ф - 1, где ф - золотое сечение, соответственно. Подобные же константы могут быть аналогичным образом получены и для RC6 с другим размером слова. Выбор констант является в некотором роде произвольным, и поэтому можно использовать и другие константы, получая при этом "частные" версии алгоритма.
Вход: Определенный пользователем b-байтовый ключ, предварительно загруженный в массив L[0;.. .с - 1]; Число циклов шифрования r.
Выход: Ключевая таблица S[0;...2r +4] из w-битовых слов.

Структура шифра RC6 является обобщением сети Фейштеля. Блок текста разбивается не на 2, а на 4 подблока, и на каждой итерации изменяются 2 подблока из четырех. При этом в конце итерации шифрования производится циклический сдвиг подблоков влево (при расшифровании, соответственно, вправо). Однако, такое обобщение привело к тому, что было утеряно свойство инвариантности блоков шифрования и расшифрования, хотя это и не является определяющим в оценке данного алгоритма.
Опубликовал Kest January 04 2012 18:04:37 · 0 Комментариев · 11080 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Averaging [Исходн...
Шкрыль А. - Разра...
Dbgridpack
RbControls
Mass Photo Upload
Медиа комбайн
SUIPack
CLR via C#
AVIwriter
MP3 Архив v.2.0
Blobs [Исходник н...
Основы программир...
Win-Prolog 3.618
Сложный калькулятор
Delphi на примерах
Время загрузки ...
Socoban
Web Регистрация
SendSMS для PHP-F...
WebReg v1.3

Топ загрузок
Приложение Клие... 100793
Delphi 7 Enterp... 98017
Converter AMR<-... 20298
GPSS World Stud... 17059
Borland C++Buil... 14239
Borland Delphi ... 10374
Turbo Pascal fo... 7390
Калькулятор [Ис... 6080
Visual Studio 2... 5228
Microsoft SQL S... 3674
Случайные статьи
Основные препятств...
Сердечная и несерд...
Первое приложение ...
Индивидуализация
Язык С: операции н...
Вызов функции conn...
Azino777
Некоторые пытаются...
Duplicate dynamic ...
String constant ex...
Миниатюризация ком...
Эти точки должны б...
Подсчет количества...
Задача о 8 ладьях
Проверка подключен...
Оригинальная полно...
Глава 13. Страт...
Services for Macin...
Теория тепловых ст...
Программа преобраз...
Методы save() и lo...
Что такое ХР?
Игровой автомат Ре...
Почему каждый хост...
13.2. Линейные стр...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?