--
Greg Rose wrote:
> At 19:02  +1000 2006/09/14, James A. Donald wrote:
>> Suppose the padding was simply
>>
>> 010101010101010 ... 10101010101010000 hash
>>
>> with all leading zeros in the hash omitted, and four
>> zero bits showing where the actual hash begins.
>>
>> Then the error would never have been possible.

James A. Donald:
> I beg to differ. A programmer who didn't understand
> the significance of crypto primitives would (as many
> did) just search for the end of the padding to locate
> the beginning of the hash, and check that the next set
> of bytes were identical to the hash, then return
> "true". So

The hash is known size, and occurs in known position.
He does not search the padding for location, but
examines it for correct format.

>
> 01010101 ... 10101010101010000 hash crappetycrap
>
> would still be considered valid. There's a lot of code
> out there that ignored the fact that after the FFs was
> specific ASN.1 stuff, and just treated it as a defined
> part of the padding.

And that code is correct, and does not have the problem
that we discuss.  Paying attention to ASN.1 stuff is
what is causing this problem.

Code is going wrong because ASN.1 can contain
complicated malicious information to cause code to go
wrong.  If we do not have that information, or simply
ignore it, no problem.

    --digsig
         James A. Donald
     6YeGpsZR+nOTh/cGwvITnSR3TdzclVpR0+pr3YYQdkG
     8Jickn3nr3AE+2RW3jUC7DaHw6yD1gLpSTISH0F6
     4Bjf3VmASP+HQ4q0CYdRKgWFZxd/QnFOiartuob5Q

---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to [EMAIL PROTECTED]

Reply via email to