[IT-Security] Chapter 2. Cryptography and Cryptosystems, part I

MJ·2023년 2월 9일
0

IT Security

목록 보기
2/9

암호학

  • 메세지 암호화/복호화
  • 기밀성 이외에도 데이터 무결성, non-repudiaiton, 인증 등이 포함될 수 있다.

Cryptology = Cryptography + Cryptoanalysis (break cryptographic techniques)

  • 암호학 모델

Steganography

  • 데이터를 다른 데이터에 삽입해서 데이터를 보호한다.
  • 크립토그라피는 내용을 못 읽게 하는 반면 이 기술은 존재 자체를 숨긴다.

Linguistical Steganography

  • Open Codes: 공개된 메세지 안에 숨겨진 메세지 ex. 퀴즈쇼에서 기침하기
  • Jargon codes: 특수용어 ex. weed, Mary Jane
  • Cue: 어떤 문장을 미리 합의하에 결정하기. ex. HIGASHI => WAR
  • Null Cipher: ex. 문장 부호 뒤에 나오는 letter들 모으면 새로운 메세지 탄생
  • Grille Cipher: masking 기법을 사용해서 숨겨진 메세지 찾기

Technical Steganography

  • Technical Steganography: ex. invisible ink,miniatureization.

  • Steganography의 가장 유명한 예는 RGB값 살짝 바꿔서 이미지 큰 변화 없지만 message 넣을 수 있게 하는 것이다.

암호화 방법

Substitution Cipher

Caesar Cipher

알파벳을 오륵쪽 혹은 왼쪽 shift 하여 새로운 알파벳 순서쌍을 만든다.

Transposition Cipher

Scytale Cipher

문자의 형태는 그대로 유지되지만 transposition에 따라 문자 순서쌍이 달라진다.

고대 그리스에서 많이 쓰던 방법이다.

Crypto Analysis

Brute Force Attack

key를 찾을 때까지 가능한 모든 조합을 사용하여 key를 푼다.

cost expensive하며 시간이 많이 걸린다는 단점.

ex. 찾고자 하는 binary key의 길이가 n bit 이면 가능한 key의 조합은 2n2^n 개 이다.

컴퓨터는 1초에 1,000,000 key를 test할 수 있기 때문에 key를 풀기 위해선 2n/1,000,0002^n/1,000,000 seconds 가 필요하다.

Statistical Analysis

치환 암호는 측정 글자를 다른 글자로 치환함으로서 암호를 생성하는 방법이다.

위의 예시에선 단일 치환 암호화 기법을 통해 plain text를 encryted text로 변환시켰다.

이때 암호화 된 암호문을 해독하는 가장 고전적인 방법 중 하나는 통계적인 분석을 통해 해독하는 것이다.

plain text에서 각 알파벳의 빈도수를 알아 낸 뒤, 이 알파벳의 빈도수와
영어 문학에서 나타나는 알파벳의 빈도수를 비교하여 암호문의 알파벳이 원래 어떤 알파벳이었는지 알아낼 수 있다.

One-Time-Pad

일회성 패드는 절대적 보안 기능을 제공한다. 일회성 패드는 패드라는 임의 데이터 블록을 이용하는 암호 시스템이다.

생성 방법

plain text와 길이가 같은 일회성 패드를 만든다. 일회성 패드에 있는 임의 데이터는 확실히 무작위로 있어야한다. 또한 송신자와 수신자가 같은 패드를 가지고 있어야 한다.

메세지가 어떻게 보내지더라도, 메세지를 받는 사람은 패드가 없으면 복호화할 수 없기 때문에 암호에 어떤 의미가 담겨있는지, 평문을 절대 알 수 없다,

0개의 댓글