Subject: Re: Verifying a kernel.
To: Tonnerre <tonnerre@thundrix.ch>
From: Jonathan Stone <jonathan@dsg.stanford.edu>
List: tech-kern
Date: 07/20/2005 14:55:34
In message <20050720194247.GB2704@pauli.thundrix.ch>,
Tonnerre writes:

[...]

>Please note as well that you need 4G of data until you have a guaranteed
>collision.

Huh? I don't understand the origin of that number. A 32-bit CRC
using a primitive polynomial as generator is goot until the checked
message grows to (2^32)-1 bits, or 256 Mbytes.  256Mbytes is an awful
lot of kernel bloat.

Of course, a CRC-32 isn't going to catch errors where xor'ing the
original message and the damaged message gives you a polynomial
that's  divisble by the generator polynomial. But how likely is that for
"Naturally occurring failures", as opposed to enemy action?

(OTOH, a real digital signature on kernels, or a signature of a SHA512
hash, sounds really neat; but where can a bootloader get the material
to verify a real signature?)