YaChudo

Galois/Counter Mode

Переглядів: 0. Оновлено 10.10.2026.

GCM (абр. від англ. Galois/Counter Mode — лічильник з автентифікацією Галуа) — режим роботи, що широко застосовується в симетричних блокових шифрах, має високу ефективність і продуктивність[1]. Є режимом автентифікованого шифрування (AEAD), надаючи як конфіденційність, так і автентифікацію переданих даних (гарантуючи їх цілісність).

Режим GCM визначається для блокових шифрів з розміром блоку 128 біт. Існує варіант GCM під назвою GMAC, що надає лише автентифікацію даних, він може використовуватися як інкрементальний код автентифікації повідомлень. І GCM і GMAC приймають на вхід ініціалізаційний вектор (IV) довільної довжини. Алгоритм не обмежений патентами[2].

Завдяки наявності коду аутентифікації (імітовставки), даний режим автентифікованого шифрування дозволяє одержувачу легко виявити будь-які зміни повідомлення (як зашифрованого, так і доповненого інформацією, переданою відкрито), перш ніж почати його розшифровку, що значно покращує захист від спотворень, атак активного MITM і атак на основі оракулів (наприклад від Padding oracle attack для CBC-режиму).

Стандарт NIST США з 2007 року[3].

Принцип роботи

Алгоритм шифрування в режимі GCM. Показаний випадок 1 блоку додаткових автентифікованих даних "Auth Data 1". Початкове значення лічильника містить у собі вектор IV (чи є похідним від нього). На вхід подаються два блоки відкритого тексту plaintext 1 і 2. Операція E_K позначає шифрування на загальному ключі K, операція multH означає множення в полі GF(2^128) на ключ хеша H, "incr" позначає інкремент лічильника.[4]

У звичайному режимі шифрування CTR (лічильник) вхідні блоки нумеруються послідовно, номер блоку шифрується блоковим алгоритмом E (зазвичай AES). Вивід функції шифрування використовується в операції xor (виключне або) з відкритим текстом для отримання шифротексту. Як і для інших режимів на базі лічильників, схема являє собою потоковий шифр, тому обов'язковим є використання унікального вектора ініціалізації для кожного шифрованого потоку даних.

У GCM використовується функція Галуа "Mult" ("GHASH(H, A, C)"), яка комбінує блоки шифротексту та код автентифікації, щоб отримати тег автентифікації. На вхід функції подається ключ хешування H, що є результатом шифрування 128 нульових бітів на ключі K, т.е. H=E(K, 0^128). Тег автентифікації використовується для перевірки цілісності повідомлень. По каналу передаються: вектор ініціалізації IV, блоки шифротексту, і код автентифікації (16 байтів). За своїми властивостями режим GCM (GMAC) схожий на HMAC.

Застосування

Режим GCM використовується в IEEE 802.1 AE (MACsec) для безпечного Ethernet, бездротовому IEEE 802.11ad (WiGig в 60-ГГц смузі), "Fibre Channel Security Protocols" (FC-SP) від ANSI (INCITS), форматі зберігання на цифрових стрічках IEEE P1619.1, в стандартах IPsec від IETF[5][6], може застосовуватися в SSH[7] і TLS (версії 1.2 або новіше)[8][9]. Застосовується в VPN рішеннях SoftEther VPN і OpenVPN з версії 2.4.

Дивись також

Примітки

  1. ↑ Lemsitzer, Wolkerstorfer, Felber, Braendli, Multi-gigabit GCM-AES Architecture Optimized for FPGAs. CHES '07: Proceedings of the 9th international workshop on Cryptographic Hardware and Embedded Systems, 2007.
  2. ↑ Архівована копія (PDF). Архів оригіналу (PDF) за 29 серпня 2008. Процитовано 5 квітня 2018.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  3. ↑ NIST Special Publication 800-38D [Архівовано 5 серпня 2011 у Wayback Machine.], November, 2007, Recommendation for BlockCipher Modes of Operation:Galois/Counter Mode (GCM) and GMAC.
  4. ↑ http://ai2-s2-pdfs.s3.amazonaws.com/114a/4222c53f1a6879f1a77f1bae2fc0f8f55348.pdf
  5. ↑ RFC 4106 The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP)
  6. ↑ RFC 4543 The Use of Galois Message Authentication Code (GMAC) in IPsec ESP and AH
  7. ↑ RFC 5647 AES Galois Counter Mode for the Secure Shell Transport Layer Protocol
  8. ↑ RFC 5288 AES Galois Counter Mode (GCM) Cipher Suites for TLS
  9. ↑ RFC 6367 Addition of the Camellia Cipher Suites to Transport Layer Security (TLS)

Посилання

Джерело: стаття у Вікіпедії та історія редагувань (автори).