목록보안 (17)
Shine's dev log
1. DES DES(Data Encryption Standard)는 Feistel 암호로 널리 사용되던 암호중에 하나였다. DES 대칭키 암호이고, 블록암호이다. DES의 과정을 대략적으로 살펴보면, 다음과 같은 세 단계를 거친다. 1) Initial permutaion 2) 16번의 라운드함수 3) Final permutaion 중요한 특징은 56비트 키를 이용한다는것과 매 라운드마다 48비트 키를 사용한다는 것이다. 그렇다면 암호화 과정을 한단계씩 자세히 살펴보자. 2. Initial, Final permutation 처음 64비트 평문이 들어왔을때와 마지막 64비트 암호문이 생성되기 직전에 수행되는 permutation 과정이다. 즉 straight P-box를 사용한다. 이 때, initial P..
암호화와 복호화때 같은 키를 사용하는 대칭키 암호화 방식에서, 다루는 데이터를 다루는 단위에 따라 블록암호와 스트림암호로 나눌 수 있다. 1. 블록암호(Block cipher)와 스트림암호(Stream cipher) 블록암호 - 평문을 블록단위로 나누어서 암호화하는 방식 - Feistel 암호와 SPN 암호로 나뉘어짐 - Feistel 암호 : DES, SPN 암호 : AES, ARIA 스트림암호 - 평문을 문자마다 바로바로 암호화하는 방식 - RC4 등이 있다. 2. Feistel 방식 (블록암호) Feistel 방식을 그림으로 나타내보면 아래와 같다. 1) 암호화할 블록을 반으로 잘라 L bits와 R bits로 나눈다. 2) R bits를 다음 라운드의 L bits로 그대로 보낸다. 3) R bit..
1. 치환암호(Substitution Cipher) 치환암호는 하나의 단위가 다른문자로 치환되는 암호이다. 여기서 단위란 하나의 문자일수도있고, 한쌍의 문자일수도있고, 세개의 문자일수도 있다. 수신자는 송신자가 수행한 치환의 역과정을 통해 복호화한다. 대표적으로 Caesar 암호, One time pad 등이 있다. One time pad는 보내려는 메시지에 랜덤한 숫자를 XOR연산하는 방식으로, 수신자는 송신자가 쓴 랜덤한 숫자로 XOR연산을 다시 해주면 복호화가 된다. 이론상 완벽한 암호시스템이지만, 송수신자 사이에 synchronization이 필요하고 메시지길이만큼의 키가 필요하다는 단점이 있다. 치환암호는 frequency analysis에 약한데, frequency analysis란 주로 쓰이..
1. 암호의 원리 암호를 사용한 과정으로는 크게 암호화(Encryption)과 복호화(Decryption)을 생각해볼 수 있다. 암호화(Encryption)란 본래의 메시지 내용을 인코딩하여 그 의미를 없애는 과정이고 복호화(Decryption)란 암호화의 역과정이다. 이 관계를 수식으로는 C = E(P), P = D(C) = D(E(P)) 이렇게 나타낼 수 있다. 2. 키(Key) 암호화와 복호화시에 계속해서 등장하는 개념중 하나가 바로 키(Key)이다. 키는 암호화시에 사용되는 일련의 정보로서, 송신자와 수신자만 알고 있는 정보이다. 물론 키 없이도 암호화 알고리즘을 사용할 수 있지만(e.g. caesar cipher) 1) 비밀유지가 힘들고 2) 새로운 알고리즘을 만들기 어렵고 3) 알고리즘을 설명..
세상이 점점 인터넷으로 연결될수록 그에따라 사이버 상에서의 범죄도 많이 일어나고있다. 그러면서 사이버보안 이라는 주제가 점점 더 중요해지고 있다. 앞으로는 사이버보안 중에서 네트워크 보안에 대하여 공부하며 글을 써볼 예정이다. 오늘은 사이버 보안에 대하여 기초적인 개념을 정리해보자. 1. 보안의 핵심 3요소 보안의 3요소는 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)이다. 이는 내가 사이버보안학과에서 첫수업때부터 들었던 말일 정도로 가장 기초적이고, 핵심적인 개념이다. 기밀성(confidentiality)는 정보에 허가된 대상만 접근이 가능하게 하는 것이다. 무결성(Integrity)는 정보가 변경되는 것으로부터 보호하는 것이다. 가용성(Availa..