日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RAS RC4 AES 加密 MD5

發布時間:2025/3/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RAS RC4 AES 加密 MD5 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RAS RC4 AES 加密 MD5

這兩者唯一的相同點是設計者中都包含了MIT的Ron Revist教授。

RSA是公鑰密碼算法,優點:不用事先通過秘密信道傳遞密鑰,可以用于數字簽名。缺點:速度慢

RC4是序列密碼算法,優點:速度快,缺點:需要事先秘密地傳遞密鑰。

?

RAS是不對稱加密,用一個公鑰加密,用另一個私鑰解密,或者反過來。理論上不可被破解  

RC4是對稱加密,用同一個密鑰進行加密解密。理論上暴力破解有很大可能,且已經有工具可以破解。

?

RC4算法原來是商業機密不公開的,但后來泄漏了,現在大家都知道了。

RAS加密的算法是公開的,大家都知道,但外人想要破解它卻不可能的:

RSA的安全性依賴于大數分解。公鑰和私鑰都是兩個大素數?
(?大于?100個十進制位)的函數。據猜測,從一個密鑰和密文?
推斷出明文的難度等同于分解兩個大素數的積。???

??密鑰對的產生:選擇兩個大素數,p?和q?。計算:???
n?=?p?*?q?
然后隨機選擇加密密鑰e,要求?e?和?(?p?-?1?)?*?(?q?-?1?)?
互質。最后,利用Euclid?算法計算解密密鑰d,?滿足???

???????e?*?d?=?1?(?mod?(?p?-?1?)?*?(?q?-?1?)?)?

其中n和d也要互質。數e和?
n是公鑰,d是私鑰

判定一個超大的數為素數是世界難題,如上若采用100位的大數作公鑰或私鑰,計算機暴力破解的時間復雜度約為O(10的200次方)

?

下面摘自新浪博客:http://blog.sina.com.cn/s/blog_65db998401012ahq.html

RC4的破解與防范

RC4算法是對稱的加密算法,加密和解密的步驟都是眾所周知的、固定不變的。唯一的保密性來自于初始的key。這個key理論上來說只有通訊雙方知道,但是如果第三方從某種途徑獲得了這個key,那么第三方可以毫不費力地用RC4來解密他截獲到的加密字符串了。

? ? 第三方如何得到這個key呢?家賊難防,有人泄露給競爭對手,那實在是沒辦法的事情,趕緊換key吧;同時,第三方也可以不依賴于間諜,直接暴力破解,成功率應該不低。 ? ? 暴力破解的前提是,需要知道一些正確的解密結果。就是知道:若干加密串(或是加密串片段)對應的原文,這樣才可以驗證暴力破解是否成功。如果RC4只是用于有限個個體間通訊,那么破解方要獲得這些先驗的正確結果可能比較困難,但如果你提供服務的對象是整個互聯網用戶,那么想破解你的人自然可以合法地方便地獲取到很多先驗正確結果來輔助暴力破解。 ? ? 理論上來說,RC4算法是很難被破解的。RC4中用到的key是長度在[1,256]的unsigned char字符串,可能性就是256+256^2+256^3+....256^256≈256^256次方種可能性,量級在10^600以上。如果你真的設置了一個256byte(不是bit哦)的key,別人想要暴力破解幾乎是不可能的。要知道,“天河一號”每秒也不過千萬億次(10^15)運算。但是設置這么長的key,加密解密的時間也是線性增長的,所以一般使用的key至多是幾十byte而已。那這個復雜度就大大降低了,特別是現在分布式計算這么普及的情況下。 ? ? 最囧的是網上有些論文,不過是暴力破解了40bit(5byte)的RC4,居然也可以發到《計算機工程與科學》這類期刊上去,我只能呵呵了。 ? ? 那怎么樣在不顯著增加key長度的情況下,提高被人破解的難度呢? ? ? 1.定時更換key,就像網民應該定時更換自己的密碼一樣。 ? ? 2.在真實原文里混雜一些隨機字符串再加密。 ? ? 3.并不把加密串直接暴露給公眾,可以對加密串做二次加密。(循環移位、字符-字符映射、按某種規則打散、再做一次RC4、等等)

?http://blog.csdn.net/youxijishu/article/details/52653248

5.4 協議完整性驗證

?盡管我們對消息做了加密,但也不是萬無一失的,為了進一步確保消息沒有被篡改,我們需要對消息的完整性進行檢測,使用數字摘要的方式,首先客戶端對userid及之后的協議信息進行AES加密,加密之后取它的md5值,md5值用于驗證數據的完整性。這個md5值會被傳送到服務器,如果協議信息被修改了,那個md5就會不同。

5.5 保證md5數字摘要的值的安全

為了防止非法用戶修改協議內容后,模擬客戶端操作重新生成新的數字摘要信息,我們對生成的數字摘要信息進行二次加密,這次使用RSA的公鑰對md5的值進行加密,將加密的內容和其它信息一起發送到服務器。服務器根據ip向登陸服務器拿到AES的公鑰和RSA的私鑰,先用RSA 私鑰取出客戶端加密的md5值,服務器端計算userid后面的數據的md5值,如果兩個md5值一樣,說明安全的。如果不一樣,說明用戶是非法的,加入黑名單。因為RAS使用公鑰加密,必須使用對應的私鑰才能解密,而且不同的公鑰對應的私鑰不同,這樣就算非法用戶重新生成了數字摘要,在服務器端也是驗證不通過的。

5.6 取出明文信息

?當服務器收到報文后,對報文進行數子摘要驗證通過之后,服務器端使用用戶自己對應的AES的公鑰,解密數據,獲得明文數據。為了保證安全,每個用戶的AES公鑰可能不一樣。

?

?

Message Digest Algorithm MD5(中文名為消息摘要算法第五版)為計算機安全領域廣泛使用的一種散列函數,用以提供消息的完整性保護。該算法的文件號為RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992)。

?

MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于確保信息傳輸完整一致。是計算機廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法),主流編程語言普遍已有MD5實現。將數據(如漢字)運算為另一固定長度值,是雜湊算法的基礎原理,MD5的前身有MD2、MD3和MD4。

?

MD5算法具有以下特點:

?

1、壓縮性:任意長度的數據,算出的MD5值長度都是固定的。

?

2、容易計算:從原數據計算出MD5值很容易。

?

3、抗修改性:對原數據進行任何改動,哪怕只修改1個字節,所得到的MD5值都有很大區別。

?

4、強抗碰撞:已知原數據和其MD5值,想找到一個具有相同MD5值的數據(即偽造數據)是非常困難的。

?

MD5的作用是讓大容量信息在用數字簽名軟件簽署私人密鑰前被"壓縮"成一種保密的格式(就是把一個任意長度的字節串變換成一定長的十六進制數字串)。除了MD5以外,其中比較有名的還有sha-1、RIPEMD以及Haval等。

?

posted on 2016-11-10 12:24 時空觀察者9號 閱讀(...) 評論(...) 編輯 收藏

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的RAS RC4 AES 加密 MD5的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。