2.1 密码学(NISP一级学习)
前言
TBH的上课笔记。
密码学的发展
- 古典密码 受算法限制
- 近代密码
- 现代密码(香农) 新特点:基于密钥而非算法
- 公钥密码 无密钥传输保密通信成为可能
加密与解密
加密通过密码算法实现,密码算法从密钥使用角度分为对称密码算法和非对称密码算法。
对称密码算法
也称单钥/私钥密码算法:加密解密密钥相同或实质上相同(可从一个推出另一个)
- DES、3DES、IDEA、AES
- 密钥相对较短,一般采用128、192、256比特
非对称密码算法
非对称密码算法:加密密钥和解密密钥不同,从一个很难推出另一个。其中,对外公开的密钥,称为公开密钥( public key),简称公钥;必须保密的密钥,称为私有密钥( private key),简称私钥。又叫公钥密码算法( Public-keycipher)。
例如:RSA、ECC、ELGamal
- 公钥加密 私钥解密
- 私钥加密 公钥解密
- 密钥长度512-2048位
优点:
- 密钥分发数目与参与者数目相同
- 在有大量参与者的情况下易于密钥管理一安全
- 支持数字签名和不可否认性
- 无需事先与对方建立关系,交换密钥
缺点:
- 速度相对较慢(可能比同等强度的对称密码算法慢10倍到100倍)
- 加密后,密文变长
混合加密
将公钥进行非对称加密
哈希函数
- 对称密码和非对称密码算法主要解决信息的机密性问题,而实际系统和网络还可能受到消息篡改等攻击。
- 篡改攻击主要包括:修改信息内容,改变程序使其不能正确运行等。哈希函数可以用来保证信息的完整性。
- 哈希(Hash)函数(也称为杂凑函数或单向散列函数)接受一个消息作为输入,产生一个称为哈希值的输出。输出的哈希值也可称为散列值、消息摘要(Message Digest,MD)
MD5
MD:Message Digest,消息摘要
- 输入∶任意长度的消息
- 输出∶128位消息摘要
- 处理∶以512位输入数据块为单位
SHA-1 算法
SHA ( Secure Hash Algorithm,安全哈希算法)由美国国家标准技术研究所开发
- 输入∶最大长度为264位的消息
- 输出:160位消息摘要
- 处理∶输入以512位数据块为单位处理
比较SHA-1/MD5
- 散列值长度
MD5 128bits
SHA1 160bits - 安全性
SHA1算法被视为MD5的替代候选算法 - 速度
SHA1慢些( openssl speed md5/sha1 )
数字签名
- A将文件的哈希值进行私钥加密后与文件、文件的哈希值一并发过去。
- B用A的公钥对加密的哈希值进行解密,如果与文件的哈希值相符则证明是A。
- 可信性:签名让文件的接收者相信签名者是慎重地在文件上签名的。
- 不可重用性:签名不可重用,即使同一消息在不同时刻的签名也是有区别的。如果将签名部分提取出来,附加在别的消息后面,验证签名会失败。这是因为签名和所签名消息之间是一一对应的,消息不同签名内容也不同,因此签名无法重复使用。
- 数据完整性:在文件签名后,文件不能改变。
- 不可伪造性:签名能够证明是签名者而不是其他人在文件上签名,任何人都不能伪造签名。
- 不可否认性:在签名者否认自己的签名时,签名接收者可以请求可信第二方进行仲裁。
评论
评论插件加载失败
正在加载评论插件