Топ питань
Часова шкала
Чат
Перспективи

Galois/Counter Mode

З Вікіпедії, вільної енциклопедії

Remove ads

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

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

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

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

Remove ads

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

Узагальнити
Перспектива
Thumb
Алгоритм шифрування в режимі 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.

Remove ads

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

Режим 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.

Remove ads

Дивись також

Примітки

Посилання

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads