Introduce 암호학

froajnzd·2024년 12월 2일
0

real world cryptography

목록 보기
1/12
post-thumbnail

David Wong의 Real-World Cryptography를 읽기 시작했다.
앞선 HOW LINUX WORKS를 정리하다가 내 손가락과 시간이 타버리는 것 같아서 이제부터는 키워드 중심으로 정리하기로 하였다.

혹은 내가 더 이해하길 원하는 (기존에 알지 못했던) 개념을 위주로 정리할 듯 하다.

Symmetric cryptography (대칭 암호학)

= Secret key cryptography (비밀 키 암호)

Kerckhoffs(케르크호프스)의 원리
암호 체계의 안전성은 key의 비밀성에만 의존해야 한다.

암호화하는 사람과 복호화하는 사람이 서로 한 개의 같은 비밀키를 공유하여 해당 키로 암호화/복호화에 사용한다.

장점: 공개 키에 비해 계산 속도가 빠르다
단점: 비밀 키를 전달하는 과정에서 노출될 가능성이 있다

Asymmetric cryptography (비대칭 암호학)

= public key cryptography (공개 키 암호)

Diffie-Hellman(DH, 디피-헬먼) 키 교환 알고리즘 : 비대칭 암호의 한 종류
1. 두 사람이 공개 키(비밀 키가 가려짐)를 생성한 후 서로 교환한다.
2. 상대방의 공개 키와 각자의 비밀 키를 사용해서 암호문을 계산한다
3. 공격자는 공유 비밀을 계산할 수 없다!

단점: 공격자가 본인의 키로 다른 이를 가장할 수 있다

RSA algorithm
DH에서 발전. 하나는 공개 키 암호화 알고리즘, 나머지 하나는 복호화 비밀 키이다.
공개 키는 모두에게 열려있다. 공개 키를 통해 암호화하고 비밀 키를 통해 복호화할 수 있다.

Digital signatures with RSA

암호학의 분류

일반적인 분류

  • 대칭 암호(비밀키 암호) : 하나의 비밀(비밀키)을 여러 사람이 공유하며 데이터를 암호화하고 복호화합니다. 모두 같은 비밀을 알고 있어야 작동
  • 비대칭 암호(공개키 암호) : 서로 다른 키(공개키와 비밀키)를 사용. 공개키는 누구나 알 수 있지만, 비밀키는 특정한 사람만 앎. 더 안전하게 데이터 교환 가능

설계에 따른 분류

  • 수학 기반 암호 : 복잡한 수학 문제를 기반으로 설계. 예를 들어, 큰 숫자를 소인수분해하는 문제처럼 풀기 어려운 문제를 활용. (ex. RSA 알고리즘)
  • 경험(Heuristic) 기반 암호 : 수학보다는 통계적 관찰과 분석에 의존. "이 방법이 잘 작동한다!"는 경험에 따라 만들어졌으며, 빠르게 작동 (ex. AES 알고리즘)

목적에 따른 분류

  • 기밀성(Confidentiality) : 정보가 잘못된 사람에게 보이지 않도록 보호하는 것. 예를 들어, 누군가가 인터넷에서 메시지를 가로채도 내용을 읽을 수 없게 만드는 것
  • 인증(Authentication) : 내가 대화하고 있는 상대가 정말 내가 믿는 사람인지 확인하는 것. 예를 들어, 메시지가 진짜 친구가 보낸 건지 확인
profile
Hi I'm 열쯔엉

0개의 댓글

관련 채용 정보