SILC (protocol)

SILC (English: Secure Internet Live Conferencing, dt about " Secure Meeting via the Internet, in real time") is a network protocol for secure synchronous conferencing and especially for MUC (Multi-User Chat, German multi-user chat) will be used.

  • 3.1 clients
  • 3.2 bots

Features and Functionality

A SILC network can be (similar to an IRC network ) distributed across multiple servers. Despite the superficial similarity to IRC, the internal structure, however, is fundamentally different.

A major difference to many other chat protocols is that SILC secure communication over insecure networks possible, since it offers the possibility to encrypt messages for the whole transmission ( end-to -end encryption ).

Like many other conference and chat logs also offers SILC channels ( groups), nicknames, private messages, and other common features. However SILC nickname (eg IRC) is not unique, unlike many other protocols: A user can use any nickname, even if it is already in use. The actual identification is accomplished in the protocol by a unique client ID. The SILC protocol makes use of that to be the nickname Mr. collision - a problem that occurs in many other protocols. All messages sent in a SILC network are binary coded, so that in them of any data type can be included, including text, video, audio and other multimedia data.

The structure of the SILC networks netsplits, which can occur in IRC prevented.

Components of the Protocol

The SILC protocol can be divided into three main components:

In SILC SILC protocol commands are also defined which are used to control the SILC session.

The SKE protocol is used to establish a session key and other security parameters, which cover the SILC Packet protocol. The SKE itself is based on the Diffie- Hellman key exchange algorithm (a form of asymmetric cryptography) and the exchange is protected with digital signatures. The SILC Authentication Protocol shall be applied after the successful execution of the SKE protocol to a client and / or server to authenticate. The authentication can be based on a passphrase or on digital signatures and permitted if successful, access to the corresponding SILC network. The SILC packet protocol is intended as a safe Binärpaketprotokoll which ensures that the contents of each packet is (consisting of a packet header and packet payload ) secured and authenticated. The packets are secured using algorithms based on symmetric cryptography and authenticated using the message authentication code algorithm, HMAC.

SILC channels ( groups) are secured by symmetric channel key. Optionally, it is possible to sign all channel messages digitally. It is also possible messages with a private key generated channel, which was agreed upon in advance by the channel members to secure. Private messages between users in a SILC network are secured with session keys. However, it is possible to apply the SKE protocol between two users, and to use the generated key to protect your private messages. Optional private messages can be digitally signed. When messages with a signal generated by the SKE protocol key material or an agreed key material are protected (for example, passphrases ), then SILC provides security even if the SILC server may have been compromised.

A white paper with a detailed description of the operation is to be found here (English).

The current specification of the SILC protocol are also available here and at the IETF.


SILC was designed by Pekka Riikonen and first published in the summer of 2000.




  • Samadhi


This list is not exhaustive.