Flashback bygger pepparkakshus!
2012-12-14, 13:43
  #1
Medlem
Ragwings avatar
Vi antar att jag krypterar följande data med nyckeln abc123:
hej

Den krypterade datan blir:
aRxtZyalsO

Därefter krypterar jag datan igen med nyckeln 123abc och får följande:
XhzoaYxjoA

Ovanstående är något förenklat men min fråga är hur man skulle gå tillväga för att knäcka krypteringen? Personen som får i uppgift att utföra uppgiften vet ju inte att jag har krypterat datan två gånger med två olika nycklar. Även om personen nu får fram den första nyckeln så vet han ju inte att det är rätt nyckel eftersom att även om personen provat att använda den så kommer datan att vara krypterad och obegriplig varpå nyckeln anses felaktig trots att den är korrekt.
Det jag undrar är alltså hur man vet att den första nyckeln är korrekt när datan som fås fram är lika obegriplig som om man hade använt en felaktig nyckel.
Citera
2012-12-14, 14:22
  #2
Medlem
droles avatar
Citat:
Ursprungligen postat av Ragwing
Vi antar att jag krypterar följande data med nyckeln abc123:
hej

Den krypterade datan blir:
aRxtZyalsO

Därefter krypterar jag datan igen med nyckeln 123abc och får följande:
XhzoaYxjoA

Ovanstående är något förenklat men min fråga är hur man skulle gå tillväga för att knäcka krypteringen? Personen som får i uppgift att utföra uppgiften vet ju inte att jag har krypterat datan två gånger med två olika nycklar. Även om personen nu får fram den första nyckeln så vet han ju inte att det är rätt nyckel eftersom att även om personen provat att använda den så kommer datan att vara krypterad och obegriplig varpå nyckeln anses felaktig trots att den är korrekt.
Det jag undrar är alltså hur man vet att den första nyckeln är korrekt när datan som fås fram är lika obegriplig som om man hade använt en felaktig nyckel.
När datan man får fram är en korrekt hash kan man utgå från att den är rätt och sedan försöka knäcka den.

Bortser vi från nykelfunktionen fungerar ju inte detta alls, med t.ex MD5 som lär komma som exempel senare i tråden då man bara kom modda ett program att hasha två gånger.
Citera
2012-12-14, 14:29
  #3
Medlem
key33s avatar
Citat:
Ursprungligen postat av Ragwing
Vi antar att jag krypterar följande data med nyckeln abc123:
hej

Den krypterade datan blir:
aRxtZyalsO

Därefter krypterar jag datan igen med nyckeln 123abc och får följande:
XhzoaYxjoA

Ovanstående är något förenklat men min fråga är hur man skulle gå tillväga för att knäcka krypteringen? Personen som får i uppgift att utföra uppgiften vet ju inte att jag har krypterat datan två gånger med två olika nycklar. Även om personen nu får fram den första nyckeln så vet han ju inte att det är rätt nyckel eftersom att även om personen provat att använda den så kommer datan att vara krypterad och obegriplig varpå nyckeln anses felaktig trots att den är korrekt.
Det jag undrar är alltså hur man vet att den första nyckeln är korrekt när datan som fås fram är lika obegriplig som om man hade använt en felaktig nyckel.

Jag tror att ...

En del strängar avslöjar väll algoritmen som andvänds genom att innehålla vissa tecken. Detta kanske bara gäller hash algoritmer Och då är det väll inte krypterat i ordets rätta mening, då det inte går att dekryptera? Om inte så tror jag det är omöjligt.
Citera
2012-12-14, 17:34
  #4
Medlem
Det du skriver om kallas för "salt".

http://en.wikipedia.org/wiki/Salt_%28cryptography%29

Om personen får reda på hur du krypterat ditt meddelanden (det vill säga två gånger) så kan hon/han knäcka meddelandet om de har tillräckligt med datorkraft och tid för det.

Det finns en massa sätt för att ta reda på ditt "salt". Till exempel kan man "reverse engineer" det program du använder. Om det är en webbapplikation så kan myndigheter/crackare bryta sig in i din server för att få källkoden till din webbapplikation.

Ett salt behöver man inte hålla hemligt för att det skall vara effektivt.
Citera
2012-12-14, 22:11
  #5
Medlem
key33s avatar
Citat:
Ursprungligen postat av AnnaK83
Det du skriver om kallas för "salt".

Stämmer det verkligen? Du kan ju tex ta gpg, du krypterar din sträng och så krypterar du den krypterade strängen, hur ska man veta vilken algoritm som andvändes och vart är saltet du pratar om? Dessa val har jag:
Kod:
Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)

Detta blev strängen "test" efter att jag krypterat den 2 gånger med "RSA and RSA":

Är inte salt något som framförallt andvänds när man lagrar känslig data i databaser?
Citera
2012-12-14, 23:02
  #6
Medlem
WriteMasterTMs avatar
http://sv.wikipedia.org/wiki/3DES
http://sv.wikipedia.org/wiki/Data_Encryption_Standard

DES= 56 bitar

3DES är en utökning DES och erhåller bättre kryptering och skydd genom att kryptera datat tre gånger med DES med olika nycklar.
DES-EDE3: Klartext krypteras med nyckel1, dekrypteras med nyckel2, krypteras med nyckel3. Vilket ger en total nyckelstorlek på 168 bitar.

En generell attack mot algoritmer som skapar en lång nyckel genom att länka krypteringsteg med korta nycklar är Meet-in-the-middle attacken. 3DES sårbarhet mot denna attack gör att 3DES aldrig kan erbjuda mer säkerhet än cirka 112 bitar.


http://en.wikipedia.org/wiki/Meet-in-the-middle_attack
Meet-in-the-middle attack

Naturally it requires the ability to encrypt and decrypt, and the possession of pairs of plaintexts and corresponding ciphertexts.
Citera
2012-12-15, 00:08
  #7
Medlem
key33s avatar
Citat:
Detta blev strängen "test" efter att jag krypterat den 2 gånger med "RSA and RSA"

Det blev fel, jag krypterade en fil som innehöll "test", inte strängen "test".
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in