US0
[OpenSSL/ECDH] ECDH Cryptography Part1. (Serialization /Deserialization) 이번 포스팅은 ECDH 에 대해서 알아보자!! (코드 한번에 나와있는곳은 맨 마지막 부분!!) ECDH알고리즘이란??타원 곡성 암호 blahblah... (추가시키기) EVP API를 이용하기위해 Random한 값을 얻기위해 ECDH 를 이용할거니까 이라는 각각의 헤더 파일을 선언 해준다!!!#include#include #include 원활한 코드 설명을 위해 main공간에 모든코드 넣어보겠다 ❛˓◞˂̵✧ int main(void){ 먼저 ECDH를 계산을 하기위해 EC domain 을 생성(Generate ) 해보자!! EC_Domain param Generate 언제나 ..
[OpenSSL/RSA] 나눴던 Private Key로 다시 RSA구조체 만들고 암/복호화 하기!!(Deserialization) 우리는 저번 포스팅때 RSA keypair를 char * 형 문자열로 바꿔서 공개키와 비밀키를 나누는과정을 해보았다!!! 2018/11/21 - [Security/Cryptography] - [OpenSSL/RSA] RSA Private key와 Public key 나누기!!(Serialization) 이과정 다음을 바로 이어서 설명 하겠다.(이전 단계의 변수들 그대로 사용!!) RSA *keyPair/ \/ \/ \BIO *pri BIO *pub/ \/ \/ \char *pri_key char *pub_key 그럼 이렇게 공개키와 비밀키를 나눴으니 private key(비밀..
[OpenSSL/RSA] RSA Private key와 Public key 나누기!! RSA에서 암호화 하기위해 공유키와 개인키를 각각 분리하기위해 아래의 3가지 과정을 거친다. 여기서 잠깐!!!Q. 왜 굳이 공유키와 개인키를 분리 할까??A. 상대방에게 내 개인키까지 굳이 보낼 필요가 없으므로!! 개인키는 나만의 것이기 때문에 public key와 private key를 각각 나눠준다!!! RSA *keyPair/ \/ \/ \BIO *pri BIO *pub/ \/ \/ \char *pri_key char *pub_key 이번 포스팅은 BIO 구조체에 PEM API를 써서 암호화 시켜서 private key 와 public key를 나눠 char *형태 즉 문자열 형태로 반환하는 실습을 해보겠다!! R..
[OpenSSL/RSA] RSA Sructure & Function ∙ RSA 자료구조 struct { BIGNUM *n; // public modulus BIGNUM *e; // public exponent BIGNUM *d; // private exponent BIGNUM *p; // secret prime factor BIGNUM *q; // secret prime factor BIGNUM *dmp1; // d mod (p-1) BIGNUM *dmq1; // d mod (q-1) BIGNUM *iqmp; // q^-1 mod p // ... }RSA; : RSA에서 키를 보관하는 자료구조이다. n, e 는 공개키 n, d 는 개인키 //RSA 자료구조 생성∙ RSA_new() - synopsis #..
CH.4 Openssl를 활용한 암호화 프로그래밍 2018/11/05 - [Security/Cryptography] - CH.0 Openssl를 활용한 암호화 프로그래밍 2018/11/05 - [Security/Cryptography] - CH.1 Openssl를 활용한 암호화 프로그래밍 2018/11/05 - [Security/Cryptography] - CH.2 Openssl를 활용한 암호화 프로그래밍 2018/11/08 - [Security/Cryptography] - CH.3 Openssl를 활용한 암호화 프로그래밍2018/11/08 - [Security/Cryptography] - CH.4 Openssl를 활용한 암호화 프로그래밍 그동안 EVP API패키지를 활용하여 기본 프로그램상 평문 입력을..
[OpenSSL] EVP 함수 정리함수가 매우 많으니 ctrl + f 로 search!!!1. EVP? - Maybe, Envelope. - High-level Cryptographic functions. - 수많은 OpenSSL의 암호 API를 하나의 인터페이스(interface)로 구성. - The EVP interface, which can be accessed by including "openssl/evp.h" 2. CTX? - Context - EVP로 Encryption, Decryption 등, 각 수행에 필요하거나 변경되는 정보들을 유지하는 구조체. - 암호화 알고리즘, 키(key) 값, IV(initialization vector) 값, padding 설정 등... - 대칭키 암호에서 E..
gdb에서 examine을 활용한 조사 명령 내리기!! 조사 명령은 다양한 방법으로 메모리 주소를 보는 데 사용된다.이 명령에는 조사할 메모리의 위치와 메모리를 어떻게 보여줄 지에 대한 두개의 인자가 필요하다!!! (몇 진법으로, 몇개의 바이트를 나타낼것인가!!) ps.이것은 현미경을들고 프로그램을 들여다 보는것과 같은 역할을 하는 것!!!이라고 생각해두면 편하다. 두개인자란?? 첫번 째 - 진법 두번 째 - 바이트 보통 표현 형식은 한 글자의 축약 형을 사용한다. 추가적으로 옵션으로 문자 앞에 숫자로 얼마나 많은 아이템을 조사할 것인지 쓸 수 있다. examine사용방법!!!! (gdb)
이전 Chapter 들!!!! 코드를 이해하지 못하겠다면 앞쪽 chapter들을 확인해보자!!! 2018/11/05 - [Security/Cryptography] - CH.0 Openssl를 활용한 암호화 프로그래밍 2018/11/05 - [Security/Cryptography] - CH.1 Openssl를 활용한 암호화 프로그래밍 2018/11/05 - [Security/Cryptography] - CH.2 Openssl를 활용한 암호화 프로그래밍 2018/11/08 - [Security/Cryptography] - CH.3 Openssl를 활용한 암호화 프로그래밍 CH.4 Openssl를 활용한 암호화 프로그래밍 이번 Chpater 4 는 저번시간에 했던 EVP API를 이용하여EVP 순서인 초기화..