-
알고리즘 문제 접근 과정 2
알고리즘 문제 접근 과정 2 이번 포스트에서도 ‘알고리즘 문제 접근 방법’에서 진행했듯이 특정 문제를 해결하기 위해 가장 낮은 단계의 접근에서부터 최종 해법까지 해결해나가는 과정을 작성합니다. 최대한 다양한 유형의 문제들을 다루어, 많은 문제 유형에서의 접근 방법에 대한 실마리를 드리는 역할을 하려 합니다. 나무 막대 - Taejon Asia Regional 2001 B번 관찰 우리는 문제를 이해할 때, 복잡하게 주어진 조건을 머리에 표상하기 쉬운 형태로 변경하는 것이 중요합니다. 주어진 조건에서, 한 번 기계를 작동할 때, 그 다음에 오는 막대의...
-
Wireless Digital Communication 3
서론 지난 글에서는 AWGN 채널의 특성에 대한 내용과, Probability of error 구하는 방법을, 혹시 정확한 계산이 어렵다면 그 상한을 계산하는 방법(Union Bound, Nearest Neighbor Union Bound)에 대해서 알아보았습니다. 이번 글에서는 현재 통신 시스템에서 사용하고 있는 constellation인 QAM과, 특정 주파수 사이의 신호만 통과시키는 passband system에 대해 알아보겠습니다. 아마 지금 passband system을 왜 설명하는지 헷갈릴 수 있지만, 나중에 작성할 글들을 이해하는 데에 있어 필수적인 내용이므로 꼭 이해하고 넘어가야 합니다. 본론 Quadrature Amplitude Modulation (QAM) 여태까지 저희가 알아본...
-
Expected Complexity of Random Convex Hulls
Table Of Contents Introduction Experimental Results Notations Planar Case On Higher Dimension Summary Introduction 안녕하세요, Aeren입니다! Convex hull은 computational geometry의 가장 기본이 되는 개념 중 하나입니다. 이번 글에서는 $\mathbb{R} ^ 2$의 compact (closed and bounded와 동치입니다.) and convex subset에서 uniformly random하게 선택된 점들의 집합의 convex hull의 vertex의 갯수의 기댓값을 알아볼 것입니다. 이 글은 다음 글을 바탕으로 작성되었습니다. Experimental Results 다음은 $C$가 unit disk, unit triangle, unit square일때 100회의 sampling으로 얻어낸 convex hull의 평균 vertex 갯수입니다....
-
TLS 1.3 프로토콜
1. Introduction 8월 16일 오후 3시부터 24시간동안 삼성에서 열린 SCTF에 DecryptTLS라는 이름의 TLS 관련 문제가 출제되었습니다. 해당 문제에서는 구글 웹사이트와 통신한 TLS 패킷파일이 제공되어서 해당 파일로부터 플래그를 알아내야 했습니다. 문제에 들어있던 암호학적 취약점 자체는 그렇게 복잡하지는 않았지만 정작 프로토콜의 Specification을 보고 데이터를 추출하는데에 rkm0959님과 같이 아주 긴 시간동안 고통을 받았습니다. 그래도 그 과정에서 TLS 1.3 버전에 대한 공부를 할 수 있었어서 TLS 1.3에 대한 포스팅을 작성하고자 합니다. 2. TLS 옛날 옛적에는 웹서버와 통신을 할 때...
-
와일드카드 문자열 매칭
서론 문자열 매칭 알고리즘은, 문자열 $S$와 $T$가 주어졌을 때, $S$의 부분문자열(substring) 중에 $T$가 어느 위치에 등장하는지 찾는데 사용하는 알고리즘이다. 우리는 이 문자열 매칭 알고리즘에 와일드카드 문자, 즉, 어떤 문자에도 대응 될 수 있는 ? 문자가 들어갔을 때 어떤 식으로 문제를 해결해야 하는지 알아본다. ? 문자가 들어가지 않았을 때 문자열 매칭을 하는 법에 대해서는, KMP 알고리즘과 Aho-Corasick 알고리즘 문서에 잘 설명이 되어 있으니, 참고하면 된다. 문제 우리가 풀고 싶은 문제는 다음과 같다. 문자열 길이 $N$의 문자열...