21
АСИММЕТРИЧНЫЙ SPN-ШИФР НА БАЗЕ WHITE-BOX-КРИПТОГРАФИИ И ХАОТИЧЕСКИХ ОТОБРАЖЕНИЙ к.т.н, Щелкунов Д.А. КФ МГТУ имени Н.Э. Баумана

асимметричный spn-шифр на базе white-box-криптографии и ... · АСИММЕТРИЧНЫЙ spn-ШИФР НА БАЗЕ white-box-КРИПТОГРАФИИ

  • Upload
    others

  • View
    42

  • Download
    0

Embed Size (px)

Citation preview

АСИММЕТРИЧНЫЙ SPN-ШИФР НА БАЗЕ WHITE-BOX-КРИПТОГРАФИИ И ХАОТИЧЕСКИХ ОТОБРАЖЕНИЙк.т.н, Щелкунов Д.А.

КФ МГТУ имени Н.Э. Баумана

White-box-криптография✓Набор техник, позволяющих преобразовать симметричный блочный шифрв асимметричный посредством сокрытия ключа в реализации алгоритмашифрования

✓Предназначена для создания быстрых асимметричных шифров,позволяющих и шифровать, и подписывать сообщения

✓В случае стойкой и быстрой реализации позволит существенно упростить исделать более безопасными протоколы обмена зашифрованнойинформацией (в частности, отпадёт необходимость использовать алгоритмДиффи-Хеллмана)

✓Быстрый безопасный обмен между 3-мя и более абонентами сподтверждением авторства сообщений

Предыдущие исследования✓Chow S., Eisen P., Johnson H., Van Oorschot P.C. (2003), White-Box Cryptography and an AES Implementation.In: Nyberg K., Heys H. (eds) Selected Areas in Cryptography. SAC 2002. Lecture Notes in Computer Science, vol2595. Springer, Berlin, Heidelberg

✓Olivier Billet and Henri Gilbert. A Traceable Block Cipher. In Advances in Cryptology - ASIACRYPT 2003, volume2894 of Lecture Notes in Computer Science, pages 331-346. Springer-Verlag, 2003

✓Olivier Billet, Henri Gilbert, and Charaf Ech-Chatbi. Cryptanalysis of a White-Box AES Implementation. InProceedings of the 11th International Workshop on Selected Areas in Cryptography (SAC 2004), volume 3357 ofLecture Notes in Computer Science, pages 227–240. Springer-Verlag, 2004.

✓Brecht Wyseur, White-box cryptography, PhD thesis, March 2009

✓Dmitry Schelkunov, White-Box Cryptography and SPN ciphers. LRC method, Cryptology ePrint Archive: Report2010/419

✓Brecht Wyseur, White-box cryptography: hiding keys in software, MISC magazine, April 2012

✓Joppe W. Bos and Charles Hubain and Wil Michiels and Philippe Teuwen, Differential Computation Analysis:Hiding your White-Box Designs is Not Enough, Cryptology ePrint Archive: Report 2015/753

Атаки на white-box-реализацииПрактически во всех white-box-реализациях известны линейнаяи нелинейная части исходного алгоритма для каждого израундов. Необходимо «отделить» white-box-преобразования

✓Дифференциальный криптоанализ (в том числе fault injection)

✓Алгебраический криптоанализ

✓Извлечение нелинейной части (Olivier Billet, Henri Gilbert, andCharaf Ech-Chatbi. Cryptanalysis of a White-Box AESImplementation)

Метод сокрытия линейной зависимости

(1))))(mod)(mod((

))(mod))(mod((

122

211

ppcbax

pcpbax

21, pp – неприводимые полиномы n-й степени, а 21,,,, xxcba - полиномы

степеней, меньших n.

21 xx

Метод сокрытия линейной зависимости

табличнозаданыxyxy

неизвестныdcbaxppp

GFнадполиномыыепроизвольнdcbax

GFнад

полиномынеравныепопарноыенеприводимppp

pdpcxsxy

pbpaxsxy

)(),(

,,,,,,,

)(,,,,

)(

,,

)2()(mod))(mod)(()(

)(mod))(mod)(()(

21

321

321

312

211

Метод сокрытия линейной зависимости

)(mod)()(mod)(

:

)2()(mod))(mod)(()(

)(mod))(mod)(()(

11

312

211

pcxsиpaxs

междуьзависимостлинейнуюнайтиЗадача

pdpcxsxy

pbpaxsxy

Метод сокрытия линейной зависимости

cиaнайтинеобходимоxyиxyданнымпоЗадача

p

dqpdcxsq

p

bqpbaxsq

p

cxsq

p

axsq

qpdqpdcxsxy

qpbqpbaxsxy

pdqpcxsxy

pbqpaxsxy

)()(:

')(;

)(;

)(';

)(

)4(')()(

)()(

)3()(mod)')(()(

)(mod))(()(

21

3

113

2

112

1

1

1

1

33112

22111

3112

2111

RLWE?

Метод сокрытия линейной зависимостиУсложним формулу (2)

(5))(mod)...)(mod))(mod)((...()(

)(mod)...)(mod))(mod)((...()()()()0(

3

)0(

12

)()()0(

2

)0(

11

k

v

k

k

u

k

pdpdpcxsxy

pbpbpaxsxy

)()( jpp

i

)!2,2min(:Сложность2)1(2 nkn

Теория хаоса в криптографии✓Goce Jakimoski and Ljupˇco Kocarev, Chaos and Cryptography: Block Encryption Ciphers Based on Chaotic Maps. IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS—I: FUNDAMENTAL THEORY AND APPLICATIONS, VOL. 48, NO. 2, FEBRUARY 2001

✓Asim, M., Jeoti, V.: Efficient and simple method for designing chaotic S-boxes. ETRI Journal 30(1), 170–172 (2008)

✓Mona Dara and Kooroush Manochehri, A Novel Method for Designing S-Boxes Based on ChaoticLogistic Maps Using Cipher Key. World Applied Sciences Journal 28 (12): 2003-2009, 2013

✓Christopher A. Wood, Chaos-Based Symmetric Key Cryptosystems

✓Dragan Lambić and Miodrag Živković, COMPARISON OF RANDOM S-BOX GENERATIONMETHODS. PUBLICATIONS DE L’INSTITUT MATHÉMATIQUE Nouvelle série, tome 93 (107) (2013)

Создание S-box-ов с помощью хаотических отображений

✓Хорошие криптографические свойства порезультатам целого ряда исследований

✓Простые алгоритмы

✓Случайность отображений в сочетании схорошими криптографическими свойствамиповышает уровень безопасности

Коды с максимальной дистанцией. MDS-матрицаMDS-матрица (Maximal Distance Separable matrix) – проверочнаяматрица линейного блокового кода с максимальной дистанцией◦ Обеспечивает максимальное рассеивание за счёт своей структуры

◦ Используется при создании SPN-шифров в качестве линейныхрассеивающих преобразований

◦ Интересные типы матриц:◦ Матрица Вандермонда

◦ Инволютивная матрица (одна и та же MDS-матрица для шифрования ирасшифрования)

◦ Матрица Коши

◦ Циркулярная матрица (как в Rijndael)

Матрица Коши

✓Является MDS-матрицей

✓Лёгкий алгоритм создания независимо от размерности

✓Свойство циркулярности не принципиально для white-box-реализации

✓Свойство инволютивности вредно для white-box-реализации

✓Следовательно, выбираем матрицу Коши

k

ijjijijiij GFayxnjmiyxyxa 2,,;0;0;0;1

Раунд блочного SPN-шифра

Нелинейная часть (S-box-ы)

Добавление раундового ключа

Линейная часть (MDS-матрица + сдвиги)

Раунд SPN-шифра и T-box-ы (на примере AES-128)

Хаотичный асимметричный white-box-шифр✓Таблицы подстановок (8x8 бит) создаются хаотически для каждого извходных байтов каждого раунда

✓MDS-матрица (16x16 байт) создаётся хаотически (матрица Коши)

✓Для white-box-реализации используется реализация SPN-шифра спомощью T-box-ов

✓Линейная зависимость между элементами T-box-ов скрывается спомощью вышеописанного метода сокрытия линейной зависимости

✓Набор модифицированных таблиц (T-box-ов) – открытый ключшифрования. По ним сложно восстановить закрытый ключ – набор таблицдля расшифрования

Раунд шифра

)6(

))(((

...

))(((

))(((

...

))(((

...

))(((

))(((

))(((

...

))(((

))(((

...)15(

1

)15()15,315()15(

)15(

1

)15()15,1()1(

)15(

1

)15()15,0()0(

)1(

1

)1()1,15()15(

)1(

1

)1()1,1()1(

)1(

1

)1()1,0()0(

)0(

1

)0()0,15()15(

)0(

1

)0()0,1()1(

)0(

1

)0()0,0()0(

)15(

)1(

)0(

jjjj

jjjj

jjjj

jjjj

jjjj

jjjj

jjjj

jjjj

jjjj

j

j

j

j

ystmix

ystmix

ystmix

ystmix

ystmix

ystmix

ystmix

ystmix

ystmix

y

y

y

Y

(i)

j-y 1 -байт выходных данных из предыдущего раунда. Если 0j , то (i)

j-y 1 - байт исходного

сообщения. )(k

js - это таблица подстановок, соответствующая каждому входному байту.

)(l,k

jt - умножение на элемент строки соответствующей MDS-матрицы в )GF( 82 . )k(

jmix -

запутывающие преобразования на базе метода сокрытия линейной зависимости

Маскировка линейной зависимости между элементами T-box-а

)7(

)(mod)...)(mod))(mod)(((...(

..........................................................................

)(mod)...)(mod))(mod)(((...(

)(mod)...)(mod))(mod)(((...(

)(mod)...)(mod))(mod)(((...(

)(mod)...)(mod))(mod)(((...(

]['

),(),()1,()1,()0,()0,()(

3

),3(),3()1,3()1,3()0,3()0,3()3(

2

),2(),2()1,2()1,2()0,2()0,2()2(

1

),1(),1()1,1()1,1()0,1()0,1()1(

0

),0(),0()1,0()1,0()0,0()0,0()0(

33

22

11

00

n

kn

i

kn

i

n

i

n

i

n

i

n

i

n

i

k

i

k

iiiiii

k

i

k

iiiiii

k

i

k

iiiiii

k

i

k

iiiiii

i

valpbpbpbat

valpbpbpbat

valpbpbpbat

valpbpbpbat

valpbpbpbat

aT

nn

)( j

it - элемент T-box-а до применения запутывающих преобразований (mix), ),( uj

ib –

случайно выбранный полином в )2( hGF , ),( uj

ip – случайно выбранный неприводимый

полином h-й степени над )2(GF ),(),1(),0( ... vn

i

v

i

v

i ppp

EVHEN. Хаотичный асимметричный white-box-шифр✓Назван в честь двух величайших математиков: Эвариста Галуа и АнриПуанкаре

✓Обладает скоростью симметричного шифра

✓Позволяет и шифровать, и подписывать

✓Размер открытого ключа: 640 Кб

✓Низкие требования к вычислительным ресурсам: один раунд – 16операций сложения по модулю 2 16-и байтовых чисел. Нужно всего 3операции: выборка из памяти, сложение по модулю 2 и запись в память

Применение✓IoT

✓DRM

✓Везде, где нужна быстрая и нетребовательная к вычислительнымресурсам асимметричная криптография

Спасибо за внимание

Исходный код реализации EVHEN: https://github.com/dmschelkunov/EVHEN

Блог автора: http://dschelkunov.blogspot.com

E-mail автора: [email protected]