라이브러리

[PHP] sodium_crypto_aead_aes256gcm_encrypt - 암호화 후 AES-256-GCM으로 인증




AES-GCM(AES-Galois/Counter Mode) 암호화

AES-GCM은 Advanced Encryption Standard(Galois/Counter Mode)으로, 블록 암호화 알고리즘인 AES를 사용하는 암호화 알고리즘입니다. AES-GCM은 데이터를 암호화하고 인증하는 데 사용됩니다.

PHP에서 Sodium 라이브러리 사용하기

PHP에서 AES-GCM 암호화를 사용하려면 Sodium 라이브러리를 사용해야 합니다. Sodium 라이브러리는 PHP 7.2부터 기본적으로 포함되어 있습니다.

Sodium_crypto_aead_aes256gcm_encrypt 함수

Sodium_crypto_aead_aes256gcm_encrypt 함수는 AES-GCM 암호화를 사용하여 데이터를 암호화하는 함수입니다. 이 함수는 다음 인자를 받습니다.

* `$message`: 암호화할 데이터
* `$key`: 암호화에 사용할 키
* `$nonce`: 난수 생성기

예제

#hostingforum.kr
php

use Sodium;



// 암호화에 사용할 키 생성

$key = Sodiumcrypto_secretbox_keygen();



// 난수 생성기

$nonce = Sodium
andombytes_buf(Sodiumcrypto_aead_aes256gcm_NONCEBYTES);



// 암호화할 데이터

$message = "Hello, World!";



// AES-GCM 암호화

$ciphertext = Sodiumcrypto_aead_aes256gcm_encrypt($message, $nonce, $key);



// 암호화된 데이터와 난수 생성기 출력

echo "Ciphertext: " . bin2hex($ciphertext) . "
";

echo "Nonce: " . bin2hex($nonce) . "
";



// 암호화된 데이터 복호화

$decrypted_message = Sodiumcrypto_aead_aes256gcm_decrypt($ciphertext, $nonce, $key);



// 복호화된 데이터 출력

echo "Decrypted Message: " . $decrypted_message . "
";



주의 사항

* AES-GCM 암호화에 사용하는 키는 32바이트(256비트)로 구성되어야 합니다.
* 난수 생성기는 AES-GCM 암호화에 사용되는 난수 생성기입니다.
* 암호화된 데이터와 난수 생성기는 별도로 저장되어야 합니다. 난수 생성기는 암호화된 데이터와 함께 저장되어야 합니다.

참고

* AES-GCM 암호화는 PHP 7.2부터 지원됩니다.
* Sodium 라이브러리는 PHP 7.2부터 기본적으로 포함되어 있습니다.
* AES-GCM 암호화는 블록 암호화 알고리즘인 AES를 사용하는 암호화 알고리즘입니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 178 페이지

검색

게시물 검색