КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Полный пример MD5
Отличия MD5 от MD4 - в основной цикл был добавлен еще один дополнительный раунд (четвертый); - в каждом операторе при суммировании используется уникальная константа; - изменена функция, использованная во втором раунде с целью сделать ее менее - к промежуточным результатам каждого шага прибавляются результаты предыдущих шагов, что позволяет усилить эффект распространения ошибки; - изменен порядок считывания слов во втором и третьем раундах; - величина циклического сдвига в каждом раунде u1086 оптимизирована с точки зрения усиления эффекта распространения ошибки. Сдвиги от раунда к раунду
Разделим блок на 16 блоков длиной по 32 бита. word A: 01 23 45 67
Каждый 16-ти битовый блок изменит массив таким образом (алгоритм): Раунд первый. Пусть [abcd k s i] обозначает операцию: [ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4] Раунд второй. [abcd k s i] обозначает: [ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20] Раунд третий: a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s) [ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36] Раунд четвертый: a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s) [ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52] Дальше увеличиваем A, B, C и D на значения, которые они имели до раундов:
Значения элементов таблицы T:
SECURE HASH ALGORITHM (SHA) В переводе «Алгоритм безопасного хэширования». SHA разработан в 1993 году Национальным институтом стандартов и технологий (NIST) США совместно с Агентством национальной безопасности США. Разработчики считают, что для SHA невозможно найти алгоритм, не требующий больших вычислительных ресурсов, который позволил бы найти коллизии. В результате применения алгоритма получается хэш-код длиной 160 бит. Процедура дополнения хэшируемого текста до кратного 512 битам аналогична подобной процедуре алгоритма MD5.
Назначаются 5 переменных по 32 бита (в алгоритме MD5 таких переменных было 4): A = 67 45 23 01; B = EF CD AB 89; C = 98 BA DC FE; D= 10 32 54 76; У = С3 D2 E1 F0. Также как и в MD5 создаются копии этих переменных AA, BB, CC, DD и EE. Основный цикл данного алгоритма состоит из 4 раундов, каждый из которых состоит из 20 операторов. SHA скорее является модификацией MD4, нежели новой разработкой. Сравним изменения MD4, сделанные при разработке MD5, и изменения, сделанные в MD4 при разработке SHA. 1. В каждом из алгоритмов используется 4 раунд. В SHA функция, используемая в 4 раунде аналогично функции из 2 раунда. 2. В SHA используется тот же принцип аддитивной константы для каждого оператора в раунде, что и в MD4. (в MD5 константа каждого оператора отличается от других). 3. Во втором раунде SHA используется та же функция что и в MD4, тогда как в MD5 она была изменена, чтобы сделать ее менее симметричной. 4. Для усиления эффекта распространения ошибки в SHA добавлена 5-я переменная по которой идет "зацепление", в результате этого метод ден Бура -- Босселэра, эффективный для MD5, перестает работать в случае SHA. 5. Если в MD5 изменен порядок считывания слов во втором и третьем раундах, то в SHA входные слова считываются по правилу, созданному на основе кода, исправляющего ошибки. 6. В MD5 величина циклического сдвига меняется от раунда к раунду и от оператора к оператору, а в SHA используют простые циклические сдвиги.
Одна операция SHA. Если t - это номер операции (от 1 до 80), Wt представляет собой t-ый подблок расширенного сообщения, а <<<s - это циклический сдвиг влево на s битов. В начале основного цикла блок хэшируемого текста расширяется до 80 слов по 32 бита по правилу: для слово совпадает с -тым подблоком исходного блока; для полагают , где -- промежуточные значения слов. Каждый из 80 операторов основного цикла имеет следующий вид: TEMP; ; ; ; TEMP; Здесь, как и прежде, символ "" обозначает циклический сдвиг. Основной цикл завершается суммированием , , , , и , , , , . Выходом алгоритма является конкатенация , , , , . В качестве интересного замечания, в первоначальной спецификации SHA не было циклического сдвига влево. Изменение "исправляет технический изъян, который делал стандарт менее безопасным, чем предполагалось. NSA отказалось уточнить истинную причину изъяна.
Сведения об успешных криптографических вскрытиях SНА отсутствуют. SНА - это МD4 с добавлением расширяющего преобразования, дополнительного этапа и улучшенным лавинным эффектом. МD5 - это МD4 с улучшенным битовым хэшированием, дополнительным этапом и улучшенным лавинным эффектом.
Дата добавления: 2014-01-20; Просмотров: 1834; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |