代码说明ρ攻击的目的和生日攻击类似,也是寻求一个基于sm3哈希值的弱碰撞,但是寻找的方式是通过ρ递推表达式来依次尝试。
这里我使用了类似查表攻击似的数据结构,一边存表一边查表(可以使用多线程进一步优化脚本功能),以便可以在较短时间内找到一个前16bit的hash弱碰撞。
如果寻找更长bit的碰撞,寻找时间也会相应变长。
实验结果可见,寻找16bit碰撞中生日攻击所需要的时间少于ρ攻击,但是如果加长碰撞的bit长度,ρ攻击会比生日攻击展现出更好的效率。
运行指导将源码clone到本地运行main函数即可运行ρ攻击脚本。
软件环境:VisualStudio2019硬件环境:PC机
2018/4/13 22:48:23 6KB sm3 c++ rho ρ攻击
1
代码说明生日攻击的目的是寻求一个基于sm3哈希值的弱碰撞,原理是一定长度和hash值结果2^32长度,在2^16密文空间中可以以50%以上的概率找到一个hash碰撞。
这里我使用了类似查表攻击似的数据结构,一边存表一边查表(可以使用多线程进一步优化脚本功能),以便可以在较短时间内找到一个前16bit的hash弱碰撞。
如果寻找更长bit的碰撞,寻找时间也会相应变长。
运行指导将源码clone到本地运行main函数即可运行生日攻击脚本。
软件环境:VisualStudio2019硬件环境:PC机
2016/9/5 7:25:13 8KB sm3 生日攻击 c++ 国密算法
1
代码说明对sm3的结构进行了底层的函数实现,经过调用和组装生成可以执行的sm3模块,由于硬件环境有限且没有加速部件,所以运行起来相对比较慢,可以作为后续openssl库函数调用实现和加速的依据。
运行指点将源码clone到本地运行main函数即可运行。
软件环境:VisualStudio2019硬件环境:PC机
2016/10/18 2:51:41 4KB 国密 sm3 密码学 网络安全
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡