亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? aes1.c

?? CC2430多功能調試程序
?? C
字號:
/******************************************************************************
Filename:     aes.c
Target:       cc2430
Revised:      16/12-2005
Revision:     1.0

Description:

    This application show how to use the AES (Advanced Encryption Standard) module.

    The program first encrypts a short string, and then decrypts it afterwards using
    the HAL library. Then a longer string is encrypted and decrypted using DMA.

******************************************************************************/

#include "app_ex.h"
#include "cul.h"
#include <string.h>

#define STRING_LENGTH       16
#define STRING_LENGTH_DMA 4*16

#define LENGTH_IV  16
#define LENGTH_KEY 16

void aes_main(void);

//key an initialization vector (IV)
BYTE  key[LENGTH_KEY] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x11};
BYTE  IV[LENGTH_IV ] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};


volatile BOOL dmaFinished;

void initAes(void);
void setFinished(void);
void aes(void);
void dmaAes(void);
void scrollText(char *string, UINT8 length);


/******************************************************************************
* @fn  initAes
*
* @brief
*      Initializes components for use with the AES encryption routine
*      application example (e.g. LED's, LCD, PushButton).
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void initAes(void)
{
   initLcd();

   SET_MAIN_CLOCK_SOURCE(CRYSTAL);

   INIT_BUTTON();
   INIT_GLED();
}


/******************************************************************************
* @fn  aes_main
*
* @brief
*      Main function of the AES encryption application example.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
#ifdef COMPLETE_APPLICATION
void aes_main(void){
#else
void main(void){
#endif
   initAes();

   GLED = LED_OFF;

   aes();

   dmaAes();

   haltApplicationWithLED();
   return;
}


/******************************************************************************
* @fn  aes
*
* @brief
*       This function encrypts and decrypts a string with use of the AES
*       module and the hal library
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void aes(void)
{
   char plainText[STRING_LENGTH];
   char cipherText[STRING_LENGTH];

   //clearing both strings
   memset(plainText, ' ', STRING_LENGTH);
   memset(cipherText, ' ', STRING_LENGTH);

   GLED = LED_ON;
   //Inserting, printing plaintext and waiting for input
   strcpy(plainText, (char*)"Chipcon AS");
   lcdUpdate((char*)"Plain text:", plainText);
   while(getJoystickDirection() != CENTRED);
   while(getJoystickDirection() == CENTRED);


   // Setting the correct mode for AES and loading the key
   AES_SETMODE(CTR);
   halAesLoadKeyOrInitVector(key, TRUE);

   GLED = LED_OFF;


   //encrypt text and clearing plain text
   halAesEncrDecr((BYTE *)plainText, STRING_LENGTH, (BYTE *)cipherText, IV, ENCRYPT);
   memset(plainText, ' ', STRING_LENGTH);

   //printing ciphertext and waiting for user
   lcdUpdate((char*)"Cipher text:", cipherText);
   while(getJoystickDirection() != CENTRED);
   while(getJoystickDirection() == CENTRED);

   GLED = LED_ON;

   //decrypt text, printing result and waiting for user
   halAesEncrDecr((BYTE *)cipherText, STRING_LENGTH, (BYTE *)plainText, IV, DECRYPT);
   lcdUpdate((char*)"Plain text:", plainText);
   while(getJoystickDirection() != CENTRED);
   while(getJoystickDirection() == CENTRED);
   GLED = LED_OFF;

   return;
}


/******************************************************************************
* @fn  dmaAes
*
* @brief
*       This function encrypts and decrypts a string with use of the AES
*       module and the cul library. The function uses DMA.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void dmaAes(void)
{
   char plainText[STRING_LENGTH_DMA];
   char cipherText[STRING_LENGTH_DMA];

   UINT8 i;

   // Setting up DMA by requesting two channels
   //(one for transferring data to the AES, the other from the AES)
   DMA_DESC *dmaDescIn;
   DMA_DESC *dmaDescOut;
   UINT8 dmaDescInID;
   UINT8 dmaDescOutID;
   culDmaInit();
   dmaDescIn = culDmaAllocChannel(&dmaDescInID, setFinished);
   dmaDescOut = culDmaAllocChannel(&dmaDescOutID, setFinished);


   // clear text
   memset(plainText, ' ', STRING_LENGTH_DMA);
   memset(cipherText, ' ', STRING_LENGTH_DMA);

   GLED = LED_ON;

   // init with plain text, printing text and waiting
   strcpy(plainText, (char*)"The world is going wireless and Chipcon drives this development.");
   scrollText(plainText, STRING_LENGTH_DMA);
   while(getJoystickDirection() != CENTRED);
   while(getJoystickDirection() == CENTRED);


   // enable interupt from DMA and loading Initialisation Vector using DMA
   INT_ENABLE(INUM_DMA, INT_ON);
   INT_GLOBAL_ENABLE(INT_ON);
   culDmaToAes(dmaDescIn, (BYTE __xdata*)IV, LENGTH_IV, TRUE);
   DMA_ARM_CHANNEL(dmaDescInID);
   AES_SET_ENCR_DECR_KEY_IV(AES_LOAD_IV);
   AES_START();
   dmaFinished = FALSE;
   while (!dmaFinished);


   // Encrypting text. Setting up 2 DMA channels and starting transfer
   // Waiting until finished
   culDmaToAes(dmaDescIn, (BYTE __xdata*)plainText, STRING_LENGTH_DMA, FALSE);
   culDmaFromAes(dmaDescOut, (BYTE __xdata*)cipherText, STRING_LENGTH_DMA, TRUE);
   AES_SET_ENCR_DECR_KEY_IV(AES_ENCRYPT);
   DMA_ARM_CHANNEL(dmaDescInID);
   DMA_ARM_CHANNEL(dmaDescOutID);

   for(i = 0; i < STRING_LENGTH_DMA / 16; i++){
      while (! (ENCCS & 0x08)); //wait for AES ready
      AES_START();
   }

   dmaFinished = FALSE;
   while (!dmaFinished);

   GLED = LED_OFF;


   // clearing plain text
   memset(plainText, ' ', STRING_LENGTH_DMA);

   // Printing cipher text
   lcdUpdate((char*)"DMA cipher text:", cipherText);
   scrollText(cipherText, STRING_LENGTH_DMA);
   while(getJoystickDirection() != CENTRED);
   while(getJoystickDirection() == CENTRED);


   // setup for encryption
   // load IV. Waiting until finished.
   GLED = LED_ON;
   culDmaToAes(dmaDescIn, (BYTE __xdata*)IV  , LENGTH_IV, TRUE);
   DMA_ARM_CHANNEL(dmaDescInID);
   AES_SET_ENCR_DECR_KEY_IV(AES_LOAD_IV);
   AES_START();
   dmaFinished = FALSE;
   while (!dmaFinished);



   // Decrypting text. Waiting until finished.
   culDmaToAes(dmaDescIn, (BYTE __xdata*)cipherText, STRING_LENGTH_DMA, FALSE);
   culDmaFromAes(dmaDescOut, (BYTE __xdata*)plainText, STRING_LENGTH_DMA, TRUE);
   AES_SET_ENCR_DECR_KEY_IV(AES_ENCRYPT);
   DMA_ARM_CHANNEL(dmaDescInID);
   DMA_ARM_CHANNEL(dmaDescOutID);

   for(i = 0; i < STRING_LENGTH_DMA / 16; i++){
      while (! (ENCCS & 0x08)); // wait for AES ready
      AES_START();
   }
   dmaFinished = FALSE;
   while (!dmaFinished);

   GLED = LED_ON;

   //Printing decrypted text
   lcdUpdate((char*)"DMA plain text:", plainText);
   scrollText(plainText, STRING_LENGTH_DMA);
}


/******************************************************************************
* @fn  setFinished
*
* @brief
*       DMA callback routine.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void setFinished(void)
{
   dmaFinished = TRUE;
}

/******************************************************************************
* @fn  aes_init
*
* @brief
*       Initializes the AES encryption application example.
*
* Parameters:
*
* @param  APPLICATION *a
*         Main application
*
* @return void
*
******************************************************************************/
#ifdef COMPLETE_APPLICATION
void aes_init(APPLICATION *a){
   a->menuText = (char*)"AES (Crypto)";
   a->description = (char*)"Enc./decr.";
   a->main_func = aes_main;
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产欧美日韩| 亚洲综合在线视频| 天使萌一区二区三区免费观看| 一区二区三区四区乱视频| 国产精品一二三四| 日韩精品一区二区三区视频播放| 亚洲乱码精品一二三四区日韩在线| 亚洲一区成人在线| 91麻豆成人久久精品二区三区| 久久久亚洲精华液精华液精华液| 国产91丝袜在线观看| 国产成人小视频| 国产精品盗摄一区二区三区| 91麻豆成人久久精品二区三区| 夜夜精品视频一区二区 | 91麻豆国产精品久久| 国产欧美日韩亚州综合 | 成人高清视频在线观看| www国产成人| 免播放器亚洲一区| 日韩丝袜情趣美女图片| 精品亚洲欧美一区| 国产亚洲欧美色| 蜜臂av日日欢夜夜爽一区| 欧美成人a在线| 蜜臀av性久久久久蜜臀aⅴ | 成人深夜视频在线观看| 中文字幕视频一区二区三区久| av一区二区三区| 亚洲精品乱码久久久久久久久 | 亚洲国产一区在线观看| 91国偷自产一区二区开放时间| 亚洲另类中文字| 精品国产91久久久久久久妲己| 99热精品一区二区| 九一九一国产精品| 天天影视涩香欲综合网| 中文字幕亚洲不卡| 不卡视频在线观看| 激情深爱一区二区| 一区二区三区四区激情| 国产精品视频九色porn| 欧美一级二级三级蜜桃| 在线欧美日韩精品| 高清在线观看日韩| 狠狠色丁香九九婷婷综合五月| 久久精品一区四区| 欧美精品一区二区三区一线天视频 | 亚洲成av人片在线| 国产精品国产三级国产| 精品福利av导航| 欧美日韩国产a| 欧美亚州韩日在线看免费版国语版| 日本aⅴ亚洲精品中文乱码| 一区二区三区四区在线| 亚洲品质自拍视频| 欧美国产一区二区在线观看| av网站免费线看精品| 久久精品国产99久久6| 亚洲一区二区三区中文字幕在线| 中文字幕综合网| 国产不卡免费视频| 久久国产精品露脸对白| 激情文学综合插| 国产一区二区主播在线| 国内成人免费视频| 国产精品一二三| 白白色亚洲国产精品| 色综合天天综合网国产成人综合天| 不卡高清视频专区| 日本大香伊一区二区三区| 久久久精品tv| 精品久久久久久久一区二区蜜臀| 精品国产欧美一区二区| 久久免费视频一区| 中文字幕中文字幕一区二区| 日本一区二区三区电影| 一区二区欧美视频| 精品亚洲成a人在线观看| 国产成人精品一区二区三区四区 | 久久综合一区二区| 色天天综合色天天久久| 在线视频一区二区三区| 国产精品欧美极品| 国产欧美久久久精品影院| 国产日本欧美一区二区| 国产一区二区不卡老阿姨| 精品无人码麻豆乱码1区2区| 99国产精品久| 日本一区二区视频在线| 美女视频黄 久久| 色诱亚洲精品久久久久久| 国产亚洲欧美激情| 国产在线麻豆精品观看| 7799精品视频| 奇米精品一区二区三区四区| 欧美男人的天堂一二区| 久久亚洲精品小早川怜子| 蜜桃av一区二区三区电影| 欧美吻胸吃奶大尺度电影 | 亚洲成av人影院在线观看网| 99久久久免费精品国产一区二区| 国产欧美精品一区| 成人网男人的天堂| 欧美极品xxx| 日本成人中文字幕| 欧美日韩激情一区二区三区| 国产精品福利影院| gogogo免费视频观看亚洲一| 国产精品久久福利| 色综合天天综合网国产成人综合天 | 日韩午夜av一区| 国产精品18久久久久久久久久久久 | hitomi一区二区三区精品| 一卡二卡三卡日韩欧美| 欧美一区二区在线视频| 奇米影视7777精品一区二区| 欧美精品国产精品| 成人性视频免费网站| 天天操天天色综合| 亚洲国产电影在线观看| 欧美浪妇xxxx高跟鞋交| 岛国一区二区三区| 亚洲丶国产丶欧美一区二区三区| 26uuu另类欧美亚洲曰本| 欧美综合亚洲图片综合区| 国产伦精品一区二区三区免费| 精品国产乱码久久久久久久久| 国产成人夜色高潮福利影视| 亚洲成人1区2区| 综合av第一页| 亚洲国产成人在线| 国产视频一区二区在线观看| 欧美日韩精品一区视频| 91福利精品视频| 成人小视频免费在线观看| 91国偷自产一区二区三区成为亚洲经典 | 亚洲国产日韩综合久久精品| 2021中文字幕一区亚洲| 欧美一级片在线看| 欧美日本韩国一区| 欧美久久一区二区| 日韩一区二区免费高清| 91精品在线一区二区| 精品少妇一区二区三区日产乱码 | 91精彩视频在线观看| 91蝌蚪porny成人天涯| 91美女在线观看| 91小视频在线观看| 91污片在线观看| 日本高清视频一区二区| 91亚洲精品久久久蜜桃| 成人精品高清在线| 91视频www| 夫妻av一区二区| 久久99国产精品久久99果冻传媒| 亚洲精品视频在线观看免费 | 国产精品视频你懂的| 久久美女艺术照精彩视频福利播放| 日韩精品一区在线观看| 国产亚洲福利社区一区| 又紧又大又爽精品一区二区| 日韩av一二三| 国产一区二区三区免费播放| 国产91精品在线观看| 91美女在线视频| 精品国产人成亚洲区| 亚洲欧美韩国综合色| 日韩精品欧美精品| jlzzjlzz亚洲日本少妇| 日韩亚洲欧美中文三级| 中文字幕中文字幕在线一区| 蜜桃视频在线一区| 欧美色偷偷大香| 国产亚洲精品福利| 亚洲超碰精品一区二区| 国产精品资源在线看| 欧美一区中文字幕| 亚洲国产视频a| 91久久国产最好的精华液| 欧美高清一级片在线观看| 久久精品国产成人一区二区三区 | 精品福利一二区| 免费成人美女在线观看.| 色哟哟在线观看一区二区三区| 日韩三级伦理片妻子的秘密按摩| 日韩毛片在线免费观看| 成人免费视频一区二区| 国产日韩欧美不卡| 国产精品99久久久久久宅男| 精品久久久久一区| 精品一区二区三区不卡| 精品国产污污免费网站入口 | 色成人在线视频| 亚洲色图视频网站| 一本色道久久综合狠狠躁的推荐| 国产精品美女一区二区在线观看| 国产精品一二三在| 国产精品电影院| 欧美性色aⅴ视频一区日韩精品|