770 仿射密碼 暴力列舉

2021-07-05 01:24:26 字數 687 閱讀 9877

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:1 描述

仿射密碼是替換密碼的另乙個特例,可以看做是移位密碼和乘數密碼的結合。其加密變換如下:

e(m)=(k1*m+k2) mod q;(其中k1,k2為金鑰,且0現已知一經過仿射加密的密文和金鑰,請破譯出它的明文。

輸入

輸入包含不超過1000組資料;

每組資料報含乙個由大寫字母組成的字串和兩個正整數k1,k2,字串長度不超過50,0輸出

每組輸出佔一行,輸出對應的明文。

樣例輸入

iloveyou 3 2

樣例輸出

cdepsqeg

題意不清....連 q的值都沒給出 

..個人直接按之前一道題的思路來寫,修改了幾次變數,然後過了.........

瞬間感覺不好了..........

沒好辦法,直接暴力列舉查詢...........

#includeint k,t;

char change(char x) }}

void slove(char x)

printf("%s\n",x);

}int main()

return 0;

}

仿射密碼解析與例項

仿射密碼的加密函式是 e x ax b modm 其中 解密函式是 d x a 1 x b modm 其中 a 1 是 a 在 zm群的乘法逆元。下面我們以 e x 5x 8 mod26函式為例子進行介紹,加密字串為affine cipher,這裡我們直接採用字母表26個字母作為編碼系統 其對應的加...

加密技術 仿射密碼

今天上午一二節課上了資訊保安概論,講到加密技術,有點好奇,怎麼實現加密和解密,移位密碼挺簡單,仿射密碼用到仿射函式 e x ax b mod 26 且a與26的最大公因子為1。金鑰就是a,b。這個函式我開始理解錯了,我以為ax加上b模除26後的結果,後來問了下老師再知道自己弄錯了,是ax b以後再模...

仿射密碼加解密(python實現)

仿射密碼是一種替換密碼。它是利用加密函式乙個字母對乙個字母的加密。加密函式是e x ax b mod m 其中,a和m互質,m是字符集的大小。例如,26即是以26個字母作為編碼,當m是26時,a必須是1,3,5,7,9,11,15,17,19,21,23,25其中之一 解密函式為d x a 1 x ...