加解密算法以及场景介绍

常见的加密算法主要分为‌对称加密‌、‌非对称加密‌和‌哈希摘要算法‌三大类,广泛应用于数据传输、存储及身份认证等场景

对称与非对称加密

对称加密使用同一密钥进行加解密,速度快,适合大量数据加密。常见算法包括‌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 客户端用本地私钥对该挑战数据进行数字签名,算法一般是RSA;

4.服务器验证签名:服务器用你提前注册的公钥对签名进行数学验证。若验签成功,证明"客户端确实持有对应私钥",身份认证通过;

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‌

相关推荐
搬砖魁首6 小时前
密码学系列 - TEE
密码学·tee·sgx
岁岁的O泡奶5 天前
ctfshow_crypto_萌新赛
经验分享·python·密码学·crypto
H0ne6 天前
密码学(Crypto)梳理(一)
密码学
橘子编程7 天前
密码学完全指南:从基础到实战
java·python·密码学
lcreek7 天前
公钥密码学与数字签名:原理详解
密码学
洒家肉山大魔王11 天前
PKI/CA X.509证书的基础应用与解读
服务器·https·密码学·数字证书
酿情师12 天前
2026软件系统安全赛初赛RSA(赛后复盘)
android·网络·安全·密码学·rsa
Liudef0613 天前
后量子密码学(PQC)深度解析:算法原理、标准进展与软件开发行业的影响
算法·密码学·量子计算
YIN_尹15 天前
关于论文《使用 FLUSH+RELOAD 缓存侧信道攻击恢复 OpenSSL ECDSA 的随机数》的理解
缓存·系统安全·密码学