# -*- coding: UTF-8 -*-
#E(x) = (ax + b) (mod m)
#D(x) = a逆 (x - b) (mod m) ,其中a逆可以通过invert(a,m)求解,m一般为26
from gmpy2 import *
flag = "rrjgsakoove"
flaglist = []
for i in flag:
flaglist.append(ord(i)-97)
flags = ""
for i in flaglist:
for j in range(0,26):
c = (17 * j - 8) % 26
if(c == i):
flags += chr(j+97)
print flags
print(invert(17, 26))
#解密
flaglists = []
flags_new = ''
for i in flags:
flaglists.append(ord(i)-97)
for i in flaglists:
for j in range(0,26):
c = (23 * (j + 8)) % 26
if(c == i):
flags_new += chr(j+97)
print(flags_new)
仿射affine
于 2021-10-29 16:18:22 首次发布
该博客主要涉及密码解密算法,使用了模运算和逆元的概念。首先通过给定的加密函数E(x),将原始字符串转化为密文,然后利用解密函数D(x)进行解密。解密过程中,计算了17的逆元并应用到解密公式中。最终,博客展示了如何从密文还原回原始字符串。

1万+

被折叠的 条评论
为什么被折叠?



