GCM (абр. від — лічильник з автентифікацією Галуа) — режим роботи, що широко застосовується в симетричних блокових шифрах, має високу ефективність і продуктивність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.. Є режимом автентифікованого шифрування (AEAD), надаючи як конфіденційність, так і автентифікацію переданих даних (гарантуючи їх цілісність).

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

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

Стандарт NIST США з 2007 рокуNIST Special Publication 800-38D , November, 2007, Recommendation for BlockCipher Modes of Operation:Galois/Counter Mode (GCM) and GMAC..

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

У звичайному режимі шифрування 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 від IETFRFC 4106 The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP)RFC 4543 The Use of Galois Message Authentication Code (GMAC) in IPsec ESP and AH, може застосовуватися в SSHRFC 5647 AES Galois Counter Mode for the Secure Shell Transport Layer Protocol і TLS (версії 1.2 або новіше)RFC 5288 AES Galois Counter Mode (GCM) Cipher Suites for TLSRFC 6367 Addition of the Camellia Cipher Suites to Transport Layer Security (TLS). Застосовується в VPN рішеннях SoftEther VPN і OpenVPN з версії 2.4.

Дивись також

Режим шифрування

Примітки

Посилання

NIST Special Publication SP800-38D defining GCM and GMAC (англ.) RFC 4106: The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP)(англ.) RFC 4543: The Use of Galois Message Authentication Code (GMAC) in IPsec and ESP AH(англ.) RFC 5288: AES Galois Counter Mode (GCM) Cipher Suites for TLS(англ.) RFC 6367: Addition of the Camellia Cipher Suites to Transport Layer Security (TLS)(англ.) IEEE 802.1 AE — Media Access Control (MAC) Security (англ.) IEEE Security in Storage Working Group developed the P1619.1 standard(англ.) INCITS T11 Technical Committee works on Fibre Channel — Security Protocols project. (англ.) AES-GCM and AES-CCM Authenticated Encryption in Secure RTP (SRTP) (англ.) (рос.) Симетричні схеми автентичного шифрування - GCM в cryptowiki.net