APP下载

密码学知识入门

消息来源:baojiabao.com 作者: 发布时间:2024-05-16

报价宝综合消息密码学知识入门

一、安全问题出现

现在越来越多的人利用互联网支付,转账等功能,方便之余,难免会心生疑问,账号会不会被人盗取?这就对资料安全提出了挑战,为了解决这个问题,资料的加密就显得异常重要了。

二、基本概念

加解密的过程就是传送方将明文通过金钥计算变成密文,接收方再将密文通过金钥计算变成可明文,从而保证在资讯传输过程中的具备:可鉴别,完整,防泄漏。

可鉴别:通过验证签名的方式,可以知道传送讯息的人是否是可信赖的对方完整:通过算法不完整的资料和被串改的资料无法被解密防泄漏:只要没有掌握金钥算法,即使内容被抓取到也无法得到真实的资讯。针对以上特性我们要着重介绍一下:对称算法、非对称算法,数字签名

对称算法

加解密使用同一个金钥,所以如何安全的传递金钥成了最头疼的问题。

(1) 甲方将明文使用金钥加密,密文传输给乙方。

(2) 乙方收到密文后,用同一个金钥,解密得到明文。

由于双方采用统一金钥规则,在传递和保持中如何保证金钥的安全,就成了头疼的问题。

### 非对称算法

加解密采用不同金钥,称为公钥和私钥,公私钥成对出现,采用公钥加密,只能用配对的私钥解密。

(1) 乙方生成一对公私钥,并将公钥给甲方

(2) 甲方利用乙方给的公钥将明文加密,生成密文,传输给乙方

(3) 乙方接收到密文,用配对的私钥解密,解出明文

这种方式私钥严格保密,公钥可以对外公布,解决了金钥传递和储存中的安全性问题。

在密码学中还有一个比较重要的概念就是确认传送方身份,也就是签名验证。

数字签名

数字签名,就是只有资讯的传送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对资讯的传送者传送资讯真实性的一个有效证明。提到数字签名一定绕不开非对称算法和杂凑函式,数字签名有两个过程:签名和验证,具体的过程如下

(1) 乙方生成一对公私钥,并将公钥给甲方

(2) 乙方用其私钥对档案做加密,并签名

(3) 甲方对档案解密,并验证签名

由于档案内容做加解密算法比较费时,所以一般签名都是采用档案内容通过杂凑算法得出的字串(图里的摘要可以认为就是这样的一串字串)做私钥加密,从而得到一串签名资料,这样验签的效率就大大提升了。

算法举例

密码学发展到现在,涌现出来的算法有很多,比如对称算法中的des,aes,非对称算法中的RSA等,下面就以RSA做个例项解析。RSA的算法原理这里就不介绍了,请开wiki,直接上程式码吧。本例子中的算法通过openssl的相关界面实现的。

RSA加密实现

RSA解密实现

RSA签名实现

RSA验签实现

结束

简单的介绍了一下,密码学的相关知识,偏实用,淡算法理论,有兴趣自己扩充套件,对实现程式码有疑问,可以留言。

2019-11-10 22:54:00

相关文章