当前位置: 首页 > news >正文

信息加密技术

介绍信息加密

信息加密是实现数据保密性的手段。

信息加密(Encryption)是将明文信息转换为密文信息,使之在缺少特殊信息时不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文还原为正常可读的内容。

现代的信息加密方式可以分为对称加密 和 非对称加密。

  • 对称加密:在加密和解密时,使用相同的密钥。
  • 非对称加密:在加密和解密时,使用不同的密钥。

现代的密码学算法的安全性,取决于密钥的保密性和算法的安全性,而不是算法的保密性。


技术是为了解决问题而生的,信息加密技术的作用是:对数据进行加密,将明文转换成密文,以防止未经授权的用户访问数据。

介绍对称加密

对称加密

对称加密在加密和解密时使用相同的密钥。

e6eb19e271ecce7bedf629792d7ddfc3.jpeg

对称加密算法有:RC4、DES、3DES、AES、ChaCha20 等。前三种算法(RC4、DES、3DES)目前已经被认为是不安全的加密算法,通常它们被禁止使用,目前常用的只有 AES 和 ChaCha20。

  • AES(Advanced Encryption Standard,高级加密标准):AES 的密钥长度可以是 128、192 或 256 位。它是 DES 算法的替代者。它的安全强度很高,性能也很好,而且有的硬件还会对它做特殊优化,所以 AES 非常流行,是应用最广泛的对称加密算法。
  • ChaCha20:ChaCha20 是 Google 设计的一种对称加密算法。ChaCha20 的密钥长度固定为 256 位。纯软件运行性能要超过 AES,曾经在移动客户端上比较流行,但 ARMv8 之后也加入了 AES 硬件优化,所以现在不再具有明显的优势,但仍然算得上是一种不错的对称加密算法。

对称加密的优劣局限:

  • 对称加密的加密效率较高,但是安全性较低。
  • 对称加密支持分组模式,加密明文的长度不受限,可直接用于大量数据的加密。
  • 对称加密涉及 “密钥交换” 问题:对称加密需要通信双方在通信之前先通过另一个安全的渠道交换共享的密钥。对称密钥一旦被窃,其所作的加密将即时失效。

分组模式

对称加密中有一个 “分组模式” 的概念。

由于加密明文的长度与密钥的长度在安全上具有相关性,通俗地说就是多长的密钥决定了它能加密多长的明文:

  • 如果明文太短,就需要进行填充,然后再进行加密;
  • 如果明文太长,就需要进行分组,每个分组分别进行加密。

为什么需要分组模式:加密明文的长度不固定,而一次加密只能处理特定长度的一块数据,这就需要进行迭代,以便将一段很长的数据全部加密,而迭代的方法就是分组模式。


最早的分组模式有:ECB(电子密码本)、CBC(密码分组链接)、CFB(密码反馈)、OFB(输出反馈)等,但这些分组模式都陆续被发现有安全漏洞,所以现在基本都不怎么用了。

最新的分组模式被称为 AEAD(Authenticated Encryption with Associated Data),在加密的同时增加了认证的功能,常见的是 GCM、CCM 和 Poly1305。

介绍非对称加密

非对称加密

非对称加密在加密和解密时,使用不同的密钥。非对称加密需要两个密钥,一个是 公钥(public key),一个是 私钥(private key)。

公钥可以公开,可任意向外发布;私钥不可以公开,必须由用户自行严格秘密保管,绝不透过任何途径向任何人提供,也不能透露给被信任的要通信的另一方。

公钥 和 私钥有个特别的 “单向” 性:虽然它们两个都可以用来加密 和 解密,但公钥加密后只能用私钥解密;私钥加密后只能用公钥解密。

  • 如果是想防止别人访问数据,也就是数据加密,那么使用公钥加密、私钥解密。这样,即使公钥在网上被截获,如果没有与其匹配的私钥,也无法解密。
  • 如果是想防止其他人冒充信息发送者、伪造消息,那么使用私钥加密、公钥解密。这样,只有私钥持有者才能加密数据。数字签名技术、WebAuthn 就是使用私钥加密、公钥解密。

bab7b6ae0c35d2a5dbb56c32d3f139eb.jpeg


常见的非对称加密算法有:RSA、ECC(Elliptic Curve Cryptography,椭圆曲线密码学)等。

  • RSA :RSA 的安全性基于 “整数分解” 的数学难题,它使用两个超大素数的乘积作为生成密钥的材料,想要从公钥推算出私钥是非常困难的。RSA 密钥的长度推荐使用 2048 位以上(256 字节)
  • ECC:ECC 的安全性基于 “椭圆曲线离散对数” 的数学难题,使用特定的曲线方程和基点生成公钥和私钥,ECC 的子算法 ECDHE 用于密钥交换,ECDSA 用于数字签名。

作用 & 优劣局限

技术是为了解决问题而生的,非对称加密解决了对称加密的 “密钥交换” 问题。

对称加密需要通信双方在通信之前先通过另一个安全的渠道交换共享的密钥。对称密钥一旦被窃,其所作的加密将即时失效。非对称加密就是为了解决 “密钥交换” 这个问题而设计的。非对称加密,如果使用公钥加密、私钥解密,那么即使公钥在网上被截获,如果没有与其匹配的私钥,也无法解密。


非对称加密的优劣局限。

  • 非对称加密的安全性较高,但是加密效率较低:非对称加密在在计算上相当复杂(非对称加密基于大数运算,比如大素数 或者 椭圆曲线,是复杂的数学难题),非对称加解密的性能远远不比对称加密。
  • 非对称加密的明文长度受限:非对称加密的效率较低,导致了现在的非对称加密算法都没有支持分组模式。所以主流的非对称加密算法都只能加密不超过密钥长度的数据,这就决定了非对称加密不能直接用于大量数据的加密。

组合加密

由于非对称加密的加解密效率低,不支持分组模式,不能直接用于大量数据的加密,因此,一般在实际情况下,往往通过非对称加密来随机创建临时的对称秘钥,然后通过对称加密来传输大量的主体数据。

这种由多种加密算法组合的应用形式,就被称为 “密码学套件”,非对称加密在这个场景中发挥的作用被称为 “密钥协商”。


技术是为了解决问题而生的,组合加密解决了非对称加密 和 对称加密存在的问题,组合加密结合了非对称加密 和 对称加密的优点。

  • 非对称加密存在的问题:加解密的效率低、明文长度受限,不能直接用于大量数据的加密;

  • 对称加密存在的问题:涉及 “密钥交换” 问题

  • 非对称加密的优点:安全性较高

  • 对称加密的优点:加密效率较高、支持分组模式,明文长度不受限,可直接用于大量数据的加密

参考资料

加密 - 维基百科,自由的百科全书 (wikipedia.org)

公开密钥加密 - 维基百科,自由的百科全书 (wikipedia.org)

24 | 固若金汤的根本(上):对称加密与非对称加密 (geekbang.org)

极客时间 (geekbang.org)

相关文章:

信息加密技术

介绍信息加密 信息加密是实现数据保密性的手段。 信息加密(Encryption)是将明文信息转换为密文信息,使之在缺少特殊信息时不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文还原为正常可读的内容。 现…...

RS485通信总线详解

RS485 总线详解 RS-485 是美国电子工业协会(EIA)在 1983 年批准了一个新的平衡传输标准(Balanced Transmission Standard)也称作差分,EIA 刚开始将 RS(Recommended Standard)做为标准的前缀&am…...

罗技LogitechFlow技术--惊艳的多电脑切换体验

作者:Eason_LYC 悲观者预言失败,十言九中。 乐观者创造奇迹,一次即可。 一个人的价值,在于他所拥有的。所以可以不学无术,但不能一无所有! 技术领域:WEB安全、网络攻防 关注WEB安全、网络攻防。…...

社招中级前端笔试面试题总结

HTTP世界全览 互联网上绝大部分资源都使用 HTTP 协议传输;浏览器是 HTTP 协议里的请求方,即 User Agent;服务器是 HTTP 协议里的应答方,常用的有 Apache 和 Nginx;CDN 位于浏览器和服务器之间,主要起到缓存…...

东南大学研究生上学期英语期末总结

写在前面 作者:夏日 博客地址:https://blog.csdn.net/zss192 本文为东南大学研究生英语上学期期末总结,内容为根据老师所发 PPT 总结得来 相关资料: 点我查看 题型说明 Module 1 International Conference 50% 题型范围&am…...

leaflet 删除所有的marker图层,保留其他图层(085)

第085个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet项目中清除所有的marker图层,保留其他图层,详情请参考源代码。这里面主要用到了(layer instanceof L.Marker ,注意 L.Marker中Marker首字母要大写。 直接复制下面的 vue+leaflet源代码,操作2分钟即可运行…...

双因素方差分析全流程

上篇文章讲述了“单因素方差分析全流程总结”,单因素方差分析只是考虑了一个自变量(定类)与一个因变量(定量)之间的关系,但是在实际问题研究中可能研究两个或者几个因素与因变量之间的关系,例如…...

微信公众号抽奖怎么做_分享微信抽奖小程序制作的好处

在H5游戏中,抽奖是最受消费者喜爱的模式之一。将H5微信抽奖活动结合到营销中,可以带来意想不到的效果,带流量和曝光率,所以许多企业也会在做活动时添加上不同类型的H5微信抽奖活动。编辑那么,新手怎么搭建微信抽奖活动…...

逻辑回归—分类问题的操作顺序

对于二元分类问题来说,分类的结果和数据的特征之间仍呈现相关关系,但是y的值不再是连续的,是0~1的跃迁。但是在这个过程中,什么仍然是连续的呢?”是概率,概率是逐渐升高的,当达到一个…...

查询服务器tns文件路径,oracle数据库tns配置方法详解

查询服务器tns文件路径,oracle数据库tns配置方法详解 TNS简要介绍与应用 Oracle中TNS的完整定义:transparence Network Substrate透明网络底层, 监听服务是它重要的一部分,不是全部,不要把TNS当作只是监听器。 TNS是Oracle Net…...

【数据结构】链表

目录 数据结构之链表:: SList.h 1.链表的概念及结构 2.链表的分类 SList.c 3.动态申请一个结点 4.单链表打印 5.单链表销毁 6.单链表头插 7.单链表头删 8.单链表尾插 9.单链表尾删 10.单链表查找 11.单链表在pos之前插入…...

一文讲明Hystrix熔断器

前言 解决问题: 主要防止服务器集群发生雪崩, 起到对服务器的保护作用 GitHub地址:https://github.com/Netflix/Hystrix/wiki 1 Hystrix是什么 1.1 分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不…...

第12篇:Java类核心构成要素分析

目录 1、Java类构成要素 1.1 如何定义类 1.2 如何定义变量 1.2.1 类变量 1.2.2 实例变量...

记一次 .NET 某医保平台 CPU 爆高分析

一:背景 1. 讲故事 一直在追这个系列的朋友应该能感受到,我给这个行业中无数的陌生人分析过各种dump,终于在上周有位老同学找到我,还是个大妹子,必须有求必应 😁😁😁。 妹子公司的…...

滤波算法 | 无迹卡尔曼滤波(UKF)算法及其MATLAB实现

目录简介UKF滤波滤波流程和公式MATLAB程序结论简介 本文接着分享位姿跟踪和滤波算法中用到的一些常用程序,希望为后来者减少一些基础性内容的工作时间。以往分享总结见文章:位姿跟踪 | 相关内容目录和链接总结(不断更新中~~~) 本…...

JAVA开发(运行JAR包怎么指定虚拟机内存大小)

我们都使用过 java -jar xxx.jar包去运行jar包。但是有时候要指定jar包运行时内存,该怎么做,而且设置多大怎么衡量,很多人从来没有了解过。 背景: 我们开发java程序,可能涉及到开发环境,测试环境&#x…...

领导力的终极奥义

过去,我曾多次演讲、著书,把自己在长达半个世纪的经营实践中所体悟到的经营思想和方法告诉中国的企业家。 但是,对于任何一家企业来说,不管它倡导了多么高尚的经营哲学,不管它构建了多么精致的管理系统,这样…...

1-MATLAB APP Design-图像的输入与输出

一、APP 界面设计展示 新建一个空白的APP,在此次的学习中,我们会用到编辑字段(文本框)、 按钮、坐标区和面板,首先在界面中拖入一个编辑字段(文本框),在文本框中输入内容:图形的输入与输出,调整背景颜色,字体的颜色为黑色,字体的大小调为25....

【C++】内存管理

目录一、C/C内存分布二、C内存管理方式2.1、new/delete操作内置类型2.2、new和delete操作自定义类型三、operator new与operator delete函数3.1、operator new与operator delete函数四、new和delete的实现原理4.1、内置类型4.2、自定义类型五、定位new表达式(placement-new)六、…...

Dilworth定理

偏序关系 设RRR是集合AAA的一个二元关系,若RRR满足: 1.自反性:∀x∈A\forall x \in A∀x∈A,有xRxxRxxRx 2.反对称性:∀x,y∈A\forall x,y \in A∀x,y∈A,若xRy,yRxxRy,yRxxRy,yRx,则xyxyxy 3.传递性&…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用(Math::max) 2 函数接口…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译: ### 胃肠道癌症的发病率呈上升趋势,且有年轻化倾向(Bray等人,2018&#x…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候,显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...

ubuntu中安装conda的后遗症

缘由: 在编译rk3588的sdk时,遇到编译buildroot失败,提示如下: 提示缺失expect,但是实测相关工具是在的,如下显示: 然后查找借助各个ai工具,重新安装相关的工具,依然无解。 解决&am…...

LeetCode 0386.字典序排数:细心总结条件

【LetMeFly】386.字典序排数:细心总结条件 力扣题目链接:https://leetcode.cn/problems/lexicographical-numbers/ 给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。 你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。…...