Re: Gitorious should use CRC128 / 256 / 512 instead of SHA-1
- From
Hans Petter Selasky <hps@selasky.org>
- Date
- Jan 16, 2023, 07:17 UTC
- Message-ID
- <b1984123-569a-c290-8048-158c1c5e08b4@selasky.org>
- In-Reply-To
- <20230115135245.GB16547@kitsune.suse.cz>
On 1/15/23 14:53, Michal Suchánek wrote:
Show 6 quoted lines
>> Many people think that bit errors cannot happen because the memory uses ECC >> and the file system uses cryptographic hashes to verify the integrity of the >> data. But what many people forget about is that when copying data from >> memory to disk, typically using a DMA channel data is copied w/o any kind of >> integrity protection, because the integrity protection is not end-to-end. >> The integrity protection is only per-link.
>
> So long as all links have integrity protection it's end-to-end.
>
Hi Michael,
You clearly don't see what this is about! Only if the same CRC mechanism is end-to-end, you don't have any good integrity mechanism at all!
Let me try to explain what this is about in very simple words. Because memcpy() does not copy the ECC CRC values along with the data, it is an unsafe memory copy mechanism, which may introduce bit-errors without noticing. It does not help to only have ECC RAM or for that sake protect the PCI links.
--HPS