[Python-checkins] cpython: Issue #16234: Modify sha3's block_size method to return NotImplemented.

christian.heimes python-checkins at python.org
Sun Oct 14 22:16:39 CEST 2012


http://hg.python.org/cpython/rev/40a1652349e9
changeset:   79722:40a1652349e9
user:        Christian Heimes <christian at cheimes.de>
date:        Sun Oct 14 22:16:27 2012 +0200
summary:
  Issue #16234: Modify sha3's block_size method to return NotImplemented.
This makes the sha3 types unusable from the hmac module. HMAC-SHA3 hasn't been specified yet.

files:
  Modules/_sha3/sha3module.c |  8 ++++++--
  1 files changed, 6 insertions(+), 2 deletions(-)


diff --git a/Modules/_sha3/sha3module.c b/Modules/_sha3/sha3module.c
--- a/Modules/_sha3/sha3module.c
+++ b/Modules/_sha3/sha3module.c
@@ -140,7 +140,7 @@
   #include "keccak/KeccakF-1600-opt32.c"
 #endif
 
-#define SHA3_BLOCKSIZE 200 /* 1600 bits  */
+/* #define SHA3_BLOCKSIZE 200 // 1600 bits  */
 #define SHA3_MAX_DIGESTSIZE 64 /* 512 bits */
 #define SHA3_state hashState
 #define SHA3_init Init
@@ -367,7 +367,11 @@
 static PyObject *
 SHA3_get_block_size(SHA3object *self, void *closure)
 {
-    return PyLong_FromLong(SHA3_BLOCKSIZE);
+    /* HMAC-SHA3 hasn't been specified yet and no official test vectors are
+     * available. Thus block_size returns NotImplemented to prevent people
+     * from using SHA3 with the hmac module.
+     */
+    Py_RETURN_NOTIMPLEMENTED;
 }
 
 static PyObject *

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list