protected static function splitKeys(
        Key $master,
        string $salt,
        Config $config
    ): array {
        $binary = $master->getRawKeyMaterial();
        return [
            Util::hkdfBlake2b(
                $binary,
                \SODIUM_CRYPTO_SECRETBOX_KEYBYTES,
                (string) $config->HKDF_SBOX,
                $salt
            ),
            Util::hkdfBlake2b(
                $binary,
                \SODIUM_CRYPTO_AUTH_KEYBYTES,
                (string) $config->HKDF_AUTH,
                $salt
            )
        ];
    }
protected static function splitKeys(
        Key $master,
        string $salt,
        Config $config
    ): array {
        $binary = $master->getRawKeyMaterial();
        return [
            Util::hkdfBlake2b(
                $binary,
                \SODIUM_CRYPTO_SECRETBOX_KEYBYTES,
                (string) $config->HKDF_SBOX,
                $salt
            ),
            Util::hkdfBlake2b(
                $binary,
                \SODIUM_CRYPTO_AUTH_KEYBYTES,
                (string) $config->HKDF_AUTH,
                $salt
            )
        ];
    }
protected static function splitKeys ( Key $ master , string $ salt , Config $ config ) : array { $ binary = $ master -> getRawKeyMaterial ( ) ; return [ Util :: hkdfBlake2b ( $ binary , \ SODIUM_CRYPTO_SECRETBOX_KEYBYTES , ( string ) $ config -> HKDF_SBOX , $ salt ) , Util :: hkdfBlake2b ( $ binary , \ SODIUM_CRYPTO_AUTH_KEYBYTES , ( string ) $ config -> HKDF_AUTH , $ salt ) ] ; }
Split a key using HKDF-BLAKE2b

@param Key $master
@param string $salt
@param Config $config
@return array<int, string>

@throws InvalidDigestLength
@throws CannotPerformOperation
@throws \TypeError
Split a key using HKDF - BLAKE2b