2016-12-02 3 views
1

openssl을 사용하여 키 쌍을 생성하려고하지만 개인/공개 키를 생성하는 매개 변수를 설정할 수 없습니다. 고유 한 개인/공개 키를 얻으려면 식별자 (예 : mac 주소)와 같은 입력 매개 변수를 전달하고 싶습니다. 동일한 식별자의 경우 동일한 개인 키/공개 키가 필요합니다. 어떻게 만들 수 있습니까? 미리 감사드립니다. Dopenssl에서 RSA 키 매개 변수 생성

+0

OpenSSL의'RSA_generate_ex'를 사용하면 약간의 작업이 필요할 수 있습니다. 아마도 난수 생성기를 제공하는 ENGINE을 제공해야 할 것입니다. RNG는 키 생성 알고리즘에서 사용하는 비트를 제공합니다. Richard Levitte는 [Engine Building Lesson 1 : 최소한의 쓸데없는 엔진] (https://www.openssl.org/blog/blog/2015/10/08/engine-building-lesson-1a-a-)에서 몇 가지 자습서를 가지고 있습니다. 최소 쓸데없는 엔진 /)과 [Engine Building Lesson 2 : 예제 MD5 엔진] (https://www.openssl.org/blog/blog/2015/11/23/engine-building-lesson-2-an- example-md5-engine /). – jww

+0

더 나은 옵션은'p','q','n','e','d'와 CRT 매개 변수를 생성하는 것입니다. 그들은 단지 'BIGNUM'의 것이며, 당신은 완전히 형태를 제어 할 것입니다. 그런 다음, 'RSA *'에 할당하십시오. 표준 경고는 키 생성을 이렇게 복잡하게 만드는 것에 적용됩니다. – jww

답변

0

RSA 키 쌍을 임의로 생성해야합니다.

세대를 결정적으로 만들면 더 이상 키를 생성하지 않지만 특정 데이터 (예 : MAC 주소 기반)에서 키를 가져옵니다. 이렇게하면 생성 된 키의 보안이 0으로 줄어 듭니다. 따라서 쓸모가 없으며 키 생성을 시작할 필요조차 없습니다.

RSA의 보안이 기본으로하는 가정은 개인 키가 키 소유자에게만 알려져 있다는 것입니다. 맥 주소와 같은 공용 정보를 가지고가는 경우에 다음과 같은 공식이 적용

RSA 키 쌍 = 당신의-유도 알고리즘 (MAC 주소)

당신의 일부인합니다 (RSA 개인 키를 알고 싶다면 키 쌍) 당신은 MAC 주소와 파생 알고리즘이 필요합니다. MAC은 공개되어 있으며 파생 알고리즘은 공개 될 예정입니다.

따라서 RSA 비공개 키도 공개되어 MAC 주소를 아는 모든 사람이 RSA 비공개 키를 생성 할 수 있기 때문에 보안 관점에서는 유용하지 않습니다.

보안은 잘 설계된 알고리즘과 함께 비밀 데이터를 기반으로합니다. 알고리즘이 공개인지 여부는 보안에 영향을 미치지 않아야합니다. 그것이 효과가 있다면 당신은 당신을 버릴 수있는 안전하지 않은 알고리즘을가집니다.

+0

안녕하세요, 동일한 입력 매개 변수에 대해 동일한 키 쌍을 생성하는 방법을 설명해 주시겠습니까? 생성 된 키의 보안을 줄입니까? –

+0

업데이트 된 답변보기 – Robert