自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 汇编小甲鱼

一个典型的CPU由运算器,控制器,寄存器的器件组成,均靠内部总线相连。8086cpu有14个寄存器,分别为。

2022-10-13 15:22:46 601

原创 ctfshow月饼

因为我们现在未知的,一个是a,一个是salt,在已知信息m中给了我们一段flag,它处于第53位,对应到密文里,翻倍也就是106位,就可以根据这个信息来进行爆破。网上有它的python2脚本,但是解密后发现不正确,自动钥匙后面有异或的操作,可能题目给出的密文是通过异或得出来的,我们需要再进行异或一下,于是有。观察它给出得数字,p,q,n,c已经全部给出,现在只剩一个(gamma(B+2)%A)是未知数,而这涉及到伽马函数,即。即我们现在得到了,a=67,salt=JESQ,即有。Weird Γ(x)?

2022-10-13 15:21:10 427

原创 密码数论基础

(英语:Extended Euclidean algorithm)是欧几里得算法(又叫辗转相除法)的扩展。扩展欧几里得算法可以用来计算模反元素(也叫模逆元),求出模反元素是RSA加密算法中获得所需公钥、私钥的必要步骤。###两数的最大公约数可以用两数的整数倍相加来表示,如 21=5×105+(−2)×252。在某个范围内的整数可以通过它的一组余数来重构,这组余数是对该整数用一组两两互素的整数取模得到的。,是求最大公约数的算法。在数论中,欧拉定理(也称费马-欧拉定理或欧拉。的最大公约数的同时,能找到整数。

2022-09-03 10:36:58 254

原创 密码离散对数基础

生成元在一个群G中,如果g是G的生成元,即所有G中的所有元素都可以被表示成y=g**x,此时的x称为y在G中的对数。阶设m≥1,gcd(a,m)=1,使得a**d≡1(modm) 成立的最小正整数d称为a对模m的指数或者阶。一般将其计为δ**m(a)。满足a**d≡1(modm)的d一定满足d∣φ(m)。原根当δ**m(a)=φ(m) 时,称a是模m的原根,简称m的原根。只有m。

2022-09-03 10:35:50 1349

原创 python数学复习

生成元在一个群G中,如果g是G的生成元,即所有G中的所有元素都可以被表示成y=g**x,此时的x称为y在G中的对数。阶设m≥1,gcd(a,m)=1,使得a**d≡1(modm) 成立的最小正整数d称为a对模m的指数或者阶。一般将其计为δ**m(a)。满足a**d≡1(modm)的d一定满足d∣φ(m)。原根当δ**m(a)=φ(m) 时,称a是模m的原根,简称m的原根。只有m。

2022-09-03 10:33:22 1347

原创 GO语言基础

每一门编程语言的开始都是hello world,GO语言中示例如下这就是我们的第一个hello,world程序,其中有几个注意的点:1.开始的包名不能丢,每个go语言程序都需要用到它。2.func main()后面的{}不能单独的写在一行,比如就是错误写法。当我们写好.go文件之后,还有其它方式可以运行首先可以在cmd里,输入即可运行这个文件,但是记得运行时一定要在其目录文件夹下,不然会显示找不到文件。其次我们可以使用go build创建一个二进制文件,输入也可以运行hello world程序。

2022-09-03 10:30:19 716

原创 GO语言hello world--->数据类型

因为之前有了解过别的编程语言,所以文章的内容适合已经学过类似c或python的人来看。学习任何编程语言都要写一行hello,world,那就从它来了解一下GO语言这就是我们的第一个hello,world程序,其中有几个注意的点:1.开始的包名不能丢,每个go语言程序都需要用到它。2.func main()后面的{}不能单独的写在一行,比如就是错误写法。当我们写好.go文件之后,还有其它方式可以运行首先可以在cmd里,输入即可运行这个文件,但是记得运行时一定要在其目录文件夹下,不然会显示找不

2022-06-08 23:13:08 314

原创 工具转换脚本

之前在做一些题目时,有的数字在代入到网站之后无法解出正确的答案,而代入到脚本之后可以运行,因此想做一些平常在网站上经常使用的工具,用脚本实现。进制转换:最常用的就是十六进制转字符串import binasciis=input()def zhuan(s): s=binascii.unhexlify(s) print(s.decode('utf-8'))print(zhuan(s))BASE64解密import base64message=input()de_m

2022-05-28 13:01:21 310

原创 伏羲六十四卦+36D

伏羲六十四卦 解压之后有两个文件,一个是加密脚本,一个是txt文件,txt文件给了我们一串密文,就是六十四卦中的汉字,那就是与六十四卦有关,查找六十四卦相关信息,发现有一篇文章是讲六十四卦与二进制的关系,上网查询之后,找到了这样一张图片那现在就很清楚了,需要把给出的密文转换为二进制数字,s='升随临损巽睽颐萃小过讼艮颐小过震蛊屯未济中孚艮困恒晋升损蛊萃蛊未济巽解艮贲未济观豫损蛊晋噬嗑晋旅解大畜困未济随蒙升解睽未济井困未济旅萃未济震蒙未济师涣归妹大有'dic={'坤': '000000',..

2022-05-21 00:19:35 1467

原创 BJDCTF中rsa部分

easyrsafrom Crypto.Util.number import getPrime,bytes_to_longfrom sympy import Derivativefrom fractions import Fractionfrom secret import flagp=getPrime(1024)q=getPrime(1024)e=65537n=p*qz=Fraction(1,Derivative(arctan(p),p))-Fraction(1,Derivative

2022-05-14 00:04:43 413

原创 BJDCTF2020CRYPTO

这次做一些简单题,巩固一下基础首先是ctfshow内部赛密码2全文只给出了ctf和show两个单词,不是什么特殊字符,也不属于特殊解密,类似于这样的,可以想到摩斯密码,它是由-与.组成的,试着用ctf作.,show作-,敲完前四行编码,转换之后为flag,所以挨个敲就好了。BJDCTF2020签到题这种题目一般是归纳总结,仅有小写字母与数字组成的密文,我们可以想到MD5,hex,键盘密码等等,这道题使用的是hex编码,直接带入网站就好。BJDCTF2020编码与调制这

2022-05-07 18:17:09 1354

原创 ctfshow-Crypto-红包4(nc连接)

from secrets import randbelowfrom nationalsecret import p, r, k, flagg = 2y = pow(g, k, p)def dododo(): print("Here is my gift for National's Day!") t = pow(g, r, p) print(f't = {t}') print("What do you want?") c = int(input('c =.

2022-04-30 20:21:21 1488 1

原创 ctfshow-Crypto-新生赛

签到题签到题由大小写字母数字,以及特殊字符()等, 可以猜测为base85编码,那么即可使用网站解密即可。flag{base85_here}抱我cstring = 'abcdefghijklmnopqrstuvwxyz{}_0123456789'key = 'flag{********}'length = 300def encode(): res = '' for i in range(1, length): c = random.randint

2022-04-29 23:35:48 985

原创 python编程快速上手——读写文件

基本操作:1.windows上的反斜杠与linux即OSX上的正斜杠这里介绍一个os.path.join()函数,它可以返回一个文件路径名称的字符串,包括正确的路径分隔符。>>> import os>>> os.path.join('usr', 'bin', 'spam')'usr\\bin\\spam'​>>> myFiles = ['accounts.txt', 'details.csv', 'invite.docx']

2022-04-11 19:47:33 852

原创 Python编程快速上手——模式匹配与正则表达式

基本操作:1.使用正则表达式查找文本模式正则表达式,简称为 regex,是文本模式的描述方法。首先需要创建正则表达式对象import rephoneNumRegex = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d')Python所有正则表达式均在re模块中,complie将会返回一个Regex模式对象。接下来需要匹配Regex对象可以使用search()方法来寻找字符串,寻找所有匹配对象,如果找到了该模式对象,就会返还一个Match对象,再使用g

2022-04-11 10:41:27 572

原创 Python编程快速上手——字符串

基本操作:1.双引号它可以使在字符串中使用单引号。2.转义字符3.原始字符串只需要在原来的字符串基础上,引号之前添加一个r,就可以得到原始字符串,它的作用是可以忽略一切转义字符,打印出所有的反斜杠4.三重引号引用多行字符串print('''Dear Alice,Eve's cat has been arrested for catnapping, cat burglary, and extortion.Sincerely,Bob''')>>>D

2022-04-08 18:08:05 746

原创 Python编程快速上手——字典(笔记)

字典基本操作:1.简单介绍eg:>>>mycat={'size':'fat','color':'gray','disposition':'loud'}在这之中,size被称为键,这个键相应的值是’fat‘,可以通过它们的键访问它们的值。2.keys(),values(),item()方法,常用于循环结构keys()方法是返回字典中的键,例如>>> spam = {'color': 'red', 'age': 42}>>>

2022-04-06 09:54:49 563

原创 python编程快速上手——列表

该博客主要作用是归纳总结,没有太多的解释概念。(文中的特殊字符表省略,可随意替换为其它字符)常规操作:列表1.使用下标取得列表中的单个值:>>>lesson=[math,chinese,english]>>>lesson[0]>>>math在使用下标时,该列表第一个值的下标为0或-3,第二个值为1或-2,第三个值为2或-32.使用切片取得字列表:spam[*:#]第一个值整数是切片开始的下标,第二个整数是切片结束时的下标,

2022-04-03 17:09:03 388

原创 RSA系列(更新至unusualrsa5)

普通题目rsa最简单的题目,是给出pq等数据,要求求解d或是明文,使用脚本就可以轻松解密。import libnumimport gmpy2p=libnum.generate_prime(1024)#生成随机数q=libnum.generate_prime(1024)n=p*qe=65537phi_n=(p-1)*(q-1)d=gmpy2.invert(e,phi_n)c=pow(c,m,n)print("p=",p)print("q=",q)print("n=",n)

2022-03-26 17:25:56 7245 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除