密码学

密码学能做什么?

  • 机密性:如何使得某个数据自己能看懂,别人看不懂
  • 认证:如何确保数据的正确来源,如何保证通信实体的真实性
  • 完整性:如何确保数据在传输过程中没有被删改
  • 不可否认性:如何确保用户行为的不可否认性

基本概念

  • 明文 ——要处理的数据
  • 密文 ——处理后的数据
  • 密钥 ——秘密参数
  • 加密函数
  • 解密函数

密码算法分类

  • 根据用途
    • 加密算法
    • 杂凑函数
    • 数字签名
  • 根据密钥
    • 对称
    • 非对称

密码分析学

密码体制的攻击

  • 唯密文攻击
  • 已知密文攻击

无条件安全与计算安全

流密码

明文消息按字符或比特逐位加密 主要是基于硬件实现

  • 密钥流产生器

参数为k的有限状态自动机

二元序列的伪随机性

反馈移位寄存器

批注 2020-06-05 102940

非线性序列

A5流密码算法

用于蜂窝式移动电话系统语音和数字加密

分组密码

  • 混淆原则
    • 敌手即使获得了密文和明文,也无法求出密钥的任何信息;即使获得了密文和明文的统计规律,也无法求出明文的新的信息
  • 扩散原则
    • 明文中的每一位影响密文中的尽可能多的位

SP网络

  • 代换

批注 2020-06-06 103221

Feistel密码

乘积密码指顺序地执行两个或多个基本密码系统,使得最后结果的密码强度高于每个基本密码系统产生的结果

DES

  • 分组长度为64 bits (8 bytes)
  • 密文分组长度也是64 bits。
  • 密钥长度为64 bits,有8 bits奇偶校验,有效密钥长度为56 bits。

安全性

DES的密钥长度可能会对安全性产生威胁

  • 3DES
    • 多重DES就是使用多个密钥利用DES对明文进行多次加密。使用多重DES可以增加密钥量,从而大大提高抵抗穷举密钥搜索攻击的能力

工作模式

根据不同的数据格式和安全性要求, 以一个具体的分组密码算法为基础构造一个分组密码系统的方法

AES

  • 明文分组可变,128、192、256比特
  • 密钥长度可变,各自可独立指定为128、192、256比特。

SM4

是一个分组密码算法,分组长度和密钥长度均为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构

公钥密码

每个用户生成一个密钥对:一个公钥pk和一个对应的私钥 sk

私钥由用户本人使用,而公钥则由系统中其他用户使用

RSA

  • 密钥生成

选择两个大素数P,q。(例如:每个1024位)

计算n= Pq:,z=(p-1)(q- 1)。

随机选取e (其中e< n),e与z没有公因数。(e,z互为质数”)

选取d.使得ed- 1能够被z完全整除。(换言之:ed mod z= 1)

  • 加解密

批注 2020-06-10 095616

ElGamal

批注 2020-06-11 083326

椭圆曲线密码

哈希函数

将任意长的消息M映射为较短的、固定长度的一个值H(M)

安全条件

  • 单向性
  • 抗弱碰撞性
  • 抗强碰撞性

生日攻击

随机取一个值,该值的hash值与某个特定x的hash值相同的概率为50时,应该要取多少个值

SHA-1

  • 算法的输入:小于264比特长的任意消息,分为512比特长的分组。
  • 算法的输出:160比特长的消息摘要。

数字签名

  • 接收者能够核实发送者对文档的签名;
  • 发送者事后不能否认对文档的签名;
  • 不能伪造对文档的签名

RSA签名

使用私钥签名,公钥进行验证

ElGamal签名

DSS签名

密钥协议

Diffie-Hellman密钥交换协议

批注 2020-06-17 090149

Shamir秘密共享

results matching " "

No results matching " "

results matching " "

No results matching " "