我是靠谱客的博主 善良板栗,最近开发中收集的这篇文章主要介绍USBKey的密码学原理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  首先,大致说下U盾的工作流程。

  你的数字证书有一对,一份在U盾里的私钥,一份在银行的公钥(其实两份银行都有)。U盾的原理很类似于双向认证的TLS(SSL)或者其它用到RSA的双向证书验证手段,以下步骤可能和U盾实际执行的有所区别,但本质相同:

  --银行先给你一个"冲击",它包含了随机数,以及该随机数HASH,它们都由公钥加密,这样就可以保证只有你能解密这个"冲击"
  --你计算该随机数的HASH,并和用私钥解出的HASH,两者相同后,便可确认银行的身份
  --接下来,以一个只有你和银行知道的算法,利这个随机数和一些其它信息,生成"响应"和相应的HASH,再用私钥加密后发回银行。(此    时银行也以相同的算法计算该"响应")
  --银行用公钥解密,并验证HASH正确,接下来银行比较两个"相应"是否相同,相同的话客户的身份也确认了
  至于私钥的保密性由U盾来完成。U盾的控制芯片被设计为只能写入证书,不能读取证书,并且所有利用证书进行的运算都在U盾中进行。所以,只能从U盾读出运算结果。

  下面,由浅入深,结合密码学原理进行网络支付的安全性剖析,并最终解开U盾的谜底。

  问题 1: 最自然的想法是,甲必须对文件加密才能保证不被其他人查看其内容,那么 , 到底应该用什么加密技术,才能使合同传送既安全又快速呢 ? 

  可以采用一些成熟的对称加密算法 , 如 DES 、 3DES 、 RC5 等对文件加密。对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用做解密密钥,这种方法在密码学中叫做对称加密算法, 

  问题 2: 如果黑客截获此文件,是否用同一算法就可以解密此文件呢 ? 

  不可以 , 因为加密和解密均需要两个组件 : 加密算法和对称密钥 , 加密算法需要用一个对称密钥

最后

以上就是善良板栗为你收集整理的USBKey的密码学原理的全部内容,希望文章能够帮你解决USBKey的密码学原理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部