src/AESGCM.php
private static function encryptWithCryptoExtension($K, $key_length, $IV, $P = null, $A = null, $tag_length = 128)
    {
        $cipher = \Crypto\Cipher::aes(\Crypto\Cipher::MODE_GCM, $key_length);
        $cipher->setAAD($A);
        $cipher->setTagLength($tag_length / 8);
        $C = $cipher->encrypt($P, $K, $IV);
        $T = $cipher->getTag();

        return [$C, $T];
    }
private static function encryptWithCryptoExtension($K, $key_length, $IV, $P = null, $A = null, $tag_length = 128)
    {
        $cipher = \Crypto\Cipher::aes(\Crypto\Cipher::MODE_GCM, $key_length);
        $cipher->setAAD($A);
        $cipher->setTagLength($tag_length / 8);
        $C = $cipher->encrypt($P, $K, $IV);
        $T = $cipher->getTag();

        return [$C, $T];
    }
private static function encryptWithCryptoExtension ( $ K , $ key_length , $ IV , $ P = null , $ A = null , $ tag_length = 128 ) { $ cipher = \ Crypto \ Cipher :: aes ( \ Crypto \ Cipher :: MODE_GCM , $ key_length ) ; $ cipher -> setAAD ( $ A ) ; $ cipher -> setTagLength ( $ tag_length / 8 ) ; $ C = $ cipher -> encrypt ( $ P , $ K , $ IV ) ; $ T = $ cipher -> getTag ( ) ; return [ $ C , $ T ] ; }
@param string      $K          Key encryption key
@param string      $key_length Key length
@param string      $IV         Initialization vector
@param null|string $P          Data to encrypt (null for authentication)
@param null|string $A          Additional Authentication Data
@param int         $tag_length Tag length

@return array
@param string $K Key encryption key @param string $key_length Key length @param string $IV Initialization vector @param null|string $P Data to encrypt ( null for authentication ) @param null|string $A Additional Authentication Data @param int $tag_length Tag length