Kconfig 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612
  1. menu "mbedTLS"
  2. choice MBEDTLS_MEM_ALLOC_MODE
  3. prompt "Memory allocation strategy"
  4. default MBEDTLS_INTERNAL_MEM_ALLOC
  5. help
  6. Allocation strategy for mbedTLS, essentially provides ability to
  7. allocate all required dynamic allocations from,
  8. - Internal DRAM memory only
  9. - External SPIRAM memory only
  10. - Either internal or external memory based on default malloc()
  11. behavior in ESP-IDF
  12. - Custom allocation mode, by overwriting calloc()/free() using
  13. mbedtls_platform_set_calloc_free() function
  14. Recommended mode here is always internal, since that is most preferred
  15. from security perspective. But if application requirement does not
  16. allow sufficient free internal memory then alternate mode can be
  17. selected.
  18. config MBEDTLS_INTERNAL_MEM_ALLOC
  19. bool "Internal memory"
  20. config MBEDTLS_EXTERNAL_MEM_ALLOC
  21. bool "External SPIRAM"
  22. depends on ESP32_SPIRAM_SUPPORT
  23. config MBEDTLS_DEFAULT_MEM_ALLOC
  24. bool "Default alloc mode"
  25. config MBEDTLS_CUSTOM_MEM_ALLOC
  26. bool "Custom alloc mode"
  27. endchoice #MBEDTLS_MEM_ALLOC_MODE
  28. config MBEDTLS_SSL_MAX_CONTENT_LEN
  29. int "TLS maximum message content length"
  30. default 16384
  31. range 512 16384
  32. depends on !MBEDTLS_ASYMMETRIC_CONTENT_LEN
  33. help
  34. Maximum TLS message length (in bytes) supported by mbedTLS.
  35. 16384 is the default and this value is required to comply
  36. fully with TLS standards.
  37. However you can set a lower value in order to save RAM. This
  38. is safe if the other end of the connection supports Maximum
  39. Fragment Length Negotiation Extension (max_fragment_length,
  40. see RFC6066) or you know for certain that it will never send a
  41. message longer than a certain number of bytes.
  42. If the value is set too low, symptoms are a failed TLS
  43. handshake or a return value of MBEDTLS_ERR_SSL_INVALID_RECORD
  44. (-0x7200).
  45. config MBEDTLS_ASYMMETRIC_CONTENT_LEN
  46. bool "Asymmetric in/out fragment length"
  47. default y
  48. help
  49. If enabled, this option allows customizing TLS in/out fragment length
  50. in asymmetric way. Please note that enabling this with default values
  51. saves 12KB of dynamic memory per TLS connection.
  52. config MBEDTLS_SSL_IN_CONTENT_LEN
  53. int "TLS maximum incoming fragment length"
  54. default 16384
  55. range 512 16384
  56. depends on MBEDTLS_ASYMMETRIC_CONTENT_LEN
  57. help
  58. This defines maximum incoming fragment length, overriding default
  59. maximum content length (MBEDTLS_SSL_MAX_CONTENT_LEN).
  60. config MBEDTLS_SSL_OUT_CONTENT_LEN
  61. int "TLS maximum outgoing fragment length"
  62. default 4096
  63. range 512 16384
  64. depends on MBEDTLS_ASYMMETRIC_CONTENT_LEN
  65. help
  66. This defines maximum outgoing fragment length, overriding default
  67. maximum content length (MBEDTLS_SSL_MAX_CONTENT_LEN).
  68. config MBEDTLS_DEBUG
  69. bool "Enable mbedTLS debugging"
  70. default n
  71. help
  72. Enable mbedTLS debugging functions at compile time.
  73. If this option is enabled, you can include
  74. "mbedtls/esp_debug.h" and call mbedtls_esp_enable_debug_log()
  75. at runtime in order to enable mbedTLS debug output via the ESP
  76. log mechanism.
  77. choice MBEDTLS_DEBUG_LEVEL
  78. bool "Set mbedTLS debugging level"
  79. depends on MBEDTLS_DEBUG
  80. default MBEDTLS_DEBUG_LEVEL_VERBOSE
  81. help
  82. Set mbedTLS debugging level
  83. config MBEDTLS_DEBUG_LEVEL_WARN
  84. bool "Warning"
  85. config MBEDTLS_DEBUG_LEVEL_INFO
  86. bool "Info"
  87. config MBEDTLS_DEBUG_LEVEL_DEBUG
  88. bool "Debug"
  89. config MBEDTLS_DEBUG_LEVEL_VERBOSE
  90. bool "Verbose"
  91. endchoice
  92. config MBEDTLS_DEBUG_LEVEL
  93. int
  94. default 1 if MBEDTLS_DEBUG_LEVEL_WARN
  95. default 2 if MBEDTLS_DEBUG_LEVEL_INFO
  96. default 3 if MBEDTLS_DEBUG_LEVEL_DEBUG
  97. default 4 if MBEDTLS_DEBUG_LEVEL_VERBOSE
  98. config MBEDTLS_ECP_RESTARTABLE
  99. bool "Enable mbedTLS ecp restartable"
  100. default n
  101. help
  102. Enable "non-blocking" ECC operations that can return early and be resumed.
  103. config MBEDTLS_CMAC_C
  104. bool "Enable CMAC mode for block ciphers"
  105. default n
  106. help
  107. Enable the CMAC (Cipher-based Message Authentication Code) mode for
  108. block ciphers.
  109. config MBEDTLS_HARDWARE_AES
  110. bool "Enable hardware AES acceleration"
  111. default y
  112. help
  113. Enable hardware accelerated AES encryption & decryption.
  114. Note that if the ESP32 CPU is running at 240MHz, hardware AES does not
  115. offer any speed boost over software AES.
  116. config MBEDTLS_HARDWARE_MPI
  117. bool "Enable hardware MPI (bignum) acceleration"
  118. default n
  119. help
  120. Enable hardware accelerated multiple precision integer operations.
  121. Hardware accelerated multiplication, modulo multiplication,
  122. and modular exponentiation for up to 4096 bit results.
  123. These operations are used by RSA.
  124. config MBEDTLS_MPI_USE_INTERRUPT
  125. bool "Use interrupt for MPI operations"
  126. depends on MBEDTLS_HARDWARE_MPI
  127. default n
  128. help
  129. Use an interrupt to coordinate MPI operations.
  130. This allows other code to run on the CPU while an MPI operation is pending.
  131. Otherwise the CPU busy-waits.
  132. config MBEDTLS_HARDWARE_SHA
  133. bool "Enable hardware SHA acceleration"
  134. default y
  135. help
  136. Enable hardware accelerated SHA1, SHA256, SHA384 & SHA512 in mbedTLS.
  137. Due to a hardware limitation, hardware acceleration is only
  138. guaranteed if SHA digests are calculated one at a time. If more
  139. than one SHA digest is calculated at the same time, one will
  140. be calculated fully in hardware and the rest will be calculated
  141. (at least partially calculated) in software. This happens automatically.
  142. SHA hardware acceleration is faster than software in some situations but
  143. slower in others. You should benchmark to find the best setting for you.
  144. config MBEDTLS_HAVE_TIME
  145. bool "Enable mbedtls time"
  146. depends on !ESP32_TIME_SYSCALL_USE_NONE
  147. default y
  148. help
  149. System has time.h and time().
  150. The time does not need to be correct, only time differences are used.
  151. config MBEDTLS_HAVE_TIME_DATE
  152. bool "Enable mbedtls certificate expiry check"
  153. depends on MBEDTLS_HAVE_TIME
  154. default n
  155. help
  156. System has time.h and time(), gmtime() and the clock is correct.
  157. The time needs to be correct (not necesarily very accurate, but at least
  158. the date should be correct). This is used to verify the validity period of
  159. X.509 certificates.
  160. It is suggested that you should get the real time by "SNTP".
  161. choice MBEDTLS_TLS_MODE
  162. bool "TLS Protocol Role"
  163. default MBEDTLS_TLS_SERVER_AND_CLIENT
  164. help
  165. mbedTLS can be compiled with protocol support for the TLS
  166. server, TLS client, or both server and client.
  167. Reducing the number of TLS roles supported saves code size.
  168. config MBEDTLS_TLS_SERVER_AND_CLIENT
  169. bool "Server & Client"
  170. select MBEDTLS_TLS_SERVER
  171. select MBEDTLS_TLS_CLIENT
  172. config MBEDTLS_TLS_SERVER_ONLY
  173. bool "Server"
  174. select MBEDTLS_TLS_SERVER
  175. config MBEDTLS_TLS_CLIENT_ONLY
  176. bool "Client"
  177. select MBEDTLS_TLS_CLIENT
  178. config MBEDTLS_TLS_DISABLED
  179. bool "None"
  180. endchoice
  181. config MBEDTLS_TLS_SERVER
  182. bool
  183. select MBEDTLS_TLS_ENABLED
  184. config MBEDTLS_TLS_CLIENT
  185. bool
  186. select MBEDTLS_TLS_ENABLED
  187. config MBEDTLS_TLS_ENABLED
  188. bool
  189. menu "TLS Key Exchange Methods"
  190. depends on MBEDTLS_TLS_ENABLED
  191. config MBEDTLS_PSK_MODES
  192. bool "Enable pre-shared-key ciphersuites"
  193. default n
  194. help
  195. Enable to show configuration for different types of pre-shared-key TLS authentatication methods.
  196. Leaving this options disabled will save code size if they are not used.
  197. config MBEDTLS_KEY_EXCHANGE_PSK
  198. bool "Enable PSK based ciphersuite modes"
  199. depends on MBEDTLS_PSK_MODES
  200. default n
  201. help
  202. Enable to support symmetric key PSK (pre-shared-key) TLS key exchange modes.
  203. config MBEDTLS_KEY_EXCHANGE_DHE_PSK
  204. bool "Enable DHE-PSK based ciphersuite modes"
  205. depends on MBEDTLS_PSK_MODES
  206. default y
  207. help
  208. Enable to support Diffie-Hellman PSK (pre-shared-key) TLS authentication modes.
  209. config MBEDTLS_KEY_EXCHANGE_ECDHE_PSK
  210. bool "Enable ECDHE-PSK based ciphersuite modes"
  211. depends on MBEDTLS_PSK_MODES
  212. default y
  213. help
  214. Enable to support Elliptic-Curve-Diffie-Hellman PSK (pre-shared-key) TLS authentication modes.
  215. config MBEDTLS_KEY_EXCHANGE_RSA_PSK
  216. bool "Enable RSA-PSK based ciphersuite modes"
  217. depends on MBEDTLS_PSK_MODES
  218. default y
  219. help
  220. Enable to support RSA PSK (pre-shared-key) TLS authentication modes.
  221. config MBEDTLS_KEY_EXCHANGE_RSA
  222. bool "Enable RSA-only based ciphersuite modes"
  223. default y
  224. help
  225. Enable to support ciphersuites with prefix TLS-RSA-WITH-
  226. config MBEDTLS_KEY_EXCHANGE_DHE_RSA
  227. bool "Enable DHE-RSA based ciphersuite modes"
  228. default y
  229. help
  230. Enable to support ciphersuites with prefix TLS-DHE-RSA-WITH-
  231. config MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE
  232. bool "Support Elliptic Curve based ciphersuites"
  233. depends on MBEDTLS_ECP_C
  234. default y
  235. help
  236. Enable to show Elliptic Curve based ciphersuite mode options.
  237. Disabling all Elliptic Curve ciphersuites saves code size and
  238. can give slightly faster TLS handshakes, provided the server supports
  239. RSA-only ciphersuite modes.
  240. config MBEDTLS_KEY_EXCHANGE_ECDHE_RSA
  241. bool "Enable ECDHE-RSA based ciphersuite modes"
  242. depends on MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE && MBEDTLS_ECDH_C
  243. default y
  244. help
  245. Enable to support ciphersuites with prefix TLS-ECDHE-RSA-WITH-
  246. config MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA
  247. bool "Enable ECDHE-ECDSA based ciphersuite modes"
  248. depends on MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE && MBEDTLS_ECDH_C && MBEDTLS_ECDSA_C
  249. default y
  250. help
  251. Enable to support ciphersuites with prefix TLS-ECDHE-RSA-WITH-
  252. config MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA
  253. bool "Enable ECDH-ECDSA based ciphersuite modes"
  254. depends on MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE && MBEDTLS_ECDH_C && MBEDTLS_ECDSA_C
  255. default y
  256. help
  257. Enable to support ciphersuites with prefix TLS-ECDHE-RSA-WITH-
  258. config MBEDTLS_KEY_EXCHANGE_ECDH_RSA
  259. bool "Enable ECDH-RSA based ciphersuite modes"
  260. depends on MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE && MBEDTLS_ECDH_C
  261. default y
  262. help
  263. Enable to support ciphersuites with prefix TLS-ECDHE-RSA-WITH-
  264. endmenu # TLS key exchange modes
  265. config MBEDTLS_SSL_RENEGOTIATION
  266. bool "Support TLS renegotiation"
  267. depends on MBEDTLS_TLS_ENABLED
  268. default y
  269. help
  270. The two main uses of renegotiation are (1) refresh keys on long-lived
  271. connections and (2) client authentication after the initial handshake.
  272. If you don't need renegotiation, disabling it will save code size and
  273. reduce the possibility of abuse/vulnerability.
  274. config MBEDTLS_SSL_PROTO_SSL3
  275. bool "Legacy SSL 3.0 support"
  276. depends on MBEDTLS_TLS_ENABLED
  277. default n
  278. help
  279. Support the legacy SSL 3.0 protocol. Most servers will speak a newer
  280. TLS protocol these days.
  281. config MBEDTLS_SSL_PROTO_TLS1
  282. bool "Support TLS 1.0 protocol"
  283. depends on MBEDTLS_TLS_ENABLED
  284. default y
  285. config MBEDTLS_SSL_PROTO_TLS1_1
  286. bool "Support TLS 1.1 protocol"
  287. depends on MBEDTLS_TLS_ENABLED
  288. default y
  289. config MBEDTLS_SSL_PROTO_TLS1_2
  290. bool "Support TLS 1.2 protocol"
  291. depends on MBEDTLS_TLS_ENABLED
  292. default y
  293. config MBEDTLS_SSL_PROTO_DTLS
  294. bool "Support DTLS protocol (all versions)"
  295. default n
  296. depends on MBEDTLS_SSL_PROTO_TLS1_1 || MBEDTLS_SSL_PROTO_TLS1_2
  297. help
  298. Requires TLS 1.1 to be enabled for DTLS 1.0
  299. Requires TLS 1.2 to be enabled for DTLS 1.2
  300. config MBEDTLS_SSL_ALPN
  301. bool "Support ALPN (Application Layer Protocol Negotiation)"
  302. depends on MBEDTLS_TLS_ENABLED
  303. default y
  304. help
  305. Disabling this option will save some code size if it is not needed.
  306. config MBEDTLS_CLIENT_SSL_SESSION_TICKETS
  307. bool "TLS: Client Support for RFC 5077 SSL session tickets"
  308. default y
  309. depends on MBEDTLS_TLS_ENABLED
  310. help
  311. Client support for RFC 5077 session tickets. See mbedTLS documentation for more details.
  312. Disabling this option will save some code size.
  313. config MBEDTLS_SERVER_SSL_SESSION_TICKETS
  314. bool "TLS: Server Support for RFC 5077 SSL session tickets"
  315. default y
  316. depends on MBEDTLS_TLS_ENABLED
  317. help
  318. Server support for RFC 5077 session tickets. See mbedTLS documentation for more details.
  319. Disabling this option will save some code size.
  320. menu "Symmetric Ciphers"
  321. config MBEDTLS_AES_C
  322. bool "AES block cipher"
  323. default y
  324. config MBEDTLS_CAMELLIA_C
  325. bool "Camellia block cipher"
  326. default n
  327. config MBEDTLS_DES_C
  328. bool "DES block cipher (legacy, insecure)"
  329. default n
  330. help
  331. Enables the DES block cipher to support 3DES-based TLS ciphersuites.
  332. 3DES is vulnerable to the Sweet32 attack and should only be enabled
  333. if absolutely necessary.
  334. choice MBEDTLS_RC4_MODE
  335. prompt "RC4 Stream Cipher (legacy, insecure)"
  336. default MBEDTLS_RC4_DISABLED
  337. help
  338. ARCFOUR (RC4) stream cipher can be disabled entirely, enabled but not
  339. added to default ciphersuites, or enabled completely.
  340. Please consider the security implications before enabling RC4.
  341. config MBEDTLS_RC4_DISABLED
  342. bool "Disabled"
  343. config MBEDTLS_RC4_ENABLED_NO_DEFAULT
  344. bool "Enabled, not in default ciphersuites"
  345. config MBEDTLS_RC4_ENABLED
  346. bool "Enabled"
  347. endchoice
  348. config MBEDTLS_BLOWFISH_C
  349. bool "Blowfish block cipher (read help)"
  350. default n
  351. help
  352. Enables the Blowfish block cipher (not used for TLS sessions.)
  353. The Blowfish cipher is not used for mbedTLS TLS sessions but can be
  354. used for other purposes. Read up on the limitations of Blowfish (including
  355. Sweet32) before enabling.
  356. config MBEDTLS_XTEA_C
  357. bool "XTEA block cipher"
  358. default n
  359. help
  360. Enables the XTEA block cipher.
  361. config MBEDTLS_CCM_C
  362. bool "CCM (Counter with CBC-MAC) block cipher modes"
  363. default y
  364. depends on MBEDTLS_AES_C || MBEDTLS_CAMELLIA_C
  365. help
  366. Enable Counter with CBC-MAC (CCM) modes for AES and/or Camellia ciphers.
  367. Disabling this option saves some code size.
  368. config MBEDTLS_GCM_C
  369. bool "GCM (Galois/Counter) block cipher modes"
  370. default y
  371. depends on MBEDTLS_AES_C || MBEDTLS_CAMELLIA_C
  372. help
  373. Enable Galois/Counter Mode for AES and/or Camellia ciphers.
  374. This option is generally faster than CCM.
  375. endmenu # Symmetric Ciphers
  376. config MBEDTLS_RIPEMD160_C
  377. bool "Enable RIPEMD-160 hash algorithm"
  378. default n
  379. help
  380. Enable the RIPEMD-160 hash algorithm.
  381. menu "Certificates"
  382. config MBEDTLS_PEM_PARSE_C
  383. bool "Read & Parse PEM formatted certificates"
  384. default y
  385. help
  386. Enable decoding/parsing of PEM formatted certificates.
  387. If your certificates are all in the simpler DER format, disabling
  388. this option will save some code size.
  389. config MBEDTLS_PEM_WRITE_C
  390. bool "Write PEM formatted certificates"
  391. default y
  392. help
  393. Enable writing of PEM formatted certificates.
  394. If writing certificate data only in DER format, disabling this
  395. option will save some code size.
  396. config MBEDTLS_X509_CRL_PARSE_C
  397. bool "X.509 CRL parsing"
  398. default y
  399. help
  400. Support for parsing X.509 Certifificate Revocation Lists.
  401. config MBEDTLS_X509_CSR_PARSE_C
  402. bool "X.509 CSR parsing"
  403. default y
  404. help
  405. Support for parsing X.509 Certifificate Signing Requests
  406. endmenu # Certificates
  407. menuconfig MBEDTLS_ECP_C
  408. bool "Elliptic Curve Ciphers"
  409. default y
  410. config MBEDTLS_ECDH_C
  411. bool "Elliptic Curve Diffie-Hellman (ECDH)"
  412. depends on MBEDTLS_ECP_C
  413. default y
  414. help
  415. Enable ECDH. Needed to use ECDHE-xxx TLS ciphersuites.
  416. config MBEDTLS_ECDSA_C
  417. bool "Elliptic Curve DSA"
  418. depends on MBEDTLS_ECDH_C
  419. default y
  420. help
  421. Enable ECDSA. Needed to use ECDSA-xxx TLS ciphersuites.
  422. config MBEDTLS_ECP_DP_SECP192R1_ENABLED
  423. bool "Enable SECP192R1 curve"
  424. depends on MBEDTLS_ECP_C
  425. default y
  426. help
  427. Enable support for SECP192R1 Elliptic Curve.
  428. config MBEDTLS_ECP_DP_SECP224R1_ENABLED
  429. bool "Enable SECP224R1 curve"
  430. depends on MBEDTLS_ECP_C
  431. default y
  432. help
  433. Enable support for SECP224R1 Elliptic Curve.
  434. config MBEDTLS_ECP_DP_SECP256R1_ENABLED
  435. bool "Enable SECP256R1 curve"
  436. depends on MBEDTLS_ECP_C
  437. default y
  438. help
  439. Enable support for SECP256R1 Elliptic Curve.
  440. config MBEDTLS_ECP_DP_SECP384R1_ENABLED
  441. bool "Enable SECP384R1 curve"
  442. depends on MBEDTLS_ECP_C
  443. default y
  444. help
  445. Enable support for SECP384R1 Elliptic Curve.
  446. config MBEDTLS_ECP_DP_SECP521R1_ENABLED
  447. bool "Enable SECP521R1 curve"
  448. depends on MBEDTLS_ECP_C
  449. default y
  450. help
  451. Enable support for SECP521R1 Elliptic Curve.
  452. config MBEDTLS_ECP_DP_SECP192K1_ENABLED
  453. bool "Enable SECP192K1 curve"
  454. depends on MBEDTLS_ECP_C
  455. default y
  456. help
  457. Enable support for SECP192K1 Elliptic Curve.
  458. config MBEDTLS_ECP_DP_SECP224K1_ENABLED
  459. bool "Enable SECP224K1 curve"
  460. depends on MBEDTLS_ECP_C
  461. default y
  462. help
  463. Enable support for SECP224K1 Elliptic Curve.
  464. config MBEDTLS_ECP_DP_SECP256K1_ENABLED
  465. bool "Enable SECP256K1 curve"
  466. depends on MBEDTLS_ECP_C
  467. default y
  468. help
  469. Enable support for SECP256K1 Elliptic Curve.
  470. config MBEDTLS_ECP_DP_BP256R1_ENABLED
  471. bool "Enable BP256R1 curve"
  472. depends on MBEDTLS_ECP_C
  473. default y
  474. help
  475. support for DP Elliptic Curve.
  476. config MBEDTLS_ECP_DP_BP384R1_ENABLED
  477. bool "Enable BP384R1 curve"
  478. depends on MBEDTLS_ECP_C
  479. default y
  480. help
  481. support for DP Elliptic Curve.
  482. config MBEDTLS_ECP_DP_BP512R1_ENABLED
  483. bool "Enable BP512R1 curve"
  484. depends on MBEDTLS_ECP_C
  485. default y
  486. help
  487. support for DP Elliptic Curve.
  488. config MBEDTLS_ECP_DP_CURVE25519_ENABLED
  489. bool "Enable CURVE25519 curve"
  490. depends on MBEDTLS_ECP_C
  491. default y
  492. help
  493. Enable support for CURVE25519 Elliptic Curve.
  494. config MBEDTLS_ECP_NIST_OPTIM
  495. bool "NIST 'modulo p' optimisations"
  496. depends on MBEDTLS_ECP_C
  497. default y
  498. help
  499. NIST 'modulo p' optimisations increase Elliptic Curve operation performance.
  500. Disabling this option saves some code size.
  501. # end of Elliptic Curve options
  502. endmenu # mbedTLS