Hallo Gast

Wir nutzen Discord, da das Forum inaktiv ist.
Discord EInladungslink
  • Zahlen die einem gewissen Algorithmus folgen. Als bsp. hast du ja auch auf jedem Produkt das du kaufst, einen Zahlencode, der an der Kasse gescannt wird und einem Produkt zugeschrieben wird. Ähnlich ist es hier. Der Code steht für ein spezielles Element.

    In seiner ersten Aufgabe war die Schwierigkeit nicht, den Zahlencode zu decodieren (Es gibt viele decoder wenn man mal google nutzt) sondern der Hinweis, das nicht nur die Fragestellung, sondern der Zahlencode selbst falsch angeordnet war. Man musste also erst den code drehen, und ihn dann in einen decoder schmeißen, während man danach noch einen decodierten Zahlenabgleich in der ASCII-Tabelle machen durfte. (Zahlen in Buchstaben umschreiben) Auf so etwas jedoch zu kommen, kann dauern... Auch wenn es einfach klingt XD

    Bei seiner neuesten Aufgabe bin selbst ich überfordert. Oder... eher gesagt, zu faul :D Die Lösung würde mich mehrere Stunden kosten xD Und selbst dann wäre es nicht sicher das ich es überhaupt hinbekomme^^

  • So ich habe mich mal eine weile nicht zu Wort gemeldet. Da ich gut und gerne "leicht" angetrunken bin und mir gerade so in den Sinn kommt das mir jemand gesagt hat, das ich vill mal ins Forum schauen sollt, hier nun eine kleine Erklärung.



    An unseren süßen Vampirluchs :
    Necci hat es eigentlich schon ziehmlich gut erklärt.

    Das Rätsel das ich am Anfang aufgegeben habe ist in sich schon Verkehrt. Das heißt das der komplette ähnlich like a Mange von hinten nach vorne gelesen werden muss.


    Die erste Aufgabenstellung hierbei ist eigentlich denkbar einfach.

    Die Fragestellung richtig herum gelesen lautet:
    ->Ich bin Eckig und gepunktet. Jede Seite von mir ist gleich Groß, aber doch anderst. Zähle meine Flecken und Teil 1 hast du gelöst.

    #Die Lösung:

    Ein Würfel welcher zusammengezählt 21 Punkte besitzt, ergo "21"


    Aufgabe 2 ist hierbei denklich schwerer.

    Zuerst muss man erkennen das auch hier die Reihenfolge der zahlen komplet auf den Kopf gestelt ist, wie der Rest des Rätsels. Ergo müssen die Zahlen von rechts unten nach links oben gelesen werden.

    Der nächste Zug beginnt damit den Code zu decodieren (zu Lösen).

    Hierbei muss man jedoch fakto erstmal wissen was diese Zahlen bedeuten.


    Einfacher gesagt als getan.

    Für das geschultere Auge stellt sich schnell heraus das es sich um einen Binärcode ( Computersprache oder wie manche es nennen die Universelle Sprache).

    Dieser Binärcode muss (wie es jeder Computer macht) in einen "Text" umgewandelt werden, was durch die Hilfe diverser Webseiten schnell gemacht werden kann.

    Das Ergebniss lautet dannach "4c 61 75 63 68 73 2c 20 6c 61 75 63 68 65 6e 20 64 65 6e 20 4c 61 75 63 68 69 67 65 6e 20 54 61 67".

    Da dieses jedoch immernoch nicht verständlich und an sich erstmal sinnbefreit ist, muss man erkennen das sich hinter dieser Combination ein weiterer Code befindet.


    Hexadezimal ist dabei das Schlüsselwort.

    Ich gebe zu für den ein oder anderen ist das wirklich nicht einfach, vorallem ohne entsprechende Tipps.

    Der Hexadezimalcode oder anderst das Hexadezimalsystem ist prinzipiel nichts anderes als eine vereinfachung/kürzung/umwandlung des Binärcode.

    Der Binärcode besteht immer aus 8 Zahlen (0 = false & 1 = true)

    Bsp.

    Binär 0000 = 0 Hexadeziml

    Binär 1111 = F Hexadezimal

    -----ergo-----

    Binär 00001111 = 0F Hexadezimal.


    Nungut, der Hexadezimal muss nun wieder in einen Text verwandelt werden via ASCII-Tabelle bzw. Web-Programmen die Google schnell liefert.

    ASCII ist jedoch einfach ein anderer Begriff für "Text" (sehr grob gesagt) , da unsere Sprache, Symbole etc. auf grundlagen des ASCII-Codex laufen (wie gesagt sehr grob formuliert).

    Löst man nun den Hexadezimalcode auf, bekommt man als ergebniss "Lauchs, lauchen den Lauchigen Tag".

    Somit ergibt das gesammtergebniss "21 Lauchs, lauchen den Lauchigen Tag".


    Da Necci das Rätsel gelöst hatte, habe ich keine Tipps mehr geben müssen. Die Tipps wären sonst "Binär" und "Hexadezimal" gewesen.
    Ich hoffe du konntest dem Lösungsweg soweit folgen. Wenn man sich mit der Materie nicht auskennt ist es wirklich nicht einfach.




    Nun die andere Aufgabe die ich gestellst habe.

    Tja was soll man sagen.... das ist eine Harte Nuss und im Vergleich zu meinem vorherigen Rätseln im Schwierigkeitsgrad eine sehr deutliche Schippe knackiger. Bevor ich die Lösung bekannt gebe, würde ich sagen das ich euch bis Ende des Monates nochmal Zeit gebe. Evtl. kommt der ein oder andere darauf oder will sich mal dahinter setzten.

    Viele Wege führen bekanntlich nach Rom und mein Weg war damals nicht gerade der Idealste. Ich habe wie bereits geschrieben selbst ein Algorythmus dafür geschrieben. Mit den Tipps hätte ich anhand der Googlesuchmaschine viel Arbeit ersparen können.


    Ich werde den Lösungsweg Ende des Monates erklären.

    Wer den Lösungsweg vorher wissen möchte, soll mich einfach Anschreiben via TS oder hier im Forum.


    Grüße euer Blacki

    3240670_620x310_r.jpg Fortgeschrittene Faulheit ist, wenn man durch perfekte Vorbereitung zukünftige Arbeit vermeidet
    3240670_620x310_r.jpg

    Einmal editiert, zuletzt von Blackmann93 ()

  • Lösung zu meinem letzten Rätsel und JA man muss sich mit dem Thema wirklich auseinandersetzen. Falls ich es noch finde kann ich jedem der möchte meinen Lösungsweg schicken ( Ist ein kleines Programm ). Mein Lösungsweg könnte man tatsächlich eine Art Brutforceattacke nennen.



    Notwendiges Vorwissen für die Erklärung: de.wikipedia.org/wiki/Hexadezimalsystem, asciitable.com/index/asciifull.gif, XOR-Verknüpfung von einzelnen Bits und ganzen Bytes




    Da bekannt ist, dass der Schlüssel 49 Zeichen lang ist, teilen wir die verschlüsselte Nachricht in Zeilen zu je 49 Zeichen auf. Ein Zeichen wird dabei durch 2 Ziffern im Hexadezimalsystem codiert. Wir erhalten:




    Quellcode

    1. 11302a34260225265c3f6420193425084e011f1e0d5174501c22150353363a582a03345146054a0363187f07012a4b5035
    2. 3a3d2c6e3c0e342a50342a135b6107015c06511a0b5736500f3e474b5f2422582b02231d1e56121320515a024963603f02
    3. 793c2b3a6a002327577123151a322310193c18030a5c2a1e1124194b442a3c192206341c57421f5d3d185e030822561470
    4. 2a3a782c2604226e50223047002f22435c1d1f4d0358360955235c0657683e192a4a271405421f5d375d40484507591d39
    5. 2d753d3d6a052f2d5125641d006135005103141f4e502b045477580a512d6e112d027115125b5a6736404046162c181c31
    6. 37327839230e66235636280e16296a43581802024e573713103a5407122d2b0a340638121f501413145441050e344d1e23
    7. 3a3d783b240f663d5c3936470328230f1927010c1d1935190c77510e5c6505192a03225f577d1555355d5a12092a5b1870
    8. 31342b3a6a0f336e5b342d4711242b436b15051e0b5578110d345d4b573139193d4a3f1402500913345d5803172d4c5025
    9. 37317826230e346e5c3f200b1c222e435d1118034e7a17343d6d151878111a41053332103b722c0425427750001b620327


    Wie schon vorher beschrieben, suchen wir jetzt die Leerzeichen im Text. Dazu verknüpfen wir jede Zeile mit jeder anderen per XOR. So ist z.B. 11 XOR 3A = 2B, 30 XOR 3D = 0D, 3A XOR 2C = 06 usw. Dann ist Zeile 1 XOR Zeile 2:




    Quellcode

    1. 2b0d065a1a0c110c0c0b4e334255220912074e0406064200131c52480c1218000101174c585358104349250548492b6f37


    Das kann man per Windows-Taschenrechner, mit xor.pw oder per Hand nachrechnen.



    Wichtige Erkenntnis ist: A XOR Leerzeichen = a, B XOR Leerzeichen = b, ... und auch analog a XOR Leerzeichen = A, ...


    Wenn jetzt in Zeile 1 XOR Zeile 2 ein Buchstabe vorkommt, d.h. ein Hexadezimalwert von 41-5A (A-Z) oder 61-7A (a-z), dann ist vermutlich an dieser Stelle in Zeile 1 oder Zeile 2 ein Leerzeichen. Man kann aber nicht sagen, in welcher Zeile. Fett hervorgehoben sind die Buchstaben:



    2b0d065a1a0c110c0c0b4e334255220912074e0406064200131c52480c1218000101174c585358104349250548492b6f37



    Nun machen wir das gleiche noch mit Zeile 1 XOR Zeile 3:



    680c010e4c0206010b4e473503060618573d071d070d5e4e0d060c48171c06410805004d1147555e5e00210409081d4445



    Und Zeile 2 XOR Zeile 3:



    43010754560e170d0745090641532411453a4919010b1c4e1e1a5e001b0e1e410904170149140d4e1d4904014141362b72



    Um da den Überblick nicht zu verlieren, noch mal alle 3 Zeilen nacheinander. Da nur wichtig ist, wo möglicherweise Leerzeichen sind, habe ich die fetten Zeichen durch _ und den Rest durch X ersetzt:




    Quellcode

    1. XXX_XXXXXX_X__XXXX_XXX_XXX__XXXXXXX____X__XX__X_X
    2. _XXX_XXXX__XXXXX_XXXXX__XXX_XXX_XXX_X____XXXXXXXX
    3. _XX__XXXX_XX__XX_X_XXXX_XX_XXXX_XXXX_XX_X_XX__XXX


    Was auffällt: Bei Zeile 1 XOR Zeile 3 und bei Zeile 2 XOR Zeile 3 ist das erste Zeichen ein _, d.h. das erste Zeichen in Zeile 3 ist vermutlich ein Leerzeichen. Auch an 5. Stelle wird vermutlich ein Leerzeichen stehen. Außerdem ist bei Zeile 1 XOR Zeile 2 und bei Zeile 2 XOR Zeile 3 an 4. Stelle ein _, d.h. in Zeile 2 wird wahrscheinlich an 4. Stelle ein Leerzeichen stehen.


    Allgemein: Wenn in man Zeile i mit jeder anderen Zeile per XOR verknüpft und an Stelle j (fast) immer ein _ ist (bzw. der ASCII-Code für einen Buchstaben), dann wird an Stelle j in Zeile i ein Leerzeichen stehen.



    Zurück zum Beispiel: Da wir wissen, dass in Zeile 3 an erster Stelle ein Leerzeichen steht, können wir nun das erste Zeichen des Schlüssels bestimmen: Leerzeichen XOR Schlüsselzeichen = 79, d.h. Schlüsselzeichen = Leerzeichen XOR 79 = 20 XOR 79 = 59 = Y. Analog verfährt man nun so mit allen Stellen, an denen vermutlich ein Leerzeichen steht. Dadurch erhalten wir einen Teil des Schlüssels. Damit entschlüsseln wir nun zum ersten Mal unsere komplette Nachricht. Schlüsselzeichen, die noch unbekannt sind, setzen wir auf 00, also NULL, nicht das Zeichen '0', sondern das zum Hex-Wert 00. Für jedes beliebige Zeichen ist NULL XOR Zeichen = Zeichen.


    Auf diese Weise habe ich folgenden Schlüssel erhalten, Darstellung als Hex-Wert:




    Quellcode

    1. 5955584e0000464e7051443336004a636e00716d6e7758707557676b73484e78006a51716676323300387a6869436b7050


    Wenn wir damit die Nachricht entschlüsseln (Klartext XOR Schlüssel = Geheimtext ==> Klartext = Geheimtext XOR Schlüssel), erhalten wir:




    Quellcode

    1. 4865727a260263682c6e20132f346f6b20016e7363262c2069757268207e74202a696520207378306320056f6869202065
    2. 636874203c0e726420656e206d614d623206207765206e207a6920202c6c6c202b68726c782020202069206a20200b4f52
    3. 206973746a006569272067262c326973773c696e642b726e64737e2037627261226c656d31342d6e3d20246b61613d6420
    4. 736f20622604642020737474362f6820321d6e206d2f6e7920743b6d242070612a20766563342d6e37653a202c44326d69
    5. 742065736a0569632174202e36617f633f0365722027737421203f61226520692d682064742d685436783a2e7f6f736c61
    6. 6e672077230e206d26676c3d202920203618736f20206f63656d336c61656572346c696379262620146c3b6d6777266e73
    7. 63682075240f20732c6872743528696c77277061736e6d69792036652f2d4b612a69732e310b27663565207a6069306820
    8. 686173746a0f75202b65697427246120051574736522206178633a20247977613d206e6564263b203465226b7e6e272075
    9. 6e642068230e72202c6e64382a2264203311696e200d4f44483a72730b595439055963615d041e37257a0d386958097377


    Damit man das besser lesen kann, werden die Hex-Werte durch die Zeichen mit entsprechendem ASCII-Code ersetzt. Zeichen mit einem Wert von weniger als 20 (die Steuerzeichen vor dem Leerzeichen) lassen sich möglicherweise nicht darstellen, ich habe sie durch \Hexwert ersetzt. Wir erhalten:




    Quellcode

    1. Herz&\02ch,n \13/4ok \01nsc&, iurh ~t *ie sx0c \05ohi e
    2. cht <\0erd en maMb2\06 we n zi ,ll +hrlx i j \0bOR
    3. istj\00ei' g&,2isw<ind+rnds~ 7bra"lem14-n= $kaa=d
    4. so b&\04d stt6/h 2\1dn m/ny t;m$ pa* vec4-n7e: ,D2mi
    5. t esj\05ic!t .6ac?\03er 'st! ?a"e i-h dt-hT6x:.osla
    6. ng w#\0e m&gl= ) 6\18so ocem3laeer4licy&& \14l;mgw&ns
    7. ch u$\0f s,hrt5(ilw'pasnmiy 6e/-Ka*is.1\0b'f5e z`i0h
    8. hastj\0fu +eit'$a \05\15tse" axc: $ywa= ned&; 4e"k~n' u
    9. nd h#\0er ,nd8*"d 3\11in \0dODH:rs\0bYT9\05Yca]\04\1e7%z\0d8iX\09sw


    Wir sehen hier 2 Dinge: Zum einen wurden wahrscheinlich die ersten 4 Zeichen richtig entschlüsselt und die Nachricht fängt wahrscheinlich mit "Herzlichen Gluckwunsch" an (Ü=U), zum anderen gibt es in meinem Programm einen "Bug". Wie oben festgestellt, sollte das 5. Zeichen der 3. Zeile ein Leerzeichen sein, es wurde aber als j entschlüsselt. Wenn man im Schlüssel nachsieht, ist das entsprechende Schlüsselzeichen 00, also nicht gesetzt. Da j XOR Leerzeichen = J, muss dann das 5. Zeichen im Schlüssel ein J sein. Durch geschicktes Raten der Nachricht kann man nun nacheinander den Schlüssel bestimmen. Wenn man ein Zeichen im Schlüssel bestimmt hat, werden dadurch in allen Zeilen an dieser Stelle das Zeichen korrekt entschlüsselt. Andererseits kann man alle Zeilen zur Hilfe nehmen, um ein Schlüsselzeichen zu bestimmen.


    Da wir zum Glück 9 Zeilen haben, ist das geschickte Raten relativ einfach, bei 2 bis 3 Zeilen wäre es schon sehr schwer, und bei 1 Zeile nahezu unmöglich.



    So, wem das noch nicht genug war, dem kann ich noch meinen Quellcode schicken.



    Einen Hinweis noch zum "auf dem Papier durchrechnen": Man kann sich auch vorher die einzelnen XOR-Kombinationen ausrechnen und in eine Tabelle schreiben und später raussuchen, z. B: 1 XOR 1 = 0, 1 XOR 2 = 3, 1 XOR 3 = 2, 1 XOR 4 = 5, ... Es geht aber wesentlich schneller, das mit einem Taschenrechner oder anderen elektronischen Hilfsmitteln durchzurechnen.

    3240670_620x310_r.jpg Fortgeschrittene Faulheit ist, wenn man durch perfekte Vorbereitung zukünftige Arbeit vermeidet
    3240670_620x310_r.jpg
  • In dem Moment als du XOR erwähnt hast, fühlte ich mich wie im Unterricht als ich auf Durchzug gestellt habe :D AND OR XOR NOR NAND LECKIMICHAMARSCH! xDD

    Bin irgendwo froh die Umschulung nicht abgeschlossen zu haben. kA wann du die gemacht hast, aber vor 3-4 Jahren hat die IHK den gloreichen Einfall gehabt, keine Hilfsbücher mehr zuzulassen. Du musst also all die codes komplett auswendig können hahaha (Zumindest in der Informatik)

  • Naja im Prinzip sind es ja einfach nur Operatoren mit dennen man durch vergleichen zweier Bits ein neues erhält. Wie beim Stromler die Schaltung , bsp. ist Bit1 AND Bit1 Ergebniss Bit1 etc.
    Ich hab garkeine Umschulung gemacht ^^
    Bei dem Rätsel hab ich mir damals die ganze geschichte durchgelesen. Da hatte ich was die Informatik angeht noch weniger Wissen, aber aus Logischer sich macht das ganze relativ schnell sinn wenn man sich dafür Interessiert.

    Aber ist auch so ne Geschichte die man so nie braucht, zumindest nicht in der normalen Programmierung. Bei Elektrikern und ihren Schaltzuständen ist das was anderes die brauchen das glaube schon XD

    3240670_620x310_r.jpg Fortgeschrittene Faulheit ist, wenn man durch perfekte Vorbereitung zukünftige Arbeit vermeidet
    3240670_620x310_r.jpg
  • Okey dann hier ein Rätsel das definitiv einfach zu Lösen sein sollte ^^

    Ein König möchte seine besten Soldaten einen Ring zur Ehre des Kampfes geben.
    Der König stellt dafür insgesamt 1 Kg Gold , aufgeteilt auf 10 Schmieden zur Verfügung.
    Um Betrug vorzubeugen beauftragt er jeder der 10 Schmiede exakt 10 Identische Ringe zu erstellen.

    Als die Ringe fertig waren, stellte sich tatsächlich heraus das einer der Schmiede pro Ring 1 g Gold unterschlagen hatte.
    Der König kann nun mit genau 1x Wiegen feststellen welcher Schmied betrogen hat.

    WIE MACHT ER DAS?

    3240670_620x310_r.jpg Fortgeschrittene Faulheit ist, wenn man durch perfekte Vorbereitung zukünftige Arbeit vermeidet
    3240670_620x310_r.jpg
  • Nummerierung.

    Jeder Schmied bekommt eine Nummer von 1 bis 10.

    Danach lässt er sich von jedem Schmied genau die Anzahl an Ringe geben, die seine Nummer wiederspiegelt. Schmied 1 einen Ring, Schmied 2 zwei Ringe usw.

    Daraus ergibt sich 1+2+3+4+5+6+7+8+9+10 = 55. Da jeder Ring 10 Gramm wiegen sollte, sollte die Waage nun 550 Gramm anzeigen. Tatsächlich fehlt aber exakt die Anzahl an Gramm von dem Schmied, der Gold unterschlagen hat. Damit weiß el Chefe ganz genau welcher Arsch ihn doch glatt bescheißen wollte :D (Angenommen es fehlen 4 Gramm, dann weiß er genau das 4 Ringe je 1 Gramm zu leicht sind und Schmied 4 ihn übers Ohr hauen wollte)

  • Meins ist mal wieder ein sehr leichtes Rätsel. :)


    Du befindest dich im 1. Stock eines Hauses in einem Raum mit drei Lichtschaltern.

    Du darfst die Schalter so oft und so lange drücken wie du willst.

    Die Lampe im Keller ist aus. Du weißt, dass nur ein Schalter die Lampe im Keller zum Leuchten bringen kann.

    Welcher es ist, weißt du jedoch nicht.

    Du darfst nur einmal in den Keller gehen, um nachzuschauen.


    Wie findest du heraus, welcher Schalter die Lampe im Keller zum leuchten bringt. :D