Namespace: \ParagonIE\Halite
Flags:
const SECRET_KEY = 1;
const PUBLIC_KEY = 2;
const ENCRYPTION = 4;
const SIGNATURE = 8;
const ASYMMETRIC = 16;
Alias Flags:
const AUTHENTICATION = 8;
Shortcut flags:
const CRYPTO_SECRETBOX = 5;
const CRYPTO_AUTH = 9;
const CRYPTO_BOX = 20;
const CRYPTO_SIGN = 24;
Warning: You should almost never use Key
directly. Instead, use one of the child classes.
Arguments:
$keyMaterial
-HiddenString
containing raw binary data (the cryptographic key)
Example:
// For Symmetric::encrypt()
$enc_secret = new EncryptionKey(
new HiddenString(str_repeat('A', 32))
);
// For Symmetric::authenticate()
$auth_secret = new AuthenticationKey(
new HiddenString(str_repeat('A', 32))
);
public
getRawKeyMaterial()
Simply returns the raw binary key data.
public
isAsymmetricKey()
Returns true if this is a key meant for asymmetric cryptography.
public
isEncryptionKey()
Returns true if this is a key meant for encryption.
public
isPublicKey()
Returns true if this is the public key for a given key-pair.
public
isSecretKey()
Returns true if:
- Symmetric crypto: Always
- Asymmetric crypto: This is the secret key for a given key-pair.
public
isSigningKey()
Returns true if this is a key meant for authentication