#RSA概述算法
首先看這個加密算法的命名.頗有意思,它實際上是三我的的名字.早在1977年由麻省理工學院的三位數學家Rivest、Shamir 和 Adleman一塊兒提出了這個加密算法,而且用他們三我的姓氏開頭字母命名. RSA加密算法是一種非對稱加密算法,其玩法打破了以往全部加密算法的規則.在RSA出現以前,全部的加密方法都是同一種模式:加密解密的規則使用同一種方式.這種長達幾個世紀的加密方案有一個致命的缺陷.在傳遞加密信息時,必須讓對方拿到解密的規則才能正常解密.因爲加密解密的規則一致,因此保存和傳遞**"密鑰"**,就成了最頭疼的問題。 RSA的出現解決了這個問題.咱們來看看RSA是怎麼玩的.安全
#RSA加密/解密編碼
沒錯,RSA加密使用了"一對"密鑰.分別是公鑰和私鑰,這個公鑰和私鑰其實就是一組數字!其二進制位長度能夠是1024位或者2048位.長度越長其加密強度越大,目前爲止公之於衆的能破解的最大長度爲768位密鑰,只要高於768位,相對就比較安全.因此目前爲止,這種加密算法一直被普遍使用. #RSA的弊端加密
因爲RSA算法的原理都是大數計算,使得RSA最快的狀況也比對稱加密算法慢上好幾倍。速度一直是RSA的缺陷,通常來講RSA只用於小數據的加密.RSA的速度是對應一樣安全級別的對稱加密算法的1/1000左右。 #RSA終端命令演示 視頻
因爲Mac系統內置OpenSSL(開源加密庫),因此咱們能夠直接在終端上使用命令來玩RSA. OpenSSL中RSA算法經常使用指令主要有三個,其餘指令此處不介紹。blog
#生成RSA私鑰,密鑰長度爲1024bit 源碼
#從私鑰中提取公鑰 數學
咱們能夠看到生成的私鑰和公鑰文件以下圖:it
顯得很是高大上對吧!那麼它裏面是什麼,咱們能夠利用終端進行查看base64
其實就是一個文本文件,而且一看就知道是base64編碼.那麼公鑰相比私鑰要簡單不少.咱們能夠經過命令,將私鑰轉換成爲明文看看.
#視頻源碼獲取方式
喜歡的話在下方評論+轉發留下你獨特的看法,而後+羣937194184便可獲取源碼+視頻
#小結
那麼看到這些以後,對RSA應該有了必定的瞭解.因爲RSA加密運行效率很是低!並非全部數據加密都會使用它.那麼它的主戰場在於加密一些小的數據,好比對稱加密算法的密鑰.又或者數字簽名.關於數字簽名後續文章咱們再詳細闡述.