> For the complete documentation index, see [llms.txt](https://chunhthanhde.gitbook.io/google-learning-programs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chunhthanhde.gitbook.io/google-learning-programs/google-it-support-professional-certificate/course-5-it-security-defense-against-the-digital-dark-arts/module-2-pelcgbybtl-cryptology/1.symmetric-encryption/3.symmetric-encryption-algorithms.md).

# Symmetric Encryption Algorithms 🔐

Symmetric encryption algorithms use a single key for both encryption and decryption. This summary covers the evolution of symmetric encryption, focusing on notable algorithms and their key features.

### **Overview of Symmetric Encryption Algorithms** 🔍

* **Definition**: Symmetric encryption algorithms use the same key for encrypting and decrypting data.
* **Key Size**: The strength of symmetric encryption largely depends on key length. Longer keys generally offer more security.

### **Historical Context** 📜

* **Data Encryption Standard (DES)**:
  * **Introduction**: Developed in the 1970s by IBM with input from the US NSA.
  * **Specifications**:
    * Block size: 64 bits
    * Key size: 56 bits (64 bits total, with 8 bits used for parity checking)
  * **Security**: Initially robust, but key length proved insufficient as technology advanced. In 1998, DES was broken in 56 hours by the Electronic Frontier Foundation (EFF) due to its small key size.
* **Advanced Encryption Standard (AES)**:
  * **Introduction**: Adopted in 2001 by NIST to replace DES after an international competition.
  * **Specifications**:
    * Block size: 128 bits
    * Key sizes: 128 bits, 192 bits, or 256 bits
  * **Security**: AES is highly secure with current technology, and brute-force attacks are impractical due to its large key sizes.

### **Algorithm Implementation** 💻

* **Speed and Ease of Implementation**:
  * **Implementation**: Efficient algorithms are preferred to avoid errors and maintain security. Speed is crucial for handling frequent encryption operations.
  * **Hardware Acceleration**: Modern CPUs from Intel and AMD include AES instructions to speed up encryption and decryption processes.

### **Stream Ciphers** 🔄

* **RC4 (Rivest Cipher 4)**:
  * **Introduction**: Widely used due to its simplicity and speed but has significant vulnerabilities.
  * **Weaknesses**: Vulnerable to attacks such as the RC4 no more attack, which can break encrypted connections. RC4 was deprecated in 2015 due to inherent weaknesses.

### **Current Best Practices** ✅

* **Preferred Configuration**:
  * **TLS 1.2 with AES-GCM**: TLS 1.2 with AES in Galois/Counter Mode (GCM) is a preferred secure configuration. GCM turns AES into a stream cipher, using randomized seed values and sequentially numbered blocks of ciphertext to ensure robust encryption.

## Key Takeaways

* **Symmetric Encryption**: Uses the same key for both encryption and decryption, with key size impacting security.
* **DES**: An older standard with limited key size, now replaced by AES.
* **AES**: Modern standard with strong security features and larger key sizes.
* **RC4**: Previously popular but now considered weak and deprecated.
* **Current Practice**: Use AES-GCM with TLS 1.2 for secure encryption.

🔐📜💻
