Az alábbiakban egy egyirányú kódolási eljárást mutatunk be. Ezt az eljárást olyan un. borítékolt üzenetek titkosítására használhatjuk, ahol az elküldés pillanatában még nem szeretnénk, hogy a címzett el tudja olvasni az üzenetet, továbbá a borítékbontásig mi se tudjunk változtatni az üzeneten.
Eljárásunk az n szám önmagánál kisebb osztóinak összegét megadó s(n) függvény azon tulajdonságán alapul, hogy nagy n-ből s(n) értéke viszonylag gyorsan meghatározható, ám visszafelé ugyanez belátható idő alatt nem végezhető el, ezért ez az egyik irányban gyors, a másik irányban felbonthatalan művelet alkalamas lehet üzenetek (pl. árajánlat, borítékolt sakklépés) titkosítására, un. egyirányú kódolásra.
A kódolás lépései a következők:
- A kódolandó üzenetet ASCII kód segítségével átírjuk számmá, legyen ez a szám n.
- n számhoz ezután rendeljük hozzá az s(n)-jét, majd ezt az s(n)-t küldjük el, mint kódolt üzenetet.
- A határidő lejártakor elküldjük az eredeti üzenetet (ill. a hozzá tartozó n-t), ekkor a fogadó fél könnyen ellenőrizheti, hogy ehhez az n-hez valóban az előzőleg elküldött s(n) tartozik-e
Ha rövid üzenetet kódolunk, vagy a lehetséges üzenetek könnyen végigpróbálhatók, akkor szükséges töltelékszavakat is használnunk. Ilyenkor az üzenetet egy irodalmi idézett szavai közé tesszük, így növeljük n értékét.
Példa egy árajánlat küldésére:
Eredeti üzenet: ajánlat:10mFt
A torzított üzenet: rabok ajánlat:10mFt legyünk
A torzított üzenet ASCII kóddal kódolt alakja: n = 114 097 098 111 107 032 097 106 225 110 108 097 116 058 049 048 109 070 116 032 108 101 103 121 252 110 107
A fenti szám s(n)-jének értéke: s(n) = 83 817 235 823 009 739 558 630 829 400 480 313 014 111 531 231 840 711 587 215 004 313 684 449 886 511 333
Az árajánlat helyett ezt az s(n)-t küldjük el, ez a borítékolt üzenet Borítékbontáskor megadjuk az eredeti, ill. torzított ajánlatot tehát n-t és a fogadó fél ellenőrizheti, hogy valóban a fenti s(n) tartozik hozzá.
Forrás: http://www.petofi-bhad.sulinet.hu/tantargy/matek/feladat.htm
Forrás: http://www.petofi-bhad.sulinet.hu/tantargy/matek/feladat.htm
Nincsenek megjegyzések:
Megjegyzés küldése