A. 什麼是rsa密碼
RSA是一種加解密演算法。
具體就是把你原來的數據經過模冪運算(c= m ^emod n)之後給轉化到另外一個數。
這個轉化過程中,需要初始化n,e,d三個數據,並且(n,e)被叫做私鑰,(n,d)叫做密鑰。
具體的演算法你可以下載PKCS#1 v1.5文檔了解一下。
B. rsa是什麼意思
RSA是公開密鑰密碼體制是一種使用不同的加密密鑰與解密密鑰,「由已知加密密鑰推導出解密密鑰在計算上是不可行的」密碼體制。RSA是1977年由羅納德·李維斯特(RonRivest)、阿迪·薩莫爾(AdiShamir)和倫納德·阿德曼(LeonardAdleman)一起提出的。當時他們三人都在麻省理工學院工作。RSA就是他們三人姓氏開頭字母拼在一起組成的。
簡介
在公開密鑰密碼體制中,加密密鑰(即公開密鑰)PK是公開信息,而解密密鑰(即秘密密鑰)SK是需要保密的。加密演算法E和解密演算法D也都是公開的。雖然解密密鑰SK是由公開密鑰PK決定的,但卻不能根據PK計算出SK。正是基於這種理論,1978年出現了著名的RSA演算法,它通常是先生成一對RSA密鑰,其中之一是保密密鑰,由用戶保存;另一個為公開密鑰,可對外公開,甚至可在網路伺服器中注冊。為提高保密強度,RSA密鑰至少為500位長,一般推薦使用1024位。這就使加密的計算量很大。為減少計算量,在傳送信息時,常採用傳統加密方法與公開密鑰加密方法相結合的方式,即信息採用改進的DES或IDEA對話密鑰加密,然後使用RSA密鑰加密對話密鑰和信息摘要。對方收到信息後,用不同的密鑰解密並可核對信息摘要。
演算法原理
RSA公開密鑰密碼體制的原理是:根據數論,尋求兩個大素數比較簡單,而將它們的乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。
C. 什麼是RSA演算法,求簡單解釋。
RSA公鑰加密演算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美國麻省理工學院)開發的。RSA取名來自開發他們三者的名字。RSA是目前最有影響力的公鑰加密演算法,它能夠
抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數據加密標准。RSA演算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。由於進行的都是大數計算,使得RSA最快的情況也比DES慢上好幾倍,無論是軟體還是硬體實現。速度一直是RSA的缺陷。一般來說只用於少量數據加密。RSA的速度比對應同樣安全級別的對稱密碼演算法要慢1000倍左右。
基礎
大數分解和素性檢測——將兩個大素數相乘在計算上很容易實現,但將該乘積分解為兩個大素數因子的計算量是相當巨大的,以至於在實際計算中是不能實現的。
1.RSA密碼體制的建立:
(1)選擇兩個不同的大素數p和q;
(2)計算乘積n=pq和Φ(n)=(p-1)(q-1);
(3)選擇大於1小於Φ(n)的隨機整數e,使得gcd(e,Φ(n))=1;
(4)計算d使得de=1mod Φ(n);
(5)對每一個密鑰k=(n,p,q,d,e),定義加密變換為Ek(x)=xemodn,解密變換為Dk(x)=ydmodn,這里x,y∈Zn;
(6)以{e,n}為公開密鑰,{p,q,d}為私有密鑰。
2.RSA演算法實例:
下面用兩個小素數7和17來建立一個簡單的RSA演算法:
(1)選擇兩個素數p=7和q=17;
(2)計算n=pq=7 17=119,計算Φ(n)=(p-1)(q-1)=6 16=96;
(3)選擇一個隨機整數e=5,它小於Φ(n)=96並且於96互素;
(4)求出d,使得de=1mod96且d<96,此處求出d=77,因為 77 5=385=4 96+1;
(5)輸入明文M=19,計算19模119的5次冪,Me=195=66mod119,傳出密文C=66;(6)接收密文66,計算66模119的77次冪;Cd=6677≡19mod119得到明文19。
D. RAS暗號是什麼
RAS加密演算法簡介
1978年就出現了這種演算法,它是第一個既能用於數據加密
也能用於數字簽名的演算法。它易於理解和操作,也很流行。算
法的名字以發明者的名字命名:Ron Rivest, AdiShamir 和
Leonard Adleman。但RSA的安全性一直未能得到理論上的證明。
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是私鑰。兩個素數p和q不再需要,應該丟棄,不要讓任
何人知道。 加密信息 m(二進製表示)時,首先把m分成等長數據
塊 m1 ,m2,..., mi ,塊長s,其中 2^s <= n, s 盡可能的大。對
應的密文是:
ci = mi^e ( mod n ) ( a )
解密時作如下計算:
mi = ci^d ( mod n ) ( b )
RSA 可用於數字簽名,方案是用 ( a ) 式簽名, ( b )
式驗證。具體操作時考慮到安全性和 m信息量較大等因素,一般是先
作 HASH 運算。
RSA 的安全性。
RSA的安全性依賴於大數分解,但是否等同於大數分解一直未能得到理
論上的證明,因為沒有證明破解RSA就一定需要作大數分解。假設存在
一種無須分解大數的演算法,那它肯定可以修改成為大數分解演算法。目前,
RSA的一些變種演算法已被證明等價於大數分解。不管怎樣,分解n是最顯
然的攻擊方法。現在,人們已能分解140多個十進制位的大素數。因此,
模數n必須選大一些,因具體適用情況而定。
RSA的速度:
由於進行的都是大數計算,使得RSA最快的情況也比DES慢上100倍,無論
是軟體還是硬體實現。速度一直是RSA的缺陷。一般來說只用於少量數據
加密。
RSA的選擇密文攻擊:
RSA在選擇密文攻擊面前很脆弱。一般攻擊者是將某一信息作一下偽裝
(Blind),讓擁有私鑰的實體簽署。然後,經過計算就可得到它所想要的信
息。實際上,攻擊利用的都是同一個弱點,即存在這樣一個事實:乘冪保
留了輸入的乘法結構:
( XM )^d = X^d *M^d mod n
前面已經提到,這個固有的問題來自於公鑰密碼系統的最有用的特徵
--每個人都能使用公鑰。但從演算法上無法解決這一問題,主要措施有
兩條:一條是採用好的公鑰協議,保證工作過程中實體不對其他實體
任意產生的信息解密,不對自己一無所知的信息簽名;另一條是決不
對陌生人送來的隨機文檔簽名,簽名時首先使用One-Way HashFunction
對文檔作HASH處理,或同時使用不同的簽名演算法。在中提到了幾種不
同類型的攻擊方法。
RSA的公共模數攻擊。
若系統中共有一個模數,只是不同的人擁有不同的e和d,系統將是危險
的。最普遍的情況是同一信息用不同的公鑰加密,這些公鑰共模而且互
質,那末該信息無需私鑰就可得到恢復。設P為信息明文,兩個加密密鑰
為e1和e2,公共模數是n,則:
C1 = P^e1 mod n
C2 = P^e2 mod n
密碼分析者知道n、e1、e2、C1和C2,就能得到P。
因為e1和e2互質,故用Euclidean演算法能找到r和s,滿足:
r * e1 + s * e2 = 1
假設r為負數,需再用Euclidean演算法計算C1^(-1),則
( C1^(-1) )^(-r) * C2^s = P mod n
另外,還有其它幾種利用公共模數攻擊的方法。總之,如果知道給定模數
的一對e和d,一是有利於攻擊者分解模數,一是有利於攻擊者計算出其它
成對的e』和d』,而無需分解模數。解決辦法只有一個,那就是不要共享
模數n。
RSA的小指數攻擊。 有一種提高
RSA速度的建議是使公鑰e取較小的值,這樣會使加密變得易於實現,速度
有所提高。但這樣作是不安全的,對付辦法就是e和d都取較大的值。
RSA演算法是第一個能同時用於加密和數字簽名的演算法,也易於理解和操作。
RSA是被研究得最廣泛的公鑰演算法,從提出到現在已近二十年,經歷了各
種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優秀的公鑰方案之一。
RSA的安全性依賴於大數的因子分解,但並沒有從理論上證明破譯RSA的難
度與大數分解難度等價。即RSA的重大缺陷是無法從理論上把握它的保密性
能如何,而且密碼學界多數人士傾向於因子分解不是NPC問題。
RSA的缺點主要有:
A)產生密鑰很麻煩,受到素數產生技術的限制,因而難以做到一次
一密。B)分組長度太大,為保證安全性,n 至少也要 600 bits
以上,使運算代價很高,尤其是速度較慢,較對稱密碼演算法慢幾個數量級;
且隨著大數分解技術的發展,這個長度還在增加,不利於數據格式的標准化。
目前,SET(Secure Electronic Transaction)協議中要求CA採用2048比特長
的密鑰,其他實體使用1024比特的密鑰。
E. 什麼是RSA
RSA公鑰密碼體制是以發明該體制的三位密碼學家Rivest,Shamir和Adleman的名字命名的,目前成為商業化最成功的演算法。
系統建立和密鑰產生
選擇兩個大素數p和q,另n=pq,按照一定規則選擇隨機數e和d,使其滿足ed mod (p-1)(q-1)=1。則公開(e, n)為用戶公開密鑰,保留d作為對應的用戶私鑰。
加密過程
如果想將明文消息M加密後發給該用戶,則密文C的計算過程如下:C=Me mod n。
解密過程
當用戶收到密文C後,計算Cd mod n=M 就恢復出密文了。
RSA公鑰體制的安全是建立在大整數的素因子分解這一數學難題之上的。一旦人們發現一種分解大整數的有效方法,則RSA公鑰密碼體制的安全性隨著崩潰。
RSA公鑰密碼體制可以很容易改造成為數字簽名方案。假設一個用戶(用戶A)擁有RSA公私鑰對,即擁有對應公鑰(e, n)的私鑰d。
產生簽名
當用戶A要對明文消息m進行數字簽名時,計算s=md mod n,則s就是對消息m的數字簽名。
驗證簽名
當一個用戶(用戶B)要對該用戶A的數字簽名進行驗證時,用戶B需要得到明文消息m和數字簽名s,然後驗證等式se mod n=m是否成立,如果成立,則驗證通過,否則,不能接受s為m的合法數字簽名。
注意數字簽名不提供消息的機密性,因為簽名者需要將簽名消息m和簽名s同時發給驗證者。如果在此過程中不希望其他人能非法獲取m的內容,需要再對m進行加密處理,這種情況不是簡單的數字簽名,而是加密與數字簽名的結合。一種更有效的途徑是使用簽密演算法(SignEncryption)。
(轉載前請告知)
F. 什麼是RSA公鑰密碼
RSA公鑰密碼
RSA公鑰密碼是1977年由Ron Rivest、Adi Shamirh和LenAdleman在MIT(美國麻省理工學院〉開發的,1978年首次公布[RIVE78]。它是目前最有影響的公鑰加密演算法,它能夠抵抗到目前為止已知的所有密碼攻擊。目前它已被ISO推薦為公鑰數據加密標准。RSA演算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但是想分解它們的乘積卻極端困難,因此可以將乘積公開作為加密密鑰。
RSA的演算法結構相當簡單,整個演算法可以描述如下:
(1)選取兩個大素數p和q(保密);
(2)計算n=pq(公開),γ=(p一1〉(q-1)(保密);
(3)隨機選取整數e(公開,加密密鑰),使得ed(ear)=1
(4)計算d(保密,私人密鑰),使得ed≡1(mod r),即d=e-1(mod r);
(5)加密:c=me mod n
(6)解密:m=cd mod n。
利用RSA對被加密的信息m (長度小於log2n的整數)進行加密得到相應的密文c=me mod n;解密演算法則是計算m=cd modn RSA的優點是不需要密鑰分配,但缺點是速度慢。RSA公鑰密碼 RSA 公鑰 密碼
G. RAS是什麼意思
RAS簡稱Remote Access Service,意為:遠程訪問服務,主要用來配置企業的遠程用戶對企業內部網路訪問,包括撥號訪問和vpn方式。RAS技術是為了使遠程用戶能夠連接到Windows NT操作系統上而設計的。
RAS服務的一些概念(配置時會遇到)
1.專線或者windows2003的RAS(remote access server)遠程訪問服務,允許客戶機通過VPN或者撥號連接遠程訪問內部網路。
2.WINDOWS中的安全用戶驗證協議;EAP(可擴展驗證協議) 是PPP協議的一種擴展,CHAP(握手身份驗證協議) 伺服器發送一個查問到客戶機,客戶機發送響應回伺服器(包含HASH過後的查問響應和密碼),伺服器對存在其上的查問響應和密碼進行HASH運算後對比。
相同,則通過驗證。(該協議比較流行)PAP協議(口令驗證協議) 伺服器要求客戶機提供用戶名和密碼,在網路中明文傳輸,不夠安全。
3.RAS客戶端與RAS伺服器連接類型:PSTN(公共電話交換網);兩端都需要Modem,伺服器端需要做Modem池,供很多客戶連接.ISDN(綜合業務數字網);兩端需要ISDN適配器。
(7)ras密碼什麼意思擴展閱讀
RAS遠程訪問伺服器
產品特點
固定回叫:用戶拔號登錄後,RAS2600自動斷線,然後按指定的號碼拔出。
漫遊回叫:程用記拔號後,RAS2600接收遠程用戶輸入的號碼,自動斷線,然後RAS26000按照指定的號碼拔出。
閑置斷線時間(idle timer):指定的時間內未輸入按鍵時RAS2600自動斷線。
允許訪問時間(session timer):許用戶訪問伺服器的時間。
應用領域
證券營業部遠程訪問系統。
稅務、銀行、保險系統。
郵電撥號、備份網路。
CISCO、華為、博達、2509/2511配套。
SPECIALIX、CHASE、GTS、MOXA配套。
H. RSA是什麼意思
RSA演算法是一種非對稱密碼演算法,所謂非對稱,就是指該演算法需要一對密鑰,使用其中一個加密,則需要用另一個才能解密。
RSA的演算法涉及三個參數,n、e1、e2。
其中,n是兩個大質數p、q的積,n的二進製表示時所佔用的位數,就是所謂的密鑰長度。
e1和e2是一對相關的值,e1可以任意取,但要求e1與(p-1)*(q-1)互質;再選擇e2,要求(e2*e1)mod((p-1)*(q-1))=1。
(n及e1),(n及e2)就是密鑰對。
RSA加解密的演算法完全相同,設A為明文,B為密文,則:A=B^e1 mod n;B=A^e2 mod n;
e1和e2可以互換使用,即:
A=B^e2 mod n;B=A^e1 mod n;
補充回答:
對明文進行加密,有兩種情況需要這樣作:
1、您向朋友傳送加密數據,您希望只有您的朋友可以解密,這樣的話,您需要首先獲取您朋友的密鑰對中公開的那一個密鑰,e及n。然後用這個密鑰進行加密,這樣密文只有您的朋友可以解密,因為對應的私鑰只有您朋友擁有。
2、您向朋友傳送一段數據附加您的數字簽名,您需要對您的數據進行MD5之類的運算以取得數據的"指紋",再對"指紋"進行加密,加密將使用您自己的密鑰對中的不公開的私鑰。您的朋友收到數據後,用同樣的運算獲得數據指紋,再用您的公鑰對加密指紋進行解密,比較解密結果與他自己計算出來的指紋是否一致,即可確定數據是否的確是您發送的、以及在傳輸過程中是否被篡改。
密鑰的獲得,通常由某個機構頒發(如CA中心),當然也可以由您自己創建密鑰,但這樣作,您的密鑰並不具有權威性。
計算方面,按公式計算就行了,如果您的加密強度為1024位,則結果會在有效數據前面補0以補齊不足的位數。補入的0並不影響解密運算。
I. rsa密碼體系是什麼樣的密碼體系
RSA密碼系統是較早提出的一種公開鑰密碼系統。1978年,美國麻省理工學院(MIT)的Rivest,Shamir和Adleman在題為《獲得數字簽名和公開鑰密碼系統的方法》的論文中提出了基於數論的非對稱(公開鑰)密碼體制,稱為RSA密碼體制。RSA是建立在「大整數的素因子分解是困難問題」基礎上的,是一種分組密碼體制。
J. RSA 是什麼意思
RSA演算法是第一個能同時用於加密和數字簽名的演算法,也易於理解和操作。 RSA是被研究得最廣泛的公鑰演算法,從提出到現在已近二十年,經歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優秀的公鑰方案之一。RSA的安全性依賴於大數的因子分解,但並沒有從理論上證明破譯RSA的難度與大數分解難度等價。即RSA的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學界多數人士傾向於因子分解不是NPC問題。RSA的缺點主要有:A)產生密鑰很麻煩,受到素數產生技術的限制,因而難以做到一次一密。B)分組長度太大,為保證安全性,n 至少也要 600 bits以上,使運算代價很高,尤其是速度較慢,較對稱密碼演算法慢幾個數量級;且隨著大數分解技術的發展,這個長度還在增加,不利於數據格式的標准化。目前,SET(Secure Electronic Transaction)協議中要求CA採用2048比特長的密鑰,其他實體使用1024比特的密鑰。
這種演算法1978年就出現了,它是第一個既能用於數據加密也能用於數字簽名的演算法。它易於理解和操作,也很流行。演算法的名字以發明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。但RSA的安全性一直未能得到理論上的證明。
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是私鑰。兩個素數p和q不再需要,應該丟棄,不要讓任何人知道。
加密信息 m(二進製表示)時,首先把m分成等長數據塊 m1 ,m2,..., mi ,塊長s,其中 2^s <= n, s 盡可能的大。對應的密文是:
ci = mi^e ( mod n ) ( a )
解密時作如下計算:
mi = ci^d ( mod n ) ( b )
RSA 可用於數字簽名,方案是用 ( a ) 式簽名, ( b )式驗證。具體操作時考慮到安全性和 m信息量較大等因素,一般是先作 HASH 運算。
RSA 的安全性。
RSA的安全性依賴於大數分解,但是否等同於大數分解一直未能得到理論上的證明,因為沒有證明破解RSA就一定需要作大數分解。假設存在一種無須分解大數的演算法,那它肯定可以修改成為大數分解演算法。目前, RSA的一些變種演算法已被證明等價於大數分解。不管怎樣,分解n是最顯然的攻擊方法。現在,人們已能分解140多個十進制位的大素數。因此,模數n必須選大一些,因具體適用情況而定。
RSA的速度。
由於進行的都是大數計算,使得RSA最快的情況也比DES慢上100倍,無論是軟體還是硬體實現。速度一直是RSA的缺陷。一般來說只用於少量數據加密。
RSA的選擇密文攻擊。
RSA在選擇密文攻擊面前很脆弱。一般攻擊者是將某一信息作一下偽裝(Blind),讓擁有私鑰的實體簽署。然後,經過計算就可得到它所想要的信息。實際上,攻擊利用的都是同一個弱點,即存在這樣一個事實:乘冪保留了輸入的乘法結構:
( XM )^d = X^d *M^d mod n
前面已經提到,這個固有的問題來自於公鑰密碼系統的最有用的特徵--每個人都能使用公鑰。但從演算法上無法解決這一問題,主要措施有兩條:一條是採用好的公鑰協議,保證工作過程中實體不對其他實體任意產生的信息解密,不對自己一無所知的信息簽名;另一條是決不對陌生人送來的隨機文檔簽名,簽名時首先使用One-Way Hash Function對文檔作HASH處理,或同時使用不同的簽名演算法。在中提到了幾種不同類型的攻擊方法。
RSA的公共模數攻擊。
若系統中共有一個模數,只是不同的人擁有不同的e和d,系統將是危險的。最普遍的情況是同一信息用不同的公鑰加密,這些公鑰共模而且互質,那末該信息無需私鑰就可得到恢復。設P為信息明文,兩個加密密鑰為e1和e2,公共模數是n,則:
C1 = P^e1 mod n
C2 = P^e2 mod n
密碼分析者知道n、e1、e2、C1和C2,就能得到P。
因為e1和e2互質,故用Euclidean演算法能找到r和s,滿足:
r * e1 + s * e2 = 1
假設r為負數,需再用Euclidean演算法計算C1^(-1),則
( C1^(-1) )^(-r) * C2^s = P mod n
另外,還有其它幾種利用公共模數攻擊的方法。總之,如果知道給定模數的一對e和d,一是有利於攻擊者分解模數,一是有利於攻擊者計算出其它成對的e』和d』,而無需分解模數。解決辦法只有一個,那就是不要共享模數n