# AES

AES (Advanced Encryption Standard), also known as **Rijndael algorithm**, is a **symmetric encryption algorithm** that is widely used to secure data. It was selected by the U.S. National Institute of Standards and Technology (NIST) as the encryption standard in 2001, after a public competition to find a replacement for the aging Data Encryption Standard (DES).

AES uses a fixed block size. In a symmetric encryption algorithm, the same key is used for both encryption and decryption, which makes it fast and efficient. However, it also means that the key must be securely shared between the sender and receiver of the encrypted data.

AES is considered to be a very secure encryption algorithm and is widely used in various applications, including disk encryption, file compression, and secure communication protocols.

{% hint style="info" %}
[Somebody estimated](https://crypto.stackexchange.com/a/48669) that if you turned the power of the entire Bitcoin mining network against an AES-128 key, it would take over a hundred times the age of the universe to crack the key.
{% endhint %}

## How it works ?

**The Rijndael scheme** is a **block cipher** that divides the input plaintext into a block of four rows and four columns.

A block consists of a total of **16 bytes**, so each cell contains one byte. During encryption or decryption, **each block goes through multiple rounds of 4 steps** (only 3 steps at the last round). Depending on the length of the key.

* 10 rounds for AES-128
* 12 rounds for AES-192
* 14 rounds for AES-256.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
