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-HiddenStringcontaining 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))
);
publicgetRawKeyMaterial()
Simply returns the raw binary key data.
publicisAsymmetricKey()
Returns true if this is a key meant for asymmetric cryptography.
publicisEncryptionKey()
Returns true if this is a key meant for encryption.
publicisPublicKey()
Returns true if this is the public key for a given key-pair.
publicisSecretKey()
Returns true if:
- Symmetric crypto: Always
- Asymmetric crypto: This is the secret key for a given key-pair.
publicisSigningKey()
Returns true if this is a key meant for authentication