开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

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

相关文章
宝塔面板部署DV免费证书(web服务器nginx)
宝塔面板部署DV免费证书(web服务器nginx)
0 0
关于微信企业付款到零钱X509Certificate2读取证书信息,发布到服务器访问不到的解决方案
关于微信企业付款到零钱X509Certificate2读取证书信息,发布到服务器访问不到的解决方案
0 0
[Apache,安装包,Openssl,服务器证书,安装目录]Linux Apache SSL证书安装
  一、安装准备 1.安装Openssl要使Apache支持SSL,需要首先安装Openssl支持。(现在的服务器一般都已经预装了,可以直接直接跳到下一步。)安装Openssl有两种方式:1)下载源码编译安装:推荐下载安装openssl-0.9.8k.tar.gz
0 0
将Fiddler的服务器证书导入到Java的cacerts证书库里
将Fiddler的服务器证书导入到Java的cacerts证书库里
0 0
蚂蚁金服网站服务器证书升级公告
尊敬的开放平台合作伙伴们:     为确保用户可以获得最佳的使用体验,蚂蚁金服网站计划于2018年7月10日升级服务器证书。 请通知贵司技术开发人员尽快完成相关验证和进行必要的修正,以免影响交易正常进行,详细信息可查看《蚂蚁金服网站新服务器证书兼容性验证指引文档》。
138 0
Confluence 6 导入 Active Directory 服务器证书 - Mac OS X
为了让你的应用服务器能够信任你的目录服务器。你目录服务器上导出的证书需要导入到你应用服务器的 Java 运行环境中。JDK 存储了信任的证书,这个存储信任证书的文件称为一个 keystore。
794 0
Confluence 6 导入 Active Directory 服务器证书 - UNIX
为了让你的应用服务器能够信任你的目录服务器。你目录服务器上导出的证书需要导入到你应用服务器的 Java 运行环境中。JDK 存储了信任的证书,这个存储信任证书的文件称为一个 keystore。
618 0
Confluence 6 导入 Active Directory 服务器证书 - Windows
为了让你的应用服务器能够信任你的目录服务器。你目录服务器上导出的证书需要导入到你应用服务器的 Java 运行环境中。JDK 存储了信任的证书,这个存储信任证书的文件称为一个 keystore。
735 0
Confluence 6 获得 Active Directory 服务器证书
上面的步骤说明了如何在你的 Microsoft Active Directory服务器上安装 certification authority (CA)。
786 0
Confluence 6 安装 Active Directory 证书服务器
如果证书服务器已经安装了的话,跳过这一步骤,直接进入下一步。下面步骤中的屏幕截图是从 Windows 2008 服务器版上安装的截图,针对 2000 和 2003 安装过程是一样的。
950 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
网站/服务器取证 实践与挑战
立即下载
固守服务器的第一道防线——美联集团堡垒机的前世今生
立即下载
机器学习在大规模服务器治理复杂场景的实践
立即下载