コード例 #1
0
ファイル: fsl_mmcau.c プロジェクト: hudieka/SDK_2.0_FRDM-K64F
/* cau_sha1_initialize_output */
status_t MMCAU_SHA1_InitializeOutput(uint32_t *sha1State)
{
    status_t status;

    if (sha1State)
    {
        uint8_t hashStateAlign[MMCAU_HASH_STATE_SIZE];
        void *hashStateWork;
        bool copyInOut;
        /* align pointer */
        hashStateWork = mmcau_align(sha1State, hashStateAlign, &copyInOut);
        if (copyInOut)
        {
            mmcau_memcpy(hashStateAlign, sha1State, MMCAU_SHA1_STATE_SIZE);
        }
        /* CAU API */
        cau_sha1_initialize_output(hashStateWork);
        /* copy result to unaligned pointer */
        if (copyInOut)
        {
            mmcau_memcpy(sha1State, hashStateAlign, MMCAU_SHA1_STATE_SIZE);
        }
        status = kStatus_Success;
    }
    else
    {
        status = kStatus_InvalidArgument;
    }
    return status;
}
コード例 #2
0
ファイル: sha.c プロジェクト: Eilliar/wcm-aws-iot-sdk
void InitSha(Sha* sha)
{
    #ifdef FREESCALE_MMCAU
        cau_sha1_initialize_output(sha->digest);
    #else
        sha->digest[0] = 0x67452301L;
        sha->digest[1] = 0xEFCDAB89L;
        sha->digest[2] = 0x98BADCFEL;
        sha->digest[3] = 0x10325476L;
        sha->digest[4] = 0xC3D2E1F0L;
    #endif

    sha->buffLen = 0;
    sha->loLen   = 0;
    sha->hiLen   = 0;
}
コード例 #3
0
ファイル: sha.c プロジェクト: eliastor/cryptofamily
int wc_InitSha(Sha* sha)
{
    int ret = 0;
#ifdef FREESCALE_MMCAU
    ret = wolfSSL_CryptHwMutexLock();
    if(ret != 0) {
        return ret;
    }
    cau_sha1_initialize_output(sha->digest);
    wolfSSL_CryptHwMutexUnLock();
#else
    sha->digest[0] = 0x67452301L;
    sha->digest[1] = 0xEFCDAB89L;
    sha->digest[2] = 0x98BADCFEL;
    sha->digest[3] = 0x10325476L;
    sha->digest[4] = 0xC3D2E1F0L;
#endif

    sha->buffLen = 0;
    sha->loLen   = 0;
    sha->hiLen   = 0;

    return ret;
}