€•Þ“Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ6/translations/zh_CN/admin-guide/device-mapper/dm-crypt”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/zh_TW/admin-guide/device-mapper/dm-crypt”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/it_IT/admin-guide/device-mapper/dm-crypt”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/ja_JP/admin-guide/device-mapper/dm-crypt”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/ko_KR/admin-guide/device-mapper/dm-crypt”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/pt_BR/admin-guide/device-mapper/dm-crypt”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/sp_SP/admin-guide/device-mapper/dm-crypt”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒdm-crypt”h]”hŒdm-crypt”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/admin-guide/device-mapper/dm-crypt.rst”h´KubhŒ paragraph”“”)�”}”(hŒlDevice-Mapper's "crypt" target provides transparent encryption of block devices using the kernel crypto API.”h]”hŒrDevice-Mapper’s “cryptâ€� target provides transparent encryption of block devices using the kernel crypto API.”…”�”}”(hhÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhÌ)�”}”(hŒsFor a more detailed description of supported parameters see: https://gitlab.com/cryptsetup/cryptsetup/wikis/DMCrypt”h]”(hŒ=For a more detailed description of supported parameters see: ”…”�”}”(hhÛh²hh³Nh´NubhŒ reference”“”)�”}”(hŒ6https://gitlab.com/cryptsetup/cryptsetup/wikis/DMCrypt”h]”hŒ6https://gitlab.com/cryptsetup/cryptsetup/wikis/DMCrypt”…”�”}”(hhåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”hçuh1hãhhÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhÌ)�”}”(hŒ Parameters::”h]”hŒ Parameters:”…”�”}”(hhúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hh·h²hubhŒ literal_block”“”)�”}”(hŒP \ [<#opt_params> ]”h]”hŒP \ [<#opt_params> ]”…”�”}”hj sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1jh³hÊh´K hh·h²hubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hXa Encryption cipher, encryption mode and Initial Vector (IV) generator. The cipher specifications format is:: cipher[:keycount]-chainmode-ivmode[:ivopts] Examples:: aes-cbc-essiv:sha256 aes-xts-plain64 serpent-xts-plain64 Cipher format also supports direct specification with kernel crypt API format (selected by capi: prefix). The IV specification is the same as for the first format type. This format is mainly used for specification of authenticated modes. The crypto API cipher specifications format is:: capi:cipher_api_spec-ivmode[:ivopts] Examples:: capi:cbc(aes)-essiv:sha256 capi:xts(aes)-plain64 Examples of authenticated modes:: capi:gcm(aes)-random capi:authenc(hmac(sha256),xts(aes))-random capi:rfc7539(chacha20,poly1305)-random The /proc/crypto contains a list of currently loaded crypto modes. ”h]”(hŒterm”“”)�”}”(hŒ”h]”hŒ”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K1hj!ubhŒ definition”“”)�”}”(hhh]”(hÌ)�”}”(hŒEEncryption cipher, encryption mode and Initial Vector (IV) generator.”h]”hŒEEncryption cipher, encryption mode and Initial Vector (IV) generator.”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj7ubhÌ)�”}”(hŒ%The cipher specifications format is::”h]”hŒ$The cipher specifications format is:”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj7ubj )�”}”(hŒ+cipher[:keycount]-chainmode-ivmode[:ivopts]”h]”hŒ+cipher[:keycount]-chainmode-ivmode[:ivopts]”…”�”}”hjVsbah}”(h]”h ]”h"]”h$]”h&]”jjuh1jh³hÊh´Khj7ubhÌ)�”}”(hŒ Examples::”h]”hŒ Examples:”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj7ubj )�”}”(hŒ8aes-cbc-essiv:sha256 aes-xts-plain64 serpent-xts-plain64”h]”hŒ8aes-cbc-essiv:sha256 aes-xts-plain64 serpent-xts-plain64”…”�”}”hjrsbah}”(h]”h ]”h"]”h$]”h&]”jjuh1jh³hÊh´Khj7ubhÌ)�”}”(hŒíCipher format also supports direct specification with kernel crypt API format (selected by capi: prefix). The IV specification is the same as for the first format type. This format is mainly used for specification of authenticated modes.”h]”hŒíCipher format also supports direct specification with kernel crypt API format (selected by capi: prefix). The IV specification is the same as for the first format type. This format is mainly used for specification of authenticated modes.”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj7ubhÌ)�”}”(hŒ0The crypto API cipher specifications format is::”h]”hŒ/The crypto API cipher specifications format is:”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K"hj7ubj )�”}”(hŒ$capi:cipher_api_spec-ivmode[:ivopts]”h]”hŒ$capi:cipher_api_spec-ivmode[:ivopts]”…”�”}”hjœsbah}”(h]”h ]”h"]”h$]”h&]”jjuh1jh³hÊh´K$hj7ubhÌ)�”}”(hŒ Examples::”h]”hŒ Examples:”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K&hj7ubj )�”}”(hŒ0capi:cbc(aes)-essiv:sha256 capi:xts(aes)-plain64”h]”hŒ0capi:cbc(aes)-essiv:sha256 capi:xts(aes)-plain64”…”�”}”hj¸sbah}”(h]”h ]”h"]”h$]”h&]”jjuh1jh³hÊh´K(hj7ubhÌ)�”}”(hŒ!Examples of authenticated modes::”h]”hŒ Examples of authenticated modes:”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K+hj7ubj )�”}”(hŒfcapi:gcm(aes)-random capi:authenc(hmac(sha256),xts(aes))-random capi:rfc7539(chacha20,poly1305)-random”h]”hŒfcapi:gcm(aes)-random capi:authenc(hmac(sha256),xts(aes))-random capi:rfc7539(chacha20,poly1305)-random”…”�”}”hjÔsbah}”(h]”h ]”h"]”h$]”h&]”jjuh1jh³hÊh´K-hj7ubhÌ)�”}”(hŒBThe /proc/crypto contains a list of currently loaded crypto modes.”h]”hŒBThe /proc/crypto contains a list of currently loaded crypto modes.”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K1hj7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5hj!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K1hjubj )�”}”(hXÓ Key used for encryption. It is encoded either as a hexadecimal number or it can be passed as prefixed with single colon character (':') for keys residing in kernel keyring service. You can only use key sizes that are valid for the selected cipher in combination with the selected iv mode. Note that for some iv modes the key string can contain additional keys (for example IV seed) so the key contains more parts concatenated into a single string. ”h]”(j&)�”}”(hŒ”h]”hŒ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K;hjüubj6)�”}”(hhh]”hÌ)�”}”(hXÌKey used for encryption. It is encoded either as a hexadecimal number or it can be passed as prefixed with single colon character (':') for keys residing in kernel keyring service. You can only use key sizes that are valid for the selected cipher in combination with the selected iv mode. Note that for some iv modes the key string can contain additional keys (for example IV seed) so the key contains more parts concatenated into a single string.”h]”hXÐKey used for encryption. It is encoded either as a hexadecimal number or it can be passed as prefixed with single colon character (‘:’) for keys residing in kernel keyring service. You can only use key sizes that are valid for the selected cipher in combination with the selected iv mode. Note that for some iv modes the key string can contain additional keys (for example IV seed) so the key contains more parts concatenated into a single string.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K4hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjüubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K;hjh²hubj )�”}”(hŒz The kernel keyring key is identified by string in following format: ::. ”h]”(j&)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K?hj+ubj6)�”}”(hhh]”hÌ)�”}”(hŒlThe kernel keyring key is identified by string in following format: ::.”h]”hŒlThe kernel keyring key is identified by string in following format: ::.”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K>hj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K?hjh²hubj )�”}”(hŒt The encryption key size in bytes. The kernel key payload size must match the value passed in . ”h]”(j&)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´KChjZubj6)�”}”(hhh]”hÌ)�”}”(hŒhThe encryption key size in bytes. The kernel key payload size must match the value passed in .”h]”hŒhThe encryption key size in bytes. The kernel key payload size must match the value passed in .”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KBhjlubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjZubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´KChjh²hubj )�”}”(hŒM Either 'logon', 'user', 'encrypted' or 'trusted' kernel key type. ”h]”(j&)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´KFhj‰ubj6)�”}”(hhh]”hÌ)�”}”(hŒAEither 'logon', 'user', 'encrypted' or 'trusted' kernel key type.”h]”hŒQEither ‘logon’, ‘user’, ‘encrypted’ or ‘trusted’ kernel key type.”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KFhj›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´KFhjh²hubj )�”}”(hŒr The kernel keyring key description crypt target should look for when loading key of . ”h]”(j&)�”}”(hŒ”h]”hŒ”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´KJhj¸ubj6)�”}”(hhh]”hÌ)�”}”(hŒ_The kernel keyring key description crypt target should look for when loading key of .”h]”hŒ_The kernel keyring key description crypt target should look for when loading key of .”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KIhjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´KJhjh²hubj )�”}”(hŒÕ Multi-key compatibility mode. You can define keys and then sectors are encrypted according to their offsets (sector 0 uses key0; sector 1 uses key1 etc.). must be a power of two. ”h]”(j&)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´KOhjçubj6)�”}”(hhh]”hÌ)�”}”(hŒÉMulti-key compatibility mode. You can define keys and then sectors are encrypted according to their offsets (sector 0 uses key0; sector 1 uses key1 etc.). must be a power of two.”h]”hŒÉMulti-key compatibility mode. You can define keys and then sectors are encrypted according to their offsets (sector 0 uses key0; sector 1 uses key1 etc.). must be a power of two.”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KMhjùubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjçubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´KOhjh²hubj )�”}”(hŒg The IV offset is a sector count that is added to the sector number before creating the IV. ”h]”(j&)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´KShjubj6)�”}”(hhh]”hÌ)�”}”(hŒZThe IV offset is a sector count that is added to the sector number before creating the IV.”h]”hŒZThe IV offset is a sector count that is added to the sector number before creating the IV.”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KRhj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´KShjh²hubj )�”}”(hŒ¶ This is the device that is going to be used as backend and contains the encrypted data. You can specify it as a path like /dev/xxx or a device number :. ”h]”(j&)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´KXhjEubj6)�”}”(hhh]”hÌ)�”}”(hŒ§This is the device that is going to be used as backend and contains the encrypted data. You can specify it as a path like /dev/xxx or a device number :.”h]”hŒ§This is the device that is going to be used as backend and contains the encrypted data. You can specify it as a path like /dev/xxx or a device number :.”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KVhjWubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´KXhjh²hubj )�”}”(hŒL Starting sector within the device where the encrypted data begins. ”h]”(j&)�”}”(hŒ”h]”hŒ”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K[hjtubj6)�”}”(hhh]”hÌ)�”}”(hŒBStarting sector within the device where the encrypted data begins.”h]”hŒBStarting sector within the device where the encrypted data begins.”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K[hj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjtubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K[hjh²hubj )�”}”(hX=<#opt_params> Number of optional parameters. If there are no optional parameters, the optional parameters section can be skipped or #opt_params can be zero. Otherwise #opt_params is the number of following arguments. Example of optional parameters section: 3 allow_discards same_cpu_crypt submit_from_crypt_cpus ”h]”(j&)�”}”(hŒ <#opt_params>”h]”hŒ <#opt_params>”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´Kchj£ubj6)�”}”(hhh]”(hÌ)�”}”(hŒÊNumber of optional parameters. If there are no optional parameters, the optional parameters section can be skipped or #opt_params can be zero. Otherwise #opt_params is the number of following arguments.”h]”hŒÊNumber of optional parameters. If there are no optional parameters, the optional parameters section can be skipped or #opt_params can be zero. Otherwise #opt_params is the number of following arguments.”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K^hjµubj)�”}”(hhh]”j )�”}”(hŒ_Example of optional parameters section: 3 allow_discards same_cpu_crypt submit_from_crypt_cpus ”h]”(j&)�”}”(hŒ'Example of optional parameters section:”h]”hŒ'Example of optional parameters section:”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´KchjÉubj6)�”}”(hhh]”hÌ)�”}”(hŒ63 allow_discards same_cpu_crypt submit_from_crypt_cpus”h]”hŒ63 allow_discards same_cpu_crypt submit_from_crypt_cpus”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KchjÛubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÉubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´KchjÆubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjµubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5hj£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´Kchjh²hubj )�”}”(hX³allow_discards Block discard requests (a.k.a. TRIM) are passed through the crypt device. The default is to ignore discard requests. WARNING: Assess the specific security risks carefully before enabling this option. For example, allowing discards on encrypted devices may lead to the leak of information about the ciphertext device (filesystem type, used space etc.) if the discarded blocks can be located easily on the device later. ”h]”(j&)�”}”(hŒallow_discards”h]”hŒallow_discards”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´Kmhj ubj6)�”}”(hhh]”(hÌ)�”}”(hŒtBlock discard requests (a.k.a. TRIM) are passed through the crypt device. The default is to ignore discard requests.”h]”hŒtBlock discard requests (a.k.a. TRIM) are passed through the crypt device. The default is to ignore discard requests.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KfhjubhÌ)�”}”(hX-WARNING: Assess the specific security risks carefully before enabling this option. For example, allowing discards on encrypted devices may lead to the leak of information about the ciphertext device (filesystem type, used space etc.) if the discarded blocks can be located easily on the device later.”h]”hX-WARNING: Assess the specific security risks carefully before enabling this option. For example, allowing discards on encrypted devices may lead to the leak of information about the ciphertext device (filesystem type, used space etc.) if the discarded blocks can be located easily on the device later.”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kihjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´Kmhjh²hubj )�”}”(hŒÄsame_cpu_crypt Perform encryption using the same cpu that IO was submitted on. The default is to use an unbound workqueue so that encryption work is automatically balanced between available CPUs. ”h]”(j&)�”}”(hŒsame_cpu_crypt”h]”hŒsame_cpu_crypt”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´KrhjGubj6)�”}”(hhh]”hÌ)�”}”(hŒ´Perform encryption using the same cpu that IO was submitted on. The default is to use an unbound workqueue so that encryption work is automatically balanced between available CPUs.”h]”hŒ´Perform encryption using the same cpu that IO was submitted on. The default is to use an unbound workqueue so that encryption work is automatically balanced between available CPUs.”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KphjYubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjGubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´Krhjh²hubj )�”}”(hŒµhigh_priority Set dm-crypt workqueues and the writer thread to high priority. This improves throughput and latency of dm-crypt while degrading general responsiveness of the system. ”h]”(j&)�”}”(hŒ high_priority”h]”hŒ high_priority”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´Kwhjvubj6)�”}”(hhh]”hÌ)�”}”(hŒ¦Set dm-crypt workqueues and the writer thread to high priority. This improves throughput and latency of dm-crypt while degrading general responsiveness of the system.”h]”hŒ¦Set dm-crypt workqueues and the writer thread to high priority. This improves throughput and latency of dm-crypt while degrading general responsiveness of the system.”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kuhjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjvubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´Kwhjh²hubj )�”}”(hXcsubmit_from_crypt_cpus Disable offloading writes to a separate thread after encryption. There are some situations where offloading write bios from the encryption threads to a single thread degrades performance significantly. The default is to offload write bios to the same thread because it benefits CFQ to have writes submitted using the same context. ”h]”(j&)�”}”(hŒsubmit_from_crypt_cpus”h]”hŒsubmit_from_crypt_cpus”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´Khj¥ubj6)�”}”(hhh]”hÌ)�”}”(hXKDisable offloading writes to a separate thread after encryption. There are some situations where offloading write bios from the encryption threads to a single thread degrades performance significantly. The default is to offload write bios to the same thread because it benefits CFQ to have writes submitted using the same context.”h]”hXKDisable offloading writes to a separate thread after encryption. There are some situations where offloading write bios from the encryption threads to a single thread degrades performance significantly. The default is to offload write bios to the same thread because it benefits CFQ to have writes submitted using the same context.”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kzhj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´Khjh²hubj )�”}”(hŒ^no_read_workqueue Bypass dm-crypt internal workqueue and process read requests synchronously. ”h]”(j&)�”}”(hŒno_read_workqueue”h]”hŒno_read_workqueue”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K‚hjÔubj6)�”}”(hhh]”hÌ)�”}”(hŒKBypass dm-crypt internal workqueue and process read requests synchronously.”h]”hŒKBypass dm-crypt internal workqueue and process read requests synchronously.”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K‚hjæubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K‚hjh²hubj )�”}”(hŒÎno_write_workqueue Bypass dm-crypt internal workqueue and process write requests synchronously. This option is automatically enabled for host-managed zoned block devices (e.g. host-managed SMR hard-disks). ”h]”(j&)�”}”(hŒno_write_workqueue”h]”hŒno_write_workqueue”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K‡hjubj6)�”}”(hhh]”hÌ)�”}”(hŒºBypass dm-crypt internal workqueue and process write requests synchronously. This option is automatically enabled for host-managed zoned block devices (e.g. host-managed SMR hard-disks).”h]”hŒºBypass dm-crypt internal workqueue and process write requests synchronously. This option is automatically enabled for host-managed zoned block devices (e.g. host-managed SMR hard-disks).”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K…hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K‡hjh²hubj )�”}”(hX integrity:: The device requires additional metadata per-sector stored in per-bio integrity structure. This metadata must by provided by underlying dm-integrity target. The can be "none" if metadata is used only for persistent IV. For Authenticated Encryption with Additional Data (AEAD) the is "aead". An AEAD mode additionally calculates and verifies integrity for the encrypted device. The additional space is then used for storing authentication tag (and persistent IV if needed). ”h]”(j&)�”}”(hŒintegrity::”h]”hŒintegrity::”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K“hj2ubj6)�”}”(hhh]”(hÌ)�”}”(hŒ£The device requires additional metadata per-sector stored in per-bio integrity structure. This metadata must by provided by underlying dm-integrity target.”h]”hŒ£The device requires additional metadata per-sector stored in per-bio integrity structure. This metadata must by provided by underlying dm-integrity target.”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KŠhjDubhÌ)�”}”(hŒDThe can be "none" if metadata is used only for persistent IV.”h]”hŒHThe can be “noneâ€� if metadata is used only for persistent IV.”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KŽhjDubhÌ)�”}”(hXFor Authenticated Encryption with Additional Data (AEAD) the is "aead". An AEAD mode additionally calculates and verifies integrity for the encrypted device. The additional space is then used for storing authentication tag (and persistent IV if needed).”h]”hXFor Authenticated Encryption with Additional Data (AEAD) the is “aeadâ€�. An AEAD mode additionally calculates and verifies integrity for the encrypted device. The additional space is then used for storing authentication tag (and persistent IV if needed).”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K�hjDubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5hj2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K“hjh²hubj )�”}”(hŒÒintegrity_key_size: Optionally set the integrity key size if it differs from the digest size. It allows the use of wrapped key algorithms where the key size is independent of the cryptographic key size. ”h]”(j&)�”}”(hŒintegrity_key_size:”h]”hŒintegrity_key_size:”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K˜hj}ubj6)�”}”(hhh]”hÌ)�”}”(hŒ¶Optionally set the integrity key size if it differs from the digest size. It allows the use of wrapped key algorithms where the key size is independent of the cryptographic key size.”h]”hŒ¶Optionally set the integrity key size if it differs from the digest size. It allows the use of wrapped key algorithms where the key size is independent of the cryptographic key size.”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K–hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj}ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K˜hjh²hubj )�”}”(hŒçsector_size: Use as the encryption unit instead of 512 bytes sectors. This option can be in range 512 - 4096 bytes and must be power of two. Virtual device will announce this size as a minimal IO and logical sector. ”h]”(j&)�”}”(hŒsector_size:”h]”hŒsector_size:”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K�hj¬ubj6)�”}”(hhh]”hÌ)�”}”(hŒÒUse as the encryption unit instead of 512 bytes sectors. This option can be in range 512 - 4096 bytes and must be power of two. Virtual device will announce this size as a minimal IO and logical sector.”h]”hŒÒUse as the encryption unit instead of 512 bytes sectors. This option can be in range 512 - 4096 bytes and must be power of two. Virtual device will announce this size as a minimal IO and logical sector.”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K›hj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj¬ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K�hjh²hubj )�”}”(hXkiv_large_sectors IV generators will use sector number counted in units instead of default 512 bytes sectors. For example, if is 4096 bytes, plain64 IV for the second sector will be 8 (without flag) and 1 if iv_large_sectors is present. The must be multiple of (in 512 bytes units) if this flag is specified. ”h]”(j&)�”}”(hŒiv_large_sectors”h]”hŒiv_large_sectors”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K¦hjÛubj6)�”}”(hhh]”(hÌ)�”}”(hŒiIV generators will use sector number counted in units instead of default 512 bytes sectors.”h]”hŒiIV generators will use sector number counted in units instead of default 512 bytes sectors.”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hjíubhÌ)�”}”(hŒîFor example, if is 4096 bytes, plain64 IV for the second sector will be 8 (without flag) and 1 if iv_large_sectors is present. The must be multiple of (in 512 bytes units) if this flag is specified.”h]”hŒîFor example, if is 4096 bytes, plain64 IV for the second sector will be 8 (without flag) and 1 if iv_large_sectors is present. The must be multiple of (in 512 bytes units) if this flag is specified.”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K£hjíubeh}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K¦hjh²hubj )�”}”(hŒ—integrity_key_size: Use an integrity key of size instead of using an integrity key size of the digest size of the used HMAC algorithm. ”h]”(j&)�”}”(hŒintegrity_key_size:”h]”hŒintegrity_key_size:”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K«hjubj6)�”}”(hhh]”hÌ)�”}”(hŒzUse an integrity key of size instead of using an integrity key size of the digest size of the used HMAC algorithm.”h]”hŒzUse an integrity key of size instead of using an integrity key size of the digest size of the used HMAC algorithm.”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K©hj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K«hjh²hubj )�”}”(hXÆModule parameters:: max_read_size Maximum size of read requests. When a request larger than this size is received, dm-crypt will split the request. The splitting improves concurrency (the split requests could be encrypted in parallel by multiple cores), but it also causes overhead. The user should tune this parameters to fit the actual workload. max_write_size Maximum size of write requests. When a request larger than this size is received, dm-crypt will split the request. The splitting improves concurrency (the split requests could be encrypted in parallel by multiple cores), but it also causes overhead. The user should tune this parameters to fit the actual workload. ”h]”(j&)�”}”(hŒModule parameters::”h]”hŒModule parameters::”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K»hjGubj6)�”}”(hhh]”j)�”}”(hhh]”(j )�”}”(hXHmax_read_size Maximum size of read requests. When a request larger than this size is received, dm-crypt will split the request. The splitting improves concurrency (the split requests could be encrypted in parallel by multiple cores), but it also causes overhead. The user should tune this parameters to fit the actual workload. ”h]”(j&)�”}”(hŒ max_read_size”h]”hŒ max_read_size”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K³hj_ubj6)�”}”(hhh]”hÌ)�”}”(hX9Maximum size of read requests. When a request larger than this size is received, dm-crypt will split the request. The splitting improves concurrency (the split requests could be encrypted in parallel by multiple cores), but it also causes overhead. The user should tune this parameters to fit the actual workload.”h]”hX9Maximum size of read requests. When a request larger than this size is received, dm-crypt will split the request. The splitting improves concurrency (the split requests could be encrypted in parallel by multiple cores), but it also causes overhead. The user should tune this parameters to fit the actual workload.”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K¯hjqubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K³hj\ubj )�”}”(hXKmax_write_size Maximum size of write requests. When a request larger than this size is received, dm-crypt will split the request. The splitting improves concurrency (the split requests could be encrypted in parallel by multiple cores), but it also causes overhead. The user should tune this parameters to fit the actual workload. ”h]”(j&)�”}”(hŒmax_write_size”h]”hŒmax_write_size”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j%h³hÊh´K»hjŽubj6)�”}”(hhh]”hÌ)�”}”(hX:Maximum size of write requests. When a request larger than this size is received, dm-crypt will split the request. The splitting improves concurrency (the split requests could be encrypted in parallel by multiple cores), but it also causes overhead. The user should tune this parameters to fit the actual workload.”h]”hX:Maximum size of write requests. When a request larger than this size is received, dm-crypt will split the request. The splitting improves concurrency (the split requests could be encrypted in parallel by multiple cores), but it also causes overhead. The user should tune this parameters to fit the actual workload.”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K¶hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjŽubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K»hj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjYubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjGubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K»hjh²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhh·h²hh³hÊh´Nubh¶)�”}”(hhh]”(h»)�”}”(hŒExample scripts”h]”hŒExample scripts”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÕh²hh³hÊh´K¾ubhÌ)�”}”(hŒ¬LUKS (Linux Unified Key Setup) is now the preferred way to set up disk encryption with dm-crypt using the 'cryptsetup' utility, see https://gitlab.com/cryptsetup/cryptsetup”h]”(hŒˆLUKS (Linux Unified Key Setup) is now the preferred way to set up disk encryption with dm-crypt using the ‘cryptsetup’ utility, see ”…”�”}”(hjæh²hh³Nh´Nubhä)�”}”(hŒ(https://gitlab.com/cryptsetup/cryptsetup”h]”hŒ(https://gitlab.com/cryptsetup/cryptsetup”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jðuh1hãhjæubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K¿hjÕh²hubj )�”}”(hŒª#!/bin/sh # Create a crypt device using dmsetup dmsetup create crypt1 --table "0 `blockdev --getsz $1` crypt aes-cbc-essiv:sha256 babebabebabebabebabebabebabebabe 0 $1 0"”h]”hŒª#!/bin/sh # Create a crypt device using dmsetup dmsetup create crypt1 --table "0 `blockdev --getsz $1` crypt aes-cbc-essiv:sha256 babebabebabebabebabebabebabebabe 0 $1 0"”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”jjuh1jh³hÊh´KÅhjÕh²hubj )�”}”(hŒ×#!/bin/sh # Create a crypt device using dmsetup when encryption key is stored in keyring service dmsetup create crypt2 --table "0 `blockdev --getsize $1` crypt aes-cbc-essiv:sha256 :32:logon:my_prefix:my_key 0 $1 0"”h]”hŒ×#!/bin/sh # Create a crypt device using dmsetup when encryption key is stored in keyring service dmsetup create crypt2 --table "0 `blockdev --getsize $1` crypt aes-cbc-essiv:sha256 :32:logon:my_prefix:my_key 0 $1 0"”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”jjuh1jh³hÊh´KËhjÕh²hubj )�”}”(hŒ�#!/bin/sh # Create a crypt device using cryptsetup and LUKS header with default cipher cryptsetup luksFormat $1 cryptsetup luksOpen $1 crypt1”h]”hŒ�#!/bin/sh # Create a crypt device using cryptsetup and LUKS header with default cipher cryptsetup luksFormat $1 cryptsetup luksOpen $1 crypt1”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”jjuh1jh³hÊh´KÑhjÕh²hubeh}”(h]”Œexample-scripts”ah ]”h"]”Œexample scripts”ah$]”h&]”uh1hµhh·h²hh³hÊh´K¾ubeh}”(h]”Œdm-crypt”ah ]”h"]”Œdm-crypt”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j`Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(j:j7j2j/uŒ nametypes”}”(j:‰j2‰uh}”(j7h·j/jÕuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”hŒsystem_message”“”)�”}”(hhh]”hÌ)�”}”(hŒ`Blank line missing before literal block (after the "::")? Interpreted as a definition list item.”h]”hŒdBlank line missing before literal block (after the “::â€�)? Interpreted as a definition list item.”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjÄubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œline”K¼Œsource”hÊuh1jÂhjYubaŒtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.