iOS開發探索-RSA加解密
RSA加解密需要兩個鑰匙,一個公鑰一個私鑰。
1.使用publicKey可以對資料進行加密
2.使用privateKey才能對資料進行解密
單方向傳輸
用公鑰加密的資料,只有私鑰能解開(可用於加密);
同時,使用私鑰加密的資料,只有公鑰能解開(簽名)。但是速度很慢(比私鑰加密慢100到1000倍),
公鑰的主要演算法有RSA,還包括Blowfish,Diffie-Helman等
公鑰與私鑰
1.權威數字認證機構(CA)給所有通訊主體(個人或組織)頒發公鑰和私鑰,彼此配對,分別唯一。
2.私鑰好比數字指紋,同時具有解密和加密功能。個人保管,不公開。
3.公鑰好比安全性極高的掛號信箱地址,公開。
公私鑰加解密舉例
設若甲有一份需保密的數字商業合同發給乙簽署。經過如下步驟:
1. 甲用乙的公鑰對合同加密。
2. 密文從甲傳送到乙。
3. 乙收到密文,並用自己的私鑰對其解密。
4. 解密正確,經閱讀,乙用自己的私鑰對合同進行簽署。
5. 乙用甲的公鑰對已經簽署的合同進行加密。
6. 乙將密文發給甲。
7. 甲用自己的私鑰將已簽署合同解密。
8. 解密正確,確認簽署。
公私鑰加解密說明
從以上步驟,我們知道:
1. 用公鑰加密的密文能且只能用與其唯一配對的私鑰才能解開。
2. 如果某份密文被解開,那麼肯定是密文的目標資訊主體解開的。
3. 私鑰因其唯一標識所有者的屬性,被用於數字簽名,具有法律效力。
IOS對Security.framework的封裝,實現RSA非對稱加密解密。可獲取公鑰和私鑰,可對資料進行公鑰和私鑰的加解密。 這種方式需要對密匙對進行處理, 根據public key生成證書, 通過private key生成p12格式的密匙.
iOS中使用RSA加密解密簡單實現
RSA金鑰對
3.匯入#import "RSA.h"標頭檔案以及新增第二步生成的公私鑰,呼叫對應的加解密方法
實際呼叫
4.以下為加解密後的結果
加解密結果
在此感謝各位讀者的來訪,您的關注是我寫作分享的最大動力。