CTF密码学小结

embedded/2024/12/22 16:33:13/

感觉没啥好总结的啊

基础的永远是RSA、流密码、哈希、对称密码、古典密码那一套(密码学上过课都会),其他的就是数论的一些技巧

似乎格密码也很流行,以及一些奇奇怪怪的性质利用也很多

1、random设置种子后随机的性质:同一个种子生成同一个序列,如果把生成的序列中的某个数又作为种子,这样迭代生成的序列,只与第一条序列的种子相关

2、gcd(c,n)=gcd(c%n,n),ab%(ac) = a*(b%c)

3、yafu工具分解质因数,78位数分解约使用3分钟,非常好的工具,集成了试除法、fmt、pollar_rho、ecm等各种各样质因数分解方法,并且做了许多并行计算的优化,相当高效。

yafu-x64 "factor(@)" -batchfile 1.txt

把数字放在1.txt中,用换行隔开就可以了,注意末尾也需要是换行

4、一些有用的python函数和Crypto.Util.number库函数

str与字节编码串互相转换:(把‘abcd’转成b‘abcd’)a = a.encode(),a.decode()

长整数与字节编码串转换:long_to_bytes和bytes_to_long

bin(x)转换为二进制串(是str类型的,前面有0b开头)(注意二进制串的+是连接操作)

int(x,r)把字符串x按照r进制换算为数值

hex(x)获取十六进制的字符串

快速幂pow、求逆元inverse、GCD这些都是常用数论函数

5、数论的一些定理

a^{ \varphi(n)} \equiv 1(\text{mod} n) (a,n互质)

20200601数论总结-CSDN博客

6、gmpy2使用iroot(x,r)对x开r次方,sympy使用sqrt_mod可以求二次剩余

7、看到数据范围小的一般是可以用于枚举的

8、RSA已知n和p+q就可以算出φ(n)

9、格理论

对一组线性无关的向量,他们的整数倍的线性组合构成一个格,这组向量称为格基

SVP问题,就是求格中范数最小的向量,CVP问题,就是给定一个向量,求格中的向量离他距离的最小值。复杂的都是O(a^k)级别的(a是常数,k是格基的大小(一般和向量维数相近))

格的基本区域:格基向量线性组合时,系数只为0、1时构成的集合,大小为2^k

相关博客:

格理论的基础知识-CSDN博客

格理论和密码学(一)-CSDN博客

ACD问题:有一组pi*q+ri,求q的值,有一系列解法:

格密码分析:正交格攻击 | tl2cents blog (tanglee.top)

10、sagemath在线网站:

Sage Cell Server (sagemath.org)

11、AES加密密钥一般是字符串,密文明文可以有hex编码与base64编码,注意区分

12、看到一大堆颜表情,先放到node-js里面跑一下,一般是aaencode或者jjencode编码

13、看到xesef-dovef-lesef-……这种类似的编码,BubbleBabble编码

14、利用数字串绘图,可以考虑折线、灰度图、塔珀自指公式(Tupper's Formula Tools (tuppers-formula.ovh))等方法


http://www.ppmy.cn/embedded/100588.html

相关文章

【python】OpenCV—Single Human Pose Estimation

文章目录 1、Human Pose Estimation2、模型介绍3、基于图片的单人人体关键点检测4、基于视频的单人人体关键点检测5、左右校正6、关键点平滑7、涉及到的库函数scipy.signal.savgol_filter 8、参考 1、Human Pose Estimation Human Pose Estimation,即人体姿态估计&…

工业4G路由器

设备概述 路由器是基于4G 技术研发的无线路由网关设备,除了具备传统路由器 的 VPN 、防火墙、 NAT 、 PPPoE 、 DHCP 等功能之外,还能支持 4G 无线拨号,提供最高可达 150Mbps 的无线高速带宽。路由器支持四个以太网接口,可更好…

Prettier+Vscode setting提高前端开发效率

文章目录 前言Prettier第一步:下载依赖(团队合作)或下载插件(独立开发)第二步:添加.prettierrc.json文件**以下是我使用的****配置规则** 第三步:添加.prettierignore文件**以下是我常用的****配…

论文阅读1 Scaling Synthetic Data Creation with 1,000,000,000 Personas

Scaling Synthetic Data Creation with 1,000,000,000 Personas 链接:https://github.com/tencent-ailab/persona-hub/ 文章目录 Scaling Synthetic Data Creation with 1,000,000,000 Personas1. 摘要2. 背景2.1 什么是数据合成2.2 为什么需要数据合成2.3 10亿种人…

04_DOM的diffing算法

OM的diffing算法 一、验证 diffing 算法的存在二、经典面试题:1、React/Vue 中的key 有什么作用?(key 的内部原理是什么?)2、为什么遍历列表时,key 最好不要用 index?1.虚拟 DOM 中 key 的作用&…

泛微OA 常用数据库表

HrmDepartment 人力资源部门 HrmSubCompany 人力资源分部 HrmResource 员工信息表 HrmRoles 角色信息表 T_Condition 报表条件 T_ConditionDetail 报表条件详细值 T_DatacenterUser 基层用户信息 T_FadeBespeak 调查退订表 T_fieldItem 调查项目表输入项信息 T_fieldItemDetail…

刷题记录

刷题记录 入门 1. 输入处理(重要):HJ5 进制转换 public static void main(String[] args) {Scanner in new Scanner(System.in);String str in.nextLine().replaceAll("0[xX]","");System.out.print(Integer.parseInt(str,16));…

嵌入式初学-C语言-二七

文件操作 概述: 什么是文件: 是保存在外存储器(磁盘,u盘,移动硬盘等等)上的数据的集合。 文件操作体现在哪几个方面: 文件内容的读取文件内容的写入 数据的读取和写入可被视为针对文件进行…