Do 8. Mai 11:10:43 CEST 2025 - mamainfomail20250508001 txt


 
(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