加解密算法以及场景介绍

张开发
2026/4/21 9:53:56 15 分钟阅读

分享文章

加解密算法以及场景介绍
常见的加密算法主要分为‌对称加密‌、‌非对称加密‌和‌哈希摘要算法‌三大类广泛应用于数据传输、存储及身份认证等场景对称与非对称加密对称加密使用同一密钥进行加解密速度快适合大量数据加密。常见算法包括‌AES‌高级加密标准目前主流、‌DES‌及‌3DES‌已逐渐淘汰应用场景大量数据的加密传输如文件传输例如wifi wpa2使用AES进行数据加解密性能要求较高的场景如实时通信、视频流加密等非对称加密使用公钥和私钥配对解决了密钥分发问题安全性更高但速度较慢。主流算法有‌RSA‌应用最广泛、‌ECC‌椭圆曲线密码密钥短效率高及‌Diffie-Hellman‌密钥交换应用场景安全证书的签发和验证如SSL/TLS协议中的数字证书。身份认证和授权过程中的签名验证如数字签名技术ssh公钥认证。需要公开分发公钥的场景如电子邮件加密、软件代码签名等。ssh连接git服务器时的公钥认证本质上就是一个标准的数字签名生成与验证过程交互过程如下1.ssh客户端连接git服务器时客户端与服务器先完成 Diffie-Hellman 密钥交换生成一个唯一的 session_id 和双方共享的 exchange_hash包含协议版本、算法协商、双方临时公钥等数据的哈希2.服务器下发挑战向客户端下发一段数据要求客户端对一段协议定义的结构化数据进行签名。这段数据核心就是 exchange_hash 认证上下文用户名、认证方法等3.客户端生成数字签名SSH 客户端用本地私钥对该挑战数据进行数字签名算法一般是RSA4.服务器验证签名服务器用你提前注册的公钥对签名进行数学验证。若验签成功证明“客户端确实持有对应私钥”身份认证通过5.进入加密会话认证完成后双方切换到此前提协商的对称加密算法如 AES-GCM/ChaCha20加密后续所有 Git 流量。非对称加密仅用于认证环节。总结SSH 公钥认证 服务器发挑战 → 客户端用私钥生成数字签名 → 服务器用公钥验证签名。这是非对称密码学在身份认证中最经典、最安全的落地方式。性能与效率对比对称加密算法运算相对简单因此‌加密和解密速度非常快‌适合对海量数据如文件、数据库内容进行实时加密处理。非对称加密算法涉及复杂的数学运算其‌加解密速度比对称加密慢得多‌通常不直接用于加密大量数据在实际应用中为了充分利用两种加密算法的优势并弥补各自的不足通常会采用混合加密方案。例如在SSL/TLS协议中非对称加密算法用于安全地交换对称加密算法的密钥而后续的数据加密和解密则使用对称加密算法来完成。这种混合加密方案既保证了数据传输的安全性又兼顾了加密和解密的性能效率。哈希摘要算法哈希算法不可逆主要用于验证数据完整性而非加密内容。常见算法包括‌MD5‌128 位已不安全、‌SHA-1‌160 位存在碰撞风险及‌SHA-256‌安全性高推荐使用。严格来说 MD5 和 SHA 属于摘要算法但在广义加密技术中常被归类讨论总结随着算力提升部分旧算法已不再安全。‌DES‌、‌MD5‌和‌SHA-1‌因存在被破解风险不建议用于高安全场景 。当前推荐组合为数据传输使用‌AES‌对称加密密钥交换使用‌RSA‌或‌ECC‌完整性校验使用‌SHA-256‌

更多文章