본문 바로가기

Cryptography

[양자컴퓨팅 및 정보의 기초] Hermitian 행렬의 대각화, 선형 연산자의 함수, 미분방정식의 해, 양자역학 공리 I 소개 https://www.youtube.com/watch?v=tDcxVAF7QNs Diagonalization of Hermitian MatricesAssume that a Hermitian operator $\Omega$ is represented as a matrix $\mathbb{H}$ in some orthonormal basis $|1\rangle, |2\rangle, ..., |n\rangle$. If we trade this basis for the eigenbasis $|\omega_1\rangle, |\omega_2\rangle, ..., |\omega_n\rangle$, the new matrix $\mathbb{H}'$ representing $\Omega$ will become dia.. 더보기
[양자 컴퓨팅 및 정보의 기초] adjoint, Hermitian, unitary, 고유값 문제, 기저 변환 https://www.youtube.com/watch?v=ma14p0foJgM&list=PLv_H0-ClHq6y57O2K6WerynmOVJTkCSq_&index=3 Column Vector Representation Column vector representation of an abstract vectorAbstract vector can be represented by an n-tuple of numbers (called its components) for a given basis.Ex) input vector $|V\rangle = \sum_i v_i |i\rangle \Leftrightarrow \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix}.. 더보기
[양자컴퓨팅 및 정보의 기초] 선형 벡터 공간, 내적, 선형 연산자 https://www.youtube.com/watch?v=K08jdArv0TM Linear Vector SpacesDefinition 1A linear vector space V is a collection of objects $|1\rangle, |2\rangle, ..., |V\rangle, ... |W\rangle, ...$ called vectors, for which the following two operations are well-defined:- Vector addition: $|V\rangle + |W\rangle$- Multiplication by scalars $a, b, ...$, denoted by $a|V\rangle$1. Closure: the result of these.. 더보기
[Dreamhack] Common things between us 문제 설명There are common things between us... those common prime factors! 키워드Common Modulus Attack, RSA Common Modulus Attack동일한 모듈러($N$) 값으로 각기 다른 공개지수 $e_1, e_2 (\text{gcd}(e_1, e_2) = 1)$를 사용하여 암호화 된 평문을 알아내는 공격이다.$C_1 \equiv M^{e_1} \pmod{N}$$C_2 \equiv M^{e_2} \pmod{N}$$\text{gcd}(e_1, e_2) = 1$이므로 $s \cdot e_1 + t \cdot e_2 = 1$인 정수 $s,t$가 존재한다.$s, t$는 Extended Euclidean Algorithm으로 구할 수 있다.$.. 더보기
[양자컴퓨팅 및 정보의 기초] 양자 정보 및 양자 컴퓨팅 개요 https://www.youtube.com/watch?v=_a3GwoPK3tM 양자 현상의 본질 이해양자 현상(Quantum phenomena)가 무엇인가?>> 에너지나 전하와 같이 연속적일 것으로 생각했던 물리적인 값들이 사실은 불연속적인 덩어리의 합으로 존재하고, 이들 간의 중첩이나 간섭 현상 등으로 인해 직관적이지 않은 결과들이 발생하는 현상양자(Quantum)이라는 표현 자체는 '불연속적'이라는 의미에서 왔지만, 따라오는 부수적 효과인 중첩과 간섭때문에 직관적이지 않는 결과들이 발생함. 양자화(Quantization)>> 연속적인 아날로그 값을 불연속적인 디지털 값으로 근사화시키는 과정우리가 사는 아날로그 세계의 연속적인 값을 컴퓨터가 처리하기 위해 불연속적인 디지털 값으로 바꾸는 과정 양자 현.. 더보기
[Dreamhack] uncommon e 문제 설명아모가 무슨 일이 있었던 건지, RSA에서 절대 평범한 e를 쓰지 않겠다고 하네요. 도대체 무슨 일이 있었던 걸까요? 소스코드from Crypto.Util.number import getPrime, GCD, bytes_to_longFLAG = b"DH{????????????????????????}"FLAG = bytes_to_long(FLAG)while True: p = getPrime(1024) q = getPrime(1024) N = p * q # e = 0x10001 # assert GCD((p - 1)*(q - 1), e) == 1... Oh, COME ON.. Stop generating that stupid COMMON e. for e1 in rang.. 더보기
[Dreamhack] TOP secret! 문제 설명아모와 보코는 난도 몰래 비밀 메시지을 주고받고 있어요.내용이 플래그라는 것은 난도에겐 절대, 절대 비밀이에요! 키워드비제네르 암호, RSA, Cube Attack💡 비제네르 암호- 비제네르 표(Vigenère Square)를 보고 암호화를 진행한다.- 암호화 원리는 다음과 같다. 1. 평문과 키워드(비밀번호)를 준비한다. 2. 평문 길이에 맞춰 키워드를 반복해서 적는다. 3. 표에서 두 글자가 만나는 곳을 찾는다.- 비즈네르 암호법 수식 : $C_i = E_K(M_i) = (M_i+K_i) \pmod{26}$- 카시스키 테스트를 사용해서 해독할 수 있다. 💡 Cube Attack- Stream Cipher를 깨기 위해 고안된 강력한 해킹 방법- 복잡한 수학 공식을.. 더보기
[Dreamhack] Textbook-RSA 문제 설명드림이가 비밀 플래그를 가지고 있는 RSA 서버를 운영하고 있습니다. 서버를 공격해 플래그를 탈취해주세요!플래그 형식은 DH{...} 입니다. 소스코드#challenge.py#!/usr/bin/python3from Crypto.Util.number import getStrongPrime, bytes_to_long, inverseclass RSA(object): def __init__(self): self.p = getStrongPrime(512) self.q = getStrongPrime(512) self.N = self.p * self.q self.e = 0x10001 self.d = inverse(self.e, self.N .. 더보기