Hoppa till innehåll

47-dagarscertifikat kommer. Är du redo?

Agera nu →

Vad är skillnaden mellan kryptering och komprimering? I vilken ordning ska de göras?

Kryptering och komprimering

Beskrivning

Den digitala tidsåldern vi lever i kräver att mer och mer data skickas samtidigt, men detta kan snabbt bli ett problem för hårdvaran som skickar datan. Om för mycket data skickas över en anslutning kan det ta timmar eller dagar att överföra, när mottagaren behöver den på några minuter. Det är här komprimering kommer in i bilden. Komprimering använder mönster i data för att förkorta datamängden, vilket sparar bandbredd och lagringsutrymme i processen. Detta fungerar bra, men tänk om den komprimerade datan blir stulen under överföring? Komprimering är inte komplicerat att återställa, så det skulle vara enkelt att hämta originalet. Det är därför många använder krypteration och komprimering tillsammans när man skickar meddelanden.

Vad är kompression och hur fungerar det

Komprimering är en process som minskar storleken på en fil eller data, vanligtvis för att spara lagringsutrymme, snabba upp dataöverföring eller förbättra effektiviteten i olika applikationer. Det finns två huvudtyper av komprimering: förlustfri och förstörandeI kompression algoritm varje fras som upprepas lagras en gång. Det betyder att om en viss teckensträng upprepas någonstans i texten lagras den bara första gången. Andra gången förekommer den som en referens till den första förekomsten, därför komprimeras en text mycket effektivt när den förekommer flera gånger så att storleken blir mindre. Denna egenskap kan användas i en komprimeringssidkanalattack. Så här fungerar det:

  • Redundansborttagning

    Komprimeringsalgoritmer identifierar och eliminerar redundans i data. Redundans kan uppstå i form av upprepade mönster, duplicerad information eller onödiga detaljer. Genom att ta bort redundans blir den komprimerade datarepresentationen effektivare.

  • Ordboksbaserad komprimering

    Vissa komprimeringsalgoritmer, som Lempel-Ziv-Welch (LZW), använder en ordboksbaserad metod. De bygger en ordbok med ofta förekommande mönster och ersätter dem med kortare koder. Detta är särskilt effektivt för att komprimera text eller data med återkommande sekvenser.

  • Entropikodning

    Entropikodningstekniker, som Huffman-kodning, tilldelar kortare koder till mer frekvent förekommande symboler och längre koder till mindre frekventa. Detta utnyttjar den statistiska fördelningen av symboler i data för att uppnå .

  • Kvantisering (förlustbringande komprimering)

    Vid förlustbringande komprimering används kvantisering för att minska precisionen hos vissa data, vilket innebär att vissa detaljer går förlorade. Till exempel, vid bildkomprimering kan färgvärden avrundas, vilket leder till en förlust av färgnoggrannhet men en minskning av filstorleken.

  • Transformkodning (t.ex. diskret cosinustransform)

    Transformkodning innebär att data konverteras till en annan domän där informationen är mer koncentrerad. Vid bild- och videokomprimering används ofta diskret cosinustransform (DCT) för detta ändamål.

Kryptering och komprimering

Kryptering kan vara antingen symmetrisk eller asymmetriskSymmetrisk kryptering är den enklare av de två, den använder en nyckel för att kryptera och Avkryptera data. Symmetrisk kryptering är mycket snabbare än asymmetrisk kryptering, men är inte lika säker. Endast en nyckel behöver komprometteras för att kompromettera originaldata. Asymmetrisk kryptering använder ett offentligt och ett privat nyckelpar för att kryptera oformatterad text data. Klartexten körs genom krypteringsalgoritm tillsammans med en privat nyckel, som bara avsändaren känner till. Informationen skickas sedan till mottagaren, som använder den publika nyckeln för att dekryptera informationen. Detta säkerställer identiteten på avsändaren av informationen, eftersom den publika nyckeln endast dekrypterar data som är krypterad med den privata nyckeln i det paret.

Med hjälp av kryptering och komprimering kan större delar data skickas säkert över internet. Om endast komprimering används är datasäkerheten i fara. En "Man in the Middle"-attack skulle kunna hämta data, dekomprimera den och läsa originalmeddelandet. Å andra sidan, om endast kryptering användes, finns det en gräns för hur stort ett krypterat meddelande kan vara. Det är därför majoriteten av meddelanden är både krypterade och komprimerade. Nästa fråga att besvara är, komprimerar man data och krypterar sedan data, eller vice versa?

Skräddarsydda krypteringstjänster

Vi utvärderar, strategiserar och implementerar krypteringsstrategier och lösningar.

Kryptering eller komprimering först?

Valet av att kryptera eller komprimera data beror först på vilka typer av attacker man behöver undvika. Ursprungligen trodde man att det enda sättet att kombinera kryptering och komprimering var att komprimera data före kryptering. Detta beror på att komprimering är beroende av mönster i data för att fungera, medan kryptering försöker förstöra dessa mönster i data. Metoden för komprimering och sedan kryptering har visat sig vara svag mot sidokanalattacker. Dessa typer av attacker använder JavaScript-kod för att utföra en brute force-attack mot offrets webbläsare, vilket gör att angriparen kan dra slutsatsen om vad den överförda informationen är baserat på storleken på den komprimerade informationen.

Även om detta problem upptäcktes med metoden med komprimering och sedan kryptering, har kryptering och sedan komprimering många fler problem i jämförelse. Denna metod är svårare än den tidigare metoden, eftersom komprimering behöver mönster i data för att fungera korrekt. Det betyder att värdet av att komprimera data inte kommer att existera, eftersom det inte borde finnas några mönster i krypterad data. På grund av detta kan differentiell kryptanalys användas mot denna metod för att bestämma värdet på känsliga data. Komprimering och sedan kryptering är mycket mer motståndskraftigt mot differentiell kryptanalys.

Vanliga krypterings- och komprimeringsalgoritmer

Symmetriska krypteringsalgoritmer:

Asymmetriska krypteringsalgoritmer:

Hashing-algoritmer:

  • Töm luft
  • Huffman-kodning
  • LZ77