【CTF基础】有限域椭圆曲线定义与计算方式

定义与基础运算有限域椭圆曲线定义Ep(a, b)表示椭圆曲线方程y**2 = x**3 + a*x + b,在有限域Fp中,表示所有在同余意义上满足该方程的(x, y)点,例如下图:(图片来自网络)对椭圆曲线E23(1, 1),点P(3, 10)满足y**2 = 100 = 31 = x**3 + x + 1 (mod 23),故点P(3, 10)在曲线上有限域椭圆曲线计算关系椭圆曲线...
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

【CTF WriteUp】201909广东强网杯部分题解

Crypto老王的秘密根据题目提示区块链与数据格式,本题为秘密共享,使用github下现成库可解决:https://github.com/blockstack/secret-sharing解题代码如下:shares=['1-fddc7d57594928fb74a507ab9cba0b28b92bb6e7b36a9925a105eeddac020e64','3-84f82314003c9...
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

【CTF基础】RSA在多项式情况下的应用——watevrCTF 2019题目Swedish RSA学习

CTF中的常规RSARSA作为CTF中Crypto类型的常规考点,在近几年的比赛中可以说被玩出了各种花样。从密钥的填充到常规解题套路,再到非常规套路、数学变换甚至不看论文都没法做的题应有尽有。在众多花式变换中,存在一种以多项式形式执行的RSA。本文以刚结束的一场比赛——watevrCTF 2019中题目Swedish RSA为例,记录此种题型的常规解法。题目与解析题目给了两个文件,一是算法,...
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

【CTF WriteUp】UTCTF 2020部分题解

看大佬们不屑于写这种比赛的WP,那就我这个菜鸡来献丑了Crypto[basics] crypto先把1和0转成asciiUh-oh, looks like we have another block of text, with some sort of special encoding. Can you figure out what this encoding is? (hint: if...
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

【CTF WriteUp】2020数字中国创新大赛部分题解

(好难啊~不会做啊)CryptoCan you get flag from GM crypto system观察代码,程序生成的p和q要满足一些条件,其中有一条比较奇怪pow(q ** 2 * x, (p-1)/2, p) + pow(p ** 2 * x, (q-1)/2, q) == N - phi - 1我们知道 N = p * q,phi = (p - 1) * (q - 1)...
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

【CTF WriteUp】2020网鼎杯第一场Crypto题解

(好难啊~~~)Cryptoboom本地运行,过三关。第一关找个东西md5值等于给定值,破解一下得到en5oy;第二关解三元一次方程,得x=74, y=68, z=31;第三关解一元二次方程,找正数根x=89127561。全过得flagyou raise me up本题中,模数n = 2 ** 512,所以此处可以使用Pohlig-Hellman算法逐渐升模求出flag。该算法的原理核心,在于已知x % 2 ** k的情况下,如何求出x % 2 ** (k+1)。(i)当k = 0时,2 **
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

【CTF WriteUp】2020网鼎杯第二场Crypto题解

Cryptob64题目给了一个密文,和一组对应的明文密文,因此肯定是先通过已知对应明密文破解出加密算法,再利用加密算法和密文得到flag。根据题目名称b64,将给定明文base64加密一下看,发现指定位置变换相同,所以本题应该是一个单表代换再加一个base64解密。大致得到对应表如上,但是很糟糕的是,明密文变换没有直接的对应关系,这里应该是随机映射。所以我们需要进行暴力破解。统计一下已知的字母变换对,发现有22个字符还不知道。而未知的9个位置中,有6种不同字符。爆破6种字符的选择,再根据flag格
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

【CTF WriteUp】2020网鼎杯第三场Crypto题解

Cryptosimple根据题目名称提示,本题为简单仿射密码,爆破得映射关系为:y = 8a + 22 (mod 26),密钥使用方法为:123456 % 26 = 8,321564 % 26 = 22与爆破结果相同。于是得到正向替换表a-w b-e c-m d-u e-c f-k,反向替换得到flag。RUA题目给出了三组n和c,且三个n之间两两互质,所以本题只可能是利用中国剩余定理求出me,然后爆破e求解m。解题代码如下:#!/usr/bin/env python# -*- coding:
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

【CTF WriteUp】网鼎杯 青龙组 Misc题解复现(整理,WP非原创)

(原本还打算四场Crypto全刷的,结果第四场被教做人了,算了整理点别的当补偿了)(另:求白虎组 Misc-boot 的 WP)Misc虚幻2图片在RGB信道各有一张图,提出来R:G:B:注意到R和B均是31 * 10,G是31 * 11,所以肯定是将这三个图拼成一个方形。根据2018年网鼎杯的题目内容,该方形应该为汉信码。经实验,将三张图以GBR顺序,每行像素轮流提出后并拼接在一起,可以得到一个类似汉信码的图。将该图上下颠倒,并将左下角方块旋转180度后,得到如下汉信码:可以看到
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

【CTF WriteUp】2020天翼杯Crypto题解

(开会没赶上,赛后做的,部分内容搬运自其他大佬)CryptoeasyRSA根据题目,e<20000,加密为逐字符加密,所以可以通过爆破得到e,然后再依次解密。#!/usr/bin/env python# -*- coding: utf-8 -*-import gmpy2from libnum import n2s, s2nn = 538684126342330450903691534377474128789754259920407545763467545966203473507844
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

【CTF WriteUp】2020第四届强网杯部分Crypto题解

写在前边强网杯还是难。。去年正赛赛题一道都不会,只能靠临时补充的强网先锋题目拿分的情景历历在目。今年也没好哪去,只能写一点是一点吧。modestudy这道题是一道六合一块密码大杂烩,考察基础知识与变换,六道小的题目全做完以后拿到flag。其中4、5、6三道题需要大量交互,因此答案不变,可以单次做完后保留答案一起提交。1、2、3三道题当场变换即可。Stage 1[$] challenge 1[+] cookie:session=6b1f33a78c5b9c17;admin=0;checksum=5
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

【CTF WriteUp】2020全国工业互联网安全技术技能大赛(原护网杯)Crypto题解

Cryptosignsystem题目中的加密算法很奇怪,所以测试一下加密算法的结果,得到如下结论:在不模n的情况下,该函数加密结果满足以下数列:f(1) = m, f(2) = m^2-2, f(n+2) = m*f(n+1) - f(n)列出几项观察:m, m^2-2, m^3-3m, m^4-4m^2+2, m^5-5m^3+5m, ...暂时没有得到有用结论。再看一看e和d的关系,随便找了100个输入,确认e和d在该算法可逆,原理不明。继续看代码。代码允许输入一个明文m计算enc(
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

MyEclipse的配置及使用

## 标题MyEclipse的配置及使用 1.MyEclipse的配置点击Windows->Preferences点击MyEclipse->Servers->Tomcat按照图片的箭头顺序将Tomcat配置完成接着找到JDK通过箭头找到JDK的位置,若是忘记JDK位置右键点击此电脑找到属性,点击高级系统设置通过环境变量找到JDK位置。点击确定就完成了配置。2.使用方法右键或者点击File->New->Web Project,填写包名之后便创建成功
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

Servlet的简单使用

运行一个简单的Servlet1.Servlet的生命周期Servlet的生命周期:初始化–>服务–>销毁通过继承javax.servlet.http.HttpServlet来创建一个Servlet类初始化服务销毁初始化:在Servlet启用时开始运行一次,之后不再运行。服务:在Servlet运行时可以一直使用。销毁:在Servlet关闭时运行一次。2.doGet和doPost方法doGet可以在浏览器的地址栏操作;doPost可以在浏览器的页面操作;doGet和
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

Service与数据库联通完成注册页面

Service与数据库联通完成注册页面1.创建DBUtil工具类2.创建页面3.创建文件通过New–>Service选择doGet和doPost4.编写代码5.部署运行填写内容运行效果运行前SQLServer内容要有对应的数据库和表内的内容,缺少会出现注册失败。...
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

Servlet的查询及跳转

Servlet的查询及跳转由注册页面跳转到查询页面,再从查询页面跳转到详情页面的简单代码先将注册代码和页面写好再将登录代码和页面写好最后将详情列表的代码写好因为详情列表的页面效果直接能在页面显示就不需要再加一个.jsp页面了,直接将创建列表时的url填写即可,然后通过response.sendRedirect(" ");跳转。效果显示由注册页面直接到登录页面再到详情页面...
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

Jsp的简单语法

Jsp的简单语法Jsp中有两种注释:这两种注释的功能不同,如图运行之后,第一种能在页面中按F12可以显示,第二种在页面中无法显示。Jsp中写入代码,表达式是将动态信息在页面中显示代码运行效果声明:用于定义JSP中的变量、方法以及静态方法...
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

Jsp的转发和重定向

Jsp的转发和重定向Jsp的转发和重定向语句转发:客户端和浏览器只发出一次请求,Servlet、HTML、Jsp、或者其他信息资源,由第二个信息资源响应该请求,在请求对象request中,保存的对象对于每个信息资源是共享的,访问后地址栏不会发生变化。重定向:两次请求,服务器在响应第一次请求的时候,让浏览器再向另一个URL发出请求,访问后地址栏的地址会发生变动。...
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

JavaBean和Jsp动作

JavaBean和Jsp动作JavaBeanJavaBean就是普通的Java类,也被称为POJO(Plain Ordinary Java Object普通Java对象)JavaBean类的条件JavaBean必须是一个公共类(public)JavaBean必须有一个公共的、无参构造函数JavaBean的属性必须私有化,只能通过公有方法进行操作设置属性的方法名要有setXxx();取得的方法名要用getXxx();如图:Jsp动作Jsp动作元素是一 组JSP内置的标签,只需要书写很少
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0

JavaScript中null与undefined

JavaScript中null与undefined1.null是javascript的关键字,表示一个特殊值,常用来描述“空值“。typeof数据类型为object,因此,可认为null是一个特殊的对象。但实际上,通常认为null是它自有类型的唯一一个成员。2.undefined不是关键字,表示值的空缺,它是变量的一种取值,表明变量没有初始化。typeof数据类型为undefined。ECMAScript3中将undefined认为可读写的变量,此错误在ECMAScript5中修正,改为只读。3.nu
分类: 其他 发布时间: 10-25 08:40 阅读次数: 0