Coppersmith - angrebet beskriver en klasse af kryptografiske angreb på den offentlige nøgle til RSA -kryptosystemet baseret på Coppersmith-metoden . Det særlige ved at bruge denne metode til RSA- angreb omfatter tilfælde, hvor den offentlige eksponent er lille, eller når den private nøgle er delvist kendt.
Den offentlige nøgle til RSA -kryptosystemet er et par naturlige tal , hvor er produktet af to primtal og , og tallet er en offentlig eksponent. Et heltal ( , hvor er Euler-funktionen af ) primer med værdi . Normalt tages primtal som kvalitet , der indeholder et lille antal enkelte bit i binær notation, for eksempel Fermat-primtal 17, 257 eller 65537.
Den hemmelige nøgle bestemmes gennem den private eksponent . Tallet er multiplikativt omvendt til tallet modulo , det vil sige, at tallet opfylder relationen:
.
Parret udgives som en RSA offentlig nøgle ( eng . RSA public key ), og parret spiller rollen som en RSA privat nøgle ( eng . RSA privat nøgle ) og holdes hemmeligt.
Lad og være et normaliseret polynomium af grad . Lad ,. _ Så, givet parret, vil angriberen effektivt finde alle heltal tilfredsstillende . Udførelsestiden bestemmes af udførelsen af LLL-algoritmen på et gitter af dimension , hvor . [2]
BevisLad være et naturligt tal , som vi vil definere senere. Lad os definere
Vi bruger polynomierne til og som grundlag for vores gitter . For eksempel, hvornår og vi får en gittermatrix spændt ud af rækker:
,
hvor "—" angiver ikke-nul off-diagonale elementer, hvis værdi ikke påvirker determinanten . Størrelsen af dette gitter er , og dets determinant beregnes som følger:
Det kræver vi . dette indebærer
som kan forenkles til
,
hvor og for alle . Hvis vi tager , så får vi en, derfor og . Især, hvis vi ønsker at løse for en vilkårlig , er det tilstrækkeligt at tage , hvor . [3]
Antag, at en afsender sender den samme besked i krypteret form til et vist antal personer , som hver især bruger den samme lille kodningseksponent , f.eks . og forskellige par , og . Afsenderen krypterer beskeden ved hjælp af hver brugers offentlige nøgle på skift og sender den til den relevante modtager. Så, hvis modstanderen lytter til transmissionskanalen og indsamler de transmitterede chiffertekster , vil han være i stand til at gendanne beskeden .
Bevis [4]Antag, at fjenden opsnappede og , hvor . Vi antager, at de er relativt prime , ellers betød den største fælles divisor bortset fra enhed at finde en divisor af en af . Anvender den kinesiske restsætning til og vi får , sådan at , som har værdien . Men når vi ved det , får vi . Derfor , det vil sige, at modstanderen kan dekryptere beskeden ved at tage terningeroden af .
For at gendanne en besked med en hvilken som helst værdi af den åbne kodningseksponent , er det nødvendigt for modstanderen at opsnappe chifferteksterne .
Antag en RSA offentlig nøgle , hvor længden er -bits. Lad os tage en masse . Lad beskeden ikke være mere end en smule lang. Lad os definere og , hvor og er forskellige heltal , og og . Hvis modstanderen modtager begge cifre fra (men ikke modtager eller ), så kan han effektivt gendanne beskeden .
Bevis [2]Lad os definere og . Vi ved, at når , disse polynomier har en fælles rod. Dette er med andre ord roden til "det resulterende" . grad oftest . Desuden . Derfor er det en lille modulrod , og modstanderen kan finde den effektivt ved at bruge Coppersmiths sætning . Når først det er kendt, kan Franklin-Reiter-angrebet bruges til at dække , og .