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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mac_aessecurity.c

?? zigbee location examples
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
                             aesCcmData->ccmData.message,
                             aesCcmData->ccmData.message,
                             result);

            if (*result)
                AppendUToEncryptedMessage (noOfBytesInU,
                                           (BYTE *)&u,
                                           (BYTE *)&(aesCcmData->ccmData.messageLength),
                                           aesCcmData->ccmData.message);
        }
    }
}

//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
#pragma vector=ENC_VECTOR
__near_func __interrupt void  AesIsr (void)// interrupt MCU_AES_INTERRUPT_VECTOR_NO
{
    BYTE XDATA transferCount,
               aesCommandReg;

    FetchAesTransferCount ((BYTE *)&transferCount);
    transferCount = transferCount - SIXTEEN_BYTES_BLOCK;

    if (transferCount != 0)
    {
        SaveAesTransferCount (transferCount);
        aesCommandReg = ENCCS;
        aesCommandReg |= AES_START_COMMAND;
        ENCCS = aesCommandReg & 0xF7;
    }
    else
    {
        SaveAesFinished (TRUE);
        DMAARM = DMA_TO_AES_STOP;
        DMAARM = DMA_FROM_AES_STOP;
    }

    S0CON = FALSE;
}

//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
void EnableAesInterrupt (void)
{
    S0CON = FALSE;
    ENCIE /*EX10*/ = TRUE;
}

//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
void DisableAesInterrupt (void)
{
    ENCIE /*EX10*/  = FALSE;
    S0CON = FALSE;
}

//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
void MacAesCtr (KEY_MATERIAL XDATA   *keyMaterial,
                ENCRYPTION_TYPE      encryptionType,
                BYTE                 noOfBytes,
                BYTE XDATA           *bytes,
                BOOL XDATA           *result)
{
    IV XDATA iv;

    BuildAesCtrInputBlock (keyMaterial->frameCounter,
                           keyMaterial->keySequenceCounter,
                           &keyMaterial->extendedSourceAddress,
                           (BYTE *)&iv);
    Aes (AES_MODE_CTR,
         encryptionType,
         &keyMaterial->key,
         &iv,
         noOfBytes,
         bytes,
         bytes,
         result);

}

//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
void MacAesCcm (KEY_MATERIAL XDATA  *keyMaterial,
                ENCRYPTION_TYPE     encryptionType,
                OUTPUT_MODE         outputMode,
                U XDATA             *u,
                CCM_DATA XDATA      *ccmData,
                BOOL XDATA          *result)
{
    AES_CCM_DATA XDATA  aesCcmData;

    BuildA0 (keyMaterial->frameCounter,
             keyMaterial->keySequenceCounter,
             &keyMaterial->extendedSourceAddress,
             (A0 *)&(aesCcmData.a0));
    BuildB0 (ccmData->messageLength,
             outputMode,
             keyMaterial->frameCounter,
             keyMaterial->keySequenceCounter,
             &keyMaterial->extendedSourceAddress,
             (B0 *)&(aesCcmData.b0));
    memcpy (&aesCcmData.key,
            &keyMaterial->key,
            KEY_LENGTH);
    aesCcmData.outputMode = outputMode;
    memcpy (&aesCcmData.ccmData,
            ccmData,
            sizeof (ccmData));

    if (encryptionType == ENCRYPTION_TYPE_ENCRYPT)
        AesCcmEncrypt ((AES_CCM_DATA *)&aesCcmData, result);
    else
        AesCcmDecrypt ((AES_CCM_DATA *)&aesCcmData,
                       (U *)&u,
                       result);

}

//-------------------------------------------------------------------------------------------------------
//
// Internal functions
//
//-------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
static void AppendFrameKeyAndSource (DWORD          frameCounter,
                                     BYTE           keySequenceCounter,
                                     ADDRESS XDATA  *extendedSourceAddress,
                                     BYTE XDATA     *bytes)
{   BYTE    i,
            j;

    memcpy (bytes,
            extendedSourceAddress,
            sizeof (ADDRESS));
    j = sizeof (ADDRESS);

    for ( i = 0; i < sizeof (DWORD); i++)
    {
        bytes[j] = (BYTE)frameCounter;
        ++j;
        frameCounter = frameCounter >> 8;
    }

   bytes[j] = keySequenceCounter;
    ++j;

}

//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
static void AppendUToEncryptedMessage (BYTE         noOfBytes,
                                       BYTE XDATA   *u,
                                       BYTE XDATA   *messageLength,
                                       BYTE XDATA   *message)
{
    BYTE i,
         j;

    j = *messageLength;

    for ( i = 0; i < noOfBytes; i++)
    {
        message[j] = u[i];
        ++j;
    }

    *messageLength = (BYTE)(*messageLength + i);
}

//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
static void BuildAesCtrInputBlock (DWORD            frameCounter,
                                   BYTE             keySequenceCounter,
                                   ADDRESS XDATA    *extendedSourceAddress,
                                   BYTE XDATA       *iv)
{
    BYTE j;

    j = 0;
    iv[j] = AES_CTR_FLAGS_FIELD;
    ++j;

    AppendFrameKeyAndSource (frameCounter,
                             keySequenceCounter,
                             extendedSourceAddress,
                             (BYTE *)&iv[j]);
    j = (BYTE)(j +
        sizeof (frameCounter) +
        sizeof (keySequenceCounter) +
        sizeof (extendedSourceAddress));
    iv[j] = 0;
    ++j;
    iv[j] = 0;

}

//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
static void BuildAuthenticationData (B0 XDATA   *b0,
                                     BYTE       authenticationLength,
                                     BYTE XDATA *authenticationData,
                                     BYTE XDATA *additionalLength,
                                     BYTE XDATA *additionalAuthData)
{
    *additionalLength = sizeof(B0);

    DmaMemcpy (additionalAuthData,
               b0,
               *additionalLength);
    additionalAuthData[sizeof(B0)] = 00;
    additionalAuthData[sizeof(B0) + 1] = authenticationLength;
    DmaMemcpy (&additionalAuthData[*additionalLength + NO_OF_BYTES_IN_LA],
               authenticationData,
               authenticationLength);
    *additionalLength = (BYTE)(*additionalLength +
                                authenticationLength +
                                NO_OF_BYTES_IN_LA);
    ZeroPadData (additionalLength, additionalAuthData);

}

//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
static void BuildA0 (DWORD          frameCounter,
                     BYTE           keySequenceCounter,
                     ADDRESS XDATA  *extendedSourceAddress,
                     A0 XDATA       *a0)
{
    BYTE i,
	     XDATA *a;

    i = 0;
	a = (BYTE *)a0;
    a[i] = A0_L2;
    i++;
    AppendFrameKeyAndSource (frameCounter,
                             keySequenceCounter,
                             extendedSourceAddress,
                             (BYTE *)&a[i]);
    i = (BYTE)(i +
        sizeof (frameCounter) +
        sizeof (keySequenceCounter) +
        sizeof (extendedSourceAddress));

    a[i] = 0;
    a[i+1] = 0;

}

//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
static void BuildB0 (BYTE           messageLength,
                     OUTPUT_MODE    outputMode,
                     DWORD          frameCounter,
                     BYTE           keySequenceCounter,
                     ADDRESS XDATA  *extendedSourceAddress,
                     B0 XDATA       *b0)
{
    BYTE i,
	     XDATA *b;

    i = 0;
    b = (BYTE *)b0;

    switch (outputMode)
    {
        case OUTPUT_MODE_RESULT_128:
           b[i] =  B0_M128_L2;
           break;

        case OUTPUT_MODE_RESULT_64:
           b[i] =  B0_M64_L2;
           break;

        case OUTPUT_MODE_RESULT_32:
           b[i] =  B0_M32_L2;
           break;
    }

    AppendFrameKeyAndSource (frameCounter,
                             keySequenceCounter,
                             extendedSourceAddress,
                             (BYTE *)&b[i]);
    i = (BYTE)(i +
        sizeof (frameCounter) +
        sizeof (keySequenceCounter) +
        sizeof (extendedSourceAddress));

    b[i] = 0;
    b[i + 1] = messageLength;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线播放日韩导航| 国产精品久久久99| 久久久影院官网| 国产精品视频yy9299一区| 国产精品日韩精品欧美在线| 日韩毛片视频在线看| 亚洲国产一区二区三区| 日本中文字幕一区| 国产不卡在线视频| 97se亚洲国产综合自在线观| 欧洲人成人精品| 日韩欧美在线综合网| 国产精品免费视频观看| 亚洲小说春色综合另类电影| 国产又黄又大久久| 色天天综合色天天久久| 日韩免费福利电影在线观看| 国产色91在线| 日日嗨av一区二区三区四区| 成人网男人的天堂| 91精品国产一区二区三区香蕉| 国产日本一区二区| 日本午夜精品视频在线观看 | 亚洲成人免费在线| 懂色av一区二区在线播放| 欧美精品一级二级三级| 国产精品欧美极品| 国产一区二区毛片| 欧美美女网站色| 亚洲最快最全在线视频| 丁香激情综合五月| 国产精品女上位| 国产福利一区二区三区在线视频| 欧美日韩精品欧美日韩精品| 亚洲少妇最新在线视频| 成人理论电影网| 久久女同精品一区二区| 韩国一区二区三区| 日韩欧美中文字幕公布| 蜜桃视频在线观看一区二区| 在线播放视频一区| 奇米精品一区二区三区在线观看| 色老汉av一区二区三区| 亚洲精品日韩专区silk| 91麻豆成人久久精品二区三区| 亚洲欧洲日本在线| 91麻豆免费观看| 亚洲一区二区三区四区的| 91福利精品第一导航| 婷婷激情综合网| 日韩精品一区二| 国模冰冰炮一区二区| 国产精品视频一二三区| 在线一区二区三区做爰视频网站| 亚洲精品第1页| 91精品国产丝袜白色高跟鞋| 免费xxxx性欧美18vr| 精品乱人伦一区二区三区| 国产成人午夜精品5599| 专区另类欧美日韩| 91精品国产综合久久精品| 国产精品自拍av| 亚洲综合男人的天堂| 日韩视频在线你懂得| 成人午夜电影小说| 午夜激情久久久| 国产精品视频一区二区三区不卡| 色综合久久中文综合久久牛| 亚洲成av人片| 国产精品色婷婷| 欧美一区二区国产| 91香蕉视频污在线| 极品尤物av久久免费看| 亚洲视频网在线直播| 精品国产电影一区二区| 在线观看一区二区精品视频| 韩日av一区二区| 午夜精品久久久久久久久久久| 2021中文字幕一区亚洲| 欧美日韩三级一区| 91丨porny丨中文| 国产精华液一区二区三区| 婷婷综合另类小说色区| 亚洲精品国产一区二区精华液 | 成人av网址在线| 免费精品视频在线| 亚洲成人资源网| 亚洲伦理在线免费看| 国产色91在线| 国产嫩草影院久久久久| 精品欧美久久久| 日韩欧美一二三四区| 在线播放欧美女士性生活| 欧美日韩一区中文字幕| 色综合久久久久久久久久久| 日本黄色一区二区| 91伊人久久大香线蕉| 99视频有精品| 色综合天天性综合| av电影天堂一区二区在线| 国产91丝袜在线观看| 国产毛片精品一区| 懂色av中文字幕一区二区三区| 国产成人av福利| 国产精品996| 成人动漫在线一区| jlzzjlzz亚洲日本少妇| 91小视频免费看| 在线观看91视频| 欧美理论电影在线| 欧美不卡在线视频| 国产精品久久久一本精品| 亚洲另类在线制服丝袜| 午夜精品视频在线观看| 看电影不卡的网站| 国产mv日韩mv欧美| 在线观看www91| 日韩欧美精品在线| 国产欧美日韩精品在线| 亚洲成人av电影在线| 久草中文综合在线| 成人一级黄色片| 欧美午夜寂寞影院| 国产婷婷色一区二区三区| 一区二区三区中文字幕精品精品| 日精品一区二区三区| 99久久综合99久久综合网站| 欧美一区二区在线看| 中文成人综合网| 久久国产视频网| 91免费版在线| 国产亚洲福利社区一区| 午夜国产精品一区| 色婷婷综合中文久久一本| 欧美一二三四在线| 亚洲国产一区二区视频| 99久久伊人久久99| 精品国产成人系列| 一区二区三区四区中文字幕| 蜜臀av亚洲一区中文字幕| av电影在线观看一区| 日韩欧美中文字幕一区| 亚洲激情男女视频| 成人国产一区二区三区精品| 在线综合+亚洲+欧美中文字幕| 中文字幕色av一区二区三区| 久久成人av少妇免费| 在线播放中文一区| 五月开心婷婷久久| 欧美日韩综合在线| 亚洲国产综合91精品麻豆| 色偷偷久久一区二区三区| 亚洲欧洲日产国码二区| 91亚洲精品乱码久久久久久蜜桃| 久久久久国产精品厨房| 国产福利一区二区| 中文字幕精品一区| www.亚洲免费av| 亚洲精品ww久久久久久p站 | 欧美mv日韩mv国产网站| 图片区日韩欧美亚洲| 91精品国产高清一区二区三区| 亚洲mv在线观看| 欧美xxxxx裸体时装秀| 久久97超碰国产精品超碰| 久久精品一区二区| 成人高清av在线| 一区二区三区在线视频免费| 91丨porny丨首页| 91搞黄在线观看| 国产婷婷色一区二区三区四区| 久久久久久久久久久久久久久99 | 亚洲一二三四久久| 欧美午夜精品理论片a级按摩| 日韩精彩视频在线观看| 欧美xxxxxxxxx| 一本色道久久综合亚洲91| 午夜精品久久久久| 中文字幕欧美激情| 欧美精品日韩一区| 成人午夜免费视频| 日韩va亚洲va欧美va久久| 国产三级欧美三级| 欧美色综合久久| 国产不卡在线视频| 午夜婷婷国产麻豆精品| 久久久久久99久久久精品网站| 色婷婷综合久久久久中文| 久久99精品国产| 亚洲妇熟xx妇色黄| 亚洲欧美日韩国产另类专区| 久久嫩草精品久久久精品| 欧美性极品少妇| 91在线精品一区二区三区| 激情综合五月天| 偷拍日韩校园综合在线| 亚洲一区二区三区四区的| 欧美国产一区在线| 欧美xxx久久| 精品国产乱码91久久久久久网站|