网络安全 - 常用的私钥和公钥加密标准(DES、IDES、AES、RSA)_私钥加密-程序员宅基地

技术标签: RSA  DES  常用的私钥和公钥加密标准  网络工程  IDES  

1 概述

加密算法
私钥加密算法:又称 '对称加密算法'。指收发双方使用相同密钥的密码,既用于加密也用于解密
公钥加密算法:又称 '不对称加密算法'。指收发双方使用不同密钥的密码,一个用来加密信息;另一个用来解密信息
  • 私钥加密算法
    • 主要优点:加密和解密速度快,加密强度高,且算法公开。
    • 最大缺点:实现密钥的秘密分发困难,在用户量大的情况下密钥管理复杂,而且无法完成身份认证等功能,不便于应用在网络开放的环境中。
  • 公钥加密算法
    • 主要优点:能适应网络的开放性要求,密钥管理简单,并且可方便地实现数字签名和身份认证等功能,是目前电子商务等技术的核心基础
    • 最大缺点:算法复杂,加密数据的速度和效率较低

2 私钥加密标准(对称)

私钥加密标准 全称 中文描述 秘钥长度 说明
DES Data Encryption Standard 数据加密标准 56 位
IDEA International Data Encryption Algorithm 国际数据加密算法 128 位
AES Advanced Encryption Standard 高级加密标准 128 到 256 位 取缔 DES

2.1 DES:数据加密标准

  • DES:Data Encryption Standard,数据加密标准。加密前,对明文进行分组,每组 64 位数据,对每一个 64 位的数据进行加密,产生一组 64 位的密文,最后把各组的密文串接起来,得出整个密文,其中密钥为 64 位(实际 56位,有 8 位用于校验
  • 三重 DES 算法。因为确定一种新的加密法是否真的安全是极为困难的,而且DES的唯一密码学缺点,就是密钥长度相对比较短,所以人们并没有放弃使用DES,而是想出了一个解决其长度问题的方法,即采用三重DES算法。这种方法用两个密钥对明文进行 3 次加密。假设两个密钥是 k1 和 k2,其算法步骤如下:
    • ① 用密钥 k1 进行 DES 加密
    • ② 用秘钥 k2 对步骤 ① 的结果进行 DES 解密
    • ③ 对步骤 ② 的结果再使用密钥 k1 进行 DES 加密
    • 这种方法的缺点是要花费 3 倍于原来的时间,但从另一方面来看,三重DES的 112位密钥长度(第一次和第三次密钥一样,所以认为密钥长度是112位) 是很“强壮”的加密方式了

2.2 IDEA:国际数据加密算法

  • IDEA:International Data Encryption Algorithm,国际数据加密算法。是瑞士的著名学者提出的,在1990年正式公布并在以后得到增强。这种算法是在DES算法的基础上发展出来的,类似于三重DES。发展IDEA也是因为感到DES具有密钥太短等缺点
  • IDEA 的密钥为 128 位,这么长的密钥在今后若干年内应该是安全的
  • 类似于DES,IDEA算法也是一种 数据块加密算法,它设计了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。与DES的不同之处在于,它采用软件实现和采用硬件实现同样快速。此外,由于IDEA是在美国之外提出并发展起来的,避开了美国法律上对加密技术的诸多限制,因此,有关IDEA算法和实现技术的书籍都可以自由出版和交流,这极大地促进了IDEA的发展和完善

2.3 AES:高级加密标准

  • AES:Advanced Encryption Standard,高级加密标准
  • 功能:替代原先的 DES
  • 秘钥长度:[128, 256]

3 公钥加密标准(不对称)

3.1 RSA 不对称加密算法

  • RSA:Rivest-Shamir-Adleman,不对称加密算法。根据其发明者 Rivest、Shamir 和 Adleman 命名
  • 原理:它通常是由密钥管理中心先生成一对RSA密钥,其中之一为私钥,由用户保存;另一个称为公钥,可对外公开,甚至可在网络服务器中注册。在传送信息时,常采用私钥加密方法与公钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要

4 扩展

4.1 网工软考真题

【2021上半年 - 44】以下关于AES加密算法的描述中,错误的是( )。
A.AES 的分组长度可以是 256 比特
B.AES 的密钥长度可以是 128 比特
C.AES 所用 S 盒的输入为 8 比特
D.AES 是一种确定性的加密算法

参考答案:A
AES是分组加密的算法,将明文分成一组一组的分别加密,然后拼接成完整的密文。AES每组明文的长度是128位即16个字节。密钥的长度有三种长度:128位、192位、256位。AES所用的S盒,完成一个8比特输入到8比特输出的映射。

【2021上半年 - 46】在SNMPv3安全模块中的加密部分,为了防止报文内容的泄露,使用DES算法对数据进行加密,其密钥长度为( )。
A.56
B.64
C.120
D.128

参考答案:A

【2018下半年 - 41】以下关于三重DES加密的叙述中,正确的是( )。
A.三重DES加密使用一个密钥进行三次加密
B.三重DES加密使用两个密钥进行三次加密
C.三重DES加密使用三个密钥进行三次加密
D.三重DES加密的密钥长度是DES密钥长度的3倍

参考答案:B
3DES加密使用2个密钥(第一把和第三把是同一把密钥),对数据进行3次加密。

【2018上半年 - 40,41】在安全通信中,A将所发送的信息使用(40)进行数字签名,B收到该消息后可利用(41)验证该消息的真实性。
(40) A.A 的公钥
  B.A 的私钥
  C.B 的公钥
  D.B 的私钥
(41) A.A 的公钥
  B.A 的私钥
  C.B 的公钥
  D.B 的私钥

参考答案:40=B,41=A
数字签名用的是发送方的私钥,接收方收到消息后用发送方的公钥进行核实签名。(私钥发送,公钥核实)

【2018上半年 - 44,45】DES 是一种(44)加密算法,其密钥长度为 56 位,3 DES 是基于 DES 的加密方式,对明文进行 3 次 DES 操作,以提高加密强度,其密钥长度是(45)位。
(44) A.共享密钥
  B.公开密钥
  C.报文摘要
  D.访问控制
(45) A.56
  B.112
  C.128
  D.168

参考答案:44=A,45=C

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34745941/article/details/108996182

智能推荐

【史上最易懂】马尔科夫链-蒙特卡洛方法:基于马尔科夫链的采样方法,从概率分布中随机抽取样本,从而得到分布的近似_马尔科夫链期望怎么求-程序员宅基地

文章浏览阅读1.3k次,点赞40次,收藏19次。虽然你不能直接计算每个房间的人数,但通过马尔科夫链的蒙特卡洛方法,你可以从任意状态(房间)开始采样,并最终收敛到目标分布(人数分布)。然后,根据一个规则(假设转移概率是基于房间的人数,人数较多的房间具有较高的转移概率),你随机选择一个相邻的房间作为下一个状态。比如在巨大城堡,里面有很多房间,找到每个房间里的人数分布情况(每个房间被访问的次数),但是你不能一次进入所有的房间并计数。但是,当你重复这个过程很多次时,你会发现你更有可能停留在人数更多的房间,而在人数较少的房间停留的次数较少。_马尔科夫链期望怎么求

linux以root登陆命令,su命令和sudo命令,以及限制root用户登录-程序员宅基地

文章浏览阅读3.9k次。一、su命令su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。命令su的格式为:su [-] username1、后面可以跟 ‘-‘ 也可以不跟,普通用户su不加username时就是切换到root用户,当然root用户同样可以su到普通用户。 ‘-‘ 这个字符的作用是,加上后会初始化当前用户的各种环境变量。下面看下加‘-’和不加‘-’的区别:root用户切换到普通..._限制su root登陆

精通VC与Matlab联合编程(六)_精通vc和matlab联合编程 六-程序员宅基地

文章浏览阅读1.2k次。精通VC与Matlab联合编程(六)作者:邓科下载源代码浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程浅析VC与MATLAB联合编程  Matlab C/C++函数库是Matlab扩展功能重要的组成部分,包含了大量的用C/C++语言重新编写的Matlab函数,主要包括初等数学函数、线形代数函数、矩阵操作函数、数值计算函数_精通vc和matlab联合编程 六

Asp.Net MVC2中扩展ModelMetadata的DescriptionAttribute。-程序员宅基地

文章浏览阅读128次。在MVC2中默认并没有实现DescriptionAttribute(虽然可以找到这个属性,通过阅读MVC源码,发现并没有实现方法),这很不方便,特别是我们使用EditorForModel的时候,我们需要对字段进行简要的介绍,下面来扩展这个属性。新建类 DescriptionMetadataProvider然后重写DataAnnotationsModelMetadataPro..._asp.net mvc 模型description

领域模型架构 eShopOnWeb项目分析 上-程序员宅基地

文章浏览阅读1.3k次。一.概述  本篇继续探讨web应用架构,讲基于DDD风格下最初的领域模型架构,不同于DDD风格下CQRS架构,二者架构主要区别是领域层的变化。 架构的演变是从领域模型到C..._eshoponweb

Springboot中使用kafka_springboot kafka-程序员宅基地

文章浏览阅读2.6w次,点赞23次,收藏85次。首先说明,本人之前没用过zookeeper、kafka等,尚硅谷十几个小时的教程实在没有耐心看,现在我也不知道分区、副本之类的概念。用kafka只是听说他比RabbitMQ快,我也是昨天晚上刚使用,下文中若有讲错的地方或者我的理解与它的本质有偏差的地方请包涵。此文背景的环境是windows,linux流程也差不多。 官网下载kafka,选择Binary downloads Apache Kafka 解压在D盘下或者什么地方,注意不要放在桌面等绝对路径太长的地方 打开conf_springboot kafka

随便推点

VS2008+水晶报表 发布后可能无法打印的解决办法_水晶报表 不能打印-程序员宅基地

文章浏览阅读1k次。编好水晶报表代码,用的是ActiveX模式,在本机运行,第一次运行提示安装ActiveX控件,安装后,一切正常,能正常打印,但发布到网站那边运行,可能是一闪而过,连提示安装ActiveX控件也没有,甚至相关的功能图标都不能正常显示,再点"打印图标"也是没反应解决方法是: 1.先下载"PrintControl.cab" http://support.businessobjects.c_水晶报表 不能打印

一. UC/OS-Ⅱ简介_ucos-程序员宅基地

文章浏览阅读1.3k次。绝大部分UC/OS-II的源码是用移植性很强的ANSI C写的。也就是说某产品可以只使用很少几个UC/OS-II调用,而另一个产品则使用了几乎所有UC/OS-II的功能,这样可以减少产品中的UC/OS-II所需的存储器空间(RAM和ROM)。UC/OS-II是为嵌入式应用而设计的,这就意味着,只要用户有固化手段(C编译、连接、下载和固化), UC/OS-II可以嵌入到用户的产品中成为产品的一部分。1998年uC/OS-II,目前的版本uC/OS -II V2.61,2.72。1.UC/OS-Ⅱ简介。_ucos

python自动化运维要学什么,python自动化运维项目_运维学python该学些什么-程序员宅基地

文章浏览阅读614次,点赞22次,收藏11次。大家好,本文将围绕python自动化运维需要掌握的技能展开说明,python自动化运维从入门到精通是一个很多人都想弄明白的事情,想搞清楚python自动化运维快速入门 pdf需要先了解以下几个事情。这篇文章主要介绍了一个有趣的事情,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。_运维学python该学些什么

解决IISASP调用XmlHTTP出现msxml3.dll (0x80070005) 拒绝访问的错误-程序员宅基地

文章浏览阅读524次。2019独角兽企业重金招聘Python工程师标准>>> ..._hotfix for msxml 4.0 service pack 2 - kb832414

python和易语言的脚本哪门更实用?_易语言还是python适合辅助-程序员宅基地

文章浏览阅读546次。python和易语言的脚本哪门更实用?_易语言还是python适合辅助

redis watch使用场景_详解redis中的锁以及使用场景-程序员宅基地

文章浏览阅读134次。详解redis中的锁以及使用场景,指令,事务,分布式,命令,时间详解redis中的锁以及使用场景易采站长站,站长之家为您整理了详解redis中的锁以及使用场景的相关内容。分布式锁什么是分布式锁?分布式锁是控制分布式系统之间同步访问共享资源的一种方式。为什么要使用分布式锁?​ 为了保证共享资源的数据一致性。什么场景下使用分布式锁?​ 数据重要且要保证一致性如何实现分布式锁?主要介绍使用redis来实..._redis setnx watch

推荐文章

热门文章

相关标签