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