Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Легкий алгоритм шифрования (также известный как LEA ) представляет собой 128-битный блочный шифр , разработанный Южной Корея в 2013 году для обеспечения конфиденциальности в условиях высокой скорости , такие как большие данные и облачных вычисления , а также легкие среды , такие как устройства ВГДА и мобильные устройств . [1] LEA имеет три разных длины ключа: 128, 192 и 256 бит. LEA шифрует данные примерно в 1,5–2 раза быстрее, чем AES , наиболее широко используемый блочный шифр в различных программных средах.

LEA - это один из криптографических алгоритмов, одобренный Корейской программой проверки криптографических модулей (KCMVP), и национальный стандарт Республики Корея (KS X 3246). LEA включен в стандарт ISO / IEC 29192-2: 2019 (Информационная безопасность - Легкая криптография - Часть 2: Блочные шифры).

Спецификация [ править ]

Блочный шифр LEA, состоящий из операций ARX (модульное сложение, побитовое вращение и побитовое исключающее ИЛИ) для 32-битных слов, обрабатывает блоки данных из 128 бит и имеет три различных длины ключа: 128, 192 и 256 бит. LEA со 128-битным ключом, LEA с 192-битным ключом и LEA с 256-битным ключом называются «LEA-128», «LEA-192» и «LEA-256» соответственно. Количество раундов составляет 24 для LEA-128, 28 для LEA-192 и 32 для LEA-256.

Шифрование [ править ]

Пусть будет 128-битным блоком открытого текста и 128-битным блоком зашифрованного текста, где и ( ) - 32-битные блоки. Пусть ( ) - 192-битные круглые ключи, где ( ) - 32-битные блоки. Вот количество раундов алгоритма LEA. Операция шифрования описывается следующим образом:

  1. для к

Расшифровка [ править ]

Расшифровка происходит следующим образом:

  1. для вниз к

Ключевой график [ править ]

Ключевое расписание LEA поддерживает 128, 192 и 256-битные ключи и выводит 192-битные круглые ключи ( ) для части обработки данных.

Ключевое расписание для LEA-128 [ править ]

Пусть будет 128-битным ключом, где ( ) - 32-битные блоки. Ключевое расписание для LEA-128 принимает четыре 32-битных константы ( ) в качестве входных и выдает двадцать четыре 192-битных раундовых ключа ( ). Основное расписание работы LEA-128 выглядит следующим образом:

  1. для к

Ключевое расписание для LEA-192 [ править ]

Пусть будет 192-битным ключом, где ( ) - 32-битные блоки. Расписание ключей для LEA-192 принимает шесть 32-битных констант ( ) в качестве входных и выдает двадцать восемь 192-битных раундовых ключей ( ). Основное расписание работы LEA-192 выглядит следующим образом:

  1. для к

Ключевое расписание для LEA-256 [ править ]

Пусть будет 256-битным ключом, где ( ) - 32-битные блоки. Расписание ключей для LEA-192 принимает восемь 32-битных констант ( ) в качестве входных и выдает тридцать два 192-битных раундовых ключа ( ). Основные операции расписания для LEA-256 следующие:

  1. для к

Постоянные значения [ править ]

Восемь 32-битных значений констант ( ), используемых в ключевом расписании, приведены в следующей таблице.

Безопасность [ править ]

По состоянию на 2019 год ни об одной успешной атаке на LEA полного цикла не известно. Как это типично для итерационных блочных шифров, были атакованы варианты с сокращенным циклом. Лучшими опубликованными атаками на LEA в стандартной модели атаки (CPA / CCA с неизвестным ключом) являются атаки бумерангом и дифференциальные линейные атаки. Отношение запаса безопасности к полному количеству раундов превышает 37% по сравнению с различными существующими криптоаналитическими методами для блочных шифров.

Производительность [ править ]

LEA имеет очень хорошую производительность в программной среде общего назначения. В частности, возможно шифрование со скоростью примерно в 1,5–2 раза в среднем по сравнению с AES, наиболее широко используемым блочным шифром в различных программных средах. В таблицах ниже сравнивается производительность LEA и AES с использованием FELICS (Fair Evaluation of Lightweight Cryptographic Systems) [3], эталонной платформы для оценки программных реализаций облегченных криптографических примитивов.

Тестовые векторы [ править ]

Тестовые векторы для LEA для каждой длины ключа следующие. [5] Все значения выражены в шестнадцатеричной форме.

  • LEA-128
    • Ключ: 0f 1e 2d 3c 4b 5a 69 78 87 96 a5 b4 c3 d2 e1 f0
    • Открытый текст: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
    • Зашифрованный текст: 9f c8 4e 35 28 c6 c6 18 55 32 c7 a7 04 64 8b fd
  • LEA-192
    • Ключ: 0f 1e 2d 3c 4b 5a 69 78 87 96 a5 b4 c3 d2 e1 f0 f0 e1 d2 c3 b4 a5 96 87
    • Открытый текст: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
    • Зашифрованный текст: 6f b9 5e 32 5a ad 1b 87 8c dc f5 35 76 74 c6 f2
  • LEA-256
    • Ключ: 0f 1e 2d 3c 4b 5a 69 78 87 96 a5 b4 c3 d2 e1 f0 f0 e1 d2 c3 b4 a5 96 87 78 69 5a 4b 3c 2d 1e 0f
    • Открытый текст: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
    • Зашифрованный текст: d6 51 af f6 47 b1 89 c1 3a 89 00 ca 27 f9 e1 97

Реализации [ править ]

LEA бесплатна для любого использования: государственного или частного, коммерческого или некоммерческого. Исходный код для распространения LEA, реализованного на C , Java и Python, можно загрузить с веб-сайта KISA. [6] Кроме того, LEA содержится в библиотеке Crypto ++, бесплатной библиотеке классов C ++ для криптографических схем. [7]

KCMVP [ править ]

LEA - один из криптографических алгоритмов, одобренных Корейской программой проверки криптографических модулей (KCMVP). [8]

Стандартизация [ править ]

LEA включен в следующие стандарты.

  • KS X 3246, 128-битный блочный шифр LEA (на корейском языке) [5]
  • ИСО / МЭК 29192-2: 2019, Информационная безопасность - Облегченная криптография - Часть 2: Блочные шифры [9]

Ссылки [ править ]

  1. ^ Б с д е е г ч Хонг, Deukjo; Ли, Юнг-Гын; Ким, Донг-Чан; Квон, Дэсон; Рю, Квон Хо; Ли, Донг-Геон (2014). LEA: 128-битный блочный шифр для быстрого шифрования на общих процессорах . Издательство Springer International. С. 3–27. ISBN 978-3-319-05149-9.
  2. ^ а б Песня, Линг; Хуанг, Чжанцзе; Ян, Цяньцянь (2016). Автоматический дифференциальный анализ блочных шифров ARX с приложением к SPECK и LEA . Издательство Springer International. С. 379–394. ISBN 978-3-319-40367-0.
  3. ^ Дин, Даниил; Корре, Янн Ле; Ховратович, Дмитрий; Перрен, Лео; Гросшедль, Иоганн; Бирюков, Алексей (14 июля 2018). «Триатлон легких блочных шифров для Интернета вещей» (PDF) . Журнал криптографической инженерии . 9 (3): 283–302. DOI : 10.1007 / s13389-018-0193-х .
  4. ^ a b "CryptoLUX> FELICS" . cryptolux.org .
  5. ^ a b "KS X 3246, 128-битный блочный шифр LEA (на корейском языке)" .
  6. ^ "KISA 암호 이용 활성화 - 암호 알고리즘 소스 코드" . seed.kisa.or.kr .
  7. ^ «Crypto ++ Library 8.2 | Бесплатная библиотека классов криптографических схем C ++» . www.cryptopp.com .
  8. ^ "KISA 암호 이용 활성화 - 개요" . seed.kisa.or.kr .
  9. ^ «ISO / IEC 29192-2: 2019, Информационная безопасность - Облегченная криптография - Часть 2: Блочные шифры » .