I kryptografi er en pseudorandomgenerator (PRG) en algoritme som produserer en sekvens av biter som virker tilfeldig, selv om den faktisk bestemmes av en hemmelig intern tilstand. En sikker PRG er en PRG som er beregningsmessig umulig å skille fra en virkelig tilfeldig sekvens av biter. Dette betyr at det ikke er noen effektiv algoritme som kan ta som input en sekvens av biter produsert av en sikker PRG og skille den fra en sekvens av virkelig tilfeldige biter.
Sikre PRG-er brukes i en rekke kryptografiske applikasjoner, inkludert:
* Kryptering:En sikker PRG kan brukes til å generere en nøkkel for kryptering av data. Denne nøkkelen kan deretter brukes til å kryptere dataene på en slik måte at det er beregningsmessig umulig å dekryptere uten nøkkelen.
* Autentisering:En sikker PRG kan brukes til å generere et utfordring-svar-par for autentisering av brukere. Utfordringen sendes til brukeren, som svarer med tilsvarende svar. Verifikatoren sjekker at svaret er korrekt, og hvis det er det, blir brukeren autentisert.
* Digitale signaturer:En sikker PRG kan brukes til å generere en digital signatur for en melding. Denne signaturen kan deretter brukes til å bekrefte at meldingen kom fra avsenderen og at den ikke er tuklet med.
Det finnes en rekke forskjellige måter å konstruere sikre PRG-er. Noen vanlige teknikker inkluderer:
* Bruke en kryptografisk hashfunksjon:En sikker PRG kan konstrueres ved å bruke en kryptografisk hashfunksjon for å hash en hemmelig frøverdi. Utgangen fra hash-funksjonen brukes deretter som utgangen til PRG.
* Bruke et blokkchiffer:En sikker PRG kan konstrueres ved å bruke en blokkchiffer for å kryptere en hemmelig frøverdi. Utgangen fra blokkchifferet brukes deretter som utgangen til PRG.
* Bruke en strømchiffer:En sikker PRG kan konstrueres ved å bruke en strømchiffer for å kryptere en hemmelig frøverdi. Utgangen fra strømchifferet brukes deretter som utgangen til PRG.
Sikkerheten til en sikker PRG avhenger av sikkerheten til det underliggende kryptografiske primitivet (som en hash-funksjon, blokkchiffer eller strømchiffer). Hvis den kryptografiske primitiven er sikker, vil den sikre PRG også være sikker.