En envejsfunktion med hemmelig indgang ( eng. falddørsfunktion , TDF ) er en envejsfunktion fra sæt til sæt , som har en egenskab (hemmelig indgang, smuthul), takket være hvilken det bliver muligt at finde til enhver sådan det vil sige invertere funktionen.
Envejs hemmelige indtastningsfunktioner bruges i vid udstrækning i asymmetriske krypteringsmetoder (offentlig nøglekryptering) såsom: RSA , Rabin-funktion , ElGamal- skemaer , McEliece-kryptosystem , NTRUEncrypt kryptografisk system , Polly Cracker, og også mindre populære på grund af dets kryptografiske ustabilitet, rygsækkryptosystem Merkle-Hellman .
På nuværende tidspunkt er det ikke fastslået med sikkerhed, at envejsfunktioner med en hemmelig indgang virkelig er envejs, det vil sige, at der ikke er bevis for, at en kryptoanalytiker ikke kan vende funktionen uden at kende den hemmelige indgang.
Funktion , hvor
- sæt offentlige nøgler,
er et displayelement bestående af n bit,
kaldes ensrettet med hemmelig indgang, hvis
Forestillingen om en bagdørs envejsfunktion blev introduceret i midten af 1970'erne efter offentliggørelsen af en artikel af Whitfield Diffie , Martin Hellman og Ralph Merkle om asymmetriske krypteringsmetoder (offentlig nøglekryptering). Det var Diffie og Hellman, der opfandt udtrykket [1] . Men det første system, hvor sådanne ideer blev brugt, anses for at være et system opfundet i 1973 af Clifford Cox , som arbejdede på regeringens kommunikationscenter ( GCHQ ), men dette arbejde blev kun opbevaret i centrets interne dokumenter , så dets eksistens blev først kendt i 1977 [2] .
Artiklen beskrev en ny metode til at minimere behovet for at overføre nøgler over sikre kanaler, og den adskilte også et kryptografisk system, der kan bruges til at skabe en digital signatur [3] .
Forfatterne har vist, at en envejs hemmelig indtastningsfunktion kan bruges i offentlige nøglekryptosystemer og digitale signaturenheder [4] . Et offentlig nøglekryptosystem er et system, hvor den offentlige nøgle transmitteres over en usikker kanal. Betydningen af en digital signatur er, at når du sender en underskrevet besked fra Alice til Bob , kan Bob bekræfte, at beskeden faktisk blev sendt af Alice.
Takket være envejs hemmelige indtastningsfunktioner kan forskellige hemmelige indtastningscifre implementeres , som er kryptografisk sikre [1] .
Flere klasser af funktioner blev foreslået, men det blev hurtigt klart, at passende funktioner var sværere at finde end oprindeligt antaget. For eksempel var det først hensigten at bruge funktioner baseret på delmængdesumproblemet . Det blev hurtigt klart, at denne metode var uacceptabel. Et eksempel på en sådan implementering er Merkle-Hellman ranselskryptosystemet .
I 2005 var de bedst egnede kandidater til envejs bagdørsfunktioner dem fra RSA- og Rabin -klasserne [5] . Disse funktioner bruger eksponentieringsmodulo et sammensat tal, og begge er baseret på heltalsfaktoriseringsproblemet .
I 2008 blev bagdørs envejsfunktioner introduceret, hvilket tillod tab af information om den originale besked.
Denne type funktion ( tabsdørsfunktion ), baseret på ideen om at beskadige en væsentlig del af informationen [6] , blev introduceret af Chris Peikert og Brent Waters [7] i særdeleshed, som et middel at konstruere et offentligt nøglekrypteringsskema med en valgt krypteret tekst.
Sættet af disse funktioner består af en familie af to funktioner:
Nøglepunktet er, at de valgte familier af funktioner ikke kan skelnes polynomielt . Derfor kan nøgler erstattes med nøgler med tab uden at give besked til nogen. Men når alle nøglerne er tabt, indeholder chifferteksten ikke længere (væsentlige) informationer om den krypterede besked. På samme tid, hvis man blot erstatter smuthulsfunktionen med en tabsgivende funktion, er der ingen måde at reagere på selv på en veludformet dekrypteringsanmodning, fordi klartekstinformationen vil gå tabt. Derfor bruges mere komplette abstraktioner
Envejsfunktioner med hemmelig indgang "Alle-undtagen-en"En alt-undtagen-en-funktion (ABO) kan bygges ud fra et sæt envejsfunktioner med hemmelig indtastning og tilstrækkeligt tab af information.
Sættet af ABO-funktioner er knyttet til sættet , hvis elementer kaldes forgrene. ABO-funktionsgeneratoren tager en ekstra parameter , kaldet den tabsgivende gren, og udsender en funktion og en bagdør t. Funktionen har den egenskab, at funktionen for enhver gren har et skjult input (og kan inverteres med ), men funktionen er en tabsgivende funktion. Desuden er den tabsgivende gren skjult (beregningsmæssigt) af beskrivelsen af . [8] .
Envejsfunktioner med hemmelig indgang "All-but-N"All-but-N (ABN) funktioner har nøjagtigt tabsgivende grene; alle andre filialer har en hemmelig indgang. Dette kan bruges til at lokalisere chiffertekster ved hjælp af tabsgivende grene - alle andre chiffertekster matcher bagdørsfunktioner og kan dekrypteres. Bemærk, at ABN'er koder et sæt tabsgivende grene ved deres nøgle. Det vil sige, at en beregningsmæssigt ubegrænset modstander altid kan bruge brute force til at finde grene, der fører til en tabsgivende funktion.
Derfor har ABN-funktioner en alvorlig ulempe: nemlig den rumlige kompleksitet af tasterne er lineær i [9]
Envejs alle-undtagen mange hemmelige indtastningsfunktionerFunktionen alt-undtagen-mange (ABM) har et superpolynomisk sæt af tabsgivende grene, der kræver en speciel bagdør.
Den vigtigste forskel fra ABN-funktionen er, at med ABN er sættet af tabsgivende grene angivet indledningsvis, på byggetidspunktet, mens ABM-funktioner har et smuthul, der giver dig mulighed for at prøve dekryptering på farten fra en stor pulje af tabsgivende grene. Uden denne hemmelige passage, og selv med et vilkårligt kendt sæt af tabsgivende grene, er der ingen måde at finde en anden gren, der ikke tilhører det kendte sæt. Dette giver dig især mulighed for at oprette ABM-instanser med kompakte nøgler og billeder, hvis størrelse ikke afhænger af antallet af tabsgivende filialer.
Disse designs kan ses som "forklædte" varianter af Boneh-Boyen (BB) signalkredsløb. Især tabsgivende grene svarer til reelle signaturer. Men for at tabsmærkerne og hemmelige passagemærker skal se ud til at kunne skelnes, er det nødvendigt at lave blinde signaturer , enten ved at kryptere dem eller ved at gange dem med et tilfældigt element i undergruppen. [9]
For at bemærke de grundlæggende principper, antag, at et generelt CPA-aktiveret kryptosystem har nogle få specielle (men uformelt beskrevne) egenskaber.
Den første egenskab antager, at det underliggende kryptosystem er additiv-homomorft. Funktionen (en-vejs smuthul eller tabsfunktion) bestemmes ved at kryptere en kvadratisk matrix element-mæssigt .
For at estimere leverer vi et input - en n-dimensionel binær vektor og beregner (i etaper) krypteringen af et lineært produkt ved at anvende homomorfe operationer på krypterede poster .
For en hemmelig indtastningsfunktion er den krypterede matrix identitetsmatrixen , og smuthullet er dekrypteringsnøglen til kryptosystemet. Funktionen er reversibel med et hemmeligt input, fordi det er inputkryptering , der kan dekrypteres til værdien af hver bit .
For en tabsgivende funktion er den krypterede matrix en matrix bestående af nuller: . Derefter er værdien for hver inputmeddelelse en elementmæssig kryptering af null-vektoren, så den "taber" information om . Dette er dog ikke nok til at sikre et fuldstændigt tab, da de krypterede udgangsmeddelelser stadig bærer nogle interne tilfældige informationer, der kan tjene som en kilde til data om inputmeddelelsen. Derfor er yderligere kontrol over deres adfærd nødvendig. Til dette er der særlige egenskaber ved kryptosystemet:
Med disse to egenskaber krypterer vi matrixen på en særlig måde. Hver kolonne i matrixen er forbundet med en anden nøgle , og smuthullet er et sæt af tilsvarende dekrypteringsnøgler. Gennem hver linje krypterer vi indtastningen under nøglen og den samme tilfældighed (ved at bruge en ny tilfældighed for hver linje). Konventionelt er det sikkert at genbruge tilfældighed med en nøgle , så matrixen er beregningsmæssigt skjult. Da homomorfi isolerer tilfældighed, er alle chiffertekster i den endelige vektor også krypteret med den samme tilfældighed (som kun afhænger af .
Når , kan vi stadig invertere funktionen (gennem et smuthul) og dekryptere hver krypteret indgang . På den anden side, når matricen er nul , er outputtet af funktionen altid en vektor af krypterede nul-meddelelser, hvor hver indtastning er krypteret med den samme tilfældighed (men under forskellige faste nøgler). Derfor er antallet af mulige output begrænset af antallet af mulige tilfældige strenge, der kan forekomme. Ved at vælge en dimension , så antallet af input er væsentligt større end antallet af tilfældige rækker, kan vi sikre, at funktionen indeholder en masse information.
Opbygningen af "Alle-und-en"-funktioner med hemmelig indgang er noget mere generel. Hver funktionsgren svarer ganske enkelt til en anden matrix , hvis kryptering kan hentes fra funktionens offentlige beskrivelse. Funktionen genereres således, at den er en inverterbar matrix (og beregnes ved hjælp af en hemmelig post) for alle grene , mens det er for tabsgivende grene
Tag et tal , hvor og hører til sættet af primtal . Det menes, at for et givet tal er beregningen en matematisk vanskelig opgave. RSA-krypteringsfunktionen er , hvor er coprime med . Tal og er en hemmelig indgang, vel vidende at det er nemt at beregne den inverse funktion . Det klart bedste angreb på RSA er talfaktorisering [ 10] [11] .
Overvej funktionen , hvor , og p og q hører til sættet af primtal. Rabin viste, at det er let at beregne en funktion, hvis og kun hvis faktorisering af et sammensat tal fra to primtal er en simpel opgave [12] .
Denne ordning blev foreslået af Taher El-Gamal i 1984 . Den er baseret på det diskrete logaritmeproblem [13] .
Algoritme
Algoritme [14]
Det er kendt, at de funktioner, der er forbundet med det diskrete logaritmeproblem , ikke er envejsfunktioner med hemmelig input, fordi der ikke er nogen information om "smuthulet", der ville tillade, at den diskrete logaritme kan beregnes effektivt. Det diskrete logaritmeproblem kan dog bruges som grundlag for et "smuthul", såsom det beregningsmæssige Diffie-Hellman-problem (CDH) og dets variationer. Den digitale signaturalgoritme er baseret på dette beregningsproblem.
Envejs hemmelige indtastningsfunktioner har en meget specifik anvendelse i kryptografi og bør ikke forveksles med en bagdør (ofte erstattes et begreb med et andet, men det er forkert). En bagdør er en mekanisme, der bevidst er tilføjet til en krypteringsalgoritme (såsom en nøglepargenereringsalgoritme , en digital signaturalgoritme osv.) eller til operativsystemer, hvilket tillader en eller flere tredjeparter at omgå eller kompromittere systemets sikkerhed.