5分钟掌握密码学基础知识

 密码学的目标:

机密性、完整性、身份认证和不可否认性。

机密性:确保数据在存储或传输中保持秘密状态

完整性:保证数据在传输中不被篡改

身份认证:对声明的系统用户进行身份验证

不可否认性:为接收者提供了担保,保证消息确实来自发送者而不是来自伪装者。

现代密码学基础知识:

1、对称密钥算法

加密和解密使用相同的密钥,密钥需要事先分发给所有参与通信的成员。当密钥长度足够长时,破解比较困难。缺点如下:

需要解决密钥分发问题。需要事先采用安全的方式共享加密密钥。

未解决不可否认性。任意拥有密钥的人都可以加密,无法分辨加密消息来自于谁。

密钥需要经常更新。每当有成员离开用户组时,所有涉及这个成员的密钥都需要更新。

DES算法:美国政府1977年公布,DES是一个64位的分组密码,实际使用的密钥长度为56位。

3DES算法:由于现代密码分析技术和超级计算能力提升,DES算法已经不在安全。DES的修改版本三重数据加密算法3DES能够使用相同的算法实现更安全的加密。

AES算法:2000年10月,美国国家标准和技术协会NIST宣布Rijndael分组密码替换DES成为新的加密算法标准。AES密码准许使用三种密钥长度:128位,192位,256位。

常见的对称密码算法

算法分组大小(位)密钥大小(位)

DES6456

3DES64112或168

AES128128、192、256

Rijndael可变128、192、256

Twofish1281-256

Blowfish(通常在SSH中使用)6432-448

IDEA64128

2、非对称密钥算法

非对称密钥算法也叫公钥算法,有效的解决了对称密钥算法的很多痛点。在这个系统中,每个用户都有两个密钥,一个在所有用户间共享的公钥,一个是只有用户自己知道的私钥。

三种非对称密码算法的密钥长度

密码算法密钥长度

RSA1088

DSA1024

ECC160

3、散列函数

散列函数具有一个非常简单的用途,就是它们接收一个可能很长的消息,然后根据消息内容生成唯一的输出值,以此来确保消息是否被篡改。

散列算法记忆表

算法名称哈希值的长度(位)

HAVAL一种MD5变种128、160、192、224、256

HMAC可变

MD2128

MD4128

MD5128

SHA-1160

SHA-224224

SHA-256256

SHA-384384

SHA-512512

4、数字签名

数字签名的应用有两个明显的作用:

向接收方保证:消息确实来自声明的发送者,并且实施了不可否认性

向接收方保证:消息在发送方和接收方之间进行传输过程中不会被改变。

 签名过程

验签过程

5、公钥基础设施(PKI)

公钥基础设施PKI使得原本互不相识的双方间通信变得更加容易。由可信证书颁发机构CA签发证书来对用户的公钥做身份证明。

数字证书为通信双方提供了保证,保证正在通信的人确实具有他们所宣称的身份。数字证书本质上是个人公钥的认可副本。当用户验证证书确实是由可信证书颁发机构(CA)发布时,他们就相信这个公钥是合法的。数字证书X.509国际标准包含以下数据:

 序列号(来自证书建立者)

签名算法标识符

发布者姓名(发布证书的证书授权机构的身份标识)

有效期

主体的名字

主体的公钥

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 常用的密码学 --------参考文档 ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全 一,...
    果果_1b2b阅读 1,676评论 0 0
  • 概述 ​ 密码学是研究如何保护信息安全性的一门科学,涉及数学、物理、计算机、信息论、编码学、通讯技术等学科,已经在...
    卿酌南烛_b805阅读 1,756评论 0 0
  • 密码学 推荐书籍 图解密码技术 结城浩 著 周自恒 译 密码学概览 密码学概览图密码学概览 消息的特性 机密...
    适合自己的最好阅读 1,614评论 0 5
  • 前言 本文梳理主要基于书籍《Java加密与解密的艺术》、维基百科、百度百科以及网络上众多资料,如有涉及版权问题,请...
    hello_cyz阅读 2,197评论 1 7
  • 密码学算法主要分为两种:对称加密和非对称加密。 对称加密就是使用了一样的密钥来加密,需要在只有通信的双方知道密钥的...
    马天猫Masn阅读 1,323评论 1 3