콘텐츠로 건너뛰기

cryptography

SSL/TLS 에 대해서

들어가며 이 블로그 포스트는 실제로 SSL/TLS 코드를 보기 전에 작성하였다. 그런데 SSL/TLS 구현체를 살펴보았을 때 정말 많은 기능들이 여기에 언급된 것들보다 많다는 것을 깨닫고 이 글을 어디까지 정리해야하는가에 대해서 고민이 생겼다. SSL/TLS 확장 기능들인 여러 extentions들에 대해서는 나중에 필요할 때마다 정리해보기로 마음먹고 이 글의 범위를 SSL/TLS 기본 원리에 대해서 집중하기로 했다. 이 글은 어떤 것을… 더 보기 »SSL/TLS 에 대해서

Diffie-Hellman Key Exchange

One disadvantage of symmetric cryptosystems which require private key like AES is that the private key must be exchanged. And Diffie-Hellman key exchange algorithm enables exchange private keys over a public channel. So it can solves following dilemma. Alice and Bob want to share a secret key which is going to be used in a symmetric cipher,… 더 보기 »Diffie-Hellman Key Exchange

About RSA Algorithm

Overview RSA는 기본적으로 public key cryptosystem이다. 1977년 Rivest, Shamir 그리고 Adleman에 의해서 만들어졌다. 다른 public key cryptosystem과 마찬가지로 RSA도 trapdoor function에 크게 의존하고 있는데 RSA도 마찬가지로 trapdoor function 중의 하나인 integer factorization problem을 이용해서 안전성을 확보하고 있다. trapdoor function은 간단히 말하면 위의 그림과 같이 x를 가지고 f(x)를 구하는 것은 쉽지만 f(x)를 알고 있을 때 x를… 더 보기 »About RSA Algorithm

AES? — Step by Step 정리

이번 포스트에서는 AES 알고리즘이 어떤 방식으로 진행되는지 살펴보고 python AES 모듈을 이용해서 어떻게 메세지를 암호화하고 복호화 할 수 있는지에 대해서 알아보려고 합니다. Background AES의 등장 배경에는 DES가 있습니다. Data Encryption Standard(DES)를 간단하게 소개하자면 1970년 초 IBM에서 Horst Feistel의 디자인을 기초로 고안되었습니다. 그래서 DES는 Feistel-structure라고 불리기도 합니다. AES와 마찬가지로 대칭키 암호화 방식의 block cipher이고 56-bits 길이의… 더 보기 »AES? — Step by Step 정리