I recently rewrote the _blake2 module. I want to the same for other modules where I can align the naming of functions across the different modules. The reason why I'm doing this is because it's becoming harder to make "similar" changes everywhere. In general, if I need to change something in MD5, then I also need to change it in SHA1/SHA2/SHA3, and it's easier if the code looks similar elsewhere.
There are some places that need to be updated because they are dead code, e.g.:
/*[clinic input]
module _sha2
class SHA256Type "SHA256object *" "&PyType_Type"
class SHA512Type "SHA512object *" "&PyType_Type"
[clinic start generated code]*/
should be
/*[clinic input]
module _sha2
class SHA256Type "SHA256object *" "clinic_state()->sha256_type"
class SHA512Type "SHA512object *" "clinic_state()->sha512_type"
[clinic start generated code]*/
Linked PRs
Bug fixes (3.14+)
Backported PRs (HMAC-only)
Abandoned
I recently rewrote the
_blake2module. I want to the same for other modules where I can align the naming of functions across the different modules. The reason why I'm doing this is because it's becoming harder to make "similar" changes everywhere. In general, if I need to change something in MD5, then I also need to change it in SHA1/SHA2/SHA3, and it's easier if the code looks similar elsewhere.There are some places that need to be updated because they are dead code, e.g.:
should be
Linked PRs
_Py_strhexin_md5.md5.hexdigest#135742PyMem_Mallocin SHAKE digest computation #135744moduledirectives for cryptographic modules #135822defining_classfor copying BLAKE-2 and SHA-3 objects #135838Bug fixes (3.14+)
python_hacl_namespaces.h#135741Modules/_hacl/python_hacl_namespaces.h(GH-135741) #135745Backported PRs (HMAC-only)
_hmac#135740_hmac(GH-135740) #135743Abandoned