什么是加密?有哪些加密类型和加密算法?
liuian 2024-12-02 22:19 36 浏览
大家好,我是瑞哥。
今天和大家聊一聊加密类型。
在介绍加密类型之前,先介绍一下加密。
加密,在日常生活中已经渗透进方方面面,最典型的例子就是数据加密。
比如,你通过网络要给你父母转了1万块钱,在输入必要的银行卡信息后,钱顺利地转入你父母地账户,但是过一会你收到了另外一条消息,你的2万块钱转入到了另外一个账户,但是这不是你主动转的。
这就是很典型地数据未加密地情况,因为你输入银行详细信息的在线页面不安全,或者你的数据在传输时被“窃取”,归根到底都是数据没有加密惹的祸!
这个时候就能体现出数据加密地极大重要性了!不过话又说回来,只要你是通过正规渠道、正规网站进行转账,是不会轻易出现上面银行卡信息泄露地情况地,因为在数据安全这块,银行系统已经做的非常完善了。
故事讲地差不多了,你现在一定想知道:
什么是加密?
加密是如何工作的?
有多少种加密类型?
是否有可以遵循的加密标准?
如何保护自己的数据?
那么本文,瑞哥就带着大家好好了解一下加密,这位特别重要的”老朋友“。
什么是加密?
想象一下,银行转账的例子,你向你父母通过网络渠道进行赚钱,你输入相关银行卡信息以及转账金额相关的信息后,这些数据会经历网络中不同的设备、不同的系统,最后再通过一些技术手段,钱成功汇入你父母的银行账户。这一过程中,由于数据经历很多设备,所以在任何一个设备或者链路都可以截取到相关信息,那么假如数据没有被加密或者设备没有加固,这个时候黑客或者不法分子就会拿到这些数据进行犯法犯罪活动,所以银行会通过软件或者硬件来确保你共享的数据或信息的安全传输。这些过程在现代数字世界中被称为加密。
用技术术语来说,你的共享数据必须是经过编码的,编码就意味着被转换成不可读的格式,当它到达接收端时,不可读的数据再通过解码变成只有指定的接收者可读,整个编码/解码过程只能在数字“密钥”的帮助下才能实现,这种过程就是加密。
再简单一些就是:加密是对消息或信息进行编码的过程,只有经过授权的方才能访问它,而未经授权的人则无法访问。
怎么样?经过我这样一折腾,你应该知道什么是加密了吧!
大家一定很好奇,既然加密那么好使,到底从什么时候就有加密这个骚操作了呢,我查阅了大量资料,下面给大家介绍一下加密的历史!
加密的历史
早期加密形式大概出现在大约公元前 500-600 年的《圣经旧约》中,有个人叫希伯来发明了Atbash密码,这种密码很简单,只是颠倒了字母表的顺序。
后来,在公元前 487 年,斯巴达人使用一种叫做 scytale 的装置在战斗中发送秘密信息,这种设备由一条缠绕在木杆上的皮带组成,皮条上的字母在拆开包装时毫无意义,只有当收件人有正确尺寸的鱼竿时,信息才有意义。
下面一张图就是带有换位密码的战场工具:scytale
我在查阅资料的时候,还发现了我们邻居阿三的骚操作,打开眼界!在印度的《Kama Sutra》记录中,大约在 4 世纪左右,印度的男女都在练习密码学,学习密码学干嘛用呢?
用来加密男女之间的各种交流,目的是让邻居们听不懂。
我看到直接傻眼了,这。。。。。
古代的密码学,还有大约公元前 60 年,罗马的凯撒大帝发明了一种替换密码,可以将字符移动三个位置:A 变成 D,B 变成 E,依此类推,这种编码在当时已经非常厉害了,因为按照固定思维,你压根想不到A到底替换成哪个字母,更多人会认为只要倒换,这就是传说中的凯撒密码!
1854 年,英国物理学家发明了 Playfair 密码,它加密成对的字母而不是单个字母,因此更难破解。
再后来就到了近代,密码学就变得种类繁多,其主要原因都是为了战争,因为战争需要交流情报,一旦情报落入敌方手里,那么后果不堪设想,所有,加密形式也变得越来越繁杂!
1932 年:波兰密码学家马里安·雷耶夫斯基破解了Enigma 的工作原理,Enigma是一种编码机器,Enigma 机器的核心是排列成圆形的转子,上面有 26 个字母,每个转子代表一个不同的单一单字母替代密码,它们一起成为一个巨大的机械多字母替代机器。破解后,就演变出各种破解方法,所谓的破解方法就是每个破解者都有自己的一套算法,这也是早期公钥、私钥的影子。
1945 年:贝尔实验室克劳德·艾尔伍德·香农发表了一篇利用数学理论进行加密的论文,从这个时候开始,现代密码学就诞生了!
直到现在,我们常用的加密算法,比如DES、三重DES、AES隆重登场,如果说在现代密码学之前发明的密码大多数都是用于战争,那么现代密码学发明的加密算法基本上都是用于信息加密,比如政府部门信息、互联网数据信息等,当然了,军事加密也有在用加密,只不过安全难度就更高了!
- DES:由 IBM 在 1974 年创建,它一直在使用,直到 1997 年破解。
- 三重DES:为了克服 DES 的密钥长度短的问题,提出了 Triple DES,它对数据块执行 3 次 DES 操作,进而有效地增加了加密算法的密钥长度。
- AES:1997 年美国国家标准与技术研究院制定出AES,即高级加密标准,AES 是目前世界上使用最广泛的加密标准。
到这里,加密的历史就了解的差不多了,下面就隆重的介绍上面提到的加密类型。
加密类型
从大的方向来讲,加密类型主要有两种:
- 非对称加密
- 对称加密
对称加密
对称加密使用单个加密密钥来加密和解密数据。
在此过程中,授权方共享一个密钥,这种加密方式速度、低资源消耗低,能保证一定的数据安全性。
对称加密是一项古老的技术,它在单个密钥上工作,因此黑客很难捕获传输中的数据,但是,如果密钥被泄露,黑客就可以加密和解密信息。
强化记忆:对称加密,加密和解密密钥相同的,通信双方必须拥有相同的密钥才能实现安全通信。
非对称加密
非对称加密也称为公钥密码术,适用于公钥和私钥,私钥应保密以解码信息,公钥用于对信息进行编码。
非对称加密的特性就是
- 隐私性
- 合法性
- 不可否认性
与对称加密相比,这种加密技术资源使用率高。
加密小部分数据,非对称加密非常有用。
强化记忆:非对称加密使用两个密钥:一个公共的(与所有人共享)和一个私有的(只有密钥的生成者知道),公钥用于加密数据,私钥用于解密数据。
对称加密和非对称加密的区别
了解完加密类型,我们再来了解一下加密算法。
加密算法
加密算法也是跟加密类型密切相关的,也分为对称加密算法和非对称加密算法。
- 对称加密算法有RC4、AES、DES、IDEA、Blowfish、RC5、RC6、QUAD。
- 非对称加密算法有RSA非对称加密算法、ECC非对称加密算法。
由于有些加密算法离我们很远,只会在特定的情况下使用,所以下面我们着重介绍这几个算法:
- DES加密
- 三重DES加密
- RSA加密
- AES加密
DES加密
DES属于对称加密算法,是一种比较老的加密算法,1976年有IBM创立,DES算法采用 56 位加密密钥。
后来被破解了,所以2005 年,DES 被正式弃用,取而代之的是 AES 加密算法。
三重DES加密
3DES 是 DES 算法的高级版本,它也使用 56 位块密钥,三重 DES 使用三个单独的密钥,所以总密钥长度加起来为 168 位。
加密过程简单来讲就是三步:
- 加密
- 解密
- 重新加密
相对应得解密也是三步:
- 解密
- 加密
- 再次解密
RSA加密
RSA,英文全称Rivest–Shamir–Adleman,于1977年被发明,是最广泛使用的非对称加密算法。
目前使用的RSA 密钥高达2048位,由于计算能力的提高和技术的变化,预计很快就会超过4096位,这是一个多么恐怖的数字,攻击者需要花费相当多的时间和处理能力才能破解这个加密算法,但是你觉得可能吗?
与三重DES不同,RSA是一种非对称加密算法,因为它使用一对密钥,公钥用于加密消息,私钥用于解密消息。
AES加密
AES英文全称Advanced Encryption Standard,意为高级加密标准,NIST 于 2001 年批准了 AES 加密算法。
AES属于对称加密,它使用块密码并一次加密一个固定大小的块,适用于 128 位或 192 位,也扩展到 256 位密钥长度。
AES安全、快速、灵活,与 DES 相比,AES是一种更快的算法,多个密钥长度选择就是最大的优势,因为密钥越长,破解它们就越困难。
以上就是加密算法的内容,那么有人要问了,这些算法貌似只是理论,具体有什么用处呢?
下面瑞哥将介绍加密的应用:
加密应用
1、数字证书
这个相信大家都知道,数字证书又称为身份证书或公钥证书,主要就是利用各种类型的加密方法通过 Internet 验证加密数据的发送者和接收者的详细信息。
2、加密协议
做网络的大家都熟悉的IPsec协议、PPTP协议、SSTP协议等,这些协议正是利用加密的思想提高了设备与设备之间通信的安全性。
IPSEC协议通信:
PPTP协议通信:
SSTP协议通信:
3、安全证书
这个在浏览器中很常见,以我们网络技术联盟站的网站为例,当在浏览器中输入:https://www.wljslmz.cn/访问的时候,我们注意到左边有一把小锁:
点开这把锁,你会看到”连接安全“。
我们来点开这个”连接安全“看一下:
可以看出,我们的网站的安全证书是由权威机构颁布的,不是做做样子的,既然是权威机构颁布的,那么在很大程度上就能够保证网站的安全性。
这里的安全证书其实就是SSL发挥的作用,SSL就是安全套接字层,专为连接 Web 服务器而设计,现在称为传输层安全性 (TLS),可在加密和解密期间使用证书和身份验证提供数据加密、消息完整性。
通常安全证书是和HTTPS协议绑定的,HTTPS协议就是安全超文本传输协议,HTTP与SSL的结合,是HTTP的安全版本,它使用的就是非对称密钥加密,我们来看下我们的网站,也是https:
总结
数据安全是任何业务安全策略的重要组成部分,其中最重要的技术就是加密技术,本文瑞哥从加密的历史谈到加密的类型,再到加密的算法,最后介绍了加密的典型应用,可以说是非常详细了,其中每个技术点都值得大家深入推敲,在查阅了三天的基础上,又通过画图的形式给大家呈现出这篇易懂、优质的文章,希望大家能够喜欢!
如果您觉得文章写的不错,欢迎转发,您点赞、收藏就是对我创作的最大鼓励!
如果想要瑞哥写相关技术文章,也欢迎在下方评论区留言!
Bye~
- 上一篇:CTF从入门到放弃day01
- 下一篇:网络安全岗位热门面试题
相关推荐
- 赶紧收藏!编程python基础知识,本文给你全部整理好了
-
想一起学习编程Python的同学,趁我粉丝少,可以留言、私信领编程资料~Python基础入门既然学习Python,那么至少得了解下这门编程语言,知道Python代码执行过程吧。Python的历...
- 创建绩效改进计划 (PIP) 的6个步骤
-
每个经理都必须与未能达到期望的员工抗衡,也许他们的表现下降了,他们被分配了新的任务并且无法处理它们,或者他们处理了自己的任务,但他们的行为对他人造成了破坏。许多公司转向警告系统,然后在这些情况下终止。...
- PI3K/AKT信号通路全解析:核心分子、上游激活与下游效应分子
-
PI3K/AKT/mTOR(PAM)信号通路是真核细胞中高度保守的信号转导网络,作用于促进细胞存活、生长和细胞周期进程。PAM轴上生长因子向转录因子的信号传导受到与其他多条信号通路的多重交叉相互作用的...
- 互联网公司要求签PIP,裁员连N+1都没了?
-
2021年刚画上句号,令无数互联网公司从业者闻风丧胆的绩效公布时间就到了,脉脉上已然炸了锅。阿里3.25、腾讯二星、百度四挡、美团绩效C,虽然名称五花八门,实际上都代表了差绩效。拿到差绩效,非但不能晋...
- Python自动化办公应用学习笔记3—— pip工具安装
-
3.1pip工具安装最常用且最高效的Python第三方库安装方式是采用pip工具安装。pip是Python包管理工具,提供了对Python包的查找、下载、安装、卸载的功能。pip是Python官方提...
- 单片机都是相通的_单片机是串行还是并行
-
作为一个七年的从业者,单片机对于我个人而言它是一种可编程的器件,现在长见到的电子产品中几乎都有单片机的身影,它们是以单片机为核心,根据不同的功能需求,搭建不同的电路,从8位的单片机到32位的单片机,甚...
- STM32F0单片机快速入门八 聊聊 Coolie DMA
-
1.苦力DMA世上本没有路,走的人多了,便成了路。世上本没有DMA,需要搬运的数据多了,便有了DMA。大多数同学应该没有在项目中用过这个东西,因为一般情况下也真不需要这个东西。在早期的单片机中...
- 放弃51单片机,直接学习STM32开发可能会面临的问题
-
学习51单片机并非仅仅是为了学习51本身,而是通过它学习一种方法,即如何仅仅依靠Datasheet和例程来学习一种新的芯片。51单片机相对较简单,是这个过程中最容易上手的选择,而AVR单片机则更为复杂...
- STM32串口通信基本原理_stm32串口原理图
-
通信接口背景知识设备之间通信的方式一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种。并行与串行通信的区别如下表所示。串行通信的分类1、按照数据传送方向,分为:单工:数据传输只支持数据在一个...
- 单片机的程序有多大?_单片机的程序有多大内存
-
之前一直很奇怪一个问题,每次写好单片机程序之后,用烧录软件进行烧录时,能看到烧录文件也就是hex的文件大小:我用的单片机芯片是STM32F103C8T6,程序储存器(flash)只有64K。从...
- 解析STM32单片机定时器编码器模式及其应用场景
-
本文将对STM32单片机定时器编码器模式进行详细解析,包括介绍不同的编码器模式、各自的优缺点以及相同点和不同点的应用场景。通过阅读本文,读者将对STM32单片机定时器编码器模式有全面的了解。一、引言...
- 两STM32单片机串口通讯实验_两个32单片机间串口通信
-
一、实验思路连接两个STM32单片机的串口引脚,单片机A进行发送,单片机B进行接收。单片机B根据接收到单片机A的指令来点亮或熄灭板载LED灯,通过实验现象来验证是否通讯成功。二、实验器材两套STM32...
- 基于单片机的智能考勤机设计_基于51单片机的指纹考勤机
-
一、设计背景随着科技水平的不断发展,在这么一个信息化的时代,智能化信息处理已是提高效率、规范管理和客观审查的最有效途径。近几年来,国内很多公司都在加强对企业人员的管理,考勤作为企业的基础管理,是公司...
- STM32单片机详细教学(二):STM32系列单片机的介绍
-
大家好,今天给大家介绍STM32系列单片机,文章末尾附有本毕业设计的论文和源码的获取方式,可进群免费领取。前言STM32系列芯片是为要求高性能、低成本、低功耗的嵌入式应用设计的ARMCortexM...
- STM32单片机的 Hard-Fault 硬件错误问题追踪与分析
-
有过单片机开发经验的人应该都会遇到过硬件错误(Hard-Fault)的问题,对于这样的问题,有些问题比较容易查找,有些就查找起来很麻烦,甚至可能很久都找不到问题到底是出在哪里。特别是有时候出现一次,后...
- 一周热门
-
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
Python实现人事自动打卡,再也不会被批评
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
飞牛OS入门安装遇到问题,如何解决?
-
系统C盘清理:微信PC端文件清理,扩大C盘可用空间步骤
-
10款高性能NAS丨双十一必看,轻松搞定虚拟机、Docker、软路由
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)