@@ -364,15 +364,13 @@ static PyHash_FuncDef PyHash_Func = {fnv, "fnv", 8 * SIZEOF_PY_HASH_T,
364364 d = ROTATE(d, t) ^ c; \
365365 a = ROTATE(a, 32);
366366
367- #define DOUBLE_ROUND (v0 ,v1 ,v2 ,v3 ) \
368- HALF_ROUND(v0,v1,v2,v3,13,16); \
369- HALF_ROUND(v2,v1,v0,v3,17,21); \
367+ #define SINGLE_ROUND (v0 ,v1 ,v2 ,v3 ) \
370368 HALF_ROUND(v0,v1,v2,v3,13,16); \
371369 HALF_ROUND(v2,v1,v0,v3,17,21);
372370
373371
374372static uint64_t
375- siphash24 (uint64_t k0 , uint64_t k1 , const void * src , Py_ssize_t src_sz ) {
373+ siphash13 (uint64_t k0 , uint64_t k1 , const void * src , Py_ssize_t src_sz ) {
376374 uint64_t b = (uint64_t )src_sz << 56 ;
377375 const uint8_t * in = (const uint8_t * )src ;
378376
@@ -391,7 +389,7 @@ siphash24(uint64_t k0, uint64_t k1, const void *src, Py_ssize_t src_sz) {
391389 in += sizeof (mi );
392390 src_sz -= sizeof (mi );
393391 v3 ^= mi ;
394- DOUBLE_ROUND (v0 ,v1 ,v2 ,v3 );
392+ SINGLE_ROUND (v0 ,v1 ,v2 ,v3 );
395393 v0 ^= mi ;
396394 }
397395
@@ -409,11 +407,12 @@ siphash24(uint64_t k0, uint64_t k1, const void *src, Py_ssize_t src_sz) {
409407 b |= _le64toh (t );
410408
411409 v3 ^= b ;
412- DOUBLE_ROUND (v0 ,v1 ,v2 ,v3 );
410+ SINGLE_ROUND (v0 ,v1 ,v2 ,v3 );
413411 v0 ^= b ;
414412 v2 ^= 0xff ;
415- DOUBLE_ROUND (v0 ,v1 ,v2 ,v3 );
416- DOUBLE_ROUND (v0 ,v1 ,v2 ,v3 );
413+ SINGLE_ROUND (v0 ,v1 ,v2 ,v3 );
414+ SINGLE_ROUND (v0 ,v1 ,v2 ,v3 );
415+ SINGLE_ROUND (v0 ,v1 ,v2 ,v3 );
417416
418417 /* modified */
419418 t = (v0 ^ v1 ) ^ (v2 ^ v3 );
@@ -423,19 +422,19 @@ siphash24(uint64_t k0, uint64_t k1, const void *src, Py_ssize_t src_sz) {
423422uint64_t
424423_Py_KeyedHash (uint64_t key , const void * src , Py_ssize_t src_sz )
425424{
426- return siphash24 (key , 0 , src , src_sz );
425+ return siphash13 (key , 0 , src , src_sz );
427426}
428427
429428
430- #if Py_HASH_ALGORITHM == Py_HASH_SIPHASH24
429+ #if Py_HASH_ALGORITHM == Py_HASH_SIPHASH
431430static Py_hash_t
432431pysiphash (const void * src , Py_ssize_t src_sz ) {
433- return (Py_hash_t )siphash24 (
432+ return (Py_hash_t )siphash13 (
434433 _le64toh (_Py_HashSecret .siphash .k0 ), _le64toh (_Py_HashSecret .siphash .k1 ),
435434 src , src_sz );
436435}
437436
438- static PyHash_FuncDef PyHash_Func = {pysiphash , "siphash24 " , 64 , 128 };
437+ static PyHash_FuncDef PyHash_Func = {pysiphash , "siphash13 " , 64 , 128 };
439438#endif
440439
441440#ifdef __cplusplus
0 commit comments