首页 > 其他分享 >加解密技术原理

加解密技术原理

时间:2024-07-03 15:20:06浏览次数:1  
标签:加密 加解密 技术 解密 密钥 对称 原理 非对称 加密算法

加解密技术概览

加解密定义

加密:数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,通过这样的途径来达到保护数据不被非法人员窃取、阅读的目的。
image
解密:数据解密的过程就是对密文使用相应的算法和密钥进行解密处理,将密文解密成明文的过程
image

加密的安全取决于

  • 密钥的生成、管理、存储
  • 加密算法的安全性
  • 加解密的环境

加密的目的

通过加密可保证信息的机密性、完整性、鉴别性和不可否认性
image

对称加密算法

对称加密又称为共享密钥加密,它使用同一个密钥对数据进行加密和解密。即:发送和接收数据的双方必须使用相同的密钥
对称加密算法的加密和解密都是用 \(\color{red}{同一个密钥}\)

如图所示:客户端和服务器进行数据交互,采用对称加密算法
image
客户端与服务器事先协商好对称密钥A

优缺点

优点:
  • 加密和解密计算速度较快,效率较高
  • 占用资源空间较少
缺点:
  • 存在密钥分发、管理的问题
  • 存在源认证(身份认证)问题

常见的对称加密算法

image

非对称加密算法

非对称加密使用两个不同的密钥,公开密钥(简称公钥)和私有密钥(简称私钥)。公钥和私钥是一对,如果用公钥对数据加密,只有用对应的私钥才能解密。

  • 非堆成加密算法需要\(\color{red}{一组密钥对}\),分别是\(\color{red}{公钥}\)和\(\color{red}{私钥}\),这两个密钥成对出现。
  • 非对称加密解决了对称密钥的发布和管理问题,一个用于加密信息,另一个则用于解密信息。
  • 通常以公钥作为加密密钥,以私钥作为解密密钥
    如图所示:客户端与服务器进行数据交互,采用非对称加密算法
    image
    服务器通过明文将公钥发送给客户端,客户端使用服务器发来的公钥对数据进行加密,然后将数据发送给服务器,服务器用相对应的私钥对客户端发来数据进行解密

优缺点

优点:
  • 解决了密钥分发、管理的问题
  • 安全性较对称密钥略高
缺点:
  • 加密和解密计算速度较慢,运行效率较低
  • 占用资源空间较大
  • 存在源认证(身份认证)问题

常见的对称加密算法

image

非对称加密和对称加密结合

  • 对称加密的优点在于加密和解密的计算速度快,适合对体量较大的数据进行加密和解密;非对称加密的缺点在于加密和解密的计算速度较慢,只适合对很小的数据进行加密和解密
  • 非对称加密的优点在于可以明文将公钥发送给对方,让对方使用公钥加密,自己使用对应的私钥解密即可,解决了密钥分发,管理的问题。对称加密在分发密钥时有被第三者截获的风险。
  • 利用非对称加密算法分发管理密钥方便的优势,对称加密算法加解密计算速度的优势,我们取长补短,用非对称加密来加密对称加密的共享密钥,然后在互联网上交换对称加密的共享密钥,然后使用对称加密对数据进行加密传递完美解决问题

典型应用场景

HTTPS(Hypertext Transfer Protocol Secure)就是采用了这种方案。通过非对称加密交换对称加密密钥,然后使用对称加密算法加密业务数据
image

标签:加密,加解密,技术,解密,密钥,对称,原理,非对称,加密算法
From: https://www.cnblogs.com/hongliang888/p/18281691

相关文章

  • 技术手段和测试流程,不是一回事
    看到这样一个问题:造测试数据时,如果失败了怎么办,如何处理这种失败的情况?失败了需要停止测试活动吗?很久没看到这么有意思的问题了,毕竟测试数据是很重要的测试活动开展资料,如果缺失或者不准确,会对测试结果造成极大的影响。那么该如何理解和解决上述的问题呢? 我们先来解读一下这......
  • 信息摘要技术
    信息摘要定义信息摘要就是原数据通过某个算法生成一个固定长度的单向散列值。特点1、输出长度固定:无论输入的长度和值如何,计算得到的哈希值长度总是固定的。2、不可逆性(单向):不可能使用散列值推出原文件内容3、无碰撞性:想要找到两个不同的输入值,使它们哈希后相同是非常困难的......
  • Sora技术如何革新教育领域:预测未来教育中的降AI率应用场景
    ​Sora——这个让人在24年初引爆AI圈的新产品,它究竟会如何改变我们的教育领域呢?从gpt到Sora,从对话型的ai到游戏和短剧制作的新风口,我们从23年到24年一个接一个地被震惊!Sora能够根据文本提示生成高质量的视频内容,这打开了一个全新的创意世界。对于教育行业来说,这意味着什么呢......
  • 常见排序原理及 python 实现
    时间复杂度与空间复杂度常用O(1)或O(n)表示,其中1表示一个单位(最简单的单位,可以是多个或1个,但在时间上总体是较低且连续的),时间通常指的是程序运行时间,空间则是指程序在运行时所占用的内存空间。各个阶段的复杂度可用下面的顺序比较:O(1)<O(logn)<O(n)<O(nlogn)<O(n2).......
  • java的常用技术
    1、java集合(Iterable、List、Set、Map,JUC安全性集合)2、hashmap(原理,延申)、ConcurrentHashMap(锁:1.8是synchronized+node,1.7是segment)3、乐观锁(比较/交换)AtomicInteger是Java中的一个原子类4、悲观锁synchronized5、线程池运行状态运行过程其他......
  • 【AI落地工程技术】-LangChain框架介绍及使用步骤
    目录一、特点二、原理三、应用场景四、未来发展趋势五、简单LangChain使用步骤 安装LangChain2.配置环境3.创建提示模板(PromptTemplates)4.构建链(Chains)5.运行链并处理结果6.优化和部署7.持续监控和评估示例代码整合六、复杂LangChain使用步骤(构建一个问......
  • 深入解析:CPU寄存器的关键角色与工作原理
    在计算机组成原理中,寄存器是CPU中用于存储数据的关键单元。本文将详细介绍各种寄存器的作用和分类,帮助基础小白更好地理解计算机系统的工作原理。什么是寄存器?寄存器(Register)是CPU中用于存储数据的单元。它们在运算器和控制器中起到保存数据和指令的作用。寄存器的容量......
  • DDPM扩散概率模型数学原理推导
    DDPM正向过程定义前向过程被定义为一个从初始数据x0x_0x0​开始的马尔可夫链。而他的目标是要由......
  • ros - slam - microros - 里程计原理-速度积分
    前面两节中我们完成机器人底盘正逆解的计算,我们通过机器人的运动学逆解完成了机器人实时的角速度和线速度的测量,那我们能不能利用对线速度和角速度的积分,计算机器人当前的位置呢?答案肯定是可以的,那么本节我们就来编写代码实现机器人的里程计。  二、编写代码先修改Kinematics......
  • 【408计算机组成原理】计算机的性能指标
    计算机的性能指标计算机性能指标是评估计算机系统运行效率和处理能力的重要标准。常见的性能指标包括处理速度、存储器性能、输入/输出性能、系统吞吐量、多任务处理能力和能效比。以下是详细介绍:1.处理速度时钟频率:指CPU每秒执行的指令周期数,单位为赫兹(Hz)。时钟频率越......