數據加密Entryption

AndroidH13-Entryption 數據加密

一、MD5 加密(不可逆的)
1 . 簡介:
不管是MD2 、MD4 還是MD5 ,它們都需要獲得一個隨機長度的信息併產生一個1 2 8 位的信息摘要。雖然這些算法的結構或多或少有些
相似,但MD2 的設計與MD4 和MD5 完全不同,那是因爲MD2 是爲8 位機器做過設計優化的,而MD4 和MD5 卻是面向3 2 位的電腦。這三
個算法的描述和C 語言源代碼在I nt er net   R F C s   1 3 2 1 中有詳細的描述(ht t p: //w w w . iet f. or g/r fc /r fc1 3 2 1 . t x t ),這是一份最權威的文檔,
由R onald  L .   R iv es t 在1 9 9 2 年8 月向I EF T提交。V an O or s chot 和W iener 曾經考慮過一個在散列中暴力搜尋衝突的函數(Br ut e- F or ce
Has h  F unc t ion),而且他們猜測一個被設計專門用來搜索MD5 衝突的機器(這臺機器在1 9 9 4 年的製造成本大約是一百萬美元)可以平
均每2 4 天就找到一個衝突。但單從1 9 9 1 年到2 0 0 1 年這1 0 年間,竟沒有出現替代MD5 算法的MD6 或被叫做其他什麼名字的新算法這一
點,我們就可以看出這個瑕疵並沒有太多的影響MD5 的安全性。上面所有這些都不足以成爲MD5 的在實際應用中的問題。並且,由於
MD5 算法的使用不需要支付任何版權費用的,所以在一般的情況下(非絕密應用領域。但即便是應用在絕密領域內,MD5 也不失爲一種
非常優秀的中間技術),MD5 怎麼都應該算得上是非常安全的了
2 . 應用:
MD5 的典型應用是對一段信息(Mes s age)產生信息摘要(Mes s age-Diges t ),以防止被篡改。比如,在U N I X下有很多軟件在下載
的時候都有一個文件名相同,文件擴展名爲. m d5 的文件,在這個文件中通常只有一行文本,大致結構如:MD5   (t anajiy a. t ar . gz) =
0 ca1 7 5 b9 c0 f7 2 6 a8 3 1 d8 9 5 e2 6 9 3 3 2 4 6 1 , 這就是t anajiy a. t ar . gz文件的數字簽名。MD5 將整個文件當作一個大文本信息,通過其不可逆的
字符串變換算法,產生了這個唯一的MD5 信息摘要。如果在以後傳播這個文件的過程中,無論文件的內容發生了任何形式的改變(包括人
爲修改或者下載過程中線路不穩定引起的傳輸錯誤等),只要你對這個文件重新計算MD5 時就會發現信息摘要不相同,由此可以確定你得
到的只是一個不正確的文件。如果再有一個第三方的認證機構,用MD5 還可以防止文件作者的"抵賴",這就是所謂的數字簽名應用。
2.MD5算法原理
  MD5算法的原理主要分爲以下幾個步驟,下面就讓小編爲大家一一介紹一下吧:
  1)填充:首先將輸入信息的長度(bi t )進行填充,使得對512求餘的結果等於448。填充的方法是填充一個1和n個0。
  2)記錄信息長度:用64位來存儲填充前信息長度。這64位加在第一步結果的後面,這樣信息長度就變爲N*512+448+64=
(N+1)*512位。
  3)裝入標準的幻數:標準的幻數是(A=(01234567)16,B=(89ABCDEF)16,C=(FEDCBA98)16,D=(76543210)16)。如果
在程序中定義應該是(A=0X67452301L,B=0XEFCDAB89L,C=0X98BADCFEL,D=0X10325476L)。
  4)四輪循環運算:循環的次數是分組的個數(N+1)。
3.MD5算法原理- - 用途
  MD5算法的用途主要分爲以下幾類:
  1、防止被篡改,比如我提供文件下載,爲了防止不法分子在安裝程序中添加木馬,我可以在網站上公佈由安裝文件得到的MD5輸出
結果。
  2、防止直接看到明文,現在很多網站在數據庫存儲用戶的密碼的時候都是存儲用戶密碼的MD5值。這樣就算不法分子得到數據庫的
用戶密碼的MD5值,也無法知道用戶的密碼。
  3、防止抵賴(數字簽名),例如A寫了一個文件,認證機構對此文件用MD5算法產生摘要信息並做好記錄。這樣可以防止出現以後A不
承認此事而帶來的麻煩。
二、DES加密
1 . 簡介:      1 2 3     -填入密鑰-   9 3 8 1 8 2 3 1 2 9 4 8 3 2 afdafa  (9 x _ 0 s 9 2 _ 9 2 3 8 _ 2 9 2 3 4 2  密鑰)
DES是一種對稱加密算法,所謂對稱加密算法即:加密和解密使用相同密鑰的算法。DES加密算法出自I BM的研究,後來被美國政府正
式採用,之後開始廣泛流傳,但是近些年使用越來越少,因爲DES使用5 6 位密鑰,以現代計算能力,2 4 小時內即可被破解。雖然如此,在
某些簡單應用中,我們還是可以使用DES加密算法
2 . 應用:
在網絡中傳輸數據進行加密
三、AES加密
1 . 簡介:
高級加密標準(英語:Adv anced  Enc r y pt ion  S t andar d,縮寫:AES),在密碼學中又稱R ijndael加密法,是美國聯邦政府採用的一
種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣爲全世界所使用。經過五年的甄選流程,高級加密標準由美國國家
標準與技術研究院(N I S T)於2 0 0 1 年1 1 月2 6 日發佈於F I PS   PU B  1 9 7 ,並在2 0 0 2 年5 月2 6 日成爲有效的標準。2 0 0 6 年,高級加密標準已然
成爲對稱密鑰加密中最流行的算法之一。
嚴格地說,AES和R ijndael加密法並不完全一樣(雖然在實際應用中二者可以互換),因爲R ijndael加密法可以支持更大範圍的區塊和
密鑰長度:AES的區塊長度固定爲1 2 8  比特,密鑰長度則可以是1 2 8 ,1 9 2 或2 5 6 比特;而R ijndael使用的密鑰和區塊長度可以是3 2 位的整
數倍,以1 2 8 位爲下限,2 5 6 比特爲上限。加密過程中使用的密鑰是由R ijndael密鑰生成方案產生。AES加密是DES加密的升級版
2 . 應用:
在網絡中傳輸數據進行加密, 數據庫關鍵字段等
四、Bas e6 4 加密
1 . 簡介:
按照R F C 2 0 4 5 的定義,Bas e6 4 被定義爲:Bas e6 4 內容傳送編碼被設計用來把任意序列的8 位字節描述爲一種不易被人直接識別的形
式。(T he  Bas e6 4   C ont ent - T r ans fer - Encoding  is   des igned  t o  r epr es ent   ar bit r ar y   s equences   of  oc t et s   in  a  for m   t hat   need  not
be  hum anly   r eadable. )  BAS E6 4  嚴格地說,屬於編碼格式,而非加密算法
2 . 應用:
常見於郵件、ht t p加密,截取ht t p信息,你就會發現登錄操作的用戶名、密碼字段通過BAS E6 4 加密的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章