A. Poznámka k lineárním aproximacím kryptografické hašovací funkce BLUE MIDNIGHT WISH

Podobné dokumenty
Crypto-World Informační sešit GCUCMP ISSN

SHA-3. Úvod do kryptologie. 29. dubna 2013

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Matice přechodu. Pozorování 2. Základní úkol: Určete matici přechodu od báze M k bázi N. Každou bázi napíšeme do sloupců matice, např.

0.1 Úvod do lineární algebry

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

1 Linearní prostory nad komplexními čísly

IB112 Základy matematiky

Hashovací funkce a SHA 3

1 Řešení soustav lineárních rovnic

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

(Cramerovo pravidlo, determinanty, inverzní matice)

Soustavy lineárních rovnic

0.1 Úvod do lineární algebry

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Báze konečněrozměrných vektorových prostorů, lineární zobrazení vektorových prostorů

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

9 Kolmost vektorových podprostorů

Aplikovaná numerická matematika - ANM

MOORE-PENROSEOVA INVERZE MATICE A JEJÍ APLIKACE. 1. Úvod

4EK213 Lineární modely. 4. Simplexová metoda - závěr

Lineární algebra. Soustavy lineárních rovnic

Základy maticového počtu Matice, determinant, definitnost

Symetrické a kvadratické formy

1 Soustavy lineárních rovnic

Vlastní číslo, vektor

Matematické základy šifrování a kódování

[1] Motivace. p = {t u ; t R}, A(p) = {A(t u ); t R} = {t A( u ); t R}

Lineární algebra : Násobení matic a inverzní matice

Matice. a m1 a m2... a mn

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

Kapitola 11: Vektory a matice:

vá ro ko Sý ětuše Kv

Úloha - rozpoznávání číslic

Soustava m lineárních rovnic o n neznámých je systém

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru


Soustavy. Terminologie. Dva pohledy na soustavu lin. rovnic. Definice: Necht A = (a i,j ) R m,n je matice, b R m,1 je jednosloupcová.

Úvod do logiky (VL): 11. Ověřování, zda je formule tautologií metodou protipříkladu

Okruh Lineární rovnice v Z m Těleso Gaussova eliminace (GEM) Okruh Z m. Jiří Velebil: X01DML 19. listopadu 2007: Okruh Z m 1/20

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Základy matematiky pro FEK

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie

Lineární algebra : Násobení matic a inverzní matice

Řešení. Hledaná dimenze je (podle definice) rovna hodnosti matice. a a 2 2 1

[1] samoopravné kódy: terminologie, princip

Algoritmizace prostorových úloh

11 Analýza hlavních komponet

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Soustavy linea rnı ch rovnic

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

CITLIVOSTNÍ ANALÝZA DYNAMICKÝCH SYSTÉMŮ I

8 Matice a determinanty

7. Důležité pojmy ve vektorových prostorech

Lineární algebra Operace s vektory a maticemi

Cvičení 5 - Inverzní matice

3. Podmíněná pravděpodobnost a Bayesův vzorec

Kryptologie a kombinatorika na slovech. 6. března 2013

Výběr báze. u n. a 1 u 1

a vlastních vektorů Příklad: Stanovte taková čísla λ, pro která má homogenní soustava Av = λv nenulové (A λ i I) v = 0.

Podobnostní transformace

Lineární algebra. Matice, operace s maticemi

VEKTOROVÝ PROSTOR. Vektorový prostor V n je množina všech n-složkových vektorů spolu s operacemi sčítání, odčítání vektorů a reálný násobek vektoru.

3. ANTAGONISTICKÉ HRY

Matematika B101MA1, B101MA2

1 Vektorové prostory.

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

1 Determinanty a inverzní matice

Determinant matice řádu 5 budeme počítat opakovaným použitím rozvoje determinantu podle vybraného řádku nebo sloupce. Aby byl náš výpočet

DEFINICE Z LINEÁRNÍ ALGEBRY

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b.

2. Schurova věta. Petr Tichý. 3. října 2012

Připomenutí co je to soustava lineárních rovnic

Matematika 2 (Fakulta ekonomická) Cvičení z lineární algebry. TU v Liberci

Algebraické struktury s jednou binární operací

9.1 Definice a rovnice kuželoseček

1. LINEÁRNÍ ALGEBRA Vektory Operace s vektory... 8 Úlohy k samostatnému řešení... 8

Vektorový prostor. d) Ke každému prvku u V n existuje tzv. opačný prvek u, pro který platí, že u + u = o (vektor u nazýváme opačný vektor k vektoru u)

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Soustavy lineárních rovnic a determinanty

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A

Regresní analýza 1. Regresní analýza

HODNOST A DETERMINANT MATICE, INVERZNÍ MATICE

A0M15EZS Elektrické zdroje a soustavy ZS 2011/2012 cvičení 1. Jednotková matice na hlavní diagonále jsou jedničky, všude jinde nuly

19. Druhý rozklad lineární transformace

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

HODNOST A DETERMINANT MATICE, INVERZNÍ MATICE

Základy matematiky pro FEK

Obecná úloha lineárního programování

AVDAT Klasický lineární model, metoda nejmenších

Učební texty k státní bakalářské zkoušce Matematika Diferenciální rovnice. študenti MFF 15. augusta 2008

Číselné vektory, matice, determinanty

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

9.3. Úplná lineární rovnice s konstantními koeficienty

Transkript:

A. Poznámka k lineárním aproximacím kryptografické hašovací funkce BLUE MIDNIGHT WISH Vlastimil Klíma, nezávislý kryptolog, (v.klima@volny.cz) Petr Sušil, PhD student, EPFL, (susil.petr@gmail.com) Abstrakt. Hašovací funkce BLUE MIDNIGHT WISH (BMW) je nejrychlejší ze 14 kandidátů v 2. kole soutěže SHA-3 [1]. Na začátku tohoto kola byli autoři kandidátů vyzváni, aby před 15. zářím upravili své algoritmy (tzv. tweak). V tomto příspěvku se budeme zabývat tedy nejnovější "tweakovanou" verzí BMW [3]. Algoritmus BMW je typu AXR, protože používá pouze operace ADD (sub), XOR a ROT (shift). Když operaci ADD nahradíme XOR, obdržíme BMW lin, což je afinní transformace. V příspěvku uvažujeme pouze funkci BMW lin a její stavební bloky. Tyto afinní transformace mohou být reprezentovány lineární maticí a konstantním vektorem. Zjistili jsme, že všechny matice vyšších stavebních bloků BMW lin mají plnou hodnost nebo hodnost blízkou k ní. Také jsme zkoumali strukturu těchto matic. Matice dílčích stavebních bloků mají očekávanou nenáhodnou strukturu, zatímco matice vyšších bloků mají strukturu již náhodnou. Ukážeme také matice pro různé hodnoty ExpandRounds 1 (pro hodnoty mezi 0 a 16). Jejich zvyšování vede k větší náhodnosti matic, což bylo návrháři zamýšleno. Tato pozorování platí pro obě verze BMW256 lin a BMW512 lin. V této lineární analýze jsme nenašli žádnou užitečnou vlastnost, která by pomohla kryptoanalýze, ani jsme nenašli žádnou slabost BMW. Studium dílčích bloků bude následovat. 2

Obr.1: Schéma (tweakované verze) BMW [3] 3

Úvod V příspěvku uvažujeme pouze funkci BMW lin a její stavební bloky. Tyto afinní transformace mohou být reprezentovány maticemi. Uvádíme hodnost a strukturu těchto matic. Hlavní bloky BMW jsou f 0, f 1, f 2. Vytváří tři meziproměnné Q a, Q b, G a průběžnou haš H (viz obr. 1). Všechny čtyři proměnné jsou 16*w - bitová slova (w = 32/64 pro BMW256/512). Tyto proměnné závisí pouze na vstupním bloku M a na staré průběžné hašovací hodnotě H. Právě tyto závislosti budou ukázány v maticích. Povšimněte si hodnosti a struktury každé matice. Některé matice budou ukázány pro několik různých hodnot bezpečnostního parametru ExpandRounds 1. Připomeňme, že po ExpandRounds 1 rundách typu expand 1 následuje 16 - ExpandRounds 2 rund typu expand 2 [3]. Pro rozsáhlost tohoto příspěvku předpokládáme, že čtenář je seznámen se základním popisem BMW v [3]. Také používáme jednoduché označení H, ale kdykoli by mohlo dojít k nepochopení, která z hodnot to je, odlišujeme je jako oldh a newh (viz obr. 1). Naše pozorování platí pro obě verze obě verze BMW256 lin a BMW512 lin, proto z důvodu jednoduchosti prezentujeme výsledky pouze pro BMW256 lin. Na následujícím obrázku vidíme lineární závislost mezi M a Q a. Jsou zde dvě matice typu 512 x 512 (oddělené černým pruhem), což označujeme jako (M, Q a ). Sloupce reprezentují 512 proměnných (bitů) proměnné M na levé straně a 512 proměnných (bitů) proměnné Q a na pravé straně. Řádky pak reprezentují lineární závislosti mezi bity na levé straně (M) a bity na pravé straně (Q a ). Protože matice na pravé straně je identická, dává nám to přímou závislost bitů Q a na bitech proměnné M. Každý řádek může být také zapsán jako lineární rovnice Indexy bitů, které se objevují v rovnici, jsou na obrázku 2 označeny jako černé body. Tím zde mj. můžeme vidět závislost prvního slova Q a na pěti slovech M, což vyplývá z definice transformace A 1 ve [3]. Obr.2: Příklad závislosti mezi proměnnými (bity) M a Q a, což označujeme jako (M, Q a ). 4

Když bychom chtěli vidět závislost M na Q a, potřebovali bychom inverzní matici. Jak víme z lineární algebry, xorováním jednoho řádku s jiným nebo jejich výměna nemění hodnost matice. S využitím těchto dvou operací v našem eliminačním algoritmu transformujeme dvojici matic (A, I) na (I, A ), kde I je identická matice a I je identická, pokud matice A má plnou hodnost. Je-li I identita, pak A ukazuje závislosti M na Q a, viz následující obrázek. Je-li A singulární, pak I bude mít neprázdný sloupec (sloupce) nad diagonálou. Poznamenejme, že proměnná, která odpovídá tomuto neprázdnému sloupci není nezávislá a vystupuje pouze v lineární kombinaci s dalšími proměnnými (bity) v matici, viz například obrázek 4 (výřez obrázku pro hodnost = MAX - 1). V následujícím uvádíme pouze nejzajímavější závislosti. Obr.3: (M, Q a ) - závislost mezi M a Q a 5

Obr.4: Výřez závislosti u matice, která má hodnost o 1 nižší než plnou Závislost Qa na M Závislost Q a na M vidíme na obrázcích 2 a 3. Poznamenejme, že matice nezávisí na hodnotě ExpandRounds1, protože Q a je vytvořena až ve funkci f 1. Hodnost matice (M, Q a ) je rank(m, Q a ) = 512, tj. plná. Závislost Qa na H Také hodnost matice (H, Q a ) je plná, a protože zobrazuje závislosti v bloku f 0, ještě nezávisí na hodnotě ExpandRounds 1. Obr.5: (H, Q a ) 6

Obr.6: (H, Q a ) Závislost Qb na M Zde můžeme poprvé vidět, že matice nemají plnou hodnost a že s růstem ExpandRounds 1 mají tendenci se znáhodňovat. Protože ostatní závislosti jsou podobné, v dalším uvádíme pouze hodnosti všech matic a ukázky některých. Obr.7: (M, Q b ), ExpandRounds1 = 0 7

Obr.8: (M, Q b ), ExpandRounds1 = 2 Obr.9: (M, Q b ), ExpandRounds1 = 16 8

Obr.10: (M, Q b ), ExpandRounds1 = 0 Obr.11: (M, Q b ), ExpandRounds1 = 2 9

Obr.12: (M, Q b ), ExpandRounds1 = 16 Závislost Qb na oldh Obr.13: (oldh, Q b ), ExpandRounds1 = 0 10

Obr.14: (oldh, Q b ), ExpandRounds1 = 2 Obr.15: (oldh, Q b ), ExpandRounds1 = 16 11

Obr.16: (oldh, Q b ), ExpandRounds1 = 2 Závislost G na M Obr.17: (M, G), ExpandRounds1 = 2 12

Obr.18: (M, G), ExpandRounds1 = 2 Závislost G na oldh Obr.19: (oldh, G), ExpandRounds1 = 2 13

Obr.20: (oldh, G), ExpandRounds1 = 2 Závislost newh na M Obr.21: (M, newh), ExpandRounds1 = 2 14

Obr.22: (M, newh), ExpandRounds1 = 2 Závislost newh na oldh Obr.23: (oldh, newh), ExpandRounds1 = 2 15

Obr.24: (oldh, newh), ExpandRounds1 = 2 Závěr Výsledky prezentované v tomto příspěvku jsou pouze malou částí analýz, které byly provedeny. Jak jste si povšimli, jsou zde zkoumány pouze závislosti na proměnných M a H. Avšak byly analyzovány i některé dílčí i vyšší stavební bloky zvlášť (tj. i s jinými vstupy), což dává hlubší pohled do struktury BMW. Výsledky úplnější analýzy budou následovat. V tomto příspěvku jsme viděli, že všechny závislosti vytvářely matice s plnou hodností nebo jí blízkou. Také struktura matic byla očekávaná: matice dílčích bloků neměly náhodnou strukturu, ale splňovaly požadavky rychlého míchání proměnných (bitů). Matice vyšších stavebních bloků měly plnou nebo skoro plnou hodnost a náhodnou strukturu. Viděli jsme také, že je-li požadováno (a možné) zvyšovat náhodnost, může to být uděláno zvyšováním počtu rund Expand- Rounds 1. Tato pozorování platí pro obě dvě hlavní verze BMW256 a BMW512. Literatura [1] Announcing Request for Candidate Algorithm Nominations for a New Cryptographic Hash Algorithm (SHA-3) Family, 2007, NIST, http://csrc.nist.gov/groups/st/hash/index.html. [2] Danilo Gligoroski, Vlastimil Klima, On BLUE MIDNIGHT WISH decomposition, to be published [3] Danilo Gligoroski, Vlastimil Klima, Svein Johan Knapskog, Mohamed El-Hadedy, Jørn Amundsen, Stig Frode Mjølsnes: Cryptographic Hash Function Blue Midnight Wish, September 2009, http://people.item.ntnu.no/~danilog/hash/bmw-secondround/supporting Documentation/BlueMidnightWishDocumentation.pdf 16