합격 후기 근황으로, 최근 BoB 12기 취약점 분석 트랙에 합격하였습니다. 아직 부족한 점이 너무나도 많지만 bob로 그 점들을 채워나가고자 합니다. 중학교 때부터 우러러봤던 bob를 저도 이제야 들어가게 되네요. 대학교 2학년 때 들어가는게 목표였었답니다. 합격 후기로 원하시는건, 스펙, 자소서 등등에 대한 팁일테니 이에 대한 제 준비에 대해 적어보겠습니다. BoB 선발 절차 12기 BoB 선발 절차는 다음과 같습니다. 1. 서류접수 2. 필기시험 및 적성시험 3. 면접 위 세 단계를 거쳐서 선발됩니다. 기간을 잘 보시면 대학기 기말고사 기간이랑 겹치는데 (이번에는 심지어 CCE, codegate랑도 겹침;) 이를 염두해서 미리 준비해두시면 좋을 것 같습니다. 서류에서 2배수를 선발하여 2, 3단계에..
설명 개인 키 d는 해당 공개 키로 생성된 암호문을 해독하는데 사용된다. (메시지를 "서명"하는데도 사용되지만 이는 나중에 설명할 것이다.) 개인 키는 암호화 기능을 빠르게 반전시킬 수 있는 "트랩도어"이다. RSA 가 잘 구현되어 있고 개인 키가 없을 때, 암호문을 해독하는 갖아 빠른 방법은 모듈러를 분해하는 것이다. 두 개의 소수가 주어진다. : p = 857504083339712752489993810777 q = 1029224947942998075080348647219 그리고 지수: e = 65537 개인 키 d는 무엇인가? 풀이 RSA에서 $d$는 $\phi(N)$에 대한 $e$의 역원이다. $\therefore d = e^{-1} \bmod \phi(N)$ 이에 대해서는 RSA 원리를 찾아보면 ..
설명 RSA는 모듈러 N의 인수분해의 어려움에 의존한다. 소인수를 찾을 수 있으면, N의 Euler totient를 계산하여 암호문을 해독할 수 있다. 주어진 $N = p * q$ 및 두 개의 소수: p = 857504083339712752489993810777 q = 1029224947942998075080348647219 N의 totient는 무엇인가? 풀이 수론에서, Euler's totient function은 주어진 정수 n까지 서로소인 양의 정수 갯수를 말한다. Euler's totinet function은 곱셈적 함수이다. 두 정수 m, n 이 서로소인 경우에 $\phi (mn) = \phi (m) \phi (n)$이 성립한다. 또한 정의에 따라, 소수 p에 대해 $\phi (p) = p-1..
설명 RSA암호화는 일반적으로 $N = p * q$라는 두 소수의 곱인 $N$과 지수 $e$를 사용해서 메시지를 모듈러 지수화한 것이다. 지수와 계수는 함께 RSA "공개 키" $(N, e)$를 형성한다. $e$의 가장 일반적인 형태는 0x10001 또는, 65537이다. 지수 $e = 65537$ 과 소수 $p = 17$ 및 $q = 23$을 사용하여 숫자 12를 "암호화"한다. 암호문은 무엇인가? 풀이 e = 0x10001 p = 17 q = 23 N = p*q print(pow(12, e, N))
설명 RSA의 모든 작업에는 모듈러 지수가 포함된다. 모듈러 지수는 암호화에서 광범위하게 사용되는 연산이며, 일만적으로 다음과 같이 작성된다. $2^{10} \bmod 17$ 어떤 숫자를 특정 거듭제곱($2^{10} = 1024$)로 올린 다음 나머지를 다른 숫자 ($1024 \bmod 17 \equiv 4$)로 나누는 것으로 생각할 수 있다. 파이썬에는 이 연산을 수행하기 위한 내장 연산자가 있다. pow(base, exponent, modulus) RSA에서 모듈러 지수화는 소인수분해 문제(IFP)와 함께 "트랩도어 기능" 을 구축하는데 도움이 된다. 이것은 한 방향으로 계산하기는 쉽지만, 올바른 정보가 없으면 역방향으로 계산하기 어려운 함수이다. 이를 통해 메시지를 암호화할 수 있으며 키를 가진 사..
맥북에서 Sage를 설치했었는데 터미널에서 명령어가 먹지 않아서 다시 설치하니까 되네요. 설치 주소를 저장해두려고 합니다. sage(System for Algebra and Geometry Experimentation)는 크립토 문제를 풀 때 사람들이 자주 쓰는 도구입니다. python에 기반하고 있어서 어렵지 않게 사용 가능합니다. 그 전에는 문제를 풀 때, python으로 풀었는데 이번 TJCTF에서 몰라서 못 푸는 경우가 발생하여 이 참에 익혀보려고 합니다. https://www.sagemath.org/ SageMath Mathematical Software System - Sage SageMath is a free and open-source mathematical software system. ..