simple

点击此处获得更好的阅读体验


WriteUp来源

本WP由Vanish提供

题目考点

  • 仿射加密

解题思路

简单仿射加密,就是123456和26不互素,我们用26的一个素因子13代替26先,得到的答案,可以选择:如果不符合uuid格式,就加个13,不过,后来想想,由于uuid只有abcdef加上 ‘flag’ 的lg,模13其实是足够的。所以其实不需要判断。

由于仿射不加密除字母外的字符,所以直接拼接上来就可以了

确实simple,解密代码就一行:

1
2
3
from Crypto.Util.number import inverse
flag = ''.join(i if i not in "qwertyuiopasdfghjklzxcvbnm" else chr(((ord(i)-ord('a') - 321564))*inverse(123456,13)%13+ord('a')) for i in 'kgws{m8u8cm65-ue9k-44k5-8361-we225m76eeww}')
print(flag)

Flag

1
flag{c8d8ec65-db9f-44f5-8361-ab225c76bbaa}