devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
阅读:19825回复:59

(原创)透明加解密-AES等长加密算法(含代码)

楼主#
更多 发布于:2007-04-02 13:32
[post]  在没有解决文件透明加解密的变长加密问题之前,我们大多数都采用等长加密,而等长加密算法有
异或、取反、取反+异或、RC4等,现在经过2天时间终于把AES算法也纳入进来,请大家验证!

1. 支持用户层、核心层两种模式(用_USRMODE宏控制);
2. 使用方法如下:

//
// AES Cipher handle and keys
//

AES_HANDLE gFltCipherAES;              // AES句柄
BYTE gFltCipherAESKey[256/8] = {'T'}; // 密钥,可换作其它

//
// 初始化
//

gFltCipherAES = AESInitialize(BIT256, gFltCipherAESKey);
ASSERT(NULL != gFltCipherAES);

//
// 加密
//

AESCipher(
                      gFltCipherAES,
                      (BYTE*)InBuffer,
                      (BYTE*)OutBuffer,
                      Length
                      );

//
// 解密
//

AESInvCipher(
                      gFltCipherAES,
                      (BYTE*)InBuffer,
                      (BYTE*)OutBuffer,
                      Length
                      );

//
// 反初始化
//

AESUnInitialize(gFltCipherAES);
附件名称/大小 下载次数 最后更新
kaes.rar (4KB)  863 2007-04-02 13:32

最新喜欢:

舍七淡六舍七淡六 lipengyilipeng... arbelarbel snoxsnox
人总在矛盾中徘徊。。。
magichere
驱动小牛
驱动小牛
  • 注册日期2007-01-24
  • 最后登录2008-05-07
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望137点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-04-02 13:53
what why who
创造美好的未来生活!!!
magichere
驱动小牛
驱动小牛
  • 注册日期2007-01-24
  • 最后登录2008-05-07
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望137点
  • 贡献值0点
  • 好评度136点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-04-02 14:03
能做任意等长加密吗? 你是 16 个字节 对齐才行吧?
extern "C"
void AESCipher(AES_HANDLE AesHandle, BYTE *input, BYTE *output, ULONG length)
{
    BYTE *pi, *po;
    pi = input;
    po = output;

    for(ULONG i = 0; i < length; i+=16)
    {
        Cipher(AesHandle, pi, po);
        pi+=16;
        po+=16;
    }
}
创造美好的未来生活!!!
reddargon
驱动小牛
驱动小牛
  • 注册日期2005-08-05
  • 最后登录2008-07-15
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望101点
  • 贡献值0点
  • 好评度100点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-04-02 14:36
AES是分组算法,你是怎么解决文件的变长处理的?
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
地下室#
发布于:2007-04-02 14:39
YES,当然可以做任意等长加密
人总在矛盾中徘徊。。。
strpic
驱动小牛
驱动小牛
  • 注册日期2006-11-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望238点
  • 贡献值0点
  • 好评度156点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-04-02 14:54
我是想看看
firabc
驱动牛犊
驱动牛犊
  • 注册日期2004-10-10
  • 最后登录2007-10-20
  • 粉丝0
  • 关注0
  • 积分410分
  • 威望42点
  • 贡献值0点
  • 好评度42点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-04-02 15:00
想看看
zmpen
驱动牛犊
驱动牛犊
  • 注册日期2003-06-16
  • 最后登录2009-03-25
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望13点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-04-02 15:18
看看,参考
zhou
驱动牛犊
驱动牛犊
  • 注册日期2001-08-01
  • 最后登录2007-08-10
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-04-02 15:39
及时地参考文献
dancy2000
reborn
驱动小牛
驱动小牛
  • 注册日期2006-07-21
  • 最后登录2007-10-13
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望144点
  • 贡献值0点
  • 好评度143点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-04-02 15:57
看看
reddargon
驱动小牛
驱动小牛
  • 注册日期2005-08-05
  • 最后登录2008-07-15
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望101点
  • 贡献值0点
  • 好评度100点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-04-02 16:14
在测试时发现:
明文为:"1234567890",长度为10
加密时得到的密文为长度为16.
解密时必须输入16字节的密文,否则为乱码.
这也和标准的AES相吻合.
不知道楼主所说的"任意等长加密"是什么意思?
是否可理解为:输入和输出的长度相等?
reddargon
驱动小牛
驱动小牛
  • 注册日期2005-08-05
  • 最后登录2008-07-15
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望101点
  • 贡献值0点
  • 好评度100点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-04-02 16:39
个人认为:如果是输入和输出是等长的话,只有一种情况:输入是16的倍数,
因为在楼主的代码中是按照16字节分组的.
不知道理解的是否有误,还请大侠多指教.
lauer
驱动牛犊
驱动牛犊
  • 注册日期2004-02-04
  • 最后登录2013-01-07
  • 粉丝1
  • 关注1
  • 积分578分
  • 威望127点
  • 贡献值1点
  • 好评度57点
  • 原创分1分
  • 专家分0分
12楼#
发布于:2007-04-02 16:46
具体什么AES算法?
oyclkelly
驱动牛犊
驱动牛犊
  • 注册日期2006-06-07
  • 最后登录2009-07-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望29点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-04-02 17:02
guan zhu
shenzhensong
驱动牛犊
驱动牛犊
  • 注册日期2007-03-03
  • 最后登录2007-05-10
  • 粉丝0
  • 关注0
  • 积分170分
  • 威望18点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-04-02 17:03
看看,学习!
shinechou
驱动牛犊
驱动牛犊
  • 注册日期2005-10-10
  • 最后登录2010-09-03
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望66点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2007-04-02 17:28
学习一下,谢谢并支持楼主的精彩分享和辛苦劳动!
dionysus77
驱动小牛
驱动小牛
  • 注册日期2006-11-15
  • 最后登录2011-12-18
  • 粉丝0
  • 关注0
  • 积分27分
  • 威望392点
  • 贡献值0点
  • 好评度177点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2007-04-02 17:48
good kanakn
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2007-04-02 17:51
好人啊
提问归提问,还是只能靠自己
dionysus77
驱动小牛
驱动小牛
  • 注册日期2006-11-15
  • 最后登录2011-12-18
  • 粉丝0
  • 关注0
  • 积分27分
  • 威望392点
  • 贡献值0点
  • 好评度177点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2007-04-02 17:59
弱弱的问一下,这个是驱动?
xinwanjiang
驱动小牛
驱动小牛
  • 注册日期2005-08-09
  • 最后登录2012-10-25
  • 粉丝1
  • 关注1
  • 积分4分
  • 威望270点
  • 贡献值0点
  • 好评度227点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2007-04-02 18:43
引用第17楼looksail2007-04-02 17:51发表的“”:
好人啊
上一页
游客

返回顶部