CTF-Crypto-各种密码原理及解密方法

一.常见密码格式(太懒了,待补充)

名称 密文 明文 特点
栅栏密码 fg2ivyo}{2s3_o@aw__rcl@ flag{w22_is_v3ry_cool} 1.长度一般不会太长 2.一般不会出现原来没有的字符(可能会出现用@打乱的现象)
base64 ZmxhZ3toZWxsb193b3JsZCF9IAo== flag{hello_world!} 后面会有=
base16 666C61677B6D795F6E616D655F482121487D flag{my_name_H!!H} 只由大写字母和数字组成
Unicode \u0066\u006c\u0061\u0067\u007b\u0069\u005f\u0077\u0069\u006c\u006c\u005f\u006b\u0069\u006c\u006c\u005f\u0079\u006f\u0075\u0021\u007d flag{i_will_kill_you!} 每一字符都用一个5位字符编码表示,并用\分割
urlencode %68%61%63%6b%65%72%44%4a hackerDJ
词频分析 Eg qnlyjtcnzydl z umaujejmjetg qeydsn eu z bsjdtx tw sgqtxegc al kdeqd mgeju tw yrzegjsoj zns nsyrzqsx kejd qeydsnjsoj
Ew ltm fgtk jds kzl tw sgqtxegc m kerr csj jds wrzc kdeqd eu qrzuueqzr-qeydsn_eu_gtj_usqmnejl_du 长度很长

二.古典密码

凯撒密码

凯撒密码一般适用于26个英文字母。根据偏移量来进行加密。如图所示,当偏移量=3。即是A-D,B-E。
在这里插入图片描述
1.原理

密钥:K

加密解密过程:
在这里插入图片描述
2.在线加密解密网站:
https://www.qqxiuzi.cn/bianma/kaisamima.php
http://www.metools.info/code/c70.html
http://www.atoolbox.net/Tool.php?Id=778

仿射密码

1.原理

密钥:(a,b),其中a与26互质。

加密解密过程:
在这里插入图片描述
2.在26上所有与26互质元素的乘法逆元

在这里插入图片描述
3.在线加密解密网站:
http://www.atoolbox.net/Tool.php?Id=911

4.解密脚本:

import primefac
def affine_decode(c,a,b,origin="abcdefghijklmnopqrstuvwxyz"):
 r=""
 n=len(origin)
 ai=primefac.modinv(a,n)%n
 for i in c:
 if origin.find(i)!=1:
 r+=origin[(ai*(origin.index(i)-b))%n]
 else:
 r+=i
 return r
print affine_decode("ihhwvcswfrcp",5,8)


def affine_guessab(m1,c1,m2,c2,origin="abcdefghijklmnopqrstuvwxyz"):
 x1=origin.index(m1)
 x2=origin.index
  • 8
    点赞
  • 132
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值