m과 a가 C에 중복으로 대응되는 것으로 보아, 카이사르는 아니다. 그래서 비제네르로 돌려봤다.
본문 key = key
플래그 key = n
Classic Cipher -1 100
Hint : [::-1]
?y4zl4J_d0ur_b0f_0K zp nhsm
[::-1] 은 reverse. 즉 글자 순서를 뒤바꿔주면 된다.
그 다음에 카이사르를 돌리니 플래그가 나왔다.
HackCTF{D0_y0u_kn0w_C4es4r?}
RSA
200
RSA 알고리즘을 이용하여 값을 해독해보자! 파일에 나와있는 c, p, q, e 는 RSA 대한 파라미터 값이다.
p = 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
c = 83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
n = 10283681839193276126097189449431804469761940095295471888398234447479454966284763902940257262270896218602885591849219329295416054197234326881779747263501982465102957508563705432633950651360492963151374387619070656704554971992649022858286686244477458518219811343940208016922937570643216329114427596008380607613093481777894261584227765149699743645734317383348201997748556656749211035951710759363655486663011079526697122026161182876988679088458171192764980121987583057238040415225285169219391637708267493561674900564748140379192079752942242600521017002960185256025253900075152690586476143729320416895984549165574371936823
c = 0x5c93ba85692a8b3981a5d47be0e80d129b8a2f6cf4dc134547aa7e1620f6691513b1dc1d69e085c39e261c2b49026436bb243dba70a86f7fcd1a3a7e6b0f0ecfac015becad0a76e9cf208d5d31e2b4865
e = 3
n은 매우 크고 e는 매우 작다.
c = m^e mod n = m^e
HelloCryto
350
key 길이는 14
flag 앞에는 HackCTF{ 인 것을 알고 있으니 key 14자리중 8자리 알아낼 수 있고
메세지 뒤에 key값이 붙은 것이 다시 key 앞에 8자리랑 연산을 하니 key 뒷자리도 알아낼 수 있음.
프로그래머의 고수가 제자에게 암호테이블과 문자열을 남기고 세상을 떠났다. 그런데 암호테이블은 손상이 되었는데... 손상된 암호테이블 : g i a x ? ? d b k l n q w m f ? c p ? ? z u y j ? v 암호 문자열 : yefpsqfgt 원래의 문자열로 변환 후 인증하시오
abcde fghij klmno pqrst uvwxy z
giax? ?dbkl nqwmf ?cp?? zuyj? v
이렇게 일치
위 테이블에 맞춰 암호 문자열을 복호화 하면 12345c3d6 (중복이 있어서 ?대신 정수로 표현)
?에 들어갈 수 있는 남은 알파벳은 e h o r s t
파워게싱을 통해 c3d6이 code인 것을 알아채면 12o45code가 되고 남은 자리에 들어갈 수 있는 알파벳은 h r s t 가 되며,