(1) Classical Encryption Techniques

CJY·2023년 3월 21일
0

컴퓨터보안

목록 보기
2/11
post-thumbnail

비밀문서는 1000년보다 더 전부터 사용돼 왔다. 어떤 기술, 알고리즘을 사용하여 암호화하고 복호화했을까?

우선 암호학에 쓰이는 용어들에 대해 알아보자!

plaintext : 평문, 상대방에게 보내고 싶은 데이터.
ciphertext : 비문/암호문, 원본을 제3자가 알아보지 못하도록 바꾼 데이터.
encryption(enciphering) : 암호화
decryption(deciphering) : 복호화

Bob이 Alice에게 비밀스러운 통신을 하려고한다.
여기서 밥이 쓴 "Hello Alice!"는 plaintext(평문)다. 이제 Bob은 secret key를 사용하여 plaintext를 ciphertext(비문)로 변환한다. 이 때 input이 key와 plaintext이고 encryption algorithm을 사용하여 ciphertext로 만든다. encryption algorithm은 다음 내용에서부터 차근차근 설명할 예정이다.
그럼 ciphertext를 받은 Alice는 어떤 작업을 할까? 그림에서처럼 secret key는 송신자와 수신자가 공유한다. 따라서 Bob이 encryption한 과정을 반대로 하면 된다. input이 key와 ciphertext이고 Bob이 사용한 encryption algorithm을 역으로 적용하면 plaintext("Hello Alice!")를 구할 수 있다.

필요 조건은 ?

위의 암호화 복호화가 잘 이루어지기 위해서는 2가지 조건이 필요하다.

  • Strong encryption algorithm
  • Secret key in a secure fashion

어찌보면 당연한 조건들이라 할 수 있다.
공격자가 비문을 여러개 획득하고나서 쉬운 암호 알고리즘이 적용됐다면 Key를 유추할 수 있는 위험성이 있다. 따라서 비문을 여러개 가진 공격자가 풀기 어려운 알고리즘을 사용하는 것이 안전성을 높여준다.
두번째로 당연히 key는 안전하게 관리될 필요가 있다. key를 알고 알고리즘을 알면 더이상 비문은 비문이라고 할 수 없을 것이다.

Cryptanalysis and Brute-Force Attack

  • Cryptanalysis: 암호 해독. 암호해독 공격은 알고리즘 특성에 더해 평문의 일반적인 특징이나 평문-비문 샘플에 의존한다. 이런 공격은 평문이나 사용되는 Key를 알아내려는 알고리즘의 특징을 악용한다.
  • Brute-force attack: 말 그대로 모든 경우의 수를 살펴보고 의미 있는 평문을 찾아내는 공격이다. 보통 모든 경우의 수의 절반을 시도해보면 성공한다.
Type of attack공격자가 알고 있는 내용난이도
Ciphertext only알고리즘,비문어려움
Known plaintext알고리즘,비문,예시 몇 개
Chosen plaintext알고리즘, 비문, 공격자가 고른 평문
Chosen ciphertext알고리즘, 비문, 공격자가 고른 비문
Chosen text알고리즘,비문, 공격자가 고른 평/비문쉬움

unconditionally secure / computationally secure

  • unconditionally secure : 어떠한 암호 해독 수를 써도, 계산을 얼마나 하든 안전함
  • computationally secure : 대량의 자원과 시간을 쏟아부어 계산을 하면 풀어낼 수는 있지만 해독하여 얻은 평문이 그만한 가치가 없는 경우.

결론

지금까지 암호학의 기본에 사용되는 용어들을 정리해봤다. 생각보다 상식선에 가까울만한 내용들이라 이해하기에 어려움이 없었다.

다음 시간

  • Substitution techniques
  • Transposition techniques
profile
열심히 성장 중인 백엔드

0개의 댓글