1# Cryptography primitive options for TinyCrypt version 2.0
2
3# Copyright (c) 2015 Intel Corporation
4# SPDX-License-Identifier: Apache-2.0
5
6config ZEPHYR_TINYCRYPT_MODULE
7	bool
8
9config TINYCRYPT
10	bool "TinyCrypt Support"
11	depends on ZEPHYR_TINYCRYPT_MODULE
12	select DEPRECATED
13	help
14	  This option enables the TinyCrypt cryptography library.
15
16if TINYCRYPT
17config TINYCRYPT_CTR_PRNG
18	bool "PRNG in counter mode"
19	help
20	  This option enables support for the pseudo-random number
21	  generator in counter mode.
22
23config TINYCRYPT_SHA256
24	bool "SHA-256 Hash function support"
25	help
26	  This option enables support for SHA-256
27	  hash function primitive.
28
29config TINYCRYPT_SHA256_HMAC
30	bool "HMAC (via SHA256) message auth support"
31	depends on TINYCRYPT_SHA256
32	help
33	  This option enables support for HMAC using SHA-256
34	  message authentication code.
35
36config TINYCRYPT_SHA256_HMAC_PRNG
37	bool "PRNG (via HMAC-SHA256) support"
38	depends on TINYCRYPT_SHA256_HMAC
39	help
40	  This option enables support for pseudo-random number
41	  generator.
42
43config TINYCRYPT_ECC_DH
44	bool "ECC_DH anonymous key agreement protocol"
45	help
46	  This option enables support for the Elliptic curve
47	  Diffie-Hellman anonymous key agreement protocol.
48
49	  Enabling ECC requires a cryptographically secure random number
50	  generator.
51
52config TINYCRYPT_ECC_DSA
53	bool "ECC_DSA digital signature algorithm"
54	help
55	  This option enables support for the Elliptic Curve Digital
56	  Signature Algorithm (ECDSA).
57
58	  Enabling ECC requires a cryptographically secure random number
59	  generator.
60
61config TINYCRYPT_AES
62	bool "AES-128 decrypt/encrypt"
63	help
64	  This option enables support for AES-128 decrypt and encrypt.
65
66config TINYCRYPT_AES_CBC
67	bool "AES-128 block cipher"
68	depends on TINYCRYPT_AES
69	help
70	  This option enables support for AES-128 block cipher mode.
71
72config TINYCRYPT_AES_CTR
73	bool "AES-128 counter mode"
74	depends on TINYCRYPT_AES
75	help
76	  This option enables support for AES-128 counter mode.
77
78config TINYCRYPT_AES_CCM
79	bool "AES-128 CCM mode"
80	depends on TINYCRYPT_AES
81	help
82	  This option enables support for AES-128 CCM mode.
83
84config TINYCRYPT_AES_CMAC
85	bool "AES-128 CMAC mode"
86	depends on TINYCRYPT_AES
87	help
88	  This option enables support for AES-128 CMAC mode.
89endif
90