Embedded systems coursework 2.
Fork of Crypto_light by
Diff: cipher/AES.cpp
- Revision:
- 8:a090264e9b2d
- Parent:
- 7:2dbbdfb08123
--- a/cipher/AES.cpp Sat Sep 14 18:21:32 2013 +0000 +++ b/cipher/AES.cpp Sat Sep 14 20:54:59 2013 +0000 @@ -52,6 +52,32 @@ }; AES::AES(const AES_TYPE t, uint8_t *key): +BlockCipher(16,ECB_MODE), +state() +{ + switch(t) + { + case AES_128: + nr = 10; + nk = 4; + break; + + case AES_192: + nr = 12; + nk = 6; + break; + + case AES_256: + nr = 14; + nk = 8; + break; + } + + keyExpansion(key); +} + +AES::AES(const AES_TYPE t, uint8_t *key, uint8_t *iv): +BlockCipher(16,CBC_MODE, iv), state() { switch(t) @@ -275,20 +301,3 @@ memcpy(out, state, 16); } - -void AES::encrypt(uint8_t *out, uint8_t *in, uint32_t length) -{ - for(uint32_t i = 0; i < length; i+=16) - encryptBlock(&out[i], &in[i]); -} - -void AES::decrypt(uint8_t *out, uint8_t *in, uint32_t length) -{ - for(uint32_t i = 0; i < length; i+=16) - decryptBlock(&out[i], &in[i]); -} - -uint32_t AES::getBlockSize() const -{ - return 16; -}