Wybieranie najlepszego trybu szyfrowania blokowego AES (AES-GCM VS AES-CBC) (2024)

--

Wybieranie najlepszego trybu szyfrowania blokowego AES (AES-GCM VS AES-CBC) (2)

Co to jest szyfr blokowy?

Szyfr blokowy to metoda szyfrowania. Te szyfry zegarowe łamią wiadomość, która musi zostać zaszyfrowana w bloki o podobnym rozmiarze. Następnie te zwykłe bloki lub zwykły tekst zostaną przekonwertowane na tekst zaszyfrowany lub blok szyfru. Szyfr zastosuje ten sam algorytm do zaszyfrowania wszystkich bloków.

Ten algorytm jest semantyczny lub odwracalny. Jest więc przygotowany do korzystania z tego samego procesu do szyfrowania wiadomości lub odszyfrowywania wiadomości.

Wybieranie najlepszego trybu szyfrowania blokowego AES (AES-GCM VS AES-CBC) (3)

Wśród społeczności programistów istnieje wiele schematów szyfrów blokowych. Wśród nich DES i AES to dwa najbardziej znane współczesne szyfry blokowe. w tym artykule skupiamy się głównie na obcinaczu bloków AES

O AESie

TheAESoznaczaZaawansowany Standard Szyfrowania.

Projekt ten został zapoczątkowany w 1997 roku przez Narodowy Instytut Standardów i Technologii (NIST) jako alternatywa dla standardu szyfrowania danych (Z).

To symetryczne/odwracalne urządzenie do szyfrowania bloków szyfrujących jest przystosowane do obsługi bloków 128-bitowych przy użyciu kluczy o długości 128, 192 i 256 bitów. Ten rębak blokowy jest szczególnie znany z ochrony danych w stanie spoczynku i jest powszechnie uważany za najbezpieczniejszy szyfr szyfrujący z kluczem symetrycznym, jaki kiedykolwiek wynaleziono.

Tryby szyfrowania AES

Tryby szyfrowania są wymagane do zwykłej implementacji AES. Nieprawidłowa implementacja lub zastosowanie trybów może poważnie zagrozić bezpieczeństwu algorytmu AES. W AES dostępnych jest wiele trybów rębaka. Niektóre z często używanych trybów szyfrowania AES są następujące.

  • Tryb EBC: Tryb elektronicznej książki kodów
  • Tryb CBC: tryb łączenia bloków szyfrów
  • Tryb CFB: Tryb sprzężenia zwrotnego szyfru
  • Tryb OFB: Tryb sprzężenia zwrotnego wyjścia
  • Tryb CTR: Tryb licznika
  • Tryb GCM: tryb Galois/Counter

W tym artykule opisujemy i porównujemy głównie najczęściej używany tryb łączenia bloków szyfrów (CBC) i tryb Galois/Counter (GCM).

Tryb CBC: tryb łączenia bloków szyfrów

W trybie CBC każde szyfrowanie tego samego tekstu jawnego powinno skutkować innym tekstem zaszyfrowanym. Tryb CBC robi to za pomocą wektora inicjującego. Wektor ma taki sam rozmiar jak zaszyfrowany blok.

Jak działa AES-CBC
Początkowo anXORoperacja jest wykonywana na bloku tekstu jawnego z wektorem, następnie proces szyfrowania zostanie przeprowadzony za pomocą klucza szyfrującego. Po poprzedniej operacji wynik każdego bloku przechodzi w operacji xor następnego bloku tekstu jawnego.

Wybieranie najlepszego trybu szyfrowania blokowego AES (AES-GCM VS AES-CBC) (4)

Problemy w (tryb CBC)

Jednym z głównych problemów jest błąd jednego bloku tekstu jawnego, który wpłynie na wszystkie kolejne bloki. Jednocześnie tryb łączenia bloków szyfrów (CBC) jest podatny na wiele typów ataków.

  • Chosen Plaintext Attack (CPA) — Ataki zestawem wybranych tekstów jawnych i uzyskanie odpowiedniego tekstu zaszyfrowanego.
  • Chosen Ciphertext Attack (CCA) — Ataki z zestawem wybranych tekstów zaszyfrowanych w celu uzyskania odpowiednich tekstów jawnych.
  • Dopełnienie ataków wyroczni

AES-GCM zamiast AES-CBC

Zarówno AES-CBC, jak i AES-GCM są w stanie zabezpieczyć Twoje cenne dane dzięki dobrej implementacji. ale aby zapobiec złożonym atakom CBC, takim jak Chosen Plaintext Attack (CPA) i Chosen Ciphertext Attack (CCA), konieczne jest użycie uwierzytelnionego szyfrowania. Więc najlepszą opcją jest GCM. AES-GCM jest pisany równolegle, co oznacza, że ​​przepustowość jest znacznie wyższa niż AES-CBC dzięki obniżeniu kosztów ogólnych szyfrowania.

AES-GCM

Mówiąc prościej, obcinacz bloków w trybie licznika Galois (GCM) to połączenie trybu licznika (CTR) i uwierzytelniania, jest szybszy i bezpieczniejszy dzięki lepszej implementacji operacji w terenie opartych na tabelach. GCM ma dwie operacje, uwierzytelnione szyfrowanie i uwierzytelnione odszyfrowywanie.

Wybieranie najlepszego trybu szyfrowania blokowego AES (AES-GCM VS AES-CBC) (5)

Tryb GCM akceptuje implementacje potokowe i równoległe oraz ma minimalne opóźnienia obliczeniowe, aby był użyteczny przy dużych szybkościach transmisji danych.Jako podsumowanie, możemy wybrać tryb obcinania bloków Galois Counter Mode (GCM), aby osiągnąć doskonałą wydajność bezpieczeństwa danych w stanie spoczynku.

Odniesienie

  • Blazhevski, D., Božinovski, A., Stojcevska, B. i Pachovski, V., 2013.TRYBY DZIAŁANIA ALGORYTMU AES. [online]https://www.researchgate.net.Dostępne pod adresem:
  • McGrew, D. i Viega, J.Tryb działania Galois/Counter (GCM). [online] Luca-giuzzi.unibs.it. Dostępne pod adresem:
  • Ahamed, N. i Wei, L., 2017.Zaawansowany standard szyfrowania z trybem licznika Galois przy użyciu programowalnej macierzy bramek.. [online] Iopscience.iop.org. Dostępne pod adresem:
  • Kaneesha, D., ndJaka jest różnica między AES-CBC a AES-GCM? — Baza wiedzy / Dane techniczne / Ustawienia i funkcje aplikacji / Szyfrowanie — Portal wsparcia PIA. [online] Privateinternetaccess.com. Dostępne pod adresem:
  • Dworkin, M., 2021.Zalecenia dotyczące trybów działania szyfru blokowego: Tryb Galois/Counter (GCM) i GMAC. [online]https://nvlpubs.nist.go.Dostępne pod adresem:
Wybieranie najlepszego trybu szyfrowania blokowego AES (AES-GCM VS AES-CBC) (2024)

FAQs

What's the difference between AES-CBC and AES-GCM? ›

AES-CBC only performs a XOR between the block encrypts, and XOR's are so fast that the overhead should be negligible. AES-GCM however consists of counter (CTR) mode & GMAC calculations. CTR uses a 128-bit counter (negligible) and a XOR. However, the GMAC will have to be performed on top of that.

What is the difference between AES and CBC? ›

CBC (short for cipher-block chaining) is a AES block cipher mode that trumps the ECB mode in hiding away patterns in the plaintext. CBC mode achieves this by XOR-ing the first plaintext block (B1) with an initialization vector before encrypting it.

What cipher is AES? ›

The AES Encryption algorithm (also known as the Rijndael algorithm) is a symmetric block cipher algorithm with a block/chunk size of 128 bits. It converts these individual blocks using keys of 128, 192, and 256 bits. Once it encrypts these blocks, it joins them together to form the ciphertext.

What is AES in CBC mode? ›

The Cipher Block Chaining (CBC) mode is a typical block cipher mode of operation using block cipher algorithm. In this version, we provide Data Encryption Standard (DES) and Advanced Encryption Standard (AES) processing ability, the cipherkey length for DES should be 64 bits, and 128/192/256 bits for AES.

Is CBC or GCM better? ›

AES-GCM is a more secure cipher than AES-CBC, because AES-CBC, operates by XOR'ing (eXclusive OR) each block with the previous block and cannot be written in parallel. This affects performance due to the complex mathematics involved requiring serial encryption.

What is the difference between AES-128 CBC and GCM? ›

From a cryptographic perspective, though, both AES-CBC and AES-GCM are highly secure. GCM provides authentication, removing the need for an HMAC SHA hashing function. It is also slightly faster than CBC because it uses hardware acceleration (by threading to multiple processor cores).

Top Articles
Latest Posts
Article information

Author: Madonna Wisozk

Last Updated:

Views: 5822

Rating: 4.8 / 5 (48 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Madonna Wisozk

Birthday: 2001-02-23

Address: 656 Gerhold Summit, Sidneyberg, FL 78179-2512

Phone: +6742282696652

Job: Customer Banking Liaison

Hobby: Flower arranging, Yo-yoing, Tai chi, Rowing, Macrame, Urban exploration, Knife making

Introduction: My name is Madonna Wisozk, I am a attractive, healthy, thoughtful, faithful, open, vivacious, zany person who loves writing and wants to share my knowledge and understanding with you.