# data[].attributes.body
Is a popular, secure, and a widely used symmetric key block cipher algorithm.

It so so secure that no significant practical attacks are known for AES in its history so it is used internally by the most websites today.

This algorithm can operate with different key lengths, but the block size is always 128 bits but for higher encryption levels, there is a 256-bit key length.

# data[].attributes.body
Encryption (scrambling) and decryption (unscrambling) information generally fall into two buckets: Symmetric and
Asymmetric.

Symmetric: encryption and decryption keys are the SAME, uses a private key.

Asymmetric: encryption and decryption keys are DIFFERENT, uses a private key and a public key. Every public key only has one private key.

# data[].attributes.body
Keys are, to put it simply, large secret numbers. They are derived from numbers, passwords or passphrases using key derivation algorithms.

# data[].attributes.body
An improvement on the Caesar Cipher, but still can be broken.

There is not just 1 shift, but n shifts, which then repeat themselves.

If the shifts are 5, 8, 13, 0, 1, 1, 2, 3, then the first letter is shifted 5 letters, the second letter is shifted 8 letters, the next is shifted 13 letters, etc. The sequence then repeats.

# data[].attributes.body
A type of asymmetric key cipher

The RSA algorithm provides:

Key-pair generation: generate random private key and corresponding public key.

Encryption: encrypt a secret message using the public key and decrypt it back using the secret key.

Digital signatures: sign messages and verify message signature.

Key exchange: securely transport a secret key.

# data[].attributes.body
Cryptography deals with storing and transmitting data in a secure way, such that only those, for whom it is intended, can read and process it.

This may involve encrypting and decrypting data using encryption schemes, where one or more keys are used to transform data from plain to encrypted form and back.

# data[].attributes.headline
Regular and Cryptographic Hash Functions

# data[].attributes.subject
Regular and Cryptographic Hash Functions

# data[].attributes.body
The major difference between the two types of hash functions is that cryptographic hash function attempts to minimize collisions — when two inputs result in the same output.

# data[].attributes.body
Blockchain: In blockchain systems hashes are used to generate blockchain addresses, transaction ID and in many other algorithms and protocols.

Git: In Git cryptographic hashes are used for generating unique ID for files and commits.

Password hashing: Protects a user's passwords, password-encrypted documents, and data by securely deriving a hash.

# data[].attributes.body
Cryptography uses random numbers and deals with entropy. Secure random numbers are unpredictable by nature, which is why all developers should use them.

# data[].attributes.body
This is a very basic form of cryptography that originated thousands of years ago.

Involves shifting the letters in a message by a certain number of letters. For example, a shift by 7 would be A -> H, B -> I, C -> J, etc.

Easily broken by using frequency analysis.

Click the link to try it out for yourself and see how it works!

# data[].attributes.attachment_link.description
Method in which each letter in the plaintext is replaced by a letter some fixed number of positions down the alphabet. The method is named after Julius Caesar, who used it in his private correspondence.

# data[].attributes.headline
Why is cryptography important to cybersecurity?

# data[].attributes.subject
Why is cryptography important to cybersecurity?

# data[].attributes.body
Cryptography not only protects data from theft or alteration, but can also be used for user authentication.

Ensures confidentiality.

Prevents users from forging transactions.

Allows messages to be encrypted in-transit via messaging apps.

# data[].attributes.body
Unlike Ceasar and Polyalphabetic Shift Ciphers, the one-time pad provides perfect secrecy as every letter is assigned a random shift.

This, however, requires a lot of data as every letter in every message/file has to be shifted.

Generating random shifts was what the Enigma machine built by the Germans in WWII was designed to do. However, the machine contained human error that allowed for the code to be broken.

# data[].attributes.body
We can think of hash functions as any kind of function (for example, a machine where you input x, and get an output of y). Hash functions specifically output a value of a previously specified length.

# data[].attributes.body
Crytography is a field of study focused on communication and data storage that is protected from an unwanted third-party.