密码学考点整理_移位密码和vigenere密码的异同是什么-程序员宅基地

技术标签: 网络安全  

考试重点

1. 密码体制分类

对称密码体制和非对称密码体制;

2. DES和AES算法的特点

(结构、密钥长度,分组长度,DES弱密钥)及其过程(置换过程,S盒查表过程),AES的轮结构

DES

DES结构

  • 首先是一个初始置换IP,用于重排明文分组的64比特;

  • 相同功能的16轮变换,每轮都有置换和代换;

  • 第16轮的输出分为左右两半并被交换次序;

  • 最后经过一个逆初始置换产生64比特密文;

DES结构图如下:
在这里插入图片描述

密钥长度:56

分组长度:64

DES弱密钥:待续

了解即可

DES 分组长度64比特,使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。

使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。

AES(也称Rijndael)

分组长度和密钥长度都可变;各自可独立地指定为128比特、192比特、256比特。

DES使用了Feistel结构,AES没有使用Feistel结构

轮函数由4个不同的计算部件组成:

  • 字节代换,非线性结构,因为有S盒;
  • 行移位,扩散;
  • 列混合,列混淆在GF运算,引入不可约多项式;
  • 轮密钥加

DES 16轮,AES 10轮;

AES S盒和DES S盒区别

S盒使明文的统计信息消失在密文中;

DES的S盒压缩数据,不可逆

AES的S盒是代换,可逆的

AES的S盒,第一个字节对应行,第二个字节对应列;

DES S盒(必背)

DES加密过程中S盒运算是不可逆的操作,那么DES的加密算法的逆过程——解密算法,该如何实现呢?

答:DES算法是基于Feistel密码结构的,其加密和解密过程是相同的,只是轮密钥的使用顺序相反而已,所以无需加密过程可逆。

3. 密码分析的类型及方法

该答案来源于网络,不确定是否正确

四种类型:

  • 唯密文攻击(Ciphertext—only attack);
  • 已知明文攻击( Known – plaintext attack);
  • 选择明文攻击( Chosen – plaintext attack);
  • 选择密文攻击( Chosen – ciphertext attack);

三种方法:

  • 穷举攻击法;
  • 统计分析法;例如 频率分析;
  • 数学分析法;例如,差分攻击;

参考资料:http://www.360doc.com/content/16/0723/13/32369957_577776454.shtml

4. 单表代换密码和多表代换密码

单表代换

凯撒密码;移位变换;仿射变换;

对所有的明文字母都用一个固定的代换进行加密 ,因而称为单表代换密码。

加密过程中是从明文字母表到密文字母表的一一映射。例:恺撒(Caesar)密码。
缺点:不能抗击字母频度分析,容易被破译
单表密码的弱点:明文和密文字母之间的一一代替关系。这使得明文中的一些固有特性和规律(比如语言的各种统计特性)必然反映到密文中去。
参考链接:https://blog.csdn.net/qq_21324665/article/details/79073320

多表代换

多表代替密码是古典密码中代替密码的一种。针对单表代替密码容易被频率分析法破解的缺点;

人们提出多表代换密码,用一系列(两个以上)代换表依次对明文消息的字母进行代换。

Vigenere密码是一种著名的多表代换密码。维吉尼亚密码是最简单的多表代换密码,由多个凯撒移位密码组成。

5. 国际安全标准和计算安全

American and international standards

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YsNovAuo-1648945731889)(exam.assets/image-20220330142132161.png)]

PKCS – Public Key Cryptography Standards

IEEE - Institute of Electrical and Electronics Engineers

ANSI - American National Standards Institute

ISO – International Organization for Standardization

NIST - National Institute of Standards and Technology

FIPS - Federal Information Processing Standards

计算安全:若破解密码的代价超出密文信息的价值,破译密码的时间超出密文信息的有效生命期,则认为加密体制是计算上安全的;

6. 公钥加密的种类和应用

种类:待续

RSA、ECC等;

Public-Key Applications can classify uses into 3 categories:
encryption/decryption (provide secrecy)
digital signatures (provide authentication)
key exchange (of session keys)

公钥加密应用:

  • 密钥分配;
  • 数字签名;

7. 哈希函数的特点及种类

  • 任意长度的数据为输入;

  • 输出固定长度

  • 哈希函数的单向性意味着,给定一个哈希值,无法(很难)逆向计算出其原像输入;

  • 抗碰撞性;

种类:

国际:MD4、MD5、SHA-1、SHA-256、SHA-3

国内:国产自主研发的商用密码哈希算法,即 SM3

8. 加密模式及特点

AES的模式

  • https://blog.csdn.net/whatday/article/details/97266912/
加密模式及其特点
模式 名称 填充 错误扩散 缺点 优点 备注
ECB Electronic Co电子密码本模式 需要 明文中的重复排列会反映在密文中通过删除、替换密文分组可以对明文进行操作对包含某些比特错误的密文进行解密时,对应的分组会出错不能抵御重放攻击 简单快速支持并行计算(加密、解密) 必应使用
CBC Cipher Block Charning密文分组链接模式 需要 一个密文块错误,会将错误蔓延到下一个块; 对包含某些错误比特的密文进行解密时,第一个分组的全部比特以及后一个分组的相应比特会出错加密不支持并行计算 明文的重复排列不会反映在密文中支持并行计算(仅解密)能够解密任意密文分组 推荐使用
CFB Cipher-FeedBack密文反馈模式 不需要 若某密文块错误,错误还会蔓延到后续的8个byte(一共9个byte出错) 加密不支持并行计算对包含某些错误比特的密文进行解密时,第一个分组的全部比特以及后一个分组的相应比特会出错不能抵御重放攻击 支持并行计算(仅解密)能够解密任意密文分组 现在已不使用推荐用CTR模式代替
OFB Output-FeedBack输出反馈模式 不需要 不支持并行运算主动攻击这反转密文分组中的某些比特时,明文分组中相对应的比特也会被反转 可事先进行加密、解密的准备加密、解密使用相同结构对包含某些错误比特的密文进行解密时,只有铭文中相应的比特会出错 推荐使用CTR模式代替
CTR CounTeR计数器模式 不需要 主动攻击者反转密文分组中的某些比特时,明文分组中对应的比特也会被反转 填充(padding)可事先进行加密、解密的准备加密、解密使用相同的结构对包含某些错误比特的密文进行解密时,只有明文中相对应的比特会出错支持并行计算(加密、解密) 推荐使用

参考:https://blog.51cto.com/professor/1794740

来自习题3

适合文件加密,而且有少量错误时不会造成同步失败,是软件加密的最好选择,这种分组密码的操作模式是指( )

答:OFB/输出反馈模式,CTR/计数器模式。

区别:

问哪个模式不会出错:

9. 身份识别的定义

又称实体鉴别,实体认证。即其中一方确信参与协议的第二方的身份的过程。目的在于识别用户的合法性。

对用户的身份认证基本方法分为:

基于信息秘密的身份认证
你所知道的信息来证明你的身份,比如用户密码。(你知道什么)

基于信任物体的身份认证
根据你所拥有的东西来证明你的身份(你有什么),比如短信验证码。

基于生物特征的身份认证
根据独一无二的身份特征来证明身份(你是谁),比如指纹、面貌。

10. 素数和合数的定义和特点,同余式

性质,欧拉函数的计算

素数: 指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。

合数: 指除了1和此整数自身外,还能被其他自然数整除的数。

同余式:

a mod n = b mod n => a = b mod n
在这里插入图片描述

欧拉函数:
在这里插入图片描述

11. 零知识证明的定义

它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。

证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。

12. 生日悖论的定义

生日悖论是指在不少于 23 个人中至少有两人生日相同的概率大于 50%。生日悖论的数学理论被应用于设计密码学攻击方法——生日攻击。生日悖论普遍的应用于检测哈希函数:N 位长度的哈希表可能发生碰撞测试次数不是 2N 次而是只有 2N/2

13. 雪崩效应的概念

雪崩效应,当输入发生微小改变,也会导致输出剧变。在高品质的分组密码中,无论密钥或明文的任何微变化都应当引起密文的剧烈变化。

14. 有限域上多项式加法和乘法

在这里插入图片描述
在这里插入图片描述

15. 迪菲赫尔曼密钥分配过程

在这里插入图片描述
在这里插入图片描述

16. RSA钥匙生成和加解密

既然重点有钥匙生成,关于公钥e和私钥d的生成,需要会算

在这里插入图片描述
在这里插入图片描述

tips: 如果题目没有给出公钥e和私钥d,首先你需要考虑e的选择,之后通过扩展欧几里得算法求出d。

【注意】:在选取e的时候,e与n的欧拉函数值是互素的;

17. 公钥加密体制的安全通信系统图

在这里插入图片描述

其他

  • 分组密码和流密码的差别是什么?

 答:分组密码将明文首先进行分组,然后每次对一个分组进行加密,其中分组长度取决于分组加密算法。流密码一次加密1bit或1Byte的明文

参考资料

[1]. 现代密码学(第4版).杨波.清华大学出版社

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

智能推荐

ubuntu创建sftp和ftp服务器及相应的用户管理_ubuntu sftp服务器查看用户和密码-程序员宅基地

文章浏览阅读4.8k次。一、sftp服务器进入root模式(下面的操作默认都是在root用户下)#安装openssh-serverapt-get install -y openssh-server创建sftp的组和用户#创建sftp-users组groupadd sftp-users#创建sftp用户目录alicemkdir /home/alice#创建sftp用户alice,并且绑定其主目..._ubuntu sftp服务器查看用户和密码

关于在simulink中使用s-function后出现State derivatives returned by S-function during flag=1 call must be a rea_state derivatives returned by s-function 'pmsm' in-程序员宅基地

文章浏览阅读5.9k次,点赞9次,收藏16次。解决了在simulink中使用s-function遇到的报错:State derivatives returned by S-function 'demo' in 'test/S-Function' during flag=1 call must be a real vector of length 2 _state derivatives returned by s-function 'pmsm' in 'ipmsm/ipmsm/s-function1

Sublime Text 关闭自动更新 | Mac_mac sublime text 取消更新提示-程序员宅基地

文章浏览阅读3.1k次。1. 打开配置文件Mac 如下图2. 在文件内部添加这段文字,就可以了:"update_check":false _mac sublime text 取消更新提示

Linux系统下DNS配置指南_linux 服务器修改网络dns-程序员宅基地

文章浏览阅读548次,点赞10次,收藏6次。Linux系统下DNS配置指南_linux 服务器修改网络dns

Springboot/java/node/python/php基于springboot+vue手机售后管理系统【2024年毕设】-程序员宅基地

文章浏览阅读779次,点赞19次,收藏24次。springboot微信小程序的小疾病问诊服务系统的设计与实现。springboot基于spring的物业管理系统的设计与实现。springboot基于Java的高校学生请假系统。ssm基于Android的购物商场APP设计与实现。springboot基于微信小程序的智慧校园系统。ssm基于Android的英语词典的设计与开发。ssm基于SSM+Vue的学生实践管理平台开发。ssm基于android的企业员工考勤系统。ssm基于web的暗香小店系统的设计与实现。ssm基于Web的高等学校公费医疗管理系统。

css中hover属性的使用技巧_css hover的用法-程序员宅基地

文章浏览阅读2.3w次,点赞15次,收藏63次。hover属性用不同的书写方式,来改变不同关系的元素样式。元素:hover 表示聚焦后改变自己元素:hover 元素 表示聚焦后改变其子元素元素:hover + 元素 表示聚焦后改变其指定的“亲兄弟”(条件是该兄弟元素与其相邻)元素元素:hover ~ 元素 表示聚焦后改变其指定的兄弟元素,两个元素相不相邻都行。示例:.first:hover {color: white;}/* 聚焦我改变自己 */.three:hover .three-son {font-size: 20px._css hover的用法

随便推点

Bootstrap 弹出框-程序员宅基地

文章浏览阅读3.5k次。一、Bootstrap 弹出框弹出框控件类似于提示框,它在鼠标点击到元素后显示,与提示框不同的是它可以显示更多的内容。注意: 弹出框要写在 jQuery 的初始化代码里: 然后在指定的元素上调用 popover() 方法。1.1 基本弹出框通过向元素添加 data-toggle=“popover” 来来创建弹出框。title 属性的内容为弹出框的标题,data-content 属性..._bootstrap 弹出框

基于Wemos D1 Mini Pro开发板的天气显示器_arduino wemos d1 mini-程序员宅基地

文章浏览阅读226次,点赞2次,收藏3次。本项目设计了一款可以触摸控制的天气显示器。主要由Wemos D1 Mini Pro和TFT显示屏组成,利用Wemos D1 Mini Pro作为设备的主控芯片,发出Wi-Fi信号并接收相应指令,通过调用API将接收到的信息传输到TFT显示屏,TFT显示屏将接收到的信息显示出来。该天气显示器实现对所在地区当前的时间与日期;当日的天气信息,如温度、压力、湿度、降雨量;七天的未来预测等功能的显示。设计采用Wemos D1 Mini Pro,利用API将实时获取的天气信息,通过TFT显示屏显示出来。_arduino wemos d1 mini

Android 双屏异显(兼容android8)_android service 检测是否双屏-程序员宅基地

文章浏览阅读653次。public void initDiffDisplay() { try { DisplayManager displayManager = (DisplayManager) getSystemService(Context.DISPLAY_SERVICE); Display[] presentationDisplays = displayManager.getDisplays(); if (presentationDi._android service 检测是否双屏

【全开源】JAVA婚恋相亲红娘牵线系统源码支持微信小程序+微信公众号+H5+APP-程序员宅基地

文章浏览阅读530次,点赞23次,收藏10次。springboot+mybatisplus+mysql 用户端 uniapp(vue语法)管理后台 vue+elementUi。后台服务 springboot+mybatisplus+mysql。一、我们技术使用JAVA后台服务 前后端分离。管理后台 vue+elementUi。用户端 uniapp(vue语法)适配小程序+H5+公众号。私信客服获取演示地址。私信客服获取演示地址。

6.python输入整数年份,判断对应整数年份是否为闰年并输出结果_判断闰年的python程序直接输入一个代表年份的正整数-程序员宅基地

文章浏览阅读3.3k次,点赞3次,收藏5次。# -*- coding: UTF-8 -*-year = int(input("输入一个年份:"))if year % 100 == 0: if year % 400 == 0: print('%d年是闰年' % year) else: print('%d年不是闰年' % year)else: if year % 4 == 0: print('%d年是闰年' % year) else: print('%d_判断闰年的python程序直接输入一个代表年份的正整数

【图像去噪】偏微分方程PDE图像去噪(含SNR)【含Matlab源码 1890期】_pdnet 深度学习 偏微分方程 去噪-程序员宅基地

文章浏览阅读987次,点赞20次,收藏19次。偏微分方程PDE图像去噪(含SNR)完整的代码,方可运行;可提供运行操作视频!适合小白!_pdnet 深度学习 偏微分方程 去噪

推荐文章

热门文章

相关标签