Skip to content

Latest commit

 

History

History
28 lines (26 loc) · 1.31 KB

security-notes.md

File metadata and controls

28 lines (26 loc) · 1.31 KB

概念

  1. character-to-binary 编码:ASCII、UTF-8、GB2312(区分字符集:Unicode)
  2. binary-to-text 编码(虽然经常用作text-to-text):base64、base32、ascii85
哈希算法

MD5, SHA-1, and SHA-256

加密算法

对称加密

DES、3DES、AES

公钥加密

RSA、DSA、ECC

目的:证明信息由签名者发出

  • 发送方步骤
  1. 对原数据做哈希
  2. 对哈希后结果用私钥加密生成签名
  3. 将原数据和签名发送给接收方
  • 接收方步骤
  1. 用发送方公钥对签名解密得到哈希值。若解密成功说明消息确实来源于发送方。(不可抵赖性)
  2. 对原数据做哈希,与第一步得到的哈希值作比较。若相同,则说明原数据未被篡改。(完整性)
数字证书(CA)
  • 威胁模型:攻击者可以篡改接收方保存的发送方公钥,以冒充发送方向接收方通信
  • 解决方案:让一个可信的第三方保存发送方的公钥

Nonces(Number used once)

  • 背景:如果每次对称加密的模式(函数、密钥)都相同,那么可以通过记录输入和输出的映射破解对称加密
  • 设置一个递增随机数,在加密时将该数作为加密函数的一部分