新闻  |   论坛  |   博客  |   在线研讨会
密码学基础概念
hanini | 2023-02-28 13:18:46    阅读:396   发布文章


把一段原始数据通过某种算法处理成另外一种数据(原始数据为明文,处理后的数据为密文)。明文->密文:称之为加密。密文->明文:称之为解密。

 

1 (2).png

在加密过程中我们需要知道下面的这些概念:

1)明文:就是被隐藏的文字1中的“你好”就是明文

2)算法:指隐藏原文的法则。对于加密、解密来讲,算法是非常关键。公知度高的算法都是公开的,一旦有人想要破解算法,而且能够被破解了,则所有使用这个算法的产品都面临要报废、被盗版的危机。而且很多的时候做过开发的人就知道,替换一个算法的成本很大。因此一个加密出来的数据本身可靠与否,取决于密钥,而不是算法,因为密钥的调换成本比较低。

3)密文:指对原文按照加密法处理过后生成的可公开传递的文字。1中的“bmloYW8=”就是密文

4)密钥:在加密法中起决定性因素一种参数,它是在明文->密文或密文->明文的算法中输入的数据。可能是数字、词汇,也可能是一些字母,或者这些东西的组合。

5)对称加密发送方和接收方使用同一个密钥加密解密数据。优势是加解密速度快适合于对大数据进行加密,但是密钥管理困难。例如:DES、AES、SM1、SM4、SM7算法等。

6非对称加密:需要使用不同的密钥来分别完成加密和解密操作。其中一个密钥公开发布,即为公钥。另一个由用户自己秘密保存,即为私钥。发送方用对方的公钥加密数据,对方用自己的私钥解密数据。缺点在于加密解密的速度比对称密钥慢很多。例如:RSASM2

7)摘要算法:哈希算法(Hash)又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。哈希函数的主要作用不是完成数据加密与解密工作,它是用来检验数据完整性的重要技术,运算结果具有不可逆性。

 

对称算法

对称算法,整个加密解密过程中只使用一个密钥。所谓对称其实就是使用一把密钥加密,使用同一把密钥解密。对称加密由于加解和解密使用的是同一个密钥算法,故而在加解密的过程中速度比较快,适合于数据量比较大的加解密。

对称加密的主要有优点就是算法公开、计算量小、加密速度快、加密效率高;但是它也存在强大的缺点,缺点就是密钥协商过程中,一旦密钥泄露,别人可以获取到密钥,这样也能对密文进行解密。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一密钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

常用的对称加密算法有 

DES3DESTripleDES)、AESTDEABlowfishRC2RC4 SM1SM4SM7 RC5等。 

2.png

非对称算法

非对称加密算法中加密和解密用的不是同一个密钥,所以叫作非对称加密算法。非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对。公钥是对外发布的,所有人都看的到所有人的公钥,私钥是自己保存,每个人都只知道自己的私钥而不知道别人的。接下来我们解释一下非对称加密算法中有加密和解密、加签和验签的概念常用的对称加密算法有 RSAECCSM2等。 

加密和解密

3.png

如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法

以图3为例,首先A发了一条信息给B你好。这条信息A会根据B对外发布的公钥把这条信息加密了,加密之后,变成“XXXXXXX”发给B假如中间被第三者截获,由于没有B的私钥无法解密,不能知道信息的含义,也无法按正确的方式篡改。所以拿这条加密信息是没办法读取到明文信息。最后被B接受,B用自己的私钥去解密这条信息,解密成功,读取内容,执行操作。然后得知消息是A发来的,便去拿A的公钥,把操作成功(或失败)这条信息加密,发给A。同理最后A用自己的私钥解开,得知B发来的信息内容。其他人截获因为没有A的私钥所以也没有用。

签名和验签

签名验签的目的是向接收方证明发送方的身份和校验数据完整性,防止接收方得到的是第三方篡改的数据或不完整的数据。

  签名: 发送方对发送的数据用hash计算一个摘要(校验码)和原文组成一个明文的签名,再用私钥对明文签名加密 (公钥和私钥可以互相作为同一段数据加解密的密钥)。

验签: 接收方用公开的公钥解密并用相同hash算法计算摘要,对比计算摘要和接收摘要。

4.png

举例:小明给小丽发送消息,小明先计算出消息的摘要,然后使用自己的私钥加密消息摘要,被加密的消息摘要就是签名。 

小丽收到消息后,也会使用和小明相同的方法提取消息摘要,然后用小明的公钥解密签名,并与自己计算出来的消息摘要进行比较(这个过程,叫做"验签")。如果相同则说明消息是小明发送给小丽的。同时,小明也无法否认自己发送消息给小丽的事实。

 


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
ChateauMargaux  2023-03-07 15:35:18 

百度上搜凌科芯安 直接进入他们官网

114W1  2023-03-07 14:42:13 

我这边想用一颗性价比高的加密芯片,楼上说的凌科芯安他家的芯片贵不贵,主要是预算有限,有联系方式没有,我想咨询一下,主要百度太多打广告的有点不可信

hanini  2023-03-07 13:48:54 

安全性系数如何还取决于选择一款高端的智能卡芯片作为硬件载体

kessy1  2023-03-07 13:36:15 

对称算法的我倒是不太清楚,之前我们开发一个项目要SM2跟SM3算法,用的凌科的4305芯片,售后挺好的开发也挺方便,楼上的兄弟可以问问

13466516880  2023-03-07 09:51:20 

找凌科芯安的加密芯片,好用

minifoxmai  2023-03-07 09:46:35 

那说的简单,自己做算法是不是很麻烦啊,就跟楼上说似的有集成这些算法的芯片吗,最好性价比高点的,能找到售后的那种

绿茶与拿铁  2023-03-07 09:33:15 

有没有文中介绍的算法全支持的芯片呢?

xiaoyuzhou1228  2023-03-06 16:05:29 

是不是非对称算法安全系数高一些啊 我感觉是

sunxiang0506  2023-03-06 15:59:14 

文章中提到了非对称加密算法,看起来这个算法强度复杂,那么,其安全性如何呢?

Testwf  2023-03-06 09:23:21 

刚接触一个项目要用加密和签名,刚好对这块不是很清楚,这个文档普及的太及时了

13466516880  2023-03-06 08:22:10 

加密算法在什么场合可以用,只能数据加密解密,能否用于身份验证,或者防复制防盗版领域呢!

ChateauMargaux  2023-03-03 17:04:21 

LKT4305GM貌似支持RSA、ECC也可以算法移植,我们一直在用

minifoxmai  2023-03-03 09:49:56 

听说凌科芯安有一款LKT4305GM应该是用的此类算法,你可以咨询一下他们家的客服。

绿茶与拿铁  2023-03-02 10:43:10 

楼主有推荐支持此类加密算法的产品吗?

hanini  2023-03-01 13:54:49 

现在大多数都是采用对称算法和非对称算法组合使用,使用非对称算法加密对称算法密钥传输,后续交互中的加密使用的是对称密钥,避免加密解密速度太慢

kessy1  2023-03-01 10:17:20 

这些算法的密钥如何保证安全?

Testwf  2023-03-01 10:08:06 

签名验签的目的是校验发送方(保存私钥)的身份是否合法。因为只有发送方有私钥,只要验签通过,即表明发送方身份是真实有效的。

sunxiang0506  2023-02-28 17:20:03 

最近正好开发个项目 ,需要此类的加密算法,大家有什么好的产品推荐吗?

114W1  2023-02-28 14:36:21 

其实他俩安全性都不如算法移植的,虽然开发起来费劲点,但安全性高

xiaoyuzhou1228  2023-02-28 14:06:10 

对称加密和非对称加密哪个更安全?他们都适用于所有产品加密吗?

推荐文章
最近访客