The main problem with symmetric encryption is that of securely sharing keys. For a recipient to decrypt a message, they need the same key as the sender, and this exchange of keys can be very difficult to do securely. A good solution to this problem is to use asymmetric cryptography …

Read More »## Advanced Encryption Standard (AES)

The Advanced Encryption Standard (AES) is the latest encryption standard adopted by NIST in 2001 for the symmetric encryption of messages. The AES algorithm was selected as part of a contest to find a replacement for the Data Encryption Standard (DES). This algorithm was based on the Rijndael cipher developed …

Read More »## Data Encryption Standard (DES)

The Data Encryption Standard (DES) used to be the default standard for symmetric encryption of data. DES was based on an earlier design by Horst Feistel and developed by IBM in the early 1970s. DES was submitted to the National Bureau of Standards as part of a drive to propose …

Read More »## Symmetric Encryption

A symmetric encryption algorithm is a two-way encryption procedure that employs the same key for both encryption and decryption of the information. Theoretically, this seems straightforward as both the sender and receiver of the message should know the key, however in practice safely sharing a key is very hard to …

Read More »## Cryptographic Random Numbers

Random numbers are essential in cryptography as you need them for generating encryption keys for symmetric algorithms such as AES, as well as for adding entropy into hashing functions and key derivation functions. Usually in .NET, when you want to generate a random number or a pseudorandom number, you would make …

Read More »## What is Cryptography?

Throughout history, cryptography has been used to confidentially complete messages to various recipients. This has been specifically beneficial in times of war. Up until World War II, with the use of the German enciphering machine Enigma, communications that have been encrypted were text-based. With the advent of modern computing, cryptography …

Read More »