본문 바로가기

암호학

(7)
[암호학] 정수론 정수론정수론은 정수를 연구하는 분야이다. 정수론을 왜 배우는지 궁금해할수 있는데 우리가 현대 암호를 이해하려면 정수론을 필히 알고있어야한다. 그러므로 한번 같이 알아보자. Division(나누기)지금부터 나오는 수들은 모두 정수이다. 이 쉬운 나누기를 왜 배우냐고 할 수 있는데  정수론에선 중요하기때문에 짚고 넘어가도록 하겠다. 일반적으로 b를 a로 나눌때(나누어 떨어짐) a와 b의 관계는$$ b=ac (c는 상수) $$ 가 된다(b는 a의 배수).  또한 a는 b의 약수라고 할 수 있다. 이 a와 b의 관계를 정수론에선 $$ a\ |\ b $$ 로 칭한다. 또한 몇가지 공식이 있는데a | b 이고 a | c 이면 a | (b+c) 이다.ex) 3 | 6 이고 3 | 9 이면 3 | 15이다.a | b이..
[암호학] 암호화 기반 인증기술 암호화 기반 인증기술 우리가 화면 너머에 있는 누군가와 통신할 때는 인증이 매우 중요하다. 그래서 정당한 사용자인지 확인하는 사용자 인증 기술과 송신자가 전송한 내용이 수신자에게 정보의 변형 없이 전송되었는가를 상호 확인할 수 있어야하는 메시지 인증 기술이 나오게되었다.  사용자 인증 기술패스워드 기반 인증기술고정(fixed) 패스워드 기법 우리가 로그인할 때 적는 비밀번호가 이 기법에 해당한다. 내가 레드라는 사람으로서 네이버에 로그인하고싶은데 네이버는 내가 레드인지 블루인지 모른다. 그래서 이를 인증하기위해 내가 누구인지를 아이디에 적고 레드만 아는 비밀번호를 적어 내가 레드임을 인증하는것이다. 이 기법은 구현이 쉬운 장점이 있지만 패스워드가 유출될 위험이 있다는 단점이 있다.(Bruteforce 공..
[암호학] 키 관리와 해쉬 함수 우리가 앞에서 알아봤듯이 키(key)는 암호화에 있어서 필수적이다. 그렇기때문에 키를 관리하는 것이 보안에 있어서 중요한 문제가 된다. 키의 생성, 분배, 갱신, 취소, 폐기 이외에도 키의 공유, 설치, 저장, 복구 등이 키 관리에 포함이 되고, 이러한 키 관리를 통해 키 또는 관련 정보들을 안전하게 유지하여야 한다. 키의 분류세션키메시지의 기밀성 또는 무결성을 유지하기 위해 비밀키 암호를 통한 암호화에 사용되는 키이다. 쉽게 말해 통신중에만 쓰이고 세션이 끝나면 키를 버리는(폐기하는)것이다. 사용기간이 매우 짧고, 상호 간에 키를 갱신해야 하는 절차가 필요하다.  키-암호화 키 세션이 오래되어 세션키를 갱신해야 할 때 새로운 세션키가 필요하다. 하지만 이를 평문으로 전한다면 위험하다. 그래서 이 새로운..
[암호학] 공개키 암호화 방식 공개키 암호화 방식 1976년 디페(Diffie)와 헬만(Hellman)에 의해 공개키 암호화 방식의 개념이 도입되었다. 암호를 위해 개인키와 공개키로 이루어진 한 쌍의 키를 생성하는데 개인키는 소유자만이 간직하고 공개키는 외부에 필요한 사람에게 배포한다(암호화 키와 복호화 키는 달라야함). 공개키 암호 방식의 장점-키의 안전한 분배 문제와 키 관리 문제가 용이하다. -간단하게 신원 확인이 가능하다. 공개키 암호 방식의 단점-대칭키 암호 알고리즘보다 암호화를 위한 키의 크기가 상대적으로 크다. -암호화 및 복호화를 위한 처리 속도가 대칭키 암호 방식보다 느리다. 인수분해(integer factorization) 문제 기반 알고리즘RSA 알고리즘RSA 알고리즘이란 Rivest, Shamir, Adleman..
[암호학] DES란? 지난 시간에 알아본 DES에 대해서 조금 더 자세히 알아보자. DES의 구조 구조는 우리가 전에 알아본 Feistel 구조이지만 특별하게 permutation이 처음에 한번 마지막에 한번 들어가 있다.  또한 처음과 마지막에 있는 permutation은 서로 역연산 관계이다. >>그래야 이 결과를 다시 넣을 때 원래 값이 나오기 때문 DES의 특징64의 평문을 64비트의 암호문으로 만드는 블록 암호시스템으로 64비트의 키를 사용한다.이때 64비트의 키 중 56비트는 실제 키가 되고 나머지 8비트는 검사 용 비트로 사용된다16라운드를 반복한다(1라운드당 L과 R 값이 바뀜)복호화 과정은 암호화 과정과 동일하지만 키만 역순으로 사용함. DES의 4가지 모드1.ECB(Electronic Code Block) ..
[암호학] 대칭키 암호화 방식 암호화(Encryption)란?평문(plaintext)을 암호문(ciphertext)으로 바꾸는 것 복호화(Decryption):암호문을 다시 평문으로 바꾸는 것 암호화 방식암호화 과정 1. 평문 P를 작정한다. 2. 송신자는 평문 P를 암호화키 Ke와 암호 알고리즘을 적용시켜 암호문 C를 생성하여 수신자에게 전달-이때 암호문 C는 그냥 읽었을 때 내용을 알 수 없다. 3. 수신자는 암호문 P를 수신하여 복호화키 Kp와 복호화 알고리즘을 적용시켜 평문 P로 복원  암호화방식에서 암호화 키와 복호화 키가 같은 경우 대칭키 암호화 방식이라 하고C = E(K, P) or C = K(p) 암호화 키와 복호화 키가 다른 경우 비밀키 암호화 방식이라 한다.C = E(Ke, P) , P = D(Kd, C) or C ..
[암호학] 암호학의 역사 암호학이란?암호와 암호 해독을 연구하는 정보 보호 이론과 기술에 대한 학문입니다. 쉽게 말해 알아볼 수 없는 암호를 해독하는 학문이라고 생각하시면 됩니다. 이 암호학은 가장 오래된 학문 중 하나이며 수학과 밀접한 관련이 있습니다.  암호의 역사 - 고대 암호Scytale 암호 기원전 400년경 고대 그리스인들이 사용한 암호입니다. 먼저 곤봉에 종이를 감은 후 옆으로 전달하고 싶은 글을 적습니다. 이제 빈 공간에 아무 문자나 채워주면 암호문이 완성됩니다. 이 암호문을 풀기 위해선 같은 크기의 곤봉이 필요합니다. Caesar 암호 고대 로마시절 카이사르 장군이 사용한 암호입니다. 평문의 각 문자를 우측 또는 좌측으로 원하는 만큼 이동시켜 치환하여 암호문으로 변환합니다. 예를 들어 hello를 우측으로 3칸 ..