• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    RSA算法在藏文字符加密中的應用

    2019-07-16 11:55:38李金合高定國孫改新
    電子技術(shù)與軟件工程 2019年8期
    關(guān)鍵詞:明文藏文私鑰

    李金合 高定國 孫改新

    摘要:信息安全是人們非常關(guān)注的熱點問題,對通用語言的字符加密是保證信息安全的重要手段之一。國內(nèi)外非常注重信息加密的研究,但藏文等少數(shù)民族文字的信息加密尚待開墾。本文在分析RSA算法基本原理的基礎(chǔ)上,編程實現(xiàn)了RSA對藏文字符的加密,通過對藏文字符的加密與解密的測試,證明了RSA算法對藏文字符的適用性和正確性。

    [關(guān)鍵詞]信息安全RSA算法藏文

    1引言

    加密技術(shù)由來已久,早在幾千年以前,人們便學會了用簡單的方法對信息進行加密。隨著時代的發(fā)展與科技的進步,在上世紀四十年代末香農(nóng)發(fā)表了《保密系統(tǒng)的發(fā)展》后,信息安全學科得到了蓬勃發(fā)展,逐步形成了信息安全體系,并從最初的軍事、國防應用,延伸到生活的各個方面。因此,信息的保密性、完整性、可用性變得尤為重要,一旦國家或個人的信息遭到泄露,將會帶來嚴重的財產(chǎn)損失和安全隱患。據(jù)統(tǒng)計,全球每年因信息安全問題造成的經(jīng)濟損失達幾十億美元,因此,信息安全保障體系的建設(shè)迫在眉睫,信息安全最核心問題是對信息的加密。

    在目前最流行、最安全的公開密鑰加密算法中,最著名的當屬RSA加密算法。該算法是RonRivest、AdiShamir、LeonardAdleman三人于1977年聯(lián)合提出的,以大整數(shù)分解的難度保證其安全性,經(jīng)受住了近幾十年的攻擊與分析。RSA算法的改進應用非常廣泛,在算法改進方面,提出了對素數(shù)構(gòu)造及素性測試方法的改進和對算法自身步驟的改進兩個方面。在應用方面,首先許金玲在其碩士論文中提出了基于RSA和AES混合的加密系統(tǒng),接著李寧在其碩士論文中提出了基于DES和RSA混合加密的安全傳輸系統(tǒng),再趙贊也提出了RSA在FPGA(Filed-ProgrammableGateArray)動態(tài)重構(gòu)系統(tǒng)安全方面的應用,還有二維碼的防偽技術(shù)等方面的應用。國內(nèi)外對大語種的加密算法研究非常重視和廣泛,但藏文等少數(shù)民族語言的加密研究很少。只有2006年齊愛琴曾在碩士論文中提到的利用對稱加密和非對稱加密算法結(jié)合設(shè)計實現(xiàn)了一個藏漢文身份證信息系統(tǒng)和2007年普措才讓等人提出的基于藏文字符的置換加密算法。近十幾年對藏文字符的加密研究停滯不前,研究藏文字符的加密有很重要的意義。因此,本論文在分析RSA算法原理的基礎(chǔ)上,編程實現(xiàn)了RSA算法對藏文字符的加密。

    2RSA算法的理論依據(jù)

    公開密鑰加密算法起源于NP完全問題,其算法的安全性在于沒有一個確定的公式求解NP完全問題。RSA算法是第一個較完善的公開密鑰算法,其安全性得到了公認,并一直作為基礎(chǔ)算法供人們研究和使用。RSA算法運行過程主要分為四個部分:公鑰產(chǎn)生、私鑰產(chǎn)生、加密和解密。

    2.1公鑰產(chǎn)生

    首先隨機選取兩個長度相同、數(shù)值不同的大素數(shù)進行乘積運算得到公鑰n,目前一般采用1024位或2048位公鑰n以保證加密的安全性,然后利用歐拉定理三求得公式(1),再隨機選取加密密鑰e,使得滿足1

    2.2私鑰產(chǎn)生

    私鑰對由d和n組成,即(d,n)。。其中n為公共密鑰,在“公鑰產(chǎn)生”過程中求出,d則需要根據(jù)計算e對于φ(n)的模反元素,即利用歐幾里得算法(也稱輾轉(zhuǎn)相除法)進行求解。

    2.3加密

    加密時,根據(jù)“公鑰產(chǎn)生”過程求出的公鑰對(e,n),利用公式(2)對明文進行加密。

    2.4解密

    解密時,根據(jù)“私鑰產(chǎn)生”過程求出的私鑰對(d,n),利用公式3對密文進行解密。

    基于,上述理論,加密和解密兩個階段實質(zhì)上是一個互逆過程,利用公式(3)對密文進行解密就是對加密公式(2)的逆向推導,其合理性由公式(4)的推導進行了證明。

    3RSA算法對藏文字符加密

    3.1程序的總過程

    RSA算法在編程實現(xiàn)時,主要分為兩部分:方法、主程序。方法包括獲取公鑰的方法、獲取私鑰的方法、公鑰加密的方法、私鑰解密的方法。為了適應計算機的局限性和保證編碼的正確性,還需要定義藏文字符編碼為“UTF-8”以及對數(shù)據(jù)分組。

    在方法的實現(xiàn)中:

    (1)定義“UTF-8”編碼及“RSA”算法。(2)在獲取密鑰的方法中,先定義密鑰對的一個對象,并初始化密鑰長度,然后用KeyPair鍵對保持生成的密鑰對,再分別利用publicKey、privateKey的getEncoded()方法獲取公鑰和私鑰,再對得到的密鑰用Base64進行編碼后分別傳送給公鑰、私鑰字符串對象,最后用Hash編碼的HashMap集合實現(xiàn)Map接口。

    (3)在獲取公鑰方法中,先對Base64編碼的公鑰進行解碼,再經(jīng)X509編碼對公鑰進行規(guī)范,最后得到X509編碼的公鑰。

    (4)在獲取私鑰的方法中,先對Base64編碼的私鑰進行解碼,再用PKCS8編碼對私鑰進行規(guī)范,最后得到PKCS8編碼的私鑰。

    (5)在公鑰加密方法中,先用ENCRYPT_MODE初始化加密到加密模式的常數(shù),然后調(diào)用分組加密方法對明文進行加密,并使用Base64編碼。

    (6)在私鑰解密方法中,先用DECRYPT_MODE初始化解密到解密模式的常數(shù),然后調(diào)用數(shù)據(jù)分組方法對Base64編碼的密文進行分組解密。

    在主程序中,首先利用Map接口從密鑰工廠獲取1024位的公鑰n,然后利用keyMap.get方法分別獲取公鑰e和私鑰n,接下來需要從外部接收需要加密的明文,接收明文后利用公鑰加密方法對公鑰進行加密并形成密文,再對密文利用私鑰解密方法便可恢復出明文。

    3.2加密

    在加密過程中,首先需要接收到需要加密的明文,然后利用ENCRYPT_MODE對明文進行一個規(guī)范化處理,將明文的模式適合加密方法,然后將明文開始分組,再利用加密公式對明文分組進行加密,最后得到n個密文分組,再將密文分組連接起來,得到完整的密文,其加密流程圖如圖1。

    3.3解密

    在解密過程中,首先需要接收到加密的明文,然后利用DECRYPT_MODE對密文進行一個規(guī)范化處理,將密文的模式適合解密方法,然后將密文開始分組,再利用解密公式對密文分組進行解密,最后得到n個明文分組,再將明文分組連接起來,得到完整的明文,其解密流程圖如圖2。

    4測試

    本文在Windows10操作系統(tǒng)下的JDK1.8版本上利用Java語言對算法實現(xiàn)了編程,主要調(diào)用了Java內(nèi)部的security包、io包、util包、crypto和外部阿帕奇的org.apache.commons.codec.binary.Base64、org.apache.commons.io.IOUtils的jar包。程序運行后,首先在console上打印公鑰和私鑰,然后開始輸入明文進行加密,加密后輸出密文并同時對密文進行解密輸出明文。

    本次測試利用的藏文文本如圖3所示。以上藏文文本加密后的密文如圖4所示。程序?qū)σ?,上密文進行解密后藏文明文如圖5所示。

    經(jīng)比較,加密前數(shù)據(jù)與解密后的數(shù)據(jù)完全一致,證明了RSA算法對藏文字符加密和解密的適用性和正確性。

    5結(jié)束語

    加密是信息安全的主要手段,而RSA是加密中性能和安全性都較好的算法。隨著信息技術(shù)的發(fā)展,RSA算法在各個方面廣泛應用,但沒有人應用在藏文字符等少數(shù)民族信息的加密中。本文實現(xiàn)了RSA算法對藏文字符的加密,希望以后有更多的先進加密算法應用到藏文等少數(shù)民族信息安全中,推動少數(shù)民族信息安全的研究。

    參考文獻

    [1]方關(guān)寶,信息安全[J].通信技術(shù),1994(01):64-77.

    [2]AlfredJ.Menezes,PaulC.vanOorschot,ScottA.Vanstone著,胡磊等譯,應用密碼學手冊,[M].北京:電子工業(yè)出版社.2005.

    [3]趙陽,數(shù)據(jù)加密技術(shù)在計算機網(wǎng)絡(luò)安全中的應用價值研究[J].網(wǎng)絡(luò)安全技術(shù)與應用,2018(12):32-33.

    [4]周利榮,胡天磊?;谌R梅素數(shù)判定定理的安全素數(shù)構(gòu)造算法[J].計算機工程與應用,2016,52(13):152-156+182.

    [5]李云飛,柳青,郝林,周保林。一種有效的RSA算法改進方案[J].計算機應用,2010,30(09):2393-2397.

    [6]許金玲?;赗SA與AES混合加密系統(tǒng)的算法研究[D].燕山大學,2006.

    [7]李寧,基于DES-RSA混合加密算法的安全傳輸系統(tǒng)設(shè)計和實現(xiàn)[D].國防科學技術(shù)大學,2007.

    [8]趙贊.RSA加密技術(shù)在FPGA動態(tài)重構(gòu)系統(tǒng)安全方面的應用[D].大連理工大學,2013.

    [9]齊愛琴?;诩用芗夹g(shù)的藏漢文身份證信息系統(tǒng)的設(shè)計與實現(xiàn)[D].蘭州大學,2006.

    [10]WilliamStallings著,王張宜等譯,密碼編碼學與網(wǎng)絡(luò)安全——原理與實踐[M].北京:電子工業(yè)出版社.2012:192.

    [11]普措才仁,夏吾才讓,藏文在通信網(wǎng)絡(luò)加秘技術(shù)中的應用[J].西北民族大學學報(自然科學版),2007(01):36-39.

    [12]MichaelWelschenbach著,杜瑞穎等譯,密碼學[M].北京:機械工業(yè)出版社,2016:241.

    [13]潘承洞,潘承彪.初等數(shù)論[M].北京:北京大學出版社,2013:144.

    [14]BruceSchneier.應用密碼學:協(xié)議、算法與C源程序[M].北京:機械工業(yè)出版社,2014:334

    猜你喜歡
    明文藏文私鑰
    比特幣的安全性到底有多高
    基于改進ECC 算法的網(wǎng)絡(luò)信息私鑰變換優(yōu)化方法
    西藏大批珍貴藏文古籍實現(xiàn)“云閱讀”
    布達拉(2020年3期)2020-04-13 10:00:07
    黑水城和額濟納出土藏文文獻簡介
    西夏學(2019年1期)2019-02-10 06:22:34
    一種基于虛擬私鑰的OpenSSL與CSP交互方案
    奇怪的處罰
    藏文音節(jié)字的頻次統(tǒng)計
    現(xiàn)代語境下的藏文報刊
    新聞傳播(2016年17期)2016-07-19 10:12:05
    奇怪的處罰
    海林市| 武山县| 泗水县| 高淳县| 吉木萨尔县| 新昌县| 伊宁市| 扬中市| 辽宁省| 齐河县| 怀化市| 丰镇市| 武功县| 伊金霍洛旗| 双牌县| 汝南县| 车险| 建水县| 东丰县| 定远县| 永嘉县| 高青县| 衡南县| 三江| 延边| 宕昌县| 峨眉山市| 安西县| 德化县| 高雄市| 西宁市| 平阴县| 澄江县| 汾西县| 芦山县| 泗洪县| 通河县| 永和县| 余庆县| 巴楚县| 南丹县|