![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Компьютеры, Программирование
Программное обеспечение
Шифрование DES - теория и практика |
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ГОУ ВПО ИЖЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА ”ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ”Отчёт по курсу «МИСЗИ» студента 5 курса специальности 230105 (заочное отделение)Задание « Шифрование DES » Группа 10-19-4зВыполнилСтерхов Д. В.ПринялСтарыгин А. В.Ижевск 2007 Теоретические сведения о DES Процесс шифрования DES представляет собой блочный шифр, он шифрует 64 - битовыми блоками. С одного конца алгоритма вводится 64 - битовый блок открытого текста, а с другого конца выходит 64 - битовый блок шифротекста. DES является симметричным алгоритмом: для шифрования и дешифрования используется одинаковые алгоритмы и ключ(за исключением различий в использовании ключа). Длина ключа равна 56 битам. Ключ обычно представляется 64 - битовым числом, но каждый восьмой бит используется для проверки чётности и игнорируется. Биты чётности являются наименьшими значащими битами байтов ключа. Ключ, который может быть любым 56 - битовым числом, можно изменить в любой момент времени. Ряд чисел считаются слабыми ключами, но их можно легко избежать. Безопасность полностью определяется ключом. На простейшем уровне алгоритм не представляет ничего большего, чем комбинация двух основных методов шифрования: смещения и диффузии. Фундаментальным строительным блоком DES является применение к тексту единичной комбинации этих методов(подстановка, а за ней перестановка), зависящей от ключа. Такой блок называется этапом. DES состоит из 16 этапов, одинаковая комбинация методов применяется к открытому тексту 16 раз. Процесс шифрования данных поясняется рисунком 1. Сначала 64 бита входной последовательности перестанавливаются в соответствии с таблицей 1. Таким образом, бит 58 входной последовательности становится битом 1, бит 50 – 2 и т.д. Таблица 1. &quo ;Начальная перестановка&quo ; 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 Полученная последовательность бит разделяется на две последовательности: L(0) (биты 58, 50, 42, ., 8) и R(0) (биты 57, 49, 41, ., 7), каждая из которых содержит 32 бита. Затем выполняется итеративный процесс шифрования, который описывается следующими формулами: L(i)=R(i-1), i=1,2,.,16. R(i)=L(i-1) F(R(i-1),K(i)), i=1,2,.,16. Функция F называется функцией шифрования. Ее аргументами являются последовательность R, полученная на предыдущем шаге, и 48-битовый ключ K(i), который является результатом функции преобразования 64-битового ключа шифра. Подробно функция шифрования и алгоритм получения ключей K(i) описаны ниже.На последнем шаге итерации будут получены последовательности L(16) и R(16), которые конкатенируются в 64-х битовую последовательность R(16)L(16). Видно, что в полученной последовательности 64 бита, перестанавливаются в соответствии с таблицей 2. Как легко видеть данная перестановка является обратной по отношению к начальной (см. таблицу 1). Таблица 2. &quo ;Конечная перестановка&quo ; 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 Полученная последовательность из 64 бит и будет являться зашифрованной последовательностью.
Рисунок 1 Error: Refere ce source o fou d Процесс расшифрованияПроцесс расшифрования данных является инверсным по отношению к процессу шифрования. Все действия должны быть выполнены в обратном порядке. Это означает, что расшифровываемые данные сначала переставляются в соответствии с таблицей 1, а затем над последовательностью бит R(16)L(16) выполняется те же действия, что и в процессе зашифрования, но в обратном порядке. Итеративный процесс расшифрования описан следующими формулами: R(i-1)=L(i), i =16, 15, ., 1 L(i-1)=R(i) F(L(i),K(i)), i=16, 15, ., 1. На последнем шаге итерации будут получены последовательности L(0) и R(0), которые конкатенируются в 64 битовую последовательность L(0)R(0). В полученной последовательности 64 бита перестанавливаются в соответствии с таблицей 2. Результат преобразования - исходная последовательность бит (расшифрованное 64-битовое значение). Функция шифрованияФункция шифрования F(R,K) схематически показана на рисунке 2. Для вычисления значения функции F используется функция E (расширение 32 бит до 48), функции S(1), S(2),.,S(8) преобразование 6-битового числа в 4-битовое) и функция P (перестановка бит в 32-битовой последовательности). Приведем определения этих функций. Аргументами функции шифрования являются R (32 бита) и K (48 бит). Результат функции E(R) есть 48-битовое число, которое складывается по модулю 2 с числом K. Таким образом, получается 48-битовая последовательность, которая рассматривается, как конкатенация 8 строк длиной по 6 бит (т.е. B(1)B(2)B(3)B(4)B(5)B(6)B(7)B(8)). Результат функции S(i)B(i) - 4 битовая последовательность, которую будем обозначать L(i). В результате конкатенации всех 8 полученных последовательностей L(i) имеем 32-битовую последовательность L=L(1)L(2)L(3)L(4)L(5)L(6)L(7)L(8). Наконец, для получения результат функции шифрования надо переставить биты последовательности L. Для этого применяется функция перестановки P(L). Error: Refere ce source o fou d Рисунок 2.Функция расширения Е, выполняющая расширение 32 бит до 48, определяется таблицей. В соответствии с этой таблицей первые три бита Е(R) - это биты 32,1 и 2, а последние - 31,32,1. &quo ;Функция расширения Е&quo ;(перестановка с расширением) 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 13 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1 Функция S(i), которая преобразует 6-битовые числа в 4-битовые. Эта операция расширяет правую половину данных, R(i) от 32 до 48 битов. Так как при этом не просто повторяются определённые биты, но и изменяется их порядок, эта операция называется перестановкой с расширением. У неё две задачи: привести размер правой половины в соответствии с ключом для операции XOR и получить более длинный результат, который можно будет сжать в ходе операции подстановки. Однако главный криптографический смысл совсем в другом. За счёт влияния одного бита на две подстановки быстрее возрастает зависимость битов результата от битов исходных данных. Это называется лавинным эффектом. DES спроектирован так, чтобы как можно быстрее добиться зависимости каждого бита шифротекста от каждого бита открытого текста и каждого бита ключа.
&quo ;Функции преобразования S(i)&quo ; S(1) 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 S(2) 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 S(3) 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12 S(4) 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14 S(5) 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3 S(6) 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 S(7) 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12 S(8) 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11 К таблице 4 требуются дополнительные пояснения. Каждая из функций S(i)B(i) преобразовывает 6-битовый код в 4-битовый выход по следующему алгоритму:·первый и последний биты входной последовательности B, определяют номер строки k. ·второй, третий, четвертый и пятый биты последовательности B задают номер колонки l ·результат преобразования выбирается из строки k и колонки l.Предположим, что B=011011. Тогда S(1)(B)=0101. Действительно, k=1, l=13. В колонке 13 строки 1 задано значение 5, которое и является значением функции S(1)(011011).Функция перестановки бит P(L), также используемая для определения функции шифрования, задается значениями, приведенными в таблице 5. В последовательности L 32 перестанавливается так, чтобы бит 16 стал первым битом, бит 7 - вторым и т.д. &quo ;Функция перестановки P&quo ; 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 Чтобы завершить описание алгоритма шифрования данных, осталось привести алгоритм получение ключей K(i), i=1,2,.,16, размерностью в 48 бит. Ключи K(i) определяются по 64-битовому ключу шифра как это показано. Error: Refere ce source o fou d В начале над ключом шифра выполняется операция B, которая сводится к выбору определенных бит и их перестановке, как это показано выше. Причем, первые четыре строки определяют, как выбираются биты последовательности C(0) (первым битом C(0) будет бит 57 бит ключа шифра, затем бит 49 и т.д., а последними битами биты 44 и 36 ключа шифра), а следующие четыре строки - как выбираются биты последовательности D(0) (т.е. последовательность D(0) будем стоять из битов 63,55,.,12, 4 ключа шифра). &quo ;Функция перестановки и выбора последовательности B&quo ;(ключа) 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 Как видно из таблицы, для генерации последовательностей C(0) и D(0) не используются биты 8,16,25,32,40,48,56 и 64 ключа шифра.
Любой научный метод разрабатывается на основе определенной теории, которая тем самым выступает его необходимой предпосылкой. Эффективность, сила того или иного метода обусловлена содержательностью, глубиной, фундаментальностью теории, которая "сжимается в метод". В свою очередь "метод расширяется в систему", т.е. используется для дальнейшего развития науки, углубления и развертывания теоретического знания как системы, его материализации, объективизации в практике. "Как известно, развитие науки 1 Кравец А. С. Методология науки. - Воронеж. 1991. С. 21. 304 заключается в нахождении новых явлений природы и в открытии тех законов, которым они подчиняются. Чаще всего это осуществляется благодаря тому, что находят новые методы исследования" [1]. 1 Капица П. Л. Эксперимент. Теория. Практика. - М., 1987. С. 314. Тем самым теория и метод одновременно тождественны и различны. Их сходство состоит в том, что они взаимосвязаны, и в своем единстве есть аналог, отражение реальной действительности. Будучи едиными в своем взаимодействии, теория и метод не отделены жестко друг от друга и в то же время не есть непосредственно одно и то же
1. Учебная компьютерно-опосредованная коммуникация: теория, практика и перспективы развития
2. Державний устрій України: проблеми теорії і практики
3. Основи теорії і практики маркетингу
4. Иск в гражданском процессе: теория и практика
5. Продвинутые методы Ганемана. LМ-потенции: теория и практика
9. Фирма: теория и практика в России
10. Москва — третий Рим: теория и практика
11. Адлер А. Практика и теория индивидуальной психологии
12. Знаки препинания при «как» и синонимичных союзах. Вопросы теории и практики
13. Теория и практика употребления маркетинговой терминологии
14. Ежедневное применение милнаципрана: от теории к практике
15. История развития теории и практики менеджмента
16. Психолог о подростках в школе и семье. Теория и практика психодиагностики
17. Теория и практика взаимодействия
18. Теория и практика психотерапии в России
19. Теория и практика взаимодействия
20. Немецкий язык как иностранный: современные исследования в теории и практике
21. Фокусы рекламы: теория и практика
25. О необходимости культурологической ориентированности теории и практики социальной работы
26. Маркетинг образовательных услуг: методология, теория и практика
27. Монетаризм как теория и практика
28. Сущность инфляции, формы ее проявления в теории и на практике в России
29. Виндикация бездокументарных ценных бумаг: теория и судебно-арбитражная практика
30. Системная теория падежа и предлога в практике преподавания русского языка как иностранного
31. Торговые пассажи, теория и практика строительства
32. Этюды по теории и практике эволюции
33. Лазерные граверы: от теории к практике
34. Теория и практика перевода
36. Руководитель между теорией и практикой
37. "Обычай" и "обычное" как категории гражданского права: отдельные вопросы теории и практики
41. Облік і контроль в органах Пенсійного фонду України: теорія та практика
42. Местное самоуправление: теория, история, современная практика осуществления
44. Принцип разделения властей в теории и практике федеративных отношений
45. Теория и практика производства следственного эксперимента
46. База даних "Теорія та практика прикладного програмування"
47. Развитие теории и практики баз данных
48. Теория и практика логистики
49. Алгебра Дж. Буля и ее применение в теории и практике информатики
50. Проблеми теорії та практики управління проектами у виробничій системі
51. Тенденции в развитии теории и практики менеджмента
52. Эволюция системного подхода в теории и практике управления
53. Педсовет: теория и практика
57. Предмет, объекты и методы политической психологии, соотношение теории и практики
58. Социальная политика, как общественная теория и практика
59. Заземление: теория и практика
60. Налог на добавленную стоимость: применение законодательства в теории и на практике
61. Современные деньги: их теория и практика
62. Теория и практика налогообложения
63. Теория и практика применения лазерной спектроскопии (на примере анализа объектов окружающей среды)
64. Альтернативні концепції теорії макроекономічного регулювання економіки: теорія і практика
65. Конкуренция: теория и практика
66. Податкова система України: теорія і практика становлення
67. Предпринимательство в современной России. Теория и практика
68. Теория и практика оценочной деятельности предприятия
69. Экономическая система: теория и практика
73. Теория Эволюции (шпаргалка)
74. Научный креационизм (Теория сотворения). Обновленная и улучшенная версия
75. Альбом схем по основам теории радиоэлектронной борьбы
76. Отчёт по летней геодезической практике за 1 курс
77. Бюджетный дефицит и государственный долг: теория проблемы и ее проявление в российской экономике
78. Налоги: типы, эволюция. Теория налогообложения
79. Договор купли - продажи жилых помещений (По материалам судебной практики)
80. Теория социальной пассионарности Л. Н. Гумилева
81. Противоречивость "норманнской теории" происхождения государства у славян
82. Норманнская теория происхождения русской государственности ее апологеты и критики
85. Отчет по производственной практике в Агенстве по торговле недвижимостью
89. Теория государства и права
90. Теория государства и права
91. Теория государства и права (Шпаргалка)
92. Теория Государства и Права как юридическая наука
94. Шпаргалка по теории государства и права
95. Теория государства и права. Правовой статус личности
96. Ответы к экзаменационным билетам по Теории государства и права
97. Происхождение права, теории происхождения права, понятие признаки, виды, функции, принципы