⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aes_hardware.h

📁 在BOOTLOADR中增加当今最好AES加密技术,可用于客户远程更新应用程式
💻 H
字号:
//------------------------------------------------------------------------------
// File:          aes_hardware.h
// Function:      Firmware encryption using AES hardware acceleration
// Supported chip(s):
//    - AT91SAM7XC128
//    - AT91SAM7XC256
// Supported toolchain(s):
//    - IAR Embedded Workbench
// Date created:  07 June 2006
// Created by:    JJo
//------------------------------------------------------------------------------

#ifndef BOOTLOADER_AES_HARDWARE_H
#define BOOTLOADER_AES_HARDWARE_H

//------------------------------------------------------------------------------
// Includes
//------------------------------------------------------------------------------

#include "common.h"
#include "debug.h"
#include "board.h"

#if defined(USE_ENCRYPTION) && defined(ENCRYPTION_AES_HARD)

//------------------------------------------------------------------------------
// Check configuration
//------------------------------------------------------------------------------

#if (ENCRYPTION_KEY_LENGTH != 16)
  #error Hardware AES acceleration only supports 128 bits keys.
#endif

#if (ENCRYPTION_BLOCK_LENGTH !=  16)
  #error Hardware AES acceleration only supports 128 bits blocks.
#endif

#if !defined(ENCRYPTION_ECB) && \
    !defined(ENCRYPTION_CBC) && \
    !defined(ENCRYPTION_CTR)
  #error Only ECB, CBC & CTR modes are supported.
#endif

//------------------------------------------------------------------------------
// Definitions
//------------------------------------------------------------------------------

// Functions
#define encryption_init     aes_hard_init
#define encryption_cleanup  aes_hard_cleanup
#define encryption_decrypt  aes_hard_decrypt

//------------------------------------------------------------------------------
// Prototypes
//------------------------------------------------------------------------------

void aes_hard_init(void);
void aes_hard_cleanup(void);
int aes_hard_decrypt(const unsigned char *, unsigned char *, unsigned int);

#endif // defined(USE_ENCRYPTION) && defined(ENCRYPTION_AES_HARD)
#endif // BOOTLOADER_AES_HARDWARE_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -