Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar...

24
Sükün_Karatas 3aFD 1 Grundlagen der Codes

Transcript of Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar...

Page 1: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 1

Grundlagen der Codes

Page 2: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 2

Geschichte der Codes

• Julius Cäsar• 14. Jh. Verwendung Codes• 19. Jh. Chiffren• Hollerith-Lochkarten• EBCDIC• BCDIC-Code• Public-key-kryptographie

Page 3: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 3

ASCII-Aufbau

• Zeichen 0 bis 31 (1Fh):Steuerzeichen, wie z. B. Tabulatoren, Zeilen- und Seitenvorschub • Zeichen 48 (30h) bis 57 (39h): Ziffern 0 bis 9 • Zeichen 65 (41h) bis 90 (5Ah): Großbuchstaben A bis Z• Zeichen 97 (61h) bis 122 (7Ah): Kleinbuchstaben a bis z

• Sonderzeichen fehlen

• Klammer, Dollarzeichen, usw. verteilen in Zwischenräumen

Page 4: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 4

ASCII-Aufbau

• IBM erweitert ASCII-Code 8 bit• 128 Zeichen darstellbar• MS-DOS 3.3 ==> Code Pages • Zeichen von 128 bis 255• Problem:

– japanische od. chinesische Zeichen– E-Mails + Umlaute

Page 5: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 5

Unicode - Geschichte

• Unicode Consortium• Unicode-Standard 1991• V 1.1_1993• V 2.0_1996• V 3.0_2000

Page 6: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 6

Unicode

• Zeichensatz mit allen bekannten Zeichen• Normiert als ISO 10646• Ursprünglich 16-Bit pro Zeichen, jetzt 32-Bit• Unicode 4.0 umfasst 96.382 Zeichen• Schreibweise: hexadezimal mit vorangestelltem „U+“• -y = U+ 0079, ö = U+ 00E4; € = U+ 20 AC• Codierungen: UTF-8; UT 6 -16; UTF -32

Page 7: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 7

Unicode - UTF 8

• 8 Bit Unicode Transformation Format• Codierungsvorschrift für Unicode• Ein Zeichen wird mit 1 bis 4 Bytes codiert.• Kann bis zu 70 Mrd. Zeichen codieren• Alle Zeichen des ASCII-Codes werden unverändert

übernommen.• Alle Zeichen über 127 benötigen mehr als ein Byte zur

Codierung

Page 8: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 8

Huffman-Code

• meistverwendete Algorithmus• kodiert die Zeichen eines Textes• Huffman – Coding – Trees• Verwendung ==> Grafikverarbeitung• JPEG, MPEG, LHA

Page 9: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 9

Huffman-Code - Aufbau

Ausgangssituation des Huffman-Algorithmus

Page 10: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 10

Huffman-Code - Aufbau

Page 11: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 11

Huffman-Code - Aufbau

Page 12: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 12

Huffman-Code - Aufbau

• Nachteile– Umsetzung erfordert umständliche

Bitoperationen– Optimalität der Kompression

Page 13: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 13

Hamming - Code

• Richard Hamming• Linearer Fehlerkorrigierender Blockcode• Verwendung in NT und gesicherte

Datenübertragung und Datenspeicherung• Fehlererkennung + Fehlerkorrektur der

übertragenen Datenbits

Page 14: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 14

Hamming-Code - Geschichte

• 1940er Jahren• Richard Hamming + Firma Bell Labs• 1950: Hamming Code• Anwendung im Bereich der Kanalcodierung

Page 15: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 15

Hamming-Code - Aufbau

n = 2k − k − 1

n… Datenblock umfasst n Bitsk… fixe KontrollstellenN… Codewortlänge

Page 16: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 16

Hamming - Code - Aufbau

Page 17: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 17

Fehlererkennung & Fehlerkorrektur

• Mögliche Fehlerursachen

– Rauschen

– Kurzzeitstörungen

– Signalverformung

• Fehlererkennung

• Fehlerkorrektur

– Vorwärts

Fehlerkorrektur (FEC)

– Anforderung auf

Wiederholung der

Übertragung

Page 18: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 18

Mögliche Fehlerursachen

• Rauschen– Bitfehler– Unabhängig von der Ursache

• Signalverformung– Dämpfung und Phasengang eines Übertragunsgkanal

• Nebensprechen– Kapazitive Kopplung

Page 19: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 19

Fehlererkennung

• Parität• ECC• Hashs

Page 20: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 20

Fehlererkennung _ Parität

• Paritätsbit

• bietet keinen hohen Schutz

• even oder odd Parity

Man zählt alle 1er ==> 0001 1 ==> 1+1=2 gerade/even

==> 0011 1 ==> 1+1+1=3 ungerade/odd

Daten Even odd

0000 0 1

0001 1 0

1101 1 0

0011 0 1

1111 0 1

Page 21: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 21

CRC _ Cyclic Redundancy Check • zyklische Redudanzprüfung• Verfahren aus der IT• Vergleich der Prüfwerte• Festplatten-Übertragungen geprüft• Schreib/Leseoperationen geprüft

Page 22: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 22

Hashs

• Komprimierung von Daten• Eingabe: beliebige Länge• Ausgabe: feste Länge• SHA-1• Hash-Wert ==> digitaler Fingerabdruck• Anwendung: Datenbank, herunterladen einer

Datei

Page 23: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 23

Quellen

• http://www-fs.informatik.uni-tuebingen.de/lehre/ss05/proseminar/Folien/Codes.pdf

• http://de.wikipedia.org/wiki/ASCII#Geschichte • http://de.wikibooks.org/wiki/

Assembler_(80x86_Prozessor)-Programmierung:_Grundlagen

• http://www.iti.fh-flensburg.de/lang/algorithmen/code.htm• http://de.wikipedia.org/wiki/Cyclic_Redundancy_Check

Page 24: Sükün_Karatas3aFD1 Grundlagen der Codes. Sükün_Karatas3aFD2 Geschichte der Codes Julius Cäsar 14. Jh. Verwendung Codes 19. Jh. Chiffren Hollerith-Lochkarten.

Sükün_Karatas 3aFD 24

Danke für eure Aufmerksamkeit