XTR (forkortelse for ECSTR - "Efficient and Compact Subgroup Trace Representation") er en offentlig nøglekrypteringsalgoritme baseret på beregningskompleksiteten af det diskrete logaritmeproblem . Fordelene ved denne algoritme frem for andre, der bruger denne idé, er højere hastighed og mindre nøglestørrelse.
Denne algoritme bruger en generator af en relativt lille undergruppe af orden ( er enkel) af undergruppen . Med det korrekte valg af har den diskrete logaritme i gruppen genereret af , den samme beregningsmæssige kompleksitet som i . XTR bruger aritmetik i stedet for , hvilket giver den samme sikkerhed, men med mindre beregnings- og dataoverførselsomkostninger.
Algoritmen arbejder i et begrænset felt . Overvej en gruppe af orden , og dens undergruppe af orden q , hvor p er et primtal , således at et andet tilstrækkeligt stort primtal q er en divisor af . En gruppe af orden q kaldes en XTR-undergruppe. Denne cykliske gruppe er en undergruppe og har en generator g .
Lad p være et primtal, således at p ≡ 2 mod 3 og p 2 - p + 1 er deleligt med et tilstrækkeligt stort primtal q . Da p 2 ≡ 1 mod 3 , genererer p . Således er det cirkulære polynomium irreducerbart i . Derfor danner rødderne og et optimalt normalgrundlag over og
Givet p ≡ 2 mod 3 :
Således er omkostningerne ved aritmetiske operationer som følger:
De konjugerede elementer af i er: sig selv og , og deres sum er sporet .
Udover:
Overvej generatoren af en XTR-gruppe af orden , hvor er et primtal. Da er en undergruppe af ordensgruppen , så . Udover,
og
.På denne måde
Bemærk også, at konjugatet til elementet er , dvs. har en norm lig med 1. Nøgletræk ved XTR er, at det minimale polynomium i
forenklet til
Med andre ord er de konjugerede elementer, som rødderne af det minimale polynomium i , fuldstændig bestemt af sporet . Lignende ræsonnement gælder for enhver grad :
— dette polynomium er defineret som følger .
Ideen med algoritmen er at erstatte med , altså beregne med i stedet for med. Men for at metoden skal være effektiv, en måde at hurtigt få ud af det tilgængelige .
Definition: For hver definerer vi:
Definition: Lad være rødderne i , og . Angiv:
Egenskaber og :
Udtalelse: Lad .
Definition: Lad .
I slutningen af gentagelserne, og . Hvis n er lige, skal du bruge til at finde .
For at drage fordel af repræsentationen af gruppeelementer i form af deres spor og sikre tilstrækkelig datasikkerhed, er det nødvendigt at finde enkle og , hvor er karakteristikken for feltet , og , og er størrelsen af undergruppen og divisor . Angiv som og størrelserne og i bits. For at opnå det sikkerhedsniveau, som for eksempel RSA med en nøglelængde på 1024 bit giver, skal du vælge sådan, at , det vil sige a kan være omkring 160. Den første algoritme, der giver dig mulighed for at beregne sådanne primtal og er Algoritme EN.
Algoritme A
Algoritme A er meget hurtig, men kan være usikker, da den er sårbar over for et talfeltsigteangreb .
Den langsommere algoritme B er skånet for denne mangel.
Algoritme B
I det foregående afsnit fandt vi størrelserne af både det endelige felt og den multiplikative undergruppe i . Nu skal vi finde en undergruppe i for nogle sådan, at . Det er dog ikke nødvendigt at søge efter et eksplicit element , det er nok at finde et element sådan for elementet af orden . Men givet kan XTR-gruppegeneratoren findes ved at finde roden til . For at finde dette , overveje ejendom 5 . Når man har fundet en sådan , bør man tjekke, om den virkelig er i orden , men først skal man vælge c\in GF(p²), sådan at F(c,\ X) er irreducerbar. Den enkleste tilgang er at vælge tilfældigt.
Udsagn: For en tilfældigt valgt er sandsynligheden for, at - er irreducerbar, større end 1/3.
Grundlæggende søgealgoritme :
Denne algoritme beregner feltelementets ækvivalent for en eller anden rækkefølge . [en]
Antag, at Alice og Bob har en offentlig XTR-nøgle og ønsker at generere en delt privat nøgle .
Antag, at Alice har en del af den offentlige XTR-nøgle: . Alice vælger et hemmeligt heltal og beregner og udgiver . Givet Alices offentlige nøgle kan Bob kryptere meddelelsen, der er bestemt til Alice ved hjælp af følgende algoritme:
Efter at have modtaget et par , dekrypterer Alice det som følger:
Dermed sendes beskeden.