CA证书服务器(2) 非对称式加密-阿里云开发者社区

开发者社区> 科技小能手> 正文

CA证书服务器(2) 非对称式加密

简介:
+关注继续查看

在上篇博文中给大家留了一道作业,现在可以公布答案了,在那道题目的4个选项中,也只有C算是比较靠谱,即“甲选取密钥后通过双方事先已有的共享密钥加密后通过网络传送给乙”,但这种方法中存在的问题也很明显,那个“事先已有的密钥”又是如何安全地在通信双方之间传送的呢?
只靠对称式加密算法自身是无法解开这个密钥管理的死结了,所以才又产生了另外一类与之完全不同的加密算法——非对称式加密。

非对称加密就是为了解决对称式加密的密钥分配问题而产生的,非对称式加密也称为公钥密码系统,它要求密钥必须成对出现,一个为公开密钥(简称公钥),一个为私有密钥(简称私钥),而且这两个密钥不能从其中一个推导出另一个。
公钥要发布出去,私钥则要保证绝对的安全,用公钥加密的信息只能用相应的私钥解密,反之亦然。

使用非对称式加密算法进行数据加密时,发送方使用接收方的公钥加密数据,接收方使用自己的私钥解密数据。如发送方A要给接收方B发送数据,其加/解密流程如下图所示。

非对称式加密的最大优点是密钥管理简单,相比对称式加密具有更高的安全性,但它也有缺点,那就是因为算法复杂,所以通信效率不高,因而主要用于对小数据块的加密。

既然对称式加密的效率高,但密钥管理困难,而非对称式加密密钥管理简单,效率却低,那将这两种加密算法结合起来使用是不是效果会更好呢?

在实践中也正是这样使用:数据加密采用对称式加密,而用非对称加密传送对称加密的密钥。

 正是通过非对称式加密才最终解决了对称式加密的密钥管理难题。

RSA是最常用的非对称加密算法,由于软考中涉及这个算法的考题比较多,因而对它的基本原理做下简单介绍:

  1. 选取2个素数p和q。
  2. 计算n=p*q,r=(p-1)*(q-1)。
  3. 随机选取一个与r互质的整数d作为私钥。
  4. 计算公钥e,使得(e*d)mod r =1,即e和d的乘积,除以r,余数为1。
RSA算法也是先要将数据进行分组然后再分别进行加密,数据分组的长度是由n决定的,分组的长度必须小于等于log2n。
下面看几道软考的相关考题:
 
1、按照RSA算法,若选两奇数p=5,q=3,公钥e=7,则私钥d为  
A.6    B.7     C.8     D.9
 
试题分析:根据RSA算法原理,r=(p-1)*(q-1),即r=4*2=8,然后再根据(e*d)mod r =1的原则,将4个选项中的数值分别代入公式中计算,答案很明显就是7了。
 
2、RSA是一种具有代表性的公钥加密方法,如果选定了用于加解密的两个素数分别为37、53,则每个分组的位数是     
A.10   B.12   C.18   D.25
 
试题分析:p=37,q=53,则n=37*53=1961,按照分组的大小必须小于等于log2n的原则,2的10次方是1024,2的11次方是2048,1961介于1024和2048之间,所以分组的长度应该介于10位和11位之间,分组长度只能是整数位,所以也就是10位了。
 
 
了解了非对称式加密之后,我们再来思考一个问题,在我们上面所讲的加密过程中,都是用公钥加密,用私钥解密,那能否反过来,用私钥加密,而用公钥解密呢?
比如下面这道软考的题目:
公钥体系中,私钥用于 (49) ,公钥用于 (50) 
49)A.解密和签名   B.加密和签名   C.解密和认证   D.加密和认证
50)A.解密和签名  B.加密和签名   C.解密和认证   D.加密和认证
这道题目的答案该选谁,签名和认证又是什么,呵呵,且听下文分解。

本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1186191

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
CSP加密服务(一)
(一)  加密服务提供程序 缩写为:CSP,全称为:Cryptographic Service Provider 即加密服务提供者。它是windows系统中提供的用于加密的软硬件组件。通过对微软的加密应用程序接口即CrytoAPI(或CAPI)的编程访问它来提供身份验证、编码和各种的加密、签名算法。
903 0
数据加密(对称加密和非对称加密)
通过网络通信的五层模型(ISO规定的是七层模型,TCP/IP规定的是五层模型)可以实现两个应用程序之间的数据通信    但是现在有个问题是 数据如何加密,总不能两个人之间说的话让第三个人活着别的人听到吧  那最简单的例子就是:A和B之间传递数据,如何保证数据不被第三个人知道,或者说第三个人就算知道数据,但是不知道数据所代表的意思。
771 0
对称加密和非对称加密
一、非对称加密: 1、公钥和私钥 公钥:大家都知道的密钥。 私钥:只有自己才知道的密钥。 2、加密过程 A拥有一对公钥和私钥,B也拥有一对公钥和私钥,当A想和B发送消息的时候,A会使用B的公钥进行加密,然后传送给B。
613 0
https原理及其中所包含的对称加密、非对称加密、数字证书、数字签名
https原理及其中所包含的对称加密、非对称加密、数字证书、数字签名一、为什么要使用https使用https的原因其实很简单,就是因为http的不安全。 当我们往服务器发送比较隐私的数据(比如说你的银行卡,身份证)时,如果使用http进行通信。
1846 0
Silverlight中非对称加密及数字签名RSA算法的实现
RSA算法是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。它的安全性是基于大整数素因子分解的困难性,而大整数因子分解问题是数学上的著名难题,至今没有有效的方法予以解决,因此可以确保RSA算法的安全性。
669 0
蚂蚁金服网站服务器证书升级公告
尊敬的开放平台合作伙伴们:     为确保用户可以获得最佳的使用体验,蚂蚁金服网站计划于2018年7月10日升级服务器证书。 请通知贵司技术开发人员尽快完成相关验证和进行必要的修正,以免影响交易正常进行,详细信息可查看《蚂蚁金服网站新服务器证书兼容性验证指引文档》。
303 0
23706
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载