Vortrag: Prüfzeichencodierung. Michael Gläser

Ähnliche Dokumente
Pädagogische Hochschule Karlsruhe

EDI. Electronic Data Interchange (Elektronischer Datenaustausch) H. Werntges, FB Informatik, FH Wiesbaden 1. Exkurse

Arbeitsblatt I. 5. Welche Arten von Fehlern könnten bei der Eingabe noch auftreten?

Verschlüsselungs- und Codierungstheorie PD Dr. Thomas Timmermann Westfälische Wilhelms-Universität Münster Sommersemester 2017

Ι. Einführung in die Codierungstheorie

Kap. III Fehlererkennende und fehlerkorrigierende Codes

Didaktische Grundlagen Arithmetik - Vertiefung Übungen 3

Frohe Feiertage und ein erfolgreiches Neues Jahr!

Kapitel 5. Kapitel 5 Fehlererkennende Codes

Einführung in die Codierungstheorie

WAS HEISST MODULO? MODULO. Zahlentheorie und Codierung

13. Algorithmus der Woche Fehlererkennende Codes Was ist eigentlich ISBN?

Algebraische Grundlagen der Informatik

Kapitel 6: Das quadratische Reziprozitätsgesetz

Einführung in die Codierungstheorie

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/18

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

Einführung in die. Kryptographie WS 2016/ Lösungsblatt

Codierungstheorie Teil 1: Fehlererkennung und -behebung

Modul Diskrete Mathematik WiSe 2011/12

6-1 Elementare Zahlentheorie Zahlen, die sich als Summe zweier Quadrate schreiben lassen.

Der kleine Satz von Fermat

Formale Grundlagen 2008W. Vorlesung im 2008S Institut für Algebra Johannes Kepler Universität Linz

1 Körper. Wir definieren nun, was wir unter einem Körper verstehen, und sehen dann, dass es noch andere, ganz kleine Körper gibt:

Von Strichcode bis ASCII Codierungstheorie in der Sekundarstufe I

Inhalt s Verzeichnis. Einleitung 1

1 Zahlentheorie. 1.1 Kongruenzen

Ganzzahlige Division mit Rest

1 Vorbereitung: Potenzen 2. 2 Einstieg und typische Probleme 3

Seminar zum Thema Kryptographie

2.7 Der Shannon-Fano-Elias Code

1.Vortrag: Rechnen mit Restklassen/modulo einer Zahl

Pädagogische Hochschule Schwäbisch Gmünd

6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N. 6.1 von wörtern zu zahlen und zurück Dezimaldarstellung von Zahlen Num 10

Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp

33 D Codes und Prüfziffern. Impuls 1. a b c d e f g h i j. k l m n o p q r s t. u v w x y z ss st au eu. ei äu ä ö ü ie ch sch , ; :.?!

Form der Äquivalenzklassen

6. Woche: Lineare Codes, Syndrom, Gilbert-Varshamov Schranke. 6. Woche: Lineare Codes, Syndrom, Gilbert-Varshamov Schranke 107/ 238

Aufgabensammlung Theo Inf I 1

PRÜFUNG AUS ALGEBRA UND DISKRETE MATHEMATIK F. INF. U. WINF.

Die Ringe Z n. Invertierbare Elemente ( Einheiten ) für n > 0 wird auf Z n = {0, 1, 2,..., n 1} definiert: n : Z n Z n Z n : (a, b) (a b) mod n

Erweiterter Euklidischer Algorithmus

5. Äquivalenzrelationen

Error detection and correction

Grundlagen der Arithmetik und Zahlentheorie

TECHNISCHE UNIVERSITÄT MÜNCHEN

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/18

Lösungen der Aufgaben

Seminararbeit zur Zahlentheorie. Die Gaußschen Zahlen

Permutationen und symmetrische Gruppe

Fehlererkennende und fehlerkorrigierende Codes

Zyklische Codes Rechnernetze Übung SS2010

8.2 Invertierbare Matrizen

f(x) = x f 1 (x) = x. Aufgabe 2. Welche der folgenden Funktionen sind injektiv, surjektiv, bijektiv?

Kapitel 3: Die Sätze von Euler, Fermat und Wilson. 8 Der Satz von Euler

3. Diskrete Mathematik

Schubfachprinzip. Lea Jacobs. November 9, 2015

Wiederholungsblatt zur Gruppentheorie

Ringe. Kapitel Einheiten

Determinanten. I. Permutationen

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 4: Zahlentheorie

Definition 1 Sei π ein Element aus der symmetrischen Gruppe S n der Permutationen aller natürlichen Zahlen von 1 bis n.

Übungen zur Vorlesung Grundlagen der Rechnernetze. Zusätzliche Übungen

Verlauf Material LEK Glossar Lösungen. EAN, ISBN und andere Prüfziffern und Prüfverfahren kennenlernen. Klaus Wolthaus, Dülmen VORSCHAU

Determinanten. I. Permutationen

Kanonische Primfaktorzerlegung

Isomorphie von Bäumen

Codierung. Codierung. EAN Europäische Artikelnummer Ziffern 1 und 2 codieren das Hersteller-Land. Ziffer 2 bis 12 codieren Händler und Ware

PO Mathematik 1 für Informatiker Vorlesung von Ao. Univ. Prof. Dr. Günther Karigl

Permutation = Anordnung aller Elemente einer Menge, Kombination = Auswahl von einigen aus vielen Elementen, Variation = Auswahl und Anordnung.

Diskrete Mathematik. Christina Kohl Georg Moser Oleksandra Panasiuk Christian Sternagel Vincent van Oostrom

Elementare Zahlentheorie

Waben-Sudoku. Günter Aumann und Klaus Spitzmüller. Sudoku ist in. Oder ist es schon wieder langweilig? Es gibt Alternativen.

5-1 Elementare Zahlentheorie

Die Fakultät. Thomas Peters Thomas Mathe-Seiten 13. September 2003

6 Permutationen. Beispiele: a) f : R R, f(x) = x 2. b) f : R R, f(x) = e x. c) f : R 2 R, x (Projektion auf die x Achse) y

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018

Kanonische Primfaktorzerlegung

5 Sortieren in eindimensionalen Zellularautomaten

47. Österreichische Mathematik-Olympiade Gebietswettbewerb für Fortgeschrittene Lösungen

3. Lösungsblatt

$Id: ring.tex,v /05/03 15:13:26 hk Exp $

THIA - Übungsblatt 2.

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16

Determinanten. Motivation: Man betrachte das lineare Gleichungssystem =. (1) y = Sei o.b.d.a a 0 und c 0. Dann ist (1) äquivalent zu. = ac ad y.

Lineare Algebra I 5. Tutorium Die Restklassenringe /n

Trellis Diagramme und Viterbi-Decoder

2. Tutorium Digitaltechnik und Entwurfsverfahren

Barcode-Informationen

Transkript:

Vortrag: Prüfzeichencodierung Michael Gläser

Prüfzeichencodierung (Inhalt): 1. Definition und allgemeine Eigenschaften 2. Prüfziffercodierung 3. ISBN-Codierung 4. EAN-Codierung

1. Definition und allgemeine Eigenschaften - Erkennung von Fehlern bei der Eingabe - keine automatische Korrektur, sondern erneute Eingabe - Beispiele solcher Codierungen: ISBN-Nr., EAN-Nr., Banknotenkennzeichnung, Kartennr. - Spezialfall der Prüfzeichencodierung: Prüfzifferncodierung Warum Prüfzeichencodierung? Dies hängt mit der Art und Häufigkeit der Eingabefehler zusammen. Fehlerklassifikation nach Verhoeff: Fehlertyp Typ Häufigkeit Einzelfehler a b 79 % Nachbartransposition (Zahlendreher) ab ba 10,2 % Sprungtransposition abc cba 0,8 % Zwillingsfehler aa bb 0,6 % phonetische Fehler (dreißig statt dreizehn) a0 1a 0,5 % Sprung-Zwillingsfehler aca bcb 0,3 % Rest 8,6 % Definition: Sei A ein Alphabet und G = (A, *) eine Gruppe über A. Eine Prüfzeichencodierung P G = (π 1,..., π n ; c) über G ist gegeben durch n Permutationen π 1,..., π n von A sowie der Kontrollgleichung n π 1 (x 1 ) *... * π n (x n ) = π i (x i ) = c i = 1 die für alle x 1,..., x n G erfüllt ist. Aus der Kontrollgleichung sind verschiedene Folgerungen erkennbar. Sei eine Prüfzeichencodierung P G = (π 1,..., π n ; c) über der Gruppe G = (A, *) gegeben. Dann gilt: a) jede Menge {x 1,..., x n } {x i } A bestimmt eindeutig x i, 1 i n b) P G erkennt alle Einzelfehler c) P G erkennt eine Nachbartransposition, falls x * π i+1 (π i -1 (y)) y * π i+1 (π i -1 (x)) für alle x, y G, x y, und für alle i gilt d) P G erkennt eine Sprungtransposition, falls x * y * π i+2 (π i -1 (z)) z * y * π i+2 (π i -1 (x)) für alle x, y, z G, x z, und für alle i gilt e) P G erkennt einen Zwillingsfehler, falls x * π i+1 (π i -1 (x)) y * π i+1 (π i -1 (y)) für alle x, y G, x y, und für alle i gilt

2. Prüfziffercodierung in additiven Restklassen - Spezialfall der Prüfzeichencodierung Festlegung: 1. Gruppe G = Z m, d. h. die additive Restklassengruppe modulo m mit den Elementen A = {0, 1, 2,..., m-1} 2. n Zahlen (Gewichte) w 1,..., w n mit ggt(w i, m) = 1 Dann ist jede Abbildung π i : A A, 1 i n definiert durch π i (x) = w i x eine Permutation von A 3. c = 0 als Prüfziffer und w n = 1 oder w n = -1 daraus und aus der Kontrollgleichung aus der Definition folgt w 1 x 1 +... + w n-1 x n-1 ± x n = 0 oder x n = ± w i x i modulo m, da Z m i=1 n-1 Beispiele für Prüfziffercodierungen sind die ISBN-Nr. und die EAN-Nr.

3. ISBN-Codierung ISBN-Nr. 3 528 03147 6 Land Verlag Buchnr. Prüfziffer modulo 11 in diesem Beispiel: c = 1*3 + 2*5 + 3*2 + 4*8 + 5*0 + 6*3 + 7*1 + 8*4 + 9*7 c = 171 modulo 11 c = 6 korrekt! 2. Beispiel: 0 7167 1079 X c = 219 modulo 11 c = 10 zweistellige Zahlen sind nicht vorgesehen, man schreibt dafür ein X ISBN ist demzufolge eine Prüfzifferncodierung über Z 11 mit n = 10 w i = i, 1 i 9, w 10 = 1 Die ISBN-Nr. x = x 1,..., x 10 ist genau dann korrekt, wenn xh T = 0 gilt H T = Kontrollmatrix, dazu muss ISBN-Nr. als Linearcode über Z 11 betrachtet werden: H = (1 2 3 4 5 6 7 8 9) Um Einzelfehler entdecken zu können erweitern wir die Kontrollmatrix zu H = (1 2 3 4 5 6 7 8 9) (1 1 1 1 1 1 1 1 1) Dazu sei x = x 1,..., x 10 und xh T = S 1 S 2 S 1 = ix i 10 10 S 2 = x i i=1 i=1 x ist eine korrekte ISBN-Nr., wenn S 1 = 0 und S 2 = 0 Beispiel: 0206241909 S 1 = 231 modulo 11 S 2 = 33 modulo 11 S 1 = 0 S 2 = 0 Fehlererkennung: Annahme: Fehler bei Ziffer i y i = x i + e, e 0 für ein i 1 i 10 S 1 = x 1 + 2x 2 +... + iy i + + 10x 10 S 1 = x 1 + 2x 2 +... + i(x i + e) + + 10x 10 S 1 = x 1 + 2x 2 +... + ix i + ie + + 10x 10 S 1 = x 1 + 2x 2 +... + 10x 10 + ie S 1 = 0 + ie S 1 = ie = 0 S 2 = x 1 + x 2 +... + y i + + x 10 S 2 = x 1 + x 2 +... + (x i + e) + + x 10 S 2 = x 1 + x 2 +... + x i + + x 10 + e = 0 S 2 = 0 + e S 2 = e

S 1 = ie S 2 = e S 1 = i S 2 i = S 1 S 2-1 falls S 1 0 und S 2 0 ist, kann i eindeutig bestimmt werden (da wir uns in Z 11 in einem Primkörper befinden); daraus folgt: y i = x i + e = x i + S 2 x i = y i S 2 Berechnung eines Fehlers in einem ISBN-Code: x = x 1,..., x 10 eingegeben y = y 1,..., y 10 gelesen 1. Berechne yh T = S 1 S 2 2. Ist S 1 = 0 und S 2 = 0, dann kann man die Korrektheit des ISBN-Codes annehmen 3. Ist S 1 0 und S 2 0, dann berechne i = S 1 S 2-1 und decodiere x = y 1... y i -S 2... y 10 4. Ist entweder S 1 = 0 oder S 2 = 0, dann liegen mindestens zwei Fehler vor, eine Decodierung ist dann nicht mehr möglich Beispiel: 0206211909 S 1 = 213 modulo 11 S 1 = 4 S 2-1 = 8-1 = 7 -S 2 = -8 = 3 S 2 = 30 modulo 11 S 2 = 8 i = S 1 S 2-1 = 4*7 = 6 x 6 = y 6 -S 2 = 1+3 = 4 0206211909 0206241909

4. EAN-Codierung Europäische Artikel-Nummer (Strichcode) - besteht aus 13 Ziffern - erste Ziffer steht für das Ursprungsland - letzte Ziffer ist die Prüfziffer Berechnung der Prüfziffer: x 13 = -(1x 1 + 3x 2 + 1x 3 + 3x 4 + + 1x 11 + 3x 12 ) modulo 10 m = 10, n = 13 w i = { 1 i ungerade 1 i n { 3 i gerade Eine Ziffernfolge x = x 1,..., x 13 ist eine korrekte EAN-Nummer, wenn die Gleichung 10 S(x) = w i x i = 0 i=1 Beispiel: 7610103173872 erfüllt ist. S = 7*1 + 6*3 + 1*1 + 0*3 + 1*1 + 0*3 + 3*1 + 1*3 + 7*1 + 3*3 + 8*1 + 7*3 + 2*1 S = 80 modulo 10 S = 0 Nummer ist korrekt! Für den EAN-Code gilt: 1.) Jeder Einzelfehler wird erkannt: sei x = x 1,..., x 13 korrekt und y = x 1,... x j + e... x 13 0 < e 9 für ein j 1 j 13 für ein ungerades j gilt: S(y) = S(x) + e S(x) da e > 0 Fehler erkannt Für ein ungerades j gilt: S(y) = S(x) + 3e GgT(3, 10) = 1 daraus folgt eine Permutation 3e für die Folge <0 9> <0, 3, 6, 9, 2, 5, 8, 1, 4, 7> Da in der Permutation alle Elemente verschieden sind, werden auch hier alle Einzelfehler erkannt. 2.) Nicht alle Nachbartranspositionen werden erkannt z. B. sind 0 und 5 benachbart, gilt nach Berechnungsvorschrift: 1*0 + 3*5 = 5 1*5 + 3*0 = 5 Ihre Vertauschung bleibt in der Kontrollsumme S unbemerkt, da sie in jeder Reihenfolge denselben Beitrag zur Summe liefern.

Bestimmung weiterer Ziffernpaare deren Transposition nicht erkannt wird: setzen a = x i und b = x i + 1 suchen a und b, so dass 1a + 3b = 3a + 1b 2a = 2b 2 ist in Z 10 allerdings nicht invertierbar. Wir suchen nun ein c mit a = b + c, so dass 2a = 2b ist: 2(b + c) = 2b 2b + 2c = 2b 2c muss 0 sein, um die Gleichung zu erfüllen c = 5 Die gesuchten Paare sind die, für die a = b + 5 gilt: (0, 5), (1, 6), (2, 7), (3, 8), (4, 9), sowie deren Umkehrungen Das sind etwa 11% von allen verschiedenen Paaren

Literaturverzeichnis: K.-U. Witt: Grundlagen der Informatik. Zahlen, Strukturen, Codierung, Verschlüsselung.