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( ...
密码学基础散记
在这里零散地记载一些遇到的密码学相关知识(当裁缝)
威尔逊定理
任一素数减去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)
\]
群论
参考了百度百科和这篇文章
二元运算
image-20240306205145595
定义
image-20240306205505241
循环群
image-20240306210708812
阿贝尔群
若一个群满足交换律,则称其为阿贝尔群,也称为交换群。
同态
设(M,)和( ...
qsnCTF2024 Round1 Writeup
Writeup点我
Additional 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:
image-20240223012955732
按照要求给这个账户去水龙头接点水,不然就会无法支付2中部署合约时产生的费用
image-20240223013024832
部署一下题目的智能合约,得到合约地址和token
image-20240223013113909
用4查看一下合约的源代码
123456789101112131415161718192021// SPDX-License-Identifier: shu shao de xiao mi dipragma solidity ^0.8.9;contract HappyNewYear{ ...
SICTF2024 Round3 Writeup
Writeup点我
Additional Statement:
"[签到]签到" and "WHO?WHO?WHO" in "Misc", "[Game][Battle City]" in
"Reverse" ,and "Forensics" was written by f4k3r
HGame2024 Writeup
Week1
Writeup点我
Week2
Writeup点我
Week3
Writeup点我
Week4
Writeup点我
BeginCTF2024 Writeup
Writeup点我
NCTF2023 Writeup
Writeup点我
Additional Statement:
"Web" was written by wuming
"Reverse" was written by fermata











