关于xtea加密解密算法

Posted khldragon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于xtea加密解密算法相关的知识,希望对你有一定的参考价值。

简介

对称加密算法的一种,具体介绍可以参加维基百科。这里放上一幅图,方便理解其算法过程。
技术图片

算法实例


/* take 64 bits of data in v[0] and v[1] and 128 bits of key[0] - key[3] */

void encipher(unsigned int num_rounds, uint32_t v[2], uint32_t const key[4]) {
    unsigned int i;
    uint32_t v0=v[0], v1=v[1], sum=0, delta=0x9E3779B9;
    for (i=0; i < num_rounds; i++) {
        v0 += (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + key[sum & 3]);
        sum += delta;
        v1 += (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + key[(sum>>11) & 3]);
    }
    v[0]=v0; v[1]=v1;
}

void decipher(unsigned int num_rounds, uint32_t v[2], uint32_t const key[4]) {
    unsigned int i;
    uint32_t v0=v[0], v1=v[1], delta=0x9E3779B9, sum=delta*num_rounds;
    for (i=0; i < num_rounds; i++) {
        v1 -= (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + key[(sum>>11) & 3]);
        sum -= delta;
        v0 -= (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + key[sum & 3]);
    }
    v[0]=v0; v[1]=v1;
}

以上是关于关于xtea加密解密算法的主要内容,如果未能解决你的问题,请参考以下文章

XTEA加密算法

TEAXTEAXXTEA加密解密算法

介绍XXTEA加密算法及其C实现

可以解密加密数据的片段吗?

关于加密算法 Python实现 的笔记梳理

关于C++中字符串加密及解密