加解密算法以及场景介绍

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

对称与非对称加密

对称加密使用同一密钥进行加解密,速度快,适合大量数据加密。常见算法包括‌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‌

相关推荐
如君愿8 天前
考研复习 Day 52 | 密码学--第九章 密钥管理(下)
密码学·课后习题
下午写HelloWorld10 天前
可信执行环境(Trusted Execution Environment, TEE)技术解析与应用2026
密码学·数据安全·可信计算技术·tee·隐私保护·可信执行环境
终端域名11 天前
密码学哈希函数:区块链 “不可篡改” 的核心数字指纹技术
区块链·密码学·哈希算法
国际学术会议-杨老师11 天前
2026年量子算法、密码学与数据分析国际会议(QACDA 2026)
数据分析·密码学·量子计算
如君愿13 天前
考研复习 Day 51 | 密码学--第九章 密钥管理(上)
密码学
黄金龙PLUS13 天前
基于ARX结构的新型序列密码算法FlashLight
算法·网络安全·密码学·哈希算法·同态加密
下午写HelloWorld14 天前
【概念与应用】轻量级加密算法LEA、动态脱敏算法DDA、零知识证明ZKP和优化协同交互协议OCIP
算法·区块链·密码学·安全架构·零知识证明
如君愿14 天前
考研复习 Day 50 | 密码学--第八章 数字签名与身份认证(下)
密码学·课后习题
下午写HelloWorld14 天前
后量子密码算法:协同签名研究综述
算法·密码学·后量子·协同签名
夏语灬15 天前
cryptography:Python 密码学标准库的终极选择
开发语言·python·密码学