密码学基本知识

现代密码学基本知识 

一 现代密码学基本知识


现代密码学的分类:
对称密码体制(传统密码体制)
非对称密码体制(公钥密码体制)
现在密码学的基本原则:
实际上的安全(虽然没有在理论上严格证明出来,但经过许多人许多年的攻击并没有找到有效的攻击方法)
柯克霍夫原则(密码系统的安全性不应该取决于不易改变的算法,而应该取决于可随时改变的密钥)


二 对称密码体制的缺陷


密钥分配问题
通信双方要进行保密通信,需要通过秘密的安全通道传送或协商加密密钥,而这种安全通道在实际中很难实现
密钥管理问题
在有N个用户的通信网络中,每个用户要想和其他N-1个用户进行通信,必须使用N-1个密钥,而系统中总的密钥数量将达到n(n-1)/2。当n 比较大时,这样大的密钥量,在生产和保存,传递,销毁等各个环节将变得复杂,易存在安全隐患。
数字签名问题
对称密码体制中通信双方拥有同样的密钥,所以接收方可以伪造签名,发送方也可以否认发送过某消息,难于解决陌生人之间的身份认证和交易不可否认的问题


三 公钥密码体制加解密原型


发送方A查找接收方B的公钥
A用公钥加密算法以B的公钥作为加密密钥对明文进行加密
A通过不安全信道将密文发送给B
B收到密文后使用自己的私钥对密文解密还原成明文


四  RSA加密算法及签名算法分析(因为linux ssh 登陆用的是ssh 所以单独分析一下)

转自 http://www.zhihu.com/question/25912483/answer/31653639,具体细节请移步大神的数学讲解。

RSA公钥加密体制包含如下3个算法:KeyGen(密钥生成算法),Encrypt(加密算法)以及Decrypt(解密算法)。

其中公钥用于对数据进行加密,私钥用于对数据进行解密。当然了,这个也可以很直观的理解:公钥就是公开的密钥,其公开了大家才能用它来加密数据。私钥是私有的密钥,谁有这个密钥才能够解密密文。否则大家都能看到私钥,就都能解密,那不就乱套了。

=================分割线=================
RSA签名体制。签名体制同样包含3个算法:KeyGen(密钥生成算法),Sign(签名算法),Verify(验证算法)。

在签名算法中,私钥用于对数据进行签名,公钥用于对签名进行验证。这也可以直观地进行理解:对一个文件签名,当然要用私钥,因为我们希望只有自己才能完成签字。验证过程当然希望所有人都能够执行,大家看到签名都能通过验证证明确实是我自己签的。

用公钥加密,私钥解密 —加密文件
用私钥加密,用公钥解密 –数字签名
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值