(C) David Vajda
20250315
Digitaltechnik - Basics
TTL - Transistor Transistor Logic - Bipolor
CMOS - Complementary Metal Oxid Semiconductor field effect transistor - Unipolar Transistor
Bipolor Transistor
PNP
NPN
Collector: C
Basis: B
Emitter: E
Arbeitsstromkreis
Steuerstromkreis
Arbeitsstromkreis: Collector - Emitter
Steuerstromkreis: Basis - Emitter
Feld Effekt Transistor - Unipolor
Source - S
Drain - D
Gate - G
CMOS: Unipolor
74Cxx: CMOS
74HCxx: CMOS
74AHCxx: CMOS
74HCT.. TTL Kompatibel
74S
74AS
74ALS
74LS
...
Bipolar
Logik
AND
OR
NOT
Natuerliche Zahlen: 1... unendlich
Rationale Zahlen: Mit Bruch
Boolesche Algebra: {wahr,falsch}
Schaltalgebra: {0,1}
Variablen
Eingangsvariablen: xn, ..., x4, x3, x2, x1, x0
Eingangsvariablen: a, b, c, ...
Eingangsvariablen: A, B, C, ...
Ausgangsvariable: y
Ausgangsvariable: C
UND/logisch
A B C
0 0 0
0 1 0
1 0 0
1 1 1
ODER/logisch
A B C
0 0 0
0 1 1
1 0 1
1 1 1
NOT/logisch
A B
0 1
1 0
Schaltalgebra: 5V gleichstrom
TTL-Gatter
NOT: 7404
AND: 7408
OR: 7432
TTL-Gatter:
7404, 7408, 7432
7 Pins Westen
7 Pins Osten
Eingangsvariable:
0 (0 Volt)
1 (5 Volt)
Ausgangsvariable
0 (0 Volt)
1 (5 Volts)
Daneben Versorgungsspannung
Spannung
von + Pol
nach - Pol
+ entspricht: VCC
- entspricht: GND
Alternativen: VCC, VDD, VEE, AVCC, VPP, VSS
VSS: GND
VPP: Programmierspannung
Eingangsvariable/Ausgangsvariable
0 - (0 Volt) entspricht Pegel GND
1 - (5 Volt) entspricht Pegel VCC
Versorgungsspannung, zusaetzlich, zu Variable
VCC: 5 Volt
GND: 0 Volt
VCC: 5 Volt: rotes kabel
GND: 0 Volt: schwarzes kabel
Pin 1: A
Pin 2: B
Pin 3: C
Pin 7: GND
Pin 14: VCC
Zaehlweise IC - Osten: 1, 2, 3, 4, 5, 6, 7, von norden nach sueden
Westen: 8, 9, 10, 11, 12, 13, 14, von sueden nach norden/
14, 13, 12, 11, 10, 9, 8 von norden nach sueden
7404/7408/7432: NOT, AND, OR: AND, OR: 2 Eingaenge, 1 Ausgang UND/ODER Gatter
4 OR, 4 AND, 7404: 6 NOT
OR/AND: A, B, C
NOT: A, B
OR/AND: A, B, C
A, B: Eingang
C: Ausgang
NOT: A, B
A: Eingang
B: Ausgang
A1, B1, C1
A2, B2, C2
A3, B3, C3
A4, B4, C4
DNF:
NOT/NOT NOT
AND
OR
Weitere IC's
ROM
PROM
EPROM
EEPROM
Speicherbausteine - matrixfoermig, nicht fluechtige datenspeicher
Programmierbare Logikbausteine
PAL
PLA
GAL
Enthalten ausdruecke: Programmiersprache: ABEL
Spaeter: VHDL - FPGA
Pins
A0 .. A15/A0 .. A7
D0 .. D15/D0 .. D7
CE - Chip Enable
OE - Output Enable
WE - Write Enable
VCC
GND
NC - Not Connected
VPP - Programmierspannung
84...
-- zweiter teil - verschluesselungsalgorithmus
(C) David Vajda
20250315
Algorithmus/verschluesselungsalgorithmus - Basics
Sortierte Folge von Zahlen: 2, 3, 4, 5, 6, 7, 8
Folge von Zahlen: 8, 2, 8, 4, 6, 3, 7, 4, 4, 3, 2, 7
Feld: Speicherbereich im Computer, der Folge von Zahlen enthaelt:
Algorithmus
Grundoperationen: Grundrechenarten: ADD, SUB, MUL, DIV,
+, -, *, \
Addieren, Subtrahieren, Multiplizieren, Dividieren
Vergleiche: <, =, >
<, <=, ==, >=, >, !=
kleiner, gleich, groesser
kleiner gleich, ... nicht gleich
Transfer:
<-
<=
:=
=
oder so
wiederholen von programmabschnitten
entscheiden welcher der folgendenden programmabschnitten, mittels vergleiche
vergleiche + sprung (programmabschnitt): bedingte verzweigung
wiederholung, schleife
bedingte ausfuehrung, if-then-else
-----> Operationen
Operanden: a, b, c, d, e, f, g ...
oder ax, bx, dx, cx, ...
oder r0, r1, r2, r3, ...
oder i, j, x, y, z
oder x0, x1, x2, x3, ...
Algorithmus:
Addiere zu jeder Zahl der folge jeweils einzeln eine 2:
(8, 2, 8, 4, 6, 3, 7, 4, 4, 3, 2, 7) ->
(10, 4, 10, 6, 8, 5, 9, 6, 6, 5, 4, 9)
Addiere zu jeder Zahl der folge jeweils einzeln eine 1:
(8, 2, 8, 4, 6, 3, 7, 4, 4, 3, 2, 7) ->
(9, 5, 9, 5, 7, 4, 8, 5, 5, 4, 3, 8)
Ueber eine wiederholung:
Jede zahl jeweils einzeln des Feldes, der Folge von vorne nach hinten
wiederhole solange bis am Ende des Feldes
Addiere zu jedem Element/jeder Zahl im Feld jeweils einzeln eine 2/1/wert
a
... wiederhole bis fertig
Sortieralgorithmus:
(8, 2, 8, 4, 6, 3, 7, 4, 4, 3, 2, 7) ->
(2, 2, 3, 3, 4, 4, 4, 6, 7, 8, 8)
Verschluesselungsalgorithmus
symmetrisch
assmmetrisch
Klartext
Verschluesselter Text
Klartext wird verschluesselt mit schluessel zum verschluesselten Text
zerschluesselter Text wird entschluesselt mit schluessel zum entschluesselten text
Moeglichkeiten:
Vertausche die Elemente einer Folge von zeichen (klartext) mittels eines schluessels in ihrer reihenfolge
(wird so weit ich weiss nicht oder selten angewendet)
Ersetze die Elemente einer Folge von Zeichen (klartext) durch jeweils andere Zeichen eines anderen Alphabets
Ersetze die Elemente (Zeichen) eines Klartextes durch Zeichen des gleichen Alphabets, aber indem sinne, dass eine
arithmetische Operation zwischen Schluessel und Klartext stattfindet
ersetze jeweils die gleichen zeichen des klartextes durch die gleichen zeichen oder durch unterschiedliche
Digitaltechnik: Kodierer: ordnet den zeichen eines zeichenvorrats die zeichen eines anderen zu: DIN 44300/181
Digitaltechnik: kodierer: Zeichenvorrat
Verschluesselung: Alphabet
Mathematik:
Permutation: Teilmenge der Natuerlichen zahlen: 1, 2, 3, 4, 5 (urbildmenge)
Zielmenge: 1->4, 2->5, 3->1, 4->2, 5->4, z.B.
Permutation: Ordnet derselben untermenge der natuerlichen zahlen jeweils ein Element der selben menge
zu in beliebiger reihenfolge - viele Permutationen
injektiv: ein Element der zielmenge wird ein mal getroffen, nicht zwei mal
surjektiv: jedes Element der Zielmenge wird ein Mal getoffen, es gibt keine luecken, keines wird ausgelassen
bijektiv: beides
kodierer - nicht unbedingt
1 kann zu 4 kodiert werden aber auch 2 zu 4: das ist nicht injektiv
symmetrisches kodierverfahren:
1. moeglichkeit: perfekte permutation - das heisst, jedes element - wert - buchstabe - zeichen wird auf ein anderes abgebildet
Text ABCD - wird zu BCDE durch addition von 1 zu zeichen
2. moeglichkeit: nicht injektiv: nicht statistisch einfach zu erraten
Schluessel 1234
Text: ABCD -> BDFH
assymetrisch - Trick der Mathematiker
1.) Informatik: Algorithmus kann jeder - jeder kann schleifen, sortieren
2.) Mathematik: Jeder kann Mathematik, aber keiner beweisen, nur: Mathematiker
Graphentheorie: jeder kann es sich denken und nur die wenigstens finden beweise
Assymetrisch: Algorithmus: paar Zahlen, ausserhalb des Schluessels, Schluessel, Klartext, wiederholungen, uebliche operationen, nicht sehr komplizier
Assymmetrisch:
PGP - Pretty good privacy - gpg - gnu pritty good privacy
klartext, verschluesselter text
schluessel: schluesselpaar: privat, oeffentlich
durch Operationen wird der klartext zum verschluesselten, sie sind verknuepft
schluessel sonst alleine
bei assymmetrisch: schluesselpaar, oeffentlich, privat, sind verbunden
sie muessen zusammen erzeugt werden
sender/empfaenger
klartext/geheime botschaft
privater schluessel/oeffentlicher schluessel (schluesselpaar)
sender/empfaenger
in dem falle: benutzen alle B den oeffentlichen schluessel der von A oeffentlich preis gegeben wird
A erzeugt oeffentlichen und privaten schluessel
Vorsicht: Tricky: nicht der Sender ist A und der Empfaenger B
Sondern der Empfaenger A und der Sender B
B veroeffentlicht oeffentlichen schluessel, mit dem der sender die nachricht an den empfaenger verschluesselt
empfaenger entschluesslt nachricht mit privaten, der zum oeffentlichen gehoert
privat, oeffentlich
empfaenger: privat oeffentlich, veroeffentlicht oeffentlichen an alle absender, entschluesselt mit privaten
absender: oeffentlich, verschluesselt seine zu sendende nachricht mit dem des empfaengers
assymetrisch: schluessel zum entschluesseln entspricht nicht schluessel zum verschluesseln:
ABCD -> BCDE - schluessel 1 - verschluesseln + 1, entschluesseln -1
der gleiche, der weg der hin fuehrt, fuehrt auch zurueck
assymetrisch verfahren:
IDEA 64 128 Alternative zum unsicheren DES-Algorithmus
3DES 64 56, 112, 168 Nachfolgeversion des DES-Algorithmus (auch Triple-DES genannt)
CAST5 64 128 In der Praxis wenig verbreitet
BLOWFISH 64 128 Von Sicherheitsguru Bruce Schneier entworfen
AES 128 128 Derzeit am weitesten verbreitet
AES192 192
AES256 256
TWOFISH 128 256 Nachfolgeversion von Blowfish
CAMELLIA128 128 128 Vergleichbar mit AES
CAMELLIA192 192
CAMELLIA256 256
Prüfsummen (Hashfunktionen)
SHA
|