728x90
반응형
SMALL

보안/암호학 11

[암호학] 전자 서명 (Digital Signature), RSA 서명

전자 서명 전자 서명의 요구 사항 전자 서명의 생성이 간단해야함 전자 서명의 인식과 확인이 쉬워야함 서명되는 메시지에 의존 전자 서명으로부터 메시지 구성이 어려워야함 → 일방향성을 가져야함 송신자에 대한 유일한 정보 이용 → 위조, 부인 방지 전자 서명의 특성 전자 서명의 목적은 인증이다 인증 - 사용자 인증, 메시지 인증 기밀성을 보증하지 않음 서명 생성 키를 가진 사용자만 전자 서명을 생성할 수 있으므로 부인 방지 가능 메시지 내용에 바탕을 두고 서명이 생성되므로 메시지가 수정되면 서명도 다른값으로 계산됨 서명 부분만 복사하여 다른 문서에 붙여도 서명 검증이 안됨 → 위조 방지 RSA 서명 키 생성 RSA 암호와 동일 서명 생성 서명 검증 메시지 m 대신 랜덤함수 h(m)을 사용하는 것이 안전하여 권..

보안/암호학 2023.04.08

[암호학] 하이브리드 암호 시스템 (Hybrid Cryptosystem)

하이브리드 암호 시스템 대칭키 암호와 공개키 암호를 조합한 방법 메시지 : 대칭키 암호로 암호화 대칭키 암호의 키 : 공개키 암호로 암호화 대칭키 암호 : 단순한 연산이 많아 암호화/복호 연산이 빠름 → 데이터의 양이 많은 평문에 대칭키 암호 적용 공개키 암호 : 연산량이 많아 큰 데이터의 암호화에 부적합함 → 데이터 크기가 작은 암호키에 공개키 암호 적용

보안/암호학 2023.04.08

[암호학] 공개키 암호 알고리즘 (RSA, ElGamal 등)

공개키 암호 알고리즘 Knapsack 암호 RSA 암호 ElGamal 암호 타원곡선 암호 OAEP RSA 암호 암호, 전자 서명 등에 사용 큰 수의 소인수분해가 어렵다는 문제에 기반한 암호 n은 다른 사람에게 공개 p, q는 공개하지 않음 → n을 알아도 p, q를 구하기 어려움 → p, q를 모르기 때문에 파이(n)을 모름 → 비밀키 d도 모름 암호화 알고리즘 복호 알고리즘 정리 RSA 암호의 안전성 공개키 e, n 개인키 d를 획득하기 위한 절차 → n을 소인수 분해 하여 p, q 구하기 → 파이(n) 계산 → d 계산 : 큰 수 n을 소인수 분해하는 문제 NP-complete 문제, 매우 어려움 * e가 작을 경우 안전하지 않을 수 있음 ElGamal 암호 유한체 상에서의 이산대수문제의 어려움에 기..

보안/암호학 2023.04.08

[암호학] 공개키 암호 (Public Key Cryptography)

수학적 배경 1. 정보 이론 1-1. 정보량 (Entropy, 엔트로피) 메시지 중 의미를 가지는 모든 것을 부호화하는 필요한 비트 수 1-2. 중복도 1. 언어비 r 2. 절대비 R 3. 중복도 D D = R - r 암호 시스템의 안전성 좋은 암호 알고리즘은 평문에 대한 정보를 최소화함 중복도 D가 클수록 공격이 쉬움 암호 시스템의 엔트로피는 키 공간의 크기 K가 척도이다 암호 시스템의 엔트로피는 그 시스템에서 사용되는 비밀키의 무작위성 정도를 측정하는 지표입니다. 즉, 엔트로피가 높을수록 암호 시스템에서 사용되는 비밀키는 더 무작위적이며, 이로 인해 암호화된 데이터를 해독하는 것이 더욱 어려워집니다. 암호 시스템에서 엔트로피를 높이기 위해서는 보안적으로 안전한 난수 생성기를 사용하여 무작위적인 비밀키..

보안/암호학 2023.04.08

[암호학] 암호 공격 유형과 강도

암호 공격 유형 1. CPU 파워 공격 키에 대한 전수 공격 = 가장 기본적인 공격 1쌍의 평문과 암호문이 누설되면 이것을 가지고 하나씩 대조하여 키를 찾는 방법 공격 회피 방법 : 키 길이를 길게함 2. 알고리즘 해석형 공격 동일한 암호화키를 사용한 (평문, 암호문)의 쌍이 해독에 필요한 양이상 누설된 경우 공격 회피 방법 : 충분한 양의 정보가 누설되지 않도록 함 암호의 강도를 나타내는 접근법 1. 수학적 방법 암호의 안전성을 수학적으로 예측 공격에 성공하기 위해 필요한 평문, 암호문의 수 및 계산량을 파악 2. 실적 장기간에 걸쳐 폭넓게 사용되는 암호이면 안전하다고 평가 3. Call for attack 공격자를 모아서 안전성을 확인 공격 모집 및 공격 방법의 공정성을 확인해야함 안전성 보증의 레벨..

보안/암호학 2023.04.08

[암호학] AES 복호 알고리즘 (Advanced Encryption Standard)

AES 복호 알고리즘 InvMixColumn() MixColumns()의 역변환 InvShiftRows() ShiftRows()의 역변환 → 오른쪽으로 shift ShiftRows()에서 수행한 순환 시프트 수 만큼 오른쪽으로 시프트 수행 InvSubBytes() SubBytes()의 역변환 Inverse S-Box를 사용 AddRoundKey() 라운드 키와 현재 State를 비트 단위로 Exclusive-OR 연산 암호화 과정의 State와 라운드 키(128비트)는 동일 크기 가짐 암호화 과정과 같음 키의 확장 - 키 스케줄 키는 128, 192, 256비트 중 하나를 선택 각 라운드에서 AddRoundkey()에 사용되는 키를 라운드 키라고함 (DES의 서브키에 해당됨) 사용자의 마스터 키로부터 라..

보안/암호학 2023.04.06

[암호학] AES 암호 알고리즘 (Advanced Encryption Standard)

AES (Advanced Encryption Standard) 미 정부의 표준 암호 알고리즘 AES-128, AES-192, AES-256 SPN구조 (↔DES는 Feistel구조) AES의 요구사항 대칭키 암호 알고리즘 키 길이가 128, 192, 256비트에 대응 입출력 블록 길이는 128비트 AES 암호화 알고리즘 평문 128비트 블록을 4 x 4 행렬로 표현하여 연산 수행 행렬의 각 열은 32비트 워드(word)라고 함 기본 연산은 byte 단위로 수행 AES의 라운드 수 키 길이 128, 192, 256 비트에 따라 라운드 수 다름 SubBytes() 바이트 대체 1바이트의 값(0~255 중 어떤 값)을 인덱스로 하고, 256개의 값을 가지고 있는 S-Box로 부터 1개의 값을 얻는 처리 암호문..

보안/암호학 2023.04.05

[암호학] 블록 암호 설계 및 구조

블록 암호 설계시 고려 사항 암호의 구조 라운드 수 결정 암호의 라운드 수는 최소한의 안전성 확보에 필요한 값을 하한으로 취함 혼란층 - S-Box S-box의 안전성, 계산속도, 사용 메모리 양 확산층 - Permutation, 행렬 입력의 각 부분은 반드시 출력에 영향을 미침 선형 변환을 이용한 구성 방법 : 행렬, permutation 키 스케줄 Feisetel 구조 길이 n인 블록을 n/2로 나눔 Feistel 구조의 특징 암호화 / 복호가 같은 논리 암호화 함수를 라고 할 때, 복호 함수는 암호와 복호가 거의 같은 속도로 이루어짐 f 함수의 제약이 적음 1라운드에서 블록의 반만 변환됨 해석 결과가 가장 많음 SPN 구조 (Substituttion Permutation Network) substi..

보안/암호학 2023.04.05

[암호학] DES (Data Encryption Standard)

DES (Data Encryption Standard)미국의 표준 암호 알고리즘 대칭키 암호로 암호화 및 복호화 키가 동일 블록 단위 암호화 / 복호화DES의 개요블록 크기 : 64비트64비트 평문 블록 → 64비트 암호문 블록평문 메시지를 64비트 블록 단위로 나눔 → 패딩과정 필요암호화와 복호화에서 같은 키를 사용64비트 키 선택하여 56비트만 이용한다 → 8, 16, 24, 32, 40, 48, 56, 64번째 비트 무시 라운드 수와 같은 수의 서브키(subkey) 생성하여 이용라운드 (Round)암호화 과정을 위한 최소 연산 단위 연산을 16회 사용함 → DES는 총 16라운드DES 구조1. 64비트 평문이 1라운드를 거치기전 IP(초기 전치)을 거침 2. IP를 거친 후 나온 64비트 값이 각 ..

보안/암호학 2023.04.05

[암호학] 대칭키 암호 - 스트림 암호, 블록 암호

대칭키 암호 암호화 / 복호화 키가 동일한 암호 대칭키 암호의 분류 1. 스트림암호 비트(bit), 워드(word) 단위로 평문을 암호화 2. 블록암호 평문을 특정 크기의 블록 단위로 나누어 암호화 스트림 암호 데이터 흐름(스트림)을 순차적으로 처리해나가는 암호 알고리즘 평문과 키 스트림을 XOR하여 암호문 생성 선형 피드백 시프트 레지스터를 이용 키 스트림을 송신자와 수신자가 공유 오류 전파 없고 속도가 빠름, 하드웨어 구현 용이 평문 계열 P1, P2, ... 이진 수열 키 K1, K2, ... : 키 스트림, 난수와 구별 불가능 선형 피드백 시프트 레지스터 (Linear Feedback Shift Register) 주어진 초기 비트값(seed)와 정해진 방법을 통해 Key stream을 생성하는 방..

보안/암호학 2023.04.03
728x90
반응형
LIST