fleg.txt 내용 4b0e52067b3a72175f266f1a5f3a6e046f166907673843317909741b5f0c7401641d3f007d7d 문제에서도 대놓고 hex간 연산을 하라고 했으니, 일단 짝지어지는지 확인해봤다. hexstring은 2자리로 한 바이트를 표현하므로, 총 38바이트 길이의 비트스트림임을 알 수 있다. 38면 19쌍으로 묶이니까 어떤 패턴에 의해 짝지어진 바이트끼리 1:1로 xor시키면 된다고 추론할 수 있다. 아직 정보가 별로 없기 때문에, 있는 hexstring을 보다 Readable한 형태로 출력해보았다. 생각보다 아스키 문자로 치환 가능한 칭구들이 많았다. 보이는 규칙성은 치환 가능 문자와 불능 문자가 교대로 나타난다는 것이다. 자연스럽게, 치환 불능인 코드..
크립토 첫번째 과제 레츠기릿~~ #!/usr/bin/env python3 from random import randint import sys flag = "FLAG{FAKE_FLAG}" def die(*args): pr(*args) #quit() def pr(*args): s = " ".join(map(str, args)) sys.stdout.write(s + "\n") sys.stdout.flush() def sc(): return sys.stdin.readline().encode() def did(n, l, K, A): A, K = set(A), set(K) R = [pow(_, 2, n) + randint(0, 1) for _ in A - K] return R def main(): #NOT ESSE..