---
name: "silc"
section: "1"
platform: "linux"
package: "silc"
version: "1.1.4-1+lenny1"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/silc"
---

# silc(1)

client for SILC, a secure and flexible conferencing network

## NAME

silc - client for SILC, a secure and flexible conferencing network

## SYNOPSIS

**silc** **\[** -S *file* \| -d \| -C \| -c *host* \| -w *pass* \|  -p *port* \| -! \| -n *nick* \| -h *host* \| -v \| -? **\]**

## DESCRIPTION

SILC (Secure Internet Live Conferencing) is a secure conferencing network. **Silc** is the SILC client which is used to connect to SILC server and the SILC network.  The silc client resembles IRC clients to make the using easier for new users.

**Silc** supports sending of practically any kind of messages in addition of normal text messages in the SILC network.  This includes multimedia messages like images, video and audio stream.  The session to SILC server is secured with session key, channel messages are protected with channel key and private messages with session keys.  It is also possible to use private channel keys and private message keys in addition to server generated keys.  It is also possible to digitally sign all messages.

**Silc** supports *passphrase* authentication and public key authentication based on *digital signatures*, when connecting to SILC server.  **Silc** also supports key exchange (key agreement) between other **Silc** users in the SILC network to negotiate secret key material.  This key material then can be used to secure for example private messages.  It is also possible to exchange public keys and certificates in the SILC network between clients and servers.

The **silc** also supports *detaching* from the SILC network by closing the connection to the server but without quitting from the network.  Next time the **silc** connects to the server it *resumes* the session in the SILC network.  During the detaching the user remains in the network and other users may query the user information and see that user is in network but currently detached.  Messages sent to user while being detached are dropped by the server.  When resuming is over the user has automatically same nickname than before detaching and remains on all channels, and it seems like user never left the network.

The **silc** also supports creation of *friends* list, which is kind of a buddy list familiar from IM (Instant Messaging) clients.  By using the **WHOIS** SILC command with *-details* option it is possible to fetch the user´s information such as their public keys and certificates, business card, pictures, and other information and save them to the friends list. The friends list is located at **~/.silc/friends/** directory.

The SILC public key and private key pair is used to authenticate the user to the SILC server when connecting a server.  This key pair is created automatically when the **silc** is run for the first time.  It can also be created with **-C** option.

When connecting for the first time to SILC server, user will be asked to accept the server´s public key.  When key is accepted the **silc** saves the public key for future into **~/.silc/serverkeys/** directory.  The next time user connects to same server the public key is verified against the saved public key.  The purpose of this public key saving is to avoid man-in-the-middle attacks which could be possible if the key would have to be verified every time user connects to the server.

## OPTIONS

**-c** *host*      Connect to given host

**-p** *port*      Connect to *port*

**-C**           Create new public key pair

**-P**           Change the passphrase of the private key file

**-S** *keyfile*   Display the contents of given SILC public key from file

**-n** *nick*      Specify what nick to use

**-h** *host*      Give *host* as your hostname

**-w** *pass*      Use *pass* as password for connection

**-d** *string*    Enable debugging

**-v**           Display client version

**-!**           Do not autoconnect

**-?**           Display client help message

## LONG OPTIONS

**--connect**=*SERVER*     Same as **-c**.

**--port**=*PORT*          Same as **-p**.

**--home**=*PATH*          Client home dir (*~/.silc*).

**--config**=*PATH*        Configuration file location (*~/.silc/silc.conf*).

**--list-ciphers**       List supported ciphers.

**--list-hash-funcs**    List supported hash functions.

**--list-hmacs**         List supported HMACs.

**--list-pkcs**          List supported PKCSs.

**--create-key-pair**    Same as **-C**.

**--passphrase-change**  Same as **-P**.

**--nick**=*NICK*          Same as **-n**.

**--hostname**=*HOST*      Same as **-h**.

**--password**=*PASS*      Same as **-w**.

**--debug**=*STRING*       Same as **-d**, limit to messages \**STRING*\*.

**--dummy**              Use dummy terminal mode.

**--version**            Same as **-v**.

**--noconnect**          Same as **-!**.

**--help**               Same as **-?**.

**--usage**              Display very brief usage summary.

## KEY GENERATION

When generating key pair(s) for silc (**-C**), the following extra switches apply:

**--pkcs**=*PKCS*       Set the public key algorithm of key pair.  For example **rsa**.

**--bits**=*VALUE*       Set the length of public key pair, in bits.

## CONFIGURATION FILE

The **silc** configuration file is **~/.silc/silc.conf** and can be used to configure the behaviour of the client.  The configuration file format is equivalent to Irssi IRC client´s configuration file.  See the  documentation for the configuration file at **http://irssi.org**.

There are a few **silc** configuration settings in *silc.conf* which can be configured in *settings* section under *"server"* block. They can be set also with the **/SET** command in the **silc** client.

**crypto\_default\_cipher**

The default cipher to use to secure the session to the server. Values can be for example **aes-256-cbc**, **aes-192-cbc**, **aes-128-cbc**, **twofish-256-cbc**, **twofish-192-cbc**, **twofish-128-cbc**.

**crypto\_default\_hash**

The default hash function to use in session with the server. Values can be **sha1** or **md5**.

**crypto\_default\_hmac**

The default HMAC to be use in session with the server.  Value can be **hmac-sha1-96**, **hmac-md5-96**, **hmac-sha1** or **hmac-md5**.

## FILES

**~/.silc/silc.conf**

Client´s configuration file

**~/.silc/public\_key.pub**

The SILC public key of the user

**~/.silc/private\_key.pub**

The SILC private key of the user

**~/.silc/clientkeys/**

The directory holding the public keys of other users the user has accepted and trusted in the SILC network.  The public keys can be received with **GETKEY** SILC command or during key agreement between two users.

**~/.silc/serverkeys/**

The directory holding the public keys of servers the user has accepted and trusted when connecting to a server.

**~/.silc/friends/**

The directory holding the information of *friends* that user has. User can create a friend list with **WHOIS -details** SILC command.  This directory holds the friends´ public keys, business cards, pictures, and other information.

## SEE ALSO

**[silcd(8)](/silcd/8.md)** **[silcd.conf(5)](/silcd.conf/5.md)**

## NETWORK RESOURCES

Homepage: **http://silcnet.org**

SILC Client is based on Irssi IRC client: **http://irssi.org**

User´s guide: **http://silcnet.org/docs/**

## AUTHOR

SILC is designed and written by Pekka Riikonen \<priikone@iki.fi\> and rest of the SILC Project.

This manpage was written by Mika ´Bostik´ Boström \<bostik@lut.fi\>

See **CREDITS** for full list of contributors.
