古典密码
ctf古典密码题解
husb-052
这个作者很懒,什么都没留下…
展开
-
云影密码 ctf
云影密码1. 密码原理有1,2,4,8这四个数字,可以通过加法来用这四个数字表示0-9中的任何一个数字,列如0=28, 也就是0=2+8,同理7=124, 9=18。这样之后再用1-26来表示26个英文字母,就有了密文与明文之间的对应关系。引入0来作为间隔,以免出现混乱。所以云影密码又叫“01248密码”。2. 解密脚本a="8842101220480224404014224202480122"s=a.split('0')print(s)l=[]for i in s: sum=0原创 2021-10-27 14:45:03 · 3113 阅读 · 0 评论 -
希尔密码 ctf
希尔密码原理希尔加密算法的基本思想是,将d个明文字母通过线性变换将它们转换为d个密文字母。解密只要作一次逆变换就可以了,密钥就是变换矩阵本身。加密 mK=c 解密 cK^(-1)=m例题①加密②解密脚本import numpyc = 'xcezmgmy'k = numpy.matrix([[1,2],[0,1]])kn = numpy.linalg.inv(k)num_c = []temp =[]cnt = 1for i in c: temp原创 2021-10-27 14:41:31 · 3209 阅读 · 1 评论 -
维吉尼亚密码 ctf
维吉尼亚密码BUUCTF-Crypto-[BJDCTF 2nd]燕言燕语-y1ng小燕子,穿花衣,年年春天来这里,我问燕子你为啥来,燕子说:79616E7A69205A4A517B78696C7A765F6971737375686F635F73757A6A677D20转字符串得 yanzi ZJQ{xilzv_iqssuhoc_suzjg}原理维吉尼亚密码(又译维热纳尔密码)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。加密步骤①当明文原创 2021-10-27 14:36:44 · 3794 阅读 · 0 评论 -
仿射密码 ctf
原理改密码运用乘法逆元和模运算。az对应于025, 将明文的每个字符转为对应的数字加密函数 E(x)=(a*x+b)(mod 26) a,b为密钥,a必须与26互质解密函数 D(x)=a^(-1) (x-b)(mod 26) a^(-1) 为a关于26的乘法逆元分析已知加密函数e(x)=11x+6(mod 26)。求出11关于26的乘法逆元19,则D(x)=19*(x-6)(mod 26)脚本import base64# 求逆元from gmpy2 imp原创 2021-10-27 14:31:43 · 1110 阅读 · 0 评论 -
ctf 凯撒密码
凯撒密码1. 原理凯撒密码一般适用于26个英文字母。根据偏移量来进行加密。如图所示,当偏移量=3。即是A-D,B-E。把字母转成数学,数学公式如下。2. 例题分析加密密文:afZ_r9VYfScOeO_UL^RWUc格式:flag{ }由题目可知其格式为flag{ },所以我们可以从flag和afZ_之间的对应关系找出规律。从第一个字符的偏移量为5,第二个字符的偏移量为6……第n个字符的偏移量为4+n。偏移量依次递增。3. 脚本C='afZ_r9VYfScOeO_UL^RWUc'f原创 2021-10-26 09:50:58 · 3585 阅读 · 0 评论