Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-22 Thread Ralf
Just try `cryptsetup benchmark`

Cheers

On 04/22/2015 06:09 AM, R0b0t1 wrote:
 AES cipher algo (AES-NI) is the fastest if you have the necessary
 hardware. Twofish cipher algo (x86_64, 3-way parallel) is a close
 second, but will slow access down slightly. Serpent is also usably
 fast.

 CONFIG_CRYPTO_AES_NI_INTEL = ~200mb/s (limited by disk in my case)
 CONFIG_CRYPTO_TWOFISH_X86_64_3WAY = ~130mb/s

 `cryptsetup --cipher {twofish,aes}-xts-plain64 --key-size 512 --hash
 sha512 --iter-time 5000`





Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-21 Thread Marko Weber | 8000


Finally!

Am 2015-04-18 12:27, schrieb Marko Weber | 8000:

hello list,

i try to crypt a partition with cryptsetup.
Yes, in Kernel i had all need things i think.

CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_MCRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_ABLK_HELPER=m
CONFIG_CRYPTO_GLUE_HELPER_X86=m
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SEQIV=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA1_SSSE3=m
CONFIG_CRYPTO_SHA256_SSSE3=m
CONFIG_CRYPTO_SHA512_SSSE3=m
CONFIG_CRYPTO_SHA1_MB=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_COMMON=m
CONFIG_CRYPTO_BLOWFISH_X86_64=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAMELLIA_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
CONFIG_CRYPTO_CAST_COMMON=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST5_AVX_X86_64=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_CAST6_AVX_X86_64=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_DES3_EDE_X86_64=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_X86_64=m
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=m
CONFIG_CRYPTO_LZ4=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_DRBG_MENU=m
CONFIG_CRYPTO_DRBG_HMAC=y
# CONFIG_CRYPTO_DRBG_HASH is not set
# CONFIG_CRYPTO_DRBG_CTR is not set
CONFIG_CRYPTO_DRBG=m
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_HASH_INFO=y
# CONFIG_CRYPTO_HW is not set


but when i try to use cryptsetup i get this:

# cryptsetup -c aes-xts:plain64 -y -s 256 luksFormat
/dev/mapper/VolGroup01-media2

WARNING!

This will overwrite data on /dev/mapper/VolGroup01-media2 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
device-mapper: reload ioctl on  failed: Invalid argument
Failed to setup dm-crypt key mapping for device 
/dev/mapper/VolGroup01-media2.
Check that kernel supports aes-xts:plain64 cipher (check syslog for 
more info).




Any ideas?

i built cryptsetup with this useflags:

nls openssl python udev urandom



cryptsetup --help shows me i am able to use the options

Default compiled-in device cipher parameters:
loop-AES: aes, Key 256 bits
plain: aes-cbc-essiv:sha256, Key: 256 bits, Password hashing: 
ripemd160

LUKS1: aes-xts-plain64, Key: 256 bits, LUKS header hashing:
sha1, RNG: /dev/random


any help / ideas or knowledge welcome.

best regards

marko


i got it working!

cryptsetup -c aes-xts-plain -h sha256 -y -s 256 luksFormat 
/dev/mapper/VolGroup01-media2


But on writing a testfile of 4G with i get 22,9 Mb/sec.
Is there a cipher/hash/keysize which alloows me a bit more write 
performance?


marko





Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-21 Thread R0b0t1
AES cipher algo (AES-NI) is the fastest if you have the necessary
hardware. Twofish cipher algo (x86_64, 3-way parallel) is a close
second, but will slow access down slightly. Serpent is also usably
fast.

CONFIG_CRYPTO_AES_NI_INTEL = ~200mb/s (limited by disk in my case)
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY = ~130mb/s

`cryptsetup --cipher {twofish,aes}-xts-plain64 --key-size 512 --hash
sha512 --iter-time 5000`



Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-21 Thread Heiko Baums
Am 21.04.2015 um 11:21 schrieb Marko Weber | 8000:
 
 Finally!

 ...

 i got it working!
 
 cryptsetup -c aes-xts-plain -h sha256 -y -s 256 luksFormat
 /dev/mapper/VolGroup01-media2
 
 But on writing a testfile of 4G with i get 22,9 Mb/sec.
 Is there a cipher/hash/keysize which alloows me a bit more write
 performance?

I don't know if it helps you with the write performance, but you can
also use aes-xts-plain64 instead of aes-xts-plain.

# cryptsetup -c aes-xts-plain64 -h sha256 -y -s 256 luksFormat
/dev/mapper/VolGroup01-media2



Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-20 Thread Marko Weber | 8000

hi Heiko,

Am 2015-04-18 17:41, schrieb Heiko Baums:

Am 18.04.2015 um 12:27 schrieb Marko Weber | 8000:


i try to crypt a partition with cryptsetup.
Yes, in Kernel i had all need things i think.


Sorry, but I forgot some more kernel modules you need:

CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y

You didn't mention them, so I don't know if you have them already built
into your kernel.


i have them in config. with y

marko



Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-20 Thread Marko Weber | 8000


hi fernando,

Am 2015-04-19 03:35, schrieb Fernando Rodriguez:

On Saturday, April 18, 2015 12:27:15 PM Marko Weber | 8000 wrote:


hello list,

i try to crypt a partition with cryptsetup.
Yes, in Kernel i had all need things i think.

CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_MCRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_ABLK_HELPER=m
CONFIG_CRYPTO_GLUE_HELPER_X86=m
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SEQIV=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA1_SSSE3=m
CONFIG_CRYPTO_SHA256_SSSE3=m
CONFIG_CRYPTO_SHA512_SSSE3=m
CONFIG_CRYPTO_SHA1_MB=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_COMMON=m
CONFIG_CRYPTO_BLOWFISH_X86_64=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAMELLIA_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
CONFIG_CRYPTO_CAST_COMMON=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST5_AVX_X86_64=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_CAST6_AVX_X86_64=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_DES3_EDE_X86_64=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_X86_64=m
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=m
CONFIG_CRYPTO_LZ4=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_DRBG_MENU=m
CONFIG_CRYPTO_DRBG_HMAC=y
# CONFIG_CRYPTO_DRBG_HASH is not set
# CONFIG_CRYPTO_DRBG_CTR is not set
CONFIG_CRYPTO_DRBG=m
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_HASH_INFO=y
# CONFIG_CRYPTO_HW is not set


but when i try to use cryptsetup i get this:

# cryptsetup -c aes-xts:plain64 -y -s 256 luksFormat
/dev/mapper/VolGroup01-media2

WARNING!

This will overwrite data on /dev/mapper/VolGroup01-media2 irrevocably.
# cryptsetup -c aes-xts:plain64 -y -s 512 luksFormat 
/dev/mapper/VolGroup01-media2


WARNING!

This will overwrite data on /dev/mapper/VolGroup01-media2 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
device-mapper: reload ioctl on  failed: Invalid argument
Failed to setup dm-crypt key mapping for device 
/dev/mapper/VolGroup01-media2.
Check that kernel supports aes-xts:plain64 cipher (check syslog for more 
info).

Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
device-mapper: reload ioctl on  failed: Invalid argument
Failed to setup dm-crypt key mapping for device
/dev/mapper/VolGroup01-media2.
Check that kernel supports aes-xts:plain64 cipher (check syslog for 
more

info).



Any ideas?

i built cryptsetup with this useflags:

nls openssl python udev urandom



cryptsetup --help shows me i am able to use the options

Default compiled-in device cipher parameters:
 loop-AES: aes, Key 256 bits
 plain: aes-cbc-essiv:sha256, Key: 256 bits, Password hashing:
ripemd160
 LUKS1: aes-xts-plain64, Key: 256 bits, LUKS header hashing:
sha1, RNG: /dev/random


any help / ideas or knowledge welcome.

best regards

marko


That message is incorrectly shown if something's wrong with the way you
specified the cipher and key size. It threw me off for a while too.
This is what
I ended up using:

cryptsetup -i 3 -c twofish-xts-essiv:sha256 -s 512 -h sha512 
luksFormat

file.img

I don't remember where I was getting it wrong, I think I was using -s 
256 but
xts uses half the key for 

Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-20 Thread Marko Weber | 8000



Am 2015-04-18 12:27, schrieb Marko Weber | 8000:

hello list,

i try to crypt a partition with cryptsetup.
Yes, in Kernel i had all need things i think.

CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_MCRYP# cryptsetup -c aes-xts:plain64 -y -s 512 luksFormat 
/dev/mapper/VolGroup01-media2


WARNING!

This will overwrite data on /dev/mapper/VolGroup01-media2 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
device-mapper: reload ioctl on  failed: Invalid argument
Failed to setup dm-crypt key mapping for device 
/dev/mapper/VolGroup01-media2.
Check that kernel supports aes-xts:plain64 cipher (check syslog for more 
info).TD=m

CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_ABLK_HELPER=m
CONFIG_CRYPTO_GLUE_HELPER_X86=m
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SEQIV=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA1_SSSE3=m
CONFIG_CRYPTO_SHA256_SSSE3=m
CONFIG_CRYPTO_SHA512_SSSE3=m
CONFIG_CRYPTO_SHA1_MB=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_COMMON=m
CONFIG_CRYPTO_BLOWFISH_X86_64=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAMELLIA_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
CONFIG_CRYPTO_CAST_COMMON=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST5_AVX_X86_64=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_CAST6_AVX_X86_64=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_DES3_EDE_X86_64=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_X86_64=m
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=m
CONFIG_CRYPTO_LZ4=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_DRBG_MENU=m
CONFIG_CRYPTO_DRBG_HMAC=y
# CONFIG_CRYPTO_DRBG_HASH is not set
# CONFIG_CRYPTO_DRBG_CTR is not set
CONFIG_CRYPTO_DRBG=m
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_HASH_INFO=y
# CONFIG_CRYPTO_HW is not set


but when i try to use cryptsetup i get this:

# cryptsetup -c aes-xts:plain64 -y -s 256 luksFormat
/dev/mapper/VolGroup01-media2

WARNING!

This will overwrite data on /dev/mapper/VolGroup01-media2 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
device-mapper: reload ioctl on  failed: Invalid argument
Failed to setup dm-crypt key mapping for device 
/dev/mapper/VolGroup01-media2.
Check that kernel supports aes-xts:plain64 cipher (check syslog for 
more info).




Any ideas?

i built cryptsetup with this useflags:

nls openssl python udev urandom



cryptsetup --help shows me i am able to use the options

Default compiled-in device cipher parameters:
loop-AES: aes, Key 256 bits
plain: aes-cbc-essiv:sha256, Key: 256 bits, Password hashing: 
ripemd160

LUKS1: aes-xts-plain64, Key: 256 bits, LUKS header hashing:
sha1, RNG: /dev/random


any help / ideas or knowledge welcome.

best regards

marko

#

Ok, now i have built into Kernel.

ALso

CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=y

i set.


Here is output of  /proc/crypto =

# cat /proc/crypto
name : ghash
driver   : ghash-generic
module   : kernel
priority : 100
refcnt   : 1
selftest : passed
type : shash
blocksize: 16
digestsize   : 16

name : stdrng
driver   : drbg_nopr_hmac_sha256
module   : kernel
priority : 107

Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-20 Thread Heiko Baums
Am 20.04.2015 um 15:43 schrieb Marko Weber | 8000:

 # cryptsetup -c aes-xts:plain64 -y -s 512 luksFormat
 /dev/mapper/VolGroup01-media2

As I've already mentioned in my first answer, there is a typo in this
command. Well, I actually didn't mention that it's a typo, but I gave
you the correct command:

# cryptsetup -s 256 -y -c aes-xts-plain64 luksFormat
/dev/mapper/VolGroup01-media2

Maybe you should consider those parameters:
-s 512 (for a longer key)
-h sha512 (otherwise sha1 will get used for the password hash)
--use-random (manpage says: Using /dev/urandom can lead to weak keys.)

Or in other words: It's not -c aes-xts:plain64, but -c aes-xts-plain.



Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-20 Thread bitlord
On Sat, 18 Apr 2015 12:27:15 +0200
Marko Weber | 8000 we...@zbfmail.de wrote:

 
 hello list,
 
 i try to crypt a partition with cryptsetup.
 Yes, in Kernel i had all need things i think.
 
 CONFIG_CRYPTO=y
...
 # CONFIG_CRYPTO_HW is not set
 
 
 but when i try to use cryptsetup i get this:
 
 # cryptsetup -c aes-xts:plain64 -y -s 256 luksFormat 
 /dev/mapper/VolGroup01-media2
 
 WARNING!
 
 This will overwrite data on /dev/mapper/VolGroup01-media2 irrevocably.
 
 Are you sure? (Type uppercase yes): YES
 Enter passphrase:
 Verify passphrase:
 device-mapper: reload ioctl on  failed: Invalid argument
 Failed to setup dm-crypt key mapping for device 
 /dev/mapper/VolGroup01-media2.
 Check that kernel supports aes-xts:plain64 cipher (check syslog for
 more info).
 
 
 
 Any ideas?
 
 i built cryptsetup with this useflags:
 
 nls openssl python udev urandom
 
 
 
 cryptsetup --help shows me i am able to use the options
 
 Default compiled-in device cipher parameters:
  loop-AES: aes, Key 256 bits
  plain: aes-cbc-essiv:sha256, Key: 256 bits, Password
 hashing: ripemd160
  LUKS1: aes-xts-plain64, Key: 256 bits, LUKS header hashing: 
 sha1, RNG: /dev/random
 
 
 any help / ideas or knowledge welcome.
 
 best regards
 
 marko
 
 
 
 
 

I read the whole tread, but will reply here.

I use this mode on some devices, and for me works fine (gentoo
systems), I have it enabled in kernel, also I have cryptsetup with
sys-fs/cryptsetup-1.6.5 (gcrypt nls python_single_target_python2_7
python_targets_python2_7 python_targets_python3_3 udev) 
You can probably ignore python*, 'gcrypt' is probably important USE
flag.

Also something which maybe unrelated to you but is important about
CONFIG_CRYPTO_XTS is 
XTS: IEEE1619/D16 narrow block cipher use with
aes-xts-plain, key size 256, 384 or 512 bits. This implementation
currently can't handle a sectorsize which is not a multiple of 16
bytes.



[gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-18 Thread Marko Weber | 8000


hello list,

i try to crypt a partition with cryptsetup.
Yes, in Kernel i had all need things i think.

CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_MCRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_ABLK_HELPER=m
CONFIG_CRYPTO_GLUE_HELPER_X86=m
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SEQIV=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA1_SSSE3=m
CONFIG_CRYPTO_SHA256_SSSE3=m
CONFIG_CRYPTO_SHA512_SSSE3=m
CONFIG_CRYPTO_SHA1_MB=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_COMMON=m
CONFIG_CRYPTO_BLOWFISH_X86_64=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAMELLIA_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
CONFIG_CRYPTO_CAST_COMMON=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST5_AVX_X86_64=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_CAST6_AVX_X86_64=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_DES3_EDE_X86_64=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_X86_64=m
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=m
CONFIG_CRYPTO_LZ4=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_DRBG_MENU=m
CONFIG_CRYPTO_DRBG_HMAC=y
# CONFIG_CRYPTO_DRBG_HASH is not set
# CONFIG_CRYPTO_DRBG_CTR is not set
CONFIG_CRYPTO_DRBG=m
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_HASH_INFO=y
# CONFIG_CRYPTO_HW is not set


but when i try to use cryptsetup i get this:

# cryptsetup -c aes-xts:plain64 -y -s 256 luksFormat 
/dev/mapper/VolGroup01-media2


WARNING!

This will overwrite data on /dev/mapper/VolGroup01-media2 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
device-mapper: reload ioctl on  failed: Invalid argument
Failed to setup dm-crypt key mapping for device 
/dev/mapper/VolGroup01-media2.
Check that kernel supports aes-xts:plain64 cipher (check syslog for more 
info).




Any ideas?

i built cryptsetup with this useflags:

nls openssl python udev urandom



cryptsetup --help shows me i am able to use the options

Default compiled-in device cipher parameters:
loop-AES: aes, Key 256 bits
plain: aes-cbc-essiv:sha256, Key: 256 bits, Password hashing: 
ripemd160
LUKS1: aes-xts-plain64, Key: 256 bits, LUKS header hashing: 
sha1, RNG: /dev/random



any help / ideas or knowledge welcome.

best regards

marko





--



Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-18 Thread Heiko Baums
Am 18.04.2015 um 12:27 schrieb Marko Weber | 8000:

 i try to crypt a partition with cryptsetup.
 Yes, in Kernel i had all need things i think.

No, you haven't.

You need to make those changes:
 CONFIG_CRYPTO_XTS=m
CONFIG_CRYPTO_XTS=y
 CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_X86_64=y
 CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_AES_NI_INTEL=y (only if you have an Intel CPU)

You have to compile the modules which are necessary for the encryption
method you're using directly into the kernel, not as a module, because
the kernel needs them directly at boot time.

 but when i try to use cryptsetup i get this:
 
 # cryptsetup -c aes-xts:plain64 -y -s 256 luksFormat
 /dev/mapper/VolGroup01-media2

The correct command is:

# cryptsetup -s 256 -y -c aes-xts-plain64 luksFormat
/dev/mapper/VolGroup01-media2

Maybe you should consider those parameters:
-s 512 (for a longer key)
-h sha512 (otherwise sha1 will get used for the password hash)
--use-random (manpage says: Using /dev/urandom can lead to weak keys.)



Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-18 Thread Ralf
On 04/18/2015 02:07 PM, Heiko Baums wrote:
 You have to compile the modules which are necessary for the encryption
 method you're using directly into the kernel, not as a module, because
 the kernel needs them directly at boot time.
No. Could you please explain why you think so?
Even if your root partition is encrypted, your ramdisk could load the
modules.

After loading the modules you can see that they are available by cat
/proc/crypto.

The modules can be loaded _after_ bootup as well.

Cheers
  Ralf



Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-18 Thread Heiko Baums
Am 18.04.2015 um 12:27 schrieb Marko Weber | 8000:

 i try to crypt a partition with cryptsetup.
 Yes, in Kernel i had all need things i think.

Depending on the password hash you're using (parameter -h) you need to
make the appropriate changes here, too:

 CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA1=y
 CONFIG_CRYPTO_SHA1_SSSE3=m
CONFIG_CRYPTO_SHA1_SSSE3=y
 CONFIG_CRYPTO_SHA256_SSSE3=m
CONFIG_CRYPTO_SHA256_SSSE3=y
 CONFIG_CRYPTO_SHA512_SSSE3=m
CONFIG_CRYPTO_SHA512_SSSE3=y
 CONFIG_CRYPTO_SHA1_MB=m
CONFIG_CRYPTO_SHA1_MB=y
 CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA256=y
 CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_SHA512=y



Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-18 Thread Ralf
Hi,

@Marko
tl;dr: it's going a bit offtopic.
Marko, try to hardcompile those modules into your kernel.
This should be the simplest fix of your problem.

On 04/18/2015 02:44 PM, Heiko Baums wrote:
 Am 18.04.2015 um 14:12 schrieb Ralf:

 No. Could you please explain why you think so?
 Even if your root partition is encrypted, your ramdisk could load the
 modules.
 Are you sure about that? Are you sure that the necessary modules are
 definitely put into the initrd and that the kernel will be able to load
 them soon enough at boot time?
I double checked it and now I am sure:

For reasons of comfortability I inspected a standard Arch-Linux
installation.
It supports rootfs encryption and xts is loaded in the initrd as module.
So it is possible to treat it as a module.

Besides that: Why should your kernel config allow you to compile it as
module if it isn't useable as module?

 Compiling those modules into the kernel is definitely more secure (in
 terms of being sure that they are always available) and doesn't do any
 harm, because they need to be loaded anyway.
Yes for a homebrew kernel, i can second that.

 Btw., several dm-crypt/LUKS documentation (all that I've read) say that
 those modules have to be compiled into the kernel directly.

 After loading the modules you can see that they are available by cat
 /proc/crypto.
 You won't be able to run this command when the kernel tries to unlock
 the LUKS container at boot time.
No, but it is accessible when creating your LUKS volume, and that's
Marko problem at the moment.

 The modules can be loaded _after_ bootup as well.
 If you want to unlock the LUKS container at boot time (particularly if
 your root partition is encrypted), loading the modules after bootup is
 too late.
Loading those modules during the early bootup phase in your initrd is
actually not too late.

Ah, and for completeness sake:
Grub2 is able to speak LUKS. So your kernel and initrd maybe inside an
encrypted volume.


 So I wouldn't risk it.
Neither do I.

Cheers
  Ralf



Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-18 Thread Ralf
Hi Marko,

could you please paste the latest few lines of dmesg after trying to
create your volume?
And please paste the output of lsmod.

All your crypto-kernel-stuff are modules. Perhaps they're not loaded.
Check if corresponding modules are loaded.

Cheers
  Ralf

On 04/18/2015 12:27 PM, Marko Weber | 8000 wrote:

 hello list,

 i try to crypt a partition with cryptsetup.
 Yes, in Kernel i had all need things i think.

 CONFIG_CRYPTO=y
 CONFIG_CRYPTO_ALGAPI=y
 CONFIG_CRYPTO_ALGAPI2=y
 CONFIG_CRYPTO_AEAD=m
 CONFIG_CRYPTO_AEAD2=y
 CONFIG_CRYPTO_BLKCIPHER=y
 CONFIG_CRYPTO_BLKCIPHER2=y
 CONFIG_CRYPTO_HASH=y
 CONFIG_CRYPTO_HASH2=y
 CONFIG_CRYPTO_RNG=m
 CONFIG_CRYPTO_RNG2=y
 CONFIG_CRYPTO_PCOMP=m
 CONFIG_CRYPTO_PCOMP2=y
 CONFIG_CRYPTO_MANAGER=y
 CONFIG_CRYPTO_MANAGER2=y
 CONFIG_CRYPTO_USER=m
 # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
 CONFIG_CRYPTO_GF128MUL=m
 CONFIG_CRYPTO_NULL=m
 CONFIG_CRYPTO_PCRYPT=m
 CONFIG_CRYPTO_WORKQUEUE=y
 CONFIG_CRYPTO_CRYPTD=m
 CONFIG_CRYPTO_MCRYPTD=m
 CONFIG_CRYPTO_AUTHENC=m
 CONFIG_CRYPTO_TEST=m
 CONFIG_CRYPTO_ABLK_HELPER=m
 CONFIG_CRYPTO_GLUE_HELPER_X86=m
 CONFIG_CRYPTO_CCM=m
 CONFIG_CRYPTO_GCM=m
 CONFIG_CRYPTO_SEQIV=m
 CONFIG_CRYPTO_CBC=y
 CONFIG_CRYPTO_CTR=m
 CONFIG_CRYPTO_CTS=m
 CONFIG_CRYPTO_ECB=m
 CONFIG_CRYPTO_LRW=m
 CONFIG_CRYPTO_PCBC=m
 CONFIG_CRYPTO_XTS=m
 CONFIG_CRYPTO_CMAC=m
 CONFIG_CRYPTO_HMAC=m
 CONFIG_CRYPTO_XCBC=m
 CONFIG_CRYPTO_VMAC=m
 CONFIG_CRYPTO_CRC32C=y
 CONFIG_CRYPTO_CRC32C_INTEL=m
 CONFIG_CRYPTO_CRC32=m
 CONFIG_CRYPTO_CRC32_PCLMUL=m
 CONFIG_CRYPTO_CRCT10DIF=y
 CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
 CONFIG_CRYPTO_GHASH=m
 CONFIG_CRYPTO_MD4=m
 CONFIG_CRYPTO_MD5=y
 CONFIG_CRYPTO_MICHAEL_MIC=m
 CONFIG_CRYPTO_RMD128=m
 CONFIG_CRYPTO_RMD160=m
 CONFIG_CRYPTO_RMD256=m
 CONFIG_CRYPTO_RMD320=m
 CONFIG_CRYPTO_SHA1=m
 CONFIG_CRYPTO_SHA1_SSSE3=m
 CONFIG_CRYPTO_SHA256_SSSE3=m
 CONFIG_CRYPTO_SHA512_SSSE3=m
 CONFIG_CRYPTO_SHA1_MB=m
 CONFIG_CRYPTO_SHA256=m
 CONFIG_CRYPTO_SHA512=m
 CONFIG_CRYPTO_TGR192=m
 CONFIG_CRYPTO_WP512=m
 CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
 CONFIG_CRYPTO_AES=y
 CONFIG_CRYPTO_AES_X86_64=m
 CONFIG_CRYPTO_AES_NI_INTEL=m
 CONFIG_CRYPTO_ANUBIS=m
 CONFIG_CRYPTO_ARC4=m
 CONFIG_CRYPTO_BLOWFISH=m
 CONFIG_CRYPTO_BLOWFISH_COMMON=m
 CONFIG_CRYPTO_BLOWFISH_X86_64=m
 CONFIG_CRYPTO_CAMELLIA=m
 CONFIG_CRYPTO_CAMELLIA_X86_64=m
 CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
 CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
 CONFIG_CRYPTO_CAST_COMMON=m
 CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_CAST5_AVX_X86_64=m
 CONFIG_CRYPTO_CAST6=m
 CONFIG_CRYPTO_CAST6_AVX_X86_64=m
 CONFIG_CRYPTO_DES=m
 CONFIG_CRYPTO_DES3_EDE_X86_64=m
 CONFIG_CRYPTO_FCRYPT=m
 CONFIG_CRYPTO_KHAZAD=m
 CONFIG_CRYPTO_SALSA20=m
 CONFIG_CRYPTO_SALSA20_X86_64=m
 CONFIG_CRYPTO_SEED=m
 CONFIG_CRYPTO_SERPENT=m
 CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
 CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
 CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
 CONFIG_CRYPTO_TEA=m
 CONFIG_CRYPTO_TWOFISH=m
 CONFIG_CRYPTO_TWOFISH_COMMON=m
 CONFIG_CRYPTO_TWOFISH_X86_64=m
 CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
 CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
 CONFIG_CRYPTO_DEFLATE=m
 CONFIG_CRYPTO_ZLIB=m
 CONFIG_CRYPTO_LZO=m
 CONFIG_CRYPTO_LZ4=m
 CONFIG_CRYPTO_LZ4HC=m
 CONFIG_CRYPTO_ANSI_CPRNG=m
 CONFIG_CRYPTO_DRBG_MENU=m
 CONFIG_CRYPTO_DRBG_HMAC=y
 # CONFIG_CRYPTO_DRBG_HASH is not set
 # CONFIG_CRYPTO_DRBG_CTR is not set
 CONFIG_CRYPTO_DRBG=m
 CONFIG_CRYPTO_USER_API=m
 CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
 CONFIG_CRYPTO_HASH_INFO=y
 # CONFIG_CRYPTO_HW is not set


 but when i try to use cryptsetup i get this:

 # cryptsetup -c aes-xts:plain64 -y -s 256 luksFormat
 /dev/mapper/VolGroup01-media2

 WARNING!
 
 This will overwrite data on /dev/mapper/VolGroup01-media2 irrevocably.

 Are you sure? (Type uppercase yes): YES
 Enter passphrase:
 Verify passphrase:
 device-mapper: reload ioctl on  failed: Invalid argument
 Failed to setup dm-crypt key mapping for device
 /dev/mapper/VolGroup01-media2.
 Check that kernel supports aes-xts:plain64 cipher (check syslog for
 more info).



 Any ideas?

 i built cryptsetup with this useflags:

 nls openssl python udev urandom



 cryptsetup --help shows me i am able to use the options

 Default compiled-in device cipher parameters:
 loop-AES: aes, Key 256 bits
 plain: aes-cbc-essiv:sha256, Key: 256 bits, Password hashing:
 ripemd160
 LUKS1: aes-xts-plain64, Key: 256 bits, LUKS header hashing:
 sha1, RNG: /dev/random


 any help / ideas or knowledge welcome.

 best regards

 marko









Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-18 Thread Heiko Baums
Am 18.04.2015 um 14:12 schrieb Ralf:

 No. Could you please explain why you think so?
 Even if your root partition is encrypted, your ramdisk could load the
 modules.

Are you sure about that? Are you sure that the necessary modules are
definitely put into the initrd and that the kernel will be able to load
them soon enough at boot time?

Compiling those modules into the kernel is definitely more secure (in
terms of being sure that they are always available) and doesn't do any
harm, because they need to be loaded anyway.

Btw., several dm-crypt/LUKS documentation (all that I've read) say that
those modules have to be compiled into the kernel directly.

 After loading the modules you can see that they are available by cat
 /proc/crypto.

You won't be able to run this command when the kernel tries to unlock
the LUKS container at boot time.

 The modules can be loaded _after_ bootup as well.

If you want to unlock the LUKS container at boot time (particularly if
your root partition is encrypted), loading the modules after bootup is
too late.

So I wouldn't risk it.



Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-18 Thread Heiko Baums
Am 18.04.2015 um 12:27 schrieb Marko Weber | 8000:

 i try to crypt a partition with cryptsetup.
 Yes, in Kernel i had all need things i think.

Sorry, but I forgot some more kernel modules you need:

CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y

You didn't mention them, so I don't know if you have them already built
into your kernel.



Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-18 Thread Fernando Rodriguez
On Saturday, April 18, 2015 9:35:27 PM Fernando Rodriguez wrote:
 On Saturday, April 18, 2015 12:27:15 PM Marko Weber | 8000 wrote:
  
  hello list,
  
  i try to crypt a partition with cryptsetup.
  Yes, in Kernel i had all need things i think.
  
  CONFIG_CRYPTO=y
  CONFIG_CRYPTO_ALGAPI=y
  CONFIG_CRYPTO_ALGAPI2=y
  CONFIG_CRYPTO_AEAD=m
  CONFIG_CRYPTO_AEAD2=y
  CONFIG_CRYPTO_BLKCIPHER=y
  CONFIG_CRYPTO_BLKCIPHER2=y
  CONFIG_CRYPTO_HASH=y
  CONFIG_CRYPTO_HASH2=y
  CONFIG_CRYPTO_RNG=m
  CONFIG_CRYPTO_RNG2=y
  CONFIG_CRYPTO_PCOMP=m
  CONFIG_CRYPTO_PCOMP2=y
  CONFIG_CRYPTO_MANAGER=y
  CONFIG_CRYPTO_MANAGER2=y
  CONFIG_CRYPTO_USER=m
  # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
  CONFIG_CRYPTO_GF128MUL=m
  CONFIG_CRYPTO_NULL=m
  CONFIG_CRYPTO_PCRYPT=m
  CONFIG_CRYPTO_WORKQUEUE=y
  CONFIG_CRYPTO_CRYPTD=m
  CONFIG_CRYPTO_MCRYPTD=m
  CONFIG_CRYPTO_AUTHENC=m
  CONFIG_CRYPTO_TEST=m
  CONFIG_CRYPTO_ABLK_HELPER=m
  CONFIG_CRYPTO_GLUE_HELPER_X86=m
  CONFIG_CRYPTO_CCM=m
  CONFIG_CRYPTO_GCM=m
  CONFIG_CRYPTO_SEQIV=m
  CONFIG_CRYPTO_CBC=y
  CONFIG_CRYPTO_CTR=m
  CONFIG_CRYPTO_CTS=m
  CONFIG_CRYPTO_ECB=m
  CONFIG_CRYPTO_LRW=m
  CONFIG_CRYPTO_PCBC=m
  CONFIG_CRYPTO_XTS=m
  CONFIG_CRYPTO_CMAC=m
  CONFIG_CRYPTO_HMAC=m
  CONFIG_CRYPTO_XCBC=m
  CONFIG_CRYPTO_VMAC=m
  CONFIG_CRYPTO_CRC32C=y
  CONFIG_CRYPTO_CRC32C_INTEL=m
  CONFIG_CRYPTO_CRC32=m
  CONFIG_CRYPTO_CRC32_PCLMUL=m
  CONFIG_CRYPTO_CRCT10DIF=y
  CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
  CONFIG_CRYPTO_GHASH=m
  CONFIG_CRYPTO_MD4=m
  CONFIG_CRYPTO_MD5=y
  CONFIG_CRYPTO_MICHAEL_MIC=m
  CONFIG_CRYPTO_RMD128=m
  CONFIG_CRYPTO_RMD160=m
  CONFIG_CRYPTO_RMD256=m
  CONFIG_CRYPTO_RMD320=m
  CONFIG_CRYPTO_SHA1=m
  CONFIG_CRYPTO_SHA1_SSSE3=m
  CONFIG_CRYPTO_SHA256_SSSE3=m
  CONFIG_CRYPTO_SHA512_SSSE3=m
  CONFIG_CRYPTO_SHA1_MB=m
  CONFIG_CRYPTO_SHA256=m
  CONFIG_CRYPTO_SHA512=m
  CONFIG_CRYPTO_TGR192=m
  CONFIG_CRYPTO_WP512=m
  CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
  CONFIG_CRYPTO_AES=y
  CONFIG_CRYPTO_AES_X86_64=m
  CONFIG_CRYPTO_AES_NI_INTEL=m
  CONFIG_CRYPTO_ANUBIS=m
  CONFIG_CRYPTO_ARC4=m
  CONFIG_CRYPTO_BLOWFISH=m
  CONFIG_CRYPTO_BLOWFISH_COMMON=m
  CONFIG_CRYPTO_BLOWFISH_X86_64=m
  CONFIG_CRYPTO_CAMELLIA=m
  CONFIG_CRYPTO_CAMELLIA_X86_64=m
  CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
  CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
  CONFIG_CRYPTO_CAST_COMMON=m
  CONFIG_CRYPTO_CAST5=m
  CONFIG_CRYPTO_CAST5_AVX_X86_64=m
  CONFIG_CRYPTO_CAST6=m
  CONFIG_CRYPTO_CAST6_AVX_X86_64=m
  CONFIG_CRYPTO_DES=m
  CONFIG_CRYPTO_DES3_EDE_X86_64=m
  CONFIG_CRYPTO_FCRYPT=m
  CONFIG_CRYPTO_KHAZAD=m
  CONFIG_CRYPTO_SALSA20=m
  CONFIG_CRYPTO_SALSA20_X86_64=m
  CONFIG_CRYPTO_SEED=m
  CONFIG_CRYPTO_SERPENT=m
  CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
  CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
  CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
  CONFIG_CRYPTO_TEA=m
  CONFIG_CRYPTO_TWOFISH=m
  CONFIG_CRYPTO_TWOFISH_COMMON=m
  CONFIG_CRYPTO_TWOFISH_X86_64=m
  CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
  CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
  CONFIG_CRYPTO_DEFLATE=m
  CONFIG_CRYPTO_ZLIB=m
  CONFIG_CRYPTO_LZO=m
  CONFIG_CRYPTO_LZ4=m
  CONFIG_CRYPTO_LZ4HC=m
  CONFIG_CRYPTO_ANSI_CPRNG=m
  CONFIG_CRYPTO_DRBG_MENU=m
  CONFIG_CRYPTO_DRBG_HMAC=y
  # CONFIG_CRYPTO_DRBG_HASH is not set
  # CONFIG_CRYPTO_DRBG_CTR is not set
  CONFIG_CRYPTO_DRBG=m
  CONFIG_CRYPTO_USER_API=m
  CONFIG_CRYPTO_USER_API_HASH=m
  CONFIG_CRYPTO_USER_API_SKCIPHER=m
  CONFIG_CRYPTO_HASH_INFO=y
  # CONFIG_CRYPTO_HW is not set
  
  
  but when i try to use cryptsetup i get this:
  
  # cryptsetup -c aes-xts:plain64 -y -s 256 luksFormat 
  /dev/mapper/VolGroup01-media2
  
  WARNING!
  
  This will overwrite data on /dev/mapper/VolGroup01-media2 irrevocably.
  
  Are you sure? (Type uppercase yes): YES
  Enter passphrase:
  Verify passphrase:
  device-mapper: reload ioctl on  failed: Invalid argument
  Failed to setup dm-crypt key mapping for device 
  /dev/mapper/VolGroup01-media2.
  Check that kernel supports aes-xts:plain64 cipher (check syslog for more 
  info).
  
  
  
  Any ideas?
  
  i built cryptsetup with this useflags:
  
  nls openssl python udev urandom
  
  
  
  cryptsetup --help shows me i am able to use the options
  
  Default compiled-in device cipher parameters:
   loop-AES: aes, Key 256 bits
   plain: aes-cbc-essiv:sha256, Key: 256 bits, Password hashing: 
  ripemd160
   LUKS1: aes-xts-plain64, Key: 256 bits, LUKS header hashing: 
  sha1, RNG: /dev/random
  
  
  any help / ideas or knowledge welcome.
  
  best regards
  
  marko
 
 That message is incorrectly shown if something's wrong with the way you 
 specified the cipher and key size. It threw me off for a while too. This is 
what 
 I ended up using:
 
 cryptsetup -i 3 -c twofish-xts-essiv:sha256 -s 512 -h sha512 luksFormat 
 file.img
 
 I don't remember where I was getting it wrong, I think I was using -s 256 
but 
 xts uses half the key for every other block so the key needs to be twice the 
 size. I found a site with a table that list what you can use with which 
 

Re: [gentoo-user] cryptsetup wont use aes-xts:plain64

2015-04-18 Thread Fernando Rodriguez
On Saturday, April 18, 2015 12:27:15 PM Marko Weber | 8000 wrote:
 
 hello list,
 
 i try to crypt a partition with cryptsetup.
 Yes, in Kernel i had all need things i think.
 
 CONFIG_CRYPTO=y
 CONFIG_CRYPTO_ALGAPI=y
 CONFIG_CRYPTO_ALGAPI2=y
 CONFIG_CRYPTO_AEAD=m
 CONFIG_CRYPTO_AEAD2=y
 CONFIG_CRYPTO_BLKCIPHER=y
 CONFIG_CRYPTO_BLKCIPHER2=y
 CONFIG_CRYPTO_HASH=y
 CONFIG_CRYPTO_HASH2=y
 CONFIG_CRYPTO_RNG=m
 CONFIG_CRYPTO_RNG2=y
 CONFIG_CRYPTO_PCOMP=m
 CONFIG_CRYPTO_PCOMP2=y
 CONFIG_CRYPTO_MANAGER=y
 CONFIG_CRYPTO_MANAGER2=y
 CONFIG_CRYPTO_USER=m
 # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
 CONFIG_CRYPTO_GF128MUL=m
 CONFIG_CRYPTO_NULL=m
 CONFIG_CRYPTO_PCRYPT=m
 CONFIG_CRYPTO_WORKQUEUE=y
 CONFIG_CRYPTO_CRYPTD=m
 CONFIG_CRYPTO_MCRYPTD=m
 CONFIG_CRYPTO_AUTHENC=m
 CONFIG_CRYPTO_TEST=m
 CONFIG_CRYPTO_ABLK_HELPER=m
 CONFIG_CRYPTO_GLUE_HELPER_X86=m
 CONFIG_CRYPTO_CCM=m
 CONFIG_CRYPTO_GCM=m
 CONFIG_CRYPTO_SEQIV=m
 CONFIG_CRYPTO_CBC=y
 CONFIG_CRYPTO_CTR=m
 CONFIG_CRYPTO_CTS=m
 CONFIG_CRYPTO_ECB=m
 CONFIG_CRYPTO_LRW=m
 CONFIG_CRYPTO_PCBC=m
 CONFIG_CRYPTO_XTS=m
 CONFIG_CRYPTO_CMAC=m
 CONFIG_CRYPTO_HMAC=m
 CONFIG_CRYPTO_XCBC=m
 CONFIG_CRYPTO_VMAC=m
 CONFIG_CRYPTO_CRC32C=y
 CONFIG_CRYPTO_CRC32C_INTEL=m
 CONFIG_CRYPTO_CRC32=m
 CONFIG_CRYPTO_CRC32_PCLMUL=m
 CONFIG_CRYPTO_CRCT10DIF=y
 CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
 CONFIG_CRYPTO_GHASH=m
 CONFIG_CRYPTO_MD4=m
 CONFIG_CRYPTO_MD5=y
 CONFIG_CRYPTO_MICHAEL_MIC=m
 CONFIG_CRYPTO_RMD128=m
 CONFIG_CRYPTO_RMD160=m
 CONFIG_CRYPTO_RMD256=m
 CONFIG_CRYPTO_RMD320=m
 CONFIG_CRYPTO_SHA1=m
 CONFIG_CRYPTO_SHA1_SSSE3=m
 CONFIG_CRYPTO_SHA256_SSSE3=m
 CONFIG_CRYPTO_SHA512_SSSE3=m
 CONFIG_CRYPTO_SHA1_MB=m
 CONFIG_CRYPTO_SHA256=m
 CONFIG_CRYPTO_SHA512=m
 CONFIG_CRYPTO_TGR192=m
 CONFIG_CRYPTO_WP512=m
 CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
 CONFIG_CRYPTO_AES=y
 CONFIG_CRYPTO_AES_X86_64=m
 CONFIG_CRYPTO_AES_NI_INTEL=m
 CONFIG_CRYPTO_ANUBIS=m
 CONFIG_CRYPTO_ARC4=m
 CONFIG_CRYPTO_BLOWFISH=m
 CONFIG_CRYPTO_BLOWFISH_COMMON=m
 CONFIG_CRYPTO_BLOWFISH_X86_64=m
 CONFIG_CRYPTO_CAMELLIA=m
 CONFIG_CRYPTO_CAMELLIA_X86_64=m
 CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
 CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
 CONFIG_CRYPTO_CAST_COMMON=m
 CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_CAST5_AVX_X86_64=m
 CONFIG_CRYPTO_CAST6=m
 CONFIG_CRYPTO_CAST6_AVX_X86_64=m
 CONFIG_CRYPTO_DES=m
 CONFIG_CRYPTO_DES3_EDE_X86_64=m
 CONFIG_CRYPTO_FCRYPT=m
 CONFIG_CRYPTO_KHAZAD=m
 CONFIG_CRYPTO_SALSA20=m
 CONFIG_CRYPTO_SALSA20_X86_64=m
 CONFIG_CRYPTO_SEED=m
 CONFIG_CRYPTO_SERPENT=m
 CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
 CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
 CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
 CONFIG_CRYPTO_TEA=m
 CONFIG_CRYPTO_TWOFISH=m
 CONFIG_CRYPTO_TWOFISH_COMMON=m
 CONFIG_CRYPTO_TWOFISH_X86_64=m
 CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
 CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
 CONFIG_CRYPTO_DEFLATE=m
 CONFIG_CRYPTO_ZLIB=m
 CONFIG_CRYPTO_LZO=m
 CONFIG_CRYPTO_LZ4=m
 CONFIG_CRYPTO_LZ4HC=m
 CONFIG_CRYPTO_ANSI_CPRNG=m
 CONFIG_CRYPTO_DRBG_MENU=m
 CONFIG_CRYPTO_DRBG_HMAC=y
 # CONFIG_CRYPTO_DRBG_HASH is not set
 # CONFIG_CRYPTO_DRBG_CTR is not set
 CONFIG_CRYPTO_DRBG=m
 CONFIG_CRYPTO_USER_API=m
 CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
 CONFIG_CRYPTO_HASH_INFO=y
 # CONFIG_CRYPTO_HW is not set
 
 
 but when i try to use cryptsetup i get this:
 
 # cryptsetup -c aes-xts:plain64 -y -s 256 luksFormat 
 /dev/mapper/VolGroup01-media2
 
 WARNING!
 
 This will overwrite data on /dev/mapper/VolGroup01-media2 irrevocably.
 
 Are you sure? (Type uppercase yes): YES
 Enter passphrase:
 Verify passphrase:
 device-mapper: reload ioctl on  failed: Invalid argument
 Failed to setup dm-crypt key mapping for device 
 /dev/mapper/VolGroup01-media2.
 Check that kernel supports aes-xts:plain64 cipher (check syslog for more 
 info).
 
 
 
 Any ideas?
 
 i built cryptsetup with this useflags:
 
 nls openssl python udev urandom
 
 
 
 cryptsetup --help shows me i am able to use the options
 
 Default compiled-in device cipher parameters:
  loop-AES: aes, Key 256 bits
  plain: aes-cbc-essiv:sha256, Key: 256 bits, Password hashing: 
 ripemd160
  LUKS1: aes-xts-plain64, Key: 256 bits, LUKS header hashing: 
 sha1, RNG: /dev/random
 
 
 any help / ideas or knowledge welcome.
 
 best regards
 
 marko

That message is incorrectly shown if something's wrong with the way you 
specified the cipher and key size. It threw me off for a while too. This is 
what 
I ended up using:

cryptsetup -i 3 -c twofish-xts-essiv:sha256 -s 512 -h sha512 luksFormat 
file.img

I don't remember where I was getting it wrong, I think I was using -s 256 but 
xts uses half the key for every other block so the key needs to be twice the 
size. I found a site with a table that list what you can use with which 
options but unfortunately I can't find it now. So try using -s 512 (since 
cryptsetup is telling you that you can use a 256 bit key).


-- 
Fernando Rodriguez