def open(enciphered_message)
      nonce, ciphertext = extract_nonce(enciphered_message.to_s)
      @box.open(nonce, ciphertext)
    end
def open(enciphered_message)
      nonce, ciphertext = extract_nonce(enciphered_message.to_s)
      @box.open(nonce, ciphertext)
    end
Decrypts the ciphertext with a random nonce

 Takes a ciphertext, optionally decodes it, then splits the nonce off the
 front and uses this to decrypt.  Returns the message.

 @param enciphered_message [String] The message to decrypt.

 @raise [CryptoError] If the message has been tampered with.

 @return [String] The decoded message