一、公钥与私钥
在非对称加密中,我们会用到两个密钥,一个是公钥,另一个是私钥。公钥是给别人的,别人持有的;而私钥是你自己的,只能你持有,别人是不可以持有的。
二、签名验证算法和加密算法
1.首先,我们要知道什么是签名验证算法,什么是加密加密算法。
签名验证算法:用来证明这个消息是自己发的,别人不可以冒充自己发送消息。
加密算法:用来对要发送的消息内容进行加密,不想让别人看见你发送的消息内容。
2.如何进行签名验证,如何进行加密。
签名验证算法中,我们需要使用自己的私钥去对消息摘要数据(哈希值)进行加密,公钥是用来对签名进行验证的。因为只有你持有私钥,因此,别人是无法冒充你,去对消息摘要数据进行加密,进而无法冒充你去发信息,或者对消息进行篡改。因此,它保证了消息的不可抵赖性与不可篡改性。
在加密算法中,别人使用你给他的公钥对它要发生给你的消息进行加密,由于其他人没有你的私钥,是无法进行解密的。因此,他是保证消息的机密性的。
三、总结
1.非对称加密中的公钥和私钥的用途:
一是用来加解密:公钥加密,私钥解密。
使用公钥加密,私钥解密,用于向公钥所有者发布信息,这个信息可能被他人篡改,但是无法被他人获得.
二是用来签名:私钥签名,公钥验证。
使用私钥加密,公钥解密,用于让所有公钥所有者验证私钥所有者的身份并且用来防止私钥所有者发布的内容被篡改.但是不用来保证内容不被他人获得.既然是签名,那肯定是不希望有人冒充我发消息,只有我才能发布这个签名,所以可得出私钥负责签名,公钥负责验证。
2.发送的消息既要保证机密性、不可篡改性、不可抵赖性。
如果甲想给乙发一个安全的保密的数据,那么应该甲乙各自有一个私钥,甲先用自己的私钥加密这段的数据消息摘要数据进行加密,再用乙的公钥加密这段数据,最后再发给乙,这样确保了内容即不会被读取,也不会被篡改,并且可以确认发送者的身份。