HU224846B1 - Encryption and decryption method - Google Patents

Encryption and decryption method Download PDF

Info

Publication number
HU224846B1
HU224846B1 HU0202691A HUP0202691A HU224846B1 HU 224846 B1 HU224846 B1 HU 224846B1 HU 0202691 A HU0202691 A HU 0202691A HU P0202691 A HUP0202691 A HU P0202691A HU 224846 B1 HU224846 B1 HU 224846B1
Authority
HU
Hungary
Prior art keywords
decoding
encoding
coding
encryption
algorithm
Prior art date
Application number
HU0202691A
Other languages
English (en)
Inventor
Marco Sasselli
Christophe Nicolas
Michael John Hill
Original Assignee
Nagracard Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nagracard Sa filed Critical Nagracard Sa
Publication of HUP0202691A2 publication Critical patent/HUP0202691A2/hu
Publication of HU224846B1 publication Critical patent/HU224846B1/hu

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Description

A találmány tárgya kódoló- és dekódoló eljárás egymás után következő kódoló- és dekódoló lépések használatával. A találmány adatok, elsősorban olyan adatok kódolására és dekódolására vagy bitsor kódolására és dekódolására vonatkozik, mely adatok például egy fizess-és-nézd jellegű televíziórendszeren belül arra fel nem jogosított személyek vagy készülékek számára hozzáférhetetlenek.
Ilyen rendszerekben az adatokat olyan úgynevezett biztonságos környezetben kódolják, amely igen jelentős számítási teljesítményt, erőforrást igényel, és amelyet általában kódoló alrendszernek neveznek. A kódolást követően az adatokat ismert módon és eszközökkel legalább egy olyan decentralizált alrendszerhez továbbítják, ahol az adatok általában valamilyen integrált vevő- és dekódoló készülék segítségével, valamint általában egy csipkártya felhasználásával dekódolásra kerülnek. Egy jogosulatlan személy ilyen környezetben korlátlan hozzáférést nyerhet a csipkártyához és az azzal együttműködő decentralizált alrendszerhez is, ami nemkívánatos.
Részben a fentiek megakadályozására ismert módszer, hogy egy kódoló- és dekódoló rendszerben különböző kódoló- és dekódoló eszközöket kapcsolnak láncba. Ennek megfelelően leírásunk további részében kódolás és dekódolás alatt egy nagyobb, összetettebb kódoló- és dekódoló rendszerben használt egyes kódolóés dekódoló eszközökkel végzett műveleteket értünk.
Az ilyen rendszereket már igen régóta próbálják optimalizálni a sebesség, memóriaigény és biztonság hármas szemszögéből. Sebesség alatt azt az időt értjük, amely a kapott adatok dekódolásához szükséges.
A kódoló- és dekódoló rendszerek egy ismert csoportja úgynevezett szimmetrikus kulcsokat használ, amelyek biztonságát különböző feltételek függvényeként lehet meghatározni.
Az első feltétel a fizikai biztonság kérdése, amely annak a keresőeljárásnak az egyszerű vagy bonyolult voltára vonatkozik, amellyel egyes összetevőket megkeresünk, kiválasztunk, majd ezeket más összetevőkkel helyettesítjük. Ezeket a helyettesítő összetevőket, amelyeknek feladata a jogosulatlan személy „felvilágosítása” a kódoló- és dekódoló rendszer működésének a természetéről, a jogosulatlan személy igyekszik úgy megválasztani, hogy tevékenysége a kódoló- és dekódoló rendszer maradék része számára a lehető legkevésbé legyen észlelhető vagy felismerhető.
A második feltétel a rendszerbiztonság kérdése, amely alatt azt értjük, hogy a támadások nem fizikai módon, fizikai vonatkozásban kerülnek végrehajtásra, hanem matematikai elemzések révén. Általánosságban ezeket a támadásokat olyan nagy teljesítményű számítógépek hajtják végre, amelyek segítségével arra fel nem jogosított személyek az algoritmusokat és a kódolókódokat igyekeznek feltörni és megismerni.
A szimmetrikus kulcsokat használó kódoló- és dekódoló rendszerek közé tartoznak például a DES (Data Encryption Standard) néven ismert rendszerek. Ezek a viszonylag régi módszerek kizárólag olyan rendszerbiztonságot és fizikai biztonságot képesek nyújtani, amelyek teljes egészében viszonylagosak. Részben ennek is köszönhető, hogy a DES típusú rendszereket, amelyeknél az alkalmazott kulcsok hossza immár nem elegendő a rendszerbiztonsági feltételek megbízható kielégítésére, másfajta vagy hosszabb kulcsokat használó új rendszerekkel igyekeznek kiváltani. Általánosságban ezek a rendszerek és eszközök több kódolóciklust magukban foglaló algoritmusokkal létrehozott szimmetrikus kulcsokat tartalmaznak.
Egy másik támadóstratégia-típust puszta teljesítményelemző vagy puszta időzítéselemző típusnak neveznek. A puszta teljesítményelemzés során azt a tényt használják ki, hogy egy adatok kódolását vagy dekódolását végző mikroprocesszor egy feszültségforrásra, általában 5 V-os feszültségforrásra van rákötve, és ha a mikroprocesszor üresjáratban van, akkor meghatározható, állandónak tekinthető áramot vesz fel. Ha viszont a mikroprocesszor aktív, akkor az általa felvett áram mindenkori értéke nemcsak a beérkező adatoktól, hanem magától a kódolóalgoritmustól is függ. Ennek alapján a puszta teljesítményelemző módszer az I áram időbeli lefolyását méri. A mikroprocesszor által végrehajtott algoritmus típusa pedig ebből a mért áramérték lefolyásból már levezethető, megtudható.
Hasonlóképpen a puszta időzítéselemző módszer is a dekódoló modulba vezetett kódminta függvényében a mikroprocesszor által végzett számítás időtartamának a mérését jelenti. Ennél a módszernél a mikroprocesszorba vezetett kódminta és a mikroprocesszor által elvégzett számítások időtartama közötti összefüggés alapján a dekódoló modulból olyan titkos paramétereket lehet megismerni, mint például a dekódoló kulcs. Ilyen rendszert ismertet például a „Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS and Other Systems” című könyv (Paul Kocher, Cryptography Research, 870 Markét St, Suite 1088, San Francisco, CA-USA).
A kódolórendszer biztonsága növelése érdekében aszimmetrikus kulcsokkal rendelkező algoritmusokat is javasoltak, mint amilyenek az úgynevezett RSA- (Rivest, Shamir, Adleman) rendszerek. Ezek a rendszerek egy összetartozó kulcspárt állítanak elő, melyek közül az egyik egy úgynevezett nyilvános kulcs, amelyet a kódoláshoz használnak, a másik pedig egy úgynevezett privát kulcs, amelynek a dekódolásban van szerepe. Egy aszimmetrikus kulcsnak két része van: a (d, e) kitevő, és az (n) modulo. Az algoritmus egyébként mind a privát, mind a nyilvános kulcs esetén azonos. Ezek az algoritmusok igen magas biztonsági szintet jelentenek, mind rendszer, mind fizikai biztonság tekintetében. Hiányosságukként róható fel, hogy - különösen a kódolás tekintetében - lassabbak, mint a hagyományos rendszerek.
A legújabb támadási technikák az úgynevezett DPA (Differential Power Analysis) elven működnek. Ezek a módszerek igen nagyszámú próbálkozás alapján megállapított feltételezéseken alapulnak, hogy a kódolókulcs egy adott pozíciójában logikai 0 vagy logikai 1 érték szerepel-e. Ezek a módszerek legtöbbször nem romboló hatású vagy jellegű módszerek, így legtöbb2
HU 224 846 Β1 szőr észrevétlenek maradnak, és egy fizikai betolakodó összetevőt, valamint egy matematikai elemző összetevőt tartalmaznak. Ezek működésmódja az olajmezők feltárása során használt technikákat idézi, amelyek során a felszínen ismert erejű robbantást végeztek, és a robbantás helyszínétől ismert távolságban telepített fejhallgatókkal, szondákkal igyekeztek információt összegyűjteni és feltételezéseket levonni a felszín alatti rétegek rétegtani összetételéről, anélkül, hogy túlságosan sokat kellett volna ásni, amihez a felület alatti részek üledékes ágyainak határfelületeiről visszaverődő lökéshullámokat használták fel. Az ilyen DPA típusú támadások részletesebben is megtalálhatók a „A Cautionary Note Regarding Evaluation of AES Candidates on Smart-Cards” dokumentum 2.1.§-ában, amelyet 1999. február 1-jén az IBM T. J. Watson Research Center, Yorktown Heights, NY, USA cég kezelésében Suresh Chari, Charanjit Jutla, Josyula R. Rao és Pankaj Rohatgi publikált.
A DPA típusú támadásokkal szembeni ellenállás kikényszeríti az úgynevezett „fehérítő” (whitening) zavarórendszerek használatát, mégpedig egy kódoló- és dekódoló algoritmusnak vagy a bemeneti információjával, vagy pedig kimeneti információjával kapcsolódva. Az ilyen fehérítőmódszer a fent említett dokumentum 3.5.§-ában részletesen olvasható.
Ezen túlmenően az a tény is gondot okoz, hogy egy fizess-és-nézd típusú televíziórendszer decentralizált alrendszerének számítási kapacitása is korlátozott, amelyet a korábban említett láncba kapcsolt eljárások végrehajtásához sohasem sikerült kellő mértékben kiküszöbölni.
Az US 5,594,797 számú szabadalmi leírás digitális távközlési kódolásra alkalmas eljárást és berendezést ismertet, amellyel választani lehet az alkalmazott biztonsági szintek között, és a szöveges üzenetet három fokozatban alakítják át kódolt üzenetté, amelynek során tekintetbe veszik a kompatibilitást beállító kapcsoló állapotát is. Az eljárásban az egyes fokozatok jól és tisztán elkülöníthetők egymástól, és egy rákövetkező fokozat csakis akkor kezdi meg a kapott adatok feldolgozását, ha az azt megelőző fokozat kiadta a végeredményt.
A találmánnyal célunk ezért egy olyan kódoló- és dekódoló eljárás létrehozása, amely elvárásunk szerint ellenáll például a fent vázolt korszerű behatoló- és kutatómódszereknek.
A kitűzött feladatot több különböző kódoló- és dekódoló lépést egymás után alkalmazó kódoló- és dekódoló eljárással oldottuk meg, amelynek során a találmány értelmében egy soron következő kódoló- vagy dekódoló lépés végrehajtását azon nyomban megkezdjük, amint az azt megelőző kódoló- vagy dekódoló lépésből származó eredmény egy része már rendelkezésünkre áll.
A javasolt eljárás egy előnyös foganatosítási módja értelmében a soron következő dekódoló modul működését azon nyomban megkezdjük, amint az azt megelőző dekódoló modultól származó eredménynek egy része már rendelkezésre áll, és egy további előnyös foganatosítási módja értelmében a soron következő kódolómodul működését azon nyomban megkezdjük, amint az azt megelőző kódolómodultól származó eredménynek egy része már rendelkezésre áll.
Javasolt eljárásunk egyik fő jellemzője az a tény, hogy egy közbenső kódoló- és dekódoló modul működését nem akkor kezdi meg, amikor az azt megelőző kódoló- és dekódoló modultól származó eredmény teljes egészében rendelkezésére áll, hanem rögtön működésbe lép, ha az előző modul eredménye legalább részben elérhető. így egy külső megfigyelő számára nincs lehetőség arra, hogy az adott kódoló- és dekódoló modul bemeneti vagy kimeneti feltételeit megfigyelje vagy létrehozza.
Mivel a dekódolás a csipkártyával együttműködő decentralizált alrendszerben megy végbe, ez a csipkártya a kódoló alrendszerrel összehasonlítva csupán viszonylag korlátozott számítási teljesítményt igényel, és így például előnyösen használható erre a célra a dekódolás utolsó lépéseiben egy viszonylag gyorsan működő nyilvános aszimmetrikus kulcs. Ez egyrészt lehetővé teszi a rendszer sebezhetetlenségének a fenntartását az eljárás befejezésekor, másrészt annak a számítási kapacitásnak a koncentrációját, amely lényegében a kódoló alrendszerben a privát kulcs segítségével végrehajtott kódoláshoz szükséges.
Kísérleteink során arra is rájöttünk, hogy a biztonság tovább növelhető, ha két, egymást sorban követő kódoló- és dekódoló eszközt összefűzünk, vagy legalább részben összesorolunk (interleaving). Ez az összefüggés vagy részleges összesorolás úgy értendő, hogy a második kódoló- és dekódoló eszköz működését, illetve adatfeldolgozását abban a pillanatban kezdjük el, amikor az első kódoló- és dekódoló eszköz ugyanazokon az adatokon még mindig dolgozik. Ez lehetővé teszi, hogy az adatokat úgy elfedjük, mintha az az első kódoló- és dekódoló eszköz működésének eredményeképpen keletkezne, és még mielőtt a második kódoló- és dekódoló eszköz ezeknek az adatoknak a feldolgozását, vagyis működését elkezdte volna.
A láncbafűzés abban a pillanatban megkezdődhet, amint az első kódoló- és dekódoló eszköz kimenetén a feldolgozott, illetve számított adatok legalábbis részben már elérhetővé válnak a második kódoló- és dekódoló eszköz számára.
A javasolt eljárás egy további előnyös foganatosítási módja értelmében három kódoló- és dekódoló modult használunk aszimmetrikus kulcsokkal.
A javasolt eljárás egy további előnyös foganatosítási módja értelmében három modult alkalmazunk, amelyek közül a középső modulban titkos szimmetrikus kulcsot használunk.
A javasolt eljárás egy további előnyös foganatosítási módja értelmében a kódolás vonatkozásában az első és az utolsó modul, valamint a dekódolás vonatkozásában az első és az utolsó modul aszimmetrikus kulcsokat, vagyis egy privát kulcsot és egy nyilvános kulcsot használó RSA típusú modul.
Ez utóbbi foganatosítási mód vonatkozásában előnyös, ha a kódolás során az utolsó modulban a nyilvá3
HU 224 846 Β1 nos kulcsot használjuk, és a dekódolás során az első modulban a privát kulcsot használjuk.
Előnyös a találmány értelmében, ha a két modulban egy úgynevezett privát kulcsot használunk a kódoláshoz, és egy úgynevezett nyilvános kulcsot használunk a dekódoláshoz.
Előnyös továbbá a találmány értelmében, ha a két modulban ugyanazt a privátkulcs- és nyilvánoskulcskészletet használjuk.
Előnyös továbbá a találmány értelmében, ha a két modulban különböző privátkulcs- és nyilvánoskulcskészletet használunk.
Találmányunk lehetővé teszi, hogy a fent vázolt támadásokkal szemben a kódoló- és dekódoló rendszerünket megvédjük azáltal, hogy különböző kódoló- és dekódoló eszközöket egyetlen egységes kódoló- és dekódoló rendszerbe fogjuk össze, és ezeknek az egyes eszközöknek az egymást követési sorrendjében adott esetben az adatokat összefűzhetjük, vagy legalábbis részben összesorolhatjuk.
A javasolt eljárás egy előnyös foganatosítási módja értelmében az egy kódoló alrendszert is magában foglaló kódoló- és dekódoló rendszerben szekvenciálisán, azaz egymást követően három különböző algoritmust használunk:
a) (d1, n1) privát kulcsot tartalmazó aszimmetrikus
A1 algoritmust, amellyel aláírjuk az m üzenetet alkotó normál-, puszta adatokat, és a szakterületen ismert C1=m mód n1 képlettel kifejezett matematikai művelettel egy első C1 kriptogramot kapunk. A képletben ni az aszimmetrikus A1 algoritmus nyilvános kulcsának része, mód a kongruencia matematikai operátora a relatív integerek készletében, d1 kitevő az A1 algoritmus privát kulcsának része;
b) Kódoló és dekódoló K titkos kulcsot használó szimmetrikus S algoritmust, amellyel a C1 kriptogramot C2 kriptogrammá alakítjuk át;
c) (d2, n2) privát kulcsot tartalmazó aszimmetrikus A2 algoritmust, amellyel a C2 kriptogramot C3 kriptogrammá alakítjuk át az előbb említett matematikai művelet, vagyis C3=C2d2 mód n2 segítségével, ahol n2 az aszimmetrikus A2 algoritmus nyilvános kulcsának része, mód a kongruencia matematikai operátora a relatív integerek készletében, d2 kitevő az aszimmetrikus A2 algoritmus privát kulcsának része.
A kódoló alrendszerből a C3 kriptogramot ismert módon eljuttatjuk a decentralizált alrendszerhez. Fizessés-nézd típusú televíziórendszerek esetében a C3 kriptogram videoadatokat vagy üzeneteket is magában foglalhat.
A decentralizált alrendszerben az eredeti m üzenet visszakapása céljából szintén három AT, S' és A2’ algoritmust használunk, amelyek a kódoló alrendszerben és a decentralizált alrendszerben elosztott és a kódolóés dekódoló rendszert jelentő három kódoló- és dekódoló lépést jelentik:
d) az A2’ algoritmussal a C2=C3e2 mód n2 képlettel leírt matematikai műveletet hajtjuk végre a C3 kriptogramon, amellyel visszaállítjuk a C2 kriptogramot.
A képletben n2 az A2’ algoritmus nyilvános kulcsának része, mód a kongruencia matematikai operátora a relatív integerek készletében, e2 kitevő az aszimmetrikus A2’ algoritmus nyilvános kulcsának része;
e) szimmetrikus S’ algoritmussal K titkos kulcsot használva visszaállítjuk a C1 kriptogramot;
f) az aszimmetrikus AT algoritmussal az m=C1e1 mód n1 képlettel leírt matematikai művelet segítségével visszaállítjuk az m üzenetet, ahol a képletben n1 az AT algoritmus nyilvános kulcsának része, mód a kongruencia matematikai operátora a relatív integerek készletében, e1 kitevő az aszimmetrikus AT algoritmus nyilvános kulcsának része.
A decentralizált alrendszerben a már említett összetűzés során a e) dekódoló lépést már akkor elkezdjük, amikor C2 kriptogramot még nem állítottuk teljesen helyre az azt megelőző d) lépésben, és az f) dekódoló lépést akkor kezdjük, amikor C1 kriptogramot még nem állítottuk teljesen helyre az e) lépésben. Ennek az az előnye, hogy meg tudunk akadályozni például egy olyan támadást, amellyel a decentralizált alrendszerben a e) lépés végén meg akarják kapni a C1 kriptogramot úgy, hogy összehasonlítják a puszta m üzenetadattal, majd a C1 kriptogram és az m üzenet segítségével megszerzik az AT algoritmust, majd fokozatosan visszakövetik a kódolóláncot.
Az összetűzést nem feltétlenül a biztonságos fizikai környezetben telepített kódoló alrendszerben hajtjuk végre, hanem a decentralizált alrendszerben is előnyösen végrehajtható. Egy fizess-és-nézd típusú televíziórendszer esetében az integrált vevő- és dekódoló berendezés gyakorlatilag az előfizetőnél van telepítve, és a fent vázolt típusú támadásoknak van kitéve.
A leírtakból könnyen kivehető, hogy sokkal kisebb a siker valószínűsége egy három, egymáshoz fűzött dekódoló A1 ’, S’ és A2’ algoritmuskombinációja ellen indított támadásnak, mintha a C1 és C2 kriptogramokat teljes mértékben helyreállítanánk minden egyes d), e) és f) lépés között. Ezen túlmenően az a tény, hogy az A1 ’ és A2’ algoritmusokat a nyilvános kulcsokkal használjuk, biztosítja, hogy a decentralizált alrendszerben lévő és a számítások elvégzéséhez szükséges eszközök lényegesen egyszerűbbek lehetnek, mint a kódoló alrendszerben alkalmazott eszközök.
Közelebbről nézve ez például annyit tesz, hogy az a) és c) lépések, vagyis a (d1, n1), (d2, e2) privát kulcsokkal végrehajtott kódolólépések húszszor tovább tartanak, mint az (e1, n1), (e2, n2) nyilvános kulcsokkal végrehajtott dekódoló lépések, vagyis a d) és f) lépések.
A találmány szerinti eljárás egy előnyös foganatosítási módja értelmében az A1 és A2 algoritmusok éppúgy azonosak, mint AT és A2’ algoritmus-ellenpárjaik.
Egy további, az előzőből adódó előnyös foganatosítási mód értelmében a c) lépésben az aszimmetrikus A2 algoritmus (e2, n2) nyilvános kulcsait használjuk, míg a d) lépésben a C3 kriptogramot ennek az algoritmusnak a (d2, n2) privát kulcsával dekódoljuk. Ez a foganatosítási mód egy lehetséges alternatívát jelent olyan esetekben, amikor a decentralizált alrendszer
HU 224 846 Β1 erőforrásai számítási kapacitás tekintetében lényegesen gyengébbek a szükségesnél.
Jóllehet a csipkártyákat főleg adatok dekódolására használjuk, olyan csipkártyák is léteznek, amelyek kellő kapacitással rendelkeznek kódolóműveletek végrehajtására is. Ilyen esetekben a fent leírt támadások az ilyen kódolást végző csipkártyák ellen is irányulhatnak, amelyek általában távol esnek a védett helyektől, például a működtetést végző és irányító központtól. Ez az oka annak, hogy a találmány szerinti eljárásban sorban egymást követő kódolóműveleteket használunk, vagyis hogy a sorban következő kódoló- és dekódoló lépések végrehajtását azon nyomban megkezdjük, amint az azokat megelőző kódoló- és dekódoló lépések által rendelkezésre bocsátandó információ egy része elérhetővé válik számunkra. Ennek a módszernek az az előnye, hogy a különböző kódolólépéseket sorba tudjuk fűzni, és ennek eredményeképpen a megelőző kódoló- és dekódoló lépésből származó eredmény soha nem áll teljességében rendelkezésre egy adott időpontban. Ezen túlmenően a rákövetkező kódoló- és dekódoló lépést soha nem egy ahhoz eljuttatott teljes eredményen kezdjük, hanem mindig csak az annak eljuttatandó eredmény egy részén, ezáltal gyakorlatilag lehetetlenné tesszük egy lépés működésmódjának a megismerését valamilyen ismert bemeneti vagy kimeneti állapot alapján.
A találmányt az alábbiakban a csatolt rajz segítségével ismertetjük részletesebben, amelyen a javasolt eljárás példaként! foganatosítási módját vázoltuk. A rajzon az
1. ábra a találmány szerinti eljárásban alkalmazott kódolóművelet egy lehetséges foganatosítási módját mutatja, a
2. ábra a találmány szerinti eljárásban alkalmazott dekódoló művelet egy lehetséges foganatosítási módját mutatja, és a
3. ábrán a javasolt kódolóművelet egy alternatíváját tüntettük fel.
4. ábrán a javasolt dekódoló művelet alternatíváját tüntettük fel.
Az 1. ábrán vázolt kódolóeljárás során m üzenetet alkotó adatkészletet táplálunk be egy kódolóláncba. A kódolólánc első tagját alkotó aszimmetrikus A1 algoritmussal prk privát kulcs használatával végzünk kódolóműveletet, ahol a prk privát kulcs d1 kitevőből és n1 modulorészből áll. Ennek a műveletnek az eredményeképpen C1 kriptogramot kapunk. A találmány szerinti eljárás értelmében azon nyomban, amint az eredményül kapott C1 kriptogramnak csupán egy része is rendelkezésünkre áll, a kódolólánc következő tagjával megkezdjük a következő lépést, vagyis a másodikként feltüntetett szimmetrikus S algoritmussal egy k titkos kulcs használatával végzünk kódolóműveletet. Ennek eredményeképpen kapjuk C2 kriptogramot, és amint annak már egy része rendelkezésre áll, azon nyomban továbbítjuk a kódolólánc következő lépését alkotó A2 algoritmushoz, amellyel egy harmadik kódolóműveletet hajtunk végre, amelynek során d2 kitevőből, valamint n2 modulorészből álló prk privát kulcsot használunk. A C3 kriptogramként megjelenő végeredményünket azután ismert módon, például rádiós vagy kábeles összeköttetésen keresztül továbbítjuk a célba.
A 2. ábrán az 1. ábrához igazodva három dekódoló lépést és az azokban alkalmazott A2’, S’ és A1 ’ algoritmust tüntettünk fel, amelyek hasonlóak ahhoz, amelyekkel a kódolást végeztük, de sorrendjük fordított. így a dekódoló láncban legelőször az A2’ algoritmust hajtjuk végre, amellyel egy e2 kitevőből és n2 modulorészből álló púk nyilvános kulcs segítségével hajtunk végre dekódolóműveletet. Ugyanúgy, mint a kódolás során, amint az A2’ algoritmus C2 kriptogrameredményének már egy részét megkapjuk, azon nyomban továbbítjuk azt a második dekódoló lépést végrehajtó S’ algoritmushoz, amelynek során a k titkos kulcsot használjuk, és eredményként a C1 kriptogramot kapjuk meg. Amint a C1 kriptogramnak egy része már elérhetővé válik számunkra, azt azon nyomban felhasználjuk a dekódoló lánc harmadik tagját alkotó AT algoritmusban, és e1 kitevőből és n1 modulorészből álló púk nyilvános kulcs segítségével végrehajtjuk a dekódolást, hogy megkapjuk az eredetileg elküldött, illetve betáplált m üzenetet alkotó adatkészletet.
A találmány egy lehetséges megvalósítása esetében az A1 és A2 algoritmusok prk privát kulcsait azonosra választjuk, vagyis a kódolási oldalon d1=d2 és n1=n2 lesz. Ezzel analóg módon a dekódoló oldalon e1=e2 és n1=n2 lesz. Ebben az esetben megkülönböztetés nélkül, simán (d, n) prk privát kulcsokról és (e, n) púk nyilvános kulcsokról beszélhetünk.
A találmány egy másik lehetséges példaként! megvalósítása esetében, amelynek lépéseit a 3. és 4. ábrán vázoltuk, a kódolás során az A2 algoritmusban a prk privát kulcs helyett az e2 kitevőt és n2 modulorészt tartalmazó púk nyilvános kulcsot (lásd a 3. ábrát), a dekódolás során pedig az A2' algoritmusban a d2 kitevőt és n2 modulorészt tartalmazó prk privát kulcsot használjuk (lásd a 4. ábrát). Jóllehet ez a konfiguráció nagyobb munkát jelent a dekódoló rész számára, a prk privát kulcs alkalmazása megnöveli az A2 algoritmus által egyébként biztosított biztonságot.
A 3. és 4. ábrán bemutatott példa sem korlátozó jellegű a találmány szerinti eljárás egyes lépéseinek más kombinációját illetően. Például lehetőségünk van arra, hogy az A1 algoritmust úgy használjuk, hogy a kódolóműveletet a púk nyilvános kulccsal, a dekódoló műveletet pedig a prk privát kulccsal hajtsuk végre.
Természetesen arra is lehetőség van, hogy a k titkos kulccsal dolgozó kódoló- és dekódoló S, S’ algoritmusokat ugyanolyan típusú aszimmetrikus kulcsokat használó algoritmusokkal cseréljük le, mint amilyeneket a kódolás, dekódolás elején és végén használunk, vagyis amelyek hasonlóak vagy azonosak az A1, A2 algoritmusokkal.

Claims (10)

1. Kódoló- és dekódoló eljárás egymás után következő kódoló- és dekódoló lépések alkalmazásával, azzal jellemezve, hogy egy soron következő kódoló- vagy
HU 224 846 Β1 dekódoló lépés végrehajtását azon nyomban megkezdjük, amint az azt megelőző kódoló- vagy dekódoló lépésből származó eredmény egy része már rendelkezésünkre áll.
2. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a soron következő dekódoló lépés végrehajtását azon nyomban megkezdjük, amint az azt megelőző dekódoló lépésből származó eredmény egy része már rendelkezésünkre áll.
3. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a soron következő kódolólépés végrehajtását azon nyomban megkezdjük, amint az azt megelőző kódoló lépésből származó eredmény egy része már rendelkezésünkre áll.
4. Az 1-3. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy három lépésben hajtjuk végre, amelyek közül a középső lépésben szimmetrikus titkos kulcsot (k) használunk.
5. Az 1-4. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy a kódolás során az első és az utolsó lépésben, továbbá a dekódolás során az első és az utolsó lépésben aszimmetrikus privát kulcsot (prk) és nyilvános kulcsot (púk) használó RSA típusú kódolást, illetve dekódolást alkalmazunk.
6. Az 1-5. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy az első és az utolsó lépésben a (d, n), (d1, n1), (d2, n2) privát kulcsot (prk) használjuk a kódoláshoz, és az (e, n), (e1, n1), (e2, n2) nyilvános kulcsot (púk) használjuk a dekódoláshoz.
7. Az 1-6. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy ugyanazt a (d, n) privátkulcs(prk) és (e, n) nyilvánoskulcs- (púk) készletet használjuk.
8. A 6. igénypont szerinti eljárás, azzal jellemezve, hogy az első és az utolsó lépésben különböző (d1, n1), (d2, n2) privátkulcs- (prk) és (e1, n1), (e2, n2) nyilvánoskulcs- (púk) készletet használunk.
9. Az 5. igénypont szerinti eljárás, azzal jellemezve, hogy a kódolás során az utolsó lépésben az (e2, n2) nyilvános kulcsot (púk) használjuk, és a dekódolás során az első lépésben a (d2, n2) privát kulcsot (prk) használjuk.
10. Az 1-3. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy három kódoló- és dekódoló lépést hajtunk végre aszimmetrikus kulcsokkal.
HU0202691A 1999-08-30 2000-08-24 Encryption and decryption method HU224846B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CH157399 1999-08-30
US19417100P 2000-04-03 2000-04-03
PCT/IB2000/001157 WO2001017159A1 (fr) 1999-08-30 2000-08-24 Methode d'encryptage multi-modules

Publications (2)

Publication Number Publication Date
HUP0202691A2 HUP0202691A2 (en) 2002-12-28
HU224846B1 true HU224846B1 (en) 2006-03-28

Family

ID=25688037

Family Applications (1)

Application Number Title Priority Date Filing Date
HU0202691A HU224846B1 (en) 1999-08-30 2000-08-24 Encryption and decryption method

Country Status (27)

Country Link
EP (1) EP1208666A1 (hu)
JP (1) JP2003508965A (hu)
KR (1) KR20020041807A (hu)
CN (1) CN100448193C (hu)
AP (1) AP2002002433A0 (hu)
AU (1) AU769437B2 (hu)
BG (1) BG64520B1 (hu)
BR (1) BR0013712A (hu)
CA (1) CA2383042A1 (hu)
CU (1) CU22950A3 (hu)
CZ (1) CZ2002582A3 (hu)
DZ (1) DZ3193A1 (hu)
EA (1) EA003745B1 (hu)
EE (1) EE200200106A (hu)
HK (1) HK1048407B (hu)
HR (1) HRP20020179A2 (hu)
HU (1) HU224846B1 (hu)
IL (1) IL148285A0 (hu)
MA (1) MA25431A1 (hu)
MX (1) MXPA02001849A (hu)
NO (1) NO20020951L (hu)
NZ (1) NZ517438A (hu)
OA (1) OA12153A (hu)
PL (1) PL353795A1 (hu)
SK (1) SK2892002A3 (hu)
TR (1) TR200200525T2 (hu)
WO (1) WO2001017159A1 (hu)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775319B2 (en) 2006-05-15 2014-07-08 The Directv Group, Inc. Secure content transfer systems and methods to operate the same
US10397258B2 (en) 2017-01-30 2019-08-27 Microsoft Technology Licensing, Llc Continuous learning for intrusion detection

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594797A (en) * 1995-02-22 1997-01-14 Nokia Mobile Phones Variable security level encryption
DE19539700C1 (de) * 1995-10-25 1996-11-28 Siemens Ag Sicherheitschip

Also Published As

Publication number Publication date
CN100448193C (zh) 2008-12-31
HRP20020179A2 (en) 2004-02-29
CZ2002582A3 (cs) 2002-07-17
BG106436A (en) 2002-10-31
TR200200525T2 (tr) 2002-07-22
AU6311800A (en) 2001-03-26
EP1208666A1 (fr) 2002-05-29
IL148285A0 (en) 2002-09-12
MA25431A1 (fr) 2002-04-01
SK2892002A3 (en) 2002-07-02
WO2001017159A1 (fr) 2001-03-08
CU22950A3 (es) 2004-04-13
CA2383042A1 (en) 2001-03-08
BG64520B1 (bg) 2005-05-31
NZ517438A (en) 2003-09-26
MXPA02001849A (es) 2004-02-26
OA12153A (fr) 2006-05-08
AU769437B2 (en) 2004-01-29
HK1048407B (zh) 2009-09-25
CN1371563A (zh) 2002-09-25
NO20020951D0 (no) 2002-02-27
BR0013712A (pt) 2002-05-07
PL353795A1 (en) 2003-12-01
DZ3193A1 (fr) 2001-03-08
AP2002002433A0 (en) 2002-03-31
NO20020951L (no) 2002-04-23
EA200200184A1 (ru) 2002-06-27
EE200200106A (et) 2003-04-15
JP2003508965A (ja) 2003-03-04
HUP0202691A2 (en) 2002-12-28
HK1048407A1 (en) 2003-03-28
EA003745B1 (ru) 2003-08-28
KR20020041807A (ko) 2002-06-03

Similar Documents

Publication Publication Date Title
Itoh et al. DPA countermeasures by improving the window method
US20020186837A1 (en) Multiple prime number generation using a parallel prime number search algorithm
US10419207B2 (en) Cryptographic apparatuses and methods for encrypting and decrypting data using automata
Niebuhr et al. Selecting parameters for secure McEliece-based cryptosystems
JP6533553B2 (ja) 暗号化/復号装置及びその電力解析保護方法
US20060153372A1 (en) Smart card and method protecting secret key
Anderson et al. Serpent: A flexible block cipher with maximum assurance
US20230093437A1 (en) Scrambler Apparatus And Method In Particular For Cryptographic Applications, And Descrambler Apparatus And Method Therefor
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
JP2005122745A (ja) 対称型マルチプロセッサを持つ電子機器におけるデータの暗号化
US7190790B1 (en) Multiple module encryption method
HU224846B1 (en) Encryption and decryption method
JP4703805B2 (ja) 暗号化装置、暗号化方法、復号化装置、復号化方法および通信システム
Kaliski Jr et al. Comments on some new attacks on cryptographic devices
US7313235B2 (en) Device and method of applying a parity to encrypt data for protection
Young et al. Backdoor attacks on black-box ciphers exploiting low-entropy plaintexts
JP3277139B2 (ja) 入力ビット列暗号化装置及び方法
US7424111B2 (en) System and method of applying parity bits to protect transmitting and receiving data
Bhadravati et al. On the semantic security of secret image sharing methods
Damgaard et al. Multiple encryption with minimum key
JP2000227754A (ja) オ―バヘッドなしのアップリンク・バ―ストの透き通し防止及びユ―ザ認証方法及び装置
JP2007158967A (ja) 情報処理装置、耐タンパーデバイス、暗号処理方法及びコンピュータプログラム
McEvoy et al. All-or-Nothing Transforms as a Countermeasure to Differential Side-Channel Analysis
JP5556955B2 (ja) 暗号処理装置、認証方法およびプログラム
GB2419261A (en) Device and method of applying a parity to encrypt data for protection

Legal Events

Date Code Title Description
MM4A Lapse of definitive patent protection due to non-payment of fees