博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
加密解密算法与通讯安全(五)
阅读量:7092 次
发布时间:2019-06-28

本文共 888 字,大约阅读时间需要 2 分钟。

数字签名

以上三种算法都有防篡改的功能,但摘要算法、和对称加密算法若要防篡改,则需要交换密钥,这又是一件麻烦事儿。所以一般在单纯的防篡改的需求上,都是使用非对称加密算法。但若是对整个明文进行加密的话,加密过程势必消耗大量时间,所以就诞生了数字签名。

数字签名,本质上就是非对称加密算法,但出于解密运行效率的考虑,并是不对明文进行加密,而是对明文的摘要加密,生成“数字串”,并将“数字串”附在明文之后。

数字签名实际上是非对称加密算法的一个妥协方案,为了提高加解密的效率,舍弃了非对称加密算法对截获威胁的优势。

 

通讯模型

先来看非对称加密算法的第一种通讯模型,由客户端生成一堆密钥——公钥Gkey和私钥Skey,并使用Skey对明文data进行加密,获得密文C。将CGkey发送给服务器端,服务器端使用GkeyC进行解密。

 

这种通讯模型,只需要一次请求/响应过程,但却无法防范截获威胁,由于最后的密文C的解密用的是公钥Gkey,而Gkey在通过网络传递,所以攻击者可以很方便的对数据进行截获、解密,获得明文data

但这种通讯模型,对于数字签名的场景正合适,数字签名的场景并不准备防范“截获”威胁。

那么下面来看下完整的数字签名的通讯模型:服务器端生成一堆密钥,公钥Gkey和私钥Skey,在将明文data进行摘要,获得摘要串Z1,使用私钥对Z1加密,获得密文C,将CdataGkey发给服务器端,服务器端使用Gkey解密后获得Z1,重新根据data计算出摘要Z2,通过比较Z1是否等于Z2来判断数据是否被篡改。

 

以上的模型主要由两个步骤组成,摘要与非对称加密算法的应用。平常我们经常用到的签名算法,也是这两种算法的组合,比如:SHA1wthRSA,使用SHA1来做摘要,RSA做未对称加密;MD5withRSA,使用MD5做摘要算法,RSA做未对称加密;SHA1withDSADSAElGamal算法的一种改进。

ITeye推荐

转载于:https://www.cnblogs.com/dongsm/archive/2013/05/04/3108798.html

你可能感兴趣的文章
与时间相关的SQL语句/sql获取当前时间/sql时间比较/sql时间格式化
查看>>
es6-const
查看>>
ARM汇编程序结构
查看>>
机器学习-数据可视化神器matplotlib学习之路(一)
查看>>
智能公交报站系统RFID解决方案
查看>>
B - Plane of Tanks: Pro
查看>>
集合及深浅拷贝
查看>>
转:如何在PHP中处理Protocol Buffers数据
查看>>
LAMP环境的搭建(三)----PHP7的安装
查看>>
计算最长英语单词链(单词接龙)
查看>>
vsftp虚拟用户配置
查看>>
oracle11g与oracle10g字符集子集与超集的对应关系表
查看>>
登录注册D
查看>>
deepin-wine-tim 字体发虚
查看>>
windows多线程没那么难
查看>>
ID3决策树算法原理及C++实现(其中代码转自别人的博客)
查看>>
linux之SQL语句简明教程---WHERE
查看>>
霍夫变换(hough transform),从直线到圆再到一般图形
查看>>
程序员技术练级攻略--练成这样,成神仙了!
查看>>
基金净值简介
查看>>