-
반응형
Textbook-RSA 껄껄
rkm0959<=GOAT
좀 고생좀 했다...
문제에서는 n,e,c 를 주고 암,복호화를 다해주는 서버다.
Chosen-ciphertext attack 줄여서 CCA 로 바로 flag 얻어 버리기
flag(c), e=65537, n
풀이 과정
from Crypto.Util.number import * #서버에서 준 값을 넣자. flag='' e=65537 n='' re=pow(2,e) #2의 e제곱을 해주자 ce=pow(re*flag,1,n) # 서버에 넣을 값을 만들자 (flagX2^e) mod N print(hex(ce)) #서버가 hex값으로 입력을 원함... ㅠ #서버에 출력값을 넣어서 복호화를 하자... dce= '' #dec= 서버에서의 ce 복호화 출력값 realflag=(dce//2)%n #dce의 경우 (2^eC)^d≡2C^d≡2M(modN) 라 2를 나누고 mod N을 하면 flag 값이 나온당 ㅇㅅㅇ print(long_to_bytes(realflag))
왜 이렇게 되는 지는 나중에 수학공부를 좀 더 해서 적도록 하것다...
어쨌든 CCA 성공!!
지금 적기에는 실력이 부족함
참고했던 링크
https://asecuritysite.com/encryption/c_c
Chosen Cipher Attack
asecuritysite.com
https://rkm0959.tistory.com/131
암호론 논문 리딩 #3: Twenty Years of Attacks on the RSA Cryptosystem
"Twenty Years of Attacks on the RSA Cryptosystem" - Dan BonehRSA에 대한 공격을 가장 자세하게 잘 다루는 review paper인 것 같다. 인용 횟수가 900번 근처다...논문 리딩은 기본적으로 복습을 하면서 더 배우려고 하
rkm0959.tistory.com
반응형'암호학' 카테고리의 다른 글
SageMath ubuntu 설치 (0) 2023.10.22 카이사르 암호 복호화 파이썬 코드 (0) 2023.07.07 XOR (Exclusive OR) (0) 2023.07.06 CryptoHack-Bytes and Big Integers (0) 2023.07.06 CryptoHack-base64 (0) 2023.07.06 댓글