| # SPDX-License-Identifier: GPL-2.0-only | |
| config FS_ENCRYPTION | |
| bool "FS Encryption (Per-file encryption)" | |
| select BLK_INLINE_ENCRYPTION if BLOCK | |
| select BLK_INLINE_ENCRYPTION_FALLBACK if BLOCK | |
| select CRYPTO | |
| select CRYPTO_SKCIPHER | |
| select CRYPTO_LIB_AES | |
| select CRYPTO_LIB_SHA256 | |
| select CRYPTO_LIB_SHA512 | |
| select KEYS | |
| help | |
| Enable encryption of files and directories. This | |
| feature is similar to ecryptfs, but it is more memory | |
| efficient since it avoids caching the encrypted and | |
| decrypted pages in the page cache. Currently Ext4, | |
| F2FS, UBIFS, and CephFS make use of this feature. | |
| # Filesystems supporting encryption must select this if FS_ENCRYPTION. This | |
| # allows the algorithms to be built as modules when all the filesystems are, | |
| # whereas selecting them from FS_ENCRYPTION would force them to be built-in. | |
| # | |
| # Note: this option only pulls in the algorithms that filesystem encryption | |
| # needs "by default". If userspace will use "non-default" encryption modes such | |
| # as Adiantum encryption, then those other modes need to be explicitly enabled | |
| # in the crypto API; see Documentation/filesystems/fscrypt.rst for details. | |
| # | |
| # Also note that this option only pulls in the generic implementations of the | |
| # algorithms, not any per-architecture optimized implementations. It is | |
| # strongly recommended to enable optimized implementations too. | |
| config FS_ENCRYPTION_ALGS | |
| tristate | |
| select CRYPTO_AES | |
| select CRYPTO_CBC | |
| select CRYPTO_CTS | |
| select CRYPTO_XTS | |
| config FS_ENCRYPTION_INLINE_CRYPT | |
| bool | |
| default y if FS_ENCRYPTION && BLOCK |