CISSP 第6章: 密码学与对称加密算法

第六章 密码学与对称加密算法
6.1 密码学历史上的里程碑
6.1.1 凯撒密码
简单的将字母表中的每个字母替换成其后的三个字母,是单一字母的替代置换密码

6.1.2 美国内战
美国内战使用词汇替代和置换的复杂组合,从而试图破坏敌人的破译企图

6.1.3 Ultra与Enigma
6.2 密码学基础
6.2.1 密码学的目标
密码系统基本目标: 机密性、完整性、身份认证和不可否认性

机密性
机密性:确保存储中或在传输中保持秘密状态
对称秘钥密码:密码系统中所有用户都使用一个共享的秘钥
公钥密码系统: 每个用户都能够使用公钥和私钥的组合密码
完整性
完整性:确保数据在传输过程中不背修改
完整性通过传输消息时创建的数字签名摘要来强制实施,公钥和私钥密码都能实施完整性
身份认证
身份认证: 声明的系统用户身份进行验证,是密码系统的主要功能
不可否认性
不可否认性为接受者提供了担保,保证消息确实来自发送者而不是来自伪装成发送者的人
秘密秘钥(对称秘钥)密码系统不提供不可否认性
公钥(非对称秘钥)密码系统提供不可否认性
6.2.2密码学概念
消息发送者使用密码学算法将明文消息加密为密文消息,使用字母C表示
创建和实现秘密编码和密码的技术被称为密码术
密码术和密码分析学被成为密码学
编码或解码在硬件或软件商的具体操作被成为密码系统
6.2.3 密码学的数学原理
二进制数学:
逻辑运算: OR、AND、NOT、XOR、模函数、单向函数、随机数、零知识证明、分割知识、工作函数
分割知识:单个解决方案中包含职责分离和两人控制被称为分割知识
零知识证明:零知识证明就是既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄露出去——即给外界的“知识”为“零”。证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。
工作函数:从成本和/或时间方面来度量所有努力,就可以度量密码学系统的强度
6.2.5 密码
编码与密码:
编码:密码学系统中标识词汇或短语的符号
密码:隐藏消息的真实含义
换位密码:使用某种加密算法重新排列明文消息中的字母,从而形成密文消息
替代密码:使用加密算法将明文消息中的每一个字符或比特都替换为不同的字符、如凯撒密码
一次性填充密码:对明文消息的每个字母都使用一个不同的字母表,极为强大的替代密码,一个不可破解的加密方案必须满足如下要求:
加密秘钥必须随机生成
一次性填充必须进行物理保护
每个一次性填充必须只使用一次
秘钥必须至少与被加密的消息一样长
一次性填充缺点:只可用于短消息、分发和保护需要冗长的秘钥
分组密码:按消息的"组块"或分组进行操作,并且对整个消息分组同时应用加密算法
流密码:对消息中的每一个字符或每一位操作,每次只处理一个/以为,如凯撒密码
混淆与扩散:
混淆:攻击者不能通过继续修改明文和分析产生的密文来确定秘钥
扩展:明文改变导致多种变化时,这个变化扩散到整个密文中
6.3 现代密码学
6.3.1 密钥
现代密码系统并不依赖其算法的安全性
现代密码系统不依赖于保密的算法
现代密码学系统依赖具体的用户或用户组专用的一个或多个秘钥
6.3.2 对称秘钥算法
对称秘钥依赖一个共享的加密秘钥,该秘钥会分发给所有参与通信的成员
对称秘钥也被成为秘密秘钥密码学或私有秘钥密码学
对称秘钥的弱点
秘钥分发是一个问题: 对称秘钥建立通信之前,通信参与必须具备一个安全的交换秘钥的方法
对称秘钥密码学并未实现不可否认性
这种算法不可扩充
秘钥必须经常更新
对称秘钥密码可扩展性问题:n个通信方之间完全连接需要的秘钥总数为:n*(n-1)/2
6.3.2 非对称秘钥算法
非对称秘钥算法也被成为公钥算法,每个用户都有公钥和私钥
非对称秘钥的优点:
新增用户只需要生成一对公钥-私钥对
从非对称系统中更容易删除用户
只有在用户的私钥被破坏时,才需要进行秘钥重建
非对称秘钥加密提供了完整性、身份认证和不可否认性
秘钥分发是一个简单的过程
不需要预先存在通信链接
对称和非对称密码学系统比较:


6.3.4 散列算法
常用的散列算法:
消息摘要2(MD2)
消息摘要5(MD5)
安全散列算法(SHA-0,SHA-1,SHA-2)
基于散列的消息身份认证代码(HMAC)
6.4 对称密码
常见对称密码系统:DES(数据加密标准)、3DES(三重数据加密标准)、IDEA(国际数据加密算法)、Blowfish、Skipjack、AES(高级加密标准)
6.4.1 数据加密标准(DES) 来源于Lucifer算法,DEA是实现DES标准的算法
DES是一个64位的分组密码,具有五种操作模式
电子代码本模式(ECB):安全性最差,每次处理一个64位分组,简单的使用秘钥对这个分组进行加密
密码分组链接模式(CBC):未加密文本的每个分组使用DES算法加密前,都与前一密文分组进行异或操作。
缺点:错误传播,一个分组在传输中被破坏,这个分组将无法解密。
密码回馈模式(CFB):流密码形式的CBC、针对实时生成的数据进行操作
输出回馈模式(OFB):与CFB模式几乎相同。
优点是不存在链接功能,传输错误不会通过传播影响之后分组的解密。
计数模式(CTR):流密码,每次操作后都增加的计数,与OFB模式一样,不传播错误。
6.4.2 三重数据加密算法(3DES)
3DES有四个版本:
DES EEE3:使用三个不同的秘钥对明文加密三次
DES EDE3:使用三个秘钥,但是将第二个加密操作替换成解密操作
DES EEE2:只使用两个秘钥
DES EDE2:使用两个秘钥、中间使用解密操作
6.4.3 国际数据加密算法(IDEA)
针对DES算法的秘钥长度不够开发的,采用128位的秘钥进行操作,
6.4.4 Blowfish(SSH使用)
Blowfish扩展了IDEA的秘钥长度,可使用变长秘钥,BlowFish比IDEA和DES更快的算法
6.4.5 Skipjack
对64位的文本分组操作,使用80位的秘钥
没有被密码学团队普通接受,因为托管程序由美国政府控制
6.4.6 高级加密协议(AES)( Rijndael、Twofish算法加密 )
使用128、192、和256位加密,支持128分组处理对称加密算法记忆表
Twofish算法 利用了两种技术:预白噪声化、后白噪声化


6.4.7 对称秘钥管理
创建和分发对称密码
离线分发:一方向另一方提供包括秘钥的一张纸或一份存储介质
公钥加密:使用公钥加密建立初始的通信链接,在链接中交换秘钥
Diffie-Hellman算法:在不安全的链路中交换秘钥
存储和销毁对称秘钥
永远不要将加密秘钥存储在存放加密数据一起
敏感秘钥考虑两个人分别持有秘钥的一般
秘钥托管
公平密码系统:私钥分成多分,交给独立的第三方
托管加密标准:向政府提供解密密文的技术手段
6.4.8 密码生命周期
确定组织可以接受和使用的加密算法
基于传输信息的敏感性确认算法可接受的秘钥长度
列出可以使用的安全传输协议(SSL和TLS)
————————————————
版权声明:本文为CSDN博主「北航程序员小C」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Runnymmede/article/details/133364269

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/596665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Git】Git版本控制工具使用详解

1、版本控制 特点 协同修改: 多人可以并行修改服务器端的同一个文件 数据备份: 不仅保存目录和文件的当前状态,还可以保存每一个提交过的文件的历史状态 2、版本管理: 在保存每一个版本的文件信息时要做到不保存重复数据以节约存储空间 提高运行效率 SVN采用增量式更新 Git采用…

《2023直播电商数字化引领者》《2023最受欢迎直播电商消费品牌TOP100 》榜单征集正式启动!

过去几年,直播电商以低成本、高转化率等优势备受商家青睐,市场规模增长显著,仅用4年时间就完成了万亿增长。 直播电商市场规模数百倍爆发。数据显示,2022年我国直播电商市场规模为34879亿元,较2017年的196.4亿元增长…

分享10篇优秀论文,涉及图神经网络、大模型优化、表格分析

引言 第38届AAAI人工智能年度会议将于2024年2月在加拿大温哥华举行。今天给大家分享十篇AAAI2024论文,主要涉及图神经网络,大模型幻觉、中文书法文字生成、表格数据分析、KGs错误检测、多模态Prompt、思维图生成等。 论文获取方式,回复&am…

高效分割视频:批量剪辑,轻松提取m3u8视频技巧

在数字媒体时代,视频分割是一项常见的需求。无论是为了编辑、分享还是其他要求,经常要将长视频分割成多个短片。传统的视频分割方法往往需要手动操作,既耗时又容易出错。现在来看云炫AI智剪高效分割视频的方法,批量剪辑并轻松提取…

LRU的设计与实现(算法村第五关黄金挑战)

146. LRU 缓存 - 力扣(LeetCode) 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存…

【RF 计算公式】计算自由空间损耗

1、 电信链路的基本公式 自由空间传播可使用两种不同的方法计算,每种方法均适用于一种特定类型的业务。 1. 1 点到区链路 如果发射机服务于若干随机分布的接收机(广播、移动业务),则电场强的计算应在与发射机有适当距离的位置进…

手机流量卡推广分销网站php源码,多功能的号卡推广分销管理系统

源码简介 拥有多个接口,包括运营商接口,并支持无限三级代理。 最简单易用的PHP系统,它自带自动安装向导,可以让你轻松安装和部署。 该系统集成了多个第三方接口资源,能够满足你的不同需求。采用全系统双色主题&…

jmeter自动录制脚本功能

问题排查: 建议用 google浏览器; 重启一下jmeter; 过滤规则重新检查下; 看下代理设置是否正常; 注意:下面的的过滤设置中 用的都是正则表达式的规则。

Scikit-Learn线性回归(五)

Scikit-Learn线性回归五:岭回归与Lasso回归 1、误差与模型复杂度2、正则化3、Scikit-Learn岭(Ridge)回归4、Scikit-Learn Lasso回归 1、误差与模型复杂度 在第二篇文章 Scikit-Learn线性回归(二) 中,我们已经给出了过拟合与模型泛…

【解决复杂链式任务,打造全能助手】LangChain 大模型 打造 钢铁侠的全能助理 Jarvis

LangChain 大模型 结合 做 AutoGPT、ChatPDF 思维链 CoTLangChain模型IO:和大模型交互、提示词模版数据连接:从数据的接入、分割,到向量的构建、存储、搜索链:串联和组织,多个语言模型、组件记忆:灵魂伴侣&…

Java Review - Spring BeanUtils 踩坑记

文章目录 概述Spring BeanUtils基本使用Code忽略了属性类型导致拷贝失败同一字段在不同的类中定义的类型不一致同一个字段分别使用包装类和基本类型且没有传递实际值布尔类型的属性分别使用了基本类型和包装类型且属性名使用is开头 null值覆盖导致数据异常内部类数据无法成功拷…

PostgreSQL获取当天、昨天、本月、上个月、本年、去年的数据

gps_time为timestamp类型日期字段 获取当天的数据 WHERE DATE_TRUNC(day, gps_time) CURRENT_DATE --或 WHERE DATE(gps_time) CURRENT_DATE获取昨天的数据 WHERE DATE_TRUNC(day, gps_time) CURRENT_DATE - INTERVAL 1 day获取本月的数据 WHERE DATE_TRUNC(month, gps_…

图解算法数据结构-LeetBook-回溯01_机械累加器

请设计一个机械累加器,计算从 1、2… 一直累加到目标数值 target 的总和。注意这是一个只能进行加法操作的程序,不具备乘除、if-else、switch-case、for 循环、while 循环,及条件判断语句等高级功能。 注意:不能用等差数列求和公式…

JS数组API: push、pop 、unshift 、splice、filter、reduce、concat、 forEach...

文章目录 push()pop()shift()unshift()slice()splice()join()concat()forEach()map()filter()reduce()fill()数组查找APIincludes()indexOf()lastIndexOf()findIndex()sort()reverse()toString()toLocaleString()Array.from() push() push()方法用于向数组末尾添加一个或多个元…

Vue3.4正式发布,更快、更强、更好用

Vue 3.4 正式发布,更快、更强、更好用! 12 月 28 日,Vue 3.4 正式发布,代号为“🏀 Slam Dunk”,即灌篮高手。这个版本进行了许多重要的内部改进,其中最引人瞩目的是重写的模板解析器。新的解析…

RK3399平台入门到精通系列讲解(实验篇)IO 多路复用实验之poll实验

🚀返回总目录 文章目录 一、IO 多路复用:poll介绍二、实验源码2.1、Makefile2.2、poll 实验驱动2.3、poll 驱动测试应用程序一、IO 多路复用:poll介绍 IO 多路复用是一种同步的 IO 模型。IO 多路复用可以实现一个进程监视多个文件描述符。 一旦某个文件描述符准备就绪,就通…

Vue2面试题:说一下虚拟DOM的原理?

虚拟dom是对真实dom的抽象,本质是JS对象 在生成真实DOM之前,vue会把模板编译为一个虚拟dom,当里面某个DOM节点发生变动时,通过diff算法对比新旧虚拟DOM,发现不一样的地方直接修改在真实的DOM上 优点: 可以…

osg - 光照

OSG全面支持 OpenGL 的光照特性,包括材质属性(material property)、光照属性(light property)和光照模型 (lighting model)。与 OpenGL 相似,OSG中的光源也是不可见的,而非渲染一个灯泡或其他自然形状。同样,光源会创建着色效果&a…

进程的程序替换(exec函数)【Linux】

进程的程序替换详解exec函数【Linux】 程序替换的原理exec系列函数函数理解命令理解(助记) 关于程序替换中环境变量的解释exec函数之间的关系exec函数的使用execlexeclpexecleexecv 程序替换的原理 进程的程序替换就是让子进程执行新程序, 执…

C 语言用户输入详解:scanf、fgets、内存地址解析及实用指南

C 语言中的用户输入 您已经学习了 printf() 函数用于在 C 语言中输出值。 要获取用户输入,可以使用 scanf() 函数: // 声明一个整数变量,用于存储我们从用户那里获得的数字 int myNum;// 提示用户输入一个数字 printf("请输入一个数字…