Скачиваний:
29
Добавлен:
01.05.2014
Размер:
235.13 Кб
Скачать

Цифровая подпись 5. Цифровая подпись

 

 

5.1 Проблема аутентификации данных. Защита электронных транзакций

5.2 Стандарт цифровой подписи DSS (Digital Signature Standart)

5.3 Алгоритм цифровой подписи ГОСТ Р 34.10-94

5.4 Хэш-функции

Заключение

 

5.1 Проблема аутентификации данных. Защита электронных транзакций  

При передаче электронных транзакций необходимо решать по крайней мере две задачи: защиту от несанкционированного доступа (шифрование данных транзакции) и аутентификацию данных. Аутентификация гарантирует целостность данных и авторство транзакции. Обычно эти задачи решаются в комплексе с помощью применения соответствующих криптоалгоритмов.

В чем со­сто­ит про­бле­ма ау­тен­ти­фи­ка­ции дан­ных?

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

Ес­ли под­де­лать под­пись че­ло­ве­ка на бу­ма­ге весь­ма не­про­сто, а ус­та­но­вить ав­тор­ст­во под­пи­си со­вре­мен­ны­ми кри­ми­на­ли­сти­че­ски­ми ме­то­да­ми - тех­ни­че­ская де­таль, то с под­пи­сью элек­трон­ной де­ло об­сто­ит ина­че. Под­де­лать це­поч­ку би­тов, про­сто ее ско­пи­ро­вав, или не­за­мет­но вне­сти не­ле­галь­ные ис­прав­ле­ния в до­ку­мент смо­жет лю­бой поль­зо­ва­тель.

С ши­ро­ким рас­про­стра­не­ни­ем в со­вре­мен­ном ми­ре элек­трон­ных форм до­ку­мен­тов (в том чис­ле и кон­фи­ден­ци­аль­ных) и средств их об­ра­бот­ки осо­бо ак­ту­аль­ной ста­ла про­бле­ма ус­та­нов­ле­ния под­лин­но­сти и ав­тор­ст­ва без­бу­маж­ной до­ку­мен­та­ции.

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

Итак, пусть име­ют­ся два поль­зо­ва­те­ля Александр и Борис. От ка­ких на­ру­ше­ний и дей­ст­вий зло­умыш­лен­ни­ка долж­на за­щи­щать сис­те­ма ау­тен­ти­фи­ка­ции.

От­каз (ре­не­гат­ст­во).

Александр за­яв­ля­ет, что он не по­сы­лал со­об­ще­ние Борису, хо­тя на са­мом де­ле он все-та­ки по­сы­лал.

Для ис­клю­че­ния это­го на­ру­ше­ния ис­поль­зу­ет­ся элек­трон­ная (или циф­ро­вая) под­пись.

Мо­ди­фи­ка­ция (пе­ре­дел­ка).

Борис из­ме­ня­ет со­об­ще­ние и ут­вер­жда­ет, что дан­ное  (из­ме­нен­ное) со­об­ще­ние по­слал ему Александр.

Под­дел­ка.

Борис фор­ми­ру­ет со­об­ще­ние и ут­вер­жда­ет, что дан­ное  (из­ме­нен­ное) со­об­ще­ние по­слал ему Александр.

Ак­тив­ный пе­ре­хват.

Владимир пе­ре­хва­ты­ва­ет со­об­ще­ния ме­ж­ду Александром и Борисом с це­лью их скры­той мо­ди­фи­ка­ции.

Для за­щи­ты от мо­ди­фи­ка­ции, под­дел­ки и мас­ки­ров­ки ис­поль­зу­ют­ся циф­ро­вые сиг­на­ту­ры.

Мас­ки­ров­ка (ими­та­ция).

Владимир по­сы­ла­ет Борису со­об­ще­ние от име­ни Александра .

В этом случае для за­щи­ты так­же ис­поль­зу­ет­ся элек­трон­ная под­пись.

По­втор.

Владимир по­вто­ря­ет ра­нее пе­ре­дан­ное со­об­ще­ние, ко­то­рое Александра по­сы­лал ра­нее Борису . Не­смот­ря на то, что при­ни­ма­ют­ся все­воз­мож­ные ме­ры за­щи­ты от по­вто­ров, имен­но на этот ме­тод при­хо­дит­ся боль­шин­ст­во слу­ча­ев не­за­кон­но­го сня­тия и тра­ты де­нег в сис­те­мах элек­трон­ных пла­те­жей.

Наи­бо­лее дей­ст­вен­ным ме­то­дом за­щи­ты от по­вто­ра яв­ля­ют­ся

·        ис­поль­зо­ва­ние ими­тов­ста­вок,

·        учет вхо­дя­щих со­об­ще­ний.

 

Рис 5.1.1. Возможные нарушения защиты сообщений,. посылаемых пользователем А пользователю В.

 

5.1.1 Подпись документов при помощи симметричных криптосистем  

Первые варианты цифровой подписи были реализованы при помощи симметричных криптосистем, в которой абоненты, участвующие в обмене сообщениями, используют один и тоже секретный ключ для простановки и проверки подписи под документом. В качестве алгоритма криптографического преобразования может использоваться любая из симметричных криптосистем, обладающая специальными режимами функционирования (например, DES, ГОСТ 28147-89 и т.п.).

Процедура подписи документов при помощи симметричной криптосистемы может выглядеть следующим образом:

1. Алекс и Юстас обладают одинаковым секретным ключом K.

2. Алекс зашифровывает цифровое сообщение, используя ключ K, и посылает зашифрованное сообщение Юстасу. При этом, как уже отмечалось, используется криптосистема, обладающая специальными механизмами функционирования, например ГОСТ 28147-89 в режиме выработки имитовставки.

3. Юстас расшифровывает сообщение при помощи ключа K.

Так как только Алекс и Юстас обладают секретным ключом, то тем самым обеспечивается гарантия, что сообщение подписано именно Алексом, а не стариком Мюллером. Однако, данная схема применима только в тех сетях, в которых можно дать стопроцентную гарантирую надежности каждого из абонентов, т.к. в обратном случае существует потенциальная возможность мошенничества со стороны одного из абонентов, владеющих секретным ключом.

Для устранения указанного недостатка была предложена схема с доверенным арбитром. В данной схеме помимо Алекса и Юстаса существует арбитр - радистка Кэт. Она может обмениваться сообщениями и с Алексом, и с Юстасом, и владеет секретными ключами обоих - KА и KЮ. Процедура подписания документов в данной схеме выглядит следующим образом:

1. Алекс зашифровывает сообщение, используя ключ KА, и посылает его Кэт.

2. Кэт расшифровывает сообщение, также используя ключ KА.

3. Расшифрованное сообщение Кэт зашифровывает на ключе Юстаса KЮ.

4. Данное сообщение Кэт посылает Юстасу.

5. Юстас расшифровывает сообщение, полученное от Кэт, используя ключ KЮ.

Насколько эффективна данная схема? Рассмотрим ее с учетом вышеуказанных требований, предъявляемых к цифровой подписи.

Во-первых, Кэт и Юстас знают, что сообщение пришло именно от Алекса. Уверенность Кэт основана на том, что секретный ключ KА имеют только Алекс и Кэт. Подтверждение Кэт служит доказательством Юстасу. Во-вторых, только Алекс знает ключ KА (и Кэт, как доверенный арбитр). Кэт может получить зашифрованное сообщение на ключе KА только от Алекса. Если Мюллер пытается послать сообщение от имени Алекса, то Кэт сразу обнаружит это на 2-м шаге. В-третьих, если Юстас пытается использовать цифровую подпись, полученную от Кэт, и присоединить ее к другому сообщению, выдавая его за сообщение от Алекса, это выявляется. Арбитр может потребовать от Юстаса данное сообщение и затем сравнивает его с сообщением, зашифрованном на ключе KА. Сразу выявляется факт несоответствия между двумя сообщениями. Если бы Юстас попытался модифицировать присланное сообщение, то Кэт аналогичным способом выявила бы подделку. В-четвертых, даже если Алекс отрицает факт посылки подписанного сообщения, подтверждение от Кэт говорит об обратном.

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

Можно заметить, что самым критичным звеном этой схемы является именно арбитр. Во-первых, он должен быть действительно независимой ни от кого стороной. А во-вторых, арбитр должен быть абсолютно безошибочным. Ошибка в рассмотрении даже одной из нескольких тысяч спорных ситуаций подорвет доверие не только к арбитру, но и ко всем предыдущим подписанным документам, достоверность которых удостоверялась арбитром.

Именно поэтому, несмотря на теоретическую возможность применения симметричных криптосистем, на практике для выработки подписи они не используются, поскольку требуют дорогостоящих и громоздких мероприятий по поддержанию достаточного уровня достоверности передаваемых данных.

 

5.1.2 Подпись документов при помощи криптосистем с открытыми ключами  

Поиски методов, устраняющих указанные выше недостатки, велись по нескольким направлениям. Наиболее впечатляющих результатов добились криптографы-математики Уитфилд Диффи (W. Diffie) и Мартин Хеллман (M. Hellman), а также Ральф Меркль (Ralph Merkle), которые в конце 70-х годов опубликовали результаты своих исследований. В своих работах авторы показали, что существует возможность построения криптосистем, не требующих передачи секретного ключа между абонентами, участвующими в обмене защищаемой информацией. В таких криптосистемах нет необходимости и в арбитрах. Суть разработанного подхода заключается в том, что в обмене защищаемыми документами каждый абонент использует пару взаимосвязанных ключей - открытый и секретный. Отправитель подписываемого документа передает получателю открытый ключ. Он может это сделать любым несекретным способом или поместить ключ в общедоступный справочник. При помощи открытого ключа получатель проверяет подлинность получаемой информации. Секретный ключ, при помощи которого подписывалась информация, хранится в тайне от всех.

Можно заметить, что в данной схеме абоненты используют различные ключи, что не позволяет мошенничать ни одной из сторон. Подробный анализ цифровой подписи на основе криптосистем с открытыми ключами показывает, что она полностью удовлетворяет требованиям, предъявляемым к ней. В настоящий момент широкого известны цифровые подписи, построенные по алгоритмам RSA, Эль-Гамаля, Шнорра, Рабина и математического аппарата эллиптических кривых.

 

5.1.3 Дайджест сообщения

 

Для формирования цифровой подписи документа обычно создается так называемый дайджест сообщения (message digest) , который представляет собой свертку исходного сообщения с помощью специальной хэш-функции. Длина дайджеста с одной стороны намного меньше чем возможные исходные сообщения, а с другой стороны такова, что полный перебор возможных значений является практически невыполнимым. Например длина дайджеста порождаемого алгоритмами Ривеста – MD2, MD4, MD5, равняется 128 битам, а алгоритмом SHA – 160 бит.

Хэш-функции, создающие дайджест сообщений, обладают свойством односторонности. Это означает, что если мы имеем дайджест

                              h = H(T),

где H – хэш-функция, T – исходный текст, то восстановить аргумент T, если известно значение h с вычислительной точки зрения невозможно. Хэш-функция должна удовлетворять следующим условиям:

1.      исходный текст может быть произвольной длины;

2.      само значение H(T) имеет фиксированную длину;

3.      значение функции H(T) легко вычисляется для любого аргумента;

4.      восстановить аргумент по значению с вычислительной точки зрения практически невозможно;

5.      функция H(T) – однозначна;

 

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

 

5.2 Стандарт цифровой подписи DSS (Digital Signature Standart)  

Стандарты электронной подписи на основе алгоритмов RSA и Эль-Гамаль были рассмотрены в разделе асимметричных криптосистем. Здесь будут рассмотрены другие не менее распространенные стандарты цифровой подписи: DSS, ГОСТ Р34.11-94, хэш-функция SHA.

В 1991 г. Национальный институт стандартов и технологии (NIST) предложил для появившегося тогда алгоритма цифровой подписи DSA (Digital Signature Algorithm) стандарт DSS (Digital Signature Standard), в основу которого положены алгоритмы Эль-Гамаля и RSA.

Этот стандарт определяет алгоритм цифровой подписи DSA (Digital Signature Algorithm), который может использоваться для генерации цифровой подписи. Цифровые подписи используются для выявления неавторизованных модификаций данных и аутентификации идентичности пользователя генерирующего подпись. В дополнение, получатель подписанных данных может использовать цифровую подпись в доказательстве третьей стороне того, что подпись действительно сгенерирована стороной, подписавшей данные.

Пояснение: этот стандарт определяет Digital Signature Algorithm (DSA) предназначенный для приложений, требующих цифровых подписей. DSA цифровая подпись представляет собой пару больших чисел, представляемых в компьютере в виде двоичных цифр. Цифровая подпись вычисляется на основе набора правил (т.е. алгоритма DSA) и набора параметров, которые могут быть использованы для проверки идентичности подлинника и целостности данных. DSA включает генерацию подписи и ее проверку. Генерация использует секретный (private) ключ для получения цифровой подписи. Проверка подписи использует открытый (public) ключ, который соответствует секретному ключу, использованному при генерации подписи, но не равный ему.

Каждый пользователь обладает парой ключей: секретным и открытым. Предполагается, что открытые ключи известны всем членам группы пользователей, либо вообще доступны всем. Секретные ключи должны знать только их создатели (владельцы). Любой может проверить подпись пользователя с помощью применения его открытого ключа. Генерация подписи может быть осуществлена только владельцем секретного ключа.

При генерации подписи для получения сжатой версии данных, называемой сверткой сообщения (message digest) используется хэш-функция. Свертка сообщения подписывается. Цифровая подпись отсылается получателю вместе с подписанными данными (часто называемыми сообщением). Получатель сообщения и подписи проверяет подпись, используя открытый ключ отправителя. В процессе проверки подписи должна использоваться аналогичная хэш-функция, что и при подписывании.

Применимость: этот стандарт применим для всех государственных подразделений и агентств для защиты и аутентификации информации. Этим стандартом должны руководствоваться все государственные подразделения оперирующие цифровой подписью на основе систем с открытыми ключами (public key based systems).

Применения: DSA аутентифицирует целостность подписанных данных и идентичность подписывающего. DSA может также применятся в доказательстве третьей стороны того, что данные были подписаны тем, кто сгенерировал подпись. DSA предназначен для использования в электронной почте, передачи электронных платежей, обмена данными, распространения программного обеспечения, хранения данных и других применений, которые требуют доверия к целостности и аутентификации подлинности.

Исполнение: DSA может иметь программное, микропрограммное и аппаратное исполнение.

Ограничения: Стойкость системы цифровой подписи в значительной степени зависит от защищенности пользовательских секретных ключей. Поэтому пользователи должны хорошо защищать свои секретные ключи от неавторизованного доступа к ним.

 

5.2.1 Реализация DSS (Выполнена в компании DEKART S.R.L)

 

DSS (Digital Signature Standart) – стандарт электронной подписи предложен американским  национальным институтом стандартов и технологий (American National Institute of Standarts and Technoloy (NIST)) – по рекомендации национального агентства безопасности (National Security Agency (NSA)).

В основе DSS лежит алгоритм цифровой сигнатуры (свертки сообщения) SHA (Secure Hash Algorithm) и Digital Signature Algorithm (DSA) в основе, которого лежит криптосистема Эль-Гамаля. Алгоритм SHA используется для выработки цифровой сигнатуры сообщения, которая в свою очередь подписывается с помощью алгоритма Эль-Гамаля и присоединяется к сообщению.

Стойкость системы в целом основана на сложности нахождения логарифмов в конечных полях (полях Галуа).

Рассмотрим положения и математические методы, которые лежат в основе системы. Прежде всего необходимо отметить, что алгоритм Эль-Гамаля представляет собой криптосистему с открытым ключом. Это означает, что ряд параметров (ключей) системы являются открытыми, но в тоже время она предполагает наличие секретного ключа, который должен надлежащим образом храниться и применятся.

Таким образом параметры системы разделяются на три группы:

·        общие параметры;

·        секретный ключ;

·        открытый ключ;

Общие параметры необходимы для функционирования системы в целом. Секретный ключ используется для формирования электронной подписи сообщения. Открытый ключ применяется для проверки подлинности электронной подписи. Таким образом подписать сообщение может только тот, кто владеет секретным ключом, а проверит подлинность подписи может любой, кто этого пожелает (при наличии у него общих параметров и открытого ключа).

Общие параметры системы представляют тройку (p, q,g), где p – простое число (модуль) удовлетворяет неравенству

                             2511 < p < 2512.

q – простой делитель p-1 и удовлетворяет неравенству

                             2159 < q <2160.

g – генератор, удовлетворяющий условию

                             ,

где h – любое целое из 0 < h < p и такое, что

                             .

Эти значения делаются общими, т.е. объявляются всем участникам, обменивающимися подписанными сообщениями.

Секретный ключ  x случайно выбирается каждым пользователем из диапазона [1,q]  и держится в секрете. В нашей реализации DSS для этого он зашифровывается алгоритмом DES с помощью ключа (password) пользователя и в таком виде хранится в файле user_ident.SEC.

Открытый ключ y вычисляется следующим образом

                             y = gx mod p

и в нашей реализации хранится в файле PUBLIC.KEY.

Другие параметры: m – сообщение, подлежащее подписыванию и передаче, k – случайное число такое, что  0 < k < q. H – односторонняя хэш-функция.

Параметр k также является секретным и меняется от одной подписи к другой.

Криптографическая стойкость системы зависит от размера параметров p и q (в нашем случае это 512 и 160 бит соответственно). Причем со стороны q может быть возможна только силовая атака, т.е. полный перебор и в нашем случае криптостойкость по параметру q равна 2160. Со стороны параметра p нападение равносильно нахождению логарифма в поле Галуа GF(2512) и извлечение логарифмов по модулю p потребует проведения предварительных вычислений, по объему пропорциональных

                             ,

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

И, наконец, для того, чтобы получатель мог доказать подлинность сообщения третьему лицу к сообщениям приписываются так называемые цифровые сигнатуры. Цифровая сигнатура – это массив данных, зависящий как от идентификатора отправителя, так и содержания сообщения. В DSS для формирования цифровой сигнатуры используется алгоритм SHA и длина этой сигнатуры равна 160 бит.

 

Генерация цифровой подписи

 

Процесс вычисления цифровой подписи для сообщения m состоит из следующих этапов:

1.      Вычисление цифровой сигнатуры на основе алгоритма SHA (здесь мы заменили обозначение H на SHA)

h = SHA(m)

2.      Выбор случайного числа k из диапазона [1, q] и вычисление

r = (gk mod p) mod q

3.      Вычисление

s = (k-1*(h+xr)) mod q.

где k-1 – мультипликативная инверсия k по модулю q; т.е. (k-1 * k) mod q = 1 и 0 < k-1 < q.

Значения r, s являются цифровой подписью сообщения m и передаются вместе с ним.

 

Проверка цифровой подписи

 

Процесс проверки цифровой подписи производится следующим образом: пусть m¢, r¢, s¢ полученная версия значений m¢, r¢, s соответственно и пусть y будет открытым ключом пользователя передавшего подписанное сообщение. Для проверки подписи получатель, прежде всего должен проверить что 0 < r¢ < q и 0 < s¢ < q ;  если хотя бы одно из этих условий нарушено подпись отвергается. Далее:

1.                 Вычисляются значения

w = s¢-1 mod q

u1 = (H(m¢)w) mod q

u2 = ((r¢)w) mod q

v = ((gu1*yu2)mod p) mod q

2.                 Выполняется проверка равенства

v = r¢

Если это равенство выполняется, то делается вывод, что подпись верная и сообщение аутентично. В противном случае сообщение должно быть отвергнуто, поскольку в этом случае цифровая подпись не соответствует сообщению.

 

5.3 Алгоритм цифровой подписи ГОСТ Р 34.10-94  

Это российский стандарт цифровой подписи, официально называемый ГОСТ Р  34.10-94.  Алгоритм очень похож на DSA, и использует следующие параметры:

p = простое число,  длина которого либо между  509  и 512 битами, либо между  1020 и 1024 битами

q = простое число- множитель p- 1, длиной от 254  до 256 битов

a =  любое число, меньшее  p- 1, для которого aq mod p =  1

x = число, меньшее q

y=ax mod p

Этот алгоритм использует однонаправленную хэш-функцию: H(x). Cтандарт определяет использование хэш-функции ГОСТ Р 34.1 1-94, основанной на симметричном алгоритме ГОСТ.

Первые три параметра, p, q и a, открыты и могут использоваться совместно пользователями сети. Закрытым ключом служит x, а открытым - y.

 Алгоритм генерации подписи m:

1)     выбрать случайным образом число k: k<q

2)     подписью сообщения m будет пара чисел:

r=(ak mod p) mod q

      s=(xr+k*H(m)) mod q

Если H(m) mod q =0, то значение хэш-функции устанавливается равным 1. Если r =0, то выбирается другое значение k и начинается все сначала.

Алгоритм проверки подписи:

1)  v=H(m)q-2 mod q

2)  z1=(sv) mod q

3)  z2=((q-r)*v) mod q

4)  u=((az1*yz2)mod p) mod q

если u=r, то признается что сообщение m подписано пользователем, который предоставил открытый ключ y.

Различие между этой схемой и DSA в том, что в DSA  s = (k-1*(h+xr)) mod q, что дает другое уравнение проверки.

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

Автор: ГУБС ФАПСИ и ВHИИС - авторы стандарта. Сам алгоритм (ядро стандарта) – базируется на стандарте Эль-Гамаль.

 

5.4 Хэш-функции   Как показывает практика, алгоритмы с открытым ключом очень неэффективны из-за низкой скорости обработки большого объема данных. Для уменьшения времени на генерацию и проверку подписи, а также для сокращения ее размера применяется специальный механизм, называемый хэш-функцией (hash function), который является отображением подписываемого сообщения в строку фиксированной длины, много меньшей размера самого сообщения. Вместо подписи самого документа подписывается хэш-функция этого документа. Аналогичным образом проверяется подпись не самого документа, а его хэш-функции. Наиболее известные из хэш-функций - MD2, MD4, MD5 и SHA. Три алгоритма серии MD разработаны Ривестом в 1989-м, 90-м и 91-м году соответственно. Все они преобразуют текст произвольной длины в 128-битную сигнатуру.

 

5.4.1 Хэш-функция MD4

 

Ривест описал цели, преследуемые им при разработке алгоритма:

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

Прямая безопасность. Безопасность MD4 не основывается на каких-либо допущениях, например, предположении о трудности разложения на множители.        .

Скорость. MD4 подходит для высокоскоростных программных реализаций. Она основана на простом наборе битовых манипуляций с  32- битовыми операндами.

Простота и компактность. MD4 проста, насколько это возможна, и не содержит больших структур данныхили сложных программных модулей.

Удачная архитектура. MD4 оптимизирована для микропроцессорной архитектуры (особенно для микропроцессоров Intel),  для более крупных и быстрых компьютеров можно выполнить любые необходимые изменения.

Алгоритм MD4 предусматривает:

·        дополнение текста до длины, равной 448 бит по модулю 512;

·        добавляется длина текста в 64-битном представлении;

·        512-битные блоки подвергаются процедуре Damgard-Merkle (В отличие от хэш-функции - этот класс преобразований предполагает вычисление для

Соседние файлы в папке book