EzRSA

题目

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
from Crypto.Util.number import *
from secret import flag
m = bytes_to_long(flag)
assert m.bit_length()<200
p = getPrime(512)
q = getPrime(512)
n = p*q
e = 3
c = pow(m, e, n)
kbits = 103
m = (m >> kbits) << kbits
Mod = getPrime(1024)
hint1 = (2021-2023*m) % Mod
hint2 = pow(2, 2023, Mod)
print('n =',n)
print('c =',c)
print('hint1 =',hint1)
print('hint2 =',hint2)
'''
n = 115383855234466224643769657979808398804254899116842846340552518876890834212233960206021018541117724144757264778086129841154749234706140951832603640953383528482125663673926452745186670807057426128028379664506531814550204605131476026038420737951652389070818761739123318769460392218629003518050621137961009397857
c = 5329266956476837379347536739209778690886367516092584944314921220156032648621405214333809779485753073093853063734538746101929825083615077
hint1 = 153580531261794088318480897414037573794615852052189508424770502825730438732573547598712417272036492121110446656514226232815820756435437665617271385368704576530324067841094570337328191161458300549179813432377043779779861066187597784486306748688798924645894867137996446960685210314180286437706545416961668988800
hint2 = 130939024886341321687705945538053996302793777331032277314813607352533647251650781154105954418698306293933779129141987945896277615656019480762879716136830059777341204876905094451068416223212748354774066124134473710638395595420261557771680485834288346221266495706392714094862310009374032975169649227238004805982
'''

思路
法一
可以看到e=3,且n和c都是已知,直接爆破k开三次方

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from Crypto.Util.number import *
import gmpy2
n = 115383855234466224643769657979808398804254899116842846340552518876890834212233960206021018541117724144757264778086129841154749234706140951832603640953383528482125663673926452745186670807057426128028379664506531814550204605131476026038420737951652389070818761739123318769460392218629003518050621137961009397857
c = 5329266956476837379347536739209778690886367516092584944314921220156032648621405214333809779485753073093853063734538746101929825083615077
hint1 = 153580531261794088318480897414037573794615852052189508424770502825730438732573547598712417272036492121110446656514226232815820756435437665617271385368704576530324067841094570337328191161458300549179813432377043779779861066187597784486306748688798924645894867137996446960685210314180286437706545416961668988800
hint2 = 130939024886341321687705945538053996302793777331032277314813607352533647251650781154105954418698306293933779129141987945896277615656019480762879716136830059777341204876905094451068416223212748354774066124134473710638395595420261557771680485834288346221266495706392714094862310009374032975169649227238004805982
e = 3
def root(c,e,n):
k=0
while 1:
m1=k*n+c
m,t=gmpy2.iroot(m1,e)
if t:
print(long_to_bytes(m))
break
k+=1

root(c,e,n)

法二

1
assert m.bit_length()<200
  • 说明明文比较小
  • kbits = 103,隐藏了明文的低位(coppersmish)
1
hint1 = (2021-2023*m) % Mod

2021-2023*m=kMod+hint1

1
hint2 = pow(2, 2023, Mod)

$$
hint2\equiv2^{2023}\pmod {Mod}
$$

->k*Mod=2^2023-hint2

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
30
                                        <-----sage----->
from Crypto.Util.number import *
from sage.all import *
n = 115383855234466224643769657979808398804254899116842846340552518876890834212233960206021018541117724144757264778086129841154749234706140951832603640953383528482125663673926452745186670807057426128028379664506531814550204605131476026038420737951652389070818761739123318769460392218629003518050621137961009397857
c = 5329266956476837379347536739209778690886367516092584944314921220156032648621405214333809779485753073093853063734538746101929825083615077
hint1 = 153580531261794088318480897414037573794615852052189508424770502825730438732573547598712417272036492121110446656514226232815820756435437665617271385368704576530324067841094570337328191161458300549179813432377043779779861066187597784486306748688798924645894867137996446960685210314180286437706545416961668988800
hint2 = 130939024886341321687705945538053996302793777331032277314813607352533647251650781154105954418698306293933779129141987945896277615656019480762879716136830059777341204876905094451068416223212748354774066124134473710638395595420261557771680485834288346221266495706392714094862310009374032975169649227238004805982
e=3

kM=2**2023-hint2
PR.<x>=PolynomialRing(Zmod(kM))
f=2023*x+hint1-2021
f=f.monic()
roots=f.small_roots(X=2^200,beta=0.4)
if roots:
mh=roots[0]
print(mh)
mh=1746716778150027565782467891299010283212636160
<-----sage------>
PR.<y>=PolynomialRing(Zmod(n))
f=(mh+y)^3-c
f=f.monic()
roots=f.small_roots(X=2^104,beta=0.4)
if roots:
m=mh+roots[0]
print(m)
from Crypto.Util.number import long_to_bytes

m=1746716778150037336346788439252154990602710653
print(long_to_bytes(m))

b’NSSCTF{Rea1_Si9n3n}’

FunnyEncrypt

题目

1
2
3
4
5
6
7
8
c="""✧✡✭
✡✮ ✣✴✯ ✤✶✬✬✱ ✬✤ ✱✦✢✥✮✯✧✧, ✴✬✷✯ ✡✧ ✣✴✯ ✶✡✰✴✣. ✡✣ ❂✢✡✮✰✧ ✩✬✸✤✬✢✣, ✤✦✡✣✴, ✦✮✱ ✩✬✮✤✡✱✯✮✩✯. ✡✣ ✰✡✲✯✧ ✳✧ ✰✳✡✱✦✮✩✯ ★✴✯✮ ★✯ ✦✢✯ ✶✬✧✣, ✦✮✱ ✰✡✲✯✧ ✧✳✷✷✬✢✣ ★✴✯✮ ★✯ ✦✢✯ ✦✤✢✦✡✱. ✦✮✱ ✣✴✯ ✸✬✸✯✮✣ ★✯ ✰✡✲✯ ✳✷ ✴✬✷✯, ★✯ ✰✡✲✯ ✳✷ ✬✳✢ ✶✡✲✯✧. ✣✴✯ ★✬✢✶✱ ★✯ ✶✡✲✯ ✡✮ ✡✧ ✱✡✧✡✮✣✯✰✢✦✣✡✮✰ ✡✮✣✬ ✦ ✷✶✦✩✯ ✬✤ ✸✦✶✡✩✯ ✦✮✱ ✴✦✣✢✯✱, ★✴✯✢✯ ★✯ ✮✯✯✱ ✴✬✷✯ ✦✮✱ ✤✡✮✱ ✡✣ ✴✦✢✱✯✢. ✡✮ ✣✴✡✧ ★✬✢✶✱ ✬✤ ✤✯✦✢, ✴✬✷✯ ✣✬ ✤✡✮✱ ❂✯✣✣✯✢, ❂✳✣ ✯✦✧✡✯✢ ✧✦✡✱ ✣✴✦✮ ✱✬✮✯, ✣✴✯ ✸✬✢✯ ✸✯✦✮✡✮✰✤✳✶ ✶✡✤✯ ✬✤ ✤✦✡✣✴ ★✡✶✶ ✸✦✥✯ ✶✡✤✯ ✸✯✦✮✡✮✰✤✳✶.
✧✬✸✯✣✡✸✯✧ ★✯ ✣✴✡✮✥ ✬✤ ✱✢✯✦✸✧ ✦✧ ✤✦✮✣✦✧✡✯✧ - ✡✣'✧ ✯✦✧✵ ✣✬ ✱✬ ★✴✯✮ ✵✬✳ ✴✦✲✯ ✸✬✮✯✵, ✢✯✮✣, ✦✮✱ ★✬✢✥. ❂✳✣ ✵✬✳ ✩✦✮'✣ ✷✢✯✷✦✢✯ ✵✬✳✢✧✯✶✤ ✦✮✱ ✫✳✸✷ ✬✤✤ ✣✴✯ ✩✶✡✤✤: ✵✬✳ ✧✴✬✳✶✱ ✰✢✬★ ✵✬✳✢ ★✡✮✰✧ ✤✡✢✧✣. ✦ ✶✡✣✣✶✯ ❂✡✣ ✣✬★✦✢✱ ✣✴✯ ✱✢✯✦✸. ✧✣✯✷ ❂✵ ✧✣✯✷. ✣✦✥✯ ✦ ✧✣✯✷ ✤✬✢★✦✢✱. ✦✤✣✯✢ ✦✶✶, ✡✣'✧ ✵✬✳✢ ✸✡✧✧✡✬✮.
✥✯✯✷ ✤✦✡✣✴ ✦✮✱ ✴✬✷✯ ✤✬✢ ✣✴✯ ✤✳✣✳✢✯. ✸✦✥✯ ✵✬✳✢ ✸✬✧✣ ✧✡✮✩✯✢✯ ✱✢✯✦✸✧, ✦✮✱ ★✴✯✮ ✣✴✯ ✬✷✷✬✢✣✳✮✡✣✡✯✧ ✩✬✸✯, ✣✴✯✵ ★✡✶✶ ✤✡✰✴✣ ✤✬✢ ✣✴✯✸. ✡✣ ✸✦✵ ✣✦✥✯ ✦ ✧✯✦✧✬✮ ✬✢ ✸✬✢✯, ❂✳✣ ✣✴✯ ✯✮✱✡✮✰ ★✡✶✶ ✮✬✣ ✩✴✦✮✰✯. ✦✸❂✡✣✡✬✮, ❂✯✧✣, ❂✯✩✬✸✯ ✦ ✢✯✦✶✡✣✵. ✦✮ ✳✮✩✯✢✣✦✡✮ ✤✳✣✳✢✯, ✬✮✶✵ ✬✮✯ ✧✣✯✷ ✦✣ ✦ ✣✡✸✯, ✣✴✯ ✴✬✷✯ ✩✦✮ ✢✯✦✶✡✪✯ ✣✴✯ ✱✢✯✦✸ ✬✤ ✣✴✯ ✴✡✰✴✯✧✣. ★✯ ✸✳✧✣ ✣✢✯✦✧✳✢✯ ✣✴✯ ✱✢✯✦✸, ✣✬ ✷✢✬✣✯✩✣ ✡✣ ✦ ✧✯✦✧✬✮, ✶✯✣ ✡✣ ✡✮ ✣✴✯ ✴✯✦✢✣ ❋✳✡✯✣✶✵ ✰✯✢✸✡✮✦✶.
✬✮✶✵ ★✴✯✮ ✵✬✳ ✳✮✱✯✢✧✣✦✮✱ ✣✴✯ ✣✢✳✯ ✸✯✦✮✡✮✰ ✬✤ ✶✡✤✯ ✩✦✮ ✵✬✳ ✶✡✲✯ ✣✢✳✶✵. ❂✡✣✣✯✢✧★✯✯✣ ✦✧ ✶✡✤✯ ✡✧, ✡✣'✧ ✧✣✡✶✶ ★✬✮✱✯✢✤✳✶, ✦✮✱ ✡✣'✧ ✤✦✧✩✡✮✦✣✡✮✰ ✯✲✯✮ ✡✮ ✣✢✦✰✯✱✵. ✡✤ ✵✬✳'✢✯ ✫✳✧✣ ✦✶✡✲✯, ✣✢✵ ✴✦✢✱✯✢ ✦✮✱ ✣✢✵ ✣✬ ✶✡✲✯ ★✬✮✱✯✢✤✳✶✶✵.
✡ ❂✯✶✡✯✲✯ ✣✴✯✢✯ ✡✧ ✦ ✷✯✢✧✬✮ ★✴✬ ❂✢✡✮✰✧ ✧✳✮✧✴✡✮✯ ✡✮✣✬ ✵✬✳✢ ✶✡✤✯. ✣✴✦✣ ✷✯✢✧✬✮ ✸✦✵ ✴✦✲✯ ✯✮✬✳✰✴ ✣✬ ✧✷✢✯✦✱ ✦✢✬✳✮✱. ❂✳✣ ✡✤ ✵✬✳ ✢✯✦✶✶✵ ✴✦✲✯ ✣✬ ★✦✡✣ ✤✬✢ ✧✬✸✯✬✮✯ ✣✬ ❂✢✡✮✰ ✵✬✳ ✣✴✯ ✧✳✮ ✦✮✱ ✰✡✲✯ ✵✬✳ ✦ ✰✬✬✱ ✤✯✯✶✡✮✰, ✣✴✯✮ ✵✬✳ ✸✦✵ ✴✦✲✯ ✣✬ ★✦✡✣ ✦ ✶✬✮✰ ✣✡✸✯.
✡✮ ✦ ★✬✢✱,✡ ✴✬✷✯ ✵✬✳ ★✡✶✶ ✶✡✥✯ ✩✢✵✷✣✬✰✢✦✷✴✵.✣✴✡✧ ✡✧ ✵✬✳✢ ✤✶✦✰:✮✧✧✩✣✤{✩✢✵✷✣✬_✡✧_✧✬_✡✮✣✯✢✯✧✣✡✮✰_★✴✵_✱✬✮'✣_✵✬✳_✫✬✡✮_✳✧}
"""

题解
✮✧✧✩✣✤{✩✢✵✷✣✬✡✧✧✬✡✮✣✯✢✯✧✣✡✮✰★✴✵✱✬✮’✣✵✬✳✫✬✡✮✳✧}这一串就是flag,可以看出用了替换加密
用quipquip:✮✧✧✩✣✤->nssctf

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
30
31
32
33
from Crypto.Util.number import *

c="""✧✡✭
✡✮ ✣✴✯ ✤✶✬✬✱ ✬✤ ✱✦✢✥✮✯✧✧, ✴✬✷✯ ✡✧ ✣✴✯ ✶✡✰✴✣. ✡✣ ❂✢✡✮✰✧ ✩✬✸✤✬✢✣, ✤✦✡✣✴, ✦✮✱ ✩✬✮✤✡✱✯✮✩✯. ✡✣ ✰✡✲✯✧ ✳✧ ✰✳✡✱✦✮✩✯ ★✴✯✮ ★✯ ✦✢✯ ✶✬✧✣, ✦✮✱ ✰✡✲✯✧ ✧✳✷✷✬✢✣ ★✴✯✮ ★✯ ✦✢✯ ✦✤✢✦✡✱. ✦✮✱ ✣✴✯ ✸✬✸✯✮✣ ★✯ ✰✡✲✯ ✳✷ ✴✬✷✯, ★✯ ✰✡✲✯ ✳✷ ✬✳✢ ✶✡✲✯✧. ✣✴✯ ★✬✢✶✱ ★✯ ✶✡✲✯ ✡✮ ✡✧ ✱✡✧✡✮✣✯✰✢✦✣✡✮✰ ✡✮✣✬ ✦ ✷✶✦✩✯ ✬✤ ✸✦✶✡✩✯ ✦✮✱ ✴✦✣✢✯✱, ★✴✯✢✯ ★✯ ✮✯✯✱ ✴✬✷✯ ✦✮✱ ✤✡✮✱ ✡✣ ✴✦✢✱✯✢. ✡✮ ✣✴✡✧ ★✬✢✶✱ ✬✤ ✤✯✦✢, ✴✬✷✯ ✣✬ ✤✡✮✱ ❂✯✣✣✯✢, ❂✳✣ ✯✦✧✡✯✢ ✧✦✡✱ ✣✴✦✮ ✱✬✮✯, ✣✴✯ ✸✬✢✯ ✸✯✦✮✡✮✰✤✳✶ ✶✡✤✯ ✬✤ ✤✦✡✣✴ ★✡✶✶ ✸✦✥✯ ✶✡✤✯ ✸✯✦✮✡✮✰✤✳✶.
✧✬✸✯✣✡✸✯✧ ★✯ ✣✴✡✮✥ ✬✤ ✱✢✯✦✸✧ ✦✧ ✤✦✮✣✦✧✡✯✧ - ✡✣'✧ ✯✦✧✵ ✣✬ ✱✬ ★✴✯✮ ✵✬✳ ✴✦✲✯ ✸✬✮✯✵, ✢✯✮✣, ✦✮✱ ★✬✢✥. ❂✳✣ ✵✬✳ ✩✦✮'✣ ✷✢✯✷✦✢✯ ✵✬✳✢✧✯✶✤ ✦✮✱ ✫✳✸✷ ✬✤✤ ✣✴✯ ✩✶✡✤✤: ✵✬✳ ✧✴✬✳✶✱ ✰✢✬★ ✵✬✳✢ ★✡✮✰✧ ✤✡✢✧✣. ✦ ✶✡✣✣✶✯ ❂✡✣ ✣✬★✦✢✱ ✣✴✯ ✱✢✯✦✸. ✧✣✯✷ ❂✵ ✧✣✯✷. ✣✦✥✯ ✦ ✧✣✯✷ ✤✬✢★✦✢✱. ✦✤✣✯✢ ✦✶✶, ✡✣'✧ ✵✬✳✢ ✸✡✧✧✡✬✮.
✥✯✯✷ ✤✦✡✣✴ ✦✮✱ ✴✬✷✯ ✤✬✢ ✣✴✯ ✤✳✣✳✢✯. ✸✦✥✯ ✵✬✳✢ ✸✬✧✣ ✧✡✮✩✯✢✯ ✱✢✯✦✸✧, ✦✮✱ ★✴✯✮ ✣✴✯ ✬✷✷✬✢✣✳✮✡✣✡✯✧ ✩✬✸✯, ✣✴✯✵ ★✡✶✶ ✤✡✰✴✣ ✤✬✢ ✣✴✯✸. ✡✣ ✸✦✵ ✣✦✥✯ ✦ ✧✯✦✧✬✮ ✬✢ ✸✬✢✯, ❂✳✣ ✣✴✯ ✯✮✱✡✮✰ ★✡✶✶ ✮✬✣ ✩✴✦✮✰✯. ✦✸❂✡✣✡✬✮, ❂✯✧✣, ❂✯✩✬✸✯ ✦ ✢✯✦✶✡✣✵. ✦✮ ✳✮✩✯✢✣✦✡✮ ✤✳✣✳✢✯, ✬✮✶✵ ✬✮✯ ✧✣✯✷ ✦✣ ✦ ✣✡✸✯, ✣✴✯ ✴✬✷✯ ✩✦✮ ✢✯✦✶✡✪✯ ✣✴✯ ✱✢✯✦✸ ✬✤ ✣✴✯ ✴✡✰✴✯✧✣. ★✯ ✸✳✧✣ ✣✢✯✦✧✳✢✯ ✣✴✯ ✱✢✯✦✸, ✣✬ ✷✢✬✣✯✩✣ ✡✣ ✦ ✧✯✦✧✬✮, ✶✯✣ ✡✣ ✡✮ ✣✴✯ ✴✯✦✢✣ ❋✳✡✯✣✶✵ ✰✯✢✸✡✮✦✶.
✬✮✶✵ ★✴✯✮ ✵✬✳ ✳✮✱✯✢✧✣✦✮✱ ✣✴✯ ✣✢✳✯ ✸✯✦✮✡✮✰ ✬✤ ✶✡✤✯ ✩✦✮ ✵✬✳ ✶✡✲✯ ✣✢✳✶✵. ❂✡✣✣✯✢✧★✯✯✣ ✦✧ ✶✡✤✯ ✡✧, ✡✣'✧ ✧✣✡✶✶ ★✬✮✱✯✢✤✳✶, ✦✮✱ ✡✣'✧ ✤✦✧✩✡✮✦✣✡✮✰ ✯✲✯✮ ✡✮ ✣✢✦✰✯✱✵. ✡✤ ✵✬✳'✢✯ ✫✳✧✣ ✦✶✡✲✯, ✣✢✵ ✴✦✢✱✯✢ ✦✮✱ ✣✢✵ ✣✬ ✶✡✲✯ ★✬✮✱✯✢✤✳✶✶✵.
✡ ❂✯✶✡✯✲✯ ✣✴✯✢✯ ✡✧ ✦ ✷✯✢✧✬✮ ★✴✬ ❂✢✡✮✰✧ ✧✳✮✧✴✡✮✯ ✡✮✣✬ ✵✬✳✢ ✶✡✤✯. ✣✴✦✣ ✷✯✢✧✬✮ ✸✦✵ ✴✦✲✯ ✯✮✬✳✰✴ ✣✬ ✧✷✢✯✦✱ ✦✢✬✳✮✱. ❂✳✣ ✡✤ ✵✬✳ ✢✯✦✶✶✵ ✴✦✲✯ ✣✬ ★✦✡✣ ✤✬✢ ✧✬✸✯✬✮✯ ✣✬ ❂✢✡✮✰ ✵✬✳ ✣✴✯ ✧✳✮ ✦✮✱ ✰✡✲✯ ✵✬✳ ✦ ✰✬✬✱ ✤✯✯✶✡✮✰, ✣✴✯✮ ✵✬✳ ✸✦✵ ✴✦✲✯ ✣✬ ★✦✡✣ ✦ ✶✬✮✰ ✣✡✸✯.
✡✮ ✦ ★✬✢✱,✡ ✴✬✷✯ ✵✬✳ ★✡✶✶ ✶✡✥✯ ✩✢✵✷✣✬✰✢✦✷✴✵.✣✴✡✧ ✡✧ ✵✬✳✢ ✤✶✦✰:✮✧✧✩✣✤{✩✢✵✷✣✬_✡✧_✧✬_✡✮✣✯✢✯✧✣✡✮✰_★✴✵_✱✬✮'✣_✵✬✳_✫✬✡✮_✳✧}
"""
# new_list=[]
# for i in range(len(c)):
# if c[i] not in new_list:
# new_list.append(c[i])
# print(new_list)
cfinal=[]
new_list=['✧', '✡', '✭', '✮', '✣', '✴', '✯', '✤', '✶', '✬', '✱', '✦', '✢', '✥', '✷', '✰', '❂', '✩', '✸', '✲', '✳', '★', '✵', '✫', '✪', '❋']
print(len(new_list))
table="abcdefghijklmnopqrstuvwxyz,'.-_ :{}"
print(len(table))
for i in range(len(c)):
if c[i] not in table:
if c[i]=='\n':
cfinal.append(c[i])
else:
ind=new_list.index(c[i])
cfinal.append(table[ind])
else:
cfinal.append(c[i])
print(cfinal)
m2=['a', 'b', 'c', '\n', 'b', 'd', ' ', 'e', 'f', 'g', ' ', 'h', 'i', 'j', 'j', 'k', ' ', 'j', 'h', ' ', 'k', 'l', 'm', 'n', 'd', 'g', 'a', 'a', ',', ' ', 'f', 'j', 'o', 'g', ' ', 'b', 'a', ' ', 'e', 'f', 'g', ' ', 'i', 'b', 'p', 'f', 'e', '.', ' ', 'b', 'e', ' ', 'q', 'm', 'b', 'd', 'p', 'a', ' ', 'r', 'j', 's', 'h', 'j', 'm', 'e', ',', ' ', 'h', 'l', 'b', 'e', 'f', ',', ' ', 'l', 'd', 'k', ' ', 'r', 'j', 'd', 'h', 'b', 'k', 'g', 'd', 'r', 'g', '.', ' ', 'b', 'e', ' ', 'p', 'b', 't', 'g', 'a', ' ', 'u', 'a', ' ', 'p', 'u', 'b', 'k', 'l', 'd', 'r', 'g', ' ', 'v', 'f', 'g', 'd', ' ', 'v', 'g', ' ', 'l', 'm', 'g', ' ', 'i', 'j', 'a', 'e', ',', ' ', 'l', 'd', 'k', ' ', 'p', 'b', 't', 'g', 'a', ' ', 'a', 'u', 'o', 'o', 'j', 'm', 'e', ' ', 'v', 'f', 'g', 'd', ' ', 'v', 'g', ' ', 'l', 'm', 'g', ' ', 'l', 'h', 'm', 'l', 'b', 'k', '.', ' ', 'l', 'd', 'k', ' ', 'e', 'f', 'g', ' ', 's', 'j', 's', 'g', 'd', 'e', ' ', 'v', 'g', ' ', 'p', 'b', 't', 'g', ' ', 'u', 'o', ' ', 'f', 'j', 'o', 'g', ',', ' ', 'v', 'g', ' ', 'p', 'b', 't', 'g', ' ', 'u', 'o', ' ', 'j', 'u', 'm', ' ', 'i', 'b', 't', 'g', 'a', '.', ' ', 'e', 'f', 'g', ' ', 'v', 'j', 'm', 'i', 'k', ' ', 'v', 'g', ' ', 'i', 'b', 't', 'g', ' ', 'b', 'd', ' ', 'b', 'a', ' ', 'k', 'b', 'a', 'b', 'd', 'e', 'g', 'p', 'm', 'l', 'e', 'b', 'd', 'p', ' ', 'b', 'd', 'e', 'j', ' ', 'l', ' ', 'o', 'i', 'l', 'r', 'g', ' ', 'j', 'h', ' ', 's', 'l', 'i', 'b', 'r', 'g', ' ', 'l', 'd', 'k', ' ', 'f', 'l', 'e', 'm', 'g', 'k', ',', ' ', 'v', 'f', 'g', 'm', 'g', ' ', 'v', 'g', ' ', 'd', 'g', 'g', 'k', ' ', 'f', 'j', 'o', 'g', ' ', 'l', 'd', 'k', ' ', 'h', 'b', 'd', 'k', ' ', 'b', 'e', ' ', 'f', 'l', 'm', 'k', 'g', 'm', '.', ' ', 'b', 'd', ' ', 'e', 'f', 'b', 'a', ' ', 'v', 'j', 'm', 'i', 'k', ' ', 'j', 'h', ' ', 'h', 'g', 'l', 'm', ',', ' ', 'f', 'j', 'o', 'g', ' ', 'e', 'j', ' ', 'h', 'b', 'd', 'k', ' ', 'q', 'g', 'e', 'e', 'g', 'm', ',', ' ', 'q', 'u', 'e', ' ', 'g', 'l', 'a', 'b', 'g', 'm', ' ', 'a', 'l', 'b', 'k', ' ', 'e', 'f', 'l', 'd', ' ', 'k', 'j', 'd', 'g', ',', ' ', 'e', 'f', 'g', ' ', 's', 'j', 'm', 'g', ' ', 's', 'g', 'l', 'd', 'b', 'd', 'p', 'h', 'u', 'i', ' ', 'i', 'b', 'h', 'g', ' ', 'j', 'h', ' ', 'h', 'l', 'b', 'e', 'f', ' ', 'v', 'b', 'i', 'i', ' ', 's', 'l', 'n', 'g', ' ', 'i', 'b', 'h', 'g', ' ', 's', 'g', 'l', 'd', 'b', 'd', 'p', 'h', 'u', 'i', '.', '\n', 'a', 'j', 's', 'g', 'e', 'b', 's', 'g', 'a', ' ', 'v', 'g', ' ', 'e', 'f', 'b', 'd', 'n', ' ', 'j', 'h', ' ', 'k', 'm', 'g', 'l', 's', 'a', ' ', 'l', 'a', ' ', 'h', 'l', 'd', 'e', 'l', 'a', 'b', 'g', 'a', ' ', '-', ' ', 'b', 'e', "'", 'a', ' ', 'g', 'l', 'a', 'w', ' ', 'e', 'j', ' ', 'k', 'j', ' ', 'v', 'f', 'g', 'd', ' ', 'w', 'j', 'u', ' ', 'f', 'l', 't', 'g', ' ', 's', 'j', 'd', 'g', 'w', ',', ' ', 'm', 'g', 'd', 'e', ',', ' ', 'l', 'd', 'k', ' ', 'v', 'j', 'm', 'n', '.', ' ', 'q', 'u', 'e', ' ', 'w', 'j', 'u', ' ', 'r', 'l', 'd', "'", 'e', ' ', 'o', 'm', 'g', 'o', 'l', 'm', 'g', ' ', 'w', 'j', 'u', 'm', 'a', 'g', 'i', 'h', ' ', 'l', 'd', 'k', ' ', 'x', 'u', 's', 'o', ' ', 'j', 'h', 'h', ' ', 'e', 'f', 'g', ' ', 'r', 'i', 'b', 'h', 'h', ':', ' ', 'w', 'j', 'u', ' ', 'a', 'f', 'j', 'u', 'i', 'k', ' ', 'p', 'm', 'j', 'v', ' ', 'w', 'j', 'u', 'm', ' ', 'v', 'b', 'd', 'p', 'a', ' ', 'h', 'b', 'm', 'a', 'e', '.', ' ', 'l', ' ', 'i', 'b', 'e', 'e', 'i', 'g', ' ', 'q', 'b', 'e', ' ', 'e', 'j', 'v', 'l', 'm', 'k', ' ', 'e', 'f', 'g', ' ', 'k', 'm', 'g', 'l', 's', '.', ' ', 'a', 'e', 'g', 'o', ' ', 'q', 'w', ' ', 'a', 'e', 'g', 'o', '.', ' ', 'e', 'l', 'n', 'g', ' ', 'l', ' ', 'a', 'e', 'g', 'o', ' ', 'h', 'j', 'm', 'v', 'l', 'm', 'k', '.', ' ', 'l', 'h', 'e', 'g', 'm', ' ', 'l', 'i', 'i', ',', ' ', 'b', 'e', "'", 'a', ' ', 'w', 'j', 'u', 'm', ' ', 's', 'b', 'a', 'a', 'b', 'j', 'd', '.', '\n', 'n', 'g', 'g', 'o', ' ', 'h', 'l', 'b', 'e', 'f', ' ', 'l', 'd', 'k', ' ', 'f', 'j', 'o', 'g', ' ', 'h', 'j', 'm', ' ', 'e', 'f', 'g', ' ', 'h', 'u', 'e', 'u', 'm', 'g', '.', ' ', 's', 'l', 'n', 'g', ' ', 'w', 'j', 'u', 'm', ' ', 's', 'j', 'a', 'e', ' ', 'a', 'b', 'd', 'r', 'g', 'm', 'g', ' ', 'k', 'm', 'g', 'l', 's', 'a', ',', ' ', 'l', 'd', 'k', ' ', 'v', 'f', 'g', 'd', ' ', 'e', 'f', 'g', ' ', 'j', 'o', 'o', 'j', 'm', 'e', 'u', 'd', 'b', 'e', 'b', 'g', 'a', ' ', 'r', 'j', 's', 'g', ',', ' ', 'e', 'f', 'g', 'w', ' ', 'v', 'b', 'i', 'i', ' ', 'h', 'b', 'p', 'f', 'e', ' ', 'h', 'j', 'm', ' ', 'e', 'f', 'g', 's', '.', ' ', 'b', 'e', ' ', 's', 'l', 'w', ' ', 'e', 'l', 'n', 'g', ' ', 'l', ' ', 'a', 'g', 'l', 'a', 'j', 'd', ' ', 'j', 'm', ' ', 's', 'j', 'm', 'g', ',', ' ', 'q', 'u', 'e', ' ', 'e', 'f', 'g', ' ', 'g', 'd', 'k', 'b', 'd', 'p', ' ', 'v', 'b', 'i', 'i', ' ', 'd', 'j', 'e', ' ', 'r', 'f', 'l', 'd', 'p', 'g', '.', ' ', 'l', 's', 'q', 'b', 'e', 'b', 'j', 'd', ',', ' ', 'q', 'g', 'a', 'e', ',', ' ', 'q', 'g', 'r', 'j', 's', 'g', ' ', 'l', ' ', 'm', 'g', 'l', 'i', 'b', 'e', 'w', '.', ' ', 'l', 'd', ' ', 'u', 'd', 'r', 'g', 'm', 'e', 'l', 'b', 'd', ' ', 'h', 'u', 'e', 'u', 'm', 'g', ',', ' ', 'j', 'd', 'i', 'w', ' ', 'j', 'd', 'g', ' ', 'a', 'e', 'g', 'o', ' ', 'l', 'e', ' ', 'l', ' ', 'e', 'b', 's', 'g', ',', ' ', 'e', 'f', 'g', ' ', 'f', 'j', 'o', 'g', ' ', 'r', 'l', 'd', ' ', 'm', 'g', 'l', 'i', 'b', 'y', 'g', ' ', 'e', 'f', 'g', ' ', 'k', 'm', 'g', 'l', 's', ' ', 'j', 'h', ' ', 'e', 'f', 'g', ' ', 'f', 'b', 'p', 'f', 'g', 'a', 'e', '.', ' ', 'v', 'g', ' ', 's', 'u', 'a', 'e', ' ', 'e', 'm', 'g', 'l', 'a', 'u', 'm', 'g', ' ', 'e', 'f', 'g', ' ', 'k', 'm', 'g', 'l', 's', ',', ' ', 'e', 'j', ' ', 'o', 'm', 'j', 'e', 'g', 'r', 'e', ' ', 'b', 'e', ' ', 'l', ' ', 'a', 'g', 'l', 'a', 'j', 'd', ',', ' ', 'i', 'g', 'e', ' ', 'b', 'e', ' ', 'b', 'd', ' ', 'e', 'f', 'g', ' ', 'f', 'g', 'l', 'm', 'e', ' ', 'z', 'u', 'b', 'g', 'e', 'i', 'w', ' ', 'p', 'g', 'm', 's', 'b', 'd', 'l', 'i', '.', '\n', 'j', 'd', 'i', 'w', ' ', 'v', 'f', 'g', 'd', ' ', 'w', 'j', 'u', ' ', 'u', 'd', 'k', 'g', 'm', 'a', 'e', 'l', 'd', 'k', ' ', 'e', 'f', 'g', ' ', 'e', 'm', 'u', 'g', ' ', 's', 'g', 'l', 'd', 'b', 'd', 'p', ' ', 'j', 'h', ' ', 'i', 'b', 'h', 'g', ' ', 'r', 'l', 'd', ' ', 'w', 'j', 'u', ' ', 'i', 'b', 't', 'g', ' ', 'e', 'm', 'u', 'i', 'w', '.', ' ', 'q', 'b', 'e', 'e', 'g', 'm', 'a', 'v', 'g', 'g', 'e', ' ', 'l', 'a', ' ', 'i', 'b', 'h', 'g', ' ', 'b', 'a', ',', ' ', 'b', 'e', "'", 'a', ' ', 'a', 'e', 'b', 'i', 'i', ' ', 'v', 'j', 'd', 'k', 'g', 'm', 'h', 'u', 'i', ',', ' ', 'l', 'd', 'k', ' ', 'b', 'e', "'", 'a', ' ', 'h', 'l', 'a', 'r', 'b', 'd', 'l', 'e', 'b', 'd', 'p', ' ', 'g', 't', 'g', 'd', ' ', 'b', 'd', ' ', 'e', 'm', 'l', 'p', 'g', 'k', 'w', '.', ' ', 'b', 'h', ' ', 'w', 'j', 'u', "'", 'm', 'g', ' ', 'x', 'u', 'a', 'e', ' ', 'l', 'i', 'b', 't', 'g', ',', ' ', 'e', 'm', 'w', ' ', 'f', 'l', 'm', 'k', 'g', 'm', ' ', 'l', 'd', 'k', ' ', 'e', 'm', 'w', ' ', 'e', 'j', ' ', 'i', 'b', 't', 'g', ' ', 'v', 'j', 'd', 'k', 'g', 'm', 'h', 'u', 'i', 'i', 'w', '.', '\n', 'b', ' ', 'q', 'g', 'i', 'b', 'g', 't', 'g', ' ', 'e', 'f', 'g', 'm', 'g', ' ', 'b', 'a', ' ', 'l', ' ', 'o', 'g', 'm', 'a', 'j', 'd', ' ', 'v', 'f', 'j', ' ', 'q', 'm', 'b', 'd', 'p', 'a', ' ', 'a', 'u', 'd', 'a', 'f', 'b', 'd', 'g', ' ', 'b', 'd', 'e', 'j', ' ', 'w', 'j', 'u', 'm', ' ', 'i', 'b', 'h', 'g', '.', ' ', 'e', 'f', 'l', 'e', ' ', 'o', 'g', 'm', 'a', 'j', 'd', ' ', 's', 'l', 'w', ' ', 'f', 'l', 't', 'g', ' ', 'g', 'd', 'j', 'u', 'p', 'f', ' ', 'e', 'j', ' ', 'a', 'o', 'm', 'g', 'l', 'k', ' ', 'l', 'm', 'j', 'u', 'd', 'k', '.', ' ', 'q', 'u', 'e', ' ', 'b', 'h', ' ', 'w', 'j', 'u', ' ', 'm', 'g', 'l', 'i', 'i', 'w', ' ', 'f', 'l', 't', 'g', ' ', 'e', 'j', ' ', 'v', 'l', 'b', 'e', ' ', 'h', 'j', 'm', ' ', 'a', 'j', 's', 'g', 'j', 'd', 'g', ' ', 'e', 'j', ' ', 'q', 'm', 'b', 'd', 'p', ' ', 'w', 'j', 'u', ' ', 'e', 'f', 'g', ' ', 'a', 'u', 'd', ' ', 'l', 'd', 'k', ' ', 'p', 'b', 't', 'g', ' ', 'w', 'j', 'u', ' ', 'l', ' ', 'p', 'j', 'j', 'k', ' ', 'h', 'g', 'g', 'i', 'b', 'd', 'p', ',', ' ', 'e', 'f', 'g', 'd', ' ', 'w', 'j', 'u', ' ', 's', 'l', 'w', ' ', 'f', 'l', 't', 'g', ' ', 'e', 'j', ' ', 'v', 'l', 'b', 'e', ' ', 'l', ' ', 'i', 'j', 'd', 'p', ' ', 'e', 'b', 's', 'g', '.', '\n', 'b', 'd', ' ', 'l', ' ', 'v', 'j', 'm', 'k', ',', 'b', ' ', 'f', 'j', 'o', 'g', ' ', 'w', 'j', 'u', ' ', 'v', 'b', 'i', 'i', ' ', 'i', 'b', 'n', 'g', ' ', 'r', 'm', 'w', 'o', 'e', 'j', 'p', 'm', 'l', 'o', 'f', 'w', '.', 'e', 'f', 'b', 'a', ' ', 'b', 'a', ' ', 'w', 'j', 'u', 'm', ' ', 'h', 'i', 'l', 'p', ':', 'd', 'a', 'a', 'r', 'e', 'h', '{', 'r', 'm', 'w', 'o', 'e', 'j', '_', 'b', 'a', '_', 'a', 'j', '_', 'b', 'd', 'e', 'g', 'm', 'g', 'a', 'e', 'b', 'd', 'p', '_', 'v', 'f', 'w', '_', 'k', 'j', 'd', "'", 'e', '_', 'w', 'j', 'u', '_', 'x', 'j', 'b', 'd', '_', 'u', 'a', '}', '\n']
m=''.join(m2)
print(m)

NSSCTF{crypto_is_so_interesting_why_don’t_you_join_us}