0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何設(shè)計(jì)網(wǎng)絡(luò)傳輸信息加密解密系統(tǒng)

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-09-14 09:09 ? 次閱讀

計(jì)算機(jī)網(wǎng)絡(luò),是指將地理位置不同的具有獨(dú)立功能的多臺(tái)計(jì)算機(jī)及其外部設(shè)備,通過(guò)通信線路連接起來(lái),在網(wǎng)絡(luò)操作系統(tǒng),網(wǎng)絡(luò)管理軟件及網(wǎng)絡(luò)通信協(xié)議的管理和協(xié)調(diào)下,實(shí)現(xiàn)資源共享和信息傳遞的計(jì)算機(jī)系統(tǒng)。由此看來(lái),網(wǎng)絡(luò)的安全系數(shù)一般都比較小。數(shù)據(jù)加密是確保計(jì)算機(jī)網(wǎng)絡(luò)重要的安全機(jī)制,但是,利用公鑰體制,尤其是利用RSA算法的實(shí)用加密解密軟件系統(tǒng)很少。最龐大的計(jì)算機(jī)網(wǎng)絡(luò)就是因特網(wǎng)。它由非常多的計(jì)算機(jī)網(wǎng)絡(luò)通過(guò)許多路由器互聯(lián)而成。因此因特網(wǎng)也稱為“網(wǎng)絡(luò)的網(wǎng)絡(luò)”。另外,從網(wǎng)絡(luò)媒介的角度來(lái)看,計(jì)算機(jī)網(wǎng)絡(luò)可以看做是由多臺(tái)計(jì)算機(jī)通過(guò)特定的設(shè)備與軟件連接起來(lái)的一種新的傳播媒介。

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

1公鑰密碼體制

公鑰密碼就是一種陷門(mén)單向函數(shù)。我們說(shuō)一個(gè)函數(shù)f是單向函數(shù),即若對(duì)它的定義域中的任意x都易于計(jì)算y=f(x),而當(dāng)f的值域中的y為已知時(shí)要計(jì)算出x是非常困難的。公鑰密碼體制就是基于這一原理而設(shè)計(jì)的,將輔助信息(陷門(mén)信息)作為秘密密鑰。這類密碼的安全強(qiáng)度取決于它所依據(jù)的問(wèn)題的計(jì)算復(fù)雜度。

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

在傳統(tǒng)密碼體制的算法中,知道了加密過(guò)程,則可以推出解密過(guò)程。而在公鑰密碼體制的算法中,即使知道了加密過(guò)程,也不可能推出解密過(guò)程。因而計(jì)算加密密鑰E,公鑰M和解密密鑰D需要特殊的算法和步驟。以確保不能從加密密鑰E和公鑰M推導(dǎo)出解密密鑰D。

RSA體制是一種新型公鑰密碼體制。該公鑰密碼體制以數(shù)論為基礎(chǔ),其原理是:求2個(gè)大素?cái)?shù)的乘積很容易實(shí)現(xiàn),但將一個(gè)大的合數(shù)分解成2個(gè)大素?cái)?shù)很難實(shí)現(xiàn)。RSA加密和解密運(yùn)算的數(shù)學(xué)表達(dá)式為:

C=XE(modM)

X=CD(mod M)

其中:X為明文,C為密文,(0(1)M是2個(gè)大素?cái)?shù)P,Q的乘積,從而M的歐拉數(shù)φ(M)=(P-1)×(Q-1)。

(2)D是大于P,Q的并與φ(M)互素的正整數(shù)。

(3)E是D關(guān)于φ(M)的乘逆。即ED=1 mod(φ(M))。

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

例如:P=101,Q=113,那么M=P×Q=11 413,φ(M)=(P-1)×(Q-1)=100×112=11 200,與φ( M)互素的整數(shù)E有無(wú)數(shù)個(gè),因此,假設(shè)E=3 533,根據(jù)公式ED=1mod(φ(M)),求得D =6 597。假設(shè)明文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系統(tǒng)設(shè)計(jì)

網(wǎng)絡(luò)信息加密解密系統(tǒng)包含2個(gè)主要部分,主機(jī)程序和客機(jī)程序。主機(jī)程序具有以下功能:密鑰參數(shù)的選擇、對(duì)文件的加密解密、加解密文件的校驗(yàn)、修改用戶密碼;而客機(jī)程序則只有一個(gè)加密模塊和用戶重置加密密鑰E和公鑰M。如果B有重要的數(shù)據(jù)往A發(fā)送,則該節(jié)點(diǎn)就用A節(jié)點(diǎn)所發(fā)布的加密密鑰E和公鑰M為參數(shù)對(duì)重要數(shù)據(jù)進(jìn)行加密,然后再將加密后的數(shù)據(jù)發(fā)送到A,由于這些數(shù)據(jù)都經(jīng)過(guò)特殊的處理,不用再為數(shù)據(jù)的安全而擔(dān)心。當(dāng)一個(gè)網(wǎng)絡(luò)的許多高級(jí)用戶之間需要頻繁地互相傳遞信息,并且還要求高級(jí)用戶既能夠?qū)π枰l(fā)送的數(shù)據(jù)加密,也能夠?qū)κ盏降慕?jīng)過(guò)加密的數(shù)據(jù)進(jìn)行解密。這就要求在網(wǎng)絡(luò)的高級(jí)用戶的計(jì)算機(jī)上運(yùn)行網(wǎng)絡(luò)信息加密解密系統(tǒng)的主機(jī)程序。

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

如何設(shè)計(jì)網(wǎng)絡(luò)傳輸信息加密解密系統(tǒng)

3程序的模塊設(shè)計(jì)

3.1密鑰選擇模塊的設(shè)計(jì)

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

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

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

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

3.2加密模塊的設(shè)計(jì)

文件在計(jì)算機(jī)里是以“0”、“1”的形式存儲(chǔ),一定的二進(jìn)制比特流將表示一定大小的十進(jìn)制整數(shù)。C是一個(gè)十進(jìn)制的數(shù)(0≤C≤M),然后將十進(jìn)制的數(shù)C寫(xiě)到目標(biāo)文件。

3.3解密模塊的設(shè)計(jì)

解密運(yùn)算為X"=CD(mod M)。解密模塊和加密模塊原理基本相同,只是從文件里讀取需要解密的數(shù)據(jù)時(shí)必須與經(jīng)過(guò)加密算法后寫(xiě)入目標(biāo)文件時(shí)的數(shù)據(jù)相同。這一點(diǎn)是系統(tǒng)能否正確運(yùn)行的前提條件。加密模塊和解密模塊是系統(tǒng)的核心模塊。

3.4數(shù)據(jù)驗(yàn)證模塊設(shè)計(jì)

數(shù)據(jù)驗(yàn)證是將你刻在刻錄盤(pán)上的數(shù)據(jù)和你硬盤(pán)上源文件進(jìn)行對(duì)比MD5值,看是否一致的。在網(wǎng)站開(kāi)發(fā)中,數(shù)據(jù)驗(yàn)證分為客戶端驗(yàn)證和服務(wù)器端驗(yàn)證??蛻舳蓑?yàn)證是為了驗(yàn)證數(shù)據(jù)的長(zhǎng)度、類型等是否符合輸入要求,一般用JavaScript實(shí)現(xiàn);服務(wù)器端驗(yàn)證則是驗(yàn)證輸入數(shù)據(jù)是否與數(shù)據(jù)庫(kù)中已存在的數(shù)據(jù)匹配,在MVC框架開(kāi)發(fā)中一般采用三層模式進(jìn)行驗(yàn)證。

數(shù)據(jù)驗(yàn)證模塊是用戶對(duì)自己本人計(jì)算機(jī)上的本地文件進(jìn)行加密和解密用的。如果多人共同使用一臺(tái)計(jì)算機(jī)最好的方法就是用自己的加密密鑰E和公鑰M為參數(shù)對(duì)數(shù)據(jù)加密,然后用相應(yīng)的解密密鑰D和公鑰M對(duì)加密后的數(shù)據(jù)進(jìn)行解密。這樣其他用戶就無(wú)法查看該文件。需要這些數(shù)據(jù)時(shí),進(jìn)入網(wǎng)絡(luò)信息加密解密系統(tǒng),輸入合適的解密密鑰D和公共密鑰M,將文件恢復(fù)。

3.5修改用戶密碼模塊設(shè)計(jì)

為了保證本系統(tǒng)的安全性,如果用戶3次輸入不正確,將終止系統(tǒng)的正常運(yùn)行。當(dāng)用戶輸入密碼泄露后,可以通過(guò)修改用戶密碼模塊來(lái)解決。

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

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

4結(jié)語(yǔ)

Java 應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分。在硬件或操作系統(tǒng)平臺(tái)上安裝一個(gè)Java平臺(tái)之后,Java應(yīng)用程序就可運(yùn)行。現(xiàn)在Java平臺(tái)已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運(yùn)行。網(wǎng)絡(luò)傳輸信息加密解密系統(tǒng)經(jīng)在實(shí)際網(wǎng)絡(luò)環(huán)境 下測(cè)試表明:安裝簡(jiǎn)單、人機(jī)界面良好、保密性高、實(shí)用性強(qiáng)、可對(duì)任何類型的文件加密解密。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7360

    瀏覽量

    87632
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6684

    瀏覽量

    123140
  • 因特網(wǎng)
    +關(guān)注

    關(guān)注

    1

    文章

    40

    瀏覽量

    12784
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    怎樣解密(芯片解密IC解密)加密

    硬件加密鎖,俗稱“加密狗”,對(duì)于加密狗的**大致可以分為三種方法,一種是通過(guò)硬件克隆或者復(fù)制,第二種是通過(guò)Soft ICE等Debug工具調(diào)試跟蹤解密,第三種是通過(guò)編寫(xiě)攔截程序修改軟件
    發(fā)表于 04-16 09:20

    詳細(xì)介紹Flash型單片機(jī)的加密解密方法

    ”,系統(tǒng)進(jìn)入解密狀態(tài)。  由于系統(tǒng)靠檢查Flash ROM和EEPROM是否清空來(lái)決定系統(tǒng)是否保持加密狀態(tài),所以,如果用戶程序偶然將Flas
    發(fā)表于 10-21 19:59

    芯片加密解密技術(shù)原理

    。由于這些代碼和數(shù)據(jù)在單片機(jī)端沒(méi)有副本存在,因此解密者無(wú)從猜測(cè)算法或竊取數(shù)據(jù),從而極大程度上保證了整個(gè)軟件系統(tǒng)的安全性。深聯(lián)華 特殊加密 技術(shù)保持知識(shí)產(chǎn)權(quán)的安全性,甚至它在 OEM 制造商或分包商手中也是
    發(fā)表于 12-27 14:25

    labview加密解密文件

    本帖最后由 wang060102122 于 2017-9-8 14:50 編輯 論壇有位網(wǎng)友分布的加密解密文件夾小程序,其中加密可以正常使用,解密有一些問(wèn)題,好多人都在跟帖問(wèn)如
    發(fā)表于 09-08 14:45

    ZigBee的加密解密介紹

    私鑰,而其他網(wǎng)絡(luò)無(wú)法知道這個(gè)私鑰的內(nèi)容)。* 非對(duì)稱性加密算法,比如AESZigBee設(shè)備加入網(wǎng)絡(luò)后,必須得到私鑰才能通信(用來(lái)解密數(shù)據(jù)包內(nèi)容),這個(gè)私鑰是由一個(gè)叫TC的設(shè)備(一般是協(xié)
    發(fā)表于 04-17 18:12

    如何設(shè)計(jì)網(wǎng)絡(luò)廣播系統(tǒng)

    如何設(shè)計(jì)網(wǎng)絡(luò)廣播系統(tǒng)?需要注意哪些事項(xiàng)?
    發(fā)表于 08-09 07:18

    加密解密的用途都有哪些呢

    有哪些加密算法呢?加密解密的用途都有哪些呢?
    發(fā)表于 01-20 06:00

    RT1020總線加密引擎是否加密解密?

    總線加密引擎是否加密解密? 例如,如果我正在運(yùn)行一個(gè)加密的 XIP 應(yīng)用程序(來(lái)自串行或閃存),并且我希望它向閃存的不同區(qū)域?qū)懭胍恍﹥?nèi)容,會(huì)發(fā)生什么?是寫(xiě)的時(shí)候
    發(fā)表于 05-10 06:10

    數(shù)據(jù)加密解密,數(shù)據(jù)加密解密原理是什么?

    數(shù)據(jù)加密解密,數(shù)據(jù)加密解密原理是什么? 隨著Internet 的普及,大量的數(shù)據(jù)、文件在Internet 傳送,因此在客觀上就需要一種強(qiáng)有力的安
    發(fā)表于 03-19 13:46 ?7275次閱讀

    iSCSI網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)加密方法研究與設(shè)計(jì)

    設(shè)計(jì)了加密寫(xiě)和解密讀流程,加解密模塊相對(duì)原網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)獨(dú)立,不用更改系統(tǒng)內(nèi)核,而iSCSI in
    發(fā)表于 11-23 11:10 ?0次下載
    iSCSI<b class='flag-5'>網(wǎng)絡(luò)</b>存儲(chǔ)<b class='flag-5'>系統(tǒng)</b>中<b class='flag-5'>加密</b>方法研究與設(shè)計(jì)

    基于Ukey信息加密系統(tǒng)

    針對(duì)文件安全問(wèn)題,本文綜合利用了身份認(rèn)證、文件加密、信息隱藏、Ukey存儲(chǔ)控制等安全關(guān)鍵技術(shù),并基于獨(dú)特的分組加密+文件分割工作模式,開(kāi)發(fā)一套安全易用的信息
    發(fā)表于 12-15 14:54 ?1次下載
    基于Ukey<b class='flag-5'>信息</b><b class='flag-5'>加密</b><b class='flag-5'>系統(tǒng)</b>

    網(wǎng)絡(luò)上對(duì)芯片解密的定義,解密方法與原理解析!

    其實(shí)了解芯片解密方法之前先要知道什么是芯片解密,網(wǎng)絡(luò)上對(duì)芯片解密的定義很多,其實(shí)芯片解密就是通過(guò)半導(dǎo)體反向開(kāi)發(fā)技術(shù)手段,將已
    的頭像 發(fā)表于 01-17 07:06 ?7632次閱讀
    <b class='flag-5'>網(wǎng)絡(luò)</b>上對(duì)芯片<b class='flag-5'>解密</b>的定義,<b class='flag-5'>解密</b>方法與原理解析!

    詳細(xì)解讀Go加密解密算法

    本文介紹了常用的加密算法,并對(duì)這些加密算法結(jié)合實(shí)際 golang 代碼段進(jìn)行了詳細(xì)解讀。 前言 加密解密在實(shí)際開(kāi)發(fā)中應(yīng)用比較廣泛,常用加解密
    的頭像 發(fā)表于 07-29 17:37 ?2441次閱讀

    探究FPGA的圖像及視頻加密解密系統(tǒng)

    第一部分 設(shè)計(jì)概述 1.1 設(shè)計(jì)目的 在多媒體技術(shù)高度發(fā)展的今天,視頻信息安全愈發(fā)受到人們的關(guān)注。傳統(tǒng)的視頻加密方法主要應(yīng)用在軟件層面上,其算法設(shè)計(jì)復(fù)雜、加密速度慢,不適用于視頻的實(shí)時(shí)加密
    的頭像 發(fā)表于 11-01 11:35 ?3257次閱讀
    探究FPGA的圖像及視頻<b class='flag-5'>加密</b><b class='flag-5'>解密</b><b class='flag-5'>系統(tǒng)</b>

    RSA加密解密

    RSA加密解密
    發(fā)表于 05-26 15:44 ?3次下載