Первая группа (I) обладает самой высокой скоростью выполнения, далее следуют вторая (II) и третья (III) группы.




Содержание

 

 

1. Введение…….………………………………………..…..2

2. Теоретическая часть……………………………………..5

· Общие характеристики RC6 алгоритма.………….6

· Окружения с ограничениями пространства……...6

· Аппаратная реализация…………………………….6

· Свойства ключа……………………………………..7

· Шифрование и расшифровка……………………....7

· Другие возможности настройки…………………...8

· Принцип работы…………………………………….9

3. Практическая часть……………………………………..11

4. Заключение……………………………………………...13

5. Список литературы……………………………………..14

6. Приложение А. Тексты программ……………………..15

7. Приложение В. Экранные формы……………………..19

 

Введение.

Криптография (перевод с греч. “тайнопись”) издавна использовалась при обмене самой разнообразной информацией. Самые ранние упоминания об использовании криптографии: Египет – 1900 г. до н.э., Месопотамия – 1500 г. до н.э., при написании Библии – 500 г. до н.э.

Одним из наиболее известных в древней истории деятелей, постоянно пользовавшийся тайнописью, был Юлий Цезарь. Он придумал шифр, носящий название шифр Цезаря (Caesar cipher).

Тайнописью пользовались на протяжении средних веков в Европе, на Ближнем Востоке и в Северной Америке.

Во время гражданской войны в США тайнопись использовалась и северянами и южанами. С тех пор она использовалась в каждой значительной войне.

Во время Второй мировой войны польские и британские шифровальщики раскрыли секрет немецкой шифровальной машины Энигма. В результате было уничтожено множество немецких подводных лодок, потоплен линкор Бисмарк, и вооруженные силы Германии понесли тяжелые потери в ряде операций.

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

 

При написании курсовой работы поставлены следующие цели:

 

1) Изучить RC6 - алгоритм шифрования.

2) Реализовать программу шифрования и расшифровки по алгоритму RC6.

 

Задачи, которые необходимо было решить:

1) Подобрать среду разработки программы.

2) Определить эффективность работы алгоритма.

 

Теоретическая часть.

Алгоритм RC6 является продолжением криптоалгоритма RC5, разработанного Рональдом Ривестом (англ. Ron Rivest) – очень известной личностью в мире криптографии. RC5 был незначительно изменен для того, чтобы соответствовать требованиям AES по длине ключа и размеру блока. При этом алгоритм стал еще быстрее, а его ядро, унаследованное от RC5, имеет солидный запас исследований.

Алгоритм был одним из пяти финалистов конкурса AES, был также представлен NESSIE и CRYPTREC. Является собственническим (проприетарным) алгоритмом, и запатентован RSA Security.

Так как RC6 не был выбран в качестве AES, то нет гарантий, что его использование является свободным. С января 2007 вэб-страница официального сайта RSA Laboratories, разработчика RC6, содержит следующее:

"We emphasize that if RC6 is selected for the AES, RSA Security will not require any licensing or royalty payments for products using the algorithm" ("Мы подчеркиваем, что если RC6 будет выбран в качестве AES, то RSA Security не будет требовать каких либо лицензионных или авторских отчислений за продукты, использующие алгоритм").

Выделенное слово "если" означает, что RSA Security Inc. теперь может требовать лицензионные и авторские платежи за любой продукт, который использует алгоритм RC6. RC6 является запатентованным алгоритмом шифрования.

 

Общие характеристики.

RC6 не имеет известных атак безопасности. RC6 использует зависящие от данных ротации в качестве нелинейных компонентов. Его резерв безопасности является адекватным. Аналитики высоко оценивают простоту RC6, которая может способствовать анализу его безопасности. Предшественником RC6 является RC5, который также стал предметом тщательного анализа.

Окружения с ограничениями пространства.

RC6 имеет небольшие требования к ROM, что является преимуществом в окружениях с ограничениями пространства. У RC6 при расшифровке отсутствует возможность вычисления подключа на лету, что создает повышенные требования к RAM. Это не вполне соответствует реализации в устройстве с существенными ограничениями на RAM, если требуется расшифровка.

Аппаратные реализации.

RC6 может быть эффективно реализован на любом языке объектно-ориентированного программирования.

Первая группа (I) обладает самой высокой скоростью выполнения, далее следуют вторая (II) и третья (III) группы.

Таблица 1. Выполнение шифрования и расшифровки на различных платформах
  32 бита(С) 32 бита (Java) 64 бита (С и ассемблер) 8 бит (С и ассемблер) 32 бита смарт-карты (ARM) Цифровые сигнальные процессоры
MARS II II II II II II
RC6 I I II II I II
Rijndael II II I I I I
Serpent III III III III III III
Twofish II III I II III I
Таблица 2. Выполнение управления ключом в зависимости от платформы
  32 бита(С) 32 бита (Java) 64 бита (С и ассемблер) 8 бит (С и ассемблер) Цифровые сигнальные процессоры
MARS II II III II II
RC6 II II II III II
Rijndael I I I I I
Serpent III II II III I
Twofish III III III II III
                     

 

Таблица 3. Полная оценка выполнения
  Шифрование/ расшифровка Установление ключа
MARS II II
RC6 I II
Rijndael I I
Serpent III II
Twofish II III

 



Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-12-28 Нарушение авторских прав и Нарушение персональных данных


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