加密算法基本原理、特点及采用场景

news/2025/10/3 18:06:14/文章来源:https://www.cnblogs.com/ljbguanli/p/19124818

加密算法基本原理、特点及采用场景

一、加密算法基础知识

1、简介

信息安全领域的核心组成部分,它们共同确保数据在传输和存储过程中的机密性、完整性和身份验证。就是加密算法和协议

加密算法是用于将明文(原始数据)转换为密文(加密后的材料)的数学函数或程序。加密过程涉及利用密钥(一个秘密值)对明文进行加密,以生成密文。解密是加密的逆过程,它使用相同的密钥或另一个相关的密钥将密文还原为明文。

2、分类

加密算法主要分为三大类:对称加密算法、非对称加密算法和单向加密(也称为不可逆加密算法)。

  • 对称加密算法:加密和解密运用相同的密钥。常见的对称加密算法包括DES(信息加密标准)、3DES(三重DES)、AES(高级加密标准)等。这些算法通常用于加密大量数据,因为它们速度快且易于搭建。

  • 非对称加密算法:加密和解密使用不同的密钥,即公钥和私钥。公钥能够公开,而私钥必须保密。常见的非对称加密算法包括RSA(Rivest-Shamir-Adleman算法)、DSA(Digital Signature Algorithm)数字签名算法、ECC(椭圆曲线密码学)等。这些算法通常用于数字签名和密钥交换,因为它们给予了更高的安全性。注意:DSA 只是一种算法,和 RSA 不同点是它不能用作加密和解密及密钥交换,只用于签名,它比 RSA 要快很多。

  • 单向加密:单向加密是一种不可逆的加密算法,它只能将明文加密成密文,而无法利用密文还原为明文。通常用于数据完整性验证和密码存储等场景。常见的单向加密算法包括:SHA(安全散列算法)、SHA-1、SHA-256 和 SHA-3、MD5(Message-Digest Algorithm 5)。

二、对称加密算法

1、基本原理

发送方将原始数据通过对称密钥加密后传输给接收方;

接收方收到密文后,运用同一个对称密钥解密,还原数据。

2、特点

  • 加密、解密使用同一个密钥,效率高;

  • 将原始数据分割成-固定大小的块-,逐个进行加密

  • 加密解密双方需要协商启用哪一种秘钥信息

3、缺点

  • 密钥过多

  • 密钥分发,无法保证获得秘钥的人都是好人。

  • 素材来源无法确认

4、常见实例及典型应用场景

算法实例典型应用场景
AES(高级加密标准)目前最主流的对称加密算法,安全性极高(密钥长度帮助 128/192/256 位),用于:
- 文件加密(如压缩包加密、本地文档加密);
- HTTPS 通信(握手后用 AES 传输实际数据,因非对称加密速度慢,仅用于密钥交换);
- 移动设备存储(如手机锁屏密码的底层加密、U 盘加密)。
DES(数据加密标准)早期经典算法(密钥长度 56 位,安全性较低,已逐渐被淘汰),曾用于:
- 早期银行系统的磁条卡加密;
- 便捷数据加密场景(如低端设备的配置文件加密),目前多被 3DES(DES 的改进版,三次加密)替代。

三、非对称加密算法

1、基本原理

接收方通过算法生成一对密钥:公钥(Public Key) 和私钥(Private Key),公钥可公开(如发布到网站、发送给通信方),私钥绝对保密;

发送方使用接收方的公钥来加密原始数据,将加密后的密文发送给接收方;

接收方使用自己的私钥来解密。

2、特点

  • 用公钥加密数据,只能使用与之配对的私钥解密

  • 用私钥加密数据,只能使用与之配对的公钥解密

  • 公钥和私钥是配对采用

3、缺点

  • 密钥长,算法麻烦

  • 加密解密效率低下

  • 基于公钥公开,所以接收方无法保证数据的来源是安全的

4、实现数字签名

发送方通过算法生成一对密钥:公钥(Public Key) 和私钥(Private Key),公钥可公开(如发布到网站、发送给通信方),私钥绝对保密;

发送方运用自己的私钥来加密原始数据,将加密后的密文发送给接收方;

接收方使用发送方的公钥来解密。

基于由发送方私钥加密的数据,只能通过该发送方的公钥解密,所以能够保证数据的来源就是该发送方。

因为发送方公钥公开的原因,发送数据的一方,加密数据在互联网上几乎是裸奔,任何人拿到加密数据都允许解密。

5、常见实例及典型应用场景

算法实例典型应用场景
RSA最经典的非对称加密算法(基于大质数分解难题),应用广泛:
- HTTPS/SSL 握手(服务器用私钥签名,客户端用公钥验证;客户端用公钥加密对称密钥,服务器用私钥解密);
- 数字签名(如软件安装包签名、电子合同签名,防止伪造);
- SSH 远程登录(密钥认证模式,客户端用私钥签名,服务器用公钥验证)。
ECC(椭圆曲线加密)比 RSA 更高效的非对称算法(相同安全性下,ECC 密钥长度仅为 RSA 的 1/4,速度更快):
- 移动支付(如支付宝、微信支付的身份验证,适配手机等资源受限设备);
- 区块链(如比特币、以太坊的地址生成和交易签名,减少信息存储和传输成本);
- 物联网设备(如智能传感器的身份认证,低功耗场景适配)。

四、单向加密算法

1、基本原理

单向加密算法即哈希算法,任意长度的输入转换为固定长度的输出(哈希值 / 摘要),不可逆,无法从哈希值反推原文,并非传统意义上的 “加密”(无解密过程)。

2、特点

  • 任意长度输入,固定长度输出

  • 雪崩效应:输入微小变化(如改一个字符),哈希值会完全不同

  • 无法从指纹中重新生成数据,即不可逆,具有单向性。

3、缺点

  • 不可逆,无法解密

  • 存在“哈希碰撞”,即不同输入生成相同哈希值

4、常见实例及典型应用场景

算法实例典型应用场景
SHA-256(安全哈希算法 256 位)目前最安全的哈希算法之一(属于 SHA-2 家族,哈希值 256 位,碰撞概率极低),用于:
- 密码存储(服务器不存明文密码,仅存密码的 SHA-256 值,登录时比对哈希值);
- 文件校验(如下载软件时,官网提供安装包的 SHA-256 值,用户下载后计算哈希值,确认是否被篡改);
- 区块链(比特币、以太坊的区块哈希,确保区块数据不可篡改,一旦修改区块内容,哈希值会完全变化)。
MD5(消息摘要算法 5)早期常用哈希算法(哈希值 32 位),因碰撞风险高(2004 年被证明可人为构造碰撞),目前仅用于非安全场景:
- 文件完整性校验(如普通文件传输后的高效比对,不涉及敏感数据);
- 数据库索引(对数据生成 MD5 值,加速查询);
- 避免重复文件(如网盘判断重复记录,计算材料 MD5 值比对)。

五、对比总结

对比维度对称加密非对称加密哈希算法
密钥使用单一对称密钥公钥(公开)+ 私钥(保密)无密钥
核心功能加密 / 解密信息加密密钥 / 数字签名生成摘要(验证完整性)
可逆性可逆(已知密钥可解密)可逆(公钥加密→私钥解密)不可逆(无法反推原文)
速度极快极慢
典型组合场景与非对称加密配合(如 HTTPS:非对称交换对称密钥,对称加密传输数据)与哈希算法配合(如数字签名:先对数据哈希,再用私钥签名哈希值)与非对称加密配合(如身份验证:哈希值 + 私钥签名,确保数据未篡改)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/926162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hackersdaddy ROUGE CTF 2025 完整解题记录

本文详细记录了在Hackersdaddy CTF 2025中解决全部13个挑战的完整过程,涵盖Web安全、OSINT、API利用、JWT伪造、GraphQL注入、SSTI、IDOR、LFR和SSRF等多种技术,展示了真实世界安全漏洞的挖掘与利用方法。Hackersdad…

学习comfyui

学习comfyuivae模块: vae 解码模块: 把latent -->image 输出可以连接为保存或者预览.VAE 节点配置与使用 模型来源 默认加载:通过 Load Checkpoint 节点加载大模型时,自动绑定其内置的 VAE。 独立加载:使用 VAE …

完整教程:uniapp 日历组件 uni-datetime-picker

完整教程:uniapp 日历组件 uni-datetime-pickerpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …

个人二级网站怎么做汽车精品设计网站建设

让手机通过电脑上网的方式有很多种,最常见的就是 WIFI 了,而且简单直接。但是有时候台式机没有 WIFI ,或者电脑的 WIFI 设备已经连接到其他的网络了,这时候手机就不能通过电脑的 WIFI 连接到网络。那么还没有有办法连接到网络呢&a…

实用指南:精读C++20设计模式:行为型设计模式:中介者模式

实用指南:精读C++20设计模式:行为型设计模式:中介者模式2025-10-03 17:55 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importan…

c 网站开发引擎wordpress 后台翻译

一 前言MySQL 5.7.8 之后 支持 JSON (由rfc7159规定)数据类型,其能在字段中使用json 类型,做到了自动校验是否为json类型数据,否则插入数据会报异常;其次,储存json数据内部做到了优化储存,能够快速读取json…

成都医院手机网站建设宁波网站推广优化外包公司

动动发财的小手,点个赞吧! 简介 作为理解、生成和处理自然语言文本的有效方法,自然语言处理(NLP)的研究近年来呈现出快速传播和广泛采用。鉴于 NLP 的快速发展,获得该领域的概述并对其进行维护是很困难的。…

查看cuda型号.

查看cuda型号.cmd打开命令行:执行命令:nvidia-smi这里展示CUDA的版本号是与当前 GPU 驱动(driver)程序兼容的 CUDA 运行时版本。这是驱动程序支持的最高 CUDA 版本,并不是系统上安装的 CUDA的版本!!!!!!!!!!!!!!!…

AI元人文系列:透明推理者——下一代大模型架构设计

AI元人文系列:透明推理者——下一代大模型架构设计 引言:从“智能工具”到“思维伙伴” 人工智能正站在新的十字路口。当前的大模型能够创作诗歌、解答难题、生成代码,却无法清晰回答一个简单却关键的问题:“你为什…

个人随笔

设计网页时,如果遇到float 一定要注意下面的元素要 clear,不然会有bug

专做电器的网站怎么开网站做站长

利用图扑三维可视化技术展示园区在不同时间段的变化,提供全景漫游体验,帮助用户全方位感受和理解园区环境,实现智能化管理与优化。

Fedora Atomic Desktops

https://docs.fedoraproject.org/en-US/emerging/ Fedora Atomic DesktopsFedora Silverblue Fedora Silverblue is an atomic desktop operating system featuring the GNOME desktop, a beautiful, high-quality des…

完整教程:【论文阅读】具身人工智能:从大型语言模型到世界模型

完整教程:【论文阅读】具身人工智能:从大型语言模型到世界模型pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "C…

Android达成RecyclerView粘性头部效果,模拟微信账单列表的月份标题平移

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

实用指南:【C语言】char * 、char [ ]、const char * 和 void *的使用以及区别

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

常德网站优化公司东莞大岭山天气预报

【我是谁】 1.学历:22届双非本科校企合作(软外,软件工程服务外包),编程课大部分是印度的NIIT老师上课,印式英语一点儿听不懂。。。所以大学全都自学的,和非科班的也没什么区别和优势&#xff0c…

PowerShell注意点

$()和${}的区别: $()表示命令替换,将括号内的命令执行后得到的输出作为值。 例如,$(ls)将会执行ls命令后得到当前目录下的文件列表作为值。 ${}表示变量替换,将大括号内的变量的值作为值。 例如,${a}将取变量a的值…

自动化脚本的自动化执行实践 - 详解

自动化脚本的自动化执行实践 - 详解2025-10-03 17:36 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !imp…

做商业网站的服务费维护费直播型网站开发

在Kotlin中,注解(Annotations)是一种用于在程序代码中添加元数据的特殊标记。它们提供了对代码的描述性信息,但本身并不会影响程序的运行。注解可以应用于类、方法、属性等程序元素上,用于提供关于这些元素的额外信息。…

m3u8转mp4软件中文版推荐与使用指南

近年来,随着在线视频的普及,m3u8格式的流媒体文件变得越来越常见。不少用户希望将m3u8文件转换为通用的mp4格式,便于本地保存、播放或分享。那么,选择一款好用的m3u8转mp4软件中文版,就成了很多小伙伴的需求。下面…