목록Computer/Cryptology (15)
선릉역 1번 출구
암호 기술은 복잡해 보이지만, 목표인 혼돈과 확산만 달성하면 됨 암호화의 평가 기준암호화된 결과물에서 키 정보를 얻기가 얼마나 어렵나? = 혼돈암호화된 결과물에서 평문 정보를 얻기가 얼마나 어렵나? = 확산운영 모드 *처음 정보보안기사 공부할 때 운영 모드가 뭔지 이해를 못했는데 정말 심플하다. - 운영 모드는 암호 알고리즘을 사용하여 단위 암호 시스템을 구성하는 기초적인 방법으로, 알고리즘이 임의의 크기를 지닌 데이터를 처리하도록 구성하는 방식임블록 사이즈만큼 자르고 블록 마다 알고리즘을 적용하여 결과물을 합치는 것. 이때 앞 블록에서 처리한 암호화의 결과 값을 다음 블록의 암호화 과정에 반영하는 방식으로 응용도 가능함기밀성 모드무결성 모드기밀성 + 무결성 모드ECB: 확산을 달성하지 못함CMACCCM..

DES(data encryption standard) 키 길이: 56bit 8Byte -> 한 블록으로 하는 블록 암호임 초기 순열, 최종 순열, 페이스텔(feistel) 구조의 16라운드, 각 라운드에 사용되는 48bit의 키를 생성하는 키 생성 함수로 구성되어 있음 혼돈(암호문에서 평문의 특성을 알아내기 힘든 성질)을 만족하기 위해 치환을, 확산 성질을 만족하기 위해 순열을 사용함 치환과 순열은 단순한 연산이기 때문에 여러 번 교차해서 반복해 적용함 곱 암호: 단순한 연산들로 한 라운드로 구성하고 각 라운드를 여러 번 반복해 암호학적 안전성을 확보하는 것 페이스텔 구조 입력으로 들어온 블록을 동일한 길이의 왼쪽 블록 L과 오른쪽 블록 R로 나눔 각 라운드마다 오른쪽 블록은 다음 라운드의 왼쪽 블록으로..
AES(advanced encryption standard) 연산 능력의 향상으로 DES가 더 이상 안전하지 않아 새롭게 표준으로 선정된 블록 암호 알고리즘 Rijndael 구조가 채택되어 생성됨 체(field)와 군(group)에 대한 이해가 필요함 SPN(substitution permutation network) 곱 암호의 일종 S-Box를 사용하는 치환과 P-Box를 사용하는 순열을 여러 라운드에 걸쳐 반복함 라운드마다 입력 전체에 라운드 함수를 적용하여 같은 수의 라운드를 사용할 때 SPN이 페이스텔 구조에 비해 두 배의 암호학적 안정성을 갖음 AES 구조 라운드마다 128비트 크기의 블록을 암호화하는 블록 암호 키 길이: 128, 192, 256 라운드 수: 10, 12, 14 AES 암호화 ..

대칭키 암호 시스템 블록 암호 스트림 암호 대칭키 암호 시스템(symmetric key cryptosystem) - 서로 키를 공유하는 과정이 반드시 필요함 - 네트워크는 도청에 매우 취약하기 때문에 평문으로 공유하는 것은 부적절함 -> 키 공유 알고리즘(key - sharing algorithm) ex) Diffie-Hellman 키 교환 알고리즘 비대칭키 암호 시스템(asymmetric key cryptosystem) - 송신자와 수신자가 서로 다른 키를 사용하는 시스템 혼돈(confusion) 암호문에서 평문의 특성을 알아내기 힘든 성질 단일 치환 암호의 경우 같은 키를 사용해서 암호문을 생성하면 평문을 유추하지는 못해도 둘이 같은 평문이라는 사실은 파악 가능 확산(diffusion) 평문의 작은 ..

고전 암호 치환 암호: 평문의 문자를 다른 문자로 바꾸는 것 단일 문자 치환 암호 다중 문자 치환 암호 전치 암호: 평문 문자들의 위치를 바꾸는 것 단일 문자 치환 암호 평문의 각 문자를 약속된 다른 문자로 치환하는 암호 복호화를 위해 치환의 대응 관계는 일대일 대응임 ex) 카이사르 암호: 평문의 각 알파벳을 일정한 거리만큼 밀어 다른 알파벳으로 치환함 키 공간(key space): 암호학에서 가능한 모든 키의 집합 다중 문자 치환 암호 평문의 한 문자가 암호문에서 여러 종류의 문자로 치환될 수 있음 a가 h가 될 수도 있고, y가 될 수도 있음 ex) 비제네르 암호: 미리 정해진 키워드를 통해 이루어짐(key = choideu) 전치 암호 평문을 구성하는 문자들의 순서를 재배열하여 암호문을 만듦 평문..
키 생성(key generation) - 암호화 및 복호화에 사용할 키를 만드는 과정 암호화(encryption) - 키를 이용해 평문을 암호문으로 변환하는 과정 복호화(decryption) - 암호문을 전송하면 키를 이용해 암호문을 평문으로 복호화하는 과정 암호 시스템(cryptosystem) - 암호화와 복호화로 정보가 전달되는 체계 Encoding - 암호화와 유사하게 데이터를 다른 형태로 변환하는 것 - 데이터의 기밀성을 고려하지 않음(누구나 디코딩으로 원문을 구하는 것이 가능함) - 데이터를 숨기기 위함보다는 크기를 줄이거나 컴퓨터가 이해하기 쉬운 형태로 바꾸는 것 *압축도 인코딩 예시 중 하나임 배타적 논리합(=xor) 합동식 두 정수 a, b를 각각 정수 m으로 나눴을 때 나머지가 같은지를 ..