Networks such as the Internet are shared by parties with conflicting interests,
a situation that was not entirely foreseeable in the early days of
networking. The job of network security is to keep some set of users from
spying on or interfering with other users of the network. Confidentiality
is achieved by encrypting messages. Data integrity can be assured
using cryptographic hashing. The two techniques can be combined to
guarantee authenticity of messages.