blob: b54ad7641285eb8cd9e50e387393a17eeec1e1bd [file] [log] [blame]
Ulf Magnussonbd6e0442019-11-01 13:45:29 +01001# Cryptography primitive options for TinyCrypt version 2.0
Constanza Heath7d0e1d92015-08-21 16:16:58 -07002
Constanza Heath7d0e1d92015-08-21 16:16:58 -07003# Copyright (c) 2015 Intel Corporation
Anas Nashif594992f2017-01-20 20:22:01 -05004# SPDX-License-Identifier: Apache-2.0
Constanza Heath7d0e1d92015-08-21 16:16:58 -07005
Flavio Ceoline57e7f22023-10-25 14:55:36 -07006config ZEPHYR_TINYCRYPT_MODULE
7 bool
8
Kumar Gala9ec2f3b2016-05-24 18:17:13 -05009config TINYCRYPT
Ulf Magnusson8cf8db32018-08-14 16:19:20 +020010 bool "TinyCrypt Support"
Flavio Ceoline57e7f22023-10-25 14:55:36 -070011 depends on ZEPHYR_TINYCRYPT_MODULE
Flavio Ceolin2907a962024-12-05 14:48:35 -080012 select DEPRECATED
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050013 help
Anas Nashif429c2a42017-12-13 10:08:21 -050014 This option enables the TinyCrypt cryptography library.
Flavio Santese0d46122016-07-25 10:36:06 -050015
David Leachafdc63f2019-07-23 14:16:24 -050016if TINYCRYPT
Flavio Santese0d46122016-07-25 10:36:06 -050017config TINYCRYPT_CTR_PRNG
Ulf Magnusson8cf8db32018-08-14 16:19:20 +020018 bool "PRNG in counter mode"
Flavio Santese0d46122016-07-25 10:36:06 -050019 help
Anas Nashif429c2a42017-12-13 10:08:21 -050020 This option enables support for the pseudo-random number
21 generator in counter mode.
Constanza Heath7d0e1d92015-08-21 16:16:58 -070022
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050023config TINYCRYPT_SHA256
Ulf Magnusson8cf8db32018-08-14 16:19:20 +020024 bool "SHA-256 Hash function support"
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050025 help
Anas Nashif429c2a42017-12-13 10:08:21 -050026 This option enables support for SHA-256
27 hash function primitive.
Constanza Heath7d0e1d92015-08-21 16:16:58 -070028
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050029config TINYCRYPT_SHA256_HMAC
Ulf Magnusson8cf8db32018-08-14 16:19:20 +020030 bool "HMAC (via SHA256) message auth support"
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050031 depends on TINYCRYPT_SHA256
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050032 help
Anas Nashif429c2a42017-12-13 10:08:21 -050033 This option enables support for HMAC using SHA-256
34 message authentication code.
Constanza Heath7d0e1d92015-08-21 16:16:58 -070035
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050036config TINYCRYPT_SHA256_HMAC_PRNG
Ulf Magnusson8cf8db32018-08-14 16:19:20 +020037 bool "PRNG (via HMAC-SHA256) support"
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050038 depends on TINYCRYPT_SHA256_HMAC
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050039 help
Anas Nashif429c2a42017-12-13 10:08:21 -050040 This option enables support for pseudo-random number
41 generator.
Constanza Heath7d0e1d92015-08-21 16:16:58 -070042
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050043config TINYCRYPT_ECC_DH
Ulf Magnusson8cf8db32018-08-14 16:19:20 +020044 bool "ECC_DH anonymous key agreement protocol"
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050045 help
Anas Nashif429c2a42017-12-13 10:08:21 -050046 This option enables support for the Elliptic curve
47 Diffie-Hellman anonymous key agreement protocol.
Constanza Heatheaed1452016-01-27 11:07:05 -080048
Anas Nashif429c2a42017-12-13 10:08:21 -050049 Enabling ECC requires a cryptographically secure random number
50 generator.
Leandro Pereira14c56692017-07-13 10:39:32 -070051
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050052config TINYCRYPT_ECC_DSA
Ulf Magnusson8cf8db32018-08-14 16:19:20 +020053 bool "ECC_DSA digital signature algorithm"
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050054 help
Anas Nashif429c2a42017-12-13 10:08:21 -050055 This option enables support for the Elliptic Curve Digital
56 Signature Algorithm (ECDSA).
Constanza Heatheaed1452016-01-27 11:07:05 -080057
Anas Nashif429c2a42017-12-13 10:08:21 -050058 Enabling ECC requires a cryptographically secure random number
59 generator.
Leandro Pereira14c56692017-07-13 10:39:32 -070060
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050061config TINYCRYPT_AES
Ulf Magnusson8cf8db32018-08-14 16:19:20 +020062 bool "AES-128 decrypt/encrypt"
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050063 help
Anas Nashif429c2a42017-12-13 10:08:21 -050064 This option enables support for AES-128 decrypt and encrypt.
Constanza Heath7d0e1d92015-08-21 16:16:58 -070065
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050066config TINYCRYPT_AES_CBC
Ulf Magnusson8cf8db32018-08-14 16:19:20 +020067 bool "AES-128 block cipher"
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050068 depends on TINYCRYPT_AES
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050069 help
Anas Nashif429c2a42017-12-13 10:08:21 -050070 This option enables support for AES-128 block cipher mode.
Constanza Heath7d0e1d92015-08-21 16:16:58 -070071
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050072config TINYCRYPT_AES_CTR
Ulf Magnusson8cf8db32018-08-14 16:19:20 +020073 bool "AES-128 counter mode"
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050074 depends on TINYCRYPT_AES
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050075 help
Anas Nashif429c2a42017-12-13 10:08:21 -050076 This option enables support for AES-128 counter mode.
Constanza Heatheaed1452016-01-27 11:07:05 -080077
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050078config TINYCRYPT_AES_CCM
Ulf Magnusson8cf8db32018-08-14 16:19:20 +020079 bool "AES-128 CCM mode"
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050080 depends on TINYCRYPT_AES
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050081 help
Anas Nashif429c2a42017-12-13 10:08:21 -050082 This option enables support for AES-128 CCM mode.
Constanza Heatheaed1452016-01-27 11:07:05 -080083
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050084config TINYCRYPT_AES_CMAC
Ulf Magnusson8cf8db32018-08-14 16:19:20 +020085 bool "AES-128 CMAC mode"
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050086 depends on TINYCRYPT_AES
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050087 help
Anas Nashif429c2a42017-12-13 10:08:21 -050088 This option enables support for AES-128 CMAC mode.
David Leachafdc63f2019-07-23 14:16:24 -050089endif