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