?

淺談維吉尼亞加密算法的原理與實現

2017-05-19 03:30葛藍
電腦與電信 2017年4期
關鍵詞:維吉尼亞明文方陣

葛藍

(廣州市公用事業高級技工學校,廣東 廣州 510100)

淺談維吉尼亞加密算法的原理與實現

葛藍

(廣州市公用事業高級技工學校,廣東 廣州 510100)

隨著計算機網絡和信息通信技術的發展,網絡信息安全已經成為不可忽視的領域,密碼技術則是保護信息安全的核心技術。維吉尼亞(Vi g e n e r e)密碼算法是古典加密算法中的最典型的算法之一,是在單一的“凱撒密碼”基礎上擴充出的多表密碼。本文介紹了維吉尼亞加密算法的原理及實現方法。

維吉尼亞;加密算法;維吉尼亞方陣

1 維吉尼亞加密算法

隨著信息技術的發展,網絡已成為信息傳遞的主要途徑,在傳輸過程中,網絡信息安全已成為不可忽視的領域,如何保證網絡信息的完整性、保密性,成為信息傳輸的重點,其中數據加密技術是保護信息安全的核心技術。

數據加密的基本原理是:對明文數據按某種算法進行處理,將其轉換為不可讀或毫無意義的一段代碼,稱為“密文”,而“密文”只能在輸入正確的密鑰之后才能轉換為明文,通過這樣的途徑來達到保護數據安全,不被人非法竊取、閱讀、篡改。加密過程的逆過程稱為解密,即將“密文”轉化為“明文”的過程。

維吉尼亞(Vigenere)密碼算法是古典加密算法中的最典型的算法之一,是在單一的“凱撒密碼”基礎上擴充出的多表密碼。其原理是使用一串字母作為密鑰,結合維吉尼亞方陣,每一個密鑰字母被用來加密一個明文字母,第一個密鑰字母加密第一個明文字母,第二個密鑰字母加密第二個明文字母,以此類推,當密鑰字母全部使用完畢后,再重復使用。在此過程中,維吉尼亞方陣是固定的,密鑰長度和內容由通信雙方約定且只有通信雙方知道,并且不同的信息塊可以用不同的密鑰來加密,因此加密的可靠度較高,而破解的幾率較低,能較好地保護信息安全。舉例如下:

明文:CCNASECURITY 密鑰:TCPIP

加密過程:明文長度為12個字符,密鑰長度5個字符,因此從明文的第6個字符開始,重復使用密鑰。結合維吉尼亞方陣,明文第一個字母“C”與密鑰第一個字母“T”組合,生成密文“V”,明文第二個字母“C”與密鑰第二個字母“C”組合,生成密文“E”,以此類推,得出完整密文。解密則是加密的反過程。

圖1 維吉尼亞方陣

得出以下結果:

表1 加密結果

由此可見,盡管加密方陣是已知的,但由于密鑰長度可變,且只有通信雙方知道,相同的明文在加密后生成了不同的密文,且無替代規律,破解難度高,維吉尼亞加密法為信息傳輸提供了很好的安全保障。

2 用Visual C++實現維吉尼亞加密算法

使用多種程序設計語言均可實現維吉尼亞加密解密算法,如JAVA、JavaScript、C、C++等,算法實現的基本原理類似,都是通過26個英文字母之間在密鑰的限定下進行轉換,完成加密和解密的過程,本文介紹在C++中常用的加密算法。

2.1 程序設計流程圖

以加密過程為例,基本流程如下:

圖2 加密過程

2.2 算法實現

在本算法中規定明文長度不超過50個字符,密鑰長度為6個字符。用戶輸入明文和密鑰后,生成密鑰數組,通過密鑰數組和明文,生成密文,過程中忽略空格字符。如果用戶輸入的是小寫字母,先轉換為大寫字母后再進行加密。

運行程序:輸入明文abcdef,密鑰abcdef,進行驗證,生成密文ACEGIK,對照維吉尼亞方陣,程序結果正確。

圖3 運行結果

以上是維吉尼亞加密算法的實現,解密算法是加密算法的逆過程,不再復述。算法的實現方法不止一種,需要在實踐過程中不斷研究改進。此外,任何加密算法都不能保證數據傳輸的絕對安全,還必須有多重數據保護。

[1]王飛.基于v i g e n e r e密碼的文件加解密器的研究與實現[J].信息系統工程,2011(7):48-50.

[2]道格拉斯R.斯廷森.密碼學原理與實踐(第三版)[M].北京:電子工業出版社,2009.

The Principle and Implementation of Vigenere EncryptionAlgorithm

Ge Lan
(Guangzhou Public UtilityAdvanced Technical School,Guangzhou 510100,Guangdong)

tract】 With the development of computer network and information communication technology,network information security has become a field that should be paid attention to,and its core technology is ciphergraph.Vigenere algorithm is one of the most typical classical encryption algorithms,which is a multi-table password expanded from the single"Caesar Cipher".This paper introduces the principle and realization method of Vigenere encryption algorithm.

words】 Vigenere;encryption algorithm;Vigenere square

TP309.7

A

1008-6609(2017)04-0064-02

猜你喜歡
維吉尼亞明文方陣
方陣訓練的滋味真不好受
《小房子》
最強大腦:棋子方陣
奇怪的處罰
走進意識的世界
方陣填數
實力方陣 璀璨的星群
奇怪的處罰
四部委明文反對垃圾焚燒低價競爭
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合