암호화 튜토리얼
⚡ 스마트 요약
암호화는 정보를 사람이 읽을 수 없는 형태로 변환하여 보호하며, 올바른 키를 가진 사람만이 이를 되돌릴 수 있습니다. 이 페이지에서는 암호화의 특징, 응용 분야, 알고리즘 및 CrypTool을 사용한 실습을 다룹니다.

정보는 기업, 정부, 군사 작전에서 매우 중요한 역할을 하며, 정보가 잘못된 사람의 손에 들어가면 수익 손실은 물론 더 심각한 결과를 초래할 수 있습니다. 안전한 통신을 위해 조직은 암호학을 사용하여 정보를 암호화합니다. 즉, 정보를 사람이 읽을 수 없는 형식으로 변환했다가 다시 원래 형식으로 되돌리는 과정을 거칩니다.
이 암호학 및 네트워크 보안 관련 글에서는 암호학의 작동 원리와 정보를 악용자의 손에 넘어가지 않도록 보호하는 방법을 배우게 됩니다.
암호화 란 무엇입니까?
암호학은 정보를 사람이 읽을 수 없는 형식으로 변환했다가 다시 원래 형식으로 되돌려 정보의 실제 의미를 숨기는 기술을 연구하고 응용하는 학문입니다.
예를 들어 보겠습니다. "나는 사과를 사랑해"라는 메시지를 보내려면 각 글자를 알파벳에서 세 번째 글자로 바꿔 "K NQXG CRRNGU"를 만듭니다. 수신자는 이 메시지를 읽으려면 아래 그림과 같이 세 글자 뒤로 돌아가야 합니다.

정보를 사람이 읽을 수 없는 형태로 변환하는 것을 무엇이라고 부를까요? 암호화그리고 이를 뒤집는 것을 다음과 같이 부릅니다. decryption암호화된 결과는 다음과 같이 알려져 있습니다. 암호.
암호 해독에는 정당한 수신자만 알고 있는 비밀 키가 사용됩니다. 이 키가 필수적이기 때문에 공격자가 암호를 가로채더라도 통신은 안전하게 유지됩니다. 암호 해독이 없다면 공격자의 암호 해독 시도는 무의미해집니다.
암호화의 특징
암호 시스템은 다음과 같은 특징을 기준으로 평가됩니다.
| 제품 특장점 | 그것이 의미하는 것 |
|---|---|
| 암호알고리즘 | 변환을 수행하는 공개된 수학적 절차. |
| 기밀 유지 | 키 소지자만이 보호된 데이터를 읽을 수 있습니다. |
| Integrity | 데이터의 모든 변화는 감지 가능합니다. |
| 적응성 | 이 체계는 다양한 키 크기와 위협 수준에 맞춰 조정됩니다. |
| 상호 운용성 | 서로 다른 시스템과 공급업체가 보호된 데이터를 교환합니다. |
| 인증 | 메시지의 출처를 증명할 수 있습니다. |
| 확장성 | 데이터 양이 증가해도 성능은 유지됩니다. |
| 핵심 관리 | 열쇠는 안전하게 생성, 저장, 교체 및 폐기됩니다. |
암호화의 응용
그러한 특징들은 사람들이 의식하지 못하는 사이에 일상적으로 의존하는 서비스가 됩니다.
| 어플리케이션 | 암호화는 어떻게 사용되는가 |
|---|---|
| TLS 암호화 | 브라우저와 웹사이트 간의 트래픽을 보호합니다. |
| 비밀번호 저장 | 읽기 쉬운 비밀번호 대신 솔트가 추가된 해시값을 저장합니다. |
| 온라인 뱅킹 | 거래를 안전하게 보호하고 은행을 확인합니다. |
| 암호화폐 | 거래에 서명하고 해시를 사용하여 블록을 연결합니다. |
| 암호화 된 이메일 | 전송 및 저장 중 메시지 내용의 개인 정보를 보호합니다. |
| Digi탈 서명 | 작성자를 증명하고 문서가 변경되지 않았음을 입증합니다. |
| 안전한 메시징 | 기기 간 종단간 암호화를 적용합니다. |
| 이커머스 | 결제 과정에서 카드 정보를 보호합니다. |
암호 분석이란 무엇입니까?
암호해독은 암호화에 사용된 키 없이 메시지를 해독하는 기술입니다. 수학적 분석과 알고리즘을 적용하여 암호를 해독하며, 시스템 침입에 사용될 뿐만 아니라, 방어적인 측면에서는 알고리즘이 제공하는 보안 수준을 측정하는 데에도 사용됩니다.
암호해독 공격의 성공 여부는 다음 요소에 달려 있습니다.
- 이용 가능한 시간
- 사용 가능한 컴퓨팅 성능
- 사용 가능한 저장 용량
다음은 일반적으로 논의되는 암호 해독 공격 유형입니다.
- 무차별 대입 공격 — 평문이나 암호 키의 가능한 모든 조합을 시도하고, 각각을 암호화한 후 원래 암호문과 비교합니다.
- 사전 공격 — 단어 목록을 사용하여 평문 또는 키와 일치하는 단어를 찾습니다. 주로 다음과 같은 경우에 사용됩니다. 암호화된 비밀번호를 해독하다.
- 레인보우 테이블 공격 — 암호문을 미리 계산된 해시값과 비교하여 일치하는 부분을 찾습니다. 저장된 각 암호에 솔팅(salting)을 추가하면 이 방법을 무력화할 수 있습니다.
암호학이란 무엇입니까?
암호학은 암호학과 암호해독을 아우르는 포괄적인 분야입니다. 두 분야 모두 중요합니다. 암호해독가들이 알고리즘을 해독하려 시도했지만 실패했을 때 비로소 그 알고리즘은 신뢰할 수 있게 됩니다.
암호화 Algorithms
아래 알고리즘들은 보안 관련 작업에서 반복적으로 등장합니다. 어떤 알고리즘이 여전히 승인된 상태로 유지되고 있는지, 어떤 알고리즘이 기존 시스템에서만 남아 있는지 확인하십시오.
- MD5 MD5는 Message-Digest 5의 약자로, 128비트 해시 값을 생성합니다. MD5는 해시 함수이지, 암호화따라서 설계상 역추적이 불가능합니다. 하지만 충돌에 강하지 않아 서로 다른 두 입력값이 동일한 해시값을 생성할 수 있으며, 비밀번호나 서명에는 적합하지 않습니다.
- SHA — Secure Hash Algorithm의 약자인 이 알고리즘 계열은 메시지의 압축된 표현인 메시지 다이제스트를 생성합니다.
- SHA-0: 160비트 해시 값을 생성합니다. 중대한 결함으로 인해 사용이 중단되었고 SHA-1로 대체되었습니다.
- SHA-1160비트 해시 값을 생성합니다. 2017년에 실제 충돌이 발생하여 NIST에서 디지털 서명에 사용을 금지했으므로 사용을 피해야 합니다.
- SHA-2SHA-256 및 SHA-512를 포함한 6가지 함수군으로 구성되어 있으며, 각각 32비트 및 64비트 워드에서 작동합니다. 두 함수 모두 현재 승인된 상태입니다.
- SHA-32015년에 표준화되었으며 이전에는 Keccak으로 알려졌던 이 알고리즘은 SHA-2의 백업으로 다른 내부 설계를 사용합니다.
- AES — 고급 암호화 표준(AES)은 128비트, 192비트, 256비트 키를 사용하여 오늘날 대부분의 저장 및 전송 중인 데이터를 보호하는 대칭 블록 암호입니다. AES는 DES를 대체했으며 새로운 시스템의 기본 암호로 사용됩니다.
- RC4 — 한때 SSL(Secure Sockets Layer)과 WEP(Wired Equivalent Privacy)에서 흔히 사용되던 스트림 암호입니다. 두 프로토콜 모두 현재는 사용되지 않으며, 2015년 RFC 7465에서는 모든 버전의 TLS에서 RC4 사용을 금지했습니다. 여기서는 교육용 예시로 남아 있습니다.
- 복어 — AES는 과거에 암호와 파일 보호에 사용되었던 키 기반 대칭 블록 암호입니다. 64비트 블록 크기를 가지고 있어 현대에 더 적합한 선택입니다.
향후 전망을 살펴보면, NIST는 2024년 8월에 최초의 양자 컴퓨팅 후 표준인 키 교환용 ML-KEM과 서명용 ML-DSA 및 SLH-DSA를 발표했으며, 이는 오늘날의 공개 키 알고리즘을 점진적으로 대체할 것입니다.
해킹 활동: CrypTool을 사용하여 암호를 생성하는 방법
이 CrypTool 실습에서는 RC4를 사용하여 간단한 암호를 생성하고, 암호 키가 24비트라고 가정하고 무차별 대입 공격을 통해 암호를 복구합니다. 이 실습의 목적은 짧은 키와 해독된 암호가 실질적인 보안을 제공하지 못하는 이유를 보여주는 것입니다.
RC4 스트림 암호 생성
1단계) CrypTool을 다운로드하고 설치합니다.
CrypTool 1은 암호학 교육을 위한 오픈 소스 도구입니다. 현재 활발한 개발은 CrypTool 2로 옮겨갔지만, 1.4.42 버전은 여전히 CrypTool 1에서 실행됩니다. Windows 아래 화면과 일치합니다. 다음에서 다운로드하세요. cryptool.org.
2단계) CrypTool을 열고 텍스트를 바꿉니다.
암호화할 문구는 다음과 같습니다. 시간은 풍부하고 현금은 부족한 아이의 결단력을 결코 과소평가하지 마세요키는 00 00 00입니다.
- CrypTool 1을 엽니다.
- 위의 문구로 텍스트를 바꾸세요.
3단계) 텍스트 암호화
- 암호화/복호화 메뉴를 클릭하세요.
- Symmetric(모던)을 가리킨 다음 RC4를 선택합니다.
4단계) 암호화 키를 선택합니다.
- 키 길이를 24비트로 선택하십시오.
- 값을 00 00 00으로 설정하세요.
- 아래 스트림 암호를 생성하려면 '암호화'를 클릭하십시오.
스트림 암호 공격
5단계) 분석을 시작합니다
- 분석 메뉴를 클릭하세요.
- 대칭 암호화(최신)를 가리킨 다음 RC4를 선택합니다.
- 24비트 비밀 키를 사용한다고 가정하므로 키 길이를 24비트로 선택합니다.
- 시작을 클릭합니다.
- 참고 : 소요 시간은 사용되는 기기의 처리 능력과 키 길이에 따라 달라집니다. 키가 길수록 시간이 더 오래 걸리기 때문에 최신 키는 128비트 이상입니다.
6단계) 결과를 분석합니다.
- 분석이 완료되면 후보 키는 다음과 같이 순위가 매겨집니다.
- 참고 : 엔트로피 값이 낮을수록 일반적으로 올바른 결과를 나타내지만, 엔트로피 값이 높더라도 올바른 결과가 나올 수 있습니다.
- 의미 있는 텍스트로 읽히는 줄을 선택한 다음 [선택 사항 확인]을 클릭하세요.









