XTR (förkortning för ECSTR - "Efficient and Compact Subgroup Trace Representation") är en krypteringsalgoritm för offentlig nyckel som är baserad på beräkningskomplexiteten hos det diskreta logaritmproblemet . Fördelarna med denna algoritm jämfört med andra som använder denna idé är högre hastighet och mindre nyckelstorlek.
Denna algoritm använder en generator av en relativt liten undergrupp av ordning ( är enkel) av undergruppen . Med rätt val av har den diskreta logaritmen i gruppen som genereras av , samma beräkningskomplexitet som i . XTR använder aritmetik istället för , vilket ger samma säkerhet, men med mindre beräknings- och dataöverföringskostnader.
Algoritmen fungerar i ett ändligt fält . Betrakta en grupp av ordning , och dess undergrupp av ordning q , där p är ett primtal , så att ett annat tillräckligt stort primtal q är en divisor av . En grupp av ordningen q kallas en XTR-undergrupp. Denna cykliska grupp är en undergrupp och har en generator g .
Låt p vara ett primtal så att p ≡ 2 mod 3 och p 2 - p + 1 är delbart med ett tillräckligt stort primtal q . Eftersom p 2 ≡ 1 mod 3 genererar p . _ Således är det cirkulära polynomet irreducible i . Därför rötterna och bildar en optimal normal grund över och
Givet p ≡ 2 mod 3 :
Således är kostnaden för aritmetiska operationer som följer:
De konjugerade elementen i i är: sig själv och , och deras summa är spåret .
Förutom:
Betrakta generatorn av en XTR-grupp av ordning , där är ett primtal. Eftersom är en undergrupp till gruppen av ordning , alltså . Förutom,
och
.På det här sättet,
Observera också att konjugatet till elementet är , det vill säga har en norm lika med 1. Nyckelegenskapen för XTR är att det minimala polynomet i
förenklat till
Med andra ord, de konjugerade elementen, som rötterna till det minimala polynomet i , bestäms helt av spåret . Liknande resonemang gäller för vilken grad som helst :
— detta polynom definieras enligt följande .
Tanken med algoritmen är att ersätta med , det vill säga beräkna med istället för med. Men för att metoden ska vara effektiv, ett sätt att snabbt få ut från det tillgängliga .
Definition: För varje definierar vi:
Definition: Låt vara rötterna i , och . Beteckna:
Egenskaper och :
Uttalande: Låt .
Definition: Låt .
I slutet av iterationerna , och . Om n är jämnt, använd för att hitta .
För att dra fördel av representationen av gruppelement i form av deras spår och säkerställa tillräcklig datasäkerhet, är det nödvändigt att hitta enkla och , där är kännetecknet för fältet , och , och är storleken på undergruppen och divisor . Ange som och storlekarna och i bitar. För att uppnå den säkerhetsnivå som till exempel RSA med en nyckellängd på 1024 bitar ger måste du välja sådan att , det vill säga a kan vara cirka 160. Den första algoritmen som låter dig beräkna sådana primtal och är Algoritm A.
Algoritm A
Algoritm A är mycket snabb, men kan vara osäker, eftersom den är sårbar för en sifferfältsattack .
Den långsammare algoritmen B är skonad från denna brist.
Algoritm B
I föregående avsnitt hittade vi storlekarna på både det sista fältet och den multiplikativa undergruppen i . Nu måste vi hitta en undergrupp för några sådana som . Det är dock inte nödvändigt att söka efter ett explicit element , det räcker att hitta ett element så att för elementet ordning . Men givet kan XTR-gruppgeneratorn hittas genom att hitta roten till . För att hitta detta , överväg egenskap 5 . Efter att ha hittat en sådan bör man kontrollera om den verkligen är i sin ordning , men först måste man välja c\in GF(p²), så att F(c,\ X) är irreducerbar. Det enklaste sättet är att välja slumpmässigt.
Påstående: För en slumpmässigt vald är sannolikheten att - är irreducerbar större än 1/3.
Grundläggande sökalgoritm :
Denna algoritm beräknar fältelementets ekvivalent för någon ordning . [ett]
Anta att Alice och Bob har en offentlig XTR-nyckel och vill generera en delad privat nyckel .
Anta att Alice har en del av den publika XTR-nyckeln: . Alice väljer ett hemligt heltal och beräknar och publicerar . Med tanke på Alices publika nyckel kan Bob kryptera meddelandet som är avsett för Alice med hjälp av följande algoritm:
Efter att ha fått ett par , dekrypterar Alice det enligt följande:
Sålunda sänds meddelandet.
Public key kryptosystem | |||||||||
---|---|---|---|---|---|---|---|---|---|
Algoritmer |
| ||||||||
Teori |
| ||||||||
Standarder |
| ||||||||
Ämnen |
|