加解密算法以及场景介绍

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

对称与非对称加密

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

相关推荐
其实防守也摸鱼3 天前
软件安全与漏洞--软件安全设计
运维·网络·安全·网络安全·密码学·需求分析·软件安全
其实防守也摸鱼4 天前
ctfshow--Crypto(crypto1-14)解题步骤
java·开发语言·网络·安全·密码学·ctf·ctfshow
安当加密4 天前
数据库密码写配置文件?我用动态凭据管理重构了50个微服务的数据库连接
数据库·密码学·安全架构
MicroTech20254 天前
微算法科技(NASDAQ :MLGO)基于后量子密码学的动态BFT共识机制:QDBFT架构
科技·算法·密码学
Zevalin爱灰灰5 天前
现代密码学 第二章——流密码【下】
算法·密码学
其实防守也摸鱼6 天前
CTF密码学综合教学指南--第九章
开发语言·网络·python·安全·网络安全·密码学·ctf
Zevalin爱灰灰7 天前
现代密码学 第四章——公钥密码【上】
安全·密码学
岁岁的O泡奶7 天前
NSSCTF_crypto_[LitCTF 2023]babyLCG
经验分享·python·算法·密码学·crypto·流密码
Zevalin爱灰灰7 天前
现代密码学 第一章——概述
密码学
Zevalin爱灰灰8 天前
现代密码学 第三章——分组密码【上】
密码学