证书签名验签以及加密解密

证书签名验签以及加密解密签名,验签的理解(转) 一、公钥加密假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的好朋友x用我的公钥1加密了字…

大家好,又见面了,我是你们的朋友全栈君。

签名,验签的理解(转)

 

一、公钥加密
假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。

我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用
数字2,就是我的私钥,来解密。这样我就可以保护数据了。

我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,但是别人解不开,因为别人不知道2就是我的私钥,
只有我才能解密,解密后就得到a。这样,我们就可以传送加密的数据了。

 

二、私钥签名
如果我用私钥加密一段数据(当然只有我可以用私钥加密,因为只有我知道2是我的私钥),结果所有的人都看到我的内容了,因为他们都知
道我的公钥是1,那么这种加密有什么用处呢?

但是我的好朋友x说有人冒充我给他发信。怎么办呢?我把我要发的信,内容是c,用我的私钥2,加密,加密后的内容是d,发给x,再告诉他
解密看是不是c。他用我的公钥1解密,发现果然是c。
这个时候,他会想到,能够用我的公钥解密的数据,必然是用我的私钥加的密。只有我知道我得私钥,因此他就可以确认确实是我发的东西。
这样我们就能确认发送方身份了。这个过程叫做数字签名。当然具体的过程要稍微复杂一些。用私钥来加密数据,用途就是数字签名

 

总结:公钥和私钥是成对的,它们互相解密。

公钥加密,私钥解密。

私钥数字签名,公钥验证。

 

举例

比如有两个用户Alice和Bob,Alice想把一段明文通过双钥加密的技术发送给Bob,Bob有一对公钥和私钥,那么加密解密的过程如下:

  1. Bob将他的公开密钥传送给Alice。
  2. Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
  3. Bob用他的私人密钥解密Alice的消息。

  上面的过程可以用下图表示,Alice使用Bob的公钥进行加密,Bob用自己的私钥进行解密。

证书签名验签以及加密解密
 例子和图出自《网络安全基础 应用与标准第二版》

RSA算法

RSA 公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够 抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对 其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

证书签名验签以及加密解密
 原文:http://blog.csdn.net/21aspnet/article/details/7249401#

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134606.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ArcGIS10从入门到精通系列实验视频教程合集(持续更新)[通俗易懂]

    ArcGIS10从入门到精通系列实验视频教程合集(持续更新)[通俗易懂]实验视频合集内容包括ArcGIS简介、ArcGIS应用基础、空间数据的采集与组织、空间数据的转换与处理、空间数据的可视化表达、GIS空间分析导论、矢量数据的空间分析、栅格数据的空间分析、三维分析、地统计分析、水文分析、空间分析建模,以及综合分析练习。史上最强ArcGIS10.6安装视频教程实验一:ArcGIS软件认识与使用(一)实验一:ArcGIS软件的认识使用(二)实验二:地理配准实验三:矢量数据采集与编辑(一)实验四:属性数据的采集实验五:空间数据的编辑实验六:空间..

    2022年6月14日
    48
  • Elasticsearch教程-从入门到精通(转载)

    Elasticsearch教程-从入门到精通(转载)

    2021年11月24日
    38
  • Django(72)Django认证系统库–djoser「建议收藏」

    Django(72)Django认证系统库–djoser「建议收藏」djoser是什么?作用:Django认证系统的REST实现。djoser库提供了一组DjangoRestFramework视图,用于处理注册、登录、注销、密码重置和帐户激活等基本操作。它适用于

    2022年7月29日
    6
  • sae wpa3加密方式_WPA3:四大安全新特性技术分析

    sae wpa3加密方式_WPA3:四大安全新特性技术分析周一晚些时候,包括苹果、思科、英特尔、高通和微软等科技巨头在内的Wi-Fi联盟正式推出了新的Wi-Fi安全标准WPA3。这个标准将解决所有已知的、会影响重要标准的安全问题,同时还针对KRACK和DEAUTH等无线攻击给出缓解措施。WPA3为支持Wi-Fi的设备带来重要改进,旨在增强配置、加强身份验证和加密等问题。重要改进主要包括:防范暴力攻击、WAP3正向保密、加强公共和…

    2022年5月24日
    50
  • 使用正则表达式替换(保留部分内容不变)

    使用正则表达式替换(保留部分内容不变)正则表达式保留部分内容替换需求:把trim(ABC)替换成trim(replace(ABC,char(9),”)需要把ABC保留不变,替换其它的。实现:trim\(([^).]*)\)替换成trim\(replace\($1,char\(9\),”\)在查找的时候用括号括起来的代表一部分,在替换的时候可以用$1,$2…引用。注意:有写编…

    2022年5月17日
    120
  • sqlSessionTemplate的优点

    sqlSessionTemplate的优点sqlSessionTemplate的优点 1.sqlSessionTemplate里面有一个sqlSessionProxy,可以使用动态代理 2.正因为动态代理,invoke方法里面会根据是否是事务,获取相同或不同的sqlSession,最后这个sqlSession去执行目标方法和关闭这个sqlSession 这样可以符合spring单例的特点,为不同的事务或conn,创建不同的sqlSession 如果直接在spring中注册一个sqlSession,那么不同连接都获得相

    2022年5月29日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号