라이브러리

[PHP] openssl_pkey_derive - 원격 및 로컬 DH 또는 ECDH 키의 공개 값에 대한 공유 비밀을 계산합니다.




OpenSSL_pkey_derive 이란?


`openssl_pkey_derive`는 PHP의 OpenSSL 확장 함수 중 하나로, 두 개의 비대칭 키를 사용하여 공통 키를 생성하는 데 사용됩니다. 이 함수는 키 교환 프로토콜에서 사용됩니다.

사용 방법


`openssl_pkey_derive` 함수는 두 개의 비대칭 키를 인수로 받습니다. 첫 번째 인수는 공통 키를 생성할 비대칭 키, 두 번째 인수는 공통 키를 생성할 비대칭 키입니다.

예제


#hostingforum.kr
php

<?php



// 비대칭 키 생성

$privateKey = openssl_pkey_new();

openssl_pkey_export($privateKey, $privateKeyStr);



$publicKey = openssl_pkey_get_details($privateKey);

$publicKeyStr = $publicKey['key'];



// 공통 키 생성

$sharedKey = openssl_pkey_derive($publicKeyStr, $privateKeyStr);



// 공통 키 출력

echo "공통 키 : " . bin2hex($sharedKey) . "
";



// 비대칭 키 삭제

openssl_free_key($privateKey);



?>



설명


위 예제는 다음 단계를 수행합니다.

1. 비대칭 키를 생성합니다.
2. 비대칭 키를 인수로 공통 키를 생성합니다.
3. 공통 키를 출력합니다.
4. 비대칭 키를 삭제합니다.

참고


`openssl_pkey_derive` 함수는 키 교환 프로토콜에서 사용됩니다. 예를 들어, Diffie-Hellman 키 교환 프로토콜에서 사용됩니다.

예제 2: Diffie-Hellman 키 교환 프로토콜


#hostingforum.kr
php

<?php



// Alice의 비대칭 키 생성

$alicePrivateKey = openssl_pkey_new();

openssl_pkey_export($alicePrivateKey, $alicePrivateKeyStr);



$alicePublicKey = openssl_pkey_get_details($alicePrivateKey);

$alicePublicKeyStr = $alicePublicKey['key'];



// Bob의 비대칭 키 생성

$bobPrivateKey = openssl_pkey_new();

openssl_pkey_export($bobPrivateKey, $bobPrivateKeyStr);



$bobPublicKey = openssl_pkey_get_details($bobPrivateKey);

$bobPublicKeyStr = $bobPublicKey['key'];



// Alice가 Bob의 공통 키를 생성

$aliceSharedKey = openssl_pkey_derive($bobPublicKeyStr, $alicePrivateKeyStr);



// Bob이 Alice의 공통 키를 생성

$bobSharedKey = openssl_pkey_derive($alicePublicKeyStr, $bobPrivateKeyStr);



// 공통 키 비교

if (bin2hex($aliceSharedKey) === bin2hex($bobSharedKey)) {

    echo "공통 키 일치
";

} else {

    echo "공통 키 불일치
";

}



// 비대칭 키 삭제

openssl_free_key($alicePrivateKey);

openssl_free_key($bobPrivateKey);



?>



설명


위 예제는 Diffie-Hellman 키 교환 프로토콜을 사용하여 Alice와 Bob이 공통 키를 생성하는 방법을 보여줍니다.

참고


`openssl_pkey_derive` 함수는 키 교환 프로토콜에서 사용됩니다. 예를 들어, Diffie-Hellman 키 교환 프로토콜에서 사용됩니다.

결론


`openssl_pkey_derive` 함수는 두 개의 비대칭 키를 사용하여 공통 키를 생성하는 데 사용됩니다. 이 함수는 키 교환 프로토콜에서 사용됩니다. 예를 들어, Diffie-Hellman 키 교환 프로토콜에서 사용됩니다.

참고 자료


* OpenSSL 공식 문서:
* PHP 공식 문서:
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 349 페이지

검색

게시물 검색