flywithlove
驱动小牛
驱动小牛
  • 注册日期2002-11-05
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
阅读:1361回复:7

有关IMD加解密中checksum的问题(前面的帖子已经结帖)

楼主#
更多 发布于:2003-07-07 11:03
下面的观点不知道对不对,请大家指正!
1。我做加解密,只要加密Ethernet,IP包头后面的数据,或者Ethernet,IP,TCP/UDP/ICMP包头后面的数据,因为IP包头没有被加密,所以packet可以被转发,到目标机器后,数据通过网卡进去IMD,数据就可以直接解密了。
2。加解密不需要重新计算checksum,虽然packet加密后数据改变了,但是通过IMD传给协议驱动时已经自动解密,packet内容还是没有改变。
痛并快乐着!
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-07 11:28
IP头正确的就可以被转发,

如果没有改动ip头,那么ip头的checksum不用修改,但是TCP的checksum需要修改。

如果checksum错误,你的这个报文在网络上就会被丢弃了。不可能到达对方(局域网除外)
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
flywithlove
驱动小牛
驱动小牛
  • 注册日期2002-11-05
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-07 11:38
想问一下楼上的大虾,为什么tcp还要做校验和呢,路由器不是只管物理层,数据链接层,IP层这三层吗?如果tcp的checksum不对,packet也会被丢弃吗
痛并快乐着!
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-07-07 11:58
网络状况太复杂,你如何知道你的目的地不需要经过nat?nat对于TCP checksum错误的报文有什么理由不丢弃?
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
flywithlove
驱动小牛
驱动小牛
  • 注册日期2002-11-05
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-07 12:11
言之有理,因为我要加解密,是不是加密解密同时都要做校验和。
痛并快乐着!
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-07 12:20
IP头正确的就可以被转发,

如果没有改动ip头,那么ip头的checksum不用修改,但是TCP的checksum需要修改。
//这里还有一个可能:如果加密后长度改变,那么IP头的checksum需要
//重新计算

如果checksum错误,你的这个报文在网络上就会被丢弃了。不可能到达对方(局域网除外)
 
放弃瘟草,现吃李草
flywithlove
驱动小牛
驱动小牛
  • 注册日期2002-11-05
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-08 10:17
想请问mikeluo,antspower两位大侠,我数据加密后如果长度变长的话怎么办,岂不是要内存溢出吗。


痛并快乐着!
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-09 11:05
有两个想法不知道对不对,没有验证过
1.在packet后新连一个buffer
2.把packet释放后,新建一个packet放加密数据.

放弃瘟草,现吃李草
游客

返回顶部