summaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2018-01-07 15:13:56 +0200
committerDamien George <damien.p.george@gmail.com>2018-06-27 14:54:40 +1000
commit567bc2d6ce18f55e7a1d2c8e023ead44f5c2cc45 (patch)
treec456dd0222cc52ca7f2df9c9a5fcc42b4c277c36 /py
parentb9ec6037edf5e6ff6f8f400d70f7351d1b0af67d (diff)
extmod/moducryptolib: Add ucryptolib module with crypto functions.
The API follows guidelines of https://www.python.org/dev/peps/pep-0272/, but is optimized for code size, with the idea that full PEP 0272 compatibility can be added with a simple Python wrapper mode. The naming of the module follows (u)hashlib pattern. At the bare minimum, this module is expected to provide: * AES128, ECB (i.e. "null") mode, encrypt only Implementation in this commit is based on axTLS routines, and implements following: * AES 128 and 256 * ECB and CBC modes * encrypt and decrypt
Diffstat (limited to 'py')
-rw-r--r--py/builtin.h1
-rw-r--r--py/mpconfig.h4
-rw-r--r--py/objmodule.c3
-rw-r--r--py/py.mk1
4 files changed, 9 insertions, 0 deletions
diff --git a/py/builtin.h b/py/builtin.h
index 84b99a8a4..6f8964a25 100644
--- a/py/builtin.h
+++ b/py/builtin.h
@@ -106,6 +106,7 @@ extern const mp_obj_module_t mp_module_ujson;
extern const mp_obj_module_t mp_module_ure;
extern const mp_obj_module_t mp_module_uheapq;
extern const mp_obj_module_t mp_module_uhashlib;
+extern const mp_obj_module_t mp_module_ucryptolib;
extern const mp_obj_module_t mp_module_ubinascii;
extern const mp_obj_module_t mp_module_urandom;
extern const mp_obj_module_t mp_module_uselect;
diff --git a/py/mpconfig.h b/py/mpconfig.h
index 08d100549..2fe3bdb5a 100644
--- a/py/mpconfig.h
+++ b/py/mpconfig.h
@@ -1163,6 +1163,10 @@ typedef double mp_float_t;
#define MICROPY_PY_UHASHLIB_SHA256 (1)
#endif
+#ifndef MICROPY_PY_UCRYPTOLIB
+#define MICROPY_PY_UCRYPTOLIB (0)
+#endif
+
#ifndef MICROPY_PY_UBINASCII
#define MICROPY_PY_UBINASCII (0)
#endif
diff --git a/py/objmodule.c b/py/objmodule.c
index c4aba3a7b..7ec66adf3 100644
--- a/py/objmodule.c
+++ b/py/objmodule.c
@@ -193,6 +193,9 @@ STATIC const mp_rom_map_elem_t mp_builtin_module_table[] = {
#if MICROPY_PY_UHASHLIB
{ MP_ROM_QSTR(MP_QSTR_uhashlib), MP_ROM_PTR(&mp_module_uhashlib) },
#endif
+#if MICROPY_PY_UCRYPTOLIB
+ { MP_ROM_QSTR(MP_QSTR_ucryptolib), MP_ROM_PTR(&mp_module_ucryptolib) },
+#endif
#if MICROPY_PY_UBINASCII
{ MP_ROM_QSTR(MP_QSTR_ubinascii), MP_ROM_PTR(&mp_module_ubinascii) },
#endif
diff --git a/py/py.mk b/py/py.mk
index 0027fbb88..19ce55a47 100644
--- a/py/py.mk
+++ b/py/py.mk
@@ -227,6 +227,7 @@ PY_EXTMOD_O_BASENAME = \
extmod/moduheapq.o \
extmod/modutimeq.o \
extmod/moduhashlib.o \
+ extmod/moducryptolib.o \
extmod/modubinascii.o \
extmod/virtpin.o \
extmod/machine_mem.o \