대칭키 암호 (Symmetric Key Cryptography)

GreenTea·2021년 11월 22일
0

Cryptography

목록 보기
2/2

대칭키 암호 (Symmetric Key Crytography)

대칭키의 정의

암호화와 복호화에 같은 키가 사용될 때, 양 측의 키가 대칭되는 키라고 하여 대칭키라고 부릅니다.

암호화 방식 (Cryptography Scheme)

크게 2가지 방식이 있습니다.

  • 블록 암호 (Block Cipher)
    평문 (Plain text)을 블록 단위로 나눠 키와의 연산을 통해 암호화를 수행합니다.

  • 스트림 암호 (Stream Cipher)
    유사 난수 (Psuedo random)를 연속으로 생성하여 평문과 유사 난수와의 연산을 통해 암호화를 수행합니다.

유사 난수?
정해진 알고리즘에 의해 생성되는 난수로 진정한 난수는 아니지만 일부분만 본다면 난수처럼 보이는 특징을 가진 수를 가리킵니다.
예를 들어 1524927463...이라는 수가 난수처럼 보일 수 있지만, 알고리즘에 의해 1000번째 숫자부터 다시 1524927463...로 반복된 값이 시작되도록 한다면 유사난수라 할 수 있습니다.

블록 암호화 원리 요약

상대적으로 자주 사용되는 블록 암호를 통해 원리를 설명하겠습니다.

블록 암호
평문을 블록 크기로 나눌 수 있도록 패딩 (Padding)을 추가하고 블록의 길이로 나눠 키와 알고리즘에 맞게 특별한 블록 연산을 수행한 결과 값이 암호문 (Cipher text)이 됩니다.

다음은 전에 설명한 내용의 각 부분들의 종류를 나타냅니다.
각 부분의 더 상세한 내용은 다른 글을 통해서 설명하도록 하겠습니다.

알고리즘

글로벌하게 자주 사용되는 알고리즘은 AES입니다.

  • DES
  • AES
  • SEED
  • ARIA

블록 암호 운용 방식

블록의 연산을 위해 사용되는 블록 암호 운용 방식 (Block cipher mode of operation) 중 자주 사용되는 것은 ECB, CBC입니다.

  • ECB
  • CBC
  • PCBC
  • CFB/OFB
  • CTR
  • GCM

패딩

패딩은 데이터를 블록 단위로 맞추기 위한 값으로 다음과 같은 규칙을 가집니다.

  • PKCS7
  • ISO7816
  • Zero
profile
보안 관련 프로젝트 전문 개발자

0개의 댓글