Cryptography - Security/Dreamhack - Basic
-
현대 암호 - 1Cryptography - Security/Dreamhack - Basic 2023. 4. 7. 12:41
대칭키 암호 시스템 고전 암호에서는 송신자와 수신자가 같은 키를 가지고 있어야 암호 해독이 가능했다 송신자와 수신자가 같은 키를 공유하는 암호시스템을 대칭키 암호 시스템(Symmetric Key Crpytosystem)이라고 한다 같은 키를 갖고 있어야 하는 특성상, 대칭키 암호 시스템은 사전에 서로 키를 공유하는 과정이 반드시 필요하다 현대에 외부인이 도청을 하여 평문으로 전달이 되는 키를 얻게 되지 않게 하기 위해 공유되는 키를 알지 못하게 하는 키 공유 알고리즘(Key-Sharing Algorithm) 이 만들어졌다 공개키 암호 시스템 송신자와 수신자가 서로 다른 키를 사용하는 공개키 암호 시스템(Public Key Cryptosystem)의 개념이 만들어졌고,. 이는 대칭키와 대비되어 비대칭키 암..
-
고전암호 - 3Cryptography - Security/Dreamhack - Basic 2023. 4. 6. 13:24
전치 암호 전치암호란 평문을 구성하는 문자들의 순서를 섞어서 암호문을 만드는 방식이다 예를 들어 블록의 길이가 3이고 키가 (3,1,2)일 때 평문 DREAM HACK의 암호화는 아래처럼 바뀐다 스키테일 암호 먼저 메세지를 교환할 두 사람이 같은 크기의 나무봉을 제작한다 송신자는 종이 테이프를 나무봉에 감고, 테이프 위에 세로로 메시지를 기입하여 암호문을 만든다 종이테이프를 풀어내면 순서가 뒤섞여 메세지를 읽을 수 없지만, 같은 나무봉을 가진 수신자는 테이프를 다시 나무봉에 감아서 이를 해석할 수 있게 된다 고전 암호 공격 고전암호를 공격하기 위한 대표적인 방법으로는 전수 키 탐색과 빈도수 분석 이 있다 전수 키 탐색 공격 → 평문과 암호문을 알 때, 키 공간을..
-
고전암호 - 2Cryptography - Security/Dreamhack - Basic 2023. 4. 5. 13:24
단일 문자 치환 암호 → 단일 문자 치환 암호란 평문의 각 문자를 약속된 문자로 바꾸는 암호이다 → 복호화를 위해 한번 사용된 문자는 다른 문자가 사용할 수 없다 카이사르 암호 → 단일 문자 치환 암호의 대표적인 예 → 평문의 각 알파벳을 일정한 간격으로 밀어서 치환한다 → 복호화할 때는 처음 밀었던 만큼 거꾸로 다시 민다 → 송신자와 수신자 사전에 합의하여야 한다 → 알파벳을 밀어낸 횟수를 Key 라고 한다면 가능한 Key 의 개수는 26 이다 키 공간 ⇒ 암호학에서 가능한 모든 키의 집합 → 카이사르 암호에서 키 공간의 크기는 26 이다 춤추는 인형 and 코드북 암호 → 사람 한 명이 글자 1개에 해당한다 → 모든 알파벳을 서로 다른 기호와 무작위로 일대일 대응..
-
고전암호 - 1Cryptography - Security/Dreamhack - Basic 2023. 4. 4. 13:24
고전 암호 고전암호는 고성능 컴퓨터가 발명되기 이전에 간단한 방법으로 암호화와 복호화를 수행하던 암호 → 현재는 컴퓨터로 너무 쉽게 계산이 되기 때문에 사용하지 않는다 치환암호( Substitution ) → 평문의 문자를 다른 문자로 바꾸는 것 → 단일문자치환 , 다중문자치환 2가지의 종류가 있다 전치암호( Transposition ) → 평문 문자들의 위치를 바꾸는 것 Dreamhack - Cryptography 공부내용 정리 https://dreamhack.io/ 관련된 문제는 사이트에 수록되어 있습니다
-
암호학 기초 - 3Cryptography - Security/Dreamhack - Basic 2023. 4. 3. 13:24
합동식의 특징 a, b 가 mod m 에 대해 합동인 경우 a, b 에 어떠한 정수 x 를 더하거나 빼거나 곱해도 합동이다. 다음의 특징을 식으로 나타내면 아래와 같이 된다. 하지만 나눗셈에 대해서는 성립하지 않는다. 다음의 특징을 식으로 나타내면 아래와 같이 된다. 합동식에서의 곱셈의 역원 역원이란? → 어떤 수를 곱했을 때 1이 되는 수를 말한다. 정수 a, m에 대해 a×b≡1(mod m) 을 만족하는 b 를 mod m 에 대한 a의 곱의 역원이라고 부르며 a^(-1) 로 표시한다. 위의 식에서 x^(-1) 을 합동식의 곱셈의 역원이라고 한다. 위의 예시에서 숫자 8은 2와 4의 곱으로 표현 할 수 있고 숫자 2..
-
암호학 기초 - 2Cryptography - Security/Dreamhack - Basic 2023. 4. 2. 13:24
배타적 논리합 배타적 논리합( eXclusive OR, XOR ) → 입력으로 들어온 2개의 값이 서로 다를 때, 참 거짓을 반환하는 연산이다. 위 사진에서는 입력으로 2가지의 값이 들어오고 출력으로는 참, 거짓으로 나타나게 된다. 입력값 → 0 , 0 : 2개의 입력값이 0으로 같으므로 0을 출력( 반환 ) 입력값 → 0 , 1 : 2개의 입력값이 0과 1로 다르므로 1을 출력( 반환 ) 입력값 → 1 , 0 : 2개의 입력값이 1과 0으로 다르므로 1을 출력( 반환 ) 입력값 → 1 , 1 : 2개의 입력값이 1로 같으므로 0을 출력( 반환 ) 위 사진은 배타적 논리합 연산의 예이다. 숫자 5와 7을 이진수로 변환하게 되면 각각 101 , 111 로 변환이 된다. 숫자 3과 10을 이진수로 변환하게 ..
-
암호학 기초 - 1Cryptography - Security/Dreamhack - Basic 2023. 4. 1. 13:24
암호학이란? 정보를 보호하기 위한 언어학적 및 수학적 방법론을 말한다 암호의 필요성 누구에게나 자신의 비밀을 들키고 싶지 않아서 자신만의 암호를 만들어 본 적이 있을 것이다. 마찬가지로 컴퓨터, 전화, 메시지등 내가 전달하려는 메시지가 누군가에게 도청당하거나 훔쳐지는 경우에 이러한 짓을 한 사람으로부터 나의 메시지를 보호해야 할 필요가 있다. 암호학의 핵심 좁은 의미 → 제 삼자로부터 정보를 보호하는 방법에 대한 연구 핵심 → 키 생성( Key Generation ) , 암호화( Encryption ) , 복호화( Decryption ) 키 생성 → 암호화 및 복호화에 사용할 키를 만드는 과정 암호화 → 키를 이용해 평문( Plaintext )을 암호문( Ciphertext )으로 변환하는 과정 암호 시..