Re:Whatever happened to SHA-256 support in Git?
by stingraycharles on Thursday June 23, 2022 @02:04PM
(#31852915)
I found this, which says that the SHA algorithm allows for truncation: https://csrc.nist.gov/publications/detail/sp/800-107/rev-1/f...
[ Parent
| on HN ]
Re:Whatever happened to SHA-256 support in Git?
by Dylan16807 on Thursday June 23, 2022 @02:35PM
(#31853366)
Not just allows, it becomes more secure when you truncate.
Re:Whatever happened to SHA-256 support in Git?
by tatersolid on Thursday June 23, 2022 @02:59PM
(#31853678)
Truncated SHA-* hashes are more secure against length-extension attacks, but are very much less secure against collision and pre-image attacks (which are more important in most scenarios).
Re:Whatever happened to SHA-256 support in Git?
by Dylan16807 on Thursday June 23, 2022 @03:20PM
(#31853973)
But also, 256 is overkill for collisions and pre-image.
There's a point where truncating starts to make it weaker, but when you first start chopping off bytes the benefits outweigh the drawbacks.
Re:Whatever happened to SHA-256 support in Git?
by neon_electro on Thursday June 23, 2022 @02:50PM
(#31853559)
Care to elaborate? This is not something I would've intuited.
Re:Whatever happened to SHA-256 support in Git?
by bawolff on Thursday June 23, 2022 @02:56PM
(#31853630)
Presumably they are referring to length extension attacks. You can't pull them off if you truncate. https://en.m.wikipedia.org/wiki/Length_extension_attack
Generally though length ext attacks have a solution - HMAC, which is much more secure than truncate.
The more you truncate, the more vulnerable you are to birthday attacks (practically speaking you would have to truncate quite a lot)
Re:Whatever happened to SHA-256 support in Git?
by kzrdude on Thursday June 23, 2022 @03:15PM
(#31853905)
The canonical solution is SHA-512/256 i.e 512 truncated to 256 bits where "nothing is lost" compared to SHA-256 and something is gained. It might even be faster (due to the 64-bit word formulation of SHA-512) in some implementations.
Re:Whatever happened to SHA-256 support in Git?
by NovemberWhiskey on Thursday June 23, 2022 @03:35PM
(#31854168)
Generally is faster (fewer rounds per byte). If you have 256 bits available for your hash and you're on a 64 bit architecture, I've yet to see a case where you're not better off for performance and security choosing SHA-512/256 over SHA-256, assuming you have the choice.
Re:Whatever happened to SHA-256 support in Git?
by ztorkelson on Thursday June 23, 2022 @05:41PM
(#31855498)
Is this still true? I understood SHA256 to be faster than SHA512 due to hardware acceleration on current CPUs; dedicated instructions exist for the former but not the latter.
Re:Whatever happened to SHA-256 support in Git?
by NovemberWhiskey on Friday June 24, 2022 @01:19PM
(#31866026)
It seems like it's not true on a MacBook with the Apple M1 processor; SHA-256 is now significantly faster. It still seems to be true on a couple of Intel machines I have access to.
Re:Whatever happened to SHA-256 support in Git?
by bawolff on Friday June 24, 2022 @08:02PM
(#31871042)
Googling i noticed there seems to be a bug in openssl where it does not use optimized sha-512 on m1 (but does for sha256) - https://github.com/openssl/openssl/issues/14897 so that might be the explanation.
Also i think the length of the input matters when comparing sha256 vs sha512.