본문 바로가기

Dev/Encryption

SHA1 해쉬함수, boost 라이브러리로 구현 # SHA1 해쉬 함수의 경우 crypto++ 라이브러리로 사용 가능 하지만, 간단히(?) boost 라이브러리도 가능. http://www.cryptopp.com/실행 : http://coliru.stacked-crooked.com/a/4d6de3acd08dee1c#include <iostream> #include <string> using namespace std.. 더보기
디피-헬만 키 교환, C++ 예제 # 큰수를 나타내기 위해 boost::multiprecision 의 cpp_int 클래스 이용http://www.boost.org/doc/libs/1_56_0/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/cpp_int.html # 큰수를 나타내는 boost 지원 3개의 클래스 비교http://www.boost.org/doc/libs/1_56_0/libs/multiprecisio.. 더보기
디피-헬만 키 교환 출처 : 위키백과 http://ko.wikipedia.org/wiki/%EB%94%94%ED%94%BC-%ED%97%AC%EB%A7%8C_%ED%82%A4_%EA%B5%90%ED%99%98디피-헬만 키 교환위키백과, 우리 모두의 백과사전.디피-헬만 키 교환(Diffie–Hellman key exchange)은 암호 키를 교환하는 하나의 방법으로, 두 사람이 암호화되지 않은 통신망을 통해 공통의 비밀 키를 공유할 수 있도록 한다.&n.. 더보기
SSL 키 교환 방식 출처 : http://eastdg.wordpress.com/2014/04/09/ssltls-%EA%B8%B0%EB%B3%B8/Key Exchange (키 교환)SSL/TLS이 사용할 수 있는 몇몇 키 알고리즘들이 있는데, 대부분의 키 알고리즘들은 서버의 공개키를 이용하여 동작한다. 다음은 많이 쓰이는 키 알고리즘 들이다.RSA: 서버의 키…….유형이 RSA 형식인 경우 사용가능하다. 클라이언트는 46바이트의 랜덤 값과 2바이트 버전을 포함한.. 더보기
해쉬 함수 SHA1CryptoServiceProvider, SHA1Managed 차이 SHA1CryptoServiceProvider는 윈도우의 CryptoAPI(CAPI)를 래핑한 unmanaged 구현체 이고,SHA1Managed는 .NET으로 구현한 Managed 코드SHA1Managed가 상대적으로 느리다고 하는데, 그 차이는 ms 단위의 속도를 중요시 하지 않는 업무라면 문제 없을 듯 하고,자체 구현이라 이식성도 좋아 보임물론 사용 가능 하다면 SHA1CryptoServiceProvider 쓰는것이 .. 더보기
Crypto++ 사용하기, 예제 Crypto++ (http://www.cryptopp.com)  C++ 용 암호화 라이브러리 Crypto++ 컴파일  우선 해당 사이트에서 라이브러리를 다운 받은 후 원하는 컴파일러로 컴파일을 하여 dll 이나 lib 파일을 생성한다. VC++ 2008 버전의 경우 프로젝트 파일이 따로 있지는 않고 VC++2005 버전을 업그레이드 후 컴파일 하면 됨 컴파일을 하면 cryptopp560\.. 더보기