說起rsa富雅,大家自然就會說掸驱,非對稱加密嘛。是的没佑,rsa非對稱加密算是安全級別非常高的加密方式毕贼,至少對于現(xiàn)在而言。這里蛤奢,筆者也是抽空整理和總結(jié)下鬼癣,自己所了解的知識點陶贼,也希望大家看到后,可以補充下哦待秃!
先來說說拜秧,為何要加密,當然是為了保證數(shù)據(jù)的安全性章郁。當代的互聯(lián)網(wǎng)發(fā)展中枉氮,如何保證一個數(shù)據(jù)的安全性,是IT行業(yè)一個重要的技術領域暖庄。因為非對稱加密是一個相對于現(xiàn)在的數(shù)據(jù)通信技術而言非要安全的加密方式聊替,所以大家都很推崇。
然后說到非對稱加密培廓,那自然就會有對稱加密惹悄。這里,筆者舉一個簡單的例子医舆,也是希望對這塊知識點不是很了解的同學們做個補充俘侠。下面將以一個乘除運算來說明:
首先我對這個圖大概說一下,這其實就是一個簡單的乘除運算3乘以10等于30蔬将,30除以10等于3爷速。在我們iOS層面上,我們可以把它做一個流程:
1霞怀、首先把3看做是我們兩端之間要傳遞的數(shù)據(jù)
2惫东、客戶端通過一個加密操作,將3加密成密文30毙石,
3廉沮、通過網(wǎng)絡傳輸,將密文30傳遞到服務端
4徐矩、服務端用解密操作解密成我們原本的數(shù)據(jù)3滞时。
在以上4個步驟中,大家知道滤灯,最關鍵一點就是加密操作和解密操作坪稽,而在這個操作中,最重要的就是這個 ”10“鳞骤,也就是我們iOS中說的密鑰窒百。通過這個密鑰,才可以完成加密和解密的步驟豫尽。所以我們可以簡單的理解篙梢,因為在加密和解密過程中,密鑰是同一個美旧,簡稱為對稱加密渤滞!
而非對稱加密贬墩,就是加密和解密過程中,所用到的密鑰不是同一個密鑰蔼水,所以簡稱為非對稱加密震糖。對于非對稱加密的歷史,這里簡單帶過趴腋,運用到的數(shù)學知識點是歐拉定理和迪菲赫爾曼密鑰交換這兩大數(shù)學依據(jù)吊说,有興趣的同學不妨去了解下rsa來源的歷史。
rsa的主要公式就是如下:
可以發(fā)現(xiàn)优炬,m通過一系列操作之后颁井,又回到的m的形態(tài)。簡單的說一下蠢护,上圖的mod意思就是除以一個數(shù)取它的余數(shù)雅宾。就是我們所說的取余。而這張圖的意思就是m的(e乘以d)次方之后對n取余葵硕,得到還是m眉抬。
我們可以適當拆分之后:
上面這張圖是不是跟我們一開始3??10=30/30?10=3那張圖十分類似。最不同點就在于懈凹,之前那張圖用的都是10這個中間數(shù)蜀变,而這張圖的e和d是不一樣的。這就是非對稱加密的關鍵點介评,就是e和d加密和解密的密鑰不同库北。這就是非對稱加密的來源!
所以们陆,所謂的非對稱加密寒瓦,就是加密和解密的密鑰不同,這樣坪仇,即使我們客戶端的加密密鑰被泄露杂腰,得到密文的第三方也無法通過密鑰解密,因為解密的密鑰永遠都在服務端椅文。除非用其他手段從服務端獲取解密的密鑰颈墅。
這里大家都知道,非對稱加密的兩個密鑰雾袱,我們一般都稱之為公鑰和私鑰,我們可以用公鑰加密私鑰解密官还,也可以用私鑰加密公鑰解密芹橡。以上也是筆者用了一堆羅里吧嗦的話,來適當闡述下對稱加密和非對稱加密的概念望伦。
這就是對稱加密和非對稱加密的一些概念的知識點林说,下一篇文章煎殷,筆者將帶著大家一起來運用下rsa的加密和解密。
下一篇文章地址:iOS-(rsa)非對稱加密的簡單生成和運用