tha_specializt
Mitglied
Du verstehst die Grundsätze der Kryptoanalyse nicht ... ed is so:
der Algorithmus selbst benutzt keine Charsets, sowas ist für ihn völlig uninteressant. "Er" nimmt lediglich die eingehenden Bytes und substituiert nach einem bestimmten Muster. "Er" fummelt _NIE_ mit Strings herum, das macht lediglich der Anwender AUSSERHALB der eigentlichen Kryptographie.
Ich interpretiere in meinem Beispiel lediglich einen beliebigen String anhand eines frei gewählten Charsets (in diesem Fall: Default-Locale-charset) als entsprechendes Byte-Array. Dieses wird dann verschlüsselt wieder ausgegeben. Das Ergebnis-Array enthält teilweise weitaus grössere Elemente als du in jedem Charset finden wirst. Wenn du nun das Ergebnis also in irgendeinen Charset zwängen willst, ohne es vorher wieder zu entschlüsseln, dann _MUSS_ das ja fehlerhaft sein. Vor dem entschlüsseln hat man lediglich das nichtsaussagende Byte-Array, es stellt keine Repräsentation von irgendetwas dar. Dass einige Zeichen tatsächlich korrekt sind ist lediglich darauf zurückzuführen dass die Entwickler von AES ihre Zeichenzuteilung anhand gängiger Charsets erstellt haben, und somit einige Zeichen gerne mal dem Ursprungs-String entsprechen. Das ist aber eher Glückssache, je nachdem wie hoch die Primzahl im aktuellen Vorgang war ;-).
Man sollte übrigens nicht glauben, dass das einzig und allein ein Symptom von AES ist, auch in allen anderen Algorithmen wirst du Probleme bekommen, wenn du die direkte crypto-Ausgabe in charsets zwängen willst ... Am besten bleiben lassen, das ist ein gern gemachter Fehler, der in produktiven Umgebungen zu nicht auffindbaren Fehlern führen kann und somit deinen Angestellten-Status ernsthaft gefährden kann
Was folgern wir daraus? Ganz einfach: Möchte man Texte verschlüsselt ablegen, so muss man diese entweder als Zahlen-Sammelsurium speichern, oder eben eine eindeutige Rückführung zu den korrekten, ursprünglichen Bytes ermöglichen
der Algorithmus selbst benutzt keine Charsets, sowas ist für ihn völlig uninteressant. "Er" nimmt lediglich die eingehenden Bytes und substituiert nach einem bestimmten Muster. "Er" fummelt _NIE_ mit Strings herum, das macht lediglich der Anwender AUSSERHALB der eigentlichen Kryptographie.
Ich interpretiere in meinem Beispiel lediglich einen beliebigen String anhand eines frei gewählten Charsets (in diesem Fall: Default-Locale-charset) als entsprechendes Byte-Array. Dieses wird dann verschlüsselt wieder ausgegeben. Das Ergebnis-Array enthält teilweise weitaus grössere Elemente als du in jedem Charset finden wirst. Wenn du nun das Ergebnis also in irgendeinen Charset zwängen willst, ohne es vorher wieder zu entschlüsseln, dann _MUSS_ das ja fehlerhaft sein. Vor dem entschlüsseln hat man lediglich das nichtsaussagende Byte-Array, es stellt keine Repräsentation von irgendetwas dar. Dass einige Zeichen tatsächlich korrekt sind ist lediglich darauf zurückzuführen dass die Entwickler von AES ihre Zeichenzuteilung anhand gängiger Charsets erstellt haben, und somit einige Zeichen gerne mal dem Ursprungs-String entsprechen. Das ist aber eher Glückssache, je nachdem wie hoch die Primzahl im aktuellen Vorgang war ;-).
Man sollte übrigens nicht glauben, dass das einzig und allein ein Symptom von AES ist, auch in allen anderen Algorithmen wirst du Probleme bekommen, wenn du die direkte crypto-Ausgabe in charsets zwängen willst ... Am besten bleiben lassen, das ist ein gern gemachter Fehler, der in produktiven Umgebungen zu nicht auffindbaren Fehlern führen kann und somit deinen Angestellten-Status ernsthaft gefährden kann
Was folgern wir daraus? Ganz einfach: Möchte man Texte verschlüsselt ablegen, so muss man diese entweder als Zahlen-Sammelsurium speichern, oder eben eine eindeutige Rückführung zu den korrekten, ursprünglichen Bytes ermöglichen
Zuletzt bearbeitet: