Luke a Pro

Luke Sun

Developer & Marketer

🇺🇦
EN||

安全与加密:概览

| , 1 minutes reading.

安全与加密:概览

引言:“间谍”问题

在开放的网络中,任何人都可以监听你的流量。你如何在不被黑客发现的情况下,将信用卡号发送给服务器?你如何知道与你交谈的人正是他们自称的那个人?

密码学 (Cryptography) 是利用数学算法保护信息的科学。它已经从简单的字符移位(凯撒密码)演变为涉及大质数和椭圆曲线的复杂数学证明。

CIA 三要素

每种安全算法都旨在实现以下一个或多个目标:

  1. 机密性 (Confidentiality): 只有授权人员才能读取数据 (AES, RSA)。
  2. 完整性 (Integrity): 确保数据在传输过程中没有被篡改 (MD5, SHA, Merkle Tree)。
  3. 可用性 (Availability): 确保系统正常运行(通过 限流、DDoS 过滤 等手段保护)。

选型框架:怎么选?

  1. 追求速度还是便捷?
    • 加密大文件: 使用 对称加密 (AES)。它比非对称加密快 1000 倍以上。
    • 交换密钥: 使用 非对称加密 (RSA/ECC)迪菲-赫尔曼 (Diffie-Hellman)
  2. 证明所有权?
    • 使用 数字签名(私钥签名,公钥验证)。
  3. 证明海量数据的完整性?
    • 使用 默克尔树 (Merkle Tree) 来验证数据块,而无需下载整个数据集。

常见算法速览

  • 8.1 AES: 日常加密的“黄金标准”,速度极快。
  • 8.2 RSA/ECC: 保护初始连接的“大师锁”。
  • 8.3 Diffie-Hellman: 允许两个陌生人在不安全信道上协商出秘密的“魔法盒”。
  • 8.5 Merkle Tree: 被比特币和 Git 使用的“哈希之哈希”,用于证明数据未被破坏。

选型对比速查

目标推荐算法安全强度性能
海量数据加密AES-256极高非常快
安全密钥握手ECC (椭圆曲线)高 (优于 RSA)
兼容性握手RSA高 (需要大长度密钥)
完整性校验SHA-256抗碰撞
防篡改账本Merkle Tree分布式信任高吞吐

一句话心法

“加密让窃听的成本高到无法承受,而签名让伪造在数学上变得绝无可能。”