]> cvs.zerfleddert.de Git - proxmark3-svn/blame - armsrc/aes.h
FIX: first attempt to clean up EM4x50 commands.
[proxmark3-svn] / armsrc / aes.h
CommitLineData
f38a1528 1/*
2* AES Cryptographic Algorithm Header File. Include this header file in
3* your source which uses these given APIs. (This source is kept under
4* public domain)
5*/
2d3f8e5f 6#ifndef __AES_H
7#define __AES_H
f38a1528 8
9// AES context structure
10typedef struct {
11 unsigned int Ek[60];
12 unsigned int Dk[60];
13 unsigned int Iv[4];
14 unsigned char Nr;
15 unsigned char Mode;
16} AesCtx;
17
18// key length in bytes
19#define KEY128 16
20#define KEY192 24
21#define KEY256 32
22// block size in bytes
23#define BLOCKSZ 16
24// mode
25#define EBC 0
26#define CBC 1
27
28// AES API function prototype
29
30int AesCtxIni(AesCtx *pCtx, unsigned char *pIV, unsigned char *pKey, unsigned int KeyLen, unsigned char Mode);
31int AesEncrypt(AesCtx *pCtx, unsigned char *pData, unsigned char *pCipher, unsigned int DataLen);
2d3f8e5f 32int AesDecrypt(AesCtx *pCtx, unsigned char *pCipher, unsigned char *pData, unsigned int CipherLen);
33
34#endif
Impressum, Datenschutz