Lastly i've wrote about Cryptographic Hash Functions and i've recognized, that it's might be important to have a clear understanding of the cryptography basics at all. Hash function's is one of the important cryptography building blocks, but let' me first go a step back and draw the overall picture..
Let's recap what the main goals of using cryptography in IT systems are:
- Authentication - Receiving party can verify the source of the message. As example verifying the authenticity of a website with a digital certificate.
- Integrity - Here protecting information from being modified by unauthorized parties.
- Confidentiality - More commonly, the biggest concern is be to keep information private. Cryptographic systems were originally developed to function in this capacity.
- Non-repudiation - It provides protection against denial of one of the entities involved in the communication. Often, cryptographic tools are required to prove that a unique user has made a transaction request. It must not be possible for the user to refute his or her actions.
In cryptography, a cryptosystem is a suite of cryptographic algorithms needed to implement a particular security service. Typically, a cryptosystem consists of algorithms for key generation, encryption, and decryption. Encryption and decryption algorithms referred as ciphers.
A cipher (or cypher) is an algorithm (Series of well-defined steps - a procedure) for performing encryption or decryption. Such procedure is depending on a piece of auxiliary information, called a key. At the end without knowledge of the key, it should be unfeasible to decrypt the resulting ciphertext into readable plaintext.
Ciphers can be categorized in the following way:
- Whether the same key is used for both encryption and decryption (symmetric key algorithms), or if a different key is used for each (asymmetric key algorithms).
- Whether they work on blocks of symbols usually of a fixed size (block ciphers), or on a continuous stream of symbols (stream ciphers).
Because every topic may have many many details, i prefer to split them up in separate Articles you can find listed below
0. Cryptographic Hash Functions
1. Symmetric key algorithms
2. Message Authentication
3. Asymmetric key algorithms (not ready)
4. X.509 Certificates (not ready)
5. TLS/SSL and Secret agreement (Not ready)