(C) David Vajda 2025-05-08 Mail an Mama Informatik zum lernen Liebe Mama! Natuerlich bin ich dein freund. du hast mich gestern gefragt, selbst, wenn das im streit manchmal anders aussieht: ja ich schreibe dir jetzt informatik e-mails, weil ich wollte mit dir drueber reden. ich finde du moechtest das wissen, du moechtest, dass ich dein freund bin also, es geht um bitcoin und programmierung damit du verstehst was bitcoin ist zunaechst zwei erklaerungen was ist verschluesselung das muss man wissen 1.) verschluesselung 2.) kryptowaehrung verschluesselung im deutschen haben wir einen sagen wir test "hallo welt" das ist standard (std) in der Informatik ein text steht generell in anfuehrungsstrichen "abc" "hallo welt" "sehr nett" "ein text 123" "sonderzeichen $%;;;!>< aber auch zahlen sind text 1263172712" oder nimm dein buch, dein buch besteht aus so und so vielen seiten, doch auf jeder seite stehen so und so viele worte, aber nicht nur das, sondern, die worte sind mit leerzeichen getrennt "mama schreibt ein buch" besteht aus vier worten, aber zwischen den worten sind leerzeichen, doch diese leerzeichen sind selber nur zeichen. oder wie waere es mit einer neuen zeile im buch. wenn du ein buch schreibst, darin sind worte und zwischen den worten sind lehrzeichen, beginnst du mit einem neuen absatz "ich mama schreibe ein buch naechstes kapitel: ich beginne einen absatz " oder "ich mama schreibe ein buch naechstes kapitel: ich beginne einen absatz " im computer wird das anders dargestellt, naemlich "ich mama schreibe ein buch\n\nnaechstes kapitel: ich beginne einen absatz" bzw. zweiteres "ich mama schreibe ein buch\nnaechstes kapitel: ich beginne einen absatz" alles was in anfuerungsstrichen steht ist generell ein text. auch anfuehrungsstriche selber doch was ist wenn anfuehrungsstriche auftauchen. man nehme "erste zeile\nzweite zeile" ergibt darstellbar, etwas wie "erste zeile zweite zeile" das \n steht fuer new line und anfuerhungsstriche werden als "\"" dargestellt \" was ist wenn man das \ darstellen will, man nimmt "\\" also, all das ist eine zeichenkette "abc" "hallo welt" "sehr nett" "ein text 123" "sonderzeichen $%;;;!>< aber auch zahlen sind text 1263172712" "mama schreibt ein buch" "ich mama schreibe ein buch\n\nnaechstes kapitel: ich beginne einen absatz" "ich mama schreibe ein buch\nnaechstes kapitel: ich beginne einen absatz" "erste zeile\nzweite zeile" "\"" "\\" wie ich sagte, handelt es sich nicht um einen text, sondern in der informatik um eine zeichenkette, was meist das gleiche ist. unter umstaenden gibt es text, etwa in mysql aber trivialerweise ist ein text eine zeichenkette zeichenkette, englisch, string also zeichenkette und string sind gleichbedeutend doch was ist ein zeichen wir muessen uns merken: zeichenkette: string zeichen: character mit dem begriff character im englischen kann man sich am anfang manchmal schwer tun also ein character ist keine figur im roman, sondern ein zeichen. eine zeichenkette sind viele character hintereinander, also das was du unter einem text verstehen wuerdest, unter einem buch doch was sind diese character fassen wir mal zusammen was wir unter character verstehen wenn du ein buch schreibst denkst du zunaechst an buchstaben "abcdefghijklmnopqrstuvwxyz" doch auch die grossen gehoeren dazu, sie sind nicht gleich "ABCDEFGHIJKLMNOPQRSTUVWXZY" damit haben wir "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXZY" aber auch die ziffern gehoeren dazu "0123456789" damit haben wir: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXZY0123456789" aber auch die sonderzeichen, zumindest einige: "*(^%@#$:)" "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXZY0123456789*(^%@#$:)" was ist wenn wir sagen wollen die zeichen von a bis z wenn klar ist was wir meinen schreiben wir a..z abcdefghijklmnopqrstuvwxyz oder 0..9 fuer "012345678" das einzelne zeichen ist ein character character wird oft als char bezeichnet gemeint ist nicht der stuhl, es steht fuer character zeichen diese zeichen sind unter dem ASCII Codo American Standard Code of Information Interchange zusammengefasst ASCII Code Wie kann denn so ein Code aussehen. nun im Computer gibt es nur zahlen, genauer von 0 bis 255 das sind 256 worte das entspricht der einheit ein byte was ist ein byte ein byte ist ein platz um werte von 0 .. 255 zu speichern. das ist der ASCII Codo, dieser uebernimmt die Aufgabe, dass jedes der zahlen 0, 1, 2, 3, 4, ..., 252, 253, 254, 255 ein darstellbares zeichen zugeordnet wird doch was ist wenn der computer mit mehr als zahlen von 0..255 rechnet dann nimmt er zwei byte 1. Byte, 2. Byte macht gleich groessere zahlen 256*256 oder 1. Byte, 2. Byte. 3. Byte, 4. Byte 256*256*256*256 aber wie geht die kodierung wir haben die zeichen abcdefg... in unserem alphabet haben sie eine reihenfolge a, b, c, ... d, e, f, g, .... das heisst, ich kann sie nummerieren a: 0 b: 1 c: 2 d: 3 e: 4 f: 5 ... z: 25 und wenn ich alle zusammennehme auch grossbuchstaben a: 0 b: 1 c: 2 d: 3 e: 4 f: 5 ... z: 25 A: 26 B: 27 C: 28 ... Z: 51 ... gut, was gibt es ausser text noch normale zahlen "0123" meinst du, sind welche. nein das sind zunaechst zeichen aber jedes zeichen ist 0..255 gut, ich kann 0..255 anders interpretieren. es sind 0..255 werte, das koennen 256 zahlen sein dazu kommen, 256*256 sagte ich. gut also zeichen 'a', 'b', 'c' ... zeichenketten "abc" ... zahlen 0, 1, 2, 3, 4, 5, ..., 255, 256, ... 127612 wie verschluessele ich einen text wenn 'a' der 0 entspricht 'b' der 1 ... ueblicherweise 0 + 1 = 1 das ist die einfachste form einer verschluesselung aus: "abcdefg" wird "bcdfgh" bei dem passwort 1. passwort und schluessel werden oft synonym benutzt doch das passwort kann 2 sein "cdefghi" oder 5 "fghijkl" und demnach laesst sich ein text "einText" verschluesseln "gkpVgzv" mit dem passwort 2. das ist aber extrem einfach zu entschluesseln weil 2 als passwort laesst sich einfach herausfinden. ich muss nur 26 mal probieren, bei 26 moeglichen zeichen, um die nachricht zu knacken doch seltsam "halloleute" mit 1 verschluesselt "ibmmpmfvsf" das m taucht jetzt 3 mal auf, das e 2x seltsam. das ist wie in "halloleute" das 'l' dreifach auftaucht das 'e' 2fach hier spielt die sprache einen streich das 'e' ist im deutschen der haeufigsten buchstabe taucht aber nicht oft doppelt hintereinander auf 'z' taucht eher nie hintereinander auf, ein paar mal vielleicht, aber 'l' jetzt kann ich die nachricht erraten. es gibt so und so vieles auftauchen des zeichens e im deutschen, soll heissen im schnitt sind 17,40% laut google ki, das zeichen 'e', waehrend das 'x' 0.03% mal auftaucht habe ich einen text, der laenger als paar wenige zeichen ist, kann ich daraus erraten, indem ich die zeichen zaehle die gleich sind, taucht ein zeichen 17,40% oft auf, oder es schwankt um den wert 17,40% zum beispiel koennten es sagen wir sehr kurzer text, 15,2% auftauchen, ein anderes 0.001% oder 0% waehre es meoglich, das mit 15,2% ist eher ein e, und das mit 0.001% eher ein x doch so eindeutig ist es nicht, wenn jemand "mhadlajsldhjsdladsalsajl" ubertraegt die aussagen mit dem wahrscheinlichkeit, dem prozentualen auftauchen eines zeichens in einer sprache laesst sich nur dann zunaechst verwenden, wenn ich weiss, der text ist auf deutscher sprache, englisch oder welcher menschlichen sprache auch immer, die bekannt ist und typische verteilungen aufweist wer "ayudadasdalsd" uebertraegt muss sich nicht wundern, wenn es trotz der verschluesselung mit dem passwort 1 so zunaechst nie geknackt wird anders problem wer "xqsena" uebertraegt kann es genauso gut als "yrtfmb" oder "zsugpc" uebertragen kurz, das ergebnis ist nicht erkennbar. also das ziel. ist es aber nicht erkennbar kann das bedeuten, dass die quelle ebenso nicht erkennbar ist. weil "zsugpc" kann entschluesselt ebenso gut "yrtfmb" sein wie "xqsena" was noch einen gewissen sinn ergeben mag, trotzdem, wirklich klar, ist bei chaos nicht mehr, was gemeint ist. gut, deswegen gibt es einen trick, der geht auf caesar zurueck anstatt den text, mit den passwoertern schluesseln 1 2 3 4 ... zu verschluesseln nehmen wir ein passwort das wechselt 1234 das erste zeichen + 1 das zweite zeichen + 2 das dritte zeichen + 3 das vierte zeichen + 4 das fuenfte zeichen + 1 und wieder von vorne "aaaaaaaaaaaaaaaaaaaaa" zu verschluesseln wird zu etwas wieder "bcdebcdebcde" ... und "halloWelt" in der realitaet schon so viel komplizierter, dass ich jetzt keine lust habe das zu tun aber dabei gibt es passwoerter "7623617231" und was auch immer damit ist der beginn der verschluesselung gefunden aber wir muessen wissen wir haben 1.) eine nachricht in klartext 2.) wir verschluesseln sie, mit einem passwort 3.) wir haben eine verschlueselte nachricht 4.) wir entschluesseln sie mit einem passwort 5.) wir haben eine entschluesselte nachricht, gleich dem klartext problem, wir brauchen einen algorithmus was ist das: englisch what is this oder what is that man sagt, easy fuer das ist nicht schwer, umgangssprache, naemlich wir nehmen das erste zeichen addieren eine 1 wir nehmen das zweite zeichen addieren eine 1 wir nehmen das dritte zeichen addieren eine 1 usw wenn wir die erste methode vor caesar bevorzugen und das war die funktion zur verschluesselung entschluesseln heisst, wir nehmen das erste zeichen im entschluesselten text, subtrahieren eine 1 usw ebens bei dem passwort, 1532 und dem caesar chiffre wir nehmen das erste zeichen und addieren 1 das zweite und 5 usw. passwort zu ende, das passwort im text wieder da von vorne benutzen wo im text stehen geblieben sind zur verschluesselung, entschluesselung mit minus umdrehen minus: heisst subtraktion und plus: addition sie sind zu eineander inverse rechenoperationen so, das war es fuer heute zunaechst, Dein David David Vajda |