reborn
驱动小牛
驱动小牛
  • 注册日期2006-07-21
  • 最后登录2007-10-13
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望144点
  • 贡献值0点
  • 好评度143点
  • 原创分0分
  • 专家分0分
阅读:1702回复:5

请教一下有关分组加密的问题!

楼主#
更多 发布于:2007-04-06 14:54
  之前采用简单的流加密算法,之后在处理方式上没有做任何的修改,只是把调用的部分改为调用自己写的分组加密算法,是不是不对,流加密和分组加密的处理机制有很大的不同吗?在流的基础上还需要进行怎么样的修改阿?请各位大牛指教!THANK YOU!
原流算法取反:
for (Offset = 0; Offset < CompletionCtx->Length//IRP携带数据量长度; ++Offset)
{
((PUCHAR) CompletionCtx->MyBuffer)[Offset] = ~((PUCHAR) CompletionCtx->OldBuffer)[Offset];
}
之后就把这个换成直接调用分组加密算法了
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
沙发#
发布于:2007-04-06 15:27
尝试一下我改造的AES加密算法吧,
人总在矛盾中徘徊。。。
reborn
驱动小牛
驱动小牛
  • 注册日期2006-07-21
  • 最后登录2007-10-13
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望144点
  • 贡献值0点
  • 好评度143点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-04-06 16:08
这和算法没有关系吧,主要是在IRP_MJ_READ和IRP_MJ_WRITE中如何处理,算法不就是直接调用吗?在从IRP中获得的数据传给算法,在算法中处理好不够一组的那些数据.我其实是i不太清楚分组和流加密外的处理部分有何不同.
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
地板#
发布于:2007-04-06 16:15
根据所加密的数据形式,可以将密钥加密技术分为块加密(Block Cipher)和流加密(Stream Cipher)。
  块加密,是指对定长的数据块进行加密,数据块之间的关系不依赖于加密过程。即当两个数据块内容相同时,无论加密过程中的顺序怎样,得到的密文也完全相同。
  流加密,是指数据流的加密,加密过程带有反馈性,即前一字节加密的结果作为后一字节加密的密钥。当两个数据块内容相同时,只要加密过程中的顺序不同,得到的密文就有所不同。可见,流加密方式具有更强的安全性。
人总在矛盾中徘徊。。。
reborn
驱动小牛
驱动小牛
  • 注册日期2006-07-21
  • 最后登录2007-10-13
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望144点
  • 贡献值0点
  • 好评度143点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-04-06 16:28
老大, 谢谢你了,可是我真正想知道的是分组加密该如何在IRP的分发例程中处理,和分组处理机制有什么不同,不是块和流的概念有什么不同!
wangshaojiexh
驱动牛犊
驱动牛犊
  • 注册日期2008-07-31
  • 最后登录2010-01-29
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望161点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-05-07 09:03
分组加密的数据一定要是对齐的,比如用AES加密的话 块的长度是16,那么文件的长度一定要是16的整数倍,否则加密后的数据的最后一个分组可能会被从中间截断,导致最后一个分组解密不成功,处理的方法可以采用补齐的方法,并在文件中记录真正文件的长度
游客

返回顶部