Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a.

Falscher Zeichensatz?

Diskussion: Falscher Zeichensatz? im Forum Cryptography & Encryption, in der Kategorie Security Area; Anzeige Hallo, ich habe folgendes Problem: Ich habe diesen Code hier: zgjdx~knb`k~l`bghmd{rnesv`qd{l???Ž?Ž??{v??Ž??{b?? ???u????Ž{q?| und ich weiss auch schon was raus ...

Antwort
Alt 05.10.06, 01:01   #1 (permalink)
 
Registriert seit: 05.10.06
Skycrasher Leistung: Facit NTK
Likes: 0
Standard Falscher Zeichensatz?

Anzeige

Hallo, ich habe folgendes Problem:
Ich habe diesen Code hier:

zgjdx~knb`k~l`bghmd{rnesv`qd{l???Ž?Ž??{v??Ž??{b?? ???u????Ž{q?|

und ich weiss auch schon was raus kommt wenn man ihn richtig entschlüsselt,das hier:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run]

mir ist schon klar, dass das ganze irgendwas mit caesar und so zu tun hat nur bekomme ich kein richtiges Ergebnis, wenn ich es mit dem normalen Alphabet versuche...
Also dachte ich, ich probier als Zeichensatz mal ASCII aus aber das würde wahrscheinlich auch nicht funktionieren, da im verschlüsselten Text Zeichen vorkommen, die im ASCII nicht vorkommen.

Wäre nett, wenn ihr sagen könntet ob ich überhaupt auf dem richtigen Weg bin und wenn ja, was mit dem Zeichensatz nicht stimmt.

Skycrasher ist offline   Mit Zitat antworten
Alt 05.10.06, 02:26   #2 (permalink)
 
Registriert seit: 16.08.06
merker Leistung: Facit NTK
Likes: 0
Standard

Das ist ein fehlerhafter Cäser :

PlainText + 31 = CypherText

ohne "wraparound".
merker ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 05.10.06, 12:16   #3 (permalink)
Themenstarter
 
Registriert seit: 05.10.06
Skycrasher Leistung: Facit NTK
Likes: 0
Standard

Ja, nur verstehe ich nicht ganz welchen Zeichensatz man verwenden muss.
Beispielsweise tritt dieses Zeichen oftmals auf: "Ž"
Das kann ich aber nirgens in der Tabelle finden (und das ist nur eins von mehreren.
Was mache ich falsch?
Skycrasher ist offline   Mit Zitat antworten
Alt 05.10.06, 12:44   #4 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 51
Standard

unicode vielleicht? in latin extended a gibt es so ein zeichen z.b.

http://de.selfhtml.org/inter/unicode.htm
lightsaver ist offline   Mit Zitat antworten
Alt 05.10.06, 12:52   #5 (permalink)
Themenstarter
 
Registriert seit: 05.10.06
Skycrasher Leistung: Facit NTK
Likes: 0
Standard

An Unicode dachte ich auch schon nur würde das mit der Verschiebung dann nicht mehr hinhauen, mal abgesehen davon hätte ich keinen Plan, wie ich dafür ein Programm schreiben sollte.
Hat jemand eine Lösung?
Skycrasher ist offline   Mit Zitat antworten
Alt 05.10.06, 17:59   #6 (permalink)
 
Registriert seit: 11.09.05
heinzelJacKy Leistung: Facit NTK
heinzelJacKy eine Nachricht über ICQ schicken heinzelJacKy eine Nachricht über AIM schicken
Likes: 0
Standard

wie merker schon bemerkt hat (hach bin ich heut wieder lustig ), es is n caesar-31. das heisst, zu jedem ascii-charcode(nicht zum alphabetischen zeichen!) des plaintexts wurde 31 dazuaddiert und am ende des strings wurde was drangehängt. wenn du ein programm zum entschluesseln schreiben willst, einfach bei jedem zeichen 31 abziehen und voila. so einfach is datt. vielleicht sollte man doch alle antworten lesen und nicht genau die richtigen ignorieren und munter weiter ueber unicode diskutieren
c-code(daten sind in in.txt gespeichert):
Code:
#include <stdio.h>

int main()
{
char tmp = '';
FILE* ff = fopen("in.txt", "rb");
while(tmp!=EOF) {
tmp=getc(ff);
putc(tmp-31, stdout);
}
getc(stdin);
return 0;
}

mfg jacky
heinzelJacKy ist offline   Mit Zitat antworten
Alt 05.10.06, 18:27   #7 (permalink)
Themenstarter
 
Registriert seit: 05.10.06
Skycrasher Leistung: Facit NTK
Likes: 0
Standard

Man sollte es nicht glauben aber wie schon gesagt: Das mit den 31 Zeichen hab ich kapiert nur bleibt dennoch die Frage offen, wo Zeichen wie z.B. "Ž"
herkommen, denn die stehen nicht im ASCII Zeichensatz. Und wo nichts da is kann man auch nichts verschieben!
Deshalb kam auch die Diskusion über Unicode zustande, da dort so ein Zeichen existiert.
Falls noch jemand Lösungsansätze hat, so möge er sie bitte posten ;D
Skycrasher ist offline   Mit Zitat antworten
Alt 05.10.06, 18:34   #8 (permalink)
 
Registriert seit: 11.09.05
heinzelJacKy Leistung: Facit NTK
heinzelJacKy eine Nachricht über ICQ schicken heinzelJacKy eine Nachricht über AIM schicken
Likes: 0
Standard

also in meinem ascii-zeichensatz is das Ž vorhanden. char-code 142.
edit: sorry gibt wohl bissl verschiedene, aber es is trotzdem definitiv ascii. unicode wär jeder buchstabe 2 byte groß, würd sich von deinem vorgegebenen ergebnis nicht hingehen. ausserdem, was passt dir denn an meinem lösungsansatz nicht? funktioniert bei mir ausgezeichnet.

mfg
heinzelJacKy ist offline   Mit Zitat antworten
Alt 06.10.06, 01:23   #9 (permalink)
 
Registriert seit: 16.08.06
merker Leistung: Facit NTK
Likes: 0
Standard

@Skycrasher
Zitat:
..wo Zeichen wie z.B. "Ž" herkommen, denn die stehen nicht im ASCII Zeichensatz.
Entscheidend ist nicht das Zeichen sondern der Wert der dem Zeichen zugeordnet wurde. Im "ASCII-Code" sind nur die Zeichen von 0..127 international "genormt". Alles von 128..255 unterliegt länderspezifischen Konventionen. Ver- und Entschlüsselung läuft deshalb niemals über Zeichen sondern nur über ihren Wert in der ASCII-Tabelle. Wenn Du weisst welchen Wert das Zeichen "Ž" hat, dann hast Du auch die Lösung.

@heinzelJacKy
Eine "Einfache Gruppenverarbeitung" lässt "drangehängtes" auf wundersame Weise verschwinden :-)

Hänging-Verschwinding-Algorithmus   
Code:
#include <stdio.h>

int main()
{
char tmp = '';
FILE* ff = fopen("in.txt", "rb");
tmp=getc(ff);
while(tmp!=EOF) {
putc(tmp-31, stdout);
tmp=getc(ff);
}
getc(stdin);
return 0;
}
merker ist offline   Mit Zitat antworten
Alt 06.10.06, 12:19   #10 (permalink)
Themenstarter
 
Registriert seit: 05.10.06
Skycrasher Leistung: Facit NTK
Likes: 0
Standard

Achso, das mit der unterschiedlichen Norm erklärt so einiges, danke dafür!
Wo finde ich die ganzen länderspezifischen Tabellen? Ich habe schon ein bisschen gegoogelt aber bisher noch nichts brauchbares gefunden!
Skycrasher ist offline   Mit Zitat antworten
Alt 06.10.06, 13:17   #11 (permalink)
 
Registriert seit: 16.08.06
merker Leistung: Facit NTK
Likes: 0
Standard

http://de.wikipedia.org/wiki/ISO_8859

Sie heissen "ISO8859-1" bis "ISO8859-16". Viel Spass beim durchsuchen :-)
merker ist offline   Mit Zitat antworten
Alt 06.10.06, 13:41   #12 (permalink)
Themenstarter
 
Registriert seit: 05.10.06
Skycrasher Leistung: Facit NTK
Likes: 0
Standard

Danke für den Link, doch auch hier fehlen Zeichen, welche z.B. im Plaintext vorhanden sind, beispielsweise "\" .
Also scheint auch das nicht die Lösung des Problems zu sein
Skycrasher ist offline   Mit Zitat antworten
Alt 06.10.06, 17:28   #13 (permalink)
 
Registriert seit: 16.08.06
merker Leistung: Facit NTK
Likes: 0
Standard

ISO_8859-1
ISO_8859-2
ISO_8859-3
(...)
ISO_8859-14
ISO_8859-15
ISO_8859-16

Die Zeichensätze sind sowieso nicht die Lösung des Problems.

Ausser Du hast vor einen fehlerhaften Cäser-31 mit Papier und Bleistift zu entschlüsseln.
merker ist offline   Mit Zitat antworten
Alt 06.10.06, 17:48   #14 (permalink)
Themenstarter
 
Registriert seit: 05.10.06
Skycrasher Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Die Zeichensätze sind sowieso nicht die Lösung des Problems.
Und warum verrätst du mir dann nicht einfach die Lösung des Problems?
Egal auf welcher Tabelle ich nachschaue "Ž" weniger 31 ergibt niemals "\" !
Skycrasher ist offline   Mit Zitat antworten
Alt 06.10.06, 17:54   #15 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 51
Standard

na die lösung wurde bereits genannt ;-)

Zitat:
Entscheidend ist nicht das Zeichen sondern der Wert der dem Zeichen zugeordnet wurde
wenn du dann noch den programmcode nimmst der gepostet wurde hast du deine lösung. da kannst du deine lösung mit berechnen lassen. wenn du das per hand machen willst, musst du rausfinden, welcher zeichensatz verwendet wird, und dann die entsprechende tabelle zur hand nehmen (links sind ja auch gepostet). da addierst du dann zu den zahlenwerten der zeichen immer 31 dazu. falls du wissen willst was mit zeichen passiert, die außerhalb der werte liegen, veränder doch einfach den code oder schreibe dir n einzeiler, der nur ne ausgabe von dem zeichen macht. dann siehst du ja obs n fehler gibt oder was passiert ;-)
lightsaver ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » Cryptography & Encryption » Falscher Zeichensatz?
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Russischer Zeichensatz unter Kopete? Landra Applikationen 7 18.11.08 19:52
Open Office Zeichensatz Sebifi Applikationen 3 26.08.08 10:20
Zeichensatz tanj Applikationen 4 08.07.07 13:58
Zeichensatz Nokia 3310 Amalthea Mobile Geräte/Smartphones 0 18.11.06 01:57
zeichensatz ändern SuSE 7.1 PeaceTreaty Linux/UNIX 3 08.04.02 14:51


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61