WN

WN (https://www.wn.se/forum/index.php)
-   Allmänt (https://www.wn.se/forum/forumdisplay.php?f=2)
-   -   Knäcka en krytering (https://www.wn.se/forum/showthread.php?t=1068824)

naak2803 2017-12-16 14:45

Knäcka en krytering
 
Vi gick från vänster till höger i vårt okrypterade meddelande. För varje tecken tog vi dess ASCII-värde och adderade med nästa teckens ASCII-värde. Dessa summor stoppade vi in i listan som du ser nedan.

Kod:

173,207,138,137,208,204,211,143,65,118,191,137,134,348,360,229,231,227,211,132,129,213,232,148,132,201,217,
148,137,215,226,217,133,147,222,224,225,216,209,133,150,215,211,211,129,142,339,332,217,211,129,144,226,225,
209,206,209,210,141,134,348,360,146,132,205,208,136,65,118,191,137,140,219,229,215,197,201,133,138,223,149,
129,213,232,148,135,204,133,142,339,332,217,211,129,147,224,338,261,148,221,217,227,147,148,221,213,216,140,
132,205,215,142,129,207,225,361,353,204,207,156,78,100,169,217,148,134,348,360,229,231,213,129,150,223,137,
148,237,220,206,208,215,146,132,217,149,147,222,204,129,135,349,360,211,129,260,342,146,129,213,232,148,136

Det går väl inte att lösa... det kan ju finnas flera summor som tex gör upp 173 (första tecknet), eller? tänker jag fel?

habbcraw 2017-12-16 15:08

Det räcker väl att skapa alla adderade ASCII-värden och koppla det till dess två tecken. Sedan kommer det finnas två möjliga kombinationer för varje värde. Eftersom du lägger till nästkommande värde med nuvarande kommer det räcka med att börja anta 1 av de 2 möjliga kombinationerna på slutet och försöka avkryptera. En av avkrypteringarna kommer vara meddelandet, dessutom om du har udda antal ASCII tecken kommer man direkt fram till meddelandet. Jag kan ha fel. Vad tror ni?

naak2803 2017-12-16 15:30

nu hängde jag inte med... så hur skulle du göra för att avkryptera första 5 tecken?

naak2803 2017-12-16 15:46

hur skulle en sån algoritm se ut?

habbcraw 2017-12-16 15:59

Jag har nog fel. Det går inte att knäcka det, jag kan inte komma på hur iaf. Däremot så kommer flera krypterade meddelanden ha samma krypteringskod, vilket kan bli problematiskt?

Stefan Johansson 2017-12-16 16:02

Det går att lösa genom att ställa upp ett linjärt ekvationssystem, eftersom det (i princip) finns lika många ekvationer som obekanta. Det enda man måste göra är att gissa vilket tecken som har adderats till det sista i den följd du har fått.

Stefan Johansson 2017-12-16 16:09

Om man testar att lösa ekvationssystemet för alla möjliga adderade tecken (för det sista tecknet) så finns det 19 möjliga utfall där alla "dekrypterade" tecken ligger inom spannet (0-255), varav bara ett ger en sträng som går att läsa:
---------------------------------------------
Hej igen! Vi förstod att det inte skulle vara några problem för dig! Vi lovade ju att ge några små tips till din ansökan. Det första vi tycker du ska göra är att
---------------------------------------------

naak2803 2017-12-16 17:08

du har inte lust att dela med dig denna linjära ekvationssystem.

Stefan Johansson 2017-12-16 17:26

Om du tänker att du ger alla tecken i strängen en egen variabel, t.ex. abcd... Då kan du ställa upp en ekvation för varje "summa", och får då ett ekvationssystem:

a + b = 173
b + c = 207
c + d = 138
..o.s.v.

För de tre ekvationerna ovan så kan du lösa systemet om du t.ex. listar ut vad "d" är:

c = 138 - d
b = 207 - c = 207 - (138 - d)
a = 173 - b = 173 - (207 - (138 - d))

På samma sätt kan man lösa det system som du har, som består av ~160 sådana ekvationer.

nim 2017-12-18 11:50

Och vad kan man lära sig här?

Jo, skapa inte egna krypteringsalgoritmer utan använd välbeprövade såsom 3DES, RSA, Blowfish, Twofish eller AES. Och dessa i kombination med salt


Alla tider är GMT +2. Klockan är nu 14:06.

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