Stay Hungry, Stay Foolish
암호학이 실제 응용 환경에서 어떤 방식으로 활용되는지를 공부하기 위해 기본기를 다지는 스터디입니다. 해당 스터디에서는 암호학이 무엇인지 정확히 알고, 어떤 방향으로 발전해 나갔는지를 이해하는 데 초점을 맞춥니다. 신입 회원을 대상으로 진행하는 스터디이고, 암호학을 처음 접한다는 가정 하에 스터디를 진행합니다. 주제는 다음과 같습니다.
고전 암호
유사 난수 생성기와 스트림 암호
블록 암호 (DES와 AES)
공개키 암호 시스템 (RSA, 타원 곡선 암호)
암호학적 해시 함수
추가로, 기초 정수론과 군 이론 (Group Theory) 등 암호를 이해하는데 필요한 기본적인 수학 지식은 스터디 중간에 필요할 때 마다 공부합니다.
기초 암호 이론을 공부한 뒤, 희망자에 한해 수학적으로 엄밀한 암호학을 공부하는 스터디입니다. 암호 자체는 카이사르 암호와 같이, 로마 제국 때부터 있어왔지만, 엄밀하게 정의된 암호는 20세기 중반에 처음 정의되었습니다. 암호론 스터디에서는 이러한 정의를 익히고, 이것이 어떤 의미를 가지는지 잘 이해하는데 초점을 맞춥니다. 스터디에서 다루는 내용은 대학원 암호학개론 수준 정도의 내용이고, 구체적인 주제는 다음과 같습니다.
정보 이론 관점에서의 안전성 정의
블록 암호와 CPA Security, 블록 암호의 운용 모드
암호학적 해시 함수의 설계 방법
Authenticated Encryption과 CCA Security
정수론 및 계산 대수 알고리즘
TDF, Key Exchange Scheme와 공개키 암호 시스템
전자 서명과 인증 시스템
타원 곡선 암호학과 관련 주제 (페어링 연산, BLS Signature 등)
신원 인증 시스템과 영지식 증명
블록체인은 탈중앙화를 위한 분산 원장 (Distribution Ledger)을 구현하는 방법 중 하나로, 모든 사용자가 거래 내용이 적힌 "체인"으로 엮여 있는 "블록"의 묶음을 공유하고, 그 블록들을 모두가 검증할 수 있도록 만들어져 있습니다. 이와 관련해서는 비트코인, 이더리움 등 수많은 Product들이 생성되고 있고 특히 2021년 이후로 메타버스, NFT와 관련한 응용도 많이 미디어에 노출이 되고 있습니다.
그러나, 지금의 블록체인 기술은 그 자체로는 완벽한 익명성을 보장해주지는 못하고 있는 상황입니다. 또한, 블록체인에 기록되는 정보가 많아질수록, 블록체인을 효율적으로 검증하는 것은 어려워지는 상황입니다. 이러한 문제를 해결하기 위한 암호학적 방법론으로는 검증 가능한 연산 (Verifiable Computation) 과 영지식 증명 (Zero-knowledge Proof)이라는 방법론들이 있고, 2023년 기준 다양한 기업들에게 많은 주목을 받고 있는 상황입니다.
블록체인 스터디는 이러한 내용을 잘 이해하고, 구현까지 시도하는 것을 목표로 합니다.
블록체인의 작동 원리 이해
검증 가능한 연산 및 영지식 증명에서의 방법론 이해
해당 기술을 접목함으로써 해결할 수 있는 문제 탐구
딥 러닝 기술의 발전으로 이를 활용하여 고성능의 생체 인증 시스템을 설계할 수 있게 되었고, Apple의 FaceID나 공항 출입국 수속 등 수많은 현실 세계에서의 응용이 이루어지고 있습니다. 그러나, [TPAMI'18] NbNet이나 [CVPR`20] Vec2Face와 같이, 딥 러닝 모델을 거쳐서 나온 출력값인 특징 벡터로부터 원래 생체 정보를 복원하는 기법들이 알려지면서, 해당 생체 인증 시스템이 그 자체로는 안전하지 않다는 점이 밝혀졌습니다. 심지어, [Arxiv'22]에서 보였듯이 해당 기법들이 실제 상업적 용도로 쓰이고 있는 (Amazon, Microsoft Azure) 생체 인증 시스템에 잘 작동한다는 사실이 알려져 있습니다.
이러한 공격들을 방어하기 위해, 생체 정보 보호 기법 (Biometric Template Protection) 이라는 개념이 제시되었고, 2011년부터 지금까지도 꾸준히 표준화 작업이 이루어지고 있습니다. 생체 인증 기술은 패스워드와 같은 별도의 비밀 정보를 안전하게 보관하지 않아도 활용할 수 있는 장점이 있어 각광을 받고 있는 기술이고, 따라서 생체 정보를 보호하는 기법에 대한 중요성이 나날이 높아지고 있습니다.
딥 러닝 기반 생체 인증 스터디에서는 다음과 같은 주제를 공부합니다.
딥 러닝 기반 생체 인증 기술
생체 인증 기술에 대한 알려진 공격 기법
암호학적으로 안전한 생체 정보 보호 기법
해당 기법들을 공부하기 위한 방법론
공개키 암호 시스템은 검증은 쉽게 할 수 있지만 푸는 것은 어려운 문제 (NP-Problem)을 활용하여 설계합니다. 이러한 공개키 암호 시스템의 안전성은 결국 그 어려운 문제를 얼마나 효율적으로 풀 수 있느냐에 달려 있죠. 예를 들자면, RSA 암호 시스템은 "큰 수를 소인수분해하는 것은 어렵다"라는 가정 하에서 안전하고, 타원 곡선 암호의 경우 "이산 로그 문제가 어렵다"라는 가정 하에서 안전합니다.
그러나, 양자 컴퓨터의 경우 양자역학에서 다루는 얽힘과 중첩을 활용하여 기존 컴퓨터와는 전혀 다른 방식으로 연산을 수행합니다. 특히, 1990년대에 발표된 Shor's Algorithm은 소인수분해 문제를 다항 시간 안에 해결할 수 있습니다.
양자 컴퓨팅 스터디에서는 이러한 양자 알고리즘의 작동 원리를 이해하고, 이것이 암호 시스템의 안전성에 어떤 영향을 미치는지를 공부합니다. 더 나아가, 양자 알고리즘에 안전하다고 알려진 양자 내성 암호(PQC)를 살펴보는 것을 목표로 합니다.
양자 회로, 큐비트, 얽힘과 중첩
양자 알고리즘 (Shor's Algorithm, Grover's Algorithm, ...)
양자 내성 암호