亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Web的動(dòng)態(tài)插值DES加密算法

        2022-07-19 08:08:38孫建國高春庚
        關(guān)鍵詞:服務(wù)端加密算法解密

        孫建國,高春庚

        (濟(jì)源職業(yè)技術(shù)學(xué)院 人工智能學(xué)院,河南 濟(jì)源 459000)

        十四五規(guī)劃將人工智能AI列入科技發(fā)展的重中之重,人工智能在各個(gè)行業(yè)得到了長足的發(fā)展。人工智能三大核心要素為數(shù)據(jù)、算法、算力[1]。算法大部分開源,深度學(xué)習(xí)、卷積神經(jīng)網(wǎng)絡(luò)算法目前已經(jīng)比較成熟[2];因?yàn)樵朴?jì)算的出現(xiàn),算力已不是瓶頸;數(shù)據(jù)作為算法的糧食,需要不斷地給模型注入新的數(shù)據(jù),提高算法的準(zhǔn)確度。數(shù)據(jù)的重要性不言而喻[3]。

        保護(hù)數(shù)據(jù),特別是標(biāo)注好的數(shù)據(jù),成為算法公司防止惡意競(jìng)爭(zhēng)的重要任務(wù)。人工智能服務(wù)平臺(tái),例如百度眾測(cè)、數(shù)據(jù)堂、格物鈦等多家平臺(tái),通過搭建自己的服務(wù)平臺(tái),甚至是采用數(shù)據(jù)私有化方式,確保數(shù)據(jù)安全[4]。Web模式為了提高訪問速度,圖片數(shù)據(jù)需要暫存本地,數(shù)據(jù)安全很難保證。大的廠商采用服務(wù)器虛擬化軟件Citrix、VMWare控制訪問權(quán)限,將數(shù)據(jù)和操作分離,有效地保障了數(shù)據(jù)安全,但數(shù)據(jù)訪問過慢,降低了數(shù)據(jù)操作的效率[5]。一個(gè)有效的加密算法,數(shù)據(jù)存儲(chǔ)在本地,也很難被破解,同時(shí)也可提高數(shù)據(jù)操作的流暢性。

        針對(duì)傳統(tǒng)DES加密算法密鑰容易被破解安全性較低的問題,本文設(shè)計(jì)一種基于Web的動(dòng)態(tài)插值DES加密算法。本算法在傳統(tǒng)DES算法基礎(chǔ)上,根據(jù)數(shù)據(jù)的不同批次,設(shè)置多個(gè)關(guān)鍵位置,并在不同的位置插入加密數(shù)值;并結(jié)合服務(wù)端傳送不同批次數(shù)據(jù)的位置序列及對(duì)應(yīng)的加密值給客戶端,方便客戶端軟件解密數(shù)據(jù),有效使用數(shù)據(jù)。

        一、DES算法

        DES(Data Encryption Standard)是一種分組對(duì)稱密鑰加密算法,該算法每次處理固定長度的數(shù)據(jù)段。使用相同的8字節(jié)密鑰,進(jìn)行16輪迭代。每輪迭代都利用置換和代替兩個(gè)基本操作實(shí)現(xiàn)加解密[6]。

        到目前為止,窮舉分析是攻擊DES算法最有效的方法之一,遍歷8字節(jié)密鑰空間需要較長時(shí)間。但隨著計(jì)算機(jī)計(jì)算能力的提高,暴力破解密鑰將會(huì)變得非常容易[7]。

        二、改進(jìn)的DES算法

        DES算法核心是密鑰,因?yàn)樗惴ǖ拈_源性,導(dǎo)致密鑰一旦被攻破,數(shù)據(jù)整個(gè)將被完全解密出來[8]。改進(jìn)的DES算法首先從算法底層入手,在數(shù)據(jù)的指定位置中插入變化的數(shù)值;然后通過Web服務(wù)器下發(fā)每次的位置數(shù)據(jù)、數(shù)值數(shù)據(jù)以及密鑰;客戶端工具加入混淆編譯,防止解密過程密鑰被破解。具體算法流程如圖1所示。

        圖1 改進(jìn)的DES算法圖

        (一)動(dòng)態(tài)插值

        改進(jìn)的DES算法主要基于密鑰、插值位置、插值這三個(gè)關(guān)鍵值。為了防止破解,需要?jiǎng)討B(tài)變換。動(dòng)態(tài)插值采用客戶端/服務(wù)器模式,通過客戶端和服務(wù)器的按需交互,實(shí)現(xiàn)插值及密鑰的及時(shí)更新。

        動(dòng)態(tài)插值主要包括服務(wù)器動(dòng)態(tài)插值生成、動(dòng)態(tài)插值存儲(chǔ)以及動(dòng)態(tài)插值下發(fā)三部分,具體算法流程如圖2所示。

        圖2 動(dòng)態(tài)插值算法流程

        動(dòng)態(tài)插值生成包括插值位置、插值生成兩部分。

        插值位置作為加密的重點(diǎn)要素需要首先考慮,既要考慮插值個(gè)數(shù),也要兼顧插值位置分布。插值個(gè)數(shù)太少,容易被破解;插值個(gè)數(shù)過多,將浪費(fèi)大量的加密解密時(shí)間。服務(wù)端首先根據(jù)日常加密文件大小,確定插值數(shù)量最多不超過總長度的二分之一,同時(shí)控制插值數(shù)量最小不少于文件總長度的五分之一。插值數(shù)量確定后,采用均分方式,結(jié)合文件大小,指定插值段。在一定的插值段內(nèi),調(diào)用隨機(jī)數(shù),控制最近兩次位置間隔不少于20個(gè)字符來生成插值位置。如果出現(xiàn)少于20個(gè)字符間隔數(shù)據(jù),本次位置數(shù)據(jù)需要重新生成。經(jīng)過一系列操作,最終生成插值位置。

        插值位置產(chǎn)生后,一一對(duì)應(yīng)生成動(dòng)態(tài)插值。加密文件一般為非文本文件,即使是文本文件,也可以按照二進(jìn)制文件加密和解密。將加密文件統(tǒng)一按照二進(jìn)制方式處理,既可以使用95個(gè)可見ASICC碼字符,也可以使用161個(gè)控制字符或者其他特殊字符,進(jìn)一步擴(kuò)大了插值數(shù)值范圍。插值使用隨機(jī)函數(shù)生成,通過比對(duì)最近幾次插值,回避重復(fù)值過多、易被破解的問題。

        密鑰采用多種類型字符組合,可以使用0~9、a~z、A~Z常規(guī)字符,也可以使用“-”“+”“_”“/”“?”“.”“>”“<”等一些特殊字符。密鑰使用隨機(jī)函數(shù)產(chǎn)生,并通過算法控制必須包括4種類型字符,減少相同字符重復(fù)出現(xiàn)次數(shù),通過與服務(wù)器存儲(chǔ)的多個(gè)密鑰比較,確保唯一性。

        服務(wù)器管理多個(gè)廠家、多種類型的標(biāo)注數(shù)據(jù),每周甚至每天還會(huì)有新的數(shù)據(jù)加入。為了管理這些錯(cuò)綜復(fù)雜的數(shù)據(jù),需要對(duì)不同廠家、不同類型、不同日期的數(shù)據(jù)予以區(qū)分??蛻舳酥魂P(guān)心實(shí)際的標(biāo)注數(shù)據(jù),而且標(biāo)注數(shù)據(jù)往往都是以G為單位,所以無需在數(shù)據(jù)庫中存儲(chǔ)實(shí)際的標(biāo)注數(shù)據(jù)。算法本身關(guān)心的是和密鑰相關(guān)的數(shù)據(jù),所以需要把廠家、類型、日期這些信息與標(biāo)注數(shù)據(jù)存儲(chǔ)在一起,客戶端根據(jù)這些信息獲取不同的密鑰和插值。廠家、類型、日期這些信息可以采用傳統(tǒng)的DES算法加密,密鑰經(jīng)常更換。

        客戶端導(dǎo)入加密數(shù)據(jù)時(shí),首先通過DES解密,解析出廠家、類型、日期這些信息,并把它發(fā)送至服務(wù)端。服務(wù)端響應(yīng)后,在服務(wù)器中查詢并回復(fù)插值位置、插值和密鑰給客戶端,客戶端通過插值解密,恢復(fù)標(biāo)注數(shù)據(jù)。圖片數(shù)據(jù)將形成數(shù)據(jù)流直接導(dǎo)入圖片區(qū),標(biāo)記數(shù)據(jù)采用動(dòng)態(tài)方式,用時(shí)解密單個(gè)文件,一旦停止使用,立馬轉(zhuǎn)為加密文件。為了防止客戶端使用過程中被破解,可以采用間歇式數(shù)據(jù)交互方式定期向服務(wù)端回傳插值和密鑰,一旦發(fā)現(xiàn)異常,將關(guān)閉客戶端甚至可以刪除客戶端及加密數(shù)據(jù)來保護(hù)數(shù)據(jù)。

        除了服務(wù)端、客戶端數(shù)據(jù)加密外,在傳輸過程中,還需要采用安全簽名等多種方式確保數(shù)據(jù)不能在網(wǎng)絡(luò)通信環(huán)節(jié)被破解。

        (二)插值加密

        插值加密需要定義2個(gè)數(shù)組變量s_iDesPos、s_bDesVal。s_iDesPos是需要插值的位置,根據(jù)文件長度fLen,確定插值位置個(gè)數(shù)大于fLen/5,小于fLen/2,一般設(shè)置為fLen/3即可。s_bDesVal是每個(gè)加密位置對(duì)應(yīng)的插值,長度與插值位置一致,是一個(gè)隨機(jī)字節(jié)數(shù)組。

        具體加密過程為:

        (1)通過原始的DES加密算法完成首次加密。

        (2)使用File文件對(duì)象,打開加密后的文件,并讀入數(shù)據(jù)輸入流ms中。

        (3)設(shè)置當(dāng)前寫入位置變量iWritePos和寫入數(shù)量變量iWriteCount,兩個(gè)變量初值均為0。

        (4)打開加密后文件fs。

        (5)單字節(jié)方式讀取數(shù)據(jù)輸入流ms。

        (6)如果寫入數(shù)量iWriteCount小于插值位置s_iDesPos數(shù)組總長度,并且當(dāng)前寫入位置iWritePos等于插值位置s_iDesPos[iWriteCount],寫入插值s_bDesVal[iWriteCount]至加密文件fs中,并遞加當(dāng)前寫入數(shù)量變量iWriteCount。寫入插值后,仍需要將原始加密數(shù)據(jù)寫入fs,并改變當(dāng)前寫入位置iWritePos;否則,只寫入原始加密數(shù)據(jù)、改變當(dāng)前寫入位置。

        (7)重復(fù)步驟5、6,直到輸入流ms讀取完畢為止。

        fs = File.OpenWrite(savePath);

        int iWritePos = 0;

        int iWriteCount = 0;

        foreach (byte b in ms.ToArray())

        {

        if (iWriteCount < s_iDesPos.Length && s_iDesPos[iWriteCount]== iWritePos)

        {

        fs.WriteByte(s_bDesVal[iWriteCount]);

        iWriteCount++;

        }

        fs.WriteByte(b);

        iWritePos++;

        }

        (三)混淆編譯

        客戶端使用過程中,潛在的風(fēng)險(xiǎn)就是反編譯。一旦客戶端被反編譯,固定密匙很容易被看到;通過服務(wù)端傳遞的密匙也有可能會(huì)被追查到內(nèi)存地址,進(jìn)而破解密匙。通過混淆編譯,可以防止客戶端被暴力破解。C#編寫的代碼可使用VS自帶的Dotfuscator實(shí)現(xiàn)混淆代碼、變量名修改、字符串加密等功能。Java編寫的代碼可使用ProGuard,一個(gè)純Java編寫的混淆工具,有客戶端和JAR包兩種使用方式??梢詫⒊绦虼虬鼮镴AR,然后用工具進(jìn)行混淆,也可以在maven中導(dǎo)入ProGuard的插件,對(duì)代碼進(jìn)行混淆[9]。

        三、算法實(shí)施及效果

        基于Web的動(dòng)態(tài)插值DES加密算法動(dòng)態(tài)插值部分前端頁面采用JSP技術(shù),后臺(tái)采用B/S(Browser/Server)結(jié)構(gòu),MVC設(shè)計(jì)模式以及當(dāng)前流行的整合框架SSM(Struts2+Spring+Mybatis),結(jié)合MySQL數(shù)據(jù)庫,使用Eclipse開發(fā)實(shí)現(xiàn)服務(wù)器動(dòng)態(tài)插值生成、動(dòng)態(tài)插值存儲(chǔ)。使用ProGuard的插件,完成Java代碼的混淆編譯。

        數(shù)據(jù)加密、解密部分使用Microsoft Visual Studio 2015中的WebClient+WebRequest實(shí)現(xiàn)動(dòng)態(tài)插值下載,借用傳統(tǒng)的DES加密、解密算法,在多個(gè)位置上插入加密值實(shí)現(xiàn)動(dòng)態(tài)插值;通過VS2015自帶的Dotfuscator實(shí)現(xiàn)混淆代碼,防止反編譯。

        標(biāo)注數(shù)據(jù)來源于4家自動(dòng)駕駛相關(guān)算法研究公司,覆蓋前視數(shù)據(jù)、環(huán)視數(shù)據(jù)、鳥瞰車位數(shù)據(jù),前視數(shù)據(jù)60萬左右,環(huán)視數(shù)據(jù)40多萬,車位數(shù)據(jù)20多萬。圖片多為1K(1280*720)數(shù)據(jù)和2K(1920*1080)數(shù)據(jù),部分?jǐn)?shù)據(jù)為4K(4096*2160)超高清數(shù)據(jù),鳥瞰數(shù)據(jù)分辨率較為特殊,不同公司分辨率大小不一。

        使用改進(jìn)的DES算法,完成百萬級(jí)數(shù)據(jù)的加密。算法及數(shù)據(jù)運(yùn)營6年,期間出現(xiàn)員工暴力破解的情況,但還未破解成功,數(shù)據(jù)即被刪除;與合作公司經(jīng)常溝通數(shù)據(jù)安全,并未出現(xiàn)數(shù)據(jù)被倒賣盜用的問題,有效回避了同行業(yè)不正當(dāng)競(jìng)爭(zhēng)。

        基于改進(jìn)的DES算法的標(biāo)注工具使用人數(shù)突破500人,日使用頻率達(dá)到8個(gè)小時(shí)以上,年使用頻率達(dá)到300天以上,對(duì)比未使用改進(jìn)的DES算法的標(biāo)注工具,從未出現(xiàn)加密、解密過程造成的數(shù)據(jù)延遲、報(bào)錯(cuò)等各種異常。由此可見,本文算法在保證數(shù)據(jù)安全性的同時(shí),有效地提高了數(shù)據(jù)的可靠性和穩(wěn)定性。

        四、結(jié)語

        在傳統(tǒng)DES算法基礎(chǔ)上,提出了一種改進(jìn)的DES加密算法。通過在DES加密后數(shù)據(jù)隨機(jī)位置插值,提高數(shù)據(jù)破解難度;使用客戶端/服務(wù)端模式,動(dòng)態(tài)下載密鑰相關(guān)數(shù)據(jù),保證插值位置、插值、DES密鑰實(shí)時(shí)更新;結(jié)合Java、C#混淆編譯,防止加密解密工具被破解。多方面提高了數(shù)據(jù)的安全性。該算法運(yùn)用在數(shù)據(jù)標(biāo)注行業(yè)6年,未出現(xiàn)數(shù)據(jù)泄露情況,具有較強(qiáng)的實(shí)用性。

        猜你喜歡
        服務(wù)端加密算法解密
        解密“熱脹冷縮”
        解密“一包三改”
        炫詞解密
        云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
        新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
        在Windows Server 2008上創(chuàng)建應(yīng)用
        基于小波變換和混沌映射的圖像加密算法
        Hill加密算法的改進(jìn)
        解密“大調(diào)解”
        對(duì)稱加密算法RC5的架構(gòu)設(shè)計(jì)與電路實(shí)現(xiàn)
        久久午夜一区二区三区| 亚洲乱码一区AV春药高潮| 国产综合久久久久影院| 国产精品视频免费的| 国产日产亚洲系列av| 日本人妖一区二区三区| 亚洲中文字幕免费精品| 国产精品亚洲ΑV天堂无码| 人人爽亚洲aⅴ人人爽av人人片 | 精品精品国产自在97香蕉| 中文字幕一区二区三区乱码人妻| 在线观看亚洲av每日更新影片| 亚洲偷自拍国综合第一页| 国产猛男猛女超爽免费视频| 亚洲乱码国产乱码精品精| 色先锋av资源中文字幕| 最近免费中文字幕| 国产在线一区观看| 香蕉视频免费在线| 日韩黄色大片免费网站| 国产免费人成视频网站在线18| 亚洲av无码乱码国产精品| 久久人人爽人人爽人人av| 国产喷水福利在线视频| 亚洲AV秘 无码一区二区三区1| 亚洲成aⅴ人片在线观看天堂无码| 青青草在线免费观看在线| 青青草小视频在线播放| 在线亚洲高清揄拍自拍一品区| 51国偷自产一区二区三区| 免费看国产成年无码av| av大片网站在线观看| 偷拍一区二区盗摄视频| 久久久无码精品亚洲日韩按摩| 国产乱子伦一区二区三区| 国产精品理人伦国色天香一区二区 | 亚洲永久无码7777kkk| 久99久精品免费视频热77| 国产精品一区二区韩国av| 人妻夜夜爽天天爽三区丁香花 | 天堂a版一区二区av|