
메인 페이지이다.

평범한 튜토리얼이다.

brainrot(브레인로트) 세계에 처음 오셨나요? 어떤 이름을 골라야 할지 고민되시나요? 저희가 엄선한 추천 목록을 준비했습니다.
트랄랄레로 트랄랄라
셰프 크라브라카다브라
보네카 암발라부
퉁 퉁 퉁 퉁 퉁 퉁 퉁 퉁 사후르

이런 파일을 준다.

output.txt 파일에는 이런 내용이 있다.

파이썬 파일이다.
이 코드는 RSA 암호화의 변형된 형태를 구현하였다.
from Crypto.Util.number import getPrime, bytes_to_long
flag = "grey{flag_here}"
e = 3
p, q = getPrime(512), getPrime(512)
N = p * q
512비트 크기의 두 소수 p, q를 생성하고
RSA 모듈러스 N = p × q 계산,
공개 지수 e = 3 으로 설정한다.
m = bytes_to_long(flag.encode())
C = pow(m,e)
플래그를 바이트로 인코딩한 후 정수로 변환
RSA 암호화: C = m³ (mod 없이)
assert C < N
while (C < N):
C *= 2
print("Tung!")
# now C >= N
while (C >= N):
C -= N
print("Sahur!")
첫 번째 while문: C가 N보다 작은 동안 C를 2배씩 증가
C가 N 이상이 될 때까지 반복
"Tung!" 출력
두 번째 while문: C가 N 이상인 동안 C에서 N을 빼기
결국 C = C mod N 연산과 동일
"Sahur!" 출력
output.txt 파일을 보니 "Tung!"이 144번 출력, "Sahur!"이 1번 출력되었으므로
최종 C = (2^144 × m^3 - N) mod N