免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2200 | 回复: 3
打印 上一主题 下一主题

[算法] 3des算法 异或分散处理部分 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-02-03 00:09 |只看该作者 |倒序浏览
大家帮我分析一下3des 算法中  XorDev这个异或分散函数是否有问题?

因为pdata 是数据加密部分,pfactor 是数据源,整个是解密,我对3des不懂,

麻烦大家指导一下这个函数编写是否有问题


// 对定长的数据做异或分散处理
static const BYTE Xor_Table[] =
{
        0x1E, 0x13, 0x17, 0x11, 0x09, 0x03, 0x02, 0x16,
        0x01, 0x08, 0x0D, 0x10, 0x14, 0x1B, 0x0C, 0x04,
        0x07, 0x0B, 0x19, 0x1C, 0x0E, 0x12, 0x0A, 0x1D,
        0x00, 0x05, 0x06, 0x1F, 0x0F, 0x15, 0x18, 0x1A
};
void XorDev(BYTE * pData, int nLenData, BYTE * pFactor)
{
        char chBuf0[256] = {0};
        char chBuf1[256] = {0};
        BYTE bBuf[256] = {0};

        Hexs2Str(pData, nLenData, chBuf0, sizeof(chBuf0));

        for(BYTE i = 0; i < nLenData * 2; i ++ )
        {
                chBuf1[Xor_Table[i]] = chBuf0[i];
        }

        Str2Hexs(chBuf1, (DWORD)strlen(chBuf1), bBuf, sizeof(bBuf));

        for(int i = nLenData - 1; i > 0; i -- )
        {
                pData[i] = bBuf[i] ^ bBuf[i-1];
        }

        pData[0] = bBuf[0] ^ pFactor[3];
}

论坛徽章:
0
2 [报告]
发表于 2013-02-03 12:19 |只看该作者
各位大鸟,大家有什么建议或者看法,给个回复啊,急着要用,

论坛徽章:
0
3 [报告]
发表于 2013-02-03 14:13 |只看该作者
你是算法课还是要用?要用直接用现成的库,不要自己写。

论坛徽章:
0
4 [报告]
发表于 2013-02-04 21:55 |只看该作者
能发一个给我吗,我想分析下源代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP