打印
[资料分享]

密码学基础概念

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


使用特权

评论回复
评论
TT210713 2023-2-28 16:23 回复TA
@POTS1 :其实他俩安全性都不如算法移植的,虽然开发起来费劲点,但安全性高 
POTS1 2023-2-28 14:54 回复TA
对称加密和非对称加密哪个更安全?他们都适用于所有产品加密吗? 

相关帖子

沙发
LITY2016| | 2023-2-28 16:43 | 只看该作者
最近正好开发个项目 ,需要此类的加密算法,大家有什么好的产品推荐吗?

使用特权

评论回复
板凳
TT210713|  楼主 | 2023-2-28 16:50 | 只看该作者
签名验签的目的是校验发送方(保存私钥)的身份是否合法。因为只有发送方有私钥,只要验签通过,即表明发送方身份是真实有效的。

使用特权

评论回复
地板
xuanzhuandemuou| | 2023-3-1 09:15 | 只看该作者
这些算法的密钥如何保证安全?

使用特权

评论回复
5
李阿淇33| | 2023-3-2 09:14 | 只看该作者
现在大多数都是采用对称算法和非对称算法组合使用,使用非对称算法加密对称算法密钥传输,后续交互中的加密使用的是对称密钥,避免加密解密速度太慢

使用特权

评论回复
6
suibianqiming| | 2023-3-2 09:35 | 只看该作者
楼主有推荐支持此类加密算法的产品吗?

使用特权

评论回复
7
pinbo2008| | 2023-3-2 10:42 | 只看该作者
听说凌科芯安有一款LKT4305GM应该是用的此类算法,你可以咨询一下他们家的客服。

使用特权

评论回复
8
pinbo2008| | 2023-3-2 10:44 | 只看该作者
听说凌科芯安有一款LKT4305GM应该是用的此类算法,你可以咨询一下他们家的客服。

使用特权

评论回复
9
yuzuixue123| | 2023-3-2 14:41 | 只看该作者
LKT4305GM貌似支持RSA、ECC也可以算法移植,我们一直在用

使用特权

评论回复
10
xuanzhuandemuou| | 2023-3-3 09:35 | 只看该作者
加密算法在什么场合可以用,只能数据加解密,能否用于身份验证,或者防复制防盗版领域呢?

使用特权

评论回复
11
Tomorrowtoday| | 2023-3-3 10:09 | 只看该作者
刚接触一个项目要用加密和签名,刚好对这块不是很清楚,这个文档普及的太及时了

使用特权

评论回复
12
Nic浩| | 2023-3-3 13:58 | 只看该作者
文章中提到了非对称加密算法,看起来这个算法强度复杂,那么,其安全性如何呢?

使用特权

评论回复
13
POTS1| | 2023-3-3 16:37 | 只看该作者
我感觉是不是非对称算法安全系数高一些啊?

使用特权

评论回复
14
Nic浩| | 2023-3-3 17:10 | 只看该作者
有没有文中介绍的算法全支持的芯片呢?

使用特权

评论回复
15
LITY2016| | 2023-3-6 08:53 | 只看该作者
那说的简单,自己做算法是不是很麻烦啊,就跟楼上说似的有集成这些算法的芯片吗,最好性价比高点的,能找到售后的那种。

使用特权

评论回复
16
yuzuixue123| | 2023-3-6 15:26 | 只看该作者
找凌科芯安的加密芯片,好用

使用特权

评论回复
17
pinbo2008| | 2023-3-6 15:41 | 只看该作者
对称算法的我倒是不太清楚,之前我们开发一个项目要SM2跟SM3算法,用的凌科的4305芯片,售后挺好的开发也挺方便,楼上的兄弟可以问问。

使用特权

评论回复
18
李阿淇33| | 2023-3-7 09:23 | 只看该作者
安全性系数如何还取决于选择一款高端的智能卡芯片作为硬件载体

使用特权

评论回复
19
suibianqiming| | 2023-3-7 11:28 | 只看该作者
我这边想用一颗性价比高的加密芯片,楼上说的凌科芯安他家的芯片贵不贵,主要是预算有限,有联系方式没有,我想咨询一下,主要百度太多打广告的有点不可信

使用特权

评论回复
20
Tomorrowtoday| | 2023-3-7 11:35 | 只看该作者
百度上搜凌科芯安,直接进入他们官网,有在线客服

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

173

帖子

0

粉丝