Sapientia Egyetem, Matematika-Informatika Tanszék.

Hasonló dokumentumok
Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

Sapientia Egyetem, Matematika-Informatika Tanszék.

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

Sapientia Egyetem, Matematika-Informatika Tanszék.

Sapientia Egyetem, Matematika-Informatika Tanszék.

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

Sapientia Egyetem, Matematika-Informatika Tanszék.

Kriptográfia I. Kriptorendszerek

2016, Diszkrét matematika

2018, Diszkre t matematika. 10. elo ada s

Titkosítási rendszerek CCA-biztonsága

Diszkrét matematika I.

Webalkalmazás-biztonság. Kriptográfiai alapok

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Data Security: Access Control

2017, Diszkrét matematika

Kriptográfiai alapfogalmak

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

2016, Diszkrét matematika

Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések

2016, Diszkrét matematika

2018, Diszkrét matematika

Data Security: Public key

2016/11/27 08:42 1/11 Kriptográfia. Titkosítás rejtjelezés és adatrejtés. Rejtjelezés, sifrírozás angolosan: cipher, crypt.

Emlékeztet! matematikából

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Modern szimmetrikus kulcsú rejtjelezők kriptoanalízise

Hardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt

SSL elemei. Az SSL illeszkedése az internet protokoll-architektúrájába

Modern titkosírások és a matematika

Waldhauser Tamás december 1.

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Titkosítás NetWare környezetben

Információs társadalom alapismeretek

Dr. Beinschróth József Kriptográfiai alkalmazások, rejtjelezések, digitális aláírás

KÓDOLÁSTECHNIKA PZH december 18.

Véletlenszám generátorok és tesztelésük HORVÁTH BÁLINT

2016, Diszkrét matematika

Fábián Zoltán Hálózatok elmélet

Adat és Információvédelmi Mesteriskola 30 MB. Dr. Beinschróth József SAJÁTOS LOGIKAI VÉDELEM: A KRIPTOGRÁFIA ALKALMAZÁSA

Data Security: Access Control

Diszkrét matematika 2.

2018, Diszkrét matematika

Algoritmuselmélet gyakorlat (MMN111G)

Számelméleti alapfogalmak

Diszkrét matematika I.

2018, Diszkre t matematika. 8. elo ada s

Nagy Gábor compalg.inf.elte.hu/ nagy

Best of Criptography Slides

Data Security. 1. Concepts 2. Secret key methods 3. Public key methods 4. Protocols I. 5. Protocols II.

A Microsoft Visual Studio 2005 fejlesztőkörnyezet

Adatbiztonság PPZH május 20.

Készítette: Fuszenecker Róbert Konzulens: Dr. Tuzson Tibor, docens

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

4. Előadás Titkosítás, RSA algoritmus

2018, Diszkrét matematika

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

Valószínűségi változók. Várható érték és szórás

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Vektorok, mátrixok, lineáris egyenletrendszerek

Diverzifikáció Markowitz-modell MAD modell CAPM modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

2015, Diszkrét matematika

RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Kvantumkriptográfia II.

IP alapú távközlés. Virtuális magánhálózatok (VPN)

Nagy Gábor compalg.inf.elte.hu/ nagy

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

Intergrált Intenzív Matematika Érettségi

Data Security: Concepts

Windows biztonsági problémák

Az Outlook levelező program beállítása tanúsítványok használatához

Matematika (mesterképzés)

Nagy Gábor compalg.inf.elte.hu/ nagy

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

VBA makrók aláírása Office XP/2002/2003 esetén

C programozási nyelv

Algoritmuselmélet 6. előadás

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás

Adatbiztonság a gazdaságinformatikában ZH december 7. Név: Neptun kód:

Mátrixok, mátrixműveletek

Hibajavító kódolás (előadásvázlat, november 14.) Maróti Miklós

1. Egészítsük ki az alábbi Python függvényt úgy, hogy a függvény meghatározza, egy listába, az első n szám faktoriális értékét:

Matematika szigorlat, Mérnök informatikus szak I máj. 12. Név: Nept. kód: Idő: 1. f. 2. f. 3. f. 4. f. 5. f. 6. f. Össz.: Oszt.

A Z E L E K T R O N I K U S A L Á Í R Á S J O G I S Z A B Á L Y O Z Á S A.

2018, Diszkrét matematika

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,...

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

Hírek kriptográfiai algoritmusok biztonságáról

5. Előadás. (5. előadás) Mátrixegyenlet, Mátrix inverze március 6. 1 / 39

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

Jelek és rendszerek 1. 10/9/2011 Dr. Buchman Attila Informatikai Rendszerek és Hálózatok Tanszék

MATE-INFO UBB verseny, március 25. MATEMATIKA írásbeli vizsga

Diszkrét matematika 2. estis képzés

Formális nyelvek és automaták

Nemzeti Közszolgálati Egyetem. Vezető-és Továbbképzési Intézet. Bérczes Attila Pethő Attila. Kriptográfia

Adja meg, hogy ebben az esetben mely handshake üzenetek kerülnek átvitelre, és vázlatosan adja meg azok tartalmát! (8p)

Átírás:

Kriptográfia és Információbiztonság 2. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018

Miről volt szó az elmúlt előadáson? Követelmények, osztályozás Bevezető, félévi áttekintő Könyvészet Történelmi háttér Klasszikus kriptográfiai rendszerek: Eltolásos rejtjelezések: Caesar-titkosító, Keyword Caesar Helyettesítéses rejtjelezés: affin-titkosító

Miről lesz szó? Klasszikus kriptográfiai rendszerek Helyettesítéses rejtjelezés: affin-titkosító Mátrixos rejtjelezés: Hill módszere matematikai modell titkos-kulcsú rendszerek: matematikai modell az OTP titkosítási rendszer tökéletes biztonság biztonság-értelmezések, osztályozások az NTL könyvtárcsomag Mátrix műveletek Javában

Az Affin rejtjelezés helyettesítéses, monoalfabetikus rejtjelezés, M = C = {0, 1,..., 25} = Z 26, K = {(a, b) Z 26, gcd(a, 26) = 1}, key = (a, b) Enc(m) = (a m + b) (mod 26) c, Dec(c) = a1 (c + 26 b) (mod 26). Megjegyzés: 1 a1, az a multiplikatív inverze (mod 26) szerint, ami azt jelenti, hogy meg kell határozni azt az a1 értéket, amelyre fennáll: a a1 = 1 (mod 26). Feltörési módszerek: 1 gyakoriság vizsgálat 2 az összes lehetséges kulcs kipróbálása, kulcsok száma: 312 3 ismert nyílt-szöveg támadás: ha rendelkezünk két betű rejtjelezett értékével

Az Affin rejtjelezés - példa Ha a kulcs (5, 2) és a nyílt-szöveg a következő: akkor a titkosított-szöveg: AMATHEMATICIAN, CKCTLWKCTQMQCP, ahol a titkosított-szöveg első 6 karakterét a következőképpen határoztuk meg: A > C : (5 0 + 2) = 2 (mod 26) M > K : (5 12 + 2) = 10 (mod 26) A > C : (5 0 + 2) = 2 (mod 26) T > T : (5 19 + 2) = 19 (mod 26) H > L : (5 7 + 2) = 11 (mod 26) E > W : (5 4 + 2) = 22 (mod 26) A visszafejtéshez szükséges kulcs: (21, 2), mert 5 21 = 105 = 1 (mod 26), azaz, 5 multiplikatív inverze (mod 26) szerint 21.

Az Affin rejtjelezés - ismert nyílt-szöveg támadás Ha ismertek az m 1, m 2, c 1, c 2, akkor a következő kongruencia-rendszer megoldásával, megállapítható a titkosításhoz használt (a, b) kulcs: m 1 a + b = c 1 (mod 26) m 2 a + b = c 2 (mod 26). (m 1 m 2 ) a = (c 1 c 2 ) (mod 26) a = (m 1 m 2 ) 1 (c 1 c 2 ) (mod 26) b = (c 1 m 1 a) (mod 26) vagy b = (c 2 m 2 a) (mod 26) Ha létezik multiplikatív inverz, akkor az meghatározható : a kiterjesztett Eukleidészi algoritmussal, az összes érték kipróbálásával (26 szorzás szükséges).

Hill módszere, példa, titkosítás 1929-ben publikálta Lester S. Hill, polialfabetikus rendszer, az első blokk titkosítók egyike. Legyen d = 2, az egyszerre titkosítható szimbólumok száma, M = C = Z 2 26, és ( ) 3 3 key =, 2 1 ha a nyílt szöveg: AM AT HE MA TI CI AN, akkor a titkosított szöveg: KM FT HQ KC DW EE NN, az első két betű-tömb titkosítása: ( ) ( ) ( 3 3 A 3 3 = 2 1 M 2 1 ( 3 3 2 1 ) ( A T ) ( 3 3 = 2 1 ) ( 0 12 ) ( 0 19 ) ( 10 = 12 ) ( 5 = 19 ) ( K = M ) ( F = T ), ).

Hill módszere, példa, visszafejtés a visszafejtéshez meg kell határoznunk a kulcs inverz értékét, azaz a determináns, majd az inverz mátrix értékét. ( ) 3 3 key = esetében (det key) = 1 3 ( 2) 3 = 9, 2 1 gcd(9, 26) = 1 (det key)-nek létezik inverze, ahol (det key) 1 = 3, mert 9 3 = 1 (mod 26). ( ) 1 3 az adjungált mátrix: (adj key) =. 2 3 az inverz mátrix: key 1 = (det key) 1 (adj key) = 3 az első két betű-tömb visszafejtése: ( ) ( ) ( 3 9 K 3 9 = 6 9 M 6 9 ( 3 9 6 9 ) ( F T ) ( 3 9 = 6 9 ( 1 3 2 3 ) ( 10 12 ) ( 5 19 ) ( 3 9 = 6 9 ) ( 0 = 12 ) ( 0 = 19 ). ) ( A = M ) ( A = T ), ).

Hill módszere, általános esetben M = C = Z d 256, a key egy d d-es mátrix, melynek elemei Z 256, jelöljük a mátrix i, j elemét k i,j -vel, legyen m = (m 1, m 2,... m d ) M a nyílt szöveg egy d hosszúságú blokkja, melyet egy lépésben fogunk titkosítani, a titkosítás során meghatározzuk a nyílt szöveg egy lineáris transzformációját: c = (c 1, c 2,... c d )-t, a mátrix műveletekkel kapcsolatos algoritmusok implementációja: NTL könyvtárcsomagban (C/C++).

Hill módszere Enc key (m) : c = key m (c 1, c 2,... c d ) = k 1,1 k 1,2... k 1,d k 2,1 k 2,2... k 2,d... k d,1 k d,2... k d,d m 1 m 2. m d Dec key (c) = key 1 c key 1 létezik, ha (det key) (det key) 1 = 1 (mod 256), key 1 = (det key) 1 (adj key) (mod 256), ahol (adj key) az adjungált mátrix. ha d = 2, akkor egyszerűen meghatározható az inverz mátrix ( ) ( ) k1,1 k key = 1,2 és key k 2,1 k 1 = (det key) 1 k2,2 k 1,2 2,2 k 2,1 k 1,1 általános esetben több algoritmus is létezik C++ alatt lehet használni Shoup NTL könyvtárcsomagját

Hill módszere - ismert nyílt-szöveg támadás, d = 2 Ha ismertek az m, ˆm, c, ĉ, tömb-párok értékei, ahol az m rejtjelezett értéke c és az ˆm rejtjelezett értéke ĉ, akkor a következő rendszer megoldásával, megállapítható a titkosításhoz használt key kulcs, ( ) ( ) ( ) ( ) m1 c1 ˆm1 ĉ1 legyen m =, c =, ˆm =, ĉ =, m 2 c 2 ˆm 2 ĉ 2 feĺırható: ( ) ( ) m1 ˆm key 1 c1 ĉ = 1 m 2 ˆm 2 c 2 ĉ 2 ( ) ( ) 1 c1 ĉ key = 1 m1 ˆm 1 c 2 ĉ 2 m 2 ˆm 2 hasonló támadási stratégia alkalmazható nagyobb blokk méret esetében.

A klasszikus titkosítás matematikai modellje Legyen M a nyílt-szövegek egy véges halmaza, C a rejtjelezett-szövegek egy véges halmaza, K a kulcsok egy véges halmaza. Három algoritmust értelmezünk: Gen, a kulcs-generáló algoritmus, meghatározza a key kulcsot, Enc key a rejtjelező algoritmus, a key kulcs alapján, meghatározza az m M nyílt-szöveg rejtjelezett értékét: c Enc key (m), Dec key a visszafejtő algoritmus, a key kulcs alapján visszafejti a c rejtjelezett-szöveget: m Dec key (c). A rendszer helyessége érdekében megköveteljük: Dec key (Enc key (m)) = m, minden m M esetében. Számos klasszikus titkosítási rendszer létezik: Caesar, Vigenere, Palyfair, Hill, stb.

A titkos-kulcsú rendszerek matematikai modellje megnevezések: titkos-kulcsú rendszerek, szimmetrikus rendszerek (private-key, symmetric crypto), jelölés: SKE-vel, a (K, M, C) halmaz-hármas felett értelmezzük. 3 algoritmus: Gen, a kulcs-generáló algoritmus, polinom idejű, véletlenszerű: key R Gen(1 k ), ahol key K, k Z 0 a rendszer biztonsági paramétere (legtöbb esetben a generált kulcs bit-hossza), Enc key a rejtjelező algoritmus, polinom idejű, véletlenszerű: c R Enc key (m), a Dec key a visszafejtő algoritmus, polinom idejű, determinisztikus: m Dec key (c). Helyesség: Dec key (Enc key (m)) = m, minden m M esetében. gyakorlatban a polinom futásidejű algoritmus hatékony algoritmust jelent, például elvárjuk, hogy 1 gigabájtnyi adat titkosítását 1 perc alatt végezze el a rendszer

Az OTP rendszer A továbbiakban olyan rendszereket tárgyalunk, amelyek biztonsága, számítástechnikai szempontból elfogadható. OTP - One-time Pad rendszer, 1917, Vernam rendszerének egy változata, M = C = K = Z k 2, legyen m = (m 1,..., m k ) M, c = (c 1,..., c k ) C, key = (key 1,..., key k ) K, Gen R key, (véletlenszerűen, egyenletes eloszlással) Enc key (m) : c = (m 1 key 1,... m k key k ), Dec key (c) : m = (c 1 key 1,... c k key k ). helyesség: Dec key (Enc key (m)) = Dec key (m key) = (m key) key = m.

Az OTP rendszer Példa, titkosításra, ahol a kulcs és a nyílt szöveg is 7 bites: m = (1 1 0 0 1 0 0) key = (0 0 1 0 1 0 1) c = (1 1 1 0 0 0 1) Példa, visszafejtésre, ahol a kulcs és a rejtjelezett szöveg is 7 bites: c = (1 1 1 0 0 0 1) key = (0 0 1 0 1 0 1) m = (1 1 0 0 1 0 0)

Az OTP rendszer, feltörési lehetőségek A kulcs többszöri felhasználásának problémája: m 1 = (1 1 0 0 1 0 0) key = (0 0 1 0 1 0 1) c 1 = (1 1 1 0 0 0 1) m 2 = (1 0 0 1 1 1 0) key = (0 0 1 0 1 0 1) c 2 = (1 0 1 1 0 1 1) m 2, c 2 ismeretében meg lehet határozni a key értékét, majd a key és a c 1 alapján meg lehet határozni m 1-t: m 2 = (1 0 0 1 1 1 0) c 2 = (1 0 1 1 0 1 1) key = (0 0 1 0 1 0 1) key = (0 0 1 0 1 0 1) c 1 = (1 1 1 0 0 0 1) m 1 = (1 1 0 0 1 0 0)

Az OTP rendszer, feltörési lehetőségek A kulcs többszöri felhasználásának problémája: m 1 = (1 1 0 0 1 0 0) key = (0 0 1 0 1 0 1) c 1 = (1 1 1 0 0 0 1) m 2 = (1 0 0 1 1 1 0) key = (0 0 1 0 1 0 1) c 2 = (1 0 1 1 0 1 1) c 1, c 2 ismeretében meg lehet határozni m 1 m 2 értékét: c 1 = (1 1 1 0 0 0 1) c 2 = (1 0 1 1 0 1 1) m 1 m 2 = (0 1 0 1 0 1 0)

Tökéletes biztonság 1. tétel Shannon biztonság-elmélete, 1949 információelméleti biztonság, Egy Gen, Enc, Dec algoritmusok által értelmezett titkosító rendszer tökéletesen biztonságos (perfectly secret), ha M bármely valószínűség eloszlása esetében és bármely m M, c C esetében, fenn áll: ahol Pr[C = c] > 0. Pr[M = m C = c] = Pr[M = m], Több, a fentivel ekvivalens definíció létezik.

Az OTP rendszer 2. tétel Az OTP titkosító rendszer tökéletes biztonságú. Megjegyzések: nagyon gyors a titkosítás és visszafejtés folyamata, nem lehet észrevenni, ha módosult a rejtjelezett-szöveg üzenet-hitelesítő kódok, a generált kulcsot tilos többször felhasználni: ha ismert egy nyílt-szöveg és titkosított szöveg pár, akkor meglehet határozni a kulcsot, minden egyes titkosításhoz más kulcsot használunk, mely független a korábbi kulcsoktól, a generált kulcs ugyanolyan hosszú kell legyen, mint a nyílt szöveg.

Biztonság-értelmezések 3. tétel Ha egy titkosító rendszer tökéletes biztonságú, akkor K M. A tétel azt jelenti, hogy nehéz gyakorlatilag olyan titkosító rendszert létrehozni, mely tökéletes biztonságú. Más biztonság-értelmezések számítástechnikai biztonság, feladja a tökéletes biztonságot, feltételezi, hogy: a támadó számítás-kapacitása (idő, tár) korlátos, a támadás csak nagyon kicsi valószínűséggel lehet sikeres.

A titkos-kulcsú rendszerek osztályozása nagy adathalmaz titkosítására alkalmasak, nincs megoldva a felek közötti kulcs-csere, ezt a nyilvános kulcsú kriptográfia végzi, két nagy csoportra oszthatóak: folyam-titkosító rendszerek, blokk-titkosító rendszerek.

Folyam-titkosító rendszerek véletlenszerűen generálnak egy bitsort, a kulcsfolyamot, amelyet legtöbbször a művelettel hozzáadnak a nyílt szöveghez, a kulcsfolyamot egyetlenegyszer használják, a rendszer biztonságát a kulcsfolyamot generáló algoritmus határozza meg álvéletlen-szám generáló algoritmusok (pseudo-random number generators), nem minden ál-véletlenszám generátor alkalmas a kriptográfiában, pl: az x n = a x n 1 + b (mod p) lineáris kongruenciával értelmezett generátor sem alkalmas.

Blokk-titkosító rendszerek bájt-tömbönként alkalmaznak egy álvéletlen függvényt/permutációt, a kulcsot bájt-tömbönként újra használják blokk titkosítási módok, a rendszer biztonságát az alkalmazott álvéletlen függvény (pseudo-random function), illetve álvéletlen permutáció (pseudo-random permutation) határozza meg, egy blokktitkosító rendszer átalakítható folyamtitkosító rendszerré, ha valamilyen blokk-titkosító módot használunk, pl. CFB, CTR.

Az NTL könyvtárcsomag, létrehozás, Visual Studio töltsük le és csomagoljuk ki a, pl. a WinNTL mappába: http://www.shoup.net/ntl/download.html hozzunk létre egy új projektet: New Project Win32 Project, adjunk egy nevet a projektnek, legyen ez NTLLib, jelöljük be a Static library opciót. ne legyenek bejelölve a Precompiled header se a Security Development Lifecycle (SDL) checks opciók, a Source Files-hoz az Add Existing Item menüpont segítségével adjuk hozzá a WinNTL\src mappából az összes állományt, a Project/NTLLib/Properties menüpontnál az Additional Include Directories-nél adjuk meg a header állományok elérési útvonalát:... \WinNTL\include a Build\Bulid\Solution parancs megadásával létrejön a NTLLib\Debug mappában az NTLLib.libállomány, amit a további projekteknél kell használni.

Az NTL könyvtárcsomag, használat, Visual Studio Hozzunk létre egy új projektet: New Project Win32 ConsoleApplication, adjunk egy nevet a projektnek, legyen ez Labor6, jelöljük be a Empty project opciót. a Labor6 project-hez az Add Existing Item menüpont segítségével adjuk hozzá az NTLLib Debug mappából az NTLLib.libállományt, a Project/NTLLib/Properties menüpontnál az Additional Include Directories-nél adjuk meg a header állományok elérési útvonalát:...\winntl\include.

Az NTL könyvtárcsomag, létrehozás, Code Blocks töltsük le és csomagoljuk ki a, pl. a WinNTL mappába: http://www.shoup.net/ntl/download.html hozzunk létre egy új projektet: New Project Static library, adjunk egy nevet a projektnek, legyen ez NTLLib, az Add Files-al adjuk hozzá a WinNTL\src mappából az összes állományt, a Project/Build Options/search Directories menüpontnál az adjuk meg a header állományok elérési útvonalát:... \WinNTL\include a Build\Bulid parancs megadásával létrejön a NTLLib mappában libntlib.a állomány, ezt kell hozzáadni azokhoz a projektekhez, ahol használni akarjuk a az NTL függvényeket.

Az NTL könyvtárcsomag, használat, Code Blocks Hozzunk létre egy új projektet: File New Console Application, adjunk egy nevet a projektnek, legyen ez Labor, a Project\Build Options\Linker settings menüpont segítségével adjuk hozzá az NTLLib mappából a létrehozott *.a állományt, a Project\Build Options\Serach directories-nál adjuk meg a header állományok elérési útvonalát:...\winntl\include.

Az NTL könyvtárcsomag, használat a forráskódba: #ifndef _ZZ_ #define _ZZ_ #include <NTL/ZZ.h> #include <NTL/matrix.h> #include <NTL/mat_ZZ.h> #endif NTL_CLIENT ZZ d; a nagy számok kezelésére szolgáló típus, Mat<ZZ> A; mátrix kezelésére alkalmas típus, A.SetDims(n, n); az A mátrix méretének a beálĺıtása, A.NumRows(); sorméret lekérdezés, A.NumCols(); oszlopméret lekérdezés, inv(d, inva, A, 0); meghatározza az A mátrix determinánsát, a d változóba illetve azt az inva mátrixot, amelyre teljesül: (A * inva) / d = I