iOS開發(fā)探索-RSA加解密


RSA算法簡介(RSA算法原理)

RSA加解密需要兩個(gè)鑰匙,一個(gè)公鑰一個(gè)私鑰。

1.使用publicKey可以對數(shù)據(jù)進(jìn)行加密

2.使用privateKey才能對數(shù)據(jù)進(jìn)行解密

單方向傳輸

用公鑰加密的數(shù)據(jù),只有私鑰能解開(可用于加密);

同時(shí),使用私鑰加密的數(shù)據(jù),只有公鑰能解開(簽名)。但是速度很慢(比私鑰加密慢100到1000倍),

公鑰的主要算法有RSA,還包括Blowfish,Diffie-Helman等

公鑰與私鑰

1.權(quán)威數(shù)字認(rèn)證機(jī)構(gòu)(CA)給所有通信主體(個(gè)人或組織)頒發(fā)公鑰和私鑰,彼此配對,分別唯一。

2.私鑰好比數(shù)字指紋,同時(shí)具有解密和加密功能。個(gè)人保管,不公開。

3.公鑰好比安全性極高的掛號信箱地址,公開。

公私鑰加解密舉例

設(shè)若甲有一份需保密的數(shù)字商業(yè)合同發(fā)給乙簽署。經(jīng)過如下步驟:

1. 甲用乙的公鑰對合同加密。

2. 密文從甲發(fā)送到乙。

3. 乙收到密文,并用自己的私鑰對其解密。

4. 解密正確,經(jīng)閱讀,乙用自己的私鑰對合同進(jìn)行簽署。

5. 乙用甲的公鑰對已經(jīng)簽署的合同進(jìn)行加密。

6. 乙將密文發(fā)給甲。

7. 甲用自己的私鑰將已簽署合同解密。

8. 解密正確,確認(rèn)簽署。

公私鑰加解密說明

從以上步驟,我們知道:

1. 用公鑰加密的密文能且只能用與其唯一配對的私鑰才能解開。

2. 如果某份密文被解開,那么肯定是密文的目標(biāo)信息主體解開的。

3. 私鑰因其唯一標(biāo)識所有者的屬性,被用于數(shù)字簽名,具有法律效力。

IOS對Security.framework的封裝,實(shí)現(xiàn)RSA非對稱加密解密??色@取公鑰和私鑰,可對數(shù)據(jù)進(jìn)行公鑰和私鑰的加解密。 這種方式需要對密匙對進(jìn)行處理, 根據(jù)public key生成證書, 通過private key生成p12格式的密匙.

iOS中使用RSA加密解密簡單實(shí)現(xiàn)

1.在開發(fā)工程中可以添加RSA加解密庫(地址https://github.com/524429264/Objective-C-RSA )

2.在線生成RSA密鑰對(http://web.chacuo.net/netrsakeypair )

RSA密鑰對

3.導(dǎo)入#import "RSA.h"頭文件以及添加第二步生成的公私鑰,調(diào)用對應(yīng)的加解密方法

實(shí)際調(diào)用

4.以下為加解密后的結(jié)果

加解密結(jié)果

在此感謝各位讀者的來訪,您的關(guān)注是我寫作分享的最大動力。

http://songshuhui.net/archives/84941

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容