打開題目,發現算法
呀,是個數學計算題,百度能夠知道這是個仿射加密,和凱撒密碼同樣,屬於「代換密碼」。app
它的加密算法爲: c = E(p)=(a*p+b) mod m (其中p爲明文,c爲密文, 且a和m互質,m爲字母的個數)網站
解密算法爲: p = D(c) = ((c-b)*(a的逆)) mod m (這裏a的逆是指a在羣空間m下的乘法逆元,可用擴展的歐幾里得算法求出)編碼
在這道題中,咱們已知了加密算法中的a和b,那麼只要求出a的逆,這道題也就解出來啦!加密
手動解法以下:(擴展的歐幾里德算法,我是在b站上看的,up主爲圓號本昊,講的很詳細!還有我不會用word寫出數學式子,因此只能手寫啦)spa
而後,a的逆已經求出來了,那麼咱們寫個小小的腳本,把明文破譯出來code
x= 19 text = 'welcylk' s=[] for i in text: m = ord(i)-97 s.append(m) print(s) for num in s: n = ((num-6)*x) % 26 print(chr(n+97),end=" ")
運行結果:blog
把答案 'sorcery' 用base64編碼提交就好啦!!!(其實這道題能夠直接經過在線網站解出來,不過,手動算一下,對於第一次接觸的我仍是很開心啦)數學