I was wondering how to encrypt by doing a AES-Twofish-Serpent encryption. Does this mean I encrypt in AES first then after that in Twofish, and after that in Serpent (three separate encryptions). In truecrypt they talk about cascading in xts mode, but I was having trouble finding a tutorial on how to do it.
Asked
Active
Viewed 1,664 times
-1
-
https://en.wikipedia.org/wiki/Disk_encryption_theory#XEX-based_tweaked-codebook_mode_with_ciphertext_stealing_.28XTS.29 – buherator Aug 04 '13 at 19:41
-
That just explains what it is, not how to do it – abden003 Aug 04 '13 at 20:29
-
1I didn't mean to answer your question (this is why I wrote a comment, not an answer), just wanted to give some pointers to the solution. The linked article and the referenced CTS article and NIST publication actually describe the algorithm for XTS. – buherator Aug 09 '13 at 12:25
1 Answers
2
- Generate three distinct keys from the original encryption key using a Key Derivation Function (KDF). For example, if you're using a 128-bit key, derive a 384-bit key from it with the KDF and split the result in three 128-bit keys.
- Encrypt with AES using the first key, then encrypt the output with Twofish using the second key, then encrypt the new output with Serpent using the third key.
You would need to check the TrueCrypt source code if you want to do exactly like them (I don't know the exact mechanism they use for deriving the keys).
![](../../users/profiles/15247.webp)
Conrado
- 181
- 3