1config RSA
2	bool "Use RSA Library"
3	select RSA_FREESCALE_EXP if FSL_CAAM && !ARCH_MX7 && !ARCH_MX6 && !ARCH_MX5
4	select RSA_SOFTWARE_EXP if !RSA_FREESCALE_EXP
5	help
6	  RSA support. This enables the RSA algorithm used for FIT image
7	  verification in U-Boot.
8	  See doc/uImage.FIT/signature.txt for more details.
9	  The Modular Exponentiation algorithm in RSA is implemented using
10	  driver model. So CONFIG_DM needs to be enabled by default for this
11	  library to function.
12	  The signing part is build into mkimage regardless of this
13	  option. The software based modular exponentiation is built into
14	  mkimage irrespective of this option.
15
16if RSA
17
18config SPL_RSA
19	bool "Use RSA Library within SPL"
20
21config SPL_RSA_VERIFY
22	bool
23	help
24	  Add RSA signature verification support in SPL.
25
26config RSA_VERIFY
27	bool
28	help
29	  Add RSA signature verification support.
30
31config RSA_VERIFY_WITH_PKEY
32	bool "Execute RSA verification without key parameters from FDT"
33	select RSA_VERIFY
34	select ASYMMETRIC_KEY_TYPE
35	select ASYMMETRIC_PUBLIC_KEY_SUBTYPE
36	select RSA_PUBLIC_KEY_PARSER
37	help
38	  The standard RSA-signature verification code (FIT_SIGNATURE) uses
39	  pre-calculated key properties, that are stored in fdt blob, in
40	  decrypting a signature.
41	  This does not suit the use case where there is no way defined to
42	  provide such additional key properties in standardized form,
43	  particularly UEFI secure boot.
44	  This options enables RSA signature verification with a public key
45	  directly specified in image_sign_info, where all the necessary
46	  key properties will be calculated on the fly in verification code.
47
48config RSA_SOFTWARE_EXP
49	bool "Enable driver for RSA Modular Exponentiation in software"
50	depends on DM
51	help
52	  Enables driver for modular exponentiation in software. This is a RSA
53	  algorithm used in FIT image verification. It required RSA Key as
54	  input.
55	  See doc/uImage.FIT/signature.txt for more details.
56
57config RSA_FREESCALE_EXP
58	bool "Enable RSA Modular Exponentiation with FSL crypto accelerator"
59	depends on DM && FSL_CAAM && !ARCH_MX7 && !ARCH_MX6 && !ARCH_MX5
60	help
61	Enables driver for RSA modular exponentiation using Freescale cryptographic
62	accelerator - CAAM.
63
64endif
65