represents all the information needed for encryption, decryption, and other operations in a symmetric cryptographic system.


  • SymmetricKey objects can be used with functions such as Encrypt and Decrypt.
  • A single SymmetricKey object can be used for both encryption and decryption.
  • In SymmetricKey[assoc], the association assoc contains the following:
  • "Cipher"cipher used
    "Key"key as a ByteArray
    "KeySize"size of key in bits
    "InitializationVector"initialization vector as a ByteArray or None
    "BlockMode"block chaining mode for block ciphers
  • Possible methods are as listed for GenerateSymmetricKey.
  • When used in Encrypt, the setting "InitializationVector"->None specifies that Encrypt should generate a new initialization vector whenever it is called.
  • SymmetricKey[assoc]["prop"] gives the specified element of assoc. It is equivalent to assoc["prop"].
  • SymmetricKey[]["Properties"]
  • gives a list of available properties.


Basic Examples  (1)

Generate a random symmetric key:

Use the key to encrypt:

Decrypt the message:

You can retrieve keys and values from the associations with the SymmetricKey object:

Introduced in 2015
Updated in 2019