Cryptography is the science of creating and deciphering coded writing in a way that keeps the contents secure. Cryptography has been used over thousands of years to keep messages secret, and with the Internet, new needs and challenges arose in order to protect information such as e-mail, credit card transactions, and corporate data. A Cryptographic Service Provider provides this type of protection.
A Cryptographic Service Provider, also known as a Cryptography Service Provider or CSP, is a means of providing either hardware- or software-based encryption and decryption. Encryption refers to the translation of data into a coded file which requires a secret key or password to be read. It is a widely used and effective means of insuring the security of data. Decryption refers to the decoding of data that has been encrypted so that it can be read as a normal communication, or plain text, in its language of origin.
Cryptographic Service Providers can use symmetric or asymmetric encryption. Asymmetric encryption is also known as public-key encryption. In symmetric encryption, the same key encrypts and decodes the message, making the operations symmetrical. Asymmetric or public-key encryption uses two different keys. The public key is a key that everyone knows and is used by a group, anyone of whom can send a message to any other member of the group. The private key is used by the individual member to decrypt the message. Asymmetric encryption is also called Diffie-Hellman encryption after its inventors, Whitfield Diffie and Martin Hellman, who came up with the system in 1976.
In a Windows environment, for example, the Microsoft Cryptographic Service Provider is a software module that is capable of functioning independently and performing cryptography for authentication, encryption, and encoding. Even though it may sound like a synonym, encoding and encryption are not synonymous terms: encoding is the conversion of data into a bit stream. The components include, at a minimum, a dynamic-link library (DLL) and system program interfaces (CryptoSPIs). CSPs may either contain their own function implementation or their functions may be implemented in a service program that is Windows-based, which would be a program managed through the Windows service control manager. Hardware implementations include a secure coprocessor or a smart card.
A smart card is a credit-card sized plastic card with electronic memory and sometimes having an integrated circuit, in which case it is also called an integrated circuit card (ICC). They are used for storing sensitive data, including medical records, digital cash, and for generating network IDs. Information is added or pulled from a smart card using a smart card reader. Cryptographic smart cards include cryptographic hardware and are used for digital signatures, for example. The Windows Cryptographic Service Provider can access the data on cryptographic smart cards.