Здравствуйте криптографы Пожалуйста ответти на один мой вопрос )) Я начинаю реализовывать мд5 хэш функцию и не до конца понял алгоритм расширения сообщения. Как я понял любая строка от которой вычисляется мд5 хэш расширяется до длинны в 448 байт причем в конец сообщения ставится один 1 бит тоесть сторока в результате строка выглядит следующим образом: "bla-bla"+10000000b+0h+0h+0h+...+0h Я правильно понял или что то не так должно быть ?
Я не хочу писат прогу опираясь на чужие исходники С моей точки зрения реализовать алгоритм с нуля гораздо интереснее и полезнее чем переписывать его из чужих исходников! Мне просто важно знать правильно я понял или нет
полезно научиться понимать алгоритм из чужих исходников. а если оно тебе надо, то потом и написать не подглядывая.
_ir4_Y_ если следовать стандарту, то должно быть так: к сообщению добавляется бит '1' и столько битов '0', чтобы размер последнего блока был равен 448 бит. Оставшиеся 64 бита последненго блока — это длина исходного сообщения в битах. на практике гораздо проще работать с байтами, а не с битами. поэтому к сообщени. приписывается байт 0x80, а затем столько байтов 0x00, чтобы размер последнего блока был 56 байт.
Вот смотри. Ты вместо того, чтобы просто посмотреть, как правильно делается, и делать по подобию(либо просто скопировать), начинаешь создавать темы. Это как называется? ) Походу тебе просто лень ковырять код - я(и многие) сделал именно такой вывод.
md5 очень простой. И алгоритм ничем от исходника не отличается. Что на схему смотри, что на текст, разницы один хрен никакой. Одно дело на алгоритм, другое на математические выкладки смотреть. От последнего толку правда очень мало....