其他类型
前方是否可导?
随风而行,随心而行。
展开
-
leetcode环路检测
物理题两个人从A点出发,一个人slow的速度是1,另一个人fast的速度是2,那么当他们在环上相遇于B点时,只要让他们其中一个回到A点然后同时出发就可以在成环处相遇.证明:当slow 到达成环处时,fast在它的前面a%x处fast会追上slow 用时 x-a%x此时slow 走了 x-a%x.然后fast回到A 以1的速度走a后到达成环处.此时slow在(x-a%x+a)%x=0 也回到了成环处.slow fast 相遇 成环处找到....原创 2021-02-05 23:45:36 · 138 阅读 · 0 评论 -
线性同余方程组
x=a1%m1 x=a_1\%m_1 x=a1%m1x=a2%m2x=a_2\%m_2x=a2%m2<=><=><=>x+k1m1=a1x+k_1m_1=a_1x+k1m1=a1x+k2m2=a2x+k_2m_2=a_2x+k2m2=a2<=><=><=>k1m1−k2m2=a1−a2k_1m_1-k_2m_2=a_1-a_2k1m1−k2m2=a1−a2此时有解的充要条件为gcd(m1,m2)∣(a1−原创 2020-12-06 17:16:00 · 84 阅读 · 1 评论 -
2020工业互联网安全技术技能大赛Crypto 2EM(找相关bit位映射关系)
通过对源代码进行审计,可以发现是分组加密,而每次分组加密时,对于每一个比特位而言,他与key中进行异或操作的数都是一样的,从这里我们可以发现,如果我们知道一组明文和它对应的密文,那么,我们就能知道这将会形成一种映射关系.通过这种关系我们可以判断其他明文组的比特位情况.然后就可以还原每一位比特,显然题目给了我们大量的明文密文对,我们可以很轻松地还原密文成明文.from Crypto.Util.number import bytes_to_longfrom Crypto.Util.number import原创 2020-10-25 22:07:13 · 991 阅读 · 0 评论 -
想要1024勋章
可怜可怜我,给我一个1024勋章吧…原创 2020-10-24 22:33:05 · 112 阅读 · 0 评论 -
math_stream(线性方程)
encryptfrom Crypto.Util.number import isPrime, getPrime, bytes_to_longfrom random import randintflag = b'DASCTF{********************************}'def generate(): n = getPrime(1024) a, c = randint(1, n), randint(1, n) b = a + 1 return原创 2020-09-11 23:17:17 · 162 阅读 · 0 评论 -
第四届强网杯部分wp
babycrt通过分析sign函数中的代码,可以得到以下的等式:(记sign输出的值为ans)ans=S(c1*c2)%pqm+1-c1=Se1%t1…1m+1-c2=Se2%t2…2e1d=1%t1-1…5e2d=1%t2-1…6ed=1%(p-1)(q-1)Sq=md%qt2Sp=(m+k)d%pt1n=pq通过观察S的生成方法可以知道S是余数为(Sq,Sp) 模数为 (qt2,pt1)的一个共同解(CRT),于是有:md=S%qt2(m+k)d=S%pt1即:md=S%q原创 2020-08-24 22:55:15 · 307 阅读 · 0 评论 -
第十三届全国大学生信息安全竞赛crypto
第一题看起来很简单,就是我的电脑不够好,跑不出来…(其实是我没钱)bd题目给的e很大,低解密指数攻击得到d再把结果跑出来.d=1485313191830359055093545745451584299495272920840463008756233n=86966590627372918010571457840724456774194080910694231109811773050866217415975647358784246153710824794652840306389428729923771原创 2020-08-23 23:02:53 · 734 阅读 · 0 评论 -
[BSidesSF2020]decrypto-1
encryptimport sysimport jsonimport hashlibclass Crypto: def __init__(self, key): if not isinstance(key, bytes): raise TypeError('key must be of type bytes!') self.key = key self._buf = bytes() self._ou原创 2020-08-17 21:13:47 · 514 阅读 · 0 评论 -
手机键盘图
原创 2020-08-13 22:22:15 · 225 阅读 · 0 评论 -
Shamir秘密共享
给一个多项式:其中 S 是明文: 给每个人分配一个解(x,y)作为一个密钥碎片,当集齐t个密钥碎片后就可以解出明文了.(不冗余)解密公式:当x=0时,显然就可以得到 S了.(转成矩阵相乘也可以)原创 2020-08-13 21:05:03 · 919 阅读 · 0 评论 -
[AFCTF2018]一道有趣的题目
encrypt#加密代码def encrypt(plainText): space = 10 cipherText = "" for i in range(len(plainText)): if i + space < len(plainText) - 1: cipherText += chr(ord(plainText[i]) ^ ord(plainText[i + space])) else:原创 2020-08-13 18:26:01 · 1386 阅读 · 1 评论 -
buuctf 救世捷径(最短路dijkstra算法)
题目的意思是要我们求从国家1到国家26的最短路路径.这里采用dijkstra算法dijkstra算法dijkstra算法采用的是贪心算法的策略.大体意思是将所有点分成两个点集,一个是已经确定了到起始点的最短距离的点的集合,一个是还未确定的集合. 分别记为 A B 初始化各点到起始点的距离为无穷大(足够大)记为dv[i]:点i到起点的距离.记graph[i][j]为输入的点i到点j的距离(如果没有则记为无穷大)1,首先可以将起始点a1加入A2,然后将所有点到a1的距离做比较,取最小的那个点记为a2加入原创 2020-08-12 19:14:50 · 1217 阅读 · 0 评论 -
[UTCTF2020]Cube Crypto
在网上找了一下:生成Shared key的方法如上:根据上面的知识:Alice 发送 a=(a1,a2,a3,a4)=(A-1 b1A,A-1 b2A,A-1 b3A,A-1 b4A)对应题目给的条件可以得出:A^-1=B D’ R’ DA=D’ R D B’(A-1 的逆序列)同理根据Bob 发送的信息可以得出:B-1 =U F’ R DB=D’ R’ F U’则K=A-1 B-1 A B=B D’ R’ D U F’ R D D’ R D B’ D’ R’ F U’套上题目要求.原创 2020-08-11 20:35:58 · 645 阅读 · 1 评论 -
Crypto Known
decrypt1 cipher^key=plaintext2,字母替换.f=open('known.txt','r').readlines()s=[]t=[]for i in range(1,len(f)): temp=f[i].strip().split(':') s.append(temp[0]) t.append(temp[1])print(s)print(t)import base64import Crypto.Util.numberfor i in r原创 2020-07-30 16:40:32 · 158 阅读 · 0 评论 -
[UTCTF2020]OTP
白给原创 2020-07-27 19:41:45 · 672 阅读 · 0 评论 -
[SUCTF2019]MT 87
encryptfrom Crypto.Random import randomfrom Crypto.Util import numberfrom flag import flagdef convert(m): m = m ^ m >> 13 m = m ^ m << 9 & 2029229568 m = m ^ m << 17 & 2245263360 m = m ^ m >> 19 retu原创 2020-07-20 22:30:29 · 279 阅读 · 0 评论 -
[网鼎杯 2020 青龙组]you_raise_me_up(离散对数)
加密脚本#!/usr/bin/env python# -*- coding: utf-8 -*-from Crypto.Util.number import *import randomn = 2 ** 512m = random.randint(2, n-1) | 1c = pow(m, bytes_to_long(flag), n)print 'm = ' + str(m)print 'c = ' + str(c)# m = 391190709124527428959489662原创 2020-07-17 19:25:01 · 739 阅读 · 0 评论 -
[V&N2020 公开赛]CRT(中国剩余定理模数不互质)
加密脚本import hashlibfrom functools import reducefrom Crypto.Util.number import *ms = [getRandomNBitInteger(128) for i in range(8)]p = reduce(lambda x,y: x*y, ms)x = getRandomRange(1, p)cs = [x % m for m in ms]flag = "flag{" + hashlib.sha256(str(x)原创 2020-07-16 22:47:31 · 832 阅读 · 1 评论 -
EasyProgram
题目发现两个文件分析1 file.txt没有有效信息,猜测16进制数据分析一共38个字节故密文可以表示为:flagx=[0x00,0xBA,0x8F,0x11,0x2B,0x22,0x9F,0x51,0xA1,0x2F,0xAB,0xB7,0x4B,0xD7,0x3F,0xEF,0xE1,0xB5,0x13,0xBE,0xC4,0xD4,0x5D,0x03,0xD9,0x00,0x7A,0xCA,0x1D,0x51,0xA4,0x73,0xB5,0xEF,0x3D,0x9B,0x31,0原创 2020-07-12 14:58:45 · 429 阅读 · 0 评论 -
中国剩余定理(模数互质)
from functools import reduceimport sympydef CRT(n, a): sum = 0 prod = reduce(lambda a, b: a * b, n)#reduce(function,n):将数据集合n(可以是列表,也可以是元组等)的前两个数据做function函数运算,然后将结果与n中的后一个元素做function运算,最后会返回一个结果. for n_i, a_i in zip(n, a):#zip(a,b)将a,b中的数据打原创 2020-07-09 21:19:06 · 182 阅读 · 1 评论 -
wireshark突然卡死
如果打开了有道词典,把有道词典关掉再试试.(也许是因为有道词典并没有兼容wireshark)原创 2020-07-09 21:14:42 · 514 阅读 · 0 评论 -
buu达芬奇密码
首先拿到题目分析可得第一行可得是斐波那契数列得乱序(加强数感),于是可以猜测神秘字符串可能也是flag得乱序,且两者得乱序规则是一样得,接着通过编程可以得到flag字符串li1=[1 ,233 ,3 ,2584 ,1346269, 144 ,5 ,196418, 21 ,1597, 610 ,377 ,10946, 89 ,514229, 987, 8 ,55, 6765, 2178309, 121393, 317811, 46368, 4181, 1, 832040 ,2 ,28657, 7502原创 2020-07-02 17:46:12 · 816 阅读 · 0 评论