<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 一種網(wǎng)絡(luò )傳輸信息加密解密系統研制的方法

一種網(wǎng)絡(luò )傳輸信息加密解密系統研制的方法

作者: 時(shí)間:2017-06-13 來(lái)源:網(wǎng)絡(luò ) 收藏

  由于計算機具有系統復雜性、資源共享、邊界不可知、傳輸信息的路由不確定性、電磁輻射等原因使其本身的安全性很低[1]。在我國起步比較晚,一些與相關(guān)的技術(shù)還不成熟,在現有的許多網(wǎng)絡(luò )中至今還在傳輸裸信息。據調查[2],目 前我國企業(yè)采用信息加密的僅8%。即使傳輸經(jīng)過(guò)加密的數據,大多采用的是傳統密碼體制。由此看來(lái),網(wǎng)絡(luò )的安全系數一般都比較小。數據加密是確保計算機網(wǎng)絡(luò )重要的安全機制,但是,利用公鑰體制,尤其是利用算法的實(shí)用加密解密軟件系統很少。因此,對網(wǎng)絡(luò )傳輸的數據加密和解密進(jìn)行深入研究,開(kāi)發(fā)出適用于網(wǎng)絡(luò )環(huán)境下的信息很有意義。

  網(wǎng)絡(luò )加密的方式主要有鏈路加密、端對端加密[3]。端對端加密的工作僅在目的節點(diǎn)和源節點(diǎn)進(jìn)行,所以成本低、使用靈活。本文采用這種方式,其處于網(wǎng)絡(luò )OSI模型的應用層或表示層。

1

  的基本思想是:密鑰分為加密密鑰E,解密密鑰D和公鑰M。加密密鑰E和公鑰M可以公開(kāi),D不能公開(kāi)。加密時(shí)采用以E,M為參數的函數f1(E,M)進(jìn)行加密,解密時(shí)采用以D,M為參數的函數f2(D,M)進(jìn)行解密。

  在傳統密碼體制的算法中,知道了加密過(guò)程,則可以推出解密過(guò)程。而在的算法中,即使知道了加密過(guò)程,也不可能推出解密過(guò)程。迄今為止發(fā)明的公鑰密碼體制的算法容易用數學(xué)術(shù)語(yǔ)來(lái)描述的,而他的保密強度是建立在一種特定的已知數學(xué)問(wèn)題求解困難性這個(gè)假設上的。因而計算加密密鑰E,公鑰M和解密密鑰D需要特殊的算法和步驟。以確保不能從加密密鑰E和公鑰M推導出解密密鑰D。

  體制是一種新型公鑰密碼體制[4]。該公鑰密碼體制以數論為基礎,其原理是:求2個(gè)大素數的乘積很容易實(shí)現,但將一個(gè)大的合數分解成2個(gè)大素數很難實(shí)現。加密和解密運算的數學(xué)表達式為:
 C=XE(mod M)
  X=CD(mod M)
其中:X為明文,C為密文,(0  (1)M是2個(gè)大素數P,Q的乘積,從而M的歐拉數φ(M)=(P-1)×(Q-1)。
  (2)D是大于P,Q的并與φ(M)互素的正整數。
  (3)E是D關(guān)于φ(M)的乘逆。即ED=1 mod(φ(M))。

  滿(mǎn)足以上3個(gè)條件,(E,M)便可作公鑰對,(D,M)作密鑰對。

  例如:P=101,Q=113,那么M=P×Q=11 413,φ(M)=(P-1)×(Q-1)=100×112=11 200,與φ( M)互素的整數E有無(wú)數個(gè),因此,假設E=3 533,根據公式ED=1mod(φ(M)),求得D =6 597。假設明文X=9 726,那么加密時(shí)密文C=9 7263 533mod (11 413)=5 7 61,在解密時(shí)明文Y=5 7616 597mod(11 413)=9 726。因此只要加密密鑰E,解密密鑰D和公共密鑰M選擇正確,加密前的明文X和解密后的明文Y一定是相同的。

2系統設計

網(wǎng)絡(luò )信息包含2個(gè)主要部分,主機程序和客機程序。主機程序具有以下功能:密鑰參數的選擇、對文件的加密解密、加解密文件的校驗、修改用戶(hù)密碼;而客機程序則只有一個(gè)加密模塊和用戶(hù)重置加密密鑰E和公鑰M。顯然客機程序只能進(jìn)行加密,所用的密鑰都是由主機程序的密鑰選擇模塊給出的,而解密密鑰D則只有主機程序用戶(hù)個(gè)人知道。通過(guò)這種方法,在任意一個(gè)計算機網(wǎng)絡(luò )內部,某節點(diǎn)A上運行主機程序,而與該節點(diǎn)通信的節點(diǎn)B上運行客機程序。如果B有重要的數據往A發(fā)送,則該節點(diǎn)就用A節 點(diǎn)所發(fā)布的加密密鑰E和公鑰M為參數對重要數據進(jìn)行加密,然后再將加密后的數據發(fā)送到A,由于這些數據都經(jīng)過(guò)特殊的處理,不用再為數據的安全而擔心。然后A用相應的D和M對數據進(jìn)行解密,還原出相應的數據。當一個(gè)網(wǎng)絡(luò )的許多高級用戶(hù)之間需要頻繁地互相傳遞信息,并且還要求高級用戶(hù)既能夠對需要發(fā)送的數據加密,也能夠對收到的經(jīng)過(guò)加密的數據進(jìn)行解密。這就要求在網(wǎng)絡(luò )的高級用戶(hù)的計算機上運行網(wǎng)絡(luò )信息的主機程序。

  該系統的設計分為密鑰選擇模塊、文件加密模塊、文件解密模塊、數據驗證模塊、修改密碼模塊、系統簡(jiǎn)介模塊和退出系統模塊等7大模塊。



3程序的模塊設計

3.1密鑰選擇模塊的設計

  選擇RSA密碼體制的密鑰對主要是確定E,D,M。因為密鑰對的選擇不能隨意產(chǎn)生,且P,Q的位數越多,攻破該密碼體制所需時(shí)間也越長(cháng),系統就越安全。但位數越多,速度也越慢。該模塊可以讓用戶(hù)自己來(lái)選擇素數位數。

  為方便用戶(hù),該模塊不需用戶(hù)直接輸入2個(gè)大的素數P、Q的值,而是輸入他們的鄰近似任意數,然后由計算機根據特定的算法在鄰近值附近找。得到2個(gè)大素數后,也得到公鑰M=P×Q,從而也得到M的歐拉數φ(M)=(P-1)×(Q-1)。

  大于P,Q并和φ(M)互素的數有無(wú)數個(gè),所以依舊采用由用戶(hù)輸入鄰近值,系統在其附近尋找一個(gè)滿(mǎn)足條件的整數E(其中用歐幾里德算法判斷E是否與φ(M)互素),得到加密密鑰E之后,將進(jìn)行尋找密鑰的最后一步:求出解密密鑰D,這可以根據式ED=1 mo d(φ(M))求得。

  經(jīng)過(guò)以上3個(gè)步驟,計算機輔助產(chǎn)生密鑰對的工作結束。隨后,計算機會(huì )提示是否將新產(chǎn)生的參數值更新為系統默認的參數值。用戶(hù)有兩種選擇,更新和不更新。

3.2加密模塊的設計

  文件在計算機里是以“0”、“1”的形式存儲,一定的二進(jìn)制比特流將表示一定大小的十進(jìn)制整數。例如: 二進(jìn)制比特流“10101010”將表示十進(jìn)制170,因此從文件的開(kāi)始處按順序讀取一定位數的二進(jìn)制比特流,并且這一定位數二進(jìn)制比特流表示的十進(jìn)制數X(X必須小于M)。經(jīng)過(guò)RSA的加密運算得到密文C=XE(mod M)。C是一個(gè)十進(jìn)制的數(0≤C≤M),然后將十進(jìn)制的數C寫(xiě)到目標文件。

3.3解密模塊的設計

  解密運算為X"=CD(mod M)。解密模塊和加密模塊原理基本相同,只是從文件里讀取需要解密的數據時(shí)必須與經(jīng)過(guò)加密算法后寫(xiě)入目標文件時(shí)的數據相同。這一點(diǎn)是系統能 否正確運行的前提條件。例如:如果將數據1 819加密后得到2 867,在解密時(shí),你從 文件中讀出來(lái)的數必須是2 867,否則經(jīng)過(guò)解密算法后得到的十進(jìn)制數X"與加密時(shí)從文件里讀出的X不相同,從而導致數據丟失。加密模塊和解密模塊是系統的核心模塊。

3.4數據驗證模塊設計

  數據驗證模塊是用戶(hù)對自己本人計算機上的本地文件進(jìn)行加密和解密用的。如果多人共同使用一臺計算機最好的方法就是用自己的加密密鑰E和公鑰M為參數對數據加密,然后用相應 的解密密鑰D和公鑰M對加密后的數據進(jìn)行解密。再將加密前的源文件和解密后的目標文件相比較。如果相同,則刪除加密前的源文件和解密后的目標文件,而只保留經(jīng)過(guò)加密后的文件。這樣其他用戶(hù)就無(wú)法查看該文件。需要這些數據時(shí),進(jìn)入網(wǎng)絡(luò )信息加密解密系統,輸入合適的解密密鑰D和公共密鑰M,將文件恢復。

3.5修改用戶(hù)密碼模塊設計

  為了保證本系統的安全性,只有本軟件的合法用戶(hù)才能進(jìn)入網(wǎng)絡(luò )信息加密解密系統。在軟件開(kāi)始運行時(shí)要求用戶(hù)輸入用戶(hù)密碼,如果用戶(hù)3次輸入不正確,將終止系統的正常運行。當用戶(hù)輸入密碼泄露后,可以通過(guò)修改用戶(hù)密碼模塊來(lái)解決。

  該模塊也采用RSA算法設計,系統的合法用戶(hù)必須知道該模塊正確的解密密鑰、公鑰和用戶(hù)密碼,才能進(jìn)入系統。否則系統將拒絕進(jìn)入。

  由于解密密鑰、公鑰和用戶(hù)密碼可以隨時(shí)更改,這就增加了非法用戶(hù)進(jìn)入系統的難度,將系統的不安全系數降至最低,從而保證系統的安全。

4結語(yǔ)

  Java是新一代的網(wǎng)絡(luò )編程語(yǔ)言,他有良好的移植性、面向對象、安全性和交互性比較高,因 此,上述各個(gè)模塊的設計全部采用Java編寫(xiě)。

  網(wǎng)絡(luò )傳輸信息加密解密系統經(jīng)在實(shí)際網(wǎng)絡(luò )環(huán)境 下測試表明:安裝簡(jiǎn)單、人機界面良好、保密性高、實(shí)用性強、可對任何類(lèi)型的文件加密解 密。

參考文獻

[1]陳 運.信息加密原理[M].成都:電子科技大學(xué)出版社,1990
[2]張 周.我國企業(yè)開(kāi)始重視網(wǎng)絡(luò )安全[J].計算機世界A9版,2000,( 3)
[3]張文政,孟慶志.通信保密技術(shù)[J]. 計算機應用,1998,(6):25-28
[4] 王 勇.RSA公開(kāi)密匙密碼體制的密匙生成研究[J].計算機應用研究,1998,(3):34 -37


作者:
金 冉1,蔣 艷2
(1.浙江萬(wàn)里學(xué)院 計算機系浙江 寧波315100;
2.西塢中學(xué)浙江 奉化315505)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>