密码学学习笔记(2)

1 对称加密

  • DES – Data Encryption Standard
    • 现在使用DES方式加密,数据还安全吗?
      • 不安全,已经被破解了
    • 是不是分组密码?
      • 是,先对数据进行分组,然后在加密或者解密
    • DES的分组长度?
      • 8byte == 64bit
    • DES的密钥长度
      • 56bit密钥长度 + 8bit错误检测标志位 == 64bit == 8byte
  • 3DES – Triple-DES
    • 3DES安全吗?
      • 安全,但是效率低
    • 算法描述
      • 进行了3次des加密
    • 是不是分组密码?
    • 3DES分组长度?
      • 8字节
    • 3DES密钥长度?
      • 24字节,在算法内部会被平均分为3分
    • 3DES加密过程?
      • 密钥1->加密,密钥2->解密,密钥3->加密
    • 3DES解密过程?
      • 密钥1->解密,密钥2->加密,密钥3->解密
  • AES – Advanced Encryption Standard
    • AES安全吗?
      • 安全,效率高,推荐使用
    • 是不是分组密码?
    • AES分组长度?
      • 128bit = 16byte
    • AES密钥长度?
      • 128bit = 16byte
      • 192bit = 24byte
      • 256bit = 32byte
  • 字节填充
    • ANSI X.923
      • … | DD DD DD DD DD DD DD DD | DD DD DD DD (00 00 00 04)|
      • 除了最后字节,其他填0
    • ISO 10126
      • … | DD DD DD DD DD DD DD DD | DD DD DD DD (81 A6 23 04)|
      • 除了最后字节,其他随机
    • PKCS7(Rfc3852)
      • … | DD DD DD DD DD DD DD DD | DD DD DD DD (04 04 04 04)|
      • 都是填充相同的值,值为填充的长度
    • Zero Padding
      • … | DD DD DD DD DD DD DD DD | DD DD DD DD (00 00 00 00)|
      • 都是填充0
  • 分组模式
    • ECB - Electronic CodeBook 电子密码本模式
    • CBC - Cipher Block Chaining 密码块链模式
    • CFB - Cipher FeedBack 密文反馈模式
    • OFB - Output FeedBack 输出反馈模式
    • CTR - CounTeR 计数器模式
  • 初始化向量 - IV
  • 对称加密在go中实现
//1. 创建一个底层使用des/3des/aes的密码接口
"crypto/des"
func NewCipher(key []byte) (cipher.Block, error) // des
func NewTripleDESCipher(key []byte) (cipher.Block, error) // 3des
"crypto/aes"
func NewCipher(key []byte) (cipher.Block, error) //aes
//2. 如果使用的是cbc/ecb分组模式需要对明文分组进行填充
//3. 创建一个密码分组模式的接口对象
	- cbc
	func NewCBCEncrypter(b Block, iv []byte) BlockMode //加密
	- cfb
	func NewCFBEncrypter(b Block, iv []byte) Stream
	- ofb
	- ctr
//4.加密,得到密文
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值