在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3133|回复: 21

[原创] 密码学基础概念

[复制链接]
发表于 2023-2-28 08:59:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
把一段原始数据通过某种算法处理成另外一种数据(原始数据为明文,处理后的数据为密文)。明文->密文:称之为加密。密文->明文:称之为解密。
图片1.png
1
在加密过程中我们需要知道下面的这些概念:
1)明文:就是被隐藏的文字,1中的“你好”就是明文
2)算法:指隐藏原文的法则。对于加密、解密来讲,算法是非常关键。公知度高的算法都是公开的,一旦有人想要破解算法,而且能够被破解了,则所有使用这个算法的产品都面临要报废、被盗版的危机。而且很多的时候做过开发的人就知道,替换一个算法的成本很大。因此一个加密出来的数据本身可靠与否,取决于密钥,而不是算法,因为密钥的调换成本比较低。
3)密文:指对原文按照加密法处理过后生成的可公开传递的文字。1中的“bmloYW8=”就是密文
4)密钥:在加密法中起决定性因素的一种参数,它是在明文->密文或密文->明文的算法中输入的数据。可能是数字、词汇,也可能是一些字母,或者这些东西的组合。
5)对称加密:发送方和接收方使用同一个密钥去加密解密数据。优势是加解密速度快适合于对大数据进行加密,但是密钥管理困难。例如:DES、AES、SM1、SM4、SM7算法等。
6非对称加密:需要使用不同的密钥来分别完成加密和解密操作。其中一个密钥公开发布,即为公钥。另一个由用户自己秘密保存,即为私钥。发送方用对方的公钥加密数据,对方用自己的私钥解密数据。缺点在于加密解密的速度比对称密钥慢很多。例如:RSASM2
7)摘要算法:哈希算法(Hash)又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。哈希函数的主要作用不是完成数据加密与解密工作,它是用来检验数据完整性的重要技术,运算结果具有不可逆性。
对称算法
对称算法,整个加密解密过程中只使用一个密钥。所谓对称其实就是使用一把密钥加密,使用同一把密钥解密。对称加密由于加解和解密使用的是同一个密钥算法,故而在加解密的过程中速度比较快,适合于数据量比较大的加解密。
对称加密的主要有优点就是算法公开、计算量小、加密速度快、加密效率高;但是它也存在明显的缺点,缺点就是密钥协商过程中,一旦密钥泄露,别人可以获取到密钥,这样也能对密文进行解密。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一密钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。
常用的对称加密算法有:
DES3DESAESTDEABlowfishRC2RC4SM1SM4SM7RC5等。
图片2.png
图2
非对称算法
非对称加密算法中加密和解密用的不是同一个密钥,所以叫作非对称加密算法。非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对。公钥是对外发布的,所有人都看的到所有人的公钥,私钥是自己保存,每个人都只知道自己的私钥而不知道别人的。接下来我们解释一下非对称加密算法中有加密和解密、加签和验签的概念。常用的非对称加密算法有: RSAECCSM2等。
加密和解密
图片3.png
3
如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法
以图3为例,首先A发了一条信息给B“你好。这条信息A会根据B对外发布的公钥把这条信息加密了,加密之后,变成“XXXXXXX”发给B假如中间被第三者截获,由于没有B的私钥无法解密,不能知道信息的含义,也无法按正确的方式篡改。所以拿这条加密信息是没办法读取到明文信息。最后被B接受,B用自己的私钥去解密这条信息,解密成功,读取内容,执行操作。然后得知消息是A发来的,便去拿A的公钥,把操作成功(或失败)这条信息加密,发给A。同理最后A用自己的私钥解开,得知B发来的信息内容。其他人截获因为没有A的私钥所以也没有用。
签名和验签
签名验签的目的是向接收方证明发送方的身份和校验数据完整性,防止接收方得到的是第三方篡改的数据或不完整的数据。
        签名: 发送方对发送的数据用hash计算一个摘要(校验码)和原文组成一个明文的签名,再用私钥对明文签名加密 (公钥和私钥可以互相作为同一段数据加解密的密钥)。
验签: 接收方用公开的公钥解密并用相同hash算法计算摘要,对比计算摘要和接收摘要。
图片4.png
4
举例:小明给小丽发送消息,小明先计算出消息的摘要,然后使用自己的私钥加密消息摘要,被加密的消息摘要就是签名。
小丽收到消息后,也会使用和小明相同的方法提取消息摘要,然后用小明的公钥解密签名,并与自己计算出来的消息摘要进行比较(这个过程,叫做"验签")。如果相同则说明消息是小明发送给小丽的。同时,小明也无法否认自己发送消息给小丽的事实。

发表于 2023-2-28 14:09:12 | 显示全部楼层
对称加密和非对称加密哪个更安全?他们都适用于所有产品加密吗?
发表于 2023-2-28 16:43:19 | 显示全部楼层
最近正好开发个项目 ,需要此类的加密算法,大家有什么好的产品推荐吗?
 楼主| 发表于 2023-2-28 16:50:12 | 显示全部楼层
签名验签的目的是校验发送方(保存私钥)的身份是否合法。因为只有发送方有私钥,只要验签通过,即表明发送方身份是真实有效的。
发表于 2023-3-1 09:14:30 来自手机 | 显示全部楼层
这些算法的密钥如何保证安全?
头像被屏蔽
发表于 2023-3-2 09:14:12 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-3-2 09:33:10 | 显示全部楼层
楼主有推荐支持此类加密算法的产品吗?
头像被屏蔽
发表于 2023-3-2 10:41:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽
发表于 2023-3-2 10:42:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽
发表于 2023-3-2 10:44:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-28 06:37 , Processed in 0.023196 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表