密码学
文章平均质量分 60
te_mgl
无
展开
-
ECB oracle——attack
基于ECB oracle的攻击方案前言什么是ECB方案步骤1.确定块大小和明文大小2.暴力破解求明文脚本代码前言参考文章:Breaking ECB by prepending your own message.环境地址:ECB oracle什么是ECB分组密码中AES的一种模式(其他还有:CBC、ECB、CTR、OCF、CFB)如图每一块加密是分开的。方案步骤1.确定块大小和明文大小先用一个字符"a"去encrypt返回32个字节的数据(64位16进制)依次用"aa",“aaa”…去en原创 2021-02-23 16:44:45 · 731 阅读 · 0 评论 -
Wener‘s attack(RSA低解密指数攻击)
参考文章Wiener’s attackCrypto Classics: Wiener’s RSA Attack中文参考1中文参考2Wener’s attack重点知识:连分数、渐进分数。连分数举个例子比较清晰,如图那么e/N的依次每个渐进分数描述:Wiener 表示如果满足:d<(1/3)* n **(1/4)那么一种基于连分数(一个数论当中的问题)的特殊攻击类型就可以危害 RSA 的安全。思路如下:在RSA中有式子:ed = 1%n 推到公式变换为:** e/ph原创 2021-01-25 19:32:17 · 3912 阅读 · 6 评论 -
类似RSA共模攻击的模二项式解题方法
类似RSA共模攻击的模二项式解题方法问题描述解题思路问题描述已知:N,e1,e2,c1,c2N = pqc1 = (2p + 3q)**e1 mod Nc2 = (5p + 7*q)**e2 mod N求p,q解题思路已知条件很简单,可以看出就是一道考数学知识的。我看到此题的时候感觉有点像共模攻击但是M不同,那两个式子化了半天也不行,后面在别人的提示下淦了一下午才解出来(痛苦),解题过程很巧妙直接看图吧。主要思想有3步:1,等式两边** e1和** e22,解方程组(这里就是我卡住的原创 2021-01-22 10:09:50 · 454 阅读 · 3 评论 -
python简单的对图片进行XOR
图片XOR题目来源CryptoHack (Lemur XOR)两张png图片将每个像素点的RGB进行XOR(r1^r2, g1^g2 , b1^b2)代码:from PIL import Imageim1 = Image.open('flag.png') #打开图片pim1 = im1.load()im2 = Image.open('lemur.png')pim2 = im2.load()width,height=im1.sizefor i in range(width):原创 2021-01-18 16:21:02 · 1321 阅读 · 0 评论 -
Python实现Tonelli–Shanks算法
Tonelli–Shanks算法 参考算法步骤Python代码实现参考WIKIPEDIA Tonelli–Shanks算法 代码参考算法步骤输入:奇素数p,模p的一个二次剩余n(意味着勒让德符号L(n,p)=1).输出:整数R,使得R^2≡n(mod p,以下默认)①从p-1中除去所有因子2,设p-1=q*2^S,其中q是奇数(也就是除去所有因子2的结果)。②选择一个z,使得勒让德符号L(z,p)= -1(即,z是p的二次非剩余(pow(z, (p - 1) // 2,p)==p-1 )③原创 2021-01-18 15:57:03 · 1194 阅读 · 1 评论 -
上海市大学生网络安全大赛2020——baby_dsa
DSA加密task.py#!/usr/bin/env pythonfrom Crypto.Util.number import *from hashlib import sha512,md5from os import urandomimport randomdef hash(message): return int(sha512(message).hexdigest(), 16)def key_gen(): q = getPrime(256) while True: p =原创 2020-11-17 19:52:11 · 583 阅读 · 0 评论 -
BUU_crypto刷题记录2
这里写目录标题1.[NCTF2019]babyRSA1.[NCTF2019]babyRSA文件打开分析代码:已知e,d,c,求m。看来必须求q,p了进一步分析p,q是1024位的,因此两者相乘大概是2048位,通过运算可知ed-1为2064位,因此k一定小于16位,我们只需在0到2**16遍历即可条件为(ed-1)%k==0(因为ed-1=k*phi)代码:import sympy.cryptoimport gmpy2import binasciie=0x10001d = 192757原创 2020-10-27 21:40:27 · 562 阅读 · 4 评论 -
Rabin加密算法
记录新知识(1)——Rabin加密算法今天刷BUUCTF的一道Crypto题遇到一个新的加密算法Rabin,所以记录一下新知识。首先我也看了几篇师傅们的博客:浅谈二次剩余中国剩余定理(孙子定理)RSA攻击之Rabin密码体制RSA 衍生算法——Rabin 算法第二篇写的不错,但是对于我这种没学过数论的不太友好(模运算比较简单就自己百度了),结合这三篇算是看懂了。手写过程:脚本:import gmpy2n=523798549p=10663q=49123e=2c=...原创 2020-11-03 21:26:24 · 1694 阅读 · 1 评论