随笔分类 - 密码学
密码学
摘要:参考: https://zhuanlan.zhihu.com/p/108659500
阅读全文
摘要:标准模型(Standard Model) 标准模型下,敌手只受时间和计算能力的约束,而没有其他假设,如果在此条件下,可以将密码学方案归约到困难性问题上,则称为该归约是基于标准模型的,也称方案具有在标准模型下的可证明安全性。然而在实际中,很多方案在标准模型下建立安全性归约是比较困难的,也就是难于证明在
阅读全文
摘要:椭圆曲线算术理论基础 编程实现ECC模N意义下的点加法 首先分别是计算整数x、小数x对于模数N的乘法逆元的函数: # based on extended Euclidean algorithm # calc : x^(-1) mod N | x is int type # show=True mea
阅读全文
摘要:参考 https://wonderful.blog.csdn.net/article/details/79671263?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.cont
阅读全文
摘要:什么是欧拉函数? 引用百科上的原话,在数论中,对任意正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目(一般认为 φ(1) = 1)。此函数以其首名研究者欧拉命名(Euler's totient function),它又称为Euler's totient function、φ函数、欧拉商数
阅读全文
摘要:就是求: 参考自: 1: https://www.rookieslab.com/posts/fast-power-algorithm-exponentiation-by-squaring-cpp-python-implementation#brute-force-python-implementat
阅读全文
摘要:GCD算法原理: 扩展GCD算法原理: 代码呀: def gcd(a, b): while a != 0: a, b = b%a, a return b # calc : b^(-1) mod m def IntModInverse(b, m, show = True): if gcd(m,b) !
阅读全文
摘要:题目一 密钥矩阵的构造 新建5x5的表格,依次填入密钥单词,字母不重复,然后字母a-z一次不重复填入,注意字母i和字母j占据同一个位置,一般来说加密的时候明文中的j字母都可以替换成字母i。 密文两两分组 密文: KXJEY UREBE ZWEHE WRYTU HEYFS KREHE GOYFI WT
阅读全文
摘要:参考自 https://zhuanlan.zhihu.com/p/65564614 https://www.jianshu.com/p/5a220e95cee2 YAO A C.Protocols for secure computation[C].In Proc. of the 23rd Annu
阅读全文
摘要:在moctf平台上,一道逆向题目很有意思,记录一下: 文件链接:http://119.23.73.3:6001/re4/jiamiqi.exe jiamiqi.exe文件执行效果: 执行到这里可以发现了,加密器输出的密文长度和明文长度是一致的,并且不加密空格。后面我们再去详细验证。 拖入IDA pr
阅读全文
摘要:说实话,这是第一次接触rsa类型的ctf题目,以前太菜了,下午无聊就研究了这道题。 关于RSA,我已经在上学期的密码学课程中了解到了,但是一直没有实战过,我参考到一个不错的博客做出了这道题: https://www.freebuf.com/sectool/163781.html ,主要内容是围绕命令
阅读全文
摘要:DSA算法介绍: DSA是在ElGamal和Schnorr两个签名方案的基础上设计的,其安全性基于求离散对数的困难性。生成签名长度 320 bit,算法描述如下: (1) 全局公开钥 l p:满足2L-1<p<2L 的大素数,其中512≤L≤1024且L是64的倍数 l q:p-1的素因子,满足21
阅读全文
摘要:本次博文以前面的两次文章的函数定义、说明为基础进行扩展。 并且参考了一些其他的优秀博客文章,比如KDF局部密钥派生函数的使用、十六进制字符串与二进制字符串以及普通字符串转换函数(自己也编写了一部分函数)、SM3杂凑签名算法(太懒了,完全拿来用了,取其精华,感谢博客主人)。 完成本次实验前,进一步了解
阅读全文
摘要:下面列举了椭圆曲线GF(p)素数域常用函数:(持续更新) 椭圆曲线GF(p)素数域常用函数:1.椭圆曲线方程初始化ecurve_initFunction: void ecurve_init(A,B,p,type) big A,B,p; int type;Module: mrcurve.cDescri
阅读全文