WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   XOR-kryptering (https://www.wn.se/forum/showthread.php?t=38507)

Spindel 2009-08-16 17:25

Har en fundering kring hur säker den här XOR-krypteringen är:

XOR encryption av en 100MB stor fil med en 300-400KB stor random nyckel.

Hur lång tid tar det att knäcka krypteringen? En timme? En månad?

Finns det något säkrare sätt att kryptera/dekrytera?

Vad som efterfrågas:
1) går snabbt att dekryptera
2) går att börja t.ex. 3mb in i filen, utan att behöva hela filen
3) hör ihop med 2, att varje byte ligger på samma plats som i originalet

BjörnJ 2009-08-16 20:26

Använd en nyckelfil med äkta slumptal som är större än filen som ska krypteras (4 GB nyckelfil på en DVD-skiva kanske, eller fyll en hårddisk med slumptal och klona den). Skicka vilken offset som ska användas i nyckelfilen och XOR:a därifrån. Om man inte återanvänder någon del av nyckelfilen är det helt omöjligt att knäcka.

SimonP 2009-08-16 22:54

Om du återanvänder nyckeln går det i teorin att göra kryptoanalys och dekryptera innehållet, om klartextfilen (filen som skall krypteras ) innehåller mkt data som upprepar sig, t.ex flera kB med nollor så ökar chansen till en lyckad dekryptering.

Om du tänkt återanvända den 300-400kb stora nyckeln så måste man tänka på detta för att försvåra kryptoanalys:
1. Klartextfilen ska inte innehålla för mkt data som upprepar sig
2. Klartextfilen får aldrig hamna i fel händer, för då avslöjas nyckeln direkt

Ett alternativ som är bättre och inte beroende av de två punkterna ovanför, är att använda algoritmen RC4-drop då får du både ett säkert krypto och snabbt krypto (trots att du måste processa filen från början) och det räcker med att nyckeln är mellan 128 och 256 bits stor.

AES är ännu bättre men då blir det mkt slöare än med RC4-drop.


Alla tider är GMT +2. Klockan är nu 10:31.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson