HSCCTF2024 Writeup
Writeup
密码学算法散记
在这里零散地记载一些密码学可能用到的算法脚本(当裁缝),方便之后直接拿来用
RSA中的e,phi不互素问题参考了这篇文章
换模当e和p-1或q-1互素时,可以转换到模p或模q下求解
假设e与p-1互素$$m^e\equiv c(mod\ n)$$
$$m^e=c+kpq$$
$$m^e\ mod\ p=c\ mod\ p+kpq\ mod\ p$$
$$m^e\equiv c(mod\ p)$$
python实现:
1234567891011import gmpy2e=p=q=n=c=assert gmpy2.gcd(e,p-1)==1c=c%pphi=p-1d=gmpy2.invert(e,phi)m=pow(c,d,p)
e//gcd iroot(m,2)当gcd(e,phi)较小时,可以先将e//gcd(e,phi),使得e和phi互素后,再对算出的m开根
python实现:
1234567891011import gmpy2e=p=q=n=c=phi=(p-1)*(q-1)_gcd=gmpy2.gcd(e,phi ...
密码学基础散记
在这里零散地记载一些遇到的密码学相关知识(当裁缝)
威尔逊定理任一素数减去1的阶乘与-1模该素数同余。即对于任何素数p,都有$$(p-1)!+1\equiv 0(mod\ p)$$
引理设p是素数,f(x)是整系数多项式,再设a1,a2,…,an两两对模不同余,满足$$f(a_j)\equiv 0(mod\ p),1\leq j\leq n$$则存在整系数多项式q(x),使得$$f(x)\equiv q(x)(x-a_1)(x-a_2)…(x-a_n)(mod\ p)$$由此可进一步推知,$$x^{p-1}-1\equiv (x-1)…(x-p+1)(mod\ p)$$
群论参考了百度百科和这篇文章
二元运算
定义
循环群
阿贝尔群若一个群满足交换律,则称其为阿贝尔群,也称为交换群。
同态设(M,)和(S,·)是两个群,σ:M→S,∀a,b∈M,有σ(ab)=σ(a)·σ(b),则称σ为M到S的同态或群映射。
也就是说,先运算再映射和先映射再运算得到的结果相等。
如果为单射,则称为单同态。
同构如果一个同态映射可逆(双射),则称这两个群同构。
半群只满足定义中的1、2两条 ...
qsnCTF2024 Round1 Writeup
WriteupAdditional Statement:
“小光的答案之书” in “Misc” was written by f4k3r
《初等数论》学习笔记
从今天开始,不间断地更新一些《初等数论》学习笔记,简单打一下密码学的基础(为了密码学不爆零T0T)
第一章 整数的整除性gcd(a,b)=gcd(b,r)假设a和b都是整数,且a>b
a=bq+r, 0<r<b
其中q和r都是正整数,则a和b的最大公因数等于b和r的最大公因数,即
gcd(a,b) = gcd(b,r)
欧几里得算法(辗转相除法)利用上述性质,我们可以用欧几里得算法来求两个较大数的最大公因数。用语言通俗地表达,就是先用较大数除以较小数,然后用上一个式子的除数除以上一个式子的余数,如此反复至余数为0,最后一个式子的除数即为最大公因数。
百度百科中的这张图较好地解释了其中原理:
下面是一个简单的python函数实现:
1234def gcd(a, b): while a != 0: a, b = b % a, a return b
扩展欧几里得算法看书上都没有讲,但是也很重要,这里补充一下。
这个算法在用辗转相除法找到gcd(a,b)的前提下,还能找到x,y,使得ax+by=gcd ...
记第一次上链
题目来源于SICTF2024 #Round 3 Blockchain方向的CheckinNewYear
当时这题没做出来,现在根据official writeup进行了一次复盘(
题目
如何注册使用metamask这里不再赘述,remix IDE网站:https://remix.ethereum.org/
先生成一个deployer account:
按照要求给这个账户去水龙头接点水,不然就会无法支付2中部署合约时产生的费用
部署一下题目的智能合约,得到合约地址和token
用4查看一下合约的源代码
123456789101112131415161718192021// SPDX-License-Identifier: shu shao de xiao mi dipragma solidity ^0.8.9;contract HappyNewYear{ string private NewYear; constructor(string memory _newyear ) { NewYear = _newyear; ...
SICTF2024 Round3 Writeup
WriteupAdditional Statement:
“[签到]签到” and “WHO?WHO?WHO” in “Misc”, “[Game][Battle City]“ in “Reverse” ,and “Forensics” was written by f4k3r
HGame2024 Writeup
Week1 WriteupWeek2 WriteupWeek3 WriteupWeek4 Writeup
BeginCTF2024 Writeup
Writeup
NCTF2023 Writeup
WriteupAdditional Statement:
“Web” was written by wuming
“Reverse” was written by fermata