当前位置: 首页 > news >正文

密码学h面试大法---h(自用版)更新中~(^v^)

分组密码体系

分组密码是什么,有什么原则?

分组密码:将明文进行分组,每组的长度相同,然后分别对明文进行加密

分组密码系统{明文空间,密文空间,密钥空间,加密算法,解密算法}

基本原则(1)分组足够长,低于明文穷举攻击(2)密钥量足够大且尽可能削减密钥使用(3)密钥变换足够复杂(4)加解密运算简单便于软硬件高速实现

什么是feistel网络?有什么优点?

明文分左右两部分,每轮只对一半进行变换(Li=Ri-1,Ri=Li-1异或F(Ri-1,ki)),典型代表:DES

优势:解密流程与加密流程几乎相同,且轮函数不需要可逆

什么是SP结构(代替置换网络)

替代-置换网络,通过S盒(提供非线性混淆)和P盒(提供线性扩散)交替迭代。轮函数必须可逆,否则无法解密;典型代表:AES

  • 混淆是为了掩盖明文与密文、密钥与密文之间的关系(常用 S 盒实现);
  • 扩散是为了让明文/密钥的每一位影响密文的很多位(常用移位、列混合实现)。

分组密码的工作模式***

1.电子码本(ECB):每个分组使用同一个密钥进行加密

最不安全。相同的明文加密后生成相同的密文,无法隐藏明文模式,不能抵抗替换攻击

2.密码分组链接(CBC):第一组是明文分组与初始矢量进行异或,其余加密的输入是当前明文分组与前一次密文的异或。

(1)优点:能够隐蔽明文数据的格式规律和统计特性,一定程度识别攻击者是否在密文传输中对密文进行了篡改

(2)缺点:具有错误传播;

  • 明文中有单比特出错,之后的组都会受影响,解密后除了原来有错的那一组,其他的都正确恢复
  • 密文中由比特出错,导致两组无法解密,其余正常,错误传播长度为2

3.密码反馈模式(CFB):分组密码算法来提供复杂的非线性逻辑的密钥流生成器的作用

(1)与CBC区别:反馈密文长度为j而且不是直接与明文相加而是反馈至密钥流生成器

(2)具有错误传播

4.输出反馈模式(OFB):将加密算法的输出反馈至密钥流生成器

(1)优点:比特错误不会被传播

(2)缺点:容易收到对消息流的篡改攻击,无法实现完整性检测

5.计数器模式(CTR):将分组密码变成流密码。加密一个不断递增的计数器,再与明文异或。

AES算法(面向字节)***

AES算法的基础

(1)AES 的分组长度固定是128 位(16 字节)。而密钥长度是可变的,有三种:128 位、192 位、256 位。

(2)AES-128、AES-192、AES-256 的主要区别是什么?密钥长度不同、加密轮数不同、密钥扩展算法的轮数不同。分别对应:10轮、12轮、14轮

(3)AES采用S-P(代替-置换网络)结构

AES算法步骤

除了第一轮的初始密钥加和最后一轮没有列混合外,AES 的标准轮包含:

  • 字节代换:利用 S 盒 进行非线性字节映射。作用:提供混淆。
  • 行移位:将矩阵的每一行循环左移不同的字节。作用:提供扩散。
  • 列混合:在有限域GF(2^8)上进行矩阵乘法,让一列中的每个字节影响输出的四个字节。作用:提供扩散。
  • 轮密钥加:将矩阵与当前轮密钥进行异或。作用:引入密钥,保证安全性。

非对称密码体制

非对称密码体制的核心机制,公钥和私钥的作用

公钥加密,私钥解密(用于保证机密性);或者私钥签名,公钥验签(用于身份认证和防篡改)

非对称密码体制的缺点

性能差异巨大。非对称加密基于复杂的数论问题(如大整数素因子分解、离散对数),其计算速度比对称加密(如 AES)慢100 到 1000 倍

RSA算法

(1)核心:基于大素数分解困难问题

(2)RSA的密钥生成和加解密公式

  • 求私钥d用欧几里得算法
  • 计算加解密用模平方算法

ELGamal算法

(1)核心:基于有限域上的离散对数问题

(2)ElGama

缺点:密文膨胀,因为每一次加密都会产生一对密文(C1,C2),所以密文长度是明文的两倍

http://www.jsqmd.com/news/1093148/

相关文章:

  • 【国产大模型突围真相】:DeepSeek-R1在C-Eval 92.7分背后的技术路径 vs ChatGPT-4o在中文法律问答中37%幻觉率的根源分析
  • 三步搞定微信QQ防撤回:让你的重要消息不再消失
  • 从零到一:用nssm将任意应用封装为Windows服务
  • (InputStream的源码、FilterInputStream源码、BufferedInputStream的源码解读前言)AtomicReferenceFieldUpdater.class和Sys
  • ingress-nginx
  • 实时更新策略
  • 格子达的在线预览上传的word论文很多bug,明明没有线的,却多出了线,强烈建议系统抓紧补足漏洞!!!
  • 小程序WIFI连接实战:跨平台兼容性处理与iOS跳转优化方案
  • Spring Boot 缓存注解执行逻辑
  • FanControl终极指南:如何在Windows上实现智能风扇控制,告别噪音烦恼
  • 用Rust给Python写一个高性能扩展模块(PyO3实战)
  • 终极指南:如何用Kafka-UI轻松管理Apache Kafka集群
  • 昇腾310B加持的算力矩阵:香橙派四款AI产品全面解析
  • 论文阅读笔记 | Thinking with Video: Video Generation as a Promising Multimodal Reasoning Paradigm
  • Spring 事务总踩坑?一文吃透事务管理 + 数据访问底层源码与生产最佳实践
  • 在线教程丨32K上下文一次解析数十页文档,百度开源Unlimited OCR,重构长文档复杂场景
  • TMS320F28379D中断系统:从外设到CPU的实战配置指南
  • LPDDR5 ZQ校准实战:从背景校准到命令模式的深度解析
  • RAG 上下文压缩利器 headroom:深度架构解析与本地实战指南
  • [Android] 只音-免费无损音乐神器-全网曲库随心下
  • 从DCB到OSB:北斗多频多系统硬件延迟改正的演进与实践
  • 从Demo到SaaS:ChatGPT聊天机器人商业化闭环设计(含用户身份鉴权、计费埋点、审计日志)
  • AI专著写作指南:利用AI工具,20万字专著快速撰写不是梦!
  • 晋商遗韵里的明清活化石
  • 更新int count变量,fill()函数中getInIfOpen().read(buffer, pos, buffer.length - pos)这行代码的返回值为8192,
  • D3KeyHelper终极指南:暗黑3智能游戏自动化与按键管理解决方案
  • BGP路由反射器实战:从反射簇设计到防环机制的部署与验证
  • 量子LDPC码波束搜索解码器:原理、优化与应用
  • 考验AI的“自我“-AI对《红楼梦》后40回的改写(29)
  • 内蒙古经销商线上获客怎么做?呼和浩特专业 GEO 获客 + 短视频推广服务商推荐