이번 포스트는 암호학을 배우면서 간단하게 접한 확률에 관한 몇 가지 지식을 소개하고자 한다.
1. Birthday Paradox
Birthday Paradox, 즉 생일의 역설은 이후 소개드릴 내용에 비해 잘 알려져 있는 사실이다. 이는 "23명이 모여있으면 그 중 생일이 같은 두 사람이 존재할 확률이 약 50%이다"라는 내용으로 흔히 소개되어 처음 접하면 "생각보다 많이 적네?" 싶은, 조금은 신기한 사실이다.
CTF에서는 몇 가지의 분류가 존재하는 값을 출력하는 확률적 알고리즘에 대해 같은 분류에 속하는 두 가지 출력을 얻고자 할 때 종종 사용된다. md5 해시의 값을 정수로 바꾸어 65537로 나눈 나머지가 같은 두 원본 텍스트 쌍을 찾는 경우 같은 예시가 존재한다.
물론 확률에 기반한 시행이므로 평균적으로 빨리 시행됨을 알려주는 것이므로 시행 시간에는 편차가 존재할 수 있다.
- Recommend to read : 위키백과 - 생일 공격
2. Frequency of Prime number
이는 Big-Theta notation의 정의
CTF에서는
대표적인 사용 예시로는 소수인 MD5 해시값을 찾는 경우가 있다. MD5는 32byte=256bit를 출력하는 해시 알고리즘이므로 평균적으로
- Recommend to read : 위키백과 - 소수 계량 함수
3. Probablity of
임의의 두 자연수
또한 어떤 두 자연수
즉,
'ctf' 카테고리의 다른 글
2022 Fall GoN Open Qual CTF Write-up (1) | 2022.08.28 |
---|---|
Introduction and Proof of Baby-step Giant-step Algorithm (BSGS) (3) | 2022.08.13 |
HackTheon 2022 Writeup (0) | 2022.08.11 |
Introduction and Proof of Tonelli-Shanks Algorithm (2) | 2022.08.03 |
페르마 인수분해(Fermat Factorization) (0) | 2022.05.22 |