Skip to content

Commit

Permalink
crypto:support nuttx /dev/crypto
Browse files Browse the repository at this point in the history
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
  • Loading branch information
anjiahao1 committed Aug 31, 2022
1 parent 17ff2af commit 81db2b5
Show file tree
Hide file tree
Showing 39 changed files with 1,571 additions and 2,393 deletions.
85 changes: 85 additions & 0 deletions boards/sim/sim/sim/configs/crypto/defconfig
@@ -0,0 +1,85 @@
#
# This file is autogenerated: PLEASE DO NOT EDIT IT.
#
# You can use "make menuconfig" to make any modifications to the installed .config file.
# You can then do "make savedefconfig" to generate a new defconfig file that includes your
# modifications.
#
# CONFIG_NSH_CMDOPT_HEXDUMP is not set
CONFIG_ALLOW_BSD_COMPONENTS=y
CONFIG_ALLSYMS=y
CONFIG_ARCH="sim"
CONFIG_ARCH_BOARD="sim"
CONFIG_ARCH_BOARD_SIM=y
CONFIG_ARCH_CHIP="sim"
CONFIG_ARCH_SIM=y
CONFIG_BOARDCTL_APP_SYMTAB=y
CONFIG_BOARDCTL_POWEROFF=y
CONFIG_BOARD_LOOPSPERMSEC=0
CONFIG_BOOT_RUNFROMEXTSRAM=y
CONFIG_BUILTIN=y
CONFIG_CRYPTO=y
CONFIG_CRYPTODEV_SOFTWARE=y
CONFIG_CRYPTO_CRYPTODEV=y
CONFIG_CRYPTO_SW_3DES=y
CONFIG_CRYPTO_SW_AES=y
CONFIG_CRYPTO_SW_BLF=y
CONFIG_CRYPTO_SW_CAST=y
CONFIG_CRYPTO_SW_CHACHAPOLY=y
CONFIG_CRYPTO_SW_GMAC=y
CONFIG_CRYPTO_SW_MD5=y
CONFIG_CRYPTO_SW_POLY1305=y
CONFIG_CRYPTO_SW_RIJNDAEL=y
CONFIG_CRYPTO_SW_RMD160=y
CONFIG_CRYPTO_SW_SHA1=y
CONFIG_CRYPTO_SW_SHA2=y
CONFIG_DEBUG_SYMBOLS=y
CONFIG_DEV_GPIO=y
CONFIG_DEV_LOOP=y
CONFIG_DEV_ZERO=y
CONFIG_EXAMPLES_GPIO=y
CONFIG_EXAMPLES_HELLO=y
CONFIG_FAT_LCNAMES=y
CONFIG_FAT_LFN=y
CONFIG_FSUTILS_PASSWD=y
CONFIG_FSUTILS_PASSWD_READONLY=y
CONFIG_FS_BINFS=y
CONFIG_FS_FAT=y
CONFIG_FS_PROCFS=y
CONFIG_FS_RAMMAP=y
CONFIG_FS_ROMFS=y
CONFIG_GPIO_LOWER_HALF=y
CONFIG_IDLETHREAD_STACKSIZE=4096
CONFIG_INIT_ENTRYPOINT="nsh_main"
CONFIG_IOEXPANDER=y
CONFIG_IOEXPANDER_DUMMY=y
CONFIG_LIBC_ENVPATH=y
CONFIG_LIBC_EXECFUNCS=y
CONFIG_LIBC_LOCALE=y
CONFIG_LIBC_LOCALE_CATALOG=y
CONFIG_LIBC_LOCALE_GETTEXT=y
CONFIG_LIBC_MAX_EXITFUNS=1
CONFIG_LIBC_NUMBERED_ARGS=y
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_ARCHROMFS=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_FATDEVNO=2
CONFIG_NSH_FILE_APPS=y
CONFIG_NSH_READLINE=y
CONFIG_NSH_ROMFSDEVNO=1
CONFIG_NSH_ROMFSETC=y
CONFIG_PATH_INITIAL="/bin"
CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=2048
CONFIG_PSEUDOFS_ATTRIBUTES=y
CONFIG_PSEUDOFS_SOFTLINKS=y
CONFIG_READLINE_TABCOMPLETION=y
CONFIG_SCHED_BACKTRACE=y
CONFIG_SCHED_HAVE_PARENT=y
CONFIG_SCHED_HPWORK=y
CONFIG_SCHED_WAITPID=y
CONFIG_SIM_M32=y
CONFIG_START_MONTH=6
CONFIG_START_YEAR=2008
CONFIG_SYSTEM_DUMPSTACK=y
CONFIG_SYSTEM_NSH=y
CONFIG_TESTING_CRYPTO=y
75 changes: 75 additions & 0 deletions crypto/Kconfig
Expand Up @@ -39,6 +39,14 @@ config CRYPTO_CRYPTODEV
bool "cryptodev support"
default n

if CRYPTO_CRYPTODEV

config CRYPTODEV_SOFTWARE
bool "cryptodev software support"
default n

endif # CRYPTO_CRYPTODEV

config CRYPTO_SW_AES
bool "Software AES library"
depends on ALLOW_BSD_COMPONENTS
Expand All @@ -51,6 +59,73 @@ config CRYPTO_SW_AES
implementations. This needs to support up_aesinitialize() and
aes_cypher() per include/nuttx/crypto/crypto.h.

config CRYPTO_SW_BLF
bool "Software Blowfish library"
default n
---help---
enable Blowfish software support

config CRYPTO_SW_CAST
bool "Software Cast library"
default n
---help---
enable Cast software support

config CRYPTO_SW_CHACHAPOLY
bool "Software chachapoly library"
default n
---help---
enable chachapoly software support

config CRYPTO_SW_3DES
bool "Software 3des library"
default n
---help---
enable 3des software support

config CRYPTO_SW_MD5
bool "Software md5 library"
default n
---help---
enable md5 software support

config CRYPTO_SW_POLY1305
bool "Software poly1305 library"
default n
---help---
enable poly1305 software support

config CRYPTO_SW_RIJNDAEL
bool "Software rijndael library"
default n
---help---
enable rijndael software support

config CRYPTO_SW_RMD160
bool "Software rmd160 library"
default n
---help---
enable rmd160 software support

config CRYPTO_SW_SHA1
bool "Software sha1 library"
default n
---help---
enable sha1 software support

config CRYPTO_SW_SHA2
bool "Software sha2 library"
default n
---help---
enable sha2 software support

config CRYPTO_SW_GMAC
bool "Software gmac library"
default n
---help---
enable gmac software support


config CRYPTO_BLAKE2S
bool "BLAKE2s hash algorithm"
default n
Expand Down
73 changes: 73 additions & 0 deletions crypto/Makefile
Expand Up @@ -32,12 +32,85 @@ ifeq ($(CONFIG_CRYPTO_CRYPTODEV),y)
CRYPTO_CSRCS += cryptodev.c
endif

ifeq ($(CONFIG_CRYPTODEV_SOFTWARE),y)
CRYPTO_CSRCS += cryptosoft.c
CRYPTO_CSRCS += xform.c
endif

# Software AES library

ifeq ($(CONFIG_CRYPTO_SW_AES),y)
CRYPTO_CSRCS += aes.c
endif

# Software blf libray

ifeq ($(CONFIG_CRYPTO_SW_BLF),y)
CRYPTO_CSRCS += blf.c
endif

# Software cast libray

ifeq ($(CONFIG_CRYPTO_SW_CAST),y)
CRYPTO_CSRCS += cast.c
endif

# Software chachapoly libray

ifeq ($(CONFIG_CRYPTO_SW_CHACHAPOLY),y)
CRYPTO_CSRCS += chachapoly.c
endif

# Software 3des libray

ifeq ($(CONFIG_CRYPTO_SW_3DES),y)
CRYPTO_CSRCS += ecb_enc.c
CRYPTO_CSRCS += ecb3_enc.c
CRYPTO_CSRCS += set_key.c
endif

# Software md5 libray

ifeq ($(CONFIG_CRYPTO_SW_MD5),y)
CRYPTO_CSRCS += md5.c
endif

# Software poly1305 libray

ifeq ($(CONFIG_CRYPTO_SW_POLY1305),y)
CRYPTO_CSRCS += poly1305.c
endif

# Software rijndael libray

ifeq ($(CONFIG_CRYPTO_SW_RIJNDAEL),y)
CRYPTO_CSRCS += rijndael.c
endif

# Software rmd160 libray

ifeq ($(CONFIG_CRYPTO_SW_RMD160),y)
CRYPTO_CSRCS += rmd160.c
endif

# Software sha1 libray

ifeq ($(CONFIG_CRYPTO_SW_SHA1),y)
CRYPTO_CSRCS += sha1.c
endif

# Software sha2 libray

ifeq ($(CONFIG_CRYPTO_SW_SHA2),y)
CRYPTO_CSRCS += sha2.c
endif

# Software gmac libray

ifeq ($(CONFIG_CRYPTO_SW_GMAC),y)
CRYPTO_CSRCS += gmac.c
endif

# BLAKE2s hash algorithm

ifeq ($(CONFIG_CRYPTO_BLAKE2S),y)
Expand Down

0 comments on commit 81db2b5

Please sign in to comment.