信息安全基础--加解密和数字签名
来源:互联网 发布:c语言游戏 编辑:程序博客网 时间:2024/06/07 21:36
信息安全已经是这个时代强烈注重的问题,所以,不管时个人还是企业,在设计自己的系统时,一定会加上信息安全的机制。
先说说基础:
1.什么是对称加密?
简言之,对于消息的加密和解密,都是用同样的密钥,密钥越大,加密越强,但是加解密过程就越慢。
2.什么是非对称加密?
非对称加密,有一对密钥(公钥和私钥),一个密钥加密,另一个密钥就可以解密。因为公钥是发给很多人的,若用来解密就会不安全,即遵从私钥解密,公钥加密。私钥只能一方保管,公钥可以发给任何需要请求他的人。私钥可以用来表示个人身份的证明。
如银行,银行把公钥给我们,我们用公钥把信息加密后发给银行,银行可以用私钥解密,如果消息被人劫持,那也打不开。但是打不开,他可以给消息添加一些病毒或是其他恶意消息啊,这时候就需要验证发来的消息是否完整,是不是对的消息。这就需要用到信息摘要。
3.什么是信息摘要?
信息摘要,就是将消息用Hash函数生成一个固定长度的唯一字符串,这个生成的字符串就是信息摘要,此过程不可逆。不同的信息,生成的字符串是不同的,即摘要是唯一的。信息摘要可以用来验证信息的完整性,解决上述问题。
4.什么是数字签名呢?
信息要安全,必须保证:1.信息来源的身份认证 2.信息的完整性。数字签名的作用是为了认证用户身份的,做法是将信息生成的摘要用发件人的私钥加密,发送给对方,对方通过发件人给他的公钥来验证。如果用公钥解开了,说明就是发件人本人发出的。解决了身份认证的问题。
具体的保证信息安全的做法(两套非对称算法):
A和B通信,A发消息给B,为保证B收到的信息 1是A发的,2信息是完整的。具体操做如下(引用别人的图):
完整流程:
A:将明文进行摘要运算后得到摘要(消息完整性),再将摘要用A的私钥加密(身份认证),得到数字签名,将密文和数字签名一块发给B。
B:收到A的消息后,先将密文用自己的私钥解密,得到明文。将数字签名用A的公钥进行解密后,得到正确的摘要(解密成功说明A的身份被认证了)。
对明文进行摘要运算,得到实际收到的摘要,将两份摘要进行对比,如果一致,说明消息没有被篡改(消息完整性)。
疑问:
摘要使用A的私钥加密,如果被拥有A的公钥的第三者截获,不就可以获取到摘要了么?会不会对安全造成威胁。
不会。因为摘要是不可逆推出原文的。
解读:1.A用B的公钥加密消息,保证只有B才能打开。但是还要验证信息的身份来源和信息的完整性,就继续如下。
2.A对消息进行摘要算法,B对解密后的明文也进行摘要算法,如两者的摘要一致,保证B收到的是正确的信息。但还要加上身份认证,即
3.A再对生成的摘要用自己的私钥加密,生成数字签名发给B,B如果用A的公钥解密成功,说明是A发出的,A的身份得到证明。
- 信息安全基础--加解密和数字签名
- RSA数字签名和加解密
- 加解密、安全基础
- Java加解密密和数字签名
- .NET中的加解密和数字签名
- Java加解密密和数字签名
- [JAVA加解密]数字签名
- Java加解密与数字签名
- JAVA加解密 -- 数字签名算法
- Java加解密与数字签名
- JAVA RSA加解密和数字签名、DES加解密 在项目中的实际使用
- JAVA RSA加解密和数字签名、DES加解密 在项目中的实际使用
- HASH之于信息安全领域加解密算法
- 【信息安全】RSA-数字签名-数字证书
- 安全体系(零)—— 加解密算法、消息摘要、消息认证技术、数字签名与公钥证书
- 安全体系(零)—— 加解密算法、消息摘要、消息认证技术、数字签名与公钥证书
- 安全体系(零)—— 加解密算法、消息摘要、消息认证技术、数字签名与公钥证书
- 安全体系(零)—— 加解密算法、消息摘要、消息认证技术、数字签名与公钥证书
- fedora 25 下安装 haroopad
- 机器学习并没有那么深奥,它还很有趣(1)
- Eloquent JavaScript 笔记 二:Program Structure
- java客户端向服务器发送数据
- KMP算法的Next数组详解
- 信息安全基础--加解密和数字签名
- Rigidbody
- YAHOO 35条前端优化建议
- POJ-2609-双塔dp
- 像"机器"一样思考
- 导入兼容包
- 向量空间模型(VSM)在文档相似度计算上的简单介绍
- A+B Problem II
- 素数判定(筛选 突破常规)