技术分享:密码学入门

密码学关注机密性、完整性、认证和不可否认性。凯撒密码把字母平移若干位,适合说明替换思想,但可以被暴力枚举和频率分析轻易破解。

常用概念

  • 哈希:把任意长度输入映射为固定长度摘要,用于完整性校验和密码存储方案的基础;不能解密。
  • 对称加密:加解密使用同一个密钥,速度快,关键是安全分发密钥。
  • 非对称加密:公钥和私钥成对使用,可用于密钥交换和签名。
  • KDF:从密码或主密钥派生用途明确的密钥,如 PBKDF2、scrypt、Argon2。
  • 随机数:密钥、Nonce 和盐必须使用密码学安全随机源。

不要自行设计加密算法。密码应使用成熟的密码哈希方案,密钥和令牌放在安全的配置系统中,日志中不得打印敏感信息。

练习

  • 说明哈希、加密和编码的区别。
  • 解释为什么密码存储需要盐和慢速 KDF。
  • 为一个登录系统列出密钥、令牌和日志的保护措施。

学习衔接

结合HTTP、API设计认证和错误处理,在项目中验证登录流程。