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.

Reply via email to