source: postlfs/security/cryptsetup.xml@ 27534cc7

11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 27534cc7 was 9029db2, checked in by Bruce Dubbs <bdubbs@…>, 3 years ago

Tag most of General Libraries and dependencies

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24241 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 9.0 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY cryptsetup-download-http "&kernel-dl;/linux/utils/cryptsetup/v&cryptsetup-minor;/cryptsetup-&cryptsetup-version;.tar.xz">
8 <!ENTITY cryptsetup-download-ftp " ">
9 <!ENTITY cryptsetup-md5sum "911272e73181fdc850bb4d25103a9f83">
10 <!ENTITY cryptsetup-size "11 MB">
11 <!ENTITY cryptsetup-buildsize "29 MB (add 115 MB for tests)">
12 <!ENTITY cryptsetup-time "0.2 SBU (add 9 SBU for tests)">
13]>
14
15<sect1 id="cryptsetup" xreflabel="cryptsetup-&cryptsetup-version;">
16 <?dbhtml filename="cryptsetup.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>cryptsetup-&cryptsetup-version;</title>
24
25 <indexterm zone="cryptsetup">
26 <primary sortas="a-cryptsetup">cryptsetup</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to cryptsetup</title>
31
32 <para>
33 cryptsetup is used to set up transparent encryption of block devices
34 using the kernel crypto API.
35 </para>
36
37 &lfs101_checked;
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>
43 Download (HTTP): <ulink url="&cryptsetup-download-http;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download (FTP): <ulink url="&cryptsetup-download-ftp;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download MD5 sum: &cryptsetup-md5sum;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download size: &cryptsetup-size;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated disk space required: &cryptsetup-buildsize;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated build time: &cryptsetup-time;
69 </para>
70 </listitem>
71 </itemizedlist>
72
73<!-- No longer needed with 2.3.2.
74 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
75 <itemizedlist spacing="compact">
76 <listitem>
77 <para>
78 Required patch:
79 <ulink url="&patch-root;/cryptsetup-&cryptsetup-version;-upstream_fixes-1.patch"/>
80 </para>
81 </listitem>
82 </itemizedlist>
83-->
84
85 <bridgehead renderas="sect3">cryptsetup Dependencies</bridgehead>
86
87 <bridgehead renderas="sect4">Required</bridgehead>
88 <para role="required">
89 <xref linkend="json-c"/>,
90 <xref linkend="lvm2"/>, and
91 <xref linkend="popt"/>
92 </para>
93
94 <bridgehead renderas="sect4">Optional</bridgehead>
95 <para role="optional">
96 <xref linkend="libpwquality"/>,
97 <xref linkend="python2"/>,
98 <ulink url="https://github.com/P-H-C/phc-winner-argon2">argon2</ulink>, and
99 <ulink url="http://www.openwall.com/passwdqc/">passwdqc</ulink>
100 </para>
101
102
103 <para condition="html" role="usernotes">User Notes:
104 <ulink url="&blfs-wiki;/cryptsetup"/>
105 </para>
106 </sect2>
107
108 <sect2 role="kernel" id="cryptsetup-kernel">
109 <title>Kernel Configuration</title>
110
111 <para>
112 Encrypted block devices require kernel support. To use it, the
113 appropriate kernel configuration parameters need to be set:
114 </para>
115
116<screen><literal>Device Drivers ---&gt;
117 [*] Multiple devices driver support (RAID and LVM) ---&gt; [CONFIG_MD]
118 &lt;*/M&gt; Device mapper support [CONFIG_BLK_DEV_DM]
119 &lt;*/M&gt; Crypt target support [CONFIG_DM_CRYPT]
120
121Cryptographic API ---&gt;
122 &lt;*/M&gt; XTS support [CONFIG_CRYPTO_XTS]
123 &lt;*/M&gt; SHA224 and SHA256 digest algorithm [CONFIG_CRYPTO_SHA256]
124 &lt;*/M&gt; AES cipher algorithms [CONFIG_CRYPTO_AES]
125 &lt;*/M&gt; User-space interface for symmetric key cipher algorithms
126 [CONFIG_CRYPTO_USER_API_SKCIPHER]
127 For tests:
128 &lt;*/M&gt; Twofish cipher algorithm [CONFIG_CRYPTO_TWOFISH]</literal></screen>
129
130 <indexterm zone="cryptsetup cryptsetup-kernel">
131 <primary sortas="d-cryptsetup">cryptsetup</primary>
132 </indexterm>
133
134 </sect2>
135
136 <sect2 role="installation">
137 <title>Installation of cryptsetup</title>
138
139<!-- No longer needed with 2.3.2
140 <para>
141 First, apply a patch to fix a build problem caused by API changes in
142 <xref role="nodep" linkend="json-c"/>:
143 </para>
144
145<screen><userinput remap="pre">patch -Np1 -i ../cryptsetup-&cryptsetup-version;-upstream_fixes-1.patch</userinput></screen>
146-->
147
148 <para>
149 Install <application>cryptsetup</application> by running the following
150 commands:
151 </para>
152
153<screen><userinput>./configure --prefix=/usr &amp;&amp;
154make</userinput></screen>
155
156 <para>
157 To test the result, issue as the <systemitem
158 class="username">root</systemitem> user: <command>make check</command>.
159 Some tests will fail if appropriate kernel configuration options are not
160 set. Some additional options that may be needed for tests are:
161 CONFIG_SCSI_LOWLEVEL,
162 CONFIG_SCSI_DEBUG,
163 CONFIG_BLK_DEV_DM_BUILTIN,
164 CONFIG_CRYPTO_USER,
165 CONFIG_CRYPTO_CRYPTD,
166 CONFIG_CRYPTO_LRW,
167 CONFIG_CRYPTO_XTS,
168 CONFIG_CRYPTO_ESSIV,
169 CONFIG_CRYPTO_CRCT10DIF,
170 CONFIG_CRYPTO_AES_TI,
171 CONFIG_CRYPTO_AES_NI_INTEL,
172 CONFIG_CRYPTO_BLOWFISH,
173 CONFIG_CRYPTO_CAST5,
174 CONFIG_CRYPTO_SERPENT,
175 CONFIG_CRYPTO_SERPENT_SSE2_X86_64,
176 CONFIG_CRYPTO_SERPENT_AVX_X86_64,
177 CONFIG_CRYPTO_SERPENT_AVX2_X86_64, and
178 CONFIG_CRYPTO_TWOFISH_X86_64.
179 <!--I still had 5 of 19 tests fail after adding the above crypto options in the
180 kernel. bdubbs -->
181 </para>
182
183 <para>
184 Now, as the <systemitem class="username">root</systemitem> user:
185 </para>
186
187<screen role="root"><userinput>make install</userinput></screen>
188
189 </sect2>
190
191 <!--sect2 role="commands">
192 <title>Command Explanations</title>
193
194 </sect2-->
195
196 <sect2 role="configuration">
197 <title>Configuring cryptsetup</title>
198
199 <para>
200 Because of the number of possible configurations, setup of encrypted
201 volumes is beyond the scope of the BLFS book. Please see the
202 configuration guide in the cryptsetup <ulink
203 url="https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions#2-setup">
204 FAQ</ulink>.
205 </para>
206
207 </sect2>
208
209 <sect2 role="content">
210 <title>Contents</title>
211
212 <segmentedlist>
213 <segtitle>Installed Programs</segtitle>
214 <segtitle>Installed Libraries</segtitle>
215 <segtitle>Installed Directories</segtitle>
216
217 <seglistitem>
218 <seg>
219 cryptsetup,
220 cryptsetup-reencrypt,
221 integritysetup, and
222 veritysetup
223 </seg>
224 <seg>
225 libcryptsetup.so
226 </seg>
227 <seg>
228 None
229 </seg>
230 </seglistitem>
231 </segmentedlist>
232
233 <variablelist>
234 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
235 <?dbfo list-presentation="list"?>
236 <?dbhtml list-presentation="table"?>
237
238 <varlistentry id="cryptsetup-prog">
239 <term><command>cryptsetup</command></term>
240 <listitem>
241 <para>
242 is used to setup dm-crypt managed device-mapper mappings
243 </para>
244 <indexterm zone="cryptsetup cryptsetup-prog">
245 <primary sortas="b-cryptsetup">cryptsetup</primary>
246 </indexterm>
247 </listitem>
248 </varlistentry>
249
250 <varlistentry id="cryptsetup-reencrypt">
251 <term><command>cryptsetup-reencrypt</command></term>
252 <listitem>
253 <para>
254 is a for offline LUKS device re-encryption
255 </para>
256 <indexterm zone="cryptsetup cryptsetup-reencrypt">
257 <primary sortas="b-cryptsetup-reencrypt">cryptsetup-reencrypt</primary>
258 </indexterm>
259 </listitem>
260 </varlistentry>
261
262 <varlistentry id="integritysetup">
263 <term><command>integritysetup</command></term>
264 <listitem>
265 <para>
266 is a tool to manage dm-integrity (block level integrity) volumes
267 </para>
268 <indexterm zone="cryptsetup integritysetup">
269 <primary sortas="b-integritysetup">integritysetup</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273
274 <varlistentry id="veritysetup">
275 <term><command>veritysetup</command></term>
276 <listitem>
277 <para>
278 is used to configure dm-verity managed device-mapper mappings.
279 Device-mapper verity target provides read-only transparent integrity
280 checking of block devices using kernel crypto API
281 </para>
282 <indexterm zone="cryptsetup veritysetup">
283 <primary sortas="b-veritysetup">veritysetup</primary>
284 </indexterm>
285 </listitem>
286 </varlistentry>
287
288 </variablelist>
289
290 </sect2>
291
292</sect1>
Note: See TracBrowser for help on using the repository browser.