type
status
date
summary
password
category
slug
icon
密码阶段学习
一、知识进行针对性学习+写博客
二、刷题训练
三、打比赛,比赛复现
总结:
集训整个过程重点主要是对现代密码知识进行针对性学习,整个学习流程是学习原理(看文献),写博客总结,按照小师傅给的题单进行训练,然后去nss上搜相关知识点的题目练手;打比赛
比赛反思:
- 前期自己写代码特别困难,后期尝试自己写脚本
- 审代码能力还需要提高
- 平常训练的都是一些常见的题型,对于新的题型,和改编的题还需要提高
- 不会自己找文献,看的文献太少
- 有部分知识点理解不是很深刻
- sage文档
数学
数论
整除理论
了解
- 素数
- 合数
- 因数
- 倍数
- 整除
掌握
- 一分解定理
- 裴蜀定理
- 扩展欧几里得定理
- 算数基本定理等基本定理
同余理论
(了解同余、原根、底数、指数、平方剩余、同余式、同余方程等基本概念,掌握欧拉定理、费马小定理、中国剩余定理、二次互反律、威尔逊定理等基本定理)
连分数理论
(了解连分数、无穷级数等基本概念,熟悉最佳有理数逼近、循环连分数展开、佩尔方程求解等运算过程)
不定方程
了解低次代数曲线所对应的不定方程的基本模型,熟悉二元一次不定方程、多元一次不定方程、掌握通过代数恒等变化、不等式估算、同余法、构造法、无穷递降法等常用的不定方程求解方法)
数论函数
了解欧拉函数、莫比乌斯函数、单位函数、恒等函数、除数函数等常用函数,掌握莫比乌斯反演、狄利克雷卷积等常用方法)
抽象代数
群论
群论(熟悉群代数结构,掌握群相关性质及其运算律)
环论
环论(熟悉群代数结构,掌握环相关性质及其运算律)
域论
域论(熟悉群代数结构,掌握域相关性质及其运算律)
格论
格论(熟悉格代数结构,掌握格相关性质及其运算律)
线性代数
线性代数(熟悉向量空间代数结构,掌握向量相关性质及其运算律)
恩尼格玛机
逻辑学、几何学、拓扑学、泛函分析、概率论、数理统计等其他数学分支
古典密码学
古典密码
古典密码出题
猜加密算法
特征检索
(如密文字符集中存在标志性的特殊字符)
题目暗示
(如题目名称、题目描述中出现了对加密算法的隐喻)
恢复出密钥
爆破(针对密钥空间较小的代换或置换密码,如栅栏、移位等)
数理统计(针对密钥空间较大的代换密码,如仿射、维吉尼亚等)
现代密码学
对称密码学、非对称密码学、哈希函数和数字签名
对称密码学
序列密码(流密码)
原型:一次一密
拓展:多次一密,XOR(异或运算加密)
伪随机数生成器
伪随机数生成算法
MT19937(梅森旋转算法)
分组密码(块密码)
非对称密码学
RSA
DH(Diffie-Hellman密钥交换算法)
大整数分解问题
针对模数的攻击:如Pollard’s p -1算法(p-1光滑)、Williams’s p + 1(p+1光滑)、试除法(|p-q|过大)、费马分解(|p-q|过小)、共模攻击、模不互素攻击等。
针对公钥的攻击:如小公钥指数攻击、低加密指数广播攻击等。
针对私钥的攻击:如Wiener’s attack(基于连分数)、私钥低位泄露攻击等。
Coppersmith & LLL相关攻击:如已知m高位攻击、已知p高位攻击、Coppersmith’s short-pad attack、Boneh and Durfee attack等。
结合Oracle的攻击:有时题目当中除了提供给选手参数之外还会提供一个加密/解密Oracle,结合Oracle可以衍生出更多种攻击形式,如针对加密Oracle的公钥泄露攻击(选择明文),针对解密Oracle的RSA LSB parity Oracle攻击(选择密文)
离散对数求解问题
DLP攻击算法
Pohlig-Hellman algorithm(针对阶n是光滑且仅有小素因子)
Pollard’s Kangaroo algorithm(基于随机步)
Pollard’s Rho algorithm(基于Miller-Rabin算法,递归求解)
小步大步法(Baby-step giant-step,中间相遇攻击的思想)
ECDLP类问题
针对E(Fp)=p(Frobenius轨迹t=p+1−E(Fp)=1)的上非正规椭圆曲线的Smart’s attack。
针对p|q+1−E(Fq)(Frobenius轨迹t是p的倍数)的超奇异椭圆曲线的MOV攻击(借助Tate pairing或者Weil pairing)。
基于格的计算问题
NRTU格密码
隐藏数问题(HNP)
隐线性组合问题(HLCP)
LWE问题
GGH加密
数字签名
SM2数字签名
DSA数字签名
基于各种DSA的HNP问题
哈希函数
哈希碰撞
同谋碰撞攻击:生成任意两个不同的消息和x和y,使得哈希值f(x)=f(y)
刷题
下一阶段
- 格密码大概过完
- 数学(线性代数)
- 多复现比赛
- 文献
- 脚本
- sage文档