A Shift regiszter átviteli regiszterrel ( FCSR ) bitszavak shift regisztere, a lineáris visszacsatolásos shift regiszter aritmetikai analógja , amelytől hordozóregiszter jelenlétében különbözik. Pszeudo-véletlen bitsorozatok generálására használják , és az F-FCSR adatfolyam titkosításának létrehozására is használták .
1994 - ben Goresky és () Coutureangol(Couture,ZamanésMarsagliafüggetlenülegymástólvalamint,Klapper angol L' Ecuyer) találta fel a átviteli visszajelzéssel ellátott műszakregisztert . Sőt, Clapper és Goresky az összegző generátor kriptoanalízisére akarta használni . Másrészt Marsaglia, Zaman, Couture, L'Ecuer arra törekedett, hogy találjanak egy jó véletlenszám-generátort olyan problémák megoldására, mint például a kvázi-Monte Carlo módszer alkalmazása . [egy]
Az FCSR rendelkezik egy eltolási regiszterrel, egy visszacsatolási funkcióval és egy átviteli regiszterrel. Az eltolási regiszter hossza a bitek száma. Ha egy bitet ki kell húzni, a shift regiszter összes bitje egy pozícióval jobbra tolódik. [2]
Ahelyett, hogy a leágazási szekvencia összes bitjét XOR-e végezné, ezek a bitek hozzáadódnak egymáshoz és a hordozóregiszter tartalmához. Az eredmény egy új ütem lesz. Az eredmény osztva lesz a hordozóregiszter új tartalma. [3]
— a hordozónyilvántartás értéke
— a nyilvántartás új állapota
— a hordozónyilvántartás új értéke
Tekintsünk egy példát egy 3 bites regiszterre, ahol az első és a második pozícióban leágazások találhatók. Legyen a kezdeti értéke , a hordozóregiszter kezdeti tartalma pedig egyenlő . A kimenet a shift regiszter jobb szélső bitje lesz . A nyilvántartás további állapotai az alábbi táblázatban láthatók:
Lépésszám | műszakregiszter | Hordozható nyilvántartás |
---|---|---|
0 | 0 | |
egy | 0 | |
2 | 0 | |
3 | 0 | |
négy | 0 | |
5 | 0 | |
6 | egy | |
7 | egy | |
nyolc | egy | |
9 | egy | |
tíz | egy | |
tizenegy | 0 |
A végső belső állapot (beleértve a hordozóregiszter tartalmát is) megegyezik a második belső állapottal. Ettől a pillanattól kezdve a sorozat ciklikusan ismétlődik a -val egyenlő periódussal . Azt is érdemes megemlíteni, hogy a hordozóregiszter nem egy bit , hanem egy szám. Mérete legalább , ahol az ágak száma. A példában csak három ág van, tehát a hordozóregiszter egybites. Ha négy ág lenne, akkor a hordozóregiszter két bitből állna, és felvehetné a vagy az értékeket . [3]
Ellentétben az LFSR -rel, az FCSR-nek késleltetése van, mielőtt ciklikus módba lép, vagyis elkezdi a ciklikus ismétlődő sorozat generálását. A választott kezdeti állapottól függően 4 különböző eset lehetséges: [3]
Empirikusan ellenőrizheti, hogyan végződik egy adott kezdeti állapot. Egy darabig futnia kell az FCSR-nek. (Ha a kezdeti memória mennyisége és az elágazások száma, akkor a ciklusok elegendőek.) Ha a kimeneti adatfolyam bitenként nullák és egyesek végtelen sorozatává degenerálódik , ahol az FCSR hossza, akkor ez a kezdeti állapot nem használva lenni. [3]
Azt is érdemes megjegyezni, hogy az FCSR-alapú generátorkulcsok egy készlete gyenge lesz, mivel az FCSR kezdeti állapota megfelel az adatfolyam titkosító kulcsának. [3]
A maximális FCSR periódus ,ahol a kapcsolat egész száma. Ez a szám határozza meg az ágakat, és a következőképpen definiálható:
- olyan prímszámnak kell lennie, amelyre a 2 primitív gyök . [3] [1]
Ahogy az LFSR elemzés primitív mod 2 polinomok összeadásán alapul, az FCSR analízis a számok összeadásán, az úgynevezett 2-adic . A 2-adikus számok világában mindenre van analóg. Ugyanúgy, ahogy a lineáris komplexitás definiálható, a 2-adikus komplexitás is definiálható. A Berlekamp-Massey algoritmusnak van egy 2-adikus analógja is . Ez azt jelenti, hogy a lehetséges adatfolyam-rejtjelek száma legalább megduplázódott. Bármi, amit meg lehet tenni az LFSR-rel, megtehető az FCSR-rel. [3]
A Galois konfiguráció a következőkből áll:
A t időpontban az állapot a következőképpen változik:
1. , for all , with és ahol a visszacsatoló bitet jelenti.
2. Az állapot frissült: , for all és , for all . [4] [5]
A Fibonacci konfiguráció a következőkből áll:
Az állapot a következőképpen változik:
1 .;
2. frissítés állapota: , . [4] [5]
Fő cikk: Stop-go generátor
Három különböző hosszúságú műszakregisztert használ. Itt az 1. regiszter vezérli a 2. és 3. regiszter órafrekvenciáját, vagyis a 2. regiszter megváltoztatja állapotát, ha az 1. regiszter kimenete eggyel egyenlő, a 3. regiszter pedig, ha az 1. regiszter kimenete egyenlő nullával. [3]
Ezek a regiszterek FCSR-t használnak egyes LFSR-ek helyett, és az XOR művelet helyettesíthető egy átviteli hozzáadással.
Főcikk : Gollmann Cascade
Ez az áramkör a stop-go generátor továbbfejlesztett változata. Regiszterek sorozatából áll, amelyek mindegyikének órajelét az előző regiszter vezérli. Ha az 1. regiszter kimenete pillanatnyilag 1, akkor a 2. regiszter órajele. Ha a 2. regiszter kimenete pillanatnyilag 1, akkor a 3. regiszter órajele van, és így tovább. Az utolsó regiszter kimenete a generátor kimenete. [3]
Kétféleképpen használhatjuk az FCSR-t lépcsőzetes oszcillátorokban:
Ezek a generátorok változó számú FCSR-t és/vagy LFSR-t, valamint számos, regisztereket kombináló függvényt használnak. Az XOR művelet megsemmisíti az FCSR algebrai tulajdonságait, ezért célszerű ezt a műveletet használni ezek kombinálására. [3]
A átviteli visszacsatolású Shift regiszterek alapul szolgálhatnak különféle generátorok (amelyek közül néhányat fentebb leírtunk), valamint különféle adatfolyam titkosítások létrehozásához.
Fő cikk: F-FCSR .
Az F-FCSR egy adatfolyam-rejtjel-család, amely egy átviteli visszacsatolási eltolási regiszter (FCSR) használatán alapul, lineáris kimeneti szűrővel. A rejtjelezés ötletét Terry Berger, François Arnault és Cédric Larade javasolta. Az F-FCSR-t beküldték az eSTREAM versenyre , 2008 áprilisában felkerült a verseny nyerteseinek listájára, de később kiderült egy kriptográfiai gyengeség, és 2008 szeptemberében az F-FCSR kikerült az eSTREAM-ból.