2023年软考系统架构设计师学习笔记。
散列函数与数字签名。
md5散列算法。
散列函数是一种公开的数学函数。散列函数运算的输入信息叫做报文,运算后所得的结果叫做散列码或消息摘要。
特点:1.给定m,要找到另一消息m,使h(m)=h(m)很难。
2.散列函数都是单向的,反推m很难。
3.对于任何一个报文,无法预知它的散列码。
4.散列码具有固定的长度,不管原始报文长度如何。
常见的散列函数有:md5、sha、hmac等。
md5已成为国际标准,产生128位(16字节)长度的散列值(或称消息摘要)。
通过以下4个步骤:
1.附加填充位,填充后数据长度mod512后余448。如果数据长度正好mod512余448,增加512个填充位,填充个数也就是1~512。
填充位第一个为1,其余全部是0。
2.补足长度。
3.初始化md缓存器。
4个32位寄存器,a、b、c、d,初始化为:
a:01234567
b:89abcdef
c:fedcba98
d:76543210
4.处理数据段。
数字签名与数字水印。
1.数字签名可以解决否认、伪造、篡改、冒充等问题。
凡是需要对用户身份进行判断的情况都可以使用数字签名。
三个过程:系统的初始化过程、签名产生过程、签名验证过程。
签名者必须注意保护好私有密钥,因为它是公开密钥体系安全的重要基础。
如果密钥丢失,应该立即报告鉴定中心取消认证,鉴定中心必须能够迅速确定用户的身份及其密钥的关系。
rsa、elgamal、fiat-shamir、美国的数字签名标准/算法、椭圆曲线等多种。
2.数字水印是实现版权保护的有效办法,也是信息隐藏技术研究领域的重要分支。
通过在原始数据中嵌入秘密信息——水印来证实该数据段所有权。
水印可以是一段文字、标识、序列号等,通常是不可见或不可察的,与原始数据紧密结合并隐藏其中。
数字水印技术必须具有较强的鲁棒性、安全性、透明性。
数字水印主要应用领域:
版权保护,作品被盗版或出现版权纠纷时,所有者即可从盗版作品或水印版作品中获取水印信号作为依据。
加指纹,将不同用户端id或序列号作为不同的水印(指纹)嵌入作品的合法备份中,一旦发现未授权的备份,就可以确定它的**。
标题与注释。
篡改提示,可将原始图像分成多个独立块,再将每个块加入不同的水印,来确定作品的完整性,这类水印必须是脆弱的,并且检测水印信号时,不需要原始数据。
使用控制,防复制。
空域算法、变换域算法、压缩域算法、nec算法、生理模型算法等。
软考系统架构设计师学习笔记
2016年软考系统架构设计师学习笔记。散列函数与数字签名。md5散列算法。散列函数是一种公开的数学函数。散列函数运算的输入信息叫做报文,运算后所得的结果叫做散列码或消息摘要。特点 1.给定m,要找到另一消息m,使h m h m 很难。2.散列函数都是单向的,反推m很难。3.对于任何一个报文,无法预知...
软考系统架构设计师学习笔记
1.1.1 系统架构师的概念。现代信息系统 架构 三要素 构件 模式 规划 规划是架构的基石,也是这三个贡献中最重要的。架构本质上存在两个层次 概念层,物理层。1.2.1 系统架构师的定义。负责理解 管理并最终确认和评估非功能性系统需求,给出开发规范,搭建系统实现的核心架构,对整个软件架构 关键构建...
2023年软考系统架构设计师学习笔记
散列函数与数字签名。md5散列算法。散列函数是一种公开的数学函数。散列函数运算的输入信息叫做报文,运算后所得的结果叫做散列码或消息摘要。特点 1.给定m,要找到另一消息m,使h m h m 很难。2.散列函数都是单向的,反推m很难。3.对于任何一个报文,无法预知它的散列码。4.散列码具有固定的长度,...