The cipher block is used to encrypt and decrypt messages. Items can be placed inside the cipher block to generate the encryption key using the Itemstack information. Messages can then be decrypted using a cipher block with the exact same encryption key. For example, encrypted messages can be sent to other computers on a network; the receiving computer will need a cipher block with the same combination of items to decipher the received message. The cipher block can be locked via the component API, preventing access to the block's GUI (and hiding the encryption key).