大容量数据安全传输系统设计与实现(具体)

大容量数据安全传输系统设计与实现(具体)

一、需求

两个主体间实现远程大容量数据文件秘密传输(超过1G大小的容量)
1)设计并实现支持大容量数据秘密传输的系统;
2)该系统支持数据完整性和来源验证;
开发坏境需求:windows平台,语言平台不限。

二、原理

(1)hash函数

hash函数是将任意长度的输入变换成固定长度输出的函数,该输出称为散列值。MD5是一种被广泛使用的hash函数,可以产生出一个128位的散列值,主要用于确保信息传输完整一致。MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过一系列处理后,算法输出由四个32位分组组成的128位散列值。具体的步骤如下所示:
1、填充
如果输入信息的长度(bit)对512求余的结果不等于448,就需要填充使得对512求余结果等于448,填充的方法是填充一个1和n个0。填充完成后,信息的长度为N* 512+448
2、记录信息长度
用64位内存来存储填充前信息长度。这64位加在第一步结果的后面,这样信息长度就变为N* 512 + 448 + 64 = (N+1)*512
3、装入标准的幻数
A=0X67452301L,B=0XEFCDAB89L,C=0X98BADCFEL,D=0X10325476L。
4、循环运算
把消息分以512位为一分组进行处理;每一个分组进行4轮变换,以上面所说4个标准的幻数为起始变量进行计算,重新输出4个变量;以这4个变量再进行下一分组的运算,如果已经是最后一个分组,则这4个变量为最后的结果,即MD5值。

(2)数字签名

数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过。RSA加密是一种非对称加密,可以在不直接传递密钥的情况下,完成解密,从而验证信息的完整性。

(3)对称加密

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值