1. 程式人生 > >個人理解的公鑰私鑰

個人理解的公鑰私鑰

一、A發給B一段資訊,資訊內容為a,如果要保證這段資訊不被別人獲悉,應該做如下操作:
1、A用自己的私鑰加密資料,加密後變為b,然後再用B的公鑰加密,獲得c;
2、B獲得資訊c後,用自己的私鑰解密,獲得資訊b,再用A的公鑰解密,獲得資訊a;
二、為什麼必須要這樣
1、為什麼要A用自己的私鑰加密後還要用B的公鑰再加密一次?
如果A只用自己的私鑰加密,由於A的公鑰是公開的,那麼任何知道A的公鑰的人獲得訊息b後,都能用公鑰解密獲得資訊a;
2、為什麼不直接用B的公鑰加密資料,然後由B直接用自己的私鑰解密?
這樣做雖然也能保證訊息不會被別人知曉,但是對於B來說,我不能確認這個訊息是A發給我的,因為任何知道B公鑰的人都可以給B發這個訊息,但是先用A的私鑰加密下,就不一樣了,因為能用A的公鑰解密的資料一定是用A的私鑰加密的,所以先用A的私鑰加密,再用B的公鑰加密,就能保證這個訊息是A發給B的,不是D也不是E,同時還能保證資訊不被其他人獲悉;
另:私鑰被別人知曉了,全白扯