암호학에 대해 알아보겠음.
암호학, 암호화란?
음.. 정의를 내리자면, 정보를 보호하는데 가장 널리 사용되는 방법이다.
이거 외에 할말이 없다. 관련된 용어가 몇가지 있다. 뭐 보면 당연한 것들.
* Ciphers (암호) : 수학적인 함수를 이용하여 암호화 또는 복호화되는 메세지를 의미한다.
* Encryption (암호화) : 메세지의 내용을 숨기거나 위장하는 일련의 과정을 말한다.
* Decrpytion (복호화) : 암호화된 메세지를 평문으로 돌리는 과정을 말한다.
그림으로 잠깐 보자면 이렇게 나오겠지.
기본 용어들은 이러하고.. 기본적으로 암호에 대한 몇가지 사항을 알아보자.
1. 보안을 위해서 제한된 암호화 알고리즘은 좋지 않다.
- 사용자가 속해 있던 그룹을 떠나면 알고리즘을 반드시 변경해야 한다.
- 비밀스런 정보에 접근하는건 쉽다. 너보다 똑똑한 애들도 그걸 완벽히 막을 순 없다.
2. 현대 암호화는 아주 큰 값에서 선택된 key에 의존한다.
- 예를 들어 1024-bit key 는
이라는 엄청난 수 중에 하나로..
다음은 암호화 시스템에 대해 알아보자. 몇가지 종류가 있쥐.
먼저 기존의 암호화 시스템.
이거에는 비밀키 암호화, 대칭 암호화 두가지 종류가 있다.
암호화와 복호화 하는 키 값이 같은 경우이다.
다음은 공개키 암호화이다.
공개키 암호화에는 공개키, 비밀키 두가지 개념이 있다. 나중에 자세히 말해줄게.
공개키는 비대칭 암호화 라고도 불린다.
그리고 앞으로 암호학을 공부할 때 보면 수식이 많이 나오는데 무슨 의미를 하는지는 알아야 겠지?
: C라는 암호화된 메세지는 M이라는 평문 메세지를 k라는 키를 이용하여 암호화 한 것이다.
: 위 과정의 반대 즉, 복호화 하는 과정이다.
: 대칭키 암호화을 나타낸 것이다.
: 공개키 암호화을 나타낸 것이다.
암호 해독 (Cryptanalysis)
그 다음,, 암호를 해독하는 데에 여러가지 방법이 있다.
1. Ciphertext-only attack
암호문에서 평문을 뽑아내는 공격이다. 즉 브루트포싱 해야 한다는 말.
2. Known-plaintext attack
공격자가 평문과 그를 암호화한 암호문을 모두 알고 있을 때 사용할 수 있는 암호 해독 기법들을 가리킨다.
즉, 비밀키가 무엇인지 알아내는 공격임.
3. Chosen-plaintext attack
암호방식을 알고있을 때, 평문을 추측하여 암호화 해본 뒤 비교해가며 실제 평문을 추정해가는 공격방식.
즉, 평문을 선택하는거라
4. Chosen-ciphertext attack
복호화 방식을 알 때 키 값을 추정하여 복호화 하는 방법(공개키 암호화의 경우 이 방식이 쓰임)
공격자가 한꺼번에 선택한 평문이 주어진다는 가정하에 복호화 키를 찾는 공격임.
암호문을 선택한다는 말.
뭐 이래저래 몇가지 알아봤다. 일반적으로는 공격할 때 전체 키 스페이스를 브루트 포싱으로 찾아낸다.
'IT 그리고 정보보안 > Knowledge base' 카테고리의 다른 글
암호학에서의 치환 그리고 전위 (0) | 2021.04.16 |
---|---|
다중문자 암호 - 비제네르 암호(Vigenere ciphers) (0) | 2021.04.16 |
블루투스 (Bluetooth) 기본 개념 (0) | 2021.04.16 |
안전행정부 시큐어코딩 43개 기준 (0) | 2021.04.16 |
SQL Injection 기초 (0) | 2021.04.16 |