#ifndef __DESFIRE_H
#define __DESFIRE_H
+#include <string.h>
+#include <stdarg.h>
#include "aes.h"
-#define DESFIRE(tag) ((struct desfire_tag *) tag)
-#define DESFIRE_KEY(key) ((struct desfire_key *) key)
+#include "mifare.h"
#define MAX_CRYPTO_BLOCK_SIZE 16
/* Mifare DESFire EV1 Application crypto operations */
T_AES = 0x03
};
-struct desfire_key {
+#define DESFIRE_KEY(key) ((struct desfire_key *) key)
+struct desfire_key {
enum DESFIRE_CRYPTOALGO type;
uint8_t data[24];
// DES_key_schedule ks1;
uint8_t cmac_sk2[24];
uint8_t aes_version;
};
-
typedef struct desfire_key *desfirekey_t;
+#define DESFIRE(tag) ((struct desfire_tag *) tag)
struct desfire_tag {
iso14a_card_select_t info;
int active;
MDFT_CYCLIC_RECORD_FILE_WITH_BACKUP = 0x04
};
-
-
enum DESFIRE_STATUS {
OPERATION_OK = 0x00,
NO_CHANGES = 0x0c,