加密解密你了解多少?

这个题目一写出来,笔者自己也思考了下自己在以前职业生涯中涉及到的加密解密技术,也思考了自己熟知的公知度高的几种加密方式。
下面我来说说一些理解上的东西。
加密解密中间参与的是一个算法,有这个算法规律你才可以将简单的语言或者数据转换成只有了解此算法的人才能看懂才能知道其本身含义的语言或者是数据,你做的这部分工作其实就是在加密,别人理解的过程就是解密。

定义:把一段原始数据通过某种算法处理成另外一种数据(原始数据为明文,处理后的数据为密文)。明文->密文:称之为加密。密文->明文:称之为解密。
从图中可以了解到对于加密、解密来讲算法是非常关键。但是公知度高的算法都是公开的,一旦有人想要破解这个算法,而且能够被破解了,则所有使用这个算法的产品都面临要报废、被盗版的危机。而且很多的时候做过开发的人就知道,替换一个算法的成本很大。因此一个加密出来的数据本身可靠与否,取决于密钥,而不是算法,因为密钥的调换成本比较低。
那么问题来了,什么是密钥呢?
密钥是一种参数,它是在明文->密文或密文->明文的算法中输入的数据。分为对称密钥,非对称密钥。
顾名思义,对称加密又称为私钥加密,发送方和接收方使用同一个密钥区加密解密数据。优势是加解密速度快适合于对大数据进行加密。但是密钥管理困难。
非对称加密:又称公钥加密。需要使用不同的密钥来分别完成加密和解密操作。其中一个密钥公开发布,即为公钥。另一个由用户自己秘密保存,即为私钥。发送方用对方的公钥加密数据,对方用自己的私钥解密数据。缺点在于加密解密的速度比对称密钥慢很多。
关于算法这块现在也就上面提到的对称和非对称两类。在此简单阐述下。对称算法,即单向加密算法。
对称算法:

对称算法的缺点其实是很明显的,因为其加密解密使用的都是相同的密钥,那么在整个过程中密钥存储的安全性这块就需要好好考量方案。优点前面也说过了,在此不累述。
非对称算法:

从图中可以看到加密和解密用到的不是同一个密钥,发送方使用接收方的公钥进行加密,接收方使用与之配合的私钥进行解密,整个传送过程中,加密后的数据只用接收方自己可以解密,因为只有他自己拥有私钥。
相对来说非对称算法比较安全,但是在实际使用中总归是要考虑很多的情况,权衡所有的条件。因为归根结底没有哪种算法是绝对安全绝对完美的,所以读者可以在自己的产品保密方案中涉及到几种算法。
举个简单的例子:你可以把要传递给接收方的线路加密对称秘钥,用对非称算法加密以密文的方式传递给接收方,用公钥/私钥加密,相对应的就是私钥/公钥解密。线路数据加密可以使用对称算法加密数据。
把对称算法和非对称算法糅合到一起,可以保证数据的机密性,来源的合法性。但是数据本身的完整性又该如何解决?若是有非法截取,然后乱修改一通,破坏数据的完整性接收方又该如何判断呢?
此问题的提出就涉及到了另外一种加密算法,即单项加密算法。准确来说,单向加密算法并不是一种加密技术,而是通过提取数据特征码,来验证数据的完整性。在单项算法的设计上需要考虑的两个因素:雪崩现象和定长特征。雪崩现象:任何微小的变动都可以导致结果发生巨大的变化。定长特征:不论数据本身多长,提取的特征码的长度都是固定的。
上面提到的这三种算法如果读者在设计思路中有考虑并糅合在实际中使用。最终保证数据的完整性,可靠性,机密性以及来源的合法性。希望这篇整理能对于读者在理解算法的概念上有些帮助!

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

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

相关文章

【YashanDB知识库】IMP跨网络导入慢问题

问题现象 问题单:imp性能慢-通过异机导入性能下降太多-镜像环境可重现 现象: 同样一份数据290M, 在同一个机器本地导入,耗时2分钟多,本机用ip连接导入耗时4分钟多, 跨机器导入,耗时17分钟多,客户现场耗时30分钟多。 问题风险及影响 客户导入慢 问题影响的版本 客户测试…

神经网络之卷积篇:详解计算机视觉(Computer vision)

详解计算机视觉 计算机视觉是一个飞速发展的一个领域,这多亏了深度学习。深度学习与计算机视觉可以帮助汽车,查明周围的行人和汽车,并帮助汽车避开它们。还使得人脸识别技术变得更加效率和精准,即将能够体验到或早已体验过仅仅通过刷脸就能解锁手机或者门锁。当解锁了手机,…

Typora图片即时上传

Typora图片即时上传声明:以下转载自:博客园markdown上传文件及图片 - jaysonteng - 博客园 (cnblogs.com) 使用Typora写博客,图片即时上传,无需第三方图床-EasyBlogImageForTypora - xhznl - 博客园 (cnblogs.com)感谢此文所引用的文章的作者提供的优质学习资源,如有侵犯,…

封装Vue 的 SVG 组件

svg静态资源 在assets下新建一个 svg 文件夹,用于存放svg图片svgIcon组件 在components 下新建一个文件夹,包含两个文件index.ts和SvgIcon.vuevue.config.jsmain.ts 需要引入组件svgIcon使用 **.vue <svg-icon iconClass="invite" className="icon icon-in…

海康ID2013扫码枪调试笔记

1, 将电脑IP设置为自动获取 2, 修改IP3, 点击刷新, 连接扫码枪 4, 自动工作模式设置 5, 图像配置 6, 算法配置 7,输入输出 8,

面向对象,类和对象之间的关系day05

1、面向对象和面向过程的关系以及区别? 面向过程编程:开发程序的过程中,其中每一步功能的实现都是我们自己参与的,我们相当于参与者,代表语言:C语言 面向对象编程:不断地创建对象,指挥对象做事情,我们从参与者变成了指挥者,代表语言:Java2、生活中的举例:1)下课了…

【YashanDB知识库】账号被锁,如何分析具体原因

问题现象 客户刚开始使用YashanDB的时候,经常收到客户反馈账号被锁,但是不知道哪里触发了。 问题的风险及影响 客户环境为测试环境,影响测试业务的开展。 问题影响的版本 YashanDB版本:23.1.3.101 问题发生原因 账号被锁一般有下面原因: ● 密码尝试次数过多: 用户在短时…

一文带你了解CAP的全部特性,你学会了吗?

目录前言消息发布携带消息头设置消息前缀原生支持的延迟消息并行发布消息事务消息事务消息发送事务消息消费事务补偿消息处理序列化过滤器消息重试多线程处理自动恢复/重连分布式存储锁消息版本隔离优化的雪花算法消息自动清理消费者特性Attribute 订阅多Attribute 订阅通配符订…

[HTTP] HTTP协议之MIME类型(多媒体资源类型)

1 概述 MIME 的定义、由来MIME(Multipurpose Internet Mail Extensions) 多用途互联网邮件扩展类型。 MIME 是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以…

Splunk Enterprise 9.3 发布,新增功能概览

Splunk Enterprise 9.3 发布,新增功能概览Splunk Enterprise 9.3.0 (macOS, Linux, Windows) - 机器数据管理和分析 Splunk Enterprise 9.3 于 2024 年 7 月发布。新增功能新功能、增强或更改 描述对 Ingest Actions file system 目标的官方支持 将数据路由到 NFS 或本地文件系…

使用finallshell连接linux

用户可以去FinalShell的官网上下载,只需点击下载地址,即可轻松下载安装包。 傻瓜式安装点击到底。 使用 双击打开页面,新建连接右击连接,新建》ssh 连接,双击新建的连接,如下界面即连接成功。新建文件夹,右键新建文件夹。新建文件,在文件夹右键新建文件。 命令在命令区…

MQTT原理及案例

MQTT 协议是当今世界上最受欢迎的物联网协议,没有之一。MQTT 协议为设备提供了稳定、可靠、简单易用的通信基础,截至目前通过 MQTT 协议连接的设备已经过亿,广泛应用于 IoT、M2M 等领域。本篇将从最基础的知识开始,向您讲解 MQTT 协议的原理与应用。 目前 MQTT 主流版本有 …