728x90
반응형
SMALL

카테고리 72

[네트워크] TCP/IP 프로토콜 구조

TCP/IP 프로토콜 구조 인터넷 통신을 수행하는 개체 : 호스트, 라우터 호스트 host 최종 사용자(end-user) 응용 프로그램을 수행하는 주체 ex) pc, 노트북, 스마트폰 등 라우터 router 호스트에서 생성된 데이터를 여러 네트워크를 거쳐 전송함으로써 다른 네트워크에 속한 호스트 간에 데이터를 교환할 수 있게 하는 장비 통신 프로토콜 호스트-라우터, 라우터-라우터, 호스트-호스트가 통신하려면 정해진 절차와 방법을 따라야함, 이를 통신 프로트콜이라 부름 TCP/IP 프로토콜 인터넷에서 사용하는 핵심 프로토콜은 TCP/IP를 비롯한 각종 프로토콜을 총칭하여 TCP/IP 프로토콜이라고 부름 운영체제의 일부로 구현됨 응용 프로그램은 운영체제가 제공하는 TCP/IP 프로토콜의 서비스를 사용해 통신..

코딩/Network 2023.04.12

[암호학] 전자 서명 (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
728x90
반응형
LIST