1. ## Q about basic encryption (AES)

I'm trying to learn.
I'm trying to encrypt/decrypt data using ' 128 bit AES, ECB mode, Zero byte padding'
The data itself is 64 16-byte blocks (RFID)(16 "sectors"/4 blocks=1 sector)

The key itself is the MD5 hash of the following 0x56 bytes:
<first 0x20 bytes of sector 0> <1-byte block index>
<0x35-byte constant>

unsigned char hashConst[] = {
0x20, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x43, 0x29, 0x20, 0x32,
0x30, 0x31, 0x30, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6F, 0x6E, 0x2E, 0x20,
0x41, 0x6C, 0x6C, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72,
0x76, 0x65, 0x64, 0x2E, 0x20};

What's the unsigned char hashConst stuff?
What's a 1-byte block index?
What's a 0x35-byte constant?
(0x35=64)? 64 byte constant?

There's also some instructions to (after performing 2 CRC16 checksums on some data stored on the chip) to "increment area sequence by 1" before performing a third CRC16 checksum, what does this mean?

I've been trying my best to figure out how this specific set of data is encrypted, decrypted and such but, it's gotten very confusing.
If any more information is needed, I'd be able to show you all of the instruction I have, I'd appreciate if anybody can help dumb down these instructions for me.
Last edited by ironic.demise; March 17th, 2013 at 05:32 PM.