분류 전체보기
RSA 암호화 - RSA의 작동 원리
RSA 암호화 RSA 암호화 - 개념편 RSA 암호화 - 수학편: RSA와 소수 RSA 암호화 - 수학편: 나머지 계산 RSA 암호화 - RSA의 동작 방식 RSA 암호화 - RSA의 작동 원리 [알림] 이 글은 RSA 암호화 시리즈의 5편입니다. 앞선 편을 모두 읽고 이 편을 읽는 것을 추천합니다! 오일러 정리 RSA 암호화에서는 페르마 소정리가 일반화된 정리 격인 오일러 정리가 핵심 역할을 한다. 오일러 정리 서로소인 두 정수 $a$와 $n$에 대해 $a^{\phi (n)} \equiv 1\:(\mathrm{mod}\:n)$이다. 여기서 $\phi(n)$은 오일러 피 함수로 $n$ 미만의 자연수 중 $n$과 서로소인 수의 개수를 말한다. 오일러 피 함수는 자기 자신보다 작은 자연수 중 자신과 서로소인..
RSA 암호화 - RSA의 동작 방식
RSA 암호화 RSA 암호화 - 개념편 RSA 암호화 - 수학편: RSA와 소수 RSA 암호화 - 수학편: 나머지 계산 RSA 암호화 - RSA의 동작 방식 RSA 암호화 - RSA의 작동 원리 [알림] 이 글은 RSA 암호화 시리즈의 4편입니다. 앞선 편을 모두 읽고 이 편을 읽는 것을 추천합니다! RSA의 작동 방식 RSA는 다음 방식으로 작동한다. 키 쌍 생성: 아주 큰 두 소수 $p$, $q$를 생성한다. $N=pq$를 계산한다. $(p-1)(q-1)$과 서로소인 정수 $e$를 하나 정한다. $ed$를 $(p-1)(q-1)$로 나눈 나머지가 1인 정수 $d$를 계산한다. $p$와 $q$, $p-1$, $q-1$은 삭제한다. 공개키는 $N$과 $e$가 되고 비밀키는 $d$가 된다. 3단계에서 $e$..
RSA 암호화 - 수학편: 나머지 계산
RSA 암호화 RSA 암호화 - 개념편 RSA 암호화 - 수학편: RSA와 소수 RSA 암호화 - 수학편: 나머지 계산 RSA 암호화 - RSA의 동작 방식 RSA 암호화 - RSA의 작동 원리 [알림] 이 글은 RSA 암호화 시리즈의 3편입니다. 앞선 편을 모두 읽고 이 편을 읽는 것을 추천합니다! 특수한 형태의 나머지 연산의 필요성 RSA암호는 나머지 연산을 매우 자주 활용한다. 어떤 정수를 다른 정수로 나누었을 때의 나머지를 구하는 것이다. 컴퓨터 입장에서 나머지 연산은 매우 쉬운 일이다. C언어에서 $a$를 $b$로 나눈 나머지를 계산해서 $c$에 저장하는 코드는 다음 한 줄이면 된다. c=a%b; 이 방법은 매우 효과적이지만 RSA에 사용하기에는 적절하지 못하다. RSA에는 $a^b \equiv..
RSA 암호화 - 수학편: RSA와 소수
RSA 암호화 RSA 암호화 - 개념편 RSA 암호화 - 수학편: RSA와 소수 RSA 암호화 - 수학편: 나머지 계산 RSA 암호화 - RSA의 동작 방식 RSA 암호화 - RSA의 작동 원리 [알림] 이 글은 RSA 암호화 시리즈의 2편입니다. 앞선 편을 모두 읽고 이 편을 읽는 것을 추천합니다! 비대칭키 암호화의 기본 비대칭키 암호화는 비밀키로 공개키를 알 수는 있지만 공개키로는 비밀키를 알 수 없고, 두 키가 암복호화에 따로따로 사용돼야 하는 한 쌍의 키가 필요하다. 이는 보통 이산대수의 어려움을 통하여 구현된다. 이번 글에서 다룰 RSA는 소인수분해의 난해함을 기초로 보안이 유지된다. 두 소수 $p$와 $q$가 있다. 이 두 수를 곱하여 $pq$를 계산 하는 일은 누구나 쉽게 할 수 있으며 컴퓨..
RSA 암호화 - 개념편
RSA 암호화 RSA 암호화 - 개념편 RSA 암호화 - 수학편: RSA와 소수 RSA 암호화 - 수학편: 나머지 계산 RSA 암호화 - RSA의 동작 방식 RSA 암호화 - RSA의 작동 원리 비대칭키 암호화의 필요 1. AES와 같은 대칭키 암호화는 두 사람이 주고받는 정보가 빼앗기더라도 내용을 알 수 없게 할 수 있게 하였다. 대칭키 암호화는 매우 안전하고 간편하지만 매우 심오한 문제를 만들었다. "키 배송 문제" 두 사람이 대칭키 암호를 주고받으려면 우선 비밀키를 공유해야 하는데, 이 키를 전송하는 도중에 빼앗기면 암호는 아무런 소용이 없다. 그렇다고 키를 안 보내면 암호화를 할 수 없다. 이것이 키 배송 문제이다. 어떻게 하면 키를 안전하게 공유할 수 있을까? 2. 인터넷으로 파일이 공유되면서 ..
해시(Hash)
컴퓨터가 다루는 정보의 양은 날로 많아지고, 그 중요도나 민감도도 날이 갈수록 올라가고 있다. 한 사람의 핸드폰에는 시간에 따른 사용자의 위치정보, 사용자가 매일 이용하는 웹사이트와 앱의 종류와 사용기록까지 오직 자신만이 알고 싶은 자료가 많다. 따라서 이러한 정보를 캐내려는 자로부터 소중한 것을 지키는 방법이 필요하게 되었다. 이 글에서는 해시를 이용하여 비밀번호를 저장하는 방법에 대해 다룬다. 해시(Hash) 해시란, 특별한 성질을 가진 함수를 통틀어 부르는 말이다. 한번 어떤 해시함수 $f(x)$를 두고 해시함수의 특징에 대해 알이 보자. 우선 해시함수는 어떤 값이던 입력이 될 수 있다. 문자 1개가 될 수도 있고 책 한 권의 내용 전체가 될 수도, 이 세계에 있는 모든 책의 내용이 입력이 될 수 ..
지구 자기장의 생성 원인
지구에는 거대한 자기장이 있다. 남극(N)에서 나와 북극(S)으로 들어가며, 극지에서 가장 강해진다. 지자기의 세기는 대략 25 µT에서 65 µT 정도로 막대자석 등에 비해보더라도 매우 약한 편이다. 하지만 이 자기장은 지구 어느 곳에서나 같은 방향을 향하기 때문에 아주 오래전부터 나침반을 이용해 방향을 찾는 데 사용되었다. 지구 자기장의 원인 비록 세기가 약하긴 하지만, 지자기 지구 전체에 매우 광범위하게 작용한다. 이 거대한 자기장은 어떤 이유로 생길까? 과거에는 지구에 거대한 영구자석이 있어서 지구자기장을 만든다고 생각했다. 지금 들으면 뭔가... 어이없긴 하지만 어쨌든 옛날에는 그렇게 생각했다. 이 이론은 지구 내부 온도는 자성을 유지할 수 있는 최대 온도인 "퀴리 온도"보다 높기 때문에 설득력..
인체의 순환계
순환계는 인체에 산소와 양분을 공급하고, 이산화탄소와 노폐물을 수거하는 시스템이다. 흔히 알고 있는 심장, 혈관 등이 이 계에 속한다. 이 글에서는 인체의 순환계에 대해 알아본다. 순환계의 구조와 역할 사람의 몸에서 순환계는 크게 다음 역할을 맡는다. 양분, 산소, 에너지 공급 이산화탄소, 노폐물 수거 체온 유지 호르몬 전달 이 과정은 호흡과도 연관 깊다. 호흡에 필요한 에너지와 산소를 순환계에서 공급하고, 그 결과 생성된 이산화탄소와 노폐물은 순환계를 통해 제거된다. 순환계는 크게 혈관과 심장으로 이루어져 있다. 익히 알 듯 심장은 혈액이 이동하도록 압력을 만들고, 혈관은 혈액이 이동하는 경로의 역할을 한다. 위 그림은 순환계의 모습을 모식적으로 그린 것이다. 심장에서 나온 혈액은 대동맥을 거쳐 몸 구..