Identitätstest: Kennung
|
|
- Margarethe Armbruster
- vor 6 Jahren
- Abrufe
Transkript
1 Identitätstest: Kennung (Ernst Erich Schnoor) Wer kennt das Problem nicht? Beim Surfen im Internet erwartet fast jeder Partner die Eingabe eines Passworts, bevor er die Nutzung seiner WEBseiten freischaltet. Das führt sehr schnell zu einer Vielzahl von Passwörtern, die sich dann nur noch in umfangreichen Listen oder Datenbanken speichern und verwalten lassen. Außerdem dürfen manche Passwörter eine bestimmte Länge etwa 12 bis 16 Zeichen nicht übersteigen. Bei heutiger Angriffstechnik sind die relativ kurzen Begriffe nicht mehr sicher. Um diesem Problem zu entkommen, bietet das hier vorgestellte Programm eine einfache Lösung. An Stelle eines Passworts dient eine individuelle Zeichenfolge mit bis zu 100 Zeichen als Identitätsmerkmal. Zum Beispiel: Der Bamberger Reiter hat seine Hufeisen verloren, Kaiser Friedrich Barbarossa hat kein Handy mehr, Die Schildbürger fegen den Teutoburger Wald, Im Steinhuder Meer schwimmen 267 Steinbeisser. Die Zeichenfolge als Kennung sollte ungewöhnlich sein und dennoch leicht zu behalten. Sie muss nicht aufgeschrieben werden und läßt sich auch wegen ihrer Länge nicht erraten. Sie sollte auch nicht gespeichert werden. Ein Angreifer kann auch nicht mit Erfolg versuchen, Teile der Sequenz getrennt oder nacheinander zu brechen, da die Zeichen nur in einem Durchgang als Ganzes gefunden werden könnten, wenn überhaupt. Die gleiche Kennung kann für alle auftretenden Fälle verwendet werden, wo bisher ein Passwort verlangt wurde und auf der Gegenseite nunmehr dasselbe Programm arbeitet. Generator Zur Datenbearbeitung wird der Generator des CypherMatrix Verfahrens [#1] eingesetzt. Als Beispiel die Kennung: Der Bamberger Reiter hat seine Hufeisen verloren (48 Zeichen). Als erste Stufe wird jedes Zeichen positionsgewichtet, indem sein Wert mit seiner Position p(i) innerhalb der Sequenz und der Zeit t multipliziert wird. Die Zeit ist nicht relevant, daher t = 1. n (a(i) + 1) * p(i) * t(i) t(i) = 1 i = 1 Zwar unterscheiden sich die Zeichen a(i), aber Kollisionen als Folge des Austauschs von Zeichen innerhalb der Kennung sind noch nicht ausgeschlossen. Zur Vermeidung von Kollisionen wird die Trennkonstante C(k) eingeführt.
2 Sie bestimmt sich allein aus der Länge der Sequenz (n = 48): C(k) = n * (n-2) + code (code = 1) Für die Kennung Der Bamberger Reiter hat seine Hufeisen verloren ergibt sich die Trennkonstante C(k) = 2209 Unter Einbindung von C(k) wird der Zwischenwert H(p) wie folgt errechnet: n H(p) = (a(i)+1) * (C(k) + p(i)) i = 1 H(p) = Zur Ermittlung der Bestimmungsfaktoren wird eine zusätzliche Hashfunktions folge eingeführt, die die Eingangsdaten zu einer umfangreichen Folge in einem höherwertigen Zahlensystem (Basis 77) expandiert (Ex). Gleichzeitig ermittelt das Verfahren die Summe aller Ergebnisse als zusätzlichen Bestimmungswert H(k): n H(k) = ((a(i)+1) * H(p) * p(i)) + p(i) + r(j) i = 1 Hashfunktionsfolge: H(k) = kbmrhxhxlä1nuaapcfrzd1känδq2hquaδ2γögr930jcws3b2ξmf4rxγjb4q21oü4ntlts5pd tu91vüδlg4tdvπt6edbξk6übeoi7πγgxd7qäbux8tgöcθ2mquwn8wao4o8g9msξanöλj039ü 6öYbxLoBEay8üöGbjKc3PcfükΛtbKzGnT3öRMI08ä5f6WeWΞΠIKdlDÖÖ5dFsNrPeAfqBSgle2kÄe RTmYÜgvΠü0x50vΘKÜiCIljVgißd2uiVß9BBieqhudj8IΞgqk4IJΞ9idWk6qkfPΔßQQßΔPfkq6kWdi9 ΞJI4kqgΞI8jduhqeiBB9ßViu2dßigVjlICiÜKΘv05x0üΠvgÜYmTReÄk2elgSBqfAePrNsFd5ÖÖDldKI ΠΞWeW6f5ä80IMRö3TnGzKbtΛküfcP3cKjbGöü8yaEBoLxbYö6ü930jΛöNaΞsM9G8o4OAW8nwu qm2θcögt8xubäq7dxgγπ7ioebü6kξbde6tπvdt4glδüv19utdp5stltn4üo12q4bjγxr4fmξ2 B3SWcj039rGÖΓ2ΔaUQh2qΔNÄk1DzRFCPAAUn1ÄLxHXHRmbk Die vorstehende Folge sind Ziffern im Zahlensystem zur Basis 77. Es gibt zur Eingabe kein Weg zurück (erste Einweg-Funktion). Aus den Ergebnissen für H(p) und H(k) generiert das Programm die folgenden Parameter: Alpha = (H(k) + H(p)) MOD 127)+1 Offset Runden-Alphabet: 121 Theta = (H(k) MOD 32)+1 Beginn Kontraktion: 25 Um die Werte der Hashfunktionsfolge auf dezimale Größen zurückzuführen wird eine Kontraktfunktion (Con) eingeführt. Für die Rückführung wird das Zahlensystem zur Basis 78 unterstellt. Jeweils drei Ziffern der Folge werden seriell durch Modulo 256 in dezimale Zahlen 0 bis 255 (ohne Wiederholung) zurückgerechnet und als Index der Zeichen im System-Alphabet verwendet (zweite Einweg-Funktion). Die Zeichen werden in einem Array von 16x16 Elementen als Basisvariation gespeichert.
3 Folgende Entwicklung ab Theta = 25+1 (... q2hquaδ... ) Im Einzelnen: Ziff. dezimal MOD 256 Zeichen (78) (Hashf.folge) q2h L 2hQ Θ hqu D QUa (---) UaΔ (bereits vorhandene Daten werden übersprungen) Die Zeichen für die Basisvariation werden aus ihrer Position in der Hashfunktionsfolge abgeleitet. LΘD4Vü2iÖäuPblxRYqcsB8ÜafCehwöFng3WjtkΞΠGMmXANΛKUo1SEßH0Δ9vQ TIÄzr65Γ7βγδεζηθικλµνξπρςστυφχψωЀЁЄЉЊЋЌЍЎЏАЖЗИЙКбвгдежзийкл Aus den generierten Daten ergeben sich die folgenden partiellen Hashwerte: Hashwert Basis 10: Hashwert Basis 16: 114efe20f53 Hashwert Basis 62: kwjyk83 Die endgültige Kennung entsteht dann aus der Zusammenfassung der einzelnen Werte wie folgt: Kennung: kwjyk efe20f53 Die Kennung wird auf der Gegenseite gespeichert und im Testfall mit dem identischen Ablauf auf Übereinstimmung geprüft. Quellcode des Programms Kennung.py import sys, os # -*- coding: cp1252 -*- # Definition Zahlen Cypher: Zahlen-Code zahlen = "" t1 = "" t2 = "" t3 = "" t4 = "" t5 = "" t6 = "" t7 = "" t8 = "" t9 = "" t10 = "" t11 = "" t12 = ""
4 for i in range(49,58): t1 += chr(i) for i in range(97,123): t2 += chr(i) for i in range(65,91): t3 += chr(i) t4 = chr(196)+chr(214)+chr(220)+chr(223)+chr(228)+chr(246)+chr(252)+chr(8369) for i in range(915,917): t5 += chr(i) t6 = chr(920)+chr(923)+chr(926)+chr(928)+chr(931)+chr(934)+chr(936)+chr(937) for i in range(945,959): t7 += chr(i) for i in range(960,970): t8 += chr(i) t9 = chr(1024)+chr(1025)+chr(1028) for i in range(1033,1041): t10 += chr(i) for i in range(1046,1051): t11 += chr(i) for i in range(1073,1084): t12 += chr(i) zahlen = t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12 def nachsys(basis,q): # Zahlenwandel von dez sys digitset = "0"+zahlen ergebnis = "" umfang = "" z="" zd="" if basis>10: umfang=digitset[10:basis] while q > 0: z=int(q % basis) if z>9: zd=umfang[z-10:z-9] else: zd=str(z) q = (q-z)/basis ergebnis=zd+ergebnis return ergebnis def nachdez(basis,syszahl): # Zahlenwandel von sys dez digitset = zahlen umfang = digitset[:basis-1] zahl=0 ziffer = "" dezzahl = 0
5 laenge = len(syszahl) hoch = laenge for n in range(laenge): hoch -= 1 n += 1 ziffer = syszahl[n-1] if ziffer: zahl = umfang.find(ziffer)+1 else: zahl = int(ziffer)+1 dezzahl = dezzahl + zahl*basis**hoch return dezzahl def generator(abschn,cd): # Generator Prozess l = len(abschn) ck = (l * (l-2)) + cd n = 0 s = 0 ss= 0 hp = 0 hs = 0 hk = 0 hw = 0 for z in abschn[0:(l+1)]: n += 1 s = (ord(z)+1) * (ck +n) hp = hp + s hashfolge = "" folgehash = "" ergebnis = "" n = 0 for z in abschn[0:(l+1)]: n += 1 ss = ((ord(z)+1) * n * hp) +n+cd+1 ergebnis = nachsys(77,ss) hashfolge = hashfolge + ergebnis hk = hk + ss # Schleife auf 0 stellen # Zahlenwandel: dez --> sys hs = hp + hk folgehash = hashfolge[::-1] cyphfolge = hashfolge+folgehash lange = len(cyphfolge) alpha = ((hk + hp) % 127) + 1 theta = (hk % 32) + 1 slip = "" digit = ""
6 zahl = 0 element = "" umfang = 0 i = theta matrix = "" for z in cyphfolge[:lange]: i += 1 slip = cyphfolge[i:i+3] digit = nachdez(78,slip) digit = int(digit) hw = hw + digit # Zahlenwandel: sys --> dez zahl = digit % 256 element = cyphfolge[zahl] if element in matrix: element = "" else: matrix = matrix + element # Position in der Hashfunktionsfolge umfang = len(matrix) rest = 0 zusatz = "" if umfang < 256: rest = umfang zusatz = zahlen[80:80 + rest] matrix = matrix + zusatz alphabet = matrix[alpha:alpha+128] hs = hs + hw return alphabet, hs # Hauptprogramm... Hauptprogramm alphabet = "" cd = 1 lesen = input(" Eingabe Kennung: ") breite = len(lesen) print(" Umfang: ",breite) # Eingabe Kennung # Auswahl wahl = input(" Wahl: testen..t.. / schreiben..s.. / beenden..q.. > ") zeile = "" summe = 0 hashwert = 0 zeile = lesen[0:breite]
7 for z in zeile: digit = ord(z) summe = summe + digit alphabet,hs = generator(zeile,cd) summe = summe + hs # Generator for y in alphabet: digit = ord(y) summe = summe + digit alphabet,hs = generator(alphabet,cd) summe = summe + hs # Generator werthash = nachsys(16,summe) hashwert = nachsys(62,summe) summe = str(summe) werthash = str(werthash) hashwert = str(hashwert) kennung = hashwert+summe+werthash if wahl == "t": datei = "vergleich.txt" inhalt = open(datei,"rb") reihe = inhalt.read() vergleich = reihe.decode() # Kennung testen # Vergleich einlesen if kennung == vergleich: print(" Übereinstimmung!") else: print(" Keine Übereinstimmung") print(" Start: ",kennung) print( Kopie:,Vergleich) # Ausgabe Daten inhalt.close() elif wahl == "s": # Kennung schreiben lesen = kennung zeichen = lesen.encode("utf8") zeichen = bytes(zeichen) datei = "vergleich.txt" inhalt = open(datei,"wb") inhalt.write(zeichen) print(" Erfolgreich gespeichert") anzeige = zeichen.decode() print(" Kopie: ",anzeige) lang = len(anzeige) print(" Länge: ",lang) # Speichern Kennung # Ausgabe Daten inhalt.close()
8 else: sys.exit(0) # Prozess beenden sys.exit(0) Für Rückfragen steht der Autor unter eschnoor@multi-matrix.de jederzeit gern zur Verfügung. München im Mai 2017 Ernst Erich Schnoor [#1] Artikel: telecypher.net/matrixcode.pdf
Python-Hashfunktion. (Ernst Erich Schnoor)
Python-Hashfunktion (Ernst Erich Schnoor) Die wesentliche Aufgabe einer Hashfunktion besteht in der Umformung digitaler Zeichen beliebiger Länge (n) zu einer eindeutigen digitalen Ausgabe (H) in festgelegter
MehrPython-Module. (Ernst Erich Schnoor)
1 Python-Module (Ernst Erich Schnoor) Im Folgenden sind einige Python-Module aufgeführt, die mit Python 3.6.2 unter IDLE / Run / Run Module aufgerufen und ausgeführt werden können ( CMLizenz.pdf ): Analyse.py
Mehr(Ernst Erich Schnoor) >Generator.py< ist ein Python-Modul als Bestandteil der Basis-Funktion
Generator (Ernst Erich Schnoor) >Generator.py< ist ein Python-Modul als Bestandteil der Basis-Funktion >CypherMatrix < Die Funktion arbeitet in zwei Bereichen: Der Generator erzeugt die Steuerungsparameter
MehrTeleCypher und Sicherheit (Ernst Erich Schnoor)
TeleCypher und Sicherheit (Ernst Erich Schnoor) telecypher ist ein Verschlüsselungsprogramm in Python-Technik. Grundlage ist das CypherMatrix Verfahren, das vom Autor in mehrjähriger Arbeit in Power- Basic
Mehr(Ernst Erich Schnoor)
Bit- und Byte-Technik in der Kryptographie (Ernst Erich Schnoor) Kryptographie ist Schreiben und Lesen von geheimen Informationen mit arteigenen Methoden (Verschlüsselung). Seit Jahrtausenden haben Menschen
MehrSchlüsselaustausch >CypherMatrix Key-Exchange<
Schlüsselaustausch >CypherMatrix Key-Exchange< (Ernst Erich Schnoor) Im Gegensatz zu heute angewendeten Algorithmen wird im CypherMatrix Verfahren die Verschlüsselung in zwei Bereichen durchgeführt. Ein
MehrSicherheit des CypherMatrix Verfahrens
Sicherheit des CypherMatrix Verfahrens (Ernst Erich Schnoor) Das CypherMatrix Verfahren teilt sich in zwei Bereiche: Generator zur Erzeugung aller notwendigen Bestimmungsdaten und Codierbereich für die
MehrNeue Hashfunktionen. 1 Systematisierung der Bitfolgen
Neue Hashfunktionen (Ernst Erich Schnoor) Die wesentliche Aufgabe einer Hashfunktion besteht in der Umformung digitaler Zeichen beliebiger Länge (n) zu einer eindeutigen digitalen Ausgabe (H) in festgelegter
MehrAufbau des Daten Generators. CypherMatrix arbeitet mit zwei getrennten Bereichen:
CypherMatrix Aufbau des Daten Generators CypherMatrix arbeitet mit zwei getrennten Bereichen: Beide Bereiche werden miteinander kombiniert, können aber auch getrennt voneinander eingesetzt werden. Die
MehrSchlüssel erzeugen vor Ort
Schlüssel erzeugen vor Ort (Ernst Erich Schnoor) Im Gegensatz zu den heute angewendeten Algorithmen wird im CypherMatrix Verfahren die Verschlüsselung auf zwei Bereiche verteilt: Der Generator erzeugt
MehrCypherMatrix als kryptographischer Daten Generator Ernst Erich Schnoor, München
CypherMatrix als kryptographischer Daten Generator Ernst Erich Schnoor, München Vorbemerkungen Die ursprüngliche Absicht war, nur ein neues Verschlüsselungsprogramm zu suchen - und zwar über die heute
MehrAufbau der Basis Funktion. CypherMatrix arbeitet mit zwei getrennten Bereichen:
CypherMatrix Aufbau der Basis Funktion CypherMatrix arbeitet mit zwei getrennten Bereichen: Beide Bereiche werden miteinander kombiniert, können aber auch getrennt voneinander eingesetzt werden. CypherMatrix
Mehr>CypherMatrix< als dynamische Hash Funktion
>CypherMatrix< als dynamische Hash Funktion (Ernst Erich Schnoor) Die wesentliche Aufgabe einer Hashfunktion besteht in der Umformung digitaler Zeichen beliebiger Länge (n) zu einer eindeutigen digitalen
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrKlausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Was liefert
MehrInformatik II Übung, Woche 10
Giuseppe Accaputo 10. März, 2016 Plan für heute 1. Typumwandlung (Typecasts) 2. Ordnerstruktur für Übungen 3. Vorbesprechung Übung 3 4. Nachbesprechung Übung 2 (inkl. Live Programmierung) Informatik II
Mehr(Ernst Erich Schnoor)
Codegraphie (Ernst Erich Schnoor) Mit dem CypherMatrix Verfahren Bezeichnung vom Autor - werden neue Zusammenhänge in der Kryptographie aufgezeigt. Bedingt durch Bitsysteme und Bit-Konversionen entstehen
MehrKlausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrKlausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 8 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrSteht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen.
Python Unter Windows empfiehlt sich der Download von Python unter folgender URL, http:// www.python.org/download/. Linux Distributionen wie z.b. Ubuntu liefern Python direkt in Ihrer Paketverwaltung mit:
MehrHans-Georg Eßer Betriebssysteme, WS 2006/07. Fachbereich Informatik/Mathematik Übungsblatt 1, Seite 1/5 Fachhochschule München 08.11.
Fachbereich Informatik/Mathematik Übungsblatt 1, Seite 1/5 Vorbereitung Booten Sie den Rechner unter Linux. Melden Sie sich mit Ihrem ifw... - oder ibw... -Account an (Passwort ist evtl. die Matrikelnummer).
MehrEinführung in Python Teil I Grundlagen
Einführung in Python Teil I Grundlagen Valentin Flunkert Institut für Theoretische Physik Technische Universität Berlin Do. 27.5.2010 Nichtlineare Dynamik und Kontrolle SS2010 1 of 22 Diese Einführung
MehrKlausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Geben
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Matthias Wieczorek Computer-Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45
MehrAnweisungen in Python
Sommersemester 2007 1 if 2 elif 3 while 4 for 5 Schleifenabbruch Blockbildung Blockbildung durch Einrücken Keine Klammerung Empfehlungen Leerzeichen verwenden 4 Leerzeichen einrücken Unterstützenden Editor
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45
MehrKontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue
Kontrollstrukturen Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue Einfache Verzweigung Eine Verzweigung erlaubt das bedingte Ausführen bestimmter Programm-Teile.
MehrAuf Empfängerseite erfolgt die Entschlusselung im gleichen Schema, allerdings in umgekehrter Reihenfolge. Das folgende Schema zeigt die Struktur:
Gesicherter Schlüsselaustausch >Python: Key-Exchange< (Ernst Erich Schnoor) Die Verschlusselung das Schreiben und Lesen von geheimen Informationen wird im CypherMatrix Verfahren in zwei Bereichen durchgefuhrt.
MehrZeichenketten Benedikt Straßner. Programming Systems Group Martensstr Erlangen Germany
Zeichenketten 16.04.2018 Benedikt Straßner Programming Systems Group Martensstr. 3 91058 Erlangen Germany Übersicht String Matching Algorithmen Naive Stringsuche Knuth Morris Pratt (KMP) Algorithmus Boyer-Moore
Mehr1 Stückweise konstante Funktionen (ca =10 Punkte)
Einführung in die wissenschaftliche Programmierung Klausur Seite 1/5 Name, Vorname, Unterschrift: Matrikelnummer: 1 Stückweise konstante Funktionen (ca. 4+2+4=10 Punkte) In dieser Aufgabe soll eine Klasse
MehrAbgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
MehrFACHHOCHSCHULE MANNHEIM
für Java-Programmierer Der Präprozessor Prof. Dr. Wolfgang Schramm FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Präprozessor Ist dem Compiler vorgeschaltet ( Prä -). Spezielle Anweisungen
MehrVorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel
Inhalt: Vorbemerkung...1 Allgemeines zu Shell Scripts...1 Aufruf...1 Einfaches Beispiel...1 Testen eines Shell-Scripts...2 Kommandozeilen-Parameter...2 Prozeßsteuerung...3 Bedingte Ausführung: if...3 Mehrfachentscheidung:
Mehr7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle
In Anwendungen ist es oft interessant zu wissen, ob man überhaupt von einem Knoten v zu einem Knoten w gelangen kann, ganz gleich wie lang der Weg auch ist. Gegeben sei dabei ein gerichteter Graph G =
MehrÜbungszettel 2a - Python
Vorsemesterkurs Informatik Übungsaufgaben Übungszettel 2a - Python Aufgabe 1: Python starten Teilaufgaben (a)-(c) beziehen sich auf das Arbeiten unter den Systemen, die auf den RBI-Rechnern installiert
MehrWirtschaftsinformatik I (Bachelor) SS 07 Prof. Gomber. Python
Python Programmiersprache: Syntax - legt die als Programm zulässigen Zeichenfolgen fest (Grammatik) Semantik - ist die Bedeutung der programmiersprachlichen Ausdrücke Algorithmus - genau formulierte Verarbeitungsvorschrift.
Mehr// s = geom. Reihe 1 + q + q^2 + q^3 + + q^n. // float q; unsigned int n; float s = 0;
For-Schleife Anders als in C++ Definition: for x in list : statements Oft wird list durch die range-funktion generiert (s. später) Statt range kann jede andere Art von Listen stehen Erstes Beispiel eines
MehrPhysische Datenstrukturen
Elementare Datentypen Strukturierte Datentypen Zeiger Seite 1 Einfache Datentypen Datentyp char Verwendung: ASCII-Zeichen Wertebereich: alle darstellbaren Zeichen, 8 bit lange Ganzzahlen im Intervall -128
MehrBash-Skripting Linux-Kurs der Unix-AG
Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 13.06.2012 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian
MehrAlgorithmen und Datenstrukturen
Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe
MehrKlausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Was liefert
MehrBeispiel 19. December 4, 2009
Beispiel 9 December 4, 2009 Computermathematik (für Informatik) 4. Übungsblatt (Musterlösung) 2. 2. 2009 Die heutigen Übungen sollen mit dem Computeralgebrasystem Sage gelöst werden. Die Lösung der Beispiele
MehrKlausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Was liefert
MehrWS2018/ Oktober 2018
Einführung in die Programmierung Ronja Düffel WS2018/19 05. Oktober 2018 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen
Mehr4 Schleifen und Dateien
4 Schleifen und Dateien 4.1 Übungsaufgabe 4.1.1 Aufgabe 1 Schreiben Sie drei C++ Programme: pword_for.cxx, pword_while.cxx, pword_do.cxx. Die Programme sollen den Benutzer höchstens 5 Mal nach einem Passwort
MehrCypherMatrix Eine Basisfunktion in der Kryptographie
CypherMatrix Eine Basisfunktion in der Kryptographie (Ernst Erich Schnoor) CypherMatrix ist ein neues kryptographisches Verfahren, das als Basisfunktion in fast allen Bereichen der Informationstechnik
MehrWS2017/ Oktober 2017
Einführung in die Programmierung Ronja Düffel WS2017/18 09. Oktober 2017 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen
Mehr12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.
Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen
MehrPython 2. Vorlesung Computerlinguistische Techniken Alexander Koller. 28. Oktober 2014
Python 2! Vorlesung Computerlinguistische Techniken Alexander Koller! 28. Oktober 2014 Listen Sequenz von beliebigen Werten. Literale: [], [1,2,3], [ hallo, True, -5.0] Hinten an Liste anhängen: L.append(27)
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Verkettung der Überläufer) Prof. Dr. Susanne Albers Möglichkeiten der Kollisionsbehandlung Kollisionsbehandlung: Die Behandlung
MehrProgramming 101. Carl Herrmann IPMB & DKFZ
Programming 101 Carl Herrmann IPMB & DKFZ Programmieren Kommandozeile Einfache Befehle Shell Skript aneinanderketten von Befehlen Schleifen Programmiersprache Komplexere Aufgaben Gemeinsamkeiten Alle Programmiersprachen
MehrGrundlagen der Algorithmen und Datenstrukturen Kapitel 4
Grundlagen der Algorithmen und Datenstrukturen Kapitel 4 Christian Scheideler + Helmut Seidl SS 2009 06.05.09 Kapitel 4 1 Wörterbuch-Datenstruktur S: Menge von Elementen Jedes Element e identifiziert über
MehrDie Involutfunktion Inhalt
Die Involutfunktion Inhalt Inhalt...1 Grundlagen... Basic-Programm...3 Programm-Ablaufplan Involut rekursiv...3 Programm Involut rekursiv...4 Programme für CASIO fx-7400g PLUS...5 Involutfunktion...5 Involut
MehrInformatik I: Einführung in die Programmierung. Übungsblatt 3. Abgabe: Freitag, 15. November 2013, 18:00 Uhr
Informatik I: Einführung in die Programmierung Prof. Dr. Bernhard Nebel Dr. Christian Becker-Asano, Dr. Stefan Wölfl Wintersemester 2013/2014 Universität Freiburg Institut für Informatik Übungsblatt 3
MehrInformatik B von Adrian Neumann
Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000
MehrFunktionen und Arrays in C
Funktionen und Arrays in C Lernziele: Vertiefen der Kenntnisse über die Verwendung von Funktionen sowie Arrays in C. Aufgabe 1: Quickies a) Welches Schlüsselwort muss verwendet werden, wenn eine Methode
MehrÜBUNG 3 ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN LEONIE WEIßWEILER
ÜBUNG 3 ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN ICH KANN IMMER NOCH NICHT GEDANKEN LESEN http://www.cip.ifi.lmu.de/~weissweiler/#feedback FEHLERKORREKTUR Es stellt sich heraus, dass
MehrINSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS
Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales
MehrHerzlich willkommen!
Programmiertechnik 1 Herzlich willkommen! Dozent: Dipl.-Ing. Jürgen Wemheuer Teil 6: Zusammenfassung und Beispiele Mail: wemheuer@ewla.de Online: http://cpp.ewla.de/ Zusammenfassung (1) 2 1. Programm in
MehrGI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
MehrInformatik für Schüler, Foliensatz 10 Wiederholung und Listen
Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 17. März 2010 1/15 Informatik für Schüler, Foliensatz 10 Wiederholung und Listen Prof. G. Kemnitz Institut für Informatik, Technische
MehrKryptographische Anonymisierung bei Verkehrsflussanalysen
Kryptographische Anonymisierung bei Verkehrsflussanalysen Autor: Andreas Grinschgl copyright c.c.com GmbH 2010 Das System besteht aus folgenden Hauptkomponenten: Sensorstationen Datenbankserver Anonymisierungsserver
Mehr6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen
Universelles Hashing Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen wir können nicht annehmen, daß die Keys gleichverteilt im Universum liegen (z.b. Identifier im Programm) könnte also
Mehr6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig (
6 Ein- und Ausgabe Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig ( Drucken war hoffnungslos übertrieben); heute lernen wir, wie wir die Ergebnisse unserer Programme abspeichern können, um sie
MehrUniversität Duisburg - Essen
BoS - Klausur - Bauinformatik - 16.08.2007 1 Universität Duisburg - Essen Campus Essen Fakultät für Ingenieurwissenschaften Abteilung Bauwissenschaften Fachprüfung - Bauinformatik SS 07-1 - Dienstag, den
MehrÜbung zu Einführung in die Informatik # 11
Übung zu Einführung in die Informatik # 11 Tobias Schill tschill@techfak.uni-bielefeld.de 22. Januar 2016 Aktualisiert am 22. Januar 2016 um 11:36 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* Aufgabe
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010
Mehr41.8 LUA-Grundlagen - Tabelle, if und Albernheit
41.8 LUA-Grundlagen - Tabelle, if und Albernheit Autor: Goetz Quelle: Mein EEP-Forum In diesem Kapitel möchte ich eine erste, einfache Anwung von Lua auf einer Anlage zeigen. Ich werde mich dabei auf den
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 20 (13.7.2016) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 20 (9.7.2018) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)
Mehrjavascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.
javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. Inhalts-Verzeichnis 1. Allgemeine Richtlinien...1 1.1 Anzahl
MehrÜbersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!
!!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit
Mehr7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele
MehrString matching: Überblick
String matching: Überblick String matching = Erkennung von Zeichenketten. Problemstellung & Anwendungen Grundlagen Rabin-Karp Verfahren (basierend auf hashing) String-matching mit endlichen Automaten Knuth-Morris-Pratt
MehrVII. Hashfunktionen und Authentifizierungscodes
VII. Hashfunktionen und Authentifizierungscodes Bob Eve Eve möchte - lauschen - ändern - personifizieren Alice 1 Aufgaben - Vertraulichkeit Lauschen - Authentizität Tauschen des Datenursprungs - Integrität
MehrEinführung in die Programmiertechnik
Einführung in die Programmiertechnik Formale Beschreibung von Programmiersprachen Lexikalische Regeln Definition von Wörtern (Lexem, Token) Gruppierung von Zeichen Lexikalische Kategorien: Klassen ähnlicher
MehrÜBUNG 6 ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN. Leonie Weißweiler
ÜBUNG 6 ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN 1 ZAHLENSYSTEME Normalerweise schreibt man Zahlen im sog. Dezimalsystem 4 2 6 9 2 ZAHLENSYSTEME 4 2 6 9 x100 x100 x10 x1 3 ZAHLENSYSTEME
MehrKLAUSUR ZUM BACHELORMODUL EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2016/17, DR. MAXIMILIAN HADERSBECK KLAUSUR AM
KLAUSUR ZUM BACHELORMODUL EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2016/17, DR. MAXIMILIAN HADERSBECK KLAUSUR AM 6.2.2017 VOR NACH MATRIKELNUMMER: STUDIENGANG: B.Sc. Computerlinguistik, B.Sc. Informatik, Magister
MehrProgrammieren in C (Übungsblatt 1)
21.02.2017 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung
MehrCentrum für Informations- und Sprachverarbeitung SoSe 2018: Höhere Programmierung mit C++ Andreas Krieger. Musterlösung 7. Aufgabe 7.
Centrum für Informations- und Sprachverarbeitung SoSe 2018: Höhere Programmierung mit C++ Andreas Krieger Musterlösung 7 Aufgabe 7.3 bool palindrome ( std :: wstring & word ); void reverse ( std :: wstring
MehrMusterlösung Klausur 11/ Fragen zu utf-8: 1.1. Welche zwei Methoden gibt es, um STDIN und STDOUT auf utf-8 zu setzen.
1. Fragen zu utf-8: 1.1. Welche zwei Methoden gibt es, um STDIN und STDOUT auf utf-8 zu setzen. Man kann STDIN und STDOUT als erste Möglichkeit beim Programmstart mit perl -C auf utf-8 setzen. Außerdem
MehrÜbersicht Shell-Scripten
!!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,
MehrArithmetik in der tcsh
Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3
MehrProgrammieren in C (Übungsblatt 1)
23.02.2016 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung
MehrPrimzahlen und Programmieren
Primzahlen Wir wollen heute gemeinsam einen (sehr grundlegenden) Zusammenhang zwischen Programmieren und Mathematik herstellen. Die Zeiten in denen Mathematiker nur mit Zettel und Stift (oder Tafel und
MehrProgrammieren in C (Übungsblatt 1)
27.02.2018 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main(void) { printf("c-programmierung
MehrMEMO Paradigmenwechsel in der Kryptographie
MEMO Paradigmenwechsel in der Kryptographie Ernst Erich Schnoor Kryptographie ist schreiben und lesen von geheimen Botschaften mit arteigenen Methoden (Verschlüsselung). Seit sich die Computer der Kryptographie
MehrKlausur Informatik B April Teil I: Informatik 3
Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.
MehrInformatik Vorkurs - Vorlesung 2
Informatik Vorkurs - Vorlesung 2 Variablen, Arrays, Zahlensysteme Torben Achilles, 9. Oktober 2018 Inhalt Variablen & Datentypen Arrays Zahlensysteme 9. Oktober 2018 Torben Achilles Informatik Vorkurs
MehrJava: Eine kurze Einführung an Beispielen
Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse
MehrPython Einführung. Monica Selva Soto. 24 März Mathematisches Institut
Mathematisches Institut mselva@math.uni-koeln.de 24 März 2009 Übungen zur Numerik 1 Vorlesung Übungen praktische Aufgaben Webseite: (Anmeldung, Übungsblätter) http://www.mi.uni-koeln.de/~mselva/numerik1.php
MehrSchleifen: Immer wieder dasselbe tun
Schleifen: Immer wieder dasselbe tun Bei einer Schleife werden Anweisungen immer wieder ausgeführt, solange die Bedingung wahr ist. Dafür muss man eine Variable immer wieder ändern, solange bis eine Überprüfung
Mehr