Cryptography in Daily Life
I’m starting a new blog series on Cryptography in Daily Life as the title goes , for everyone from daily app users to security architects to gain some knowledge on how cryptography works in daily life and how to apply Cryptography in software projects respectively.
I’m not a Cryptographer and these blog series are the outcome of notes that I have documented to understand Cryptography over period of time by reading various books from expert cryptography authors and thought these notes documented via blog series will be helpful to one who use the daily app involving cryptography or implementing crypto primitives in a project.
This is a small effort from my end to give back to the security community.
Short Definition :
Cryptography is the science and art of secure communication.
Building Blocks :
Cryptography relies on various cryptographic primitives which are the basic building blocks used to create cryptographic systems.
Some examples of cryptographic primitives include:
Encryption algorithms: Encryption algorithms are used to transform plain text into cipher text, which is a scrambled version of the original text that can only be decrypted with a key.
Examples of encryption algorithms include AES, RSA, and Blowfish.
Hash functions: Hash functions are one-way functions that generate a fixed-length string of characters, known as a hash or message digest, from an input message. They are used for data integrity verification, digital signatures, and other purposes. Examples of hash functions include SHA-256 and MD5. In the later blog I will talk about how secure these hashing functions are when it is employed in the system.
Key exchange protocols: Key exchange protocols are used to securely exchange keys between two parties, so that they can communicate securely using symmetric encryption. Examples of key exchange protocols include Diffie-Hellman and RSA key exchange.
Digital signatures: Digital signatures are used to authenticate the identity of the sender of a message or document, and to ensure the integrity of the message or document. Examples of digital signature algorithms include RSA and DSA.
Random number generators: Random number generators are used to generate unpredictable values that are used as keys, initialization vectors, and other parameters in cryptographic algorithms. Examples of random number generators include Fortuna and Blum Blum Shub. These are Cryptographically secure random number generators that are suitable for practical applications where high security is required.
In the later blog I will talk more about on random number generators.
Page 1