암호학 15

21.10.01 MPC & SMPC [정리 중!]

블록체인 프라이버시 문제를 해결할 수 있는 암호화 기술 중 하나이다. MPC Multi-Party Computation 다자 간 계산 다수의 사용자가 각자의 비밀 값을 입력값으로 하여 함숫값을 함께 계산하는 기술 원래 정보는 알 필요 없이 도출된 비밀 값만을 몇몇 주체들이 해결해 낸 뒤, 그 결과들을 활용하면 된다. ✔여러 노드가 계산에 참여 ✔각 당사자는 이 당사자에게만 알려진 비밀인 계산에 일련의 입력 정보를 제공한다. ✔계산이 진행되는 동안 당사자 간에 보안 메시지가 전달되어 당사자가 제공한 투입물에 대한 정보가 전혀 공개되지 않는다. ✔계산이 끝나면, 단일 프로세서에 있는 모든 입력으로 그것을 계산하는 것처럼 함수의 출력이 가능하다. ✔계산은 어느 정도 내결함성이 있으며, 계산의 일부 노드/파티들..

암호학 2021.10.01

21.09.05 RSA [작성 중!]

RSA를 Javascript로 구현해보았다. 1. p, q 아주 큰 소수 2. n = p*q 3. φ(n) 오일러 피 함수(n 과 서로소인 1부터 n까지 정수의 개수) 4. φ(n) 값을 (p-1)(q-1)을 통해 구한 후, 1구현 중! 5. (e*d) mod(φ(n)) = 1 만족하는 d 구하기 /** * 21.09.05 JE * RSA 구현 * 1. p, q 아주 큰 소수 * 2. n = p*q * 3. φ(n) 오일러 피 함수(n 과 서로소인 1부터 n까지 정수의 개수) * 4. φ(n) 값을 (p-1)(q-1)을 통해 구한 후, 1 < e < φ(n)인 e 구하기 * 5. (e*d) mod(φ(n)) = 1 만족하는 d 구하기 */ //1 ~ 256 까지의 소수 //+ 소수 분류하는 함수로 추가하..

암호학 2021.09.06

21.09.05 RSA 알고리즘

RSA 암복호화 알고리즘에는 public key, private key를 사용하는데 key라고 해서 복잡한 무언가가 아니라 상수 두 개 만들고 각각을 key라고 한다. 그 두 상수를 생성하는 원리는 다음과 같다. ✔key 생성 원리 1. p와 q는 서로 다른 소수이다. 2. p와 q를 곱한 값인 N을 찾는다. 3. 오일러 피 함수에 N을 대입한 값 φ(N)을 찾는다. (p-1)(q-1)으로 계산할 수 있다! 4. φ(N) 보다는 작고 φ(N)와 서로소인 정수 e를 찾는다. 5. 확장된 유클리드 호제법을 이용하여 d x e를 φ(N)로 나누었을 때 나머지가 1인 임의의 정수 d를 구한다. ✔public key와 private key 위를 통해 N, e, d 값을 구할 수 있는데 public key는 이고 ..

암호학 2021.09.05

21.08.10 생일 공격

암호해독공격 중 하나인 생일 공격에 대해 알아보겠다. 사람이 여럿 모였을 때 그 중에 생일이 같은 두 명이 존재할 확률을 생각해보자. 그 과정은 다음과 같다. 칠판에 365일을 쓰고 한 사람씩 자신의 생일을 지워나간다고 하면 첫번째 사람이 나와서 자기 생일을 지울 확률은 365일 중에 365일을 선택하므로 확률은 1이다. 다음 사람이 나와서 첫번째 사람의 생일을 제외한 생일을 지울 확률은 364/365이다. n명의 사람들 중 생일이 모두 다를 확률은 아래와 같이 표현할 수 있다. 최종적으로 생일이 같은 사람이 둘 이상 있을 확률은 전체 확률 1에서 생일이 모두 같지 않을 확률을 제외하므로 따라서 365명보다 적은 수인 최소 23명만 모여도 생일이 같은 두 사람이 있을 확률이 50%가 넘고 57명이 모이면..

암호학 2021.08.12

21.06.26 key

암호화는 특정 수신자만 키를 사용하여 데이터를 읽을 수 있도록 데이터를 변환하는 과정을 말한다. 여기서 키는 종류가 많은데 하나씩 살펴보도록 하겠다. -키의 종류 암호화용 키, 역암호화용 키 - 암호화 용도에 따라 암호화용 키 : 암호화를 할 때 사용하는 키 역암호화용 키 : 암호화된 것을 풀 때 사용하는 키 대칭키, 비대칭키 - 암호화, 복호화 과정에 따라 대칭키 : 송수진자가 같은 키를 쓰는 방식 비대칭키 : 암호화와 역암호화가 서로 다른 키를 쓰는 방식 주로 암호화할 때는 공개키를 사용하고 이를 역암호화할 때는 개인키를 사용 비밀키, 개인키, 공개키 - 공개 여부에 따라 비밀키/공유비밀키 secret key : 대칭키 방식에서의 비밀키, 주로 기호열 / 비트열 개인키 private key : 비대칭..

암호학 2021.06.30