Cryptography is the art and science of encoding and decoding (enciphering/deciphering) data so that outside parties cannot decode the data. High-level functions enabled through the use of cryptography include the following:

  • Confidentiality of information during storage and transmission
  • Authenticationof users and received/retrieved information
  • Integrity of data
  • Non-repudiation of transactions
  • Availability of data and resources
  • Controlled access to information and resources

Network security protocols and applications use a variety of cryptographic algorithms to achieve these high-level goals. Because cryptography is computationally intensive, hardware acceleration is highly desirable when cryptographic algorithms are frequent system functions.