INCOGNITO 2022 3

RSA 암호화 알고리즘 분석

RSA 알고리즘이란? 현대 컴퓨터 시스템 및 다른 전자기기에서 데이터를 암호화/복호화할 때 사용. 두 개의 다른 key를 사용하는 비대칭(asymmetric) 암호학 알고리즘이다. 유클리드 알고리즘(유클리드 호제법) 1. a,b 두 수가 주어짐.(a>b) 2. b가 0이면 a를 리턴함. 3. a가 b로 나눠 떨어지지 않으면 a를 b로, b를 a에서 b로 나눈 나머지를 대입하고 1번으로 돌아감. a = b b = a%b 위 코드를 temp = a%b a = b b = temp 이런 식으로도 쓸 수 있다. 유클리드 알고리즘을 이용해 38, 10의 최대공약수 구하기 38%10 = 8 a= 10, b= 8 (a에는 b, b에는 a%b 대입) 다시 나눈다. 10%8 = 2 a= 8, b=2 8%2= 0 최대공약수..

INCOGNITO 2022 2022.08.13

Cryptohack - ASCII

별도의 파일은 없고, 그냥 아스키 코드를 chr() 이용해서 문자로 변환시키기만 하면 되는 것 같다. a = [99, 114, 121, 112, 116, 111, 123, 65, 83, 67, 73, 73, 95, 112, 114, 49, 110, 116, 52, 98, 108, 51, 125] for i in range(len(a)): asc = chr(a[i]) print(asc, end='') 문제에 나와있는 숫자들을 리스트로 만들어주고 반복문을 이용해서 문자로 변환시킨다음 출력했다. 플래그는 crytpo{ASCII_pr1nt4bI3} 이다.

INCOGNITO 2022 2022.08.10

Cryptohack - Network Attacks

JSON 오브젝트만 서버에서 입력받는 것 같다. 제공받은 챌린지 파일인 telnetlib_example.py 파일을 수정해서 뭘 해야하는 것 같은데.. 일단 칼리에서 nc socket.cryptohack.org 11112로 접속했다. 그냥 아무말이나 입력했더니 에러 났다. 내가 사고싶은 걸 알려줘야하는 것 같다. #!/usr/bin/env python3 import telnetlib #telnet 원격 접속 제어용 모듈 import json HOST = "socket.cryptohack.org" #telnet으로 접속할 대상 PORT = 11112 #TCP 포트 tn = telnetlib.Telnet(HOST, PORT) def readline(): return tn.read_until(b"\n") de..

INCOGNITO 2022 2022.08.07