开发者社区 问答 正文

rsa加密算法 A以10兆向B发送文件 怎么确定是A发的

rsa加密算法 A以10兆向B发送文件 怎么确定是A发的

展开
收起
知与谁同 2018-07-16 15:23:45 1457 分享 版权
2 条回答
写回答
取消 提交回答
  • 不考虑敌手重放攻击之类的,简单地可以给发送的文件哈希后加签名。如果还想保证实时性,只靠加密、签名算法就不够了,还需要用到认证协议。
    2019-07-17 22:56:24
    赞同 展开评论
  • A用自己的私钥对文件签名,然后发送给B。B收到文件后使用A的公钥解密,验证签名,如果通过,说明是A发的。
    由于文件比较大,所以最好采用对文件摘要签名的方法。过程是先产生文件的摘要信息,然后用A的私钥加密传输给B。B
    收到后也产生文件的摘要信息,然后B再将A传来的加密摘要用A的公钥解密,对比两个摘要信息是否一致,如果一致则说明是A发来的。
    此外,防止重放攻击,可以结合时间戳或者随机码方法一起使用。
    2019-07-17 22:56:24
    赞同 展开评论