国产精品婷婷久久久久久,国产精品美女久久久浪潮av,草草国产,人妻精品久久无码专区精东影业

rsa加密算法的分析及程序?qū)崿F(xiàn).doc

約28頁DOC格式手機打開展開

rsa加密算法的分析及程序?qū)崿F(xiàn),rsa加密算法的分析及程序?qū)崿F(xiàn)頁數(shù):20字數(shù):2747rsa加密算法的分析及程序?qū)崿F(xiàn)1.rsa算法描述:密鑰對的產(chǎn)生:根據(jù)用戶輸入的p和q的范圍(size)隨機產(chǎn)生兩個大素數(shù),p 和q 。計算:n = p * q ,然后隨機選擇加密密鑰e,并根據(jù)e得出解密密鑰d,要求 e 和 ( p - 1 ) * ( q - 1 )...
編號:10-63736大小:121.00K
分類: 論文>其他論文

內(nèi)容介紹

此文檔由會員 usactu 發(fā)布

RSA加密算法的分析及程序?qū)崿F(xiàn)


頁數(shù):20 字數(shù):2747


RSA加密算法的分析及程序?qū)崿F(xiàn)
1.RSA算法描述:
密鑰對的產(chǎn)生:根據(jù)用戶輸入的p和q的范圍(size)隨機產(chǎn)生兩個大素數(shù),p 和q 。計算:n = p * q ,然后隨機選擇加密密鑰e,并根據(jù)e得出解密密鑰d,要求 e 和
( p - 1 ) * ( q - 1 ) 互質(zhì),e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) ),其中數(shù)e和n是公開密鑰,數(shù)d和n 是私有密鑰。
加密和解密:對明文m進行加密時,首先把m轉(zhuǎn)換為字節(jié)(按照平臺缺省的字符編碼方式),得到對應的數(shù)字形式num,然后對num進行加密,對應的密文是:
c = num ^ e ( mod n );解密時作如下運算:mi = c ^ d ( mod n ),再把mi 轉(zhuǎn)化為對應的字符形式即可得到明文。
2.編程實現(xiàn):
在編程語言的選擇上,我選擇了用Java來實現(xiàn) ,主要是因為RSA的安全性依賴于大數(shù)分解困難,公鑰和私鑰都是兩個大素數(shù)的函數(shù)。而Java的math包中的BigInteger類可以很方便地處理不變的任意精度的整數(shù)。從而為RSA加密解密的實現(xiàn)提供了很大的方便。
3.Java.math.BigInteger類簡介:
主要對本次實驗中用到的一些方法作一些介紹:( 選自Java API )
public BigInteger ( int bitLength, int certainty, Random rnd )
構造函數(shù)。返回一個指定 bitLength (可能是一個素數(shù))的隨機選擇的 BigInter 。參數(shù) certainty 是一個對調(diào)用者愿意忍受的不確定性的度量:該數(shù)是素數(shù)的概率將超過
1 – ( 1/2 ) ** certainty 。執(zhí)行時間正比于確定性參數(shù)的值。用給定的隨機數(shù)發(fā)生器選擇進行素數(shù)測試的候選數(shù)。如果 bitLength <2 ,則拋出 arithmeticexception。
public BigInteger ( String val ) throws NumberFormatException
構造函數(shù)。把一個字符串翻譯為 BigInteger ,該字符串包含可選的負號,后面跟著一個或多個十進制數(shù)字序列。字符到數(shù)字的映射是由 Character.digit 提供的。任何外部字符 (包括空白符) 將導致 NumberFormatException 異常。
public int compareTo ( BigInteger val )
根據(jù)該數(shù)值是小于、等于、或大于 val 返回 -1、0 或 1 。該方法在六個邏輯比較運算符 (<, = , > , >= , != , <= ) 的操作中作為首選方法。
public boolean equals ( Object x )
如果 x 是一個 BigInteger 并且等于該數(shù)則返回 true 。 提供該方法的目的是使 BigIntegers 可以作為散列碼關鍵字使用。
public String toString ( )
返回表示該數(shù)的字符串,基數(shù)為 10 。 使用由 Character.forDigit 提供的數(shù)字到字符的映射,并且如果合適的話,還可以前置一個負號。 該表示法同 (String) 構造子兼容,并