이글루스 | 로그인  


RSA(3DES) 복호

Encrypted파일 구조는

식별자 : 4바이트 "RSA\n"
평문길이 : 4바이트
3DES로 암호화된 암호문 : 평문길이 이상인 최소크기의 8의 배수
RSA로 암호화된 3DES키 : 128바이트 (평문으로 풀리면 32바이트가됨 ,키3개 각8바이트, IV 8바이트)

파일 꼬리에 붙어있는 암호화된 3DES키를 RSA private키로 풀고
풀린키를 이용해 암호문을 해제함

함수코드

by Dyun | 2008/08/14 17:02 | 트랙백

OpenSSL : Modulus 확인

openssl rsa -in rsa_private.pem -modulus

C# 에서 modulus 로드하려면
리소스에 RSA_PublicKey 라는 이름으로 텍스트 파일을 하나 추가해주고 256바이트 길이의 HEX코드로 된 Modulus를 넣어준뒤 다음코드 이용해서 로딩
E 값은 0x10001 (65537)

            // 공개키 로드
            RSAParameters RSAKeyInfoP = new RSAParameters();
            RSAKeyInfoP.Exponent = new byte[3];
            RSAKeyInfoP.Modulus = new byte[128];
            RSAKeyInfoP.Exponent[0] = 1;
            RSAKeyInfoP.Exponent[1] = 0;
            RSAKeyInfoP.Exponent[2] = 1;

            for (int i = 0; i < 128; i++)
            {
                string strCurrentByte = Resource1.RSA_PublicKey.Substring(i * 2, 2);
                RSAKeyInfoP.Modulus[i] = (byte)Convert.ToInt32(strCurrentByte, 16);
            }

encrypt 시에 패딩파라미터는 false 로 놓아서 RSA PKC#1 PADDING 을 적용

by Dyun | 2008/08/14 09:36 | 트랙백

키생성, 공개키뽑기

openssl genrsa -out key.pem 1024


To just output the public part of a private key:


openssl rsa -in key.pem -pubout -out pubkey.pem

by Dyun | 2008/08/13 16:43 | 트랙백

RSA 공개키로딩 (XML)

http://choiwonwoo.egloos.com/669096

PEM 은 왜 138바이트인지 ㅠㅠ

by Dyun | 2008/08/13 15:19 | 트랙백

울먹 고양이

이게 아마 핸콕본날 신촌노점에서 산건뎅;;; 날짜가 기억안나네용

지금 가지고있는 카메라가 없어서 회사서 쓰는 개발용 폰으로 찍은;

by Dyun | 2008/08/12 14:17 | 트랙백

◀ 이전 페이지          다음 페이지 ▶