<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ZBDX2113的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ZBDX2113</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ZBDX2113]]></copyright><item><title><![CDATA[汇编小甲鱼]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/127302273</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/127302273</guid><author>ZBDX2113</author><pubDate>Thu, 13 Oct 2022 15:22:46 +0800</pubDate><description><![CDATA[一个典型的CPU由运算器，控制器，寄存器的器件组成，均靠内部总线相连。8086cpu有14个寄存器，分别为。]]></description><category></category></item><item><title><![CDATA[ctfshow月饼]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/127302229</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/127302229</guid><author>ZBDX2113</author><pubDate>Thu, 13 Oct 2022 15:21:10 +0800</pubDate><description><![CDATA[因为我们现在未知的，一个是a，一个是salt，在已知信息m中给了我们一段flag，它处于第53位，对应到密文里，翻倍也就是106位，就可以根据这个信息来进行爆破。网上有它的python2脚本，但是解密后发现不正确，自动钥匙后面有异或的操作，可能题目给出的密文是通过异或得出来的，我们需要再进行异或一下，于是有。观察它给出得数字，p，q，n，c已经全部给出，现在只剩一个(gamma(B+2)%A)是未知数，而这涉及到伽马函数，即。即我们现在得到了，a=67，salt=JESQ，即有。Weird Γ(x)?]]></description><category></category></item><item><title><![CDATA[密码数论基础]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/126674656</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/126674656</guid><author>ZBDX2113</author><pubDate>Sat, 03 Sep 2022 10:36:58 +0800</pubDate><description><![CDATA[（英语：Extended Euclidean algorithm）是欧几里得算法（又叫辗转相除法）的扩展。扩展欧几里得算法可以用来计算模反元素（也叫模逆元），求出模反元素是RSA加密算法中获得所需公钥、私钥的必要步骤。###两数的最大公约数可以用两数的整数倍相加来表示，如 21=5×105+(−2)×252。在某个范围内的整数可以通过它的一组余数来重构，这组余数是对该整数用一组两两互素的整数取模得到的。，是求最大公约数的算法。在数论中，欧拉定理（也称费马-欧拉定理或欧拉。的最大公约数的同时，能找到整数。]]></description><category></category></item><item><title><![CDATA[密码离散对数基础]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/126674616</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/126674616</guid><author>ZBDX2113</author><pubDate>Sat, 03 Sep 2022 10:35:50 +0800</pubDate><description><![CDATA[生成元在一个群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。]]></description><category></category></item><item><title><![CDATA[python数学复习]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/126674592</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/126674592</guid><author>ZBDX2113</author><pubDate>Sat, 03 Sep 2022 10:33:22 +0800</pubDate><description><![CDATA[生成元在一个群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。]]></description><category></category></item><item><title><![CDATA[GO语言基础]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/126674526</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/126674526</guid><author>ZBDX2113</author><pubDate>Sat, 03 Sep 2022 10:30:19 +0800</pubDate><description><![CDATA[每一门编程语言的开始都是hello world，GO语言中示例如下这就是我们的第一个hello，world程序，其中有几个注意的点：1.开始的包名不能丢，每个go语言程序都需要用到它。2.func main()后面的{}不能单独的写在一行，比如就是错误写法。当我们写好.go文件之后，还有其它方式可以运行首先可以在cmd里，输入即可运行这个文件，但是记得运行时一定要在其目录文件夹下，不然会显示找不到文件。其次我们可以使用go build创建一个二进制文件，输入也可以运行hello world程序。]]></description><category></category></item><item><title><![CDATA[GO语言hello world---＞数据类型]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/125193379</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/125193379</guid><author>ZBDX2113</author><pubDate>Wed, 08 Jun 2022 23:13:08 +0800</pubDate><description><![CDATA[因为之前有了解过别的编程语言，所以文章的内容适合已经学过类似c或python的人来看。学习任何编程语言都要写一行hello，world，那就从它来了解一下GO语言


这就是我们的第一个hello，world程序，其中有几个注意的点：1.开始的包名不能丢，每个go语言程序都需要用到它。2.func main()后面的{}不能单独的写在一行，比如


就是错误写法。当我们写好.go文件之后，还有其它方式可以运行首先可以在cmd里，输入


即可运行这个文件，但是记得运行时一定要在其目录文件夹下，不然会显示找不]]></description><category></category></item><item><title><![CDATA[工具转换脚本]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/125015772</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/125015772</guid><author>ZBDX2113</author><pubDate>Sat, 28 May 2022 13:01:21 +0800</pubDate><description><![CDATA[之前在做一些题目时，有的数字在代入到网站之后无法解出正确的答案，而代入到脚本之后可以运行，因此想做一些平常在网站上经常使用的工具，用脚本实现。

进制转换：

最常用的就是十六进制转字符串


import binascii
s=input()
def zhuan(s):
    s=binascii.unhexlify(s)
    print(s.decode('utf-8'))
print(zhuan(s))

BASE64解密


import base64
message=input()
de_m]]></description><category></category></item><item><title><![CDATA[伏羲六十四卦+36D]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/124878297</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/124878297</guid><author>ZBDX2113</author><pubDate>Sat, 21 May 2022 00:19:35 +0800</pubDate><description><![CDATA[伏羲六十四卦

 解压之后有两个文件，一个是加密脚本，一个是txt文件，txt文件给了我们一串密文，就是六十四卦中的汉字，那就是与六十四卦有关，查找六十四卦相关信息，发现有一篇文章是讲六十四卦与二进制的关系，上网查询之后，找到了这样一张图片

那现在就很清楚了，需要把给出的密文转换为二进制数字，


s='升随临损巽睽颐萃小过讼艮颐小过震蛊屯未济中孚艮困恒晋升损蛊萃蛊未济巽解艮贲未济观豫损蛊晋噬嗑晋旅解大畜困未济随蒙升解睽未济井困未济旅萃未济震蒙未济师涣归妹大有'
dic={'坤': '000000',..]]></description><category></category></item><item><title><![CDATA[BJDCTF中rsa部分]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/124751795</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/124751795</guid><author>ZBDX2113</author><pubDate>Sat, 14 May 2022 00:04:43 +0800</pubDate><description><![CDATA[easyrsa


from Crypto.Util.number import getPrime,bytes_to_long
from sympy import Derivative
from fractions import Fraction
from secret import flag

p=getPrime(1024)
q=getPrime(1024)
e=65537
n=p*q
z=Fraction(1,Derivative(arctan(p),p))-Fraction(1,Derivative]]></description><category></category></item><item><title><![CDATA[BJDCTF2020CRYPTO]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/124620828</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/124620828</guid><author>ZBDX2113</author><pubDate>Sat, 07 May 2022 18:17:09 +0800</pubDate><description><![CDATA[这次做一些简单题，巩固一下基础

首先是ctfshow内部赛密码2



全文只给出了ctf和show两个单词，不是什么特殊字符，也不属于特殊解密，类似于这样的，可以想到摩斯密码，它是由-与.组成的，试着用ctf作.，show作-，敲完前四行编码，转换之后为flag，所以挨个敲就好了。



BJDCTF2020签到题



这种题目一般是归纳总结，仅有小写字母与数字组成的密文，我们可以想到MD5，hex，键盘密码等等，这道题使用的是hex编码，直接带入网站就好。



BJDCTF2020编码与调制

这]]></description><category></category></item><item><title><![CDATA[ctfshow-Crypto-红包4（nc连接）]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/124462336</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/124462336</guid><author>ZBDX2113</author><pubDate>Sat, 30 Apr 2022 20:21:21 +0800</pubDate><description><![CDATA[from secrets import randbelow
from nationalsecret import p, r, k, flag

g = 2
y = 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 =.]]></description><category></category></item><item><title><![CDATA[ctfshow-Crypto-新生赛]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/124485718</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/124485718</guid><author>ZBDX2113</author><pubDate>Fri, 29 Apr 2022 23:35:48 +0800</pubDate><description><![CDATA[签到题



签到题由大小写字母数字，以及特殊字符（）等， 可以猜测为base85编码，那么即可使用网站解密即可。

flag{base85_here}

抱我


cstring = 'abcdefghijklmnopqrstuvwxyz{}_0123456789'
key = 'flag{********}'
length = 300

def encode():
    res = ''
    for i in range(1, length):
        c = random.randint]]></description><category></category></item><item><title><![CDATA[python编程快速上手——读写文件]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/124093647</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/124093647</guid><author>ZBDX2113</author><pubDate>Mon, 11 Apr 2022 19:47:33 +0800</pubDate><description><![CDATA[基本操作：

1.windows上的反斜杠与linux即OSX上的正斜杠

这里介绍一个os.path.join（）函数，它可以返回一个文件路径名称的字符串，包括正确的路径分隔符。


&gt;&gt;&gt; import os
&gt;&gt;&gt; os.path.join('usr', 'bin', 'spam')
'usr\\bin\\spam'


​

&gt;&gt;&gt; myFiles = ['accounts.txt', 'details.csv', 'invite.docx']
]]></description><category></category></item><item><title><![CDATA[Python编程快速上手——模式匹配与正则表达式]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/124070440</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/124070440</guid><author>ZBDX2113</author><pubDate>Mon, 11 Apr 2022 10:41:27 +0800</pubDate><description><![CDATA[基本操作：

1.使用正则表达式查找文本模式

正则表达式，简称为 regex，是文本模式的描述方法。

首先需要创建正则表达式对象


import re

phoneNumRegex = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d')

Python所有正则表达式均在re模块中，complie将会返回一个Regex模式对象。

接下来需要匹配Regex对象

可以使用search（）方法来寻找字符串，寻找所有匹配对象，如果找到了该模式对象，就会返还一个Match对象，再使用g]]></description><category></category></item><item><title><![CDATA[Python编程快速上手——字符串]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/124027871</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/124027871</guid><author>ZBDX2113</author><pubDate>Fri, 08 Apr 2022 18:08:05 +0800</pubDate><description><![CDATA[基本操作：

1.双引号

它可以使在字符串中使用单引号。

2.转义字符



3.原始字符串

只需要在原来的字符串基础上，引号之前添加一个r，就可以得到原始字符串，它的作用是可以忽略一切转义字符，打印出所有的反斜杠

4.三重引号引用多行字符串


print('''Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary, and extortion.
Sincerely,
Bob''')


&gt;&gt;&gt;D]]></description><category></category></item><item><title><![CDATA[Python编程快速上手——字典（笔记）]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/123955048</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/123955048</guid><author>ZBDX2113</author><pubDate>Wed, 06 Apr 2022 09:54:49 +0800</pubDate><description><![CDATA[字典基本操作：

1.简单介绍

eg:


&gt;&gt;&gt;mycat={'size':'fat','color':'gray','disposition':'loud'}

在这之中，size被称为键，这个键相应的值是’fat‘，可以通过它们的键访问它们的值。

2.keys(),values(),item(）方法，常用于循环结构

keys（）方法是返回字典中的键，例如


&gt;&gt;&gt; spam = {'color': 'red', 'age': 42}
&gt;&gt;&gt;]]></description><category></category></item><item><title><![CDATA[python编程快速上手——列表]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/123939375</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/123939375</guid><author>ZBDX2113</author><pubDate>Sun, 03 Apr 2022 17:09:03 +0800</pubDate><description><![CDATA[该博客主要作用是归纳总结，没有太多的解释概念。(文中的特殊字符表省略，可随意替换为其它字符)

常规操作：列表

1.使用下标取得列表中的单个值：


&gt;&gt;&gt;lesson=[math,chinese,english]
&gt;&gt;&gt;lesson[0]
&gt;&gt;&gt;math


在使用下标时，该列表第一个值的下标为0或-3，第二个值为1或-2，第三个值为2或-3

2.使用切片取得字列表：spam[*:#]

第一个值整数是切片开始的下标，第二个整数是切片结束时的下标，]]></description><category></category></item><item><title><![CDATA[RSA系列（更新至unusualrsa5）]]></title><link>https://blog.youkuaiyun.com/ZBDX2113/article/details/123748836</link><guid>https://blog.youkuaiyun.com/ZBDX2113/article/details/123748836</guid><author>ZBDX2113</author><pubDate>Sat, 26 Mar 2022 17:25:56 +0800</pubDate><description><![CDATA[普通题目

rsa最简单的题目，是给出pq等数据，要求求解d或是明文，使用脚本就可以轻松解密。


import libnum
import gmpy2

p=libnum.generate_prime(1024)#生成随机数
q=libnum.generate_prime(1024)
n=p*q
e=65537
phi_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)]]></description><category></category></item></channel></rss>