CollectDCrypto: Encrypted pkt parsing (AES256)
CollectDCrypto: Encrypted pkt parsing (AES256)

- First 2 bytes is the part type. For encrypted parts it's 0x0210.
- Next 2 bytes specify the part length.
- Next 2 bytes specify the username length.
- Next uname_len bytes are the username.
- Next 16 bytes are the initialization vector (iv).
- Remaining bytes are the ciphertext. It needs to be padded to a
  multiple of 16 before decryption and unpadded afterwards
  (OFB mode turns AES into a stream cipher).
- The user's password is hashed with SHA256 to produce the
  encryption key.
- Ciphertext is decrypted with AES using the key and iv from above.
- First 20 bytes in the plaintext (padding removed) is a SHA1 hash
  of the remaining bytes of the plaintext.
- Remaining bytes (without the SHA1 tag) are the payload to forward.

jsiembida/bucky3,ewdurbin/bucky,trbs/bucky,dimrozakis/bucky,Hero1378/bucky,JoseKilo/bucky,JoseKilo/bucky,Hero1378/bucky,dimrozakis/bucky,trbs/bucky,ewdurbin/bucky