diff --git "a/Cry/submissions/Cry/submissions/25-Cry-shuiyue-\346\235\250\346\231\266.md" "b/Cry/submissions/Cry/submissions/25-Cry-shuiyue-\346\235\250\346\231\266.md"
index bd4cf42..191bea2 100644
--- "a/Cry/submissions/Cry/submissions/25-Cry-shuiyue-\346\235\250\346\231\266.md"
+++ "b/Cry/submissions/Cry/submissions/25-Cry-shuiyue-\346\235\250\346\231\266.md"
@@ -2,7 +2,7 @@
>(开始的时候想直接在windows系统上进行配置,但是我的电脑无法开启虚拟机平台
>>(开启进度(各种方式)永远卡在5.9%/14.6%/37.8%/56.2,直到失败)
>最后在别人的帮助下才装Arch liunx,然后再配置下载,直到这个星期六中午才配好。
-
+![结果如图]
##RSA算法学习
1.RSA是一种非对称加密算法,依靠大素数分解困难,费马小定理与二次探测原理(即米勒拉宾素性测试)为基础。
2.先生成两位512位的素数*p,q*,然后通过**欧拉函数**计算出其小于其乘积N的素数的个数&phi(N)。
@@ -10,10 +10,90 @@
4.算私钥*d*满足e*d = 1(mod&phi(N))。
>>
>>进度过慢,我加几张笔记吧(假期里的老本)
->>
->>
->>
+>>![笔记1]
+>>![笔记2]
+>>![笔记3]
+##题目一
+1. eeeeez_rsa
+
+```Python
+from Crypto.Util.number import *
+from secrets import randbits
+
+p = getPrime(512)
+q = getPrime(512)
+
+n = p * q
+e = 65537
+
+m = bytes_to_long(flag)
+
+c = pow(m, e, n)
+
+print("p =", p)
+print("q =", q)
+print("e =", e)
+print("c =", c)
+'''
+p = 7833526559350210716763736624276871338973265302039384005037668270722459749111510212645578582715412039060908556429504391788904499303021963918033838457712021
+q = 11274522482114648167653425707657117942167215969612324249057858493398092816663094339833695146914712716091767834292452373966791325922322967827879446489910963
+e = 65537
+c = 10221721591889545844573050254595795861182348856506145605480348246534477032085113801390383245391427274224627900490105787486227774188957450006691363974396952878850785124275814042623413354128640305152567667226654321244510669777870256213487113315863197287562256336752636572876416053482569293397021584043886350655
+'''
+```
+###题目解答
+
+
+###题目分析
+1.Crypto.Util.number 是 PyCryptodome 库中的一个工具模块,专门处理大整数的密码学运算。
+2.发现题目中 m 是明文的数字形式,于是想先得到m。
+3.通过'pow'得到m,再通过'long_to_bytes'转化m 得到字节型,再'decode'得到flag。
+
+##题目二
+2. What is dpdq
+
+```Python
+from Crypto.Util.number import *
+
+p = getPrime(512)
+q = getPrime(512)
+
+n = p * q
+
+m = bytes_to_long(flag)
+
+c = pow(m, e, n)
+
+phi = (p - 1) * (q - 1)
+d = inverse(e, phi)
+
+dp = d % (p - 1)
+dq = d % (q - 1)
+
+print("p =", p)
+print("q =", q)
+print("dp =", dp)
+print("dq =", dq)
+print("c =", c)
+'''
+p = 7815414185491141116816659592648655093824828684096724566017773298150863675227130435782645950134326106977982747903113904523205447790009729530724322503221833
+q = 9989016009119164140172559452397593815416653032520645020530362343604703571290641132626496035194681031089349635895258123948622879868985300264027551088746747
+dp = 4010681140217557380422935065992638785960856284290416720391683347779267392850433355451759290094414691393922757792964689212573746434435619933431808206484225
+dq = 2650091114188243387783699150080671432452650354401886796343461099352350290584408461982954461814393687345324352950407449243857759926179828428073409383707519
+c = 49442655923625309909385017545371837339079019962533687954830521594031788193892512818961352203881969632046490177930759665200677302956816647378151364853230118743634390053041583940566732297636464662866406886764229490729837423276227228984024967061624432225315562131278455141688731687433597958272776740673914705069
+'''
+```
+
+###题目解答
+
+
+###题目解析
+1.相比第一题,这个题目引入了dp.dq,简化了运行时的运算。
+2.知识补充(自我提醒):
+>题目中的dp,dq是由p,q分别减一再取模得到,可以简化计算。
+3.由于dp,dq可看作密钥的一部分,故而先'pow'算出dp,dq。
+4.利用中国剩余定理得到m,再将m转化为字符型,得到flag。
##为什么要选择这个方向:
>实践出真知