1. 關於3DES加密,知道明文和密文,能推出密鑰嗎
Des的密鑰是8個位元組,但實際上只有7個用上,也就是56位。3des是用3個或2個des密鑰加密一串明文,最少112位最多168位。也就是14~21個字母或世高數字元號。從安全性上來說密鑰位模彎數不足是不能旦返悶加密的,但有些軟體為了保證用戶可用,會自動使用某種策略
2. 關於vc的des加密問題
DES演算法處理的數據對象是一組64比特的明文串.設該明文串為m=m1m2…m64 (mi=0或1).明文串經過64比特的密鑰K來加密,最後生成長度為64比特的密文E.其加密過程圖示如下:
DES演算法加密過程
對DES演算法加密過程圖示的說明如下:待加密的64比特明文串m,經過IP置換後,得到的比特串的下
標列表如下:
IP585042342618102
605244362820124
625446383022146
645648403224168
57494133251791
595143352719113
61534537295
635547393123157
3. 數據加密方式總結
程序開發過程中一般會遇到客戶端與服務端進行數據通信,不可避免的會遇到數據安全問題。為了防止數據在網路傳輸中發生數據泄露,我們常常會用到數據加密。常規的數據加密方式主要有:對稱加密和非對稱加密。
對稱加密主要有3種加密方式:DES加密、3DES加密及AES加密
如上圖所述,對稱加密使用同一個秘鑰,先用秘鑰對需要傳輸的明文數據進行加密,已加密的密文數據經過網路傳輸後,數據接收方通過同一個秘鑰進行解密,將密文數據再轉化成明文數據,完成數據傳輸過程。
但DES加密演算法的安全性不夠好,DES 被證明是可以破解的,明文+密鑰=密文,這個公式只要知道任何兩個,就可以推導出第三個在已經知道明文和對應密文的情況下,通過窮舉和暴力破解是可以破解DES的。
顧名思義,3DES加密就是使用DES演算法加密解密3次,由於DES加密缺乏安全性,3DES加密3次後安全性大大提高,但損失了一定的速度性能,所以慢慢被更優異的AES加密演算法所取代,3DES演算法可以說是DES加密和AES加密中間的過度品。
AES加解密過程和DES加解密過程類似,AES標准支持可變分組長度,分組長度可設定為32 比特的任意倍數,最小值為128 比特,最大值為256 比特,安全性大大增加,加解密速度也還可以。
RSA的安全基於大數分解的難度。其公鑰和私鑰是一對大素數(100到200位十進制數或更大)的函數。從一個公鑰和密文恢復出明文的難度,等價於分解兩個大素數之積(這是公認的數學難題)。
同時由於RSA的私鑰不用在網路上傳輸,避免了秘鑰泄露,因此安全性能大大提高。
RSA加解密速度測試:
通過上表可以發現,RSA加密速度還比較快,但解密速度會隨著加密數據的大小慢很多,加密6KB大小的數據用時0秒,解密用時1秒還可以接受。但對1M左右的數據進行解密,花費了5分多鍾的時間,在實際開發過程中就會顯得很慢,所以RSA演算法一般用於加密數據量較小的應用場景。