US0
CH.0 Openssl를 활용한 암호화 프로그래밍 <기초지식> 본문
비밀키 암호화 프로그래밍 기초지식
1. 각각의 암호화 알고리즘에 해당되는 암호화 패키지 사용방법
//이러한 헤더파일을 이용한
(*<< 이것은 어떤 문자가 올수도 있다는 뜻!!)
#include< openssl/* >
OpenSSL API에는 각 암호화 알고리즘에 해당되는 패키지가 준비되어 있다.
ex) DES암호화 알고리즘을 제공하는 DES패키지가 있고, AES암호화 알고리즘을 제공하는 AES패키지가 있다.
/*
* 이는 가장 저수준의 API 이지만 사용자가 제어할수 있는 부분이 좀더 많다는 장점이 있지만,
* 알고리즘에 따라 다른 API패키지를 사용해야 하므로 암호화 알고리즘을 변경하려고
* 할때 많은 코드를 수정해야 한다.
*/
2. EVP API패키지를 사용하는 방법
EVP 패키지는 여러 암호화 알고리즘에 대해 공통된 프로그래밍 인터페이스를 제공한다.
EVP패키지는 암호화의 모든 기능을 쉽게 사용할 수 있게 해주면서 '알고리즘'들에 대한 공통된 인터페이스를 제공함으로써 많은 이점이 있다.
(비밀키 암호화뿐만 아닌 MD 공개키 암호화 까지 EVP패키지를 사용하여 구현 가능!!)
/* EVP란 패키지의 일종이며 암호화의 고급수준의 코딩을 할때 편리하도록 암호화의 방식이 달라도 공통된 흐름을 거친다(??) */
3. BIO를 사용하는 방법
입/출력을 담당하는 BIO패키지를 사용해서 비밀키 암호화를 할 수 있다.
입/출력 BIO 중간에 비밀키 암호화를 담당하는 Filter BIO를 넣어서 BIO채이닝을 만든다. 그리고 입출력을 하면 데이터는 중간에 암호화가 된다.
EVP와 마찬가지로 BIO패키지도 각각의 암호화 알고리즘 패키지를 랩핑한다. ( EVP패키지의 특징을 가진다는 말.)
/*
*이러한 3가지 방법 모두 동일한 암호화 기능을 제공한다. 하지만 각 다른 패키지를 사용함으로
* 세 방법 모두 프로그 *래밍 인터페이스가 다르다!!
*
*프로그래밍에서 순서가 다르다는 말(그니까 함수명이 다르다!!!라고 생각)이라고 생각하면 되겠다.
*/
'Security > Cryptography' 카테고리의 다른 글
[OpenSSL] <openssl/evp.h>EVP 함수 정리 (0) | 2018.11.10 |
---|---|
CH.4 Openssl를 활용한 암호화 프로그래밍<EVP API를 활용한 DES_CBC 암.복호화 실습. OP2.> (0) | 2018.11.08 |
CH.3 Openssl를 활용한 암호화 프로그래밍<EVP API를 활용한 DES_CBC 암.복호화 실습 OP1.> (0) | 2018.11.08 |
CH.2 Openssl를 활용한 암호화 프로그래밍 <비밀키 암호화 순서> (0) | 2018.11.05 |
CH.1 Openssl를 활용한 암호화 프로그래밍 <암호화 구조체> (0) | 2018.11.05 |