Zaj címkéhez tartozó bejegyzések

K-16 pályázat eredménye

Az NKIF-hez benyújtott „Véletlen fluktuációk elemzése és hasznosítása multidiszciplináris területeken” című pályázatunk 35 jelentkezőből a 10. helyet kapta meg, ami jó hír. Ami nem jó hír, hogy csak 7 pályázatot támogattak, így a számunkra legfontosabb, alapkutatási tevékenység most nem kapott támogatást, pedig ezzel egy kutatót és számos hallgatót tudtunk volna alkalmazni négy évig. Természetesen nem adjuk fel, továbbra is keressük majd a lehetőségeket.

ICNF 2017

Megjelent az első felhívás a 2017-es ICNF (International Conference on Noise and Fluctuations) konferenciára. A konferencia június 20 és 23 között lesz megtartva Vilnius-ban. Az absztraktokat január 22-éig kell beküldeni. A konferencia legfontosabb témái:

  • Zajok, fluktuációk és sztochasztikus folyamatok elmélete
  • Zajok szilárdtestekben, elektronikus eszközökben, optoelektronikus eszközökben
  • Zaj a kommunikációban
  • Zaj modellezése és szimulációja
  • Mérési módszerek
  • A zaj mint diagnosztikai eszköz
  • Akusztikus zaj

A konferenciáról többet a konferencia honlapján lehet olvasni: http://www.icnf2017.ff.vu.lt/

Konferencia Gdansk-ban

Az előző hónapban meghívott előadóként a Gdanski IMAPS konferencián beszámolhattam a zajjal segített gázérzékelés (FES) témakörében elért legújabb eredményekről. Előadásom címe: "Low power wireless sensor nodes for fluctuation enhanced sensing". A teljes előadást itt lehet letölteni.

Megjelent: A KLJN kulcsmegosztó protokoll általánosítása tetszőlegesen választott ellenállásokkal

A Nature Scientific Report újságban megjelent az új KLJN-nel foglalkozó cikkünk melynek címe: "Generalized Kirchhoff-Law-Johnson-Noise (KLJN) secure key exchange system using arbitrary resistors".

A KLJN korábbi verziójában a két kommunikáló félnek egy-egy magas és alacsony értékű ellenállásra volt szükségük, melyek páronként pontosan azonos értékűek voltak. Amennyiben ez nem teljesült, akkor a kommunikáció során információ szivárgott ki. Ebben a cikkben egy új módszert mutattunk be, ahol a két kommunikáló fél lényegében bármilyen ellenállás-kombinációt választhat, az ellenállások kiválasztása után pedig a feszültségek megfelelő skálázásával biztonságossá teheti a kommunikációt.

A cikk teljes szövege itt elérhető: http://www.nature.com/articles/srep13653

Megjelent egy új cikk a KLJN témakörében

Nemrég megjelent egy komoly támadás a KLJN biztonságával kapcsolatban, melyben a szerzők igen jelentős információszivárgást tudtak kimutatni: Lachlan Gunn et al: A directional wave measurement attack against the Kish key distribution system

A cikkben megfogalmazott egyik legfontosabb állítás, hogy akkor van igazán jelentős információszivárgás (vagyis a lehallgató fél információt tud megszerezni), hogy ha a vezeték csillapítása jelentős. Erre válaszul születetett meg a cikk melynek eredeti címe: „Analysis of an Attenuator Artifact in an Experimental Attack by Gunn–Allison–Abbott Against the Kirchhoff-Law–Johnson-Noise (KLJN) Secure Key Exchange System”.

Ebben a cikkben többek között bemutatjuk, hogy a Gunn és társai által alkalmazott vezeték-veszteség modell megsérti a KLJN feltételeit ezért, főleg azok az esetek, ahol jelentős a vezeték csillapítása irrelevánsak a KLJN biztonsága szempontjából.

A cikket itt lehet elérni: http://www.worldscientific.com/doi/abs/10.1142/S021947751550011X (Fluctuation And Noise Letters 14:(1) Paper 1550011. 8 p. (2015))

A cikk preprintjét pedig itt: http://vixra.org/pdf/1410.0122v3.pdf

Lineáris kongruencia véletlenszám-generátorok

Az egyik legelterjedtebb véletlenszám-generátor típus a lineáris kongruencia típusú véletlenszám-generátor (LCG). A véletlenszám-generátort meghatározó rekurziós képlet a következő:

 \xi_n= (m \cdot \xi_{n-1} + a) \textrm{mod} M

A véletlenszám-generátor működését meghatározzák az m, a és M paraméterek. Amennyiben rosszul választjuk meg őket, akkor a véletlenszám-generátor minősége elfogadhatatlan lesz. Az M változó megadja a generátor maximális ciklusidejét. Általában kettő hatványként van választva, így az algoritmus könnyű bináris számítógépen implementálni.

Az LCG legfontosabb előnye, hogy implementációja egyszerű és kevés erőforrást igényel. Viszont a módszernek több hátránya is van. Egyrészt, korlátozott a ciklushossz, tipikusan 264 alatti. Ha M kettő hatvány, akkor az alacsonyabb helyértékű bitek ciklushossza még rövidebb. További hátránya, hogy bizonyos dimenziószám felett, mely a paraméterektől függ, a véletlen számok térbeli elhelyezkedése nem egyenletes, hipersíkok mentén csoportosulnak az adatok. Ezek a hátrányok nem minden gyakorlati esetben jelentenek problémát, így megfelelő körültekintéssel jól használhatók az LCG generátorok.

A következő táblázat bemutat néhány egyszerű példát az m, a és M paraméterekre.

m a       M      Megjegyzés
1664525 1013904223 232 Forrás: Numerical Recipies
25214903917 11 248 JAVA véletlenszámgenerátora
6364136223846793005 1442695040888963407 264 Forrás: Donald Knuth

Véletlenszám-generátorok ciklusideje

Ahogy az előző bejegyzésben írtam, a pszeudovéletlenszám-generátorok ciklushossza alapvető fontosságú alkalmazásuk során, mivel ezt követően a generátor kimenete ismétli korábbi értékeit, így alkalmatlan arra, hogy további statisztikai adatokat gyűjtsünk. A véletlenszám-generátor ciklusidejét meghatározza az, hogy az algoritmus hány bit-en tárolja belső állapotát: egy 32 bit-es véletlenszám-generátor ciklushossza legfeljebb 232 szám lehet.

A következő táblázatban összefoglalom, hogy amennyiben a véletlenszám-generátort pl. zajgenerálásra használjuk fel, a különböző bitszámú és ciklushosszú algoritmusok mennyi idő után fogják magukat ismételni.

Ciklusidő a következő mintavételi frekvenciák esetén:
Bit-ek száma Ciklushossz (szám) 10 kHz 100 kHz 1 MHz 100 MHz
16 65536 6,5 s 0,65 s 0,065 s 0,65 ms
31 2147483648 2,5 nap 6 óra 36 perc 21 s
32 4294967296 5 nap 12 óra 1,2 óra 43 s
48 2,8147E+14 893 év 89 év 8,9 év 4,7 hét
63 9,2234E+18 2,9E+07 év 2,9E+06 év 2,9E+05 év 292 év
64 1,8447E+19 5,9E+07 év 5,9E+06 év 5,9E+05 év 585 év
128 3,4028E+38 1,1E+27 év 1,1E+26 év 1,1E+25 év 1,1E+23 év

A táblázatból jól látható, hogy a rövid bitszámú véletlenszám-generátorok (32 bit és alatta), még egyszerű, jelgenerálási feladatokra sem használhatók igazán, hiszen nagyon könnyen kifuthatunk a rendelkezésre álló ciklusidőből. A 64 bit-es jelgenerátorok ciklusideje már a legtöbb feladatra elegendő. Ami korlát lehet, hogy számos generátor esetén (pl. az LCG-k esetén) az alacsonyabb helyértékű bit-ek ciklusideje már jóval kevesebb, pl. ha 32 bit-et használunk fel egy-egy 64 bit-es számból, akkor a legkisebb helyértékű bit ciklusideje már csak egy 33 bit-es generátorénak felel meg.

Szükség esetén rendelkezésre állnak sokkal nagyobb periódusidejű pszeudovéletlenszám-generátorok is, pl. a Mersene Twister (219937-1 szám), ezek implementálása viszont sokszor túlságosan sok erőforrást igényelhet.

Véletlen számok létrehozása: pzeudovéletlenszám-generátor

A számítógépek determinisztikusak, az általuk végzett műveletek mindig határozott, megjósolható eredményt adnak. Felmerülhet a kérdés, hogy akkor hogyan tudunk vele véletlen folyamatokat modellezni, véletlen számokat létrehozni. Bár számos fizikai folyamat is alkalmas valódi véletlen jelek létrehozására, ezeket pedig digitális számokká alakíthatjuk, e módszer általában túl lassan állítja elő a véletlen számokat ahhoz, hogy szimulációk és mérések számára felhasználhassuk. Éppen ezért az általánosan használt eljárás, hogy algoritmusok segítségével állítunk elő determinisztikus, de véletnennek tűnő számsorozatot. Ezeket az algoritmusokat hívjuk pszeudovéletlenszám-generátornak.

Mivel ezek a generátorok determinisztikusak, meg van az az előnyük, hogy bármikor reprodukálni tudjuk a korábban előállított jelet. Erre a jelgenerátor seed nevű kezdőparaméterét használhatjuk.

Természetesen vannak hátrányai is a pszeudovéletlenszám-generátoroknak. Az egyik, hogy a létrehozott számsornak van egy bizonyos ismétlődési ideje, ennek lejártakor a generátor már pontosan ugyanazt a számsorozatot adja vissza. Ennek oka, hogy a véletlenszám-generátorok meghatározott bitszámon tárolják el belső állapotukat, működésük során pedig előbb utóbb eljutnak egy olyan állapotba, amiben már tartózkodtak valamikor; ezt követően pedig elkezdik ismételni a legenerált számsorozatot. Például egy olyan véletlenszám-generátor ami 16 bit-en tárolja az adatait, legfeljebb 216 létrehozott számsorozatot tud előállítani ismétlés nélkül. Ha segítségével egy olyan zajgenerátort hozunk létre, mely 10 kHz-es mintavételi frekvenciával állít elő fehér zajt, az 6,5 másodperc után már ismétlődni fog, jelentősen korlátozva az alkalmazhatóságát.

A véletlenszám-generátor által létrehozott számsorban, az algoritmustól függően, különböző rövid és hosszú távú kapcsolatok, összefüggések lehetnek. Ezen összefüggések egyes szimulációk során akár hibás eredményre is vezethetnek, amennyiben a véletlenszám-generátor hibája pont torzítja a végeredmény statisztikáját. Ezért fontos, hogy alkalmazás előtt megismerjük véletlenszám-generátorunk tulajdonságait és korlátait.

A véletlenszám-generátorokat számos tesztnek vethetjük alá [1], vizsgálhatjuk a számok eloszlását, az egymás utáni elemek közötti korrelációt, a periódushosszt, a generátor megbízhatóságát jól megfogalmazott és ismert eredményű Monte-Carlo feladatokban. E mellett egy hasznos teszt a spektrálpróba, ahol a legenerált számsorozatból egy térbeli (vagy hipertérbeli ábrát) készítünk, ahol az egymás után legenerált számokból egy-egy pontot ábrázolunk. Ideális esetben ezek a pontok egyenletesen lefednék a teret. Valós esetben a pontok párhuzamos hipersíkokba rendeződnek. Az, hogy hanyadik dimenzióban jelennek meg a hipersíkok, illetve hogy milyen távolság van közöttük, a jelgenerátor típusától és paramétereitől függ. A következő ábrán a Fortran programozási RANDU függvény [2] térbeli eloszlását láthatjuk; már 3 dimenzióban is kialakulnak ezek a síkok. Ez azt jelenti, hogy ha pl. egy szimulációban 3 paramétert szeretnénk egymástól függetlenül változtatni, amennyiben ezzel a függvénnyel hoznánk létre őket, az szimuláció eredménye egyáltalán nem fog megfelelni a valóságnak, hiszen a paraméterek nem lesznek egymástól függetlenek.

A RANDU véletlenszámgenerátor térbeli eredménye

A RANDU véletlenszám-generátor által létrehozott pontok térbeli elhelyezkedése

Olyan pszeudovéletlenszám-generátor nincs, mely minden teszten átmenne, de a legtöbb manapság használt véletlenszám-generátor jól teljesít a tesztek nagy részében, és mindig találhatunk a feladatunkhoz leginkább megfelelő algoritmust.

[1] L’ECUYER, P: Testing random number generators. Proceedings of the 1992 Winter Simulation
Conference, (2002), 305–313. p.

[2] DONALD ERVIN KNUTH: A számítógép-programozás művészete 2. kötet (Szeminumerikus
algoritmusok). Budapest, 1987, Műszaki Könyvkiadó.

Megjelent: Bithibák a KLJN biztonságos kulcsmegosztó protokolban

A Hot-PI konferencián Kish László által előadott eredmények megjelentek a konferenciakötetben is. A eredeti, angol nyelvű cím: ”Bit Errors in the Kirchhoff-Law-Johnson-Noise Secure Key Exchange”

Az absztrakt magyarul:

A cikkben osztályozzunk és megvizsgáljuk a bit hibákat feszültség és áramerősség mérési üzemmódokban a KLJN biztonságos kulcsmegosztó rendszerben. Mindkét mérési módban, adott sávszélesség mellett, a hiba valószínűsége exponenciálisan csökken, ahogy nő a bitcsere időtartama. Ugyancsak bemutatunk egy hibacsökkentő módszert, mely a feszültség és áramerősség alapú módszer kombinációján alapul. A módszer lényegesen pontosabb és lényegesen kevesebb hibás bit-et okoz mint a korábbi módszerek, valamint szintén exponenciális függést mutat a bitcsere időtartamával.

A teljes cikket itt lehet elérni: http://www.worldscientific.com/doi/abs/10.1142/S2010194514603676  (International Journal of Modern Physics: Conference Series, Volume 33, 2004)

Megjelent: A Kirkhoff-Law-Johnson-Noise biztonságos kulcsmegosztó protokoll kísérleti vizsgálata

A tavalyi Hot-PI konferencián előadott eredményeim megjelentek a konferenciakötetben is. A eredeti, angol nyelvű cím: ”Experimental study of the Kirchhoff-Law-Johnson-Noise secure key exchange”

Az absztrakt magyarul:

A KLJN kulcsmegosztó protokol egy olyan lehetőséget biztosít a biztonságos kulcsok megosztására, mely a klasszikus fizikát (elektromosságtan, termodinamika) használja. Számos elméleti vizsgálat vizsgálta a módszer teljesítményét és alkalmazhatóságát, ezek azt mutatták, hogy a protokoll védet az összes ismert támadás ellenen. Azonban, ez idáig nagyon kevés valós implementációja van a rendszernek és ugyanígy kevés kísérleti tesztje. Munkámban folytatom ezen hiány kitöltését. Bemutatom a KLJN rendszerek implementálásának részleteit egy dedikált hardvert esetén, valamint egy „polcról levehető” verzió esetén is. Ezeken túl, bemutatom a legújabb kísérleti tesztek eredményét.

A teljes cikket itt lehet elérni: http://www.worldscientific.com/doi/abs/10.1142/S2010194514603652 (International Journal of Modern Physics: Conference Series, Volume 33, 2004)