qctf Crypto 19.2.14

签到题

题目:
dpgs{j3yP0zr_g0_d1hpgs}
hint: rotate by 13 places
解:
题目给出hint,即ROT13编码:只对字母进行编码,用当前字母往前数的第13个字母替换当前字母,例如当前为A,编码后变成N,当前为B,编码后变成O,以此类推顺序循环。
在线ROT5/13/18/47编码转换

crypto1

题目:
法治民主公正和谐法治自由公正公正法治诚信民主和谐法治公正爱国和谐民主平等和谐平等诚信平等和谐民主法治和谐平等诚信平等公正和谐和谐富强法治文明和谐和谐平等友善敬业平等公正自由民主和谐民主法治平等自由平等法治和谐平等诚信平等自由和谐和谐富强公正自由和谐和谐法治诚信和谐
解:
看到这道题,百度一下核心价值观编码

crypto2

题目:
与佛论禅,你能否参透佛意~~
佛曰:冥帝皤僧梵遮實孕老罰穆室諳多缽曳逝佛佛侄是除哆地俱那死俱呼謹娑盧哆涅梵即怯利奢尼梵佛怯三奢隸諳孕諳栗曰涅冥利若冥醯呐參特漫缽彌侄道諳恐穆俱究苦有俱是恐婆婆不皤夜迦姪涅伊涅冥神罰竟實殿麼參奢訶俱尼隸奢竟奢謹孕數爍神冥實波冥故切夜怖豆穆
解:题目给出提示“与佛论禅”在线解码

crypto3

题目:
p = 96484230290105156765905517400104265349457376392357398006439893520398525072
98491399561035009163427050370107570733633350911691280297777160200625281665
378483
q = 11874843837980297032092405848653656852760910154543380907650040190704283358
90920857825106304773244399223064790388751006554794731354329930326198605348
6569407
e = 65537
c = 83208298995174604174773590298203639360540024871256126892889661345742403314
92986193910049266660564731664657648652621745700637684228086972858172674640
15837058999417682141387422596893348407356335530538876418476511737762518202
93087212885670180367406807406765923638973161375817392737747832762751690104
423869019034
Use RSA to find the secret message
this problem comes from shiyanbar
解:题目提示用RSA加密方式解密,已经给出p q e,利用三个参数生成私匙,利用私匙解密密文c得到flag。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import math
p=96484230290105156765905517400104265349457376392357398006439893520398525
0729849139956103500916342705037010757073363335091169128029777716020062528
1665378483
q=11874843837980297032092405848653656852760910154543380907650040190704283
3589092085782510630477324439922306479038875100655479473135432993032619860
53486569407
e=65537
c=83208298995174604174773590298203639360540024871256126892889661345742403
3149298619391004926666056473166465764865262174570063768422808697285817267
4640158370589994176821413874225968933484073563355305388764184765117377625
1820293087212885670180367406807406765923638973161375817392737747832762751
690104423869019034
n=p*q         #n为模数 (N,e):公钥;(N,d):私钥
fn=long((p-1)*(q-1))
#long() 函数:long(x, base=10)
#x为字符串或数字。base(可选)为进制数,默认十进制。该函数返回一个长整型数
i = 1
while(True):
    x=(i*fn)+1
    if(x%e==0):
        d=x/e
        break
    i=i+1
print pow(c,d,n)
#pow(x,y) 等价于 x**y 如4**2.5  结果为32.0;
#pow(x,y,z) 等价于pow(x,y)%z 如pow(4,2.5,3)=4**2.5%3  结果为2.0
#pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而math模块
#则会把参数转换为 float。例如:pow(4,2.5)=32;math.pow(4,2.5)=32.0

*RSA原理和例子

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值