攻防世界_CRYPTO_练习区_刷题记录

1. base64

  • 题目
    在这里插入图片描述

  • 思路
    在这里插入图片描述
    题目提示为base64编码,解密得到flag

  • 知识点
    base64加解密

  • 工具
    base64编码转换工具

  • 心得

2. Caesar

  • 题目
    在这里插入图片描述

  • 思路
    在这里插入图片描述
    根据题目提示文本为凯撒密码的密文,密钥由c到o在字母表中的距离决定,解密得到flag

  • 知识点
    凯撒密码

  • 工具
    凯撒密码机密解密工具

  • 心得

3. Morse

  • 题目
    在这里插入图片描述

  • 思路
    在这里插入图片描述
    题目提示为摩斯密码,把0替换为.,把1替换为-,解密后转换成小写得到flag

  • 知识点
    摩斯密码

  • 工具
    摩斯密码转换工具、英文字母大小写转换工具

  • 心得

4. 幂数加密

  • 题目
    在这里插入图片描述

  • 思路
    在这里插入图片描述
    题目提示最后的flag只有八个大写字母,根据二进制幂数加密法最后的密文来看最后的结果不会有8,而仔细观察后发现密文中一共有7个0,刚好把密文分成八个部分。后面看别人的解法发现是01248云影密码,解密得到flag

  • 知识点
    二进制幂数加密法、01248云影密码在这里插入图片描述

  • 工具

  • 心得

5. Railfence

  • 题目
    在这里插入图片描述

  • 思路
    根据题目提示为栅栏密码,根据flag格式cyber得到分组长度为5(或者根据题目提示5只小鸡),解密得到flag

  • 知识点
    栅栏密码:把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话

  • 工具
    栅栏密码加解密工具

  • 心得

6. 不仅仅是Morse

  • 题目
    在这里插入图片描述

  • 思路
    在这里插入图片描述
    在这里插入图片描述
    把密文中的/替换为空格,用摩斯密码解码后得到一串密文,除去前面的提示信息留下后面只有a、b字母 构成的字符串,使用培根密码(题目中的“一种食物”)解密得到flag

  • 知识点
    摩斯密码、培根密码

  • 工具
    摩斯密码转换工具

  • 心得

7. 混合编码

  • 题目
    在这里插入图片描述

  • 思路
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    题目提示为混合编码,拿到题目后先用base64解码,之后用HTML解码,再用base64解码,最后得到十进制数转换为ascii码得到flag

  • 知识点
    base64、HTML、进制转换

  • 工具
    CTF在线工具

  • 心得
    分析各种密码的密文特征能有效提高解码效率

8. easy_RSA

  • 题目
    在这里插入图片描述

  • 思路
    在这里插入图片描述
    计算d,使d ≡ e-1mod φ(n),即d的模φ(n)下的e的乘法逆元,借助python计算得到flag

import numpy as np
#d=((q-1)(p-1)+1)/e=((473398607161-1)*(4511491-1)+1)/17
p=473398607161
q=4511491
n=(q-1)*(p-1)
e=17
k=1
while 1:
   if ((n*k)+1)%e==0:
      d=(n*k+1)/e
      print(d)
      break
   k+=1

  • 知识点
    RSA算法
1.任选两个大质数p和q,p!=q,计算N=pq
2.计算N的欧拉函数r(n)=(p-1)(q-1)
3.任选一个e满足 1<e<r(n) ,且e与r(n)互质
4.找到d,使e*d/r(n)=x……1(x是多少不重要,重要的是余数为1)
5.(n,e)为公钥,(n,d)为私钥
6.e *d mod Φ(n)=== 1 -> d=(k(q-1)(p-1)+1)/e
7.加密:C=M^(e mod n)
8.解密:M=C^(d mod n)
  • 工具
    Pycharm
  • 心得

9. easychallenge

  • 题目
    在这里插入图片描述

  • 思路
    题目要求进行代码审计和修改代码,参考了网上的优秀答案,通过反编译后得到加密源码,再从加密函数中分析出解密函数,运行代码得到flag

  • 知识点
    pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,运行加载的速度会有所提高;另一反面,把py文件编译为pyc文件,从而可以实现部分的源码隐藏,保证了python做商业化软件时的安全性

  • 工具
    Pycharm

  • 心得
    有的时候文件的后缀名也是一种提示

10. 转轮机加密

  • 题目
    在这里插入图片描述

  • 思路
    在这里插入图片描述
    在这里插入图片描述
    从题目的提示中得到提示是杰斐逊轮转加密,上网搜索其原理后根据密钥和密文对其进行解密。第一轮密钥提示为原文的第二行,密文提示为第一个字母N,于是将其进行转换后得到第一行;其他行以此类推,最终通过题目的“二战”提示,再结合得出的列的内容,得到flag

  • 知识点
    杰斐逊轮转加密

  • 工具

  • 心得

11. Normal_RSA

  • 题目
    在这里插入图片描述

  • 思路
    在这里插入图片描述
    附件解压后得到一个放公钥的pem文件和放flag的enc文件,在此放一个优秀解法:用openssl从公钥中提取e和modulus(即大素数)的值、参数处理(进制转换、素数分解)、用rsatool生成私钥、用私钥解密flag

  • 知识点
    RSA加密

  • 工具
    openssl、rsatool、在线大数分解工具

  • 心得

12. easy_ECC

  • 题目
    在这里插入图片描述

  • 思路
    在这里插入图片描述
    研究了ECC的原理还是云里雾里,直接用了工具得到flag,但也可以参考wp里的优秀代码解出flag

  • 知识点
    在这里插入图片描述
    椭圆曲线加密算法

  • 工具
    ECCTOOL

  • 心得

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值