XORowanie
Ostatnio zmodyfikowano 2013-01-12 14:02
pekfos |
» 2013-01-11 17:48:26 Algorytmy hashujące to jeszcze co innego. Koniunkcje, alternatywę itd. będziesz mieć w 1. LO :) |
Ale o XOR nic nie będzie :( |
|
ison |
» 2013-01-11 18:26:25 Zaszło małe nie porozumienie, chodziło mi o algorytm tylko i wyłącznie xorujący wiadomość z czymś tam, ale może się nie mylę.
|
Algorytm xorujący wiadomość z kluczem to szyfr, którego nie da się złamać. (Przy założeniu, że długość klucza >= długość wiadomości i nie znasz klucza.) Ale wtedy poco się robi algorytmy haszujące? |
Hashe to funkcje skrótu, a nie szyfr. Mają zupełnie inne przeznaczenie. |
|
pekfos |
» 2013-01-11 18:37:33 Algorytm xorujący wiadomość z kluczem to szyfr, którego nie da się złamać. (Przy założeniu, że długość klucza >= długość wiadomości i nie znasz klucza.) |
A jeśli klucz to wiadomość, otrzymamy ciąg zer. Nie do złamania ;) |
|
ison |
» 2013-01-11 18:48:38 Tak, ale jak wyślesz inną wiadomość to już nie będą same 0 ;) |
|
Mrovqa |
» 2013-01-11 21:46:06 A jeśli klucz to wiadomość, otrzymamy ciąg zer. Nie do złamania ;) |
Jaki sens ma taki klucz? :P To jest po prostu przesłanie jawnej wiadomości + ciągu zer o wielkości wiadomości. |
|
RazzorFlame Temat założony przez niniejszego użytkownika |
» 2013-01-11 22:27:27 Dobra, dobra POWIEDZMY że to rozumiem. Ale nie wiem jak mógłbym to wykorzystać w praktyce. Jak tego użyć. Powiedzmy ma ciąg znaków "jakies_znaki". I chciałbym to "przexorować" to jak mógłbym to zrobić? char * znaki = "jakies_znaki"; znaki ^= 123;
Domyślam się że przy czymś takim programik by mi sie wysypał albo komputer do naprawy? Co w tedy by się stało? |
|
Mrovqa |
» 2013-01-12 14:02:39 char * znaki = "jakies_znaki"; znaki ^= 123;
Domyślam się że przy czymś takim programik by mi sie wysypał albo komputer do naprawy? Co w tedy by się stało? |
W tym przypadku XORujesz zawartość zmiennej znaki, która jest wskaźnikiem. Innymi słowy - niszczysz sobie zapamiętany adres znaków. char * znaki = "jakies_znaki"; for( char * it = znaki; * it; it++ ) * it ^= 123;
Mam nadzieję iż zrozumiesz, starałem się w miarę prosto napisać kod :) |
|
1 « 2 » |