On 1/13/22, Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > The question is not whether but when we can/will change this. > > SHA-1 is broken and should be removed at *some* point, so unless the > feature itself is going to be obsolete, its implementation will need > to switch to a PRF that fulfils the requirements in RFC7217 once SHA-1 > ceases to do so. > > And I should also point out that the current implementation does not > even use SHA-1 correctly, as it omits the finalization step. This may > or may not matter in practice, but it deviates from crypto best > practices, as well as from RFC7217 > > I already pointed out to Jason (in private) that the PRF does not need > to be based on a cryptographic hash, so as far as I can tell, siphash > would be a suitable candidate here as well, and I already switched the > TCP fastopen code to that in the past. But SHA-1 definitely has to go. > Correction: this should be a cryptographically secure. That's part of the point of moving away from SHA-1 of course. But fortunately, siphash *is* considered to be cryptographically secure. Whether you want blake2s's keyed mode or siphash doesn't really matter to me. I thought the former's API mapped a bit neater here.