본문 바로가기

Incognito

(11)
기초대수학 문제 풀이 1. 아래의 참 / 거짓을 판별하시오. 1) G = {2, 4, 6, 8}은 mod 10 곱셈 연산에 대해 group이다. 참 항등원은 6으로 group이다. 2 * 6 = 2 (mod 10), 4 * 6 = 4 (mod 10), 6 * 6 = 6 (mod 10), 8 * 6 = 8 (mod 10) 2) 홀수 집합 G는 정수 곱셈 연산에 대해 group이다. 거짓 항등원은 1이지만, 1을 제외하고 역원이 존재하지 않는다. 2. group Z75 *의 위수를 구하시오. φ(75) = φ(3 * 5^2) = φ(3) * φ(5^2) = 2 * 5 * 4 = 40 3. 아래 group에 대해 2가 generator인지 아닌지 판단하시오. 1) Z7 * ≠ ⟨2⟩ Z7 * = {1, 2, 3, 4, 5, 6} ..
블록 암호 모드 블록 암호 - m 비트 단위로 암호화 - 평문의 길이가 m 비트 이상인 경우 >> 평문을 블록 단위로 분할 - Naïve approach: 분할 평문 블록별로 암호화 및 복호화 >> 안전성에 문제가 있음 블록 암호 모드 - 복수의 평문 블록을 어떤 방식으로 암호화할지를 정의하는 매커니즘 - 5개의 주요 모드 존재 (ECB, CBC, CFB, OFB, CTR) 메시지 패딩 (Padding) - 마지막 평문 블록이 암호 알고리즘에서 정의한 블록 길이에 미치지 못하는 경우 - 패딩: 블록 길이를 만족하도록 약속한 방식으로 적당한 길이의 비트열 및 바이트열 추가 복호화했을 때 마지막 평문 브록에서 패딩 파트는 제외하고 평문으로 decode ECB 모드 (Electric CodeBook mode) - 장점 - 속..
스트림 암호 (Stream Cipher) 스트림 암호 (Stream Cipher) - 암호화: 평문 비트열과 키 스트림 XOR 연산 - 복호화: 암호문 비트열과 키 스트림 XOR 연산 - 키 스트림: 키 비트(바이트)열 - 암호화 및 복호화가 매우 빠르고 하드웨어 구현에 적합함 → 제한된 리소스를 가지는 기기에서 주로 사용됨 - 블록 암호에 비해 약한 안정성을 가짐 → 스트림 암호가 필요한 경우 블록 암호 모드 중 스트림 암호 형태를 지원하는 방식을 쓰는 것을 추천 - 동기식 & 자기 동기식으로 구분 - 스트림 암호의 예시로 일회용 패드를 들 수 있음 동기식 스트림 암호 (Synchronous stream cipher) - 키 스트림이 평문과 암호문에 독립적으로 생성됨 - 이전 내부 상태로부터 현재 내부 상태를 업데이트함 - 내부 상태를 입력으..
AES 암호 알고리즘 AES 암호 알고리즘 (Advanced Encryption Standard) AES 선정 과정 - 1997년 NIST에서 DES를 대체하기 위한 암호 알고리즘을 공모 - NIST 제시 조건 - 128 비트 블록 - 128, 192, 256 비트를 지원하는 암호화 키 사이즈 - Worldwide-royalty free - 트리플 DES보다 안전하고 효율적인 알고리즘 - AES1: 15개 알고리즘이 후보로 선정 - AES2: 최종 후보로 5개 알고리즘 선정 (AES finalist) - AES3: 2000년 10월 2일, Rijndael 최종 선정 Rijndael - 블록암호 - 벨기에 암호학자에 의해 개발 (Daemen, Rijmen) - 가능한 키 사이즈 - 128 비트부터 256 비트까지 32 비트 단..
Feistel Network Feistel Network 3R 암호화 복호화
일회용 패드 & 블록 암호 비트 연산 - 비트열: 0과 1로 표현된 수열 (이진수) - 어떤 수 x가 n 비트 ↔ x는 0과 1이 n개로 이루어진 수 (01101101 → 8비트 숫자) - 1 비트: 비트열의 최소 단위 (0 또는 1) - 1 바이트: 8비트 비트열 - 컴퓨터는 모든 문자와 숫자를 비트열로 이해하고 처리 - 문자 / 숫자 입력 → 입력값 부호화 (encoding) → 연산 → 출력값 복호화 (decoding) → 문자 / 숫자 출력 배타적 논리합 - XOR (exclusive or): ⊕로 표시 - 비트 단위 XOR 규칙 - 0 ⊕ 0 = 0 - 0 ⊕ 1 = 1 - 1 ⊕ 0 = 1 - 1 ⊕ 1 = 0 - 비트열 XOR: 비트열 x ⊕ 비트열 y - 각 비트 단위로 XOR 연산을 수행 배타적 논리합 성질 - 비..
고전 암호 고전 암호 (Classical Cryptosystems) 시저 암호 (Caesar Cipher) - 평문 및 암호문 공간 - 알파벳으로 구성 - 시프트 암호 (Shift Cipher) - 알고리즘: 평문 알파벳 별로 일정한 문자 수만큼 평행이동 - 키: 평행이동 거리 (26개) - 전사 공격 (brute-force attack) - 전수 조사 / 탐색 (exhaustive search) - 0부터 25까지 각각의 키에 대해 복호화를 수행 >> 의미가 있는 평문으로 해독되는 경우 키 발견 example 해독하고자 하는 암호문: xjtzq k=3 추정 >> ugqwn k=5 추정 >> seoul 키는 5임을 알 수 있음 아핀 암호 (Affine Cipher) - 시저 암호를 일반화한 암호 - 알파벳을 0~2..
암호학 퀴즈 1. 괄호에 들어갈 말은? 1) 평문은 암호 알고리즘으로 변형하기 전의 본래 메시지이다. 2) 암호문은 암호 알고리즘으로 변형한 후의 메시지이다. 3) 암호화 알고리즘은 평문을 암호문으로 변형한다. 4) 복호화 알고리즘은 암호문을 평문으로 변형한다. 암호화 알고리즘: 암호화 키를 이용하여 평문을 암호문으로 변형 복호화 알고리즘: 복호화 키를 이용하여 암호문을 평문으로 변형 2. 아래 설명에 대해 참/거짓을 판단하시오. 1) 대칭키 암호는 암호화 키와 복호화 키가 같다. 참 2) 대칭키 암호는 키 합의 문제를 쉽게 해결한다. 거짓 대칭키 암호 - 암호화 키와 복호화 키가 같음- 암호화 통신을 위해 사전 키 공유가 필요함 (키 합의 문제 발생)- DES, AES 등 3. 공개키 암호에 대하여 말한 것이다. ..