網路安全演算法
Ⅰ 網路安全 簡述RSA演算法的原理和特點
1978年就出現了這種演算法,它是第一個既能用於數據加密也能用於數字簽名的演算法。
它易於理解和操作,也很流行。演算法的名字以發明者的名字命名:Ron Rivest, Adi
Shamir 和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。
RSA的小指數攻擊。 有一種提高
RSA速度的建議是使公鑰e取較小的值,這樣會使加密變得易於實現,速度有所提高。
但這樣作是不安全的,對付辦法就是e和d都取較大的值。
RSA演算法是第一個能同時用於加密和數字簽名的演算法,也易於理解和操作。RSA是被研
究得最廣泛的公鑰演算法,從提出到現在已近二十年,經歷了各種攻擊的考驗,逐漸為
人們接受,普遍認為是目前最優秀的公鑰方案之一。RSA
的安全性依賴於大數的因子分解,但並沒有從理論上證明破譯RSA的難度與大數分解難
度等價。即RSA的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學界多數
人士傾向於因子分解不是NPC問題。
RSA的缺點主要有:A)產生密鑰很麻煩,受到素數產生技術的限制,因而難以做到一次
一密。B)分組長度太大,為保證安全性,n 至少也要 600 bits
以上,使運算代價很高,尤其是速度較慢,較對稱密碼演算法慢幾個數量級;且隨著大
數分解技術的發展,這個長度還在增加,不利於數據格式的標准化。目前,SET(
Secure Electronic Transaction
)協議中要求CA採用2048比特長的密鑰,其他實體使用1024比特的密鑰。
DSS/DSA演算法
Digital Signature Algorithm
(DSA)是Schnorr和ElGamal簽名演算法的變種,被美國NIST作為DSS(Digital Signature
Standard)。演算法中應用了下述參數:
p:L bits長的素數。L是64的倍數,范圍是512到1024;
q:p - 1的160bits的素因子;
g:g = h^((p-1)/q) mod p,h滿足h < p - 1, h^((p-1)/q) mod p > 1;
x:x < q,x為私鑰 ;
y:y = g^x mod p ,( p, q, g, y )為公鑰;
H( x ):One-Way Hash函數。DSS中選用SHA( Secure Hash Algorithm )。
p, q,
g可由一組用戶共享,但在實際應用中,使用公共模數可能會帶來一定的威脅。簽名及
驗證協議如下:
1. P產生隨機數k,k < q;
2. P計算 r = ( g^k mod p ) mod q
s = ( k^(-1) (H(m) + xr)) mod q
簽名結果是( m, r, s )。
3. 驗證時計算 w = s^(-1)mod q
u1 = ( H( m ) * w ) mod q
u2 = ( r * w ) mod q
v = (( g^u1 * y^u2 ) mod p ) mod q
若v = r,則認為簽名有效。
DSA是基於整數有限域離散對數難題的,其安全性與RSA相比差不多。DSA的一個重要特
點是兩個素數公開,這樣,當使用別人的p和q時,即使不知道私鑰,你也能確認它們
是否是隨機產生的,還是作了手腳。RSA演算法卻作不到。
本文來自CSDN博客,
Ⅱ 計算機網路安全管理數據加密技術
計算機技術的應用,給人們帶來便捷的同時,也給人們的數據信息帶來了一定的安全隱患,例如計算機病毒的攻擊、計算機系統安全漏洞的隱患以及數據倉庫系統的漏洞都阻礙了計算機安全性的提升。為了保障人們的信息安全,數據加密技術在計算機網路安全中的應用發揮了至關重要的作用。企業用戶或個人用戶需要重視數據加密技術的正確運用,保障數據傳輸過程中數據的安全性和完整性,減少數據泄露帶來的財產損失。
1數據加密技術的具體特徵
1.1數據加密技術的原理
為了保證數據的安全性,通過指定的函數或密匙對數據信息進行轉換形成沒有實際意義的密文,密文被傳送且需要採用一定的方式翻譯密文才能了解其中含義,還原數據信息,這種技術便被稱為數據加密技術。數據加密技術更好地保障了網路的安全。一般而言,數據加密技術的應用需要在特定的環境下利用指定的密匙,通過密匙實現數據的靈活轉換,可以說密匙是數據加密技術的核心。數據加密技術實現了數據信息的有效隱藏和編碼,原始數據安全性較高,只有在擁有掌握密匙並在特定環境中時才能解讀原始數據,為人們的隱私安全提供了切實的保障,數據信息在重新編碼後難以被他人識別,避免了信息竊取事件的發生。由於數據傳輸是網路技術應用過程中的重點,數據傳輸的安全性可以通過數據加密技術來保障,提升網路運行的安全性和穩定性。
1.2數據加密技術的種類以及特徵
目前,數據加密的具體方法可以分成四類,即非對稱式加密、對稱式加密、混合加密和傳輸加密。對稱式加密方式中,密匙是計算機數據安全性與密匙的安全性密切相關。因為對稱式加密的應用用戶主要是掌握同一密匙的人,密匙的破解難度極大,數據信息的內容難以被其他用戶發現,且用戶可以利用同一密匙完成數據信息的加密和解密任務。在對稱式加密技術應用時,需要用戶做好密匙的保密工作,如果出現密匙管理失誤的問題,則數據信息的安全性將會受到威脅,數據傳輸的保密性也難以實現。非對稱加密技術與對加密技術的區別在於前者具備兩個密匙,即公開密匙和私有密匙。如果用戶使用公開密匙對數據進行加密,那麼解密時必須用到私有密匙,反之亦然
。
此外,混合加密技術是指以素數為基礎生成演算法後得到素數p、q,再利用RSA演算法中的密鑰生成演算法,便得到私有密鑰和公開密鑰,私有密鑰被保存起來,而公開密鑰被公布出去。DES演算法的密鑰是依賴於線性模數法生成64位隨機數,同時利用DES演算法實現對數據信息的解密和加密任務。最後,傳輸加密是指在數據傳輸過程中對數據信息的加密技術,該技術的應用有效提升了數據信息傳輸的安全性和可靠性。傳輸加密主要採用IPSec、SSL、SSH等技術,其中SHH技術能夠有效減少遠程登錄的過程中數據信息丟失的情況,且IPSec技術擁有開放性的特徵,結構較為准確,這些技術的聯合應用為數據信息傳輸的安全性奠定了堅實的基礎。
Ⅲ 關於網路安全的一道演算法題求解,謝謝
單表置換加密,將選好的密鑰(一個句子)不重復地依次對應到各個字母上,密鑰中未出現的字母在其後按順序添加上即可,本題的置換表如下:
a b c d e f g h i j k l m n o p q r s t u v w x y z
t h e s n o w l a y i c k p d f r v b g j m q u x z
按上表解密該消息得:basilisk to leviathan blake is contact
這個表的置換方向並無要求,只要加密和解密是反著的就行,本題根據LZ的密文確定為解密由第一行到第二行置換。
當然,不同的實現可能有所不同。
單表置換加密屬於最原始的古典加密演算法,比Caesar密碼好一些,但可以通過字母頻率表來破解,安全性較弱。
Ⅳ 計算機網路安全基礎 des演算法主要有哪幾部分
主要分成三部分組成:密鑰生成、加密和解密。
由於DES的加密和解密演算法是一樣的,只不過密鑰使用順序顛倒了。所以具體實現起來只需要寫一個密鑰生成程序和一個加密程序。
Ⅳ 演算法對網路安全來說重要嗎
我認為,這應該是非常重要的吧。因為網路安全始終是大家非常關注的一個話題。
網路的黃金時代:
其實怎麼說呢。我們這個時代真的是網路的一個黃金時代。網路真的是發展的非常的快,所以網路安全也是非常的重要。在網路時代,網路給社會帶來了前所未有的機遇和挑戰。網路的正常運行給社會帶來了巨大的進步和財富,網路的不安全也會帶來意想不到的災難和損失。網路正在加速覆蓋范圍的擴大,加速滲透到各個領域,加速傳統規則的變化。要努力提高網路安全,趨利避害,與互聯網時代同步前進。
總結:總的來說就是演算法,對網路安全來說是非常的重要的。演算法的精準可以避免許多的漏洞。