It seems to me that it can be compressed like so:
---------------------------------------------------------------
struct TrueCrypt_Header {
char iv[64]; /* Visible IV */
/* Format */
uint32_t keys_crc32; /* CRC32 of keys area */ //Is it safe?
uint64_t hidden_volume_size; /* size of hidden volume */
uint64_t mk_offset; /* encrypted payload offset in bytes */ //?
uint32_t header_crc32; /* CRC32 of header without keys */
char keys[256]; /* Key storage area */
}
---------------------------------------------------------------
I am not good at cryptography as I am a school student, but that's how
encrypted files look in my program for now:
1) Name of my program and newline (to be recognised).
2) Random IV.
3) Encrypted size of original file (int, but would be replaced with something
bigger) + 12 bytes of random data to make an AES-128 block.
4) Then, the very encrypted data.
But I have some concerns about whether to encrypt orifinal file size or not, as
it can be expressed as this inequality: (file_size-buffer_size) < original_size
<= file_size (without header, of course). So, it is easier for hacker to find a
key.
--
--
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at
http://www.cryptopp.com.
---
You received this message because you are subscribed to the Google Groups
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.