Share (P2P)
"Share" uses encryption to hide the identity of who is transferring or what they are transferring. It is non-centralized so it cannot be easily shut down and it supports multiple source "swarm" downloading. All files are transferred encrypted so they must be decrypted upon download completion. In the meantime they are stored in encrypted form in a "Cache" folder. This folder is also used to allow recently downloaded files to be shared among the network based on priorities.
Block cipher
A block cipher consists of two paired algorithms, one for encryption, "E", and the other for decryption, "D". Both algorithms accept two inputs: an input block of size "n" bits and a key of size "k" bits; and both yield an "n"-bit output block. The decryption algorithm "D" is defined to be the inverse function of encryption, i.e., "D" = "E". More formally, a block cipher is specified by an encryption function
which takes as input a key "K" of bit length "k", called the "key size", and a bit string "P" of length "n", called the "block size", and returns a string "C" of "n" bits. "P" is called the plaintext, and "C" is termed the ciphertext. For each "K", the function "E"("P") is required to be an invertible mapping on {0,1}. The inverse for "E" is defined as a function
taking a key "K" and a ciphertext "C" to return a plaintext value "P", such that