資訊保安 維吉利亞密碼

2022-09-15 20:03:20 字數 2942 閱讀 1972

說明:

這個可以直接看這個解釋:

如果你要對自己的男(女)神用維密(不是維多利亞的秘密)表白,先寫好明文:

i love you

然後自己設定乙個金鑰,比如:kiss。

這樣金鑰與明文對應就是

k issk iss

i love you

對第乙個字母 「i」 加密過程如下:

先找到最左側金鑰 k 所在的一行和最上方明文 i 所在列,找到他們的相交字母 s ,這樣 i 就被加密成了 s 。

同理,這句話通過每乙個對應金鑰的加密後就變成如下

金鑰:kisskiss

明文:iloveyou

密文:stgnoggm

還有我們老師的 ppt 解釋(真心簡單):

是一種多表移位替換密碼:

設d為一固定的正整數,d個移位替換表π=(π1,π2,…πd)由金鑰序列k=(k1,k2,…,kd)給定;

第 i+td 個明文本母由表 πi 決定,即金鑰 ki 決定;

ek(xi+td)= (xi+td+ki) mod q =y

dk(yi+td)= (yi+td-ki) mod q =x

j**a **實現:

package

com.jiangbiao.firsthomework;

import

j**a.util.arraylist;

import

j**a.util.list;

import

j**a.util.scanner;

/*** 維吉尼亞密碼 */

public

class

vigenerepassword

/*** 維吉利亞字母表的初始化

*/public

static

void

init()

system.out.println();}}

/*** 加密過程

* @param

express

* @param

key *

@return

*/public

static

string encryptionoperation(string express, string key)

//重複操作處理後的金鑰,並進行切分,使長度與明文長度一致

keydouble = keys.tostring().substring(0, express2.length());

}system.out.println("處理後的金鑰:" +keydouble);

int i = 0;

int j = 0;

char keydoublechar =keydouble.tochararray();

char express2char =express2.touppercase().tochararray();

list

ciphertextl = new arraylist<>();

for (int m = 0; m < express2.length(); m++)

if (keydoublechar[m] == basictable[n][0])

}system.out.println();

ciphertextl.add(basictable[i][j]);

i = 0;

j = 0;

}return

ciphertextl.tostring()

.substring(1, ciphertextl.tostring().length()-1)

.replaceall(", ", "");

}}

/**

* 示例1:

請輸入金鑰:

radio

請輸入明文:

p olyal p ha betic cipher

express2 : polyalphabeticcipher

處理後的金鑰:radioradioradioradio

i:15 p j:17 r

j:0 a i:14 o

j:3 d i:11 l

j:8 i i:24 y

i:0 a j:14 o

i:11 l j:17 r

j:0 a i:15 p

j:3 d i:7 h

i:0 a j:8 i

i:1 b j:14 o

i:4 e j:17 r

j:0 a i:19 t

j:3 d i:8 i

i:2 c j:8 i

i:2 c j:14 o

i:8 i j:17 r

j:0 a i:15 p

j:3 d i:7 h

i:4 e j:8 i

j:14 o i:17 r

加密結果如下:googocpkipvtlkqzpkmf

*//**

* 示例2:

請輸入金鑰:

kiss

請輸入明文:

i love you

express2 : iloveyou

處理後的金鑰:kisskiss

i:8 i j:10 k

j:8 i i:11 l

i:14 o j:18 s

j:18 s i:21 v

i:4 e j:10 k

j:8 i i:24 y

i:14 o j:18 s

j:18 s i:20 u

加密結果如下:stgnoggm

*/

資訊互通聯動防禦 亞信安全翻開融合終端安全新篇章

整合終端管控與終端防毒功能 協同保護企業終端安全 在強調資訊化統一管理的今天,系統融合 資訊共享正在成為主旋律,系統融合使得管理人員能夠整體掌控 統一管理和調配資訊系統資源,形成協同效應,解決以往資訊分散在企業各處無法同步的弊端。為了讓安全防護更好地順應這一趨勢,亞信安全打通了終端安全管控系統與防毒...

資訊保安的核心 密碼技術

資訊保安的核心 密碼技術 http ccw.唐正星 資訊保安技術是一門綜合的學科,它涉及資訊理論 電腦科學和密碼學等多方面知識,它的 主要任務是研究計算機系統和通訊網路內資訊的保護方法以實現系統內資訊的安全 保密 真實和完整。其中,資訊保安的核心是密碼技術。隨著計算機網路不斷滲透到各個領域,密碼學的...

資訊保安密碼學複習

1.簡述序列密碼演算法和分組密碼演算法的不同。分組密碼是把明文分成相對比較大的快,對於每一塊使用相同的加密函式進行處理,因此,分組密碼是無記憶的,相反,序列密碼處理的明文長度可以小到1bit,而且序列密碼是有記憶的,另外分組密碼演算法的實際關鍵在於加解密演算法,使之盡可能複雜,而序列密碼演算法的實際...