|  Download KeyNamespace: \ParagonIE\Halite ConstantsFlags:     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;
 MethodsConstructorArguments:  * $keyMaterial- Raw binary string represetning the cryptographic key
 *$public- Set to TRUE if and only if this is a public key (asymmetric only)
 *$signing- Set to TRUE if and only if this is a signing/MAC key
 *$asymmetric- Set to TRUE if and only if this is an asymmetric key (private or public) Example: // For Symmetric::encrypt()
$enc_secret = new Key(
     str_repeat('A', 32), 
     false,
     false,
     false
);
// For Symmetric::authenticate()
$auth_secret = new Key(
     str_repeat('A', 32), 
     false,
     true,
     false
);
// For Asymmetric::encrypt(), Asymmetric::seal(), etc.
$box_secret = new Key(
     str_repeat('A', 32), 
     true,
     false,
     true
);
// For Asymmetric::sign()
$sign_secret = new Key(
     str_repeat('A', 32), 
     true,
     true,
     true
);
 get()
> publicget() Simply returns the raw binary key data. isAsymmetricKey()
>publicisAsymmetricKey() Returns true if this is a key meant for asymmetric cryptography. isEncryptionKey()
> publicisEncryptionKey() Returns true if this is a key meant for encryption. isPublicKey()
> publicisPublicKey() Returns true if this is the public key for a given key-pair. isSecretKey()
> publicisSecretKey() Returns true if: 
Symmetric crypto: Always
Asymmetric crypto: This is the secret key for a given key-pair.
 isSigningKey()
> publicisSigningKey() Returns true if this is a key meant for authentication |