文档章节

密码学在加密算法上分类

Corlang
 Corlang
发布于 2016/04/10 21:04
字数 1071
阅读 155
收藏 0

单向加密算法

单向加密算法主要用于对信息完整性的验证,这种技术就是由散列函数提供的消息认证技术。 散列函数,也称做哈希函数、消息摘要函数、单向函数或杂凑函数。通过散列函数,可以为数据创建“数字指纹”(散列值)。散列值通常是一个字母和数字组成的字符串。 其消息认证流程如下:

1

在上述认证流程中,信息收发双方在通信前已经商定了具体的散列算法,并且该算法是公开的。如果消息在传递过程中被篡改,则该消息不能与已获得的数字指纹相匹配。 散列函数具有以下的特征:

  • 消息的长度不受限制
  • 对于给定的消息,其散列值的计算是很容易的。
  • 如果两个散列值不相同,则这两个散列值的原始输入消息也不相同,这个特性使得散列函数具有确定性的结果。
  • 散列函数的运算过程是不可逆的,这个特性称为函数的单向性。这也是单向函数命名的由来。
  • 对于一个已知的消息及散列值,要找到另一个消息使其获得相同的散列值是可不能的。这个特性称为抗弱碰撞性。这被用来防止伪造。
  • 任意两个不同消息的散列值一定不同。这个特性称为抗强碰撞性。 散列函数广泛用于信息完整性的验证,是数据签名的核心技术,散列函数的常用算法有MD----消息摘要算法、SHA-----安全散列算法及MAC-----消息认证码算法。

对称密码体制

对称密码体制的保密模型如下图所示。对称密码体制要求加密和解密使用同一个密钥,解密是加密的逆运算,由于通信双方共享同一个密钥,这就要求通信双方必须在通信前商定该密钥,并妥善保存该密钥,该密钥称为私密密钥。私密密钥的存在使得对称密码体制开放性变差。 对称密码体制的保密模型:

2

对称密码体制分为两种:

  • 一种是对明文的单个位(或字节)进行运算,称为流加密,也称序列加密。
  • 另一种是把明文信息划分成不同的组(或块)结构,分别对每个组(或块)进行加密和解密,称为分组加密。

非对称密码体制

非对称密码体制的保密通信模型如下体所示。**非对称密码体制与对称密码体制相对,其主要的区别在于:非对称密码体制的加密密钥和解密密钥不相同,分为两个密钥,一个公开,一个保密。公开的密钥称为公钥,保密的密钥称为私钥。**因此,非对称密码体制也称为公钥密码体制。非对称密码体制使得发送者和接收者无密钥传输的保密通信成为可能,弥补了对称密码体制的缺陷。 非对称密码体制的保密通信模型:

3

在非对称密码体制中,公钥和私钥均可用于加密和解密操作,但它与对称密码体制不同。公钥与私钥分属通信双方,一份消息的加密和解密需要公钥与私钥共同参与。公钥加密则需要私钥解密,反之,私钥加密则需要公钥解密。

本文转载自:http://blog.csdn.net/lonelyroamer/article/details/7630594

Corlang
粉丝 6
博文 35
码字总数 6634
作品 0
南京
程序员
私信 提问
密码学-学习资料和网站

我接触密码学有一段时间了,把我收集的资料整理出来,以便后期查阅。另外也给网友一些捷径。 书籍 计算机安全和密码学.Computer.Security.And.Cryptography.pdf 英文版 《深入浅出密码学——...

BjarneCpp
2018/01/09
0
0
密码学基础知识

密码学.png 密码学 推荐书籍 图解密码技术 结城浩 著 周自恒 译 密码学概览 密码学概览图 消息的特性 机密性 完整性 认证 不可否认性 密码算法 密码算法应用场景概览 对称密码 商密算法 国密...

数学角度看生活
2017/06/21
0
0
密码遇上区块链,擦出怎样的火花?

密码学是区块链的底层技术,没有密码学就没有区块链,没有密码学支撑的区块链不可能安全。 数字经济时代,隐私保护问题日益突出。基于区块链的加密算法技术,用户可以对相应数据进行授权,从...

匿名科技
2018/11/19
0
0
了解加密学:从数学到物理(一)

了解加密学:从数学到物理(一) 2018-09-25 15:34编辑: 游星啊分类:区块链来源:蓝狐笔记 密码区块链 招聘信息: iOS开发 iOS开发 iOS开发 app开发上架H5技术 app开发技术 图像处理及模式...

游星啊
2018/09/25
0
0
了解加密学:从数学到物理(二)

了解加密学:从数学到物理(二) 2018-09-27 16:28编辑: 游星啊分类:区块链来源:蓝狐笔记 加密区块链 招聘信息: iOS开发 iOS开发 iOS开发 app开发上架H5技术 app开发技术 图像处理及模式...

游星啊
2018/09/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kylin构建Cube过程详解

1 前言 在使用Kylin的时候,最重要的一步就是创建cube的模型定义,即指定度量和维度以及一些附加信息,然后对cube进行build,当然我们也可以根据原始表中的某一个string字段(这个字段的格式...

大数据技术进阶
18分钟前
4
0
Git保存密码

保存密码 $ git config --global credential.helper store 参数 --global 设置全局,如果用 --local 则只设置当前库 要注意保存时是用明文保存的,所以不要在公用电脑使用...

编程老陆
20分钟前
4
0
ofcms 说明文档

一、模板说明 项目概述 java 版CMS系统、基于java技术研发的内容管理系统、功能:栏目模板自定义、内容模型自定义、多个站点管理、在线模板页面编辑等功能、代码完全开源、MIT授权协议。 技术...

kuchawyz
27分钟前
4
0
理解CSS相对定位和固定定位

本文转载于:专业的前端网站➦理解CSS相对定位和固定定位 前面的话   一般地,说起定位元素是指position不为static的元素,包括relative、absolute和fixed。前面已经详细介绍过absolute绝对...

前端老手
37分钟前
4
0
iOS Xcode升级包地址(感谢大神)

下载地址:DeviceSupport

_____1____
51分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部