| Function silc_message_payload_decrypt
 
 SYNOPSIS
 
    SilcBool silc_message_payload_decrypt(unsigned char *data,
                                          size_t data_len,
                                          SilcBool private_message,
                                          SilcBool static_key,
                                          SilcCipher cipher,
                                          SilcHmac hmac,
                                          unsigned char *sender_id,
                                          SilcUInt32 sender_id_len,
                                          unsigned char *receiver_id,
                                          SilcUInt32 receiver_id_len,
                                          SilcBool check_mac);
DESCRIPTION
    Decrypt Message Payload indicated by `data'.  If the payload is
    channel message then `private_message' is FALSE, and if it is
    private message it is TRUE.  If the private message key is static
    (pre-shared key) then protocol dictates that the IV is present
    and `static_key' must be set to TRUE.  If the key is not static
    (Key Agreement was done for the key) then it MUST be FALSE.  For
    channel messages the `static_key' is ignored.
    The `sender_id' and `receiver_id' are the IDs from the packet header
    of the packet where this message payload was received.
    This is usually used by the Message Payload interface itself but can
    be called by the appliation if separate decryption process is required.
    For example server might need to call this directly in some
    circumstances. The `cipher' is used to decrypt the payload.  If
    `check_mac' is FALSE then MAC is not verified.
 
 
 
 |