Content Hash Key (Freenet)

Content Hash Key is used on Freenet to link to a specific block of data or a file. It depends upon the contents of the data and is therefore predictable in advance, if the data is known.

It is not possible to update the information behind CHK, and is thus used to transfer data that is unlikely to change (such as multimedia content). It is not normally used to publish media like sites or chat messages.

The key consists of:
 * String "CHK@" in the beginning of the key
 * Routing key, needed to find the data on the network
 * Symbol ','
 * Decryption key, needed to decrypt the data once it is downloaded, in this case it is the hash of the file
 * Symbol ','
 * String determining the encryption method
 * Symbol '/'
 * Name of the file

Decryption key is not transferred when the data is being requested or sent via the network, thus it is necessary to already know what the data is in order to decrypt it (somebody needs to have told you the key already).

Slash and the name of the file can in some cases not be present.

External link

 * https://wiki.freenetproject.org/Content_Hash_Key