-
BFV scheme에 대한 소개 - 1
Introduction 저번 글에서 Homomorphic Encryption, 동형암호에 대해서 소개하는 글을 썼습니다. 이번 글부터는 저번 글에서 소개한 여러가지 FHE scheme 중에서, BFV scheme에 대해 설명하는 글을 쓰려고 합니다. 저번 글에 Homomorphic Encryption에 대한 간단한 설명과 특징을 설명했습니다. 이 글에서는 Homomorphic Encryption에 기본 개념에 대해서 알고 있다고 생각하고 설명할 것이기 때문에, 이번 글을 읽기 전에 저번 글을 읽고 오시는 것을 추천드립니다. 이번 글에서는 BFV scheme의 다양한 연산들에 대해서 설명하도록 하겠습니다. Key Generation BFV scheme에서 key 생성을 어떻게 하는지...
-
Introduction of Threat Modeling
Introduction 보안공학은 자연적이지 않은, 공격자에 의해 의도된 결함들을 다루는 학문이라는 점에서 다른 공학과 구분되며, 이러한 특징은 보안공학을 더욱 체계적이고 formal 하게 만드는 것 같습니다. 보안공학을 공부하면 다른 분야에도 적용하면 좋을 만한 체계적인 개념들이 많이 등장해서 흥미로운 학문이라고 생각합니다. 이번 글을 시작으로 보안공학에 대한 개요를 정리하고자 합니다. 이번 글은 개인적으로 보안공학하면 대표적으로 떠오르는 개념은 Threat Modeling에 대해 간략하게 설명하겠습니다. Overview Threat Modeling을 Threat과 Modeling으로 나누어서 살펴보겠습니다. 먼저 Threat은 자산에 가해질 수 있는 잠재적인 위험을 의미합니다. 여기서...
-
조건을 만족하는 최솟값 혹은 최댓값 구하기
문자열이 주어졌을 때, 재배열하여 원본보다 사전 순으로 느린 문자열 중 사전 순으로 가장 빠른 문자열을 찾는 간단한 문제를 하나 생각해봅시다. 가능한 모든 재배열 방법을 확인하는 건 $N!$에 비례하는 시간이 걸리기 때문에 다른 방법을 찾아보아야 합니다. 이 문제를 해결하기 이 글에서 소개하고자 하는 풀이 방법을 이용해 소개하고자 합니다. 확정되지 않은 가장 앞자리에 a를 넣어본 뒤에 가능한지 확인한 후, 가능하다면 확정 지어주고 불가능하다면 다음 문자인 b로 넘어가고, 이를 확정 짓기까지 계속 반복하는 것입니다. 예를 들어 문제의 입력으로...
-
Introduction to APSP Conjecture and BMM Conjecture
Introduction to APSP Conjecture and BMM Conjecture 이론전산학에서 논의되는 가장 주된 문제 중 하나는 어떠한 문제가 “쉽다” (algorithm) 내지는 “어렵다” (hardness) 는 논의이다. 쉽다는 것을 증명하려면, 효율적인 알고리즘을 찾아 빠르게 해결하면 된다 (constructive proof). 대단히 명료하고, 알고리즘 대회를 통해서 많이 연습되는 방법이기도 하다. 어렵다는 것을 증명하는 것은 쉽다를 증명하는 것만큼 명료하지 않다. $P=NP$ 가설이 오랜 난제로 남아있는 것도 “어려움을 증명하는” 쉬운 방법을 찾지 못해서라고 볼 수 있다. 통상적으로는, 가장 대표성있는 문제를 잡아서 “어떠한 문제는 풀...
-
Exploring Simulated Annealing for Derivative-free Optimization 1
Exploring Simulated Annealing for Derivative-free Optimization 1 현대 과학 및 수학에서, 많은 종류의 하이퍼파라미터를 갖는 문제의 최적의 솔루션을 찾는 것은 매우 중요한 문제입니다. 특히, 머신러닝, 딥러닝의 등장으로, 굉장히 어려운 형태의 최적화 문제의 좋은 솔루션을 구하는 것은 모델의 품질 향상과 밀접한 연관을 갖게 됩니다. 이 과정에서 다양한 종류의 optimizatino problem을 해결하게 되고, 그 과정에서 gradient 기반 접근 방법이 굉장히 많이 사용되고 있습니다. 그러나 최적화 문제 중에서는 특정 상태에 대한 gradient를 구하는 것이 어려운 문제들이 있습니다. 이러한...