RSA基本实现 首先获得N比特的伪随机数:使用Random库中内容. randint(n,m) 表示生成一个在n和m之间的随机数, **表示乘幂. getPrime找素数,or 1运算是一种优化:如果当前数不是素数,则+2再验证:方法有点糙,但勉强能用. exgcd此处用来计算逆元.它读取两个三元组,模仿上课时的那种矩阵解法来解. 注意else里的exgcd外一定要套return:要不然值是出不来的. 这里的素数判断用miller_Rabin测试写出. 先用k提取出p-1里2的所有因子,循环随机…
在RSA攻击中,存在着"小明文攻击"的方式: 在明文够小时,密文也够小,直接开e次方即可: 在明文有点小时,如果e也较小,可用pow(m,e)=n*k+c穷举k尝试爆破 所以,比如说,在选择明文攻击中,单纯的RSA非常容易被破解. 于是,我们就像将密文进行一下填充,最好让密文都等长. 但是填充方式也是很讲究的:不好的填充规则往往仅仅有限的增加了攻击的难度,或者难以实现等长密文. 于是我们就查到了(bushi)OAEP--最优非对称加密填充. 最优非对称加密填充: (1)准备工作: 将k…
emmmm感觉其实自己对这个的理解完全不够,原理只能写出这么个东西(悲) 代码完全是 攻击方式中(1)(2)内容的实现. lambda是一种可以理解为匿名函数的写法:写在这里看起来很酷炫(bushi) 程序中的N对应的就是原理讲解中的m,用朴实的东西完全可以写出来. iroot(x,y)对x开y次方:它的类型不是int,所以要用代码所示的方式把所需内容提取出来. try except 段尝试出正确的Ni搭配并输出. 代码完全没有阅读难度:看就完了.…
注:(不求甚解的)攻击原理 以及(浅层的)算法解释已在图片中给出:文字部分主要讲一些python语法的东西. 代码需要库 gmpy2和libnum:加密算法还需要Crypto.Util.number . gcdext(a,b)扩欧 ::pow(a,b,c)将a的b次方对c取模 注意使用gmpy2大整数类"mpz"来规避"ValueError: pow() 2nd argument cannot be negative when 3rd argument specified&q…
信安之路 第02周 Code:https://github.com/lotapp/BaseCode/tree/master/safe 前言 本周需要自行研究学习的任务贴一下: 1.概念(推荐) 数据库系列去年就开始陆陆续续的发文,这周任务简单带过,概念部分我更新了一下,其他部分看扩展吧~ 1.1.关系型数据库 引用百科的一段抽象描述: "关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库.用户通过…
                                                  Primitive Roots 此题通过率如此之高,料想不会很难,但是再简单小菜还是不会.. 嗯,下周信安期末了,再次吐槽一下信安的课真多!这学期真正让我感兴趣的的也就是信安数学基础和线代了.因为信安前8章都是数论,学起来如鱼得水,正好趁着复习学一把数论.此题详见陈恭亮信安数学基础之原根. 题意:先给出原根的定义.若n为[3,65536]内的奇素数,求有多少个数是模n的原根. 解法:信安书上原根的…
信安之路 第03周 前言 这周自主研究的任务如下: 任务附录的解释: 文件读写在通过数据库注入漏洞获取webshell的时候很有用 系统库和表存放了很多关键信息,在利用注入漏洞获取更多信息和权限的过程很有帮助 eg:库信息.表信息.用户信息.权限信息.安装配置信息 用户信息表一般密码都是hash加密过的,可以利用hashcat暴力破解(GPU) 1.文件操作相关 1.1.探索与发现 需要什么权限才可以进行文件读写操作,看个简单测试: 读写前提:secure_file_priv不为NULL.用户具…
第一届"信安杯"部分WriteUp------OooooohLeeGay队! 小队成员(按姓氏):郭泽坤.李江川.赵乐祺 以下这部分是做出来的 2019.11.23-24 ++Re1:++ 解题:李江川,郭泽坤 打开题目链接,压缩包解压后有一个.exe,打开后是一个让你点灯的游戏,所有灯点亮后就会得到flag 直接一路输入1~8,发现全部灯被点亮,得到flag. ++Re2:++ 解题:赵乐祺 下载下来之后是开源文件,c语言,读一下: 可以知道,first是十六进制的0xcafe,se…
/** * 发送站内信 */@Permission(Module.TZGL)@RequestMapping(value = "/sendznx", method = RequestMethod.POST)@ResponseBodypublic String sendZnx(HttpSession session, Model model, @RequestParam(defaultValue = "") String[] userList, @RequestPara…
正好这段时间在研究这个功能,还是得感谢这位大神,没有他的引路,我就不可能把站内信做出来. http://www.cnblogs.com/grenet/archive/2010/03/08/1680655.html 哈哈,再次感谢. 我们先来说说单点传送站内信,所谓的单点传送,就是用户与用户之间的短信发送,这里的用户可以是一个人,也可以是多个人, 上面的文章大家如果看了的话,想必有一个疑问,就是用户的阅读状态怎么定义? 我这里给大家一种解决方案,再建立一张表,也就是说,建立一张用户阅读状态表,因为…