[제 5강][수정됨] 확장 유클리드 알고리즘.function

확장 유클리드 알고리즘 m, n이 gcd(m,n) = 1인 경우 유용한데, 그럼 위의 식은 am + bn = 1이 되고, 여기서 a는 모듈로 연산의 곱의 역원(modular multiplicative inverse)이 되기 때문이다. 출처 : 위키백과 확장 유클리드 알고리즘은 RSA를 만들기 위한 과정 중 복호키(또는 비밀키 라고도 부른다)를 구하기 위해 필요한 알고리즘이다. 일단 지금은 이 정도만 알고 넘어가도록 하자. …

[제 4강] 최대공약수.function

최대공약수 (유클리드 알고리즘을 이용) gcd(a,b)로 표현 하기도 하는 이번 글에선 최대공약수를 다뤄보려고 한다.   우리가 보통 최대공약수를 구하는 방법음 다음과 같다. 2 │ 48  183 │ 24   9   └────         8     3이렇게 구한 뒤에 세로로 곱한다면 최대공약수가 나오는 방식으로 여태까지 구해 왔다. 하지만 컴퓨터는 이러한 방법으로는 최대공약수를 구하지 못한다.또한 각 수를 모두 …

[제 3강] 소수 찾기.function

소수 찾기 소수를 찾는 방법을 찾기 위해서 에라토스테네스의 체를 사용하겠다. 에라토스테네스의 체란 소수를 찾는 가장 간단한 방법이다.예를 들어, 1 ~ 10 까지의 정수 중에서 소수를 찾는다면, 1. 1은 소수도 합성수도 아니므로 제외2. 다음 수인 2는 소수, 2의 배수는 모두 지운다.3. 다음 수인 3는 소수, 3의 배수는 모두 지운다.4. 다음 수인 5는 소수, 5의 배수는 모두 지운다.5. 다음 수인 7는 소수, …

[제 2강] RSA

   RSA 기본 개요        공개키 암호화 방식으로 공개키와, 비밀키를 가지고 암호화 하는 방식이다.        공개키로 누구나 사용하여 파일을 암호화 시킬 수 있지만, 복호화(해독) 하기 위해선 비밀키가 필요한 암호화 방식이다. RSA의 키를 생성하는 방법 1. 서로 다른 두 소수 p , q 를 구한다.2. 값이 p × q인 N(=p × q)을 구한다.3. (N) = (p-1)(q-1)를 구한다. …

[제 1강] 암호 수학_Cryptography

암호 수학(Cryptography Math) 강의 : 고승철 교수님 1차 목표는 C , C++, JAVA 등 프로그래밍 언어를 이용한 RSA (공개키 암호화 방식)을 만드는 것이다.그리고 그에 필요한 함수를 만들어 암호수학용 라이브러리를 만든다. 2차 목표는 위에 만든 함수를 이용 큰 자리 수의 RSA를 만든다.