『壹』 des演算法與rsa演算法區別
DES演算法與RSA演算法區別:
1、DES演算法:
優點:密鑰短,加密處理簡單,加密解密速度快,適用於加密大量數據的場合。
缺點:單鍵,不能從一個鍵推導出另一個鍵。
2、RSA演算法:
優點:應用廣泛,加密密鑰與解密密鑰不一樣,一般的加密密鑰稱為私鑰。解密密鑰稱為公鑰,私鑰加密後只能用公鑰解密,當然也可以用公鑰加密,用私鑰解密。
缺點:密鑰大小大,加密解密速度慢,一般用於加密少量數據,如DES密鑰。
(1)rsa的加密優勢擴展閱讀:
一、安全性:
RSA的安全性依賴於大數分解,但它是否等同於大數分解還沒有從理論上得到證明,因為沒有證據證明破解RSA一定是大數分解。
如果有一種演算法不需要分解大數,則必須將其修改為分解大數的演算法。RSA演算法的一些變體已被證明等價於大數分解。
不管怎樣,分解n是最明顯的攻擊方式。把大素數分解到多個小數點後是可能的。因此,模n必須更大,這取決於具體的應用。
二、演算法定義:
1、DES演算法定義:是對稱演算法,加密密鑰和解密密鑰是相同的。
2、RSA演算法定義:非對稱演算法,加密密鑰與解密密鑰是不同的,一般的加密密鑰稱為私鑰,解密密鑰稱為公鑰,私鑰加密只能用於解密,當然也可以用於加密,解密用私鑰。
『貳』 RSA加密技術的特點
加密方和解密方使用相同的加密演算法,但是使用不同的密鑰.
『叄』 RSA加密原理
RSA加密是一種非對稱加密。可以在不直接傳遞密鑰的情況下,完成解密。這能夠確保信息的安全性,避免了直接傳遞密鑰所造成的被破解的風險。是由一對密鑰來進行加解密的過程,分別稱為公鑰和私鑰。公鑰加密--私鑰解密,私鑰加密--公鑰解密
在 整數 中, 離散對數 是一種基於 同餘 運算和 原根 的一種 對數 運算。而在實數中對數的定義 log b a 是指對於給定的 a 和 b ,有一個數 x ,使得 b x = a 。相同地在任何群 G 中可為所有整數 k 定義一個冪數為 b K ,而 離散對數 log b a 是指使得 b K = a 的整數 k 。
當3為17的 原根 時,我們會發現一個規律
對 正整數 n,歐拉函數是小於或等於n的正整數中與n 互質 的數的數目(因此φ(1)=1)。有以下幾個特點
服務端根據生成一個隨機數15,根據 3 15 mod 17 計算出6,服務端將6傳遞給客戶端,客戶端生成一個隨機數13,根據 3 13 mod 17 計算出12後,將12再傳回給服務端,客戶端收到服務端傳遞的6後,根據 6 13 mod 17 計算出 10 ,服務端收到客戶端傳遞的12後,根據 12 15 mod 17 計算出 10 ,我們會發現我們通過 迪菲赫爾曼密鑰交換 將 10 進行了加密傳遞
說明:
安全性:
除了 公鑰 用到 n 和 e ,其餘的4個數字是 不公開 的(p1、p2、φ(n)、d)
目前破解RSA得到的方式如下:
缺點
RSA加密 效率不高 ,因為是純粹的數學演算法,大數據不適合RSA加密,所以我們在加密大數據的時候,我們先用 對稱加密 演算法加密大數據得到 KEY ,然後再用 RSA 加密 KEY ,再把大數據和KEY一起進行傳遞
因為Mac系統內置了OpenSSL(開源加密庫),所以我們開源直接在終端進行RSA加密解密
生成RSA私鑰,密鑰名為private.pem,密鑰長度為1024bit
因為在iOS中是無法使用 .pem 文件進行加密和解密的,需要進行下面幾個步驟
生成一個10年期限的crt證書
crt證書格式轉換成der證書
『肆』 RSA 鈥斺 緇忓吀鐨勯潪瀵圭О鍔犲瘑綆楁硶
鎺㈢儲RSA鍔犲瘑浼犲囷細闈炲圭О鍔犲瘑綆楁硶鐨勫ゥ縐
鍦ㄥ瘑鐮佸︾殑鐟板疂涓錛孯SA綆楁硶浠ュ叾鐙鐗圭殑闈炲圭О鎬х嫭鏍戜竴甯溿傚畠灝卞儚涓鎶婄炵樼殑閽ュ寵錛岃╀俊鎮鍦ㄧ湅浼兼棤瑙g殑璋滈樹腑瀹夊叏絀挎銆備竴鏃︽帉鎻′簡嬈ф媺鍑芥暟銆佹ф媺瀹氱悊鍜岄嗗厓鐨勭簿楂擄紝RSA鍔犲瘑涓庤В瀵嗙殑鍘熺悊灝嗗彉寰楄交鑰屾槗涓俱傝╂垜浠涓璧鋒彮寮榪欎釜鍔犲瘑綆楁硶鐨勭炵橀潰綰便
鍔犲瘑錛屾槸灝嗘槑鏂囬氳繃鐗瑰畾綆楁硶鍙樺夠錛屼嬌涔嬪湪鏈鎺堟潈鑰呴潰鍓嶅彉寰椾笉鍙璇匯傝岃В瀵嗭紝鍒欐槸榪欎釜榪囩▼鐨勯嗚繍綆楋紝鎮㈠嶅師濮嬩俊鎮銆傛槑鏂囦笌瀵嗘枃錛屽氨鍍忎竴瀵瑰瘑鐮佺殑鍘熷艦涓庡彉褰錛岄氳繃鍔犲瘑綆楁硶鐨勯瓟娉曪紝鍙樺緱闅句互瑙﹀強銆
鍦ㄥ姞瀵嗘墜孌典腑錛屽圭О涓庨潪瀵圭О鏄涓ょ嶆埅鐒朵笉鍚岀殑鏂瑰紡銆傚圭О鍔犲瘑濡侫ES鍜孌ES錛屼嬌鐢ㄥ悓涓鎶婂瘑閽ヨ繘琛屽姞瑙e瘑錛岄珮鏁堜絾瀵嗛掗綆$悊澶嶆潅銆傜浉鍙嶏紝RSA鐨勯潪瀵圭О鎬т互鍏閽ュ拰縐侀掗鐨勫囧欑粍鍚堜負鐗圭偣錛屼竴涓鍏寮錛屼竴涓淇濆瘑錛岀『淇濅簡淇℃伅浜ゆ崲鐨勫畨鍏ㄣ
RSA綆楁硶鐨勬牳蹇冨熀浜庝竴涓鏁板﹂毦棰橈細緔犳暟鐨勪箻縐鐪嬩技瀹規槗鐢熸垚錛屼絾鍒嗚В鍗村紓甯稿洶闅俱傛f槸榪欎釜鍘熺悊錛屾瀯鎴愪簡RSA鍔犲瘑鐨勫潥鍥哄熀鐭熾傚叾榪囩▼鍖呮嫭鐢熸垚涓瀵瑰簽澶х殑緔犳暟錛岃$畻涔樼Н騫舵壘鍒板畠浠鐨勯嗗厓錛屽艦鎴愬叕閽ュ拰縐侀掗榪欏瑰瘑閽ヤ即渚c
鍔犲瘑鏃訛紝鏄庢枃閫氳繃鍏閽ョ殑騫傝繍綆椾笌妯¤繍綆楋紝鍙樻垚鐪嬩技鏃犺抗鍙寰鐨勫瘑鏂囷紱鑰岃В瀵嗭紝鍒欐槸縐侀掗鐨勮亴璐o紝榪愮敤鍚屾牱鐨勬暟瀛﹂瓟娉曞皢瀵嗘枃榪樺師涓哄師濮嬩俊鎮銆俁SA鐨勫閥濡欒捐★紝璁╁畨鍏ㄥ拰鏁堢巼鎵懼埌浜嗗畬緹庣殑騫寵銆
縐侀掗瑙e瘑鐨勫叧閿鍦ㄤ簬錛屽畠紜淇濅簡瀵嗘枃緇忚繃騫傚彇妯″悗絳変簬鏄庢枃銆傛棤璁烘槸浜掔礌榪樻槸闈炰簰緔犵殑鎯呭喌錛屾ф媺瀹氱悊鍜岄嗗厓鐨勮繍鐢錛岄兘淇濊瘉浜嗚繖涓榪囩▼鐨勬g『鎬с傝孯SA鐨勫畨鍏ㄦу湪浜庯紝瑕佺牬瑙e畠錛屽氨鍍忚瘯鍥句粠涓鍫嗘暟瀛椾腑鎵懼嚭闅愯棌鐨勯掗鍖欙紝闇瑕佸瑰ぇ鏁存暟榪涜屽洜鏁板垎瑙o紝榪欏湪褰撳墠鐨勮$畻鑳藉姏涓嬪嚑涔庢槸涓嶅彲鑳界殑鎸戞垬銆
鎬葷粨鏉ヨ達紝RSA綆楁硶鍥犲叾闈炲圭О鎬э紝鏈夋晥鍦拌В鍐充簡瀵圭О鍔犲瘑鐨勫悓姝ラ棶棰橈紝涓轟俊鎮瀹夊叏鎻愪緵浜嗗己澶х殑淇濇姢銆傚敖綆$牬瑙g殑闅懼害宸ㄥぇ錛屼絾姝f槸榪欑嶆寫鎴樻э紝浣垮緱RSA鎴愪負鐜頒唬閫氫俊棰嗗煙涓嶅彲鎴栫己鐨勫姞瀵嗗伐鍏楓
『伍』 RSA和DES演算法的優缺點、比較
DES演算法:
優點:密鑰較短,加密處理簡單,加解密速度快,適用於加密大量數據的場合。
缺點:密鑰單一,不能由其中一個密鑰推導出另一個密鑰。
RSA演算法升啟知:
優點:應用廣泛,加密密鑰和解密密鑰不一樣,一般加密密鑰稱為私鑰。解密密鑰稱為公鑰,私鑰加密後只能用公鑰解密,,當然也可以用公鑰加密,用私鑰解密。
缺點:密鑰尺寸大,加解密速度慢,一般用來加密少量數據,比如DES的密鑰。
(5)rsa的加密優勢擴展閱讀:
安全性
RSA的安全性依賴於大數分解,但是否等同於大數分解一直未能得到理論上的證明,因為沒有證明破解RSA就旁祥一定需要作大數分解。假設存在一種無須分解大數的演算法,那它肯定可以修改成為大數分解演算法。RSA的一些變種演算法已被證明等價於大數分解。
不管怎樣,分解n是最顯然的攻擊方法。人們已能分解多個十進制位的大素數。因此,模數n必須選大一些吵消,因具體適用情況而定。