文章分类 -  『密码学』

just for ctf
摘要:题目描述 题目如下 from secret import r, t from Crypto.Util.number import * flag = b'xxx' flag = bytes_to_long(flag) e = 0x10001 def gen_keys(): p = getPrime(1 阅读全文 »
posted @ 2023-04-24 00:00 TLSN 阅读(67) 评论(0) 推荐(0) 编辑
摘要:...慢慢积累ing 一、Rabin加密 这是与e有关的攻击 适用情况:e==2 Rabin加密是RSA的衍生算法,e==2是Rabin加密典型特征,可以百度或阅读https://en.维基pedia.org/wiki/Rabin_cryptosystem以了解到详细的说明, 这里只关注解密方法。一 阅读全文 »
posted @ 2023-01-27 22:30 TLSN 阅读(625) 评论(0) 推荐(0) 编辑
摘要:前言 在做V&N 2020公开赛中的一道名叫easy_RSA的题目的时候遇到了这个问题 题目最后一步如下: n = 10269028767754306217563721664976261924407940883784193817786660413744866184645984238866463711 阅读全文 »
posted @ 2023-01-27 22:28 TLSN 阅读(88) 评论(0) 推荐(0) 编辑
摘要:####p-1光滑 当 p 是 N 的因数,并且 p - 1 是光滑的时候,可能可以使用 Pollard's p − 1 算法来分解 N,但是也不是完全可以成功的。 参考 https://www.cnblogs.com/lordtianqiyi/articles/17069448.html #### 阅读全文 »
posted @ 2023-01-27 22:25 TLSN 阅读(174) 评论(0) 推荐(0) 编辑
摘要:baby step giant step算法常用于ACM竞赛中,该算法的目的是让ax=b(modp)求解的速度更快,核心是利用hash表查询的速度较普通查询方式快,当然同样是用空间换时间的一种思想。大概的时间复杂度O(p) 推导如下: 代码如下: #include <c 阅读全文 »
posted @ 2023-01-27 22:24 TLSN 阅读(53) 评论(0) 推荐(0) 编辑
摘要:基础知识 卢卡斯数列和卢卡斯序列 卢卡斯数列,英文名:Lucas numbers 卢卡斯数列与斐波那契数列相似,除前两项外,每个卢卡斯数都为前两项之和。 而前两项卢卡斯数是L0=2L1=1,不同于前两个斐波那契数F0F1 。 因此,卢卡斯数可以定义 阅读全文 »
posted @ 2023-01-27 22:22 TLSN 阅读(1055) 评论(2) 推荐(1) 编辑
摘要:"一切以解题为目的的抄代码都是耍流氓!!!" ####前置知识 #####smooth与powersmooth 光滑数(smooth number),或译脆数,是一个可以因数分解为小质数乘积的正整数 如果一个整数的所有素因子都不大于B,我们称这个整数是B-Smooth数 如果一个整数的所有素因子的对 阅读全文 »
posted @ 2023-01-27 22:15 TLSN 阅读(2445) 评论(0) 推荐(1) 编辑
摘要:一、基础知识 https://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html 欧拉函数、逆元、互质关系 二、RSA原理实现 1、随机选择两个不相等的质数p和q 2、计算p和q的乘积n n=pq3、计算n的欧拉函数φ( 阅读全文 »
posted @ 2023-01-23 22:49 TLSN 阅读(41) 评论(0) 推荐(0) 编辑
摘要:一、简介 参考 : https://ctf-wiki.org/crypto/classical/monoalphabetic/#_15 核心就是 加密: y ≡ (ax+b) (mod m) 解密: x ≡ (a^-1) (y-b) (mod m) 推导过程: y ≡ (ax+b) (mod m) 阅读全文 »
posted @ 2023-01-20 19:23 TLSN 阅读(295) 评论(0) 推荐(1) 编辑
摘要:一、简介 mt19937算法是梅森旋转算法(Mersenne Twister)的变体,是一个伪随机数发生算法,可以产生32位整数序列。具有以下的优点 二、代码实现 32位的MT19937的python代码如下: def _int32(x): return int(0xFFFFFFFF & x) cl 阅读全文 »
posted @ 2022-10-24 20:18 TLSN 阅读(988) 评论(0) 推荐(0) 编辑
摘要:一、简介 Chacha20流密码经常和Poly1305消息认证码结合使用,被称为ChaCha20-Poly1305,由Google公司率先在Andriod移动平台中的Chrome中代替RC4使用,由于其算法精简、安全性强、兼容性强等特点,目前Google致力于全面将其在移动端推广 二、初始化矩阵 C 阅读全文 »
posted @ 2022-10-24 20:08 TLSN 阅读(4555) 评论(0) 推荐(2) 编辑
摘要:CRC校验算法就是我们计网上所学的CRC冗余检验算法 一、CRC8校验算法 CRC8检验算法的标准生成多项式 1、标准生成多项式 CRC-8 x8+x5+x4+1 0x31(0x131) CRC-8 x8+x2+x1+1 0x07(0x107) CRC-8 x8+x6+x4+x3+x2+x1 0x5 阅读全文 »
posted @ 2022-07-12 18:42 TLSN 阅读(441) 评论(0) 推荐(1) 编辑
摘要:一、简述 IDEA的全称是International Data Encryption Algorithm,也叫做国际加密算法 这种算法是在DES算法的基础上发展出来的,类似于三重DES 数据块加密算法 二、加密步骤 1、产生密钥 2、加解密过程 三、代码实现(抄的网上的代码) #include<io 阅读全文 »
posted @ 2022-06-28 20:22 TLSN 阅读(1446) 评论(0) 推荐(1) 编辑
摘要:该题考查了cloacked-pixel隐写,rot47加密,0宽字符隐写,维吉尼亚密码等知识点 解压,获取了一张png图片,pngkey,还有一个加密后的zip文件 一、rot47加密 根据第一条提示,密钥是ROT47加密过的 直接 ROT47在线解密 https://www.qqxiuzi.cn/ 阅读全文 »
posted @ 2022-05-27 23:29 TLSN 阅读(331) 评论(0) 推荐(1) 编辑
摘要:一、基础知识 SM4密码算法是一个分组算法,该算法的分组长度为128比特,密钥长度为128比特。 数据解密时,轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。 二、加密过程 a、32次迭代得到X4~X35 x0~x3是明文输入 F函数中 rki是我们输入后经过变换的32个32位的轮密钥 1、F函 阅读全文 »
posted @ 2022-05-26 12:48 TLSN 阅读(239) 评论(0) 推荐(0) 编辑
摘要:RE的时候碰到了,浅学一下。。。 一、RC4密码基础概要 RC4加密算法属于流加密,也就是说明文多长,密文就有多长;密钥长度可变;对称密钥体制 二、加密过程 初始化S表 1、初始化S表 对S表进行线性填充,一般为256个字节,即S[0] = 0,S[1] = 1 , S[2] = 2.... 2、用 阅读全文 »
posted @ 2022-05-13 23:25 TLSN 阅读(502) 评论(0) 推荐(0) 编辑
摘要:TEA加密原理 一、简要概括 TEA(Tiny Encryption Algorithm) 微型加密算法 TEA加密算法采用扩散和混乱方法,对64位的明文数据块,用128位密钥分组进行加密,产生64位的密文数据块,其循环轮数可根据加密强度需要设定。 TEA算法由剑桥大学计算机实验室的David Wh 阅读全文 »
posted @ 2022-04-29 22:31 TLSN 阅读(552) 评论(0) 推荐(0) 编辑
摘要:看不懂原理,小计一下代码,方便日后用到的时候直接使用(搬用)。。。 在RSA加密算法中 当并q<p<2p时,就有可能存在维纳攻击的风险 代码如下 import gmpy2 def transform(x,y): #使用辗转相处将分数 x/y 转为连分数的形式 res=[] while y: res. 阅读全文 »
posted @ 2022-04-29 22:07 TLSN 阅读(169) 评论(0) 推荐(0) 编辑
摘要:一、 概述 MD5加密摘要算法,属于hash算法一类,能将任意数据映射成一个128位长的摘要信息,且不可逆 二、加密算法 1、数据填充 对加密的数据进行填充和整理,将加密的二进制数据的长度对512取模,得到的结果如果不为448位,则进行补足,补足的方法为第一位填充1,后面填充0,此时数据的位数为:N 阅读全文 »
posted @ 2022-04-25 23:39 TLSN 阅读(69) 评论(0) 推荐(0) 编辑
摘要:SHA1算法原理 经过Sha1算法可以把0<L<2^64位的数据转化成160位的信息摘要 一、 sha1算法原理简要概括 将任意长度的明文分组,每组为512位,最后一组若不足512位,就补位 从第一组开始,通过给定的初识缓冲区链接变量,经过80轮的运算之后,得到长度为160bit的字符串,字符串将参 阅读全文 »
posted @ 2022-03-06 21:07 TLSN 阅读(1693) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示