数据加密技术——对称加密和非对称加密

news2025/3/10 21:23:05

一、数据加密技术

        加密是指对数据进行编码变换,使其看起来毫无意义,但同时却仍可以保持其可恢复的形式的过程。在这个过程中,被变换的数据称为明文,它可以是一段有意义的文字或者数据,变换后的数据称为密文。加密机制有助于保护信息的机密性和完整性,有助于识别信息的来源,它是最广泛使用的安全机制。

        传统加密算法主要包括代换加密和置换加密两种。代换加密的方法是,首先构造一个或多个密文字母表,然后用密文字母表中的字母或字母组来代替明文字母或字母组,各字母或字母组的相对位置不变,但其本身改变了;置换加密将明文中的字母重新排列,字母本身不变,但其位置改变了。传统加密算法具有设计简单的特点,曾经得到大量使用。但它们的一个主要弱点是,算法和密钥密切相关。攻击者可以根据字母的统计和语言学知识,相对容易破译密文,尤其是在计算机技术高度发展的今天,可以充分利用计算机进行密文分析。

        从 20 世纪 60 年代开始,随着电子技术、计算机技术的迅速发展,以及结构代数、可计算性和计算复杂性理论等学科的研究,密码学又进入了一个新的发展时期。在 20 世纪 70 年代后期,对称加密算法和非对称加密算法的出现,成为了现代密码学发展史中的两个重要里程碑。

二、对称加密

        对称加密算法也称为私钥加密算法,是指加密密钥和解密密钥相同,或者虽然不同,但从其中的任意一个可以很容易地推导出另一个。其优点是具有很高的保密强度,但密钥的传输需要经过安全可靠的途径。对称加密算法有两种基本类型,分别是分组密码和序列密码。分组密码是在明文分组和密文分组上进行运算,序列密码是对明文和密文数据流按位或字节进行运算。

        对称加密是一种使用相同密钥进行加密和解密的加密技术。在对称加密过程中,加密和解密所使用的密钥是相同的,如下图所示。

对称加密的基本步骤

  1. 明文数据(原始数据):需要进行加密的数据。

  2. 密钥生成:选择一个安全的密钥,长度通常为128位、192位或256位等。

  3. 加密算法:将明文数据和密钥作为输入,通过特定的加密算法生成密文数据(加密后的数据)。

  4. 密文数据传输:通过网络或其他渠道安全地传输密文数据。

  5. 解密算法:接收方使用相同的密钥和相同的加密算法对密文数据进行解密。

  6. 解密:解密算法将密文数据和密钥作为输入,并还原出原始的明文数据。

对称加密的优点

  • 效率高:对称加密的加解密速度快,适用于大量数据的加密和解密。
  • 实现简单:对称加密算法通常比非对称加密算法更容易实现和部署。
  • 适用性广泛:对称加密可以用于保护数据的机密性和隐私性。

对称加密的缺点

  • 密钥分发和管理:发送方和接收方需要事先共享相同的密钥,且密钥的安全性和保密性非常重要。
  • 安全性限制:对称加密算法的安全性依赖于密钥的安全性,如果密钥泄露,可能会导致数据的机密性被破坏。
  • 双方通信:对称加密适用于两个相互信任的通信方,但如果需要实现多方通信,密钥的分发和管理将变得更加困难。

对称加密的适用场景:

  1. 数据传输保密性:对称加密可用于保护敏感数据在网络传输过程中的机密性。例如,当通过互联网或内部网络传输敏感数据时,对称加密可确保只有授权用户能够解密和读取数据。

  2. 存储介质加密:对称加密可用于保护存储介质上的数据。例如,硬盘或移动存储设备上的数据可以使用对称加密算法进行加密,以免遭到未经授权的访问和泄露。

  3. 数据库加密:对称加密可用于数据库中的敏感数据的加密。这样做可以保护数据库中的数据,即使数据库被非法访问或备份文件被窃取,敏感数据也不会暴露。

  4. 身份验证和权限控制:对称加密可用于身份验证和权限控制的场景。例如,在登录过程中,可以使用对称加密算法来加密和验证用户提供的凭据信息,确保只有合法用户能够进行访问。

  5. 文件加密:对称加密可用于加密单个文件或文档。这对于需要在本地计算机上保护某些文件或文档的机密性非常有用,确保只有授权用户能够解密和访问这些文件。

因其加密效率较高,适合对数据量较大的信息进行加密。

对称加密的常见算法

  1. DES(Data Encryption Standard):是一种广泛使用的对称加密算法,具有56位密钥长度。它已经被AES所取代,但在某些遗留系统中仍在使用。

  2. 3DES(Triple Data Encryption Standard):使用三个独立的DES操作来加密数据,提供更高的安全性。它的密钥长度可以为56位或168位。

  3. AES(Advanced Encryption Standard):是一种高级加密标准,目前被广泛认可和采用。它支持128位、192位和256位密钥长度,提供更高的安全性和性能。

  4. RC4(Rivest Cipher 4):是一种流密码,被广泛用于加密通信和保护数据的机密性。然而,由于某些安全性弱点,现在已经不推荐使用。

  5. Blowfish:是一种快速且高度安全的对称加密算法,可适用于各种应用场景。它支持可变长度密钥,最长可达到448位。

  6. IDEA(International Data Encryption Algorithm):是一种块密码算法,常用于加密通信。它使用128位密钥,并以64位为单位处理数据。

扩展

3DES加解密的简略过程:

3DES(三重DES):两个56位的密钥K1、K2
                                加密: K1加密 -> K2解密 -> K1加密
                                解密: K1解密 -> K2加密 -> K1解密

三、非对称加密

        非对称加密(Asymmetric Encryption)是一种加密算法,使用两个不同但相关联的密钥进行加密和解密操作。这两个密钥被称为公钥(Public Key)和私钥(Private Key)。

        公钥是可以公开分享的密钥,用于加密数据或验证数字签名。私钥是保密的,并且只有密钥的所有者可以使用它来解密数据或生成数字签名。

        非对称加密算法的工作原理基于数学上的难题,例如大数分解、离散对数等。这些问题被认为在计算上是耗费巨大的,因此使得破解密钥变得非常困难。

        非对称加密算法也称为公钥加密算法,是指加密密钥和解密密钥完全不同,其中一个为公钥,另一个为私钥,并且不可能从任何一个推导出另一个。它的优点在于可以适应开放性的使用环境,可以实现数字签名与验证,其加解密过程如下图所示。

过程解释:

  1. 密钥生成阶段:

    • 接收方生成一对密钥:公钥和私钥。
    • 公钥可以公开给其他人使用,私钥必须保密。
  2. 加密阶段:

    • 发送方使用接收方的公钥对要传输的数据进行加密。
    • 发送方只能使用公钥进行加密,无法解密被加密的数据。
  3. 传输阶段:

    • 加密后的数据通过不安全的通道传输给接收方。
  4. 解密阶段:

    • 接收方使用自己的私钥对加密的数据进行解密。
    • 只有接收方拥有私钥,可以解密被加密的数据。

非对称加解密的使用场景:

  1. 安全通信:非对称加密可用于保护敏感信息在不安全的网络上的传输。发送方使用接收方的公钥加密数据,而只有接收方持有私钥才能解密数据。这样可以确保数据在传输过程中的机密性和完整性。

  2. 数字签名:非对称加密可用于生成和验证数字签名,以确保数据的完整性和身份验证。发送方使用自己的私钥对数据进行签名,接收方使用发送方的公钥验证签名的真实性。

  3. 密钥交换:非对称加密可用于安全地交换对称密钥。发送方使用接收方的公钥加密对称密钥,接收方使用自己的私钥解密对称密钥。之后,发送方和接收方可以使用对称密钥进行加密和解密数据,以提高效率。

  4. 身份验证:非对称加密可用于用户身份验证。用户可以通过生成一个密钥对,并将公钥存储在服务器上。当用户进行登录时,服务器使用用户的公钥加密一个随机挑战,用户使用私钥解密挑战并发送回服务器,以证明其拥有相应的私钥。

  5. 安全协议:非对称加密被广泛应用于安全协议,如SSL/TLS协议用于加密网站的传输层通信,SSH协议用于安全远程登录和文件传输,以及PGP(Pretty Good Privacy)协议用于电子邮件和文件加密等。

非对称加解密的优点:

  1. 安全性:非对称加密算法提供了更高的安全性。与对称加密算法不同,非对称加密使用一对相关联的密钥,即公钥和私钥。公钥用于加密数据,而私钥用于解密数据或生成数字签名。私钥保持机密,只有密钥的所有者可以解密数据或生成数字签名,从而保护了数据的机密性。

  2. 密钥交换:非对称加密算法可用于安全地交换对称密钥。在对称加密中,如果要在不安全的通信渠道上传输对称密钥,存在密钥泄露的风险。而非对称加密算法通过使用对方的公钥来加密对称密钥,可以安全地将对称密钥传输给通信方,从而避免了这个风险。

  3. 灵活性:非对称加密算法在密钥管理和分发方面更加灵活。由于公钥可以公开分享,使得密钥的分发更加便捷,适用于多方通信和复杂的网络环境。

非对称加解密的缺点:

  1. 计算复杂性:相比对称加解密算法,非对称加解密算法的计算复杂性更高。由于使用了大数运算和复杂的数学算法,非对称加解密需要更多的计算资源和时间。

  2. 处理速度较慢:由于计算复杂性的增加,非对称加解密的处理速度较慢。相对于对称加解密算法,在相同的硬件环境下,非对称加解密需要更长的时间来完成加解密操作。

  3. 密钥长度较长:为了保证足够的安全性,非对称加解密所使用的密钥长度通常较长。长密钥长度会增加密钥的存储和传输的开销,对于资源受限的设备或网络通信中可能带来不便。

  4. 密钥管理困难:非对称加解密需要管理和保护两个相关联的密钥,即公钥和私钥。对于大规模应用或者复杂的网络环境,密钥的生成、分发、存储和撤销等管理过程相对较为复杂。

  5. 安全性依赖私钥保护:非对称加解密的安全性依赖于私钥的保护。如果私钥被泄露、遗失或者被破解,将会对系统的安全性产生重大威胁。

常见的非对称加密算法:

  1. RSA(Rivest-Shamir-Adleman):RSA是最常用的非对称加密算法之一。它基于大数分解的困难性问题,使用公钥和私钥进行加密和解密操作。

  2. Diffie-Hellman 密钥交换:Diffie-Hellman密钥交换算法用于在不安全的通信渠道上安全地交换对称密钥。它允许两个实体在不共享密钥的情况下协商出一个共享的密钥。

  3. Elliptic Curve Cryptography(ECC):ECC是一种基于椭圆曲线理论的非对称加密算法。相对于传统的非对称加密算法,ECC可以提供相同的安全性,但使用更短的密钥长度,因此在资源受限的设备上更加高效。

  4. DSA(Digital Signature Algorithm):DSA是一种用于数字签名的非对称加密算法。它主要用于身份验证、数据完整性保护和防止抵赖。

  5. ECDSA(Elliptic Curve Digital Signature Algorithm):ECDSA是基于椭圆曲线的数字签名算法,与RSA和DSA相比,具有更短的密钥长度和更高的计算效率。

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

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

相关文章

学习笔记|认识数码管|控制原理|数码管实现0-9的显示|段码跟位码|STC32G单片机视频开发教程(冲哥)|第九集:数码管静态显示

文章目录 1.认识数码管2.控制原理十进制转换为任意进制其它进制转十进制 3.数码管实现0-9的显示1.用数组定义0-9的内码段码跟位码的区别2.尝试用延时实现0-9的循环显示3.用按键控制数字的加或者减。 总结课后练习: 1.认识数码管 数码管按段数可分为七段数码管和八段…

C#与西门子PLC1500的ModbusTcp服务器通信4--搭建ModbusTcp客户端

1、客户端选择 客户端可以是一个程序或一个设备,这里我以C#WINFORM程序来实现客户机与PLC的Modbustcp服务器通信,开发环境是VS2019,.NET Framework版本是4.7.2 2、创建winform程序 3、引入Nmodbus协议 4、界面布局如下: 布局中…

无涯教程-PHP - Filtered反序列化

PHP 7引入了Filtered unserialize()函数&#xff0c;以在对不受信任的数据上的对象进行反序列化时提供更好的安全性。 <?phpclass MyClass1 { public $obj1prop; }class MyClass2 {public $obj2prop;}$obj1new MyClass1();$obj1->obj1prop1;$obj2new MyClass2();$obj…

java 版本企业招标投标管理系统源码+功能描述+tbms+及时准确+全程电子化 tbms

​ 功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查…

Java串口开发

网上搜索了关于java串口开发的资料,发现都不是特别的全,故写下一些心得以帮助其他人能快速上手java串口开发,如有错漏之处&#xff0c;敬请指正 串口开发会用到一个javax.comm和RXTXcomm库,&#xff0c;javax.comm库不支持64位操作系统。该库仅适用于32位操作系统,所以接下来主…

SAP S/4 BP(Business Partner)之一次性客商设置

目录 前言 一、一次性客商是什么&#xff1f; 二、BP创建步骤 1.开始步骤 总结 前言 在ECC里的一次性客商跟在S/4有一些区别&#xff0c;本文主要介绍在S/4里创建一次性BP的步骤。 一、一次性客商是什么&#xff1f; 一次性供应商是指我们通常不经常从其采购材料的供应商…

课程实录 | Ingress Controller 的工作原理(下)

原文作者&#xff1a;陶辉 - 杭州智链达数据有限公司&#xff0c;联合创始人兼 CTO 原文链接&#xff1a;课程实录 | Ingress Controller 的工作原理&#xff08;下&#xff09; 转载来源&#xff1a;NGINX 开源社区 NGINX 唯一中文官方社区 &#xff0c;尽在 nginx.org.cn 编者…

Android Lottie加载gson文件动画

一&#xff1a;Lottie的使用 在你工程的build.gradle文件里添加如下配置 implementation com.airbnb.android:lottie:3.4.0二&#xff1a;布局文件直接引入LottieAnimationView <com.airbnb.lottie.LottieAnimationViewandroid:id"id/lottie_view"android:layout…

axios 介绍

axios 介绍 axios 是一款基于 javascript xhr 进行封装的插件&#xff0c;自己通过 xhr 进行编写 ajax 请求&#xff0c;实现起来逻辑比较复杂&#xff0c;axios 封装后将复杂的逻辑写在插件的内部&#xff0c;我们用户只需要关心如何调用即可。对我们的开发带来了很大的便捷。…

在App备案的规则下,开发者的技术选型更加重要了

网站 ICP 备案已施行了很久&#xff0c;我们也非常清楚必须在进行 ICP 备案后&#xff0c;网站才能在大陆范围合法运营&#xff0c;并且用户可以通过域名正常访问网站。 但是月初出了新规&#xff0c;明年起&#xff0c;国内的 App 也要像网站一样进行备案了。想必大家也是早已…

HTTPS证书如何申请?只需这五个步骤

在如今的互联网时代&#xff0c;网络安全变得愈发重要。为了保障网站内数据的安全&#xff0c;许多网站都开始使用HTTPS协议来进行数据传输。而谷歌、百度等搜索巨擘启用全站HTTPS加密服务&#xff0c;更是掀起了网站HTTPS加密的浪潮。那么申请HTTPS证书都需要什么&#xff1f;…

Typora mac版本安装

提示&#xff1a;文章介绍&#xff0c;Typora在Mac系统中免费安装使用 文章目录 一、官网下载二、安装 一、官网下载 官网地址&#xff1a;https://www.typoraio.cn/ 二、安装 安装好后按 command 空格键&#xff0c;找到 Typora的安装路径 /Applications/Typora.app/Con…

信创、工业软件国产化:全面解析三大实时操作系统

信创与国产工业操作系统可以擦出什么火花。 信创技术的快速发展&#xff0c;为国产工业操作系统的研发和应用提供了广阔的空间。 工业操作系统作为工业制造的大脑和神经&#xff0c;工业软件已渗透和应用到工业领域几乎所有核心环节。工业操作系统是智能制造的核心&#xff0c;…

Vue3.2中使用swiper实现层叠式轮播图

介绍 在 vue3 中使用 swiper 实现缩略图的轮播图效果&#xff0c;具体如下图所示&#xff1a; 代码 <template><div classindex><div class"banner-box"><swiper:autoplay"state.autoplay":loop"state.loop":speed&q…

2023 Android 折叠屏适配详解,是时候点亮新技能了

自 2019 年三星发布了第一台&#xff08;柔宇不算&#xff09; Galaxy Z Fold 之后&#xff0c;Android 厂商们都陆续跟进了各自的可折叠方案&#xff0c;之后折叠屏手机市场一直保持快速增长&#xff0c;例如 2023 年上半年整体销量 227 万台&#xff0c;同比增长 102.0%。 虽…

某支付巨头:提升安全内生“数智”能力,筑牢应用安全长城

某企业是支付领域巨头&#xff0c;处于行业核心地位&#xff0c;推动了中国支付产业的智能化和数字化转型。该企业提供相关专业化服务和金融科技服务&#xff0c;共建开放生态&#xff0c;打造数字网络&#xff0c;服务全球支付。 构建金融操作系统 推动中国金融数字化发展 …

爬虫:绕过5秒盾Cloudflare和DDoS-GUARD

本文章仅供技术研究参考&#xff0c;勿做它用&#xff01; 5秒盾的特点 <title>Just a moment...</title> 返回的页面中不是目标数据&#xff0c;而是包含上面的代码&#xff1a;Just a moment... 或者第一次打开网页的时候&#xff1a; 这几个特征就是被Cloud…

2023年7月天猫糕点市场数据分析(天猫数据怎么看)

烘焙食品行业是近几年食品领域比较火热的赛道之一&#xff0c;随着居民饮食结构的变化&#xff0c;人均消费水平的上升&#xff0c;蛋糕、面包等烘焙糕点越发成为消费者饮食的重要组成部分。同时&#xff0c;在烘焙糕点市场中&#xff0c;老品牌不断推新迭变&#xff0c;新品牌…

线性代数的学习和整理11: 子式与余子式

目录 1 原始矩阵A 2 子式&#xff08;都是行列式&#xff09; 2.1 k阶子式 2.2 k阶主子式 2.3 k阶顺序主子式 3 余子式 3.1 余子式 3.2 代数余子式 3.3 余子式作用是&#xff1f; 1 原始矩阵A 下面设计一个原始矩阵A&#xff0c;故意设计为A34, 行数≠列数 $$ \lef…

【车载开发系列】UDS当中的时间参数

【车载开发系列】UDS当中的时间参数 UDS当中的时间参数 【车载开发系列】UDS当中的时间参数一. 术语定义二. 网络层时间调整参数三. ECU诊断层与会话层参数 一. 术语定义 缩写全称中文说明BSBlock Size块大小STminSeparation time min时间间隙SIService Identifier服务标识符S…