# -*- 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 首次发布