Java: Methoden zur Kryptologie
|
|
- Steffen Hofmeister
- vor 8 Jahren
- Abrufe
Transkript
1 Carl-Zeiss-Gymnasium Jena Fachbereich Informatik Java: Methoden zur Kryptologie Mirko König Diese Unterlagen dienen der Informatik-Ausbildung der Spezialklassen am Carl-Zeiss-Gymnasium Jena in den Klassenstufen 9 und 10. Sie sind in erster Linie Arbeitsanleitung zur selbstständigen Tätigkeit und bieten darüberhinaus Übungsmaterialien. Dieses Dokument wurde mit L A TEX gesetzt. c M. König Jena, 2.
2 Inhaltsverzeichnis 1 Methoden Wozu dienen Unterprogramme? Zwei Arten von Unterprogrammen Einordnung Ein Beispiel für eine Funktion Quelltext Verwendung, Aufruf Wo stehen Methoden im Programm? Aufgaben Boolesche Funktionen Beispiel Primzahleigenschaft Methoden zur Kryptologie Caesar-Verschlüsselung Die Programmierumgebung Ein Zeichen verschlüsseln Eine Zeichenkette verschlüsseln Aufruf der Methode Aufgaben Vigenère-Verschlüsselung So geht s Aufgaben Anlegen von Klassen Die Klasse Krypto Variante 1 mit statischen Methoden Variante 2: Anlegen von Objekten der Klasse Aufgaben Kommentieren mit javadoc Sprechende Bezeichner Glasklar ausgedrückt mit javadoc Komplexaufgabe: Enigma Aufgaben
3 1 Lerneinheit Eins Methoden Die Begriffe Methode und Unterprogramm werden synonym verwendet. 1.1 Wozu dienen Unterprogramme? Wiederverwendung von Code Aufteilung des Problems für Teams inhaltlich (Teilprobleme) Verbesserung der Lesbarkeit Faustregel pro Unterprogramm < 1 Bildschirmseite 1.2 Zwei Arten von Unterprogrammen Prozedur ohne Rückgabewert (void ( leer ) als Rückgabetyp). Eine Prozedur führt nur einen Quelltextabschnitt aus. Funktion mit Rückgabewert (enthält immer eine return-anweisung). Der Begriff Funktion wird wie in der Mathematik verwendet. 1.3 Einordnung Methoden gehören zum strukturierten Programmieren wie auch Schleifen und Entscheidungen. Außerdem sind sie ein wichtiges Element der Klassenbildung, bei der Objekte des Programmierens zu Klassen zusammengefasst werden. 1.4 Ein Beispiel für eine Funktion Die Funktion maximum soll zwei ganze Zahlen entgegennehmen und die größere der beiden zurückgeben. Im Falle der Gleichheit soll die erste der beiden Zahlen zurückgegeben werden.
4 Methoden in Java Quelltext int maximum( int a, int b ) { i f ( a>=b ) return a ; else return b ; int ist der Rückgabetyp maximum ist der Name oder Bezeichner der Funktion a und b heißen Parameter der Funktion. Nach Abarbeitung der return-anweisung erfolgt ein sofortiger Rücksprung aus der Funktion Verwendung, Aufruf Ein Funktionsaufruf kann einer Variable zugewiesen werden: int e r g e b n i s = maximum( x, y ) ; // x, y sind i n t Eine andere Möglichkeit ist die Verwendung eines Aufrufs als Ausdruck vom Rückgabetyp: System. out. p r i n t l n (maximum( x, y ) ) ; Einen Aufruf erkennt man an einem Bezeichner, dem in runden Klammern Parameter ohne Typangabe folgen Wo stehen Methoden im Programm? Methoden sind der main-methode gleichrangig und werden davor oder danach innerhalb der Klasse angeordnet. Da in einem Konsolenprogramm meist kein Objekt der Hauptklasse mittels new gebildet wird, benötigt man noch das static-attribut: public class MaximumTest { static int maximum( int a, int b ) { i f ( a>=b ) return a ; else return b ; public static void main ( S t r i n g [ ] args ) { System. out. p r i n t l n (maximum ( 5, 7 ) ) ;
5 Methoden in Java 4 In Swing-Applikationen können Methoden gleichrangig zu den Action-Methoden angeordnet werden. Auf das static-attribut kann verzichtet werden. int maximum( int a, int b ) { i f ( a>=b ) return a ; else return b ; private void jbutton1actionperformed ( java. awt. event. ActionEvent evt ) { // Aufruf der Methode maximum() // Einlesen z w e i e r int Zahlen aus j T e x t F i e l d s int x = I n t e g e r. p a r s e I n t ( jtextfield1. gettext ( ) ) ; int y = I n t e g e r. p a r s e I n t ( jtextfield2. gettext ( ) ) ; int e r g e b n i s = maximum( x, y ) ; // Ausgabe i n einem jtextarea jtextarea1. append ( e r g e b n i s+" \n " ) ; Möchte man eine Klasse getrennt vom Hauptprogramm in einem eigenen Quelltext anordnen, so stehen die Methoden innerhalb der Klasse. 1.5 Aufgaben 1. Implementiere die Funktion maximum() und teste sie in einer Swing Application. 2. Implementiere analog zur vorhergehenden Aufgabe die Funktion minimum(), die das Minimum zweier ganzer Zahlen berechnet. 3. Gesucht ist eine Funktion maximum3(), die das Maximum dreier ganzer Zahlen berechnet. Füge die Funktion dem Programm der vorangegangenen Aufgaben hinzu. 4. Die Funktionen dieser Aufgabe sollen die Anzahl der Teiler einer natürlichen Zahl bzw. den größten gemeinsamen Teiler zweier ganzer Zahlen bestimmen. Ihre Methodenköpfe lauten: int anzahlteiler(int natzahl) int ggt(int a,int b)
6 Methoden in Java Boolesche Funktionen Nach dem englischen Mathematiker George Boole ( ) sind Funktionen mit dem Rückgabetyp boolean benannt. Diese Funktionen geben einen Wahrheitswert, nämlich true oder false, zurück. Ihr Aufruf kann als Bedingung direkt weiterverwendet werden Beispiel Primzahleigenschaft Die Funktion istprimzahl() soll true zurückgeben, wenn die übergebene Zahl eine Primzahl ist, ansonsten false. Es wird die Funktion anzahlteiler() aus der obigen Aufgabe verwendet. static boolean istprim ( int n ){ i f (n<2) return f a l s e ; i f ( a n z a h l T e i l e r ( n ) == 2) return true ; else return f a l s e ; public static void main ( S t r i n g [ ] args ) { // L i s t e der Primzahlen b i s 100 for ( int i =2; i <100; i ++) i f ( istprim ( i ) ) System. out. p r i n t l n ( i ) ;
7 2 Lerneinheit Zwei Methoden zur Kryptologie Die Kryptologie ist die Wissenschaft von der Informationssicherheit. Aus ihr entnehmen wir einige Verfahren der Kryptographie (Verschlüsselung) und Kryptanalyse (Entschlüsselung), die wir im programmtechnischen Sinne als Methoden umsetzen werden. 2.1 Caesar-Verschlüsselung Auf Gaius Julius Caesar ( v. Chr.) geht eine sehr einfache Verschlüsselungsmethode zurück. Das lateinische Alphabet wurde zyklisch um 3 Buchstaben verschoben ( D für A ), wobei zusätzlich noch griechische für lateinische Buchstaben das Lesen erschweren sollten. Im deutschen Alphabet (ohne Umlaute) wird also wie folgt verschlüsselt (oben: Klartextbuchstabe, unten: Geheimtextbuchstabe): ABCDEFGHIJKLMNOPQRSTUVWXYZ DEFGHIJKLMNOPQRSTUVWXYZABC Die Programmierumgebung Für diese Übungen werden wir ein Java Desktop Application Project verwenden, auf dessen Formular sich je ein Textbereich vom Typ JTextArea für den Klartext und für den Geheimtext befindet. Die Eigenschaften linewrap und wrapstyleword stehen beide auf true, damit die Wörter umbrochen werden Ein Zeichen verschlüsseln Wir werden zunächst nur Großbuchstaben verschlüsseln, alle anderen Zeichen bleiben erhalten, um eine gewisse Lesbarkeit der Texte zu erhalten und eine
8 Methoden in Java 7 Orientierung darin zu ermöglichen. char v e r s c h l u e s s e l n ( char ch, int verschiebung ) { i f ( ch >= A && ch <= Z ) { return ( char ) ( ( ch A + verschiebung ) % 26 + A ) ; else { return ch ; // nur Buchstaben v e r s c h l u e s s e l n Kommentar Mit der Bedingung (ch >= A && ch <= Z ) wird das Zeichen ch im Alphabet verortet. Der Ausdruck ch - A ermittelt den Abstand des Zeichens zum Buchstaben A. (ch - A + verschiebung) % 26 addiert zum Abstand die Verschiebung und teilt mit Rest durch 26. Zuletzt wird der Codewert von A wieder addiert (+ A ), damit das Alphabet nicht beim Code 0 beginnt (im ASCII hat A den Wert 65) Eine Zeichenkette verschlüsseln S t r i n g v e r s c h l u e s s e l n ( S t r i n g s, int verschiebung ) { s = s. touppercase ( ) ; // a l l e s in Majuskeln char [ ] chars = s. tochararray ( ) ; // Array b i l d e n for ( int i = 0 ; i < s. l ength ( ) ; i++) { chars [ i ] = v e r s c h l u e s s e l n ( chars [ i ], verschiebung ) ; // wieder in S t r i n g wandeln return S t r i n g. valueof ( chars ) ; Kommentar Alle Kleinbuchstaben (Minuskeln) werden zunächst in Großbuchstaben (Majuskeln) gewandelt. Dann wird der String in ein Array von char gewandelt und jedes Zeichen mit der Methode aus dem vorigen Abschnitt verschlüsselt. Die Verschiebung als Parameter der Funktion wird dabei einfach weitergereicht (chars[i] = verschluesseln(chars[i], verschiebung)) Aufruf der Methode private void jbutton1actionperformed ( java. awt. event. ActionEvent evt ) { // Caesar V e r s c h l u e s s e l u n g anwenden int s h i f t = I n t e g e r. p a r s e I n t ( j TextField1. gettext ( ) ) ; S t r i n g k l a r t e x t = jtextarea1. gettext ( ) ; S t r i n g geheimtext = v e r s c h l u e s s e l n ( k l a r t e x t, s h i f t ) ; jtextarea2. settext ( geheimtext + " \n " ) ; Kommentar Da die Inhalte der Textbereiche nur aus je einem String bestehen, ist die Behandlung sehr einfach. Der String klartext wird mit gettext()
9 Methoden in Java 8 ermittelt und direkt in den Aufruf von verschluesseln() als Parameter übergeben: verschluesseln(klartext, shift) Das Ergebnis kann im laufenden Programm betrachtet werden:
10 Methoden in Java Aufgaben 1. Lege ein Projekt vom Typ Java Desktop Application an und speichere es unter dem Namen Kryptowerkzeug. Statte das Formular mit den Textbereichen (JTextArea) für Klar- und Geheimtext aus und lasse noch Platz für Textfelder (JTextField) und Buttons. Implementiere die beiden Methoden für die Caesar-Verschlüsselung und teste sie mit einem entsprechenden Button, wie in den Screenshots oben dargestellt. 2. Füge eine Funktion char entschluesseln(char ch,int verschiebung) hinzu, die bei gegebener Verschiebung die Verschlüsselung eines Zeichens rückgängig macht. Ergänze die Funktion String entschluesseln(string s,int verschiebung) Teste die Methoden mittels eines zugehörigen Buttons. 3. Nutzung der verschluesseln()-funktion Wie man leicht sieht, bedeutet Entschlüsseln nichts anderes als Verschlüsseln mit einem geeigneten Schlüssel. Entwirf und implementiere eine Funktion char entschluesseln2(char ch,int verschiebung) die die verschluesseln()-funktion für ein Zeichen aufruft. 4. Automatisches Entschlüsseln ohne Kenntnis der Verschiebung Ein hinreichend langer Caesar-verschlüsselter deutscher Text kann leicht geknackt werden, da der häufigste Buchstabe in deutschen Texten das E ist. a) Implementiere eine Funktion char haeufigst(string s) die den häufigsten Buchstaben der gegebenen Zeichenkette ermittelt. Falls mehrere Buchstaben gleich häufig auftreten, soll derjenige ermittelt werden, der am weitesten vorn im Alphabet steht. b) Implementiere eine Funktion int abstand(char ch) die aus dem gegebenen Zeichen den Abstand zum Buchstaben E und damit die Verschiebung im Caesar-Chiffre ermittelt. Durch den Aufruf int verschiebung = abstand(haeufigst(s)); soll die Verschiebung einer Zeichenkette s automatisch ermittelt werden. c) Rufe nun die automatische Entschlüsselung für einen hinreichend langen Text auf. Der Aufruf String klartxt = entschluesseln(abstand(haeufigst(geheimtext))); sollte für einen geeigneten String geheimtext zur Entschlüsselung führen.
11 Methoden in Java Vigenère-Verschlüsselung Eine wesentliche Verbesserung der Caesar-Verschlüsselung stellt die Verwendung mehrerer Alphabete für einen Klartext dar. Jeder Buchstabe des Klartextes bekommt einen eigenen Schlüsselbuchstaben und damit eine eigene Verschiebung im Caesar-Sinne an die Seite gestellt. Das Prinzip geht auf Blaise de Vigenère ( ) zurück und wird heute als polyalphabetische Substitution bezeichnet So geht s Die verschiedenen Alphabete werden in Form eines Schlüsselwortes an den Klartext angelegt. Ist es kürzer als der Klartext, wird es so lange wiederholt, bis jeder Klartextbuchstabe seinen Schlüsselbuchstaben hat. Der Schlüssel sei FARBE: HEUTE ABEND BERATUNG FARBEFARBEFARBEFARBE H wird mit F verschlüsselt. F ist der 6. Buchstabe im Alphabet, also ist die Verschiebung 5. Die Chiffre ist somit M. Der 2. Buchstabe, das E, erhält mit dem Buchstaben A die Verschiebung 0, und hat somit die Chiffre E usw. Jeder Klartextbuchstabe wird also mit der Position des Schlüsselbuchstaben im Alphabet Caesar-verschlüsselt. Nicht-Buchstaben werden nicht verschlüsselt. H E U T E A B E N D... Klartext F A R B E F A R B E F Schlüssel (0) Verschiebung M E L U I A S F R I Chiffre Zur Programmierung schreiben wir als erstes eine Funktion int verschiebung(char buchstabe). Sie soll den Abstand zum Buchstaben A für jeden gegebenen Buchstaben ermitteln (siehe Aufgaben). Dann wird jeder Buchstabe mit der ermittelten Verschiebung nach dem Caesar-Prinzip verschlüsselt. Wir verwenden also eine Methode aus dem letzten Abschnitt wieder. 2.4 Aufgaben 1. Ergänze im Projekt Kryptowerkzeug ein JTextField für die Eingabe des Schlüsselwortes und Buttons für Ver- und Entschlüsselung nach Vigenère. Kennzeichne die schon bestehenden Buttons mit der Notiz Caesar. 2. Implementiere die Funktion int verschiebung(char buchstabe) Nun kann jeder Klartextbuchstabe mit dem Aufruf char chiff = verschluesseln(klarbuchstabe,verschiebung(schluesselbuchstabe)); bestimmt werden. 3. Entwirf und implementiere die Funktionen zum Ver- und Entschlüsseln nach Vigenère. Ihre Köpfe lauten String vigenereverschluesseln(string klartext,string schluessel) und String vigenereentschluesseln(string klartext,string schluessel) Beachte auch den Fall, in dem der Schlüssel länger als der Klartext ist.
12 3 Lerneinheit Drei Anlegen von Klassen Wir haben (hoffentlich) in den Programmierübungen darauf geachtet, die Verschlüsselungsarbeit den neuen Funktionen zu übertragen, also verschluesseln(), vigenereentschluesseln() usw. Damit haben wir die Möglichkeit, die neuen Funktionen auch in Programmen zu verwenden, die nicht Swing als grafische Oberfläche verwenden, zum Beispiel in Konsolenanwendungen oder in Programmen mit JavaFX. Wir gehen nun noch einen Schritt weiter und lagern die Funktionen in eine Klasse aus. 3.1 Die Klasse Krypto Wir legen eine neue Datei im gleichen Verzeichnis des Hauptprogramms an. Bei unserem Projekt Kryptowerkzeug in NetBeans fügen wir im Paket kryptowerkzeug eine neue Klasse an und nennen sie Krypto Variante 1 mit statischen Methoden Den Methoden werden die Qualifizierer public und static hinzugefügt. Letzterer ermöglicht den Aufruf ohne Anlegen eines Objekts, somit einfach so. public class Krypto { public static char v e r s c h l u e s s e l n ( char ch, int verschiebung ) { i f ( ch >= A && ch <= Z ) { return ( char ) ( ( ch A + verschiebung ) % 26 + A ) ; else { return ch ; // nur Buchstaben v e r s c h l u e s s e l n public static S t r i n g v e r s c h l u e s s e l n ( S t r i n g s, int verschiebung ) { s = s. touppercase ( ) ; // a l l e s in Grossbuchstaben char [ ] chars = s. tochararray ( ) ;
13 Methoden in Java 12 // ein Array b i l d e n for ( int i = 0 ; i < s. l ength ( ) ; i++) { chars [ i ] = v e r s c h l u e s s e l n ( chars [ i ], verschiebung ) ; return S t r i n g. valueof ( chars ) ; // wieder in S t r i n g wandeln Der Aufruf geschieht durch Voranstellen des Klassennamens: Krypto.verschluesseln() private void jbutton1actionperformed ( java. awt. event. ActionEvent evt ) { // Caesar V e r s c h l u e s s e l u n g anwenden int s h i f t = I n t e g e r. p a r s e I n t ( j T extfield1. gettext ( ) ) ; S t r i n g k l a r t e x t = jtextarea1. gettext ( ) ; S t r i n g geheimtext = Krypto. v e r s c h l u e s s e l n ( k l a r t e x t, s h i f t ) ; jtextarea2. settext ( geheimtext + " \n " ) ; Bei dieser Variante der Nutzung einer Klasse werden die Methoden statisch kompiliert, d. h. beim Übersetzen des Programms sofort zur Verfügung gestellt. Für unser Problem ist das eine dem Problem angemessene Variante. Jedoch soll auch die Alternative vorgestellt werden: Variante 2: Anlegen von Objekten der Klasse Bei dieser Variante wird der Qualifizierer static weggelassen, und die Methoden werden erst zur Verfügung gestellt, wenn ein Objekt der Klasse während der Laufzeit des Programms erzeugt wird. Dieses Objekt kann dann die Methode. Der Aufruf geschieht dann wie folgt: Krypto v e r s c h l u e s s e l e r = new Krypto ( ) ; // Anlegen e i n e s O b jekts private void jbutton1actionperformed ( java. awt. event. ActionEvent evt ) { // Caesar V e r s c h l u e s s e l u n g anwenden int s h i f t = I n t e g e r. p a r s e I n t ( j T extfield1. gettext ( ) ) ; S t r i n g k l a r t e x t = jtextarea1. gettext ( ) ; //Das Objekt v e r s c h l u e s s e l e r " kann " v e r s c h l u e s s e l n S t r i n g geheimtext = v e r s c h l u e s s e l e r. v e r s c h l u e s s e l n ( k l a r t e x t, s h i f t ) ; jtextarea2. settext ( geheimtext + " \n " ) ; Das Objekt verschluesseler wird im Hauptprogramm genau einmal zur Verfügung gestellt, also in diesem Fall außerhalb der Button-Prozedur. Damit kann es von jeder Stelle im Hauptprogramm aufgerufen werden.
14 Methoden in Java Aufgaben 1. Wähle für diese Aufgabe eins der beiden beschriebenen Verfahren aus (empfohlen werden die statischen Methoden). Lagere die Methoden zur Verschlüsselung in die Klasse Krypto aus und teste, ob das Programm noch wie gewohnt arbeitet. 2. Einige Methoden werden gar nicht vom GUI aufgerufen. Streiche bei ihnen den Qualifizierer public und ersetze ihn durch private. Wenn diese Methoden nur aus der Klasse Krypto aufgerufen werden, verhält sich das Programm wie gewohnt.
15 4 Lerneinheit Vier Kommentieren mit javadoc Mit zunehmendem Umfang der programmierten Methoden wird es notwendig, für ein wenig mehr Durchblick zu sorgen, damit die Projektpartnerin oder der -partner jederzeit über die Methoden Bescheid weiß. Auch geraten die eigenen Quelltexte mit der Zeit in Vergessenheit. Weiß man nach drei Wochen oder 2 Monaten noch über alle Fähigkeiten des eigenen Programms kompetent auszusagen? 4.1 Sprechende Bezeichner Erste Maßnahme für guten Durchblick ist, den Methoden und Variablen Namen zu geben, die über den Sinn des Programmierten Auskunft geben. geeignet ungeeignet Erläuterung verschluesseln() v() Einbuchstabig sagt zu wenig abstand abcd leuchtet hoffentlich ein klartext klausdieter Witzischkeit kennt keine Grenzen i,j,x,y Zähler oder Koordinaten dürfen kurz sein verschluesseln() verschl() Absprachen müssen eingehalten werden encrypt() verschluesseln() Englisch kann Pflicht sein 4.2 Glasklar ausgedrückt mit javadoc Jeder Methode wird ein Kommentar vorangestellt, der mit /** beginnt und mit */ endet. Diese Kommentare haben es in sich: Sie werden in den IDEs beim Vervollständigen des Codes angezeigt. Man beschreibt dort den Nutzen der Methode, die Parameter, den Rückgabewert und den Autor (@author). / v e r s c h l u e s s e l t einen Buchstaben nach Caesar. Andere Zeichen b l e i b e n ch der gegebene K l a r t e x t b u c h s t a b v e r s c h i e b u n g d i e Verschiebung im der e r m i t t e l t e Geheimtextbuchstabe / public char v e r s c h l u e s s e l n ( char ch, int verschiebung ) { // h i e r kommt der Rumpf der Methode Die Javadoc-Kommentare helfen bei der Dokumentation des Programms, speziell aber im täglichen Umgang mit dem Programmcode in Teams. Sie stellen die Grundlage einer Arbeit im Team dar, bei der sich jeder auf den anderen verlassen kann. Namen von Variablen und Methoden sowie deren Parameterlisten müssen genau abgesprochen und eingehalten werden.
16 5 Lerneinheit Fünf Komplexaufgabe: Enigma Die Verschlüsselungsmaschine Enigma ist eines der elektromechanischen Geräte, die im 20. Jahrhundert die Kryptografie deutlich komplexer machten, da die Zahl der möglichen Chiffren enorm erhöht werden konnte. Die Enigma wurde berühmt, da sie einerseits flächendeckend in der deutschen Wehrmacht im 2. Weltkrieg eingesetzt und für unknackbar erklärt wurde, andererseits vor allem von polnischen und britischen Kryptologen, letztere angeführt vom Informatikpionier Alan Turing, entschlüsselt wurde. Mittlerweile ist die Enigma wohl das am besten dokumentierte Verschlüsselungsgerät des 20. Jahrhunderts. Eine detaillierte Beschreibung findet sich auf Aufgaben Ziel der Aufgaben ist es, Teile der Funktionsweise der Enigma zu emulieren (nachzubilden) und dabei Unterprogramme effektiv einzusetzen. 1. Rotoren der Enigma modellieren Jeder der bis zu 10 verschiedenen Rotoren stellt eine Permutation des Alphabets zur Verfügung. Entwirf und implementiere eine Datenstruktur, die auf einem oder mehreren Arrays basiert und die Rotoren fest im Programm einbaut. Das Steckbrett, der Ring und die Kerben vernachlässigen wir für die Aufgabe. 2. Wir nehmen für diese Aufgabe die Variante der Enigma mit drei Rotoren an. Als Schlüssel kann man einerseits die Wahl der Rotoren und ihre Anordnung und die Folge der Buchstaben nehmen, die als Startstellung der drei Walzen genommen werden. Zum Beispiel könnten die Rotoren I, IV und III und deren Anfangsstellung C, Z bzw. G gegeben sein. Implementiere eine Datenstruktur, die die Eingabe des Schlüssels ermöglicht. 3. Simulation des ersten Rotors Durch Eingabe eines Buchstabens wird im ersten Rotor der Geheimbuchstabe ermittelt, dann wird der Rotor um eine Position weitergedreht. Schreibe eine Methode, die die Arbeitsweise des ersten Rotors umsetzt. 4. Der zweite Rotor nimmt den Buchstaben vom ersten entgegen und bildet den nächsten Buchstaben. Er dreht sich aber nur um eine Position weiter, wenn sich der erste 26-mal gedreht hat, d. h. einmal um seine Achse. Analog arbeitet der dritte Rotor. Implementiere auch den zweiten und dritten Rotor. Teste das Programm. 5. Nun folgt der Reflektor und die Rückübertragung bis zum ersten Rotor. Implementiere nun die übrigen Methoden. Versuche, so viel Code wie möglich wiederzuverwenden. 6. Probiere nun die programmierte Enigma aus. Zur Kontrolle kann dienen: Jeder Geheimtext erzeugt beim Durchlaufen der Enigma beim gleichen Schlüssel wieder den Klartext.
4 Codierung nach Viginere (Lösung)
Kapitel 4 Codierung nach Viginere (Lösung) Seite 1/14 4 Codierung nach Viginere (Lösung) 4.1 Einführung Blaise de Vigenère lebte von 1523 bis 1596 in Frankreich und war nach dem Studium bei verschiedenen
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrVerschlüsselung. Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern. 12.10.2011 Fabian Simon Bfit09
Verschlüsselung Fabian Simon BBS Südliche Weinstraße Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern 12.10.2011 Fabian Simon Bfit09 Inhaltsverzeichnis 1 Warum verschlüsselt man?...3
Mehr10. Kryptographie. Was ist Kryptographie?
Chr.Nelius: Zahlentheorie (SoSe 2015) 39 10. Kryptographie Was ist Kryptographie? Die Kryptographie handelt von der Verschlüsselung (Chiffrierung) von Nachrichten zum Zwecke der Geheimhaltung und von dem
MehrDas RSA-Verschlüsselungsverfahren 1 Christian Vollmer
Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrÜbungsblatt 3: Algorithmen in Java & Grammatiken
Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrKryptologie. Verschlüsselungstechniken von Cäsar bis heute. Arnulf May
Kryptologie Verschlüsselungstechniken von Cäsar bis heute Inhalt Was ist Kryptologie Caesar Verschlüsselung Entschlüsselungsverfahren Die Chiffrierscheibe Bestimmung der Sprache Vigenére Verschlüsselung
MehrThüringer Kultusministerium. Abiturprüfung 2000
Thüringer Kultusministerium Arbeitszeit: Hilfsmittel: Abiturprüfung 2000 270 Minuten Leistungsfach Informatik (Haupttermin) Formeln und Tabellen für die Sekundarstufen I und II/ Paetec, Gesellschaft für
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrM. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung
M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales
MehrCacherhochschule CHS. Teil II polyalphabetische Substitutionschiffren
Cacherhochschule CHS Multi-Mystery Rätselhilfe -Event Teil II polyalphabetische Substitutionschiffren Herzlich willkommen! Kurz zur Erinnerung: Teil I behandelte Chiffren und Codes Polybios, Vanity, ROT
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrSoftware Engineering Interaktionsdiagramme
Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
Mehr11. Das RSA Verfahren und andere Verfahren
Chr.Nelius: Kryptographie (SS 2011) 31 11. Das RSA Verfahren und andere Verfahren Eine konkrete Realisierung eines Public Key Kryptosystems ist das sog. RSA Verfahren, das im Jahre 1978 von den drei Wissenschaftlern
MehrEin Projekt mit JavaFX erstellen
Ein Projekt mit JavaFX erstellen Das Projekt Es soll eine Umrechnung der Geschwindigkeit aus der Einheit m/s in die Einheit km/h erfolgen. Zu diesem Zweck wird ein einzeiliges Textfeld für die Eingabe
MehrPeDaS Personal Data Safe. - Bedienungsanleitung -
PeDaS Personal Data Safe - Bedienungsanleitung - PeDaS Bedienungsanleitung v1.0 1/12 OWITA GmbH 2008 1 Initialisierung einer neuen SmartCard Starten Sie die PeDaS-Anwendung, nachdem Sie eine neue noch
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
Mehr5.2 Neue Projekte erstellen
5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrEs sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
MehrSicherer Datenaustausch mit EurOwiG AG
Sicherer Datenaustausch mit EurOwiG AG Inhalt AxCrypt... 2 Verschlüsselung mit Passwort... 2 Verschlüsseln mit Schlüsseldatei... 2 Entschlüsselung mit Passwort... 4 Entschlüsseln mit Schlüsseldatei...
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrJahrgang: Jahrgang 1. Thema: Systementwicklung einer Webapplikation - Geheimnachrichten-Generator
Seite 1 Idee, Zweck, Systembeschreibung: In der Schule benötigen die Personen einen Geheimnachrichten- Generator. Hierfür soll es möglich sein, auf einer Benutzeroberfläche (Hauptfenster) nach der Eingabe
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
MehrBauteilattribute als Sachdaten anzeigen
Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...
MehrInformatik 2 Labor 2 Programmieren in MATLAB Georg Richter
Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
MehrÜbungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
MehrMit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.
Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen
Mehrteischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep
teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrDEUTSCHE GESELLSCHAFT FÜR ZERSTÖRUNGSFREIE PRÜFUNG E.V.
DEUTSCHE GESELLSCHAFT FÜR ZERSTÖRUNGSFREIE PRÜFUNG E.V. ZfP-Sonderpreis der DGZfP beim Landeswettbewerb Jugend forscht SCHÜEX NIEDERSACHSEN Symmetrische Verschlüsselung und Entschlüsselung von Texten Daniel
Mehr1. Allgemein 2. 2. Speichern und Zwischenspeichern des Designs 2. 3. Auswahl der zu bearbeitenden Seite 2. 4. Text ergänzen 3. 5. Textgrösse ändern 3
Inhaltsverzeichnis 1. Allgemein 2 2. Speichern und Zwischenspeichern des Designs 2 3. Auswahl der zu bearbeitenden Seite 2 4. Text ergänzen 3 5. Textgrösse ändern 3 6. Schriftart ändern 3 7. Textfarbe
MehrVB.net Programmierung und Beispielprogramm für GSV
VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2
MehrSEPA-Anleitung zum Release 3.09
Hier folgt nun eine kurze Information was sich mit dem neuen Release 3.08 zum Thema SEPA alles ändert. Bitte diese Anleitung sorgfältig lesen, damit bei der Umsetzung keine Fragen aufkommen. Bitte vor
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
MehrSatzhilfen Publisher Seite Einrichten
Satzhilfen Publisher Seite Einrichten Es gibt verschiedene Möglichkeiten die Seite einzurichten, wir fangen mit der normalen Version an, Seite einrichten auf Format A5 Wählen Sie zunächst Datei Seite einrichten,
MehrWie Sie beliebig viele PINs, die nur aus Ziffern bestehen dürfen, mit einem beliebigen Kennwort verschlüsseln: Schritt 1
Wie Sie beliebig viele PINs, die nur aus Ziffern bestehen dürfen, mit einem beliebigen Kennwort verschlüsseln: Schritt 1 Zunächst einmal: Keine Angst, die Beschreibung des Verfahrens sieht komplizierter
MehrErstellen einer digitalen Signatur für Adobe-Formulare
Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist
MehrHANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG
it4sport GmbH HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG Stand 10.07.2014 Version 2.0 1. INHALTSVERZEICHNIS 2. Abbildungsverzeichnis... 3 3. Dokumentenumfang... 4 4. Dokumente anzeigen... 5 4.1 Dokumente
MehrKlausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
MehrExkurs Kryptographie
Exkurs Kryptographie Am Anfang Konventionelle Krytographie Julius Cäsar mißtraute seinen Boten Ersetzen der Buchstaben einer Nachricht durch den dritten folgenden im Alphabet z. B. ABCDEFGHIJKLMNOPQRSTUVWXYZ
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Winter 2009/2010, 18. Februar 2010 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name:
Mehr14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt
14.4.2016 Technische Hochschule Georg Agricola WORKSHOP TEIL 3 IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt Inhaltsverzeichnis 1. Kurzfassung zur Projekterstellung... 2 2. Morse-Tabelle...
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrDatenbank-Verschlüsselung mit DbDefence und Webanwendungen.
Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrBeispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1
Beispiel Shop-Eintrag Ladenlokal & Online-Shop. Als Händler haben Sie beim Shop-Verzeichnis wir-lieben-shops.de die Möglichkeit einen oder mehrere Shop- Einträge zu erstellen. Es gibt 3 verschiedene Typen
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrLehrer: Einschreibemethoden
Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrWas meinen die Leute eigentlich mit: Grexit?
Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrDES der vergangene Standard für Bitblock-Chiffren
DES der vergangene Standard für Bitblock-Chiffren Klaus Pommerening Fachbereich Mathematik der Johannes-Gutenberg-Universität Saarstraße 1 D-55099 Mainz Vorlesung Kryptologie 1. März 1991, letzte Änderung:
MehrSpamfilter-Konfiguration für Outlook 2000 und höher
Spamfilter-Konfiguration für Outlook 2000 und höher Schritt 1 Starten Sie das Mailprogramm Outlook 2000/2002/2003 Schritt 2 Klicken Sie mit der linken Maustaste in der Menüleiste auf Extras und im sich
MehrDokumentation für das Spiel Pong
Dokumentation für das Spiel Pong BwInf - Turnierserver Didaktik der nformatik BWINF KI Wettbewerbs-Plattform Stand: 02.09.2014 Grundlagen In diesem KI-Turnier programmiert ihr einen Schläger für das Retro-Spiel
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrELO Print&Archive so nutzen Sie es richtig
ELO Print&Archive so nutzen Sie es richtig Die Einrichtung Ihres ersten Dokumententyps Im folgenden Beispiel möchten wir Ihnen genauer erläutern, wie Sie das neue Modul ELO Print&Archive, das automatisch
MehrZwischenablage (Bilder, Texte,...)
Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen
MehrMemeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein
Einleitung Memeo Instant Backup ist eine einfache Backup-Lösung für eine komplexe digitale Welt. Durch automatisch und fortlaufende Sicherung Ihrer wertvollen Dateien auf Ihrem Laufwerk C:, schützt Memeo
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
Mehr1) Farbsteuergerät in der Nikobus-Software unter Modul zufügen hinzufügen.
Programmierung des Farbsteuergeräts 340-00112 für Nikobus Diese Bedienungsanleitung gilt auch für die Nikobus-Produkte 340-00111 und 340-00113. Achtung: einige der aufgeführten Betriebsarten sind nur auf
MehrDownloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler
Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5
MehrAnleitungen zum KMG-Email-Konto
In dieser Anleitung erfahren Sie, wie Sie mit einem Browser (Firefox etc.) auf das Email-Konto zugreifen; Ihr Kennwort ändern; eine Weiterleitung zu einer privaten Email-Adresse einrichten; Ihr Email-Konto
MehrÜbung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse
Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
MehrKurzanleitung SEPPmail
Eine Region Meine Bank Kurzanleitung SEPPmail (E-Mail Verschlüsselungslösung) Im folgenden Dokument wird Ihnen Schritt für Schritt die Bedienung unserer Verschlüsselungslösung SEPPmail gezeigt und alle
MehrNeue Steuererklärung 2013 erstellen
Neue Steuererklärung 2013 erstellen Bitte klicken Sie im Startmenü auf die Schaltfläche Steuererklärung 2013 NEU Anschliessend wird der folgende Dialog angezeigt. Wenn Sie die letztjährige Steuererklärung
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrPakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).
Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen
Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Dateiname: ecdl5_01_02_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Access
MehrBeschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.
www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Beschreibung und Bedienungsanleitung Werkzeug für verschlüsselte bpks
MehrTheoretische Informatik SS 04 Übung 1
Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die
MehrEinfache kryptographische Verfahren
Einfache kryptographische Verfahren Prof. Dr. Hagen Knaf Studiengang Angewandte Mathematik 26. April 2015 c = a b + a b + + a b 1 11 1 12 2 1n c = a b + a b + + a b 2 21 1 22 2 2n c = a b + a b + + a b
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2014, 16. Juli 2014 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:
Mehr.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011
.procmailrc HOWTO zur Mailfilterung und Verteilung Stand: 01.01.2011 Copyright 2002-2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können
MehrSICHERN DER FAVORITEN
Seite 1 von 7 SICHERN DER FAVORITEN Eine Anleitung zum Sichern der eigenen Favoriten zur Verfügung gestellt durch: ZID Dezentrale Systeme März 2010 Seite 2 von 7 Für die Datensicherheit ist bekanntlich
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrDiese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.
Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,
MehrFolge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12
Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben
Mehr.NET Code schützen. Projekt.NET. Version 1.0
.NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll
MehrIndividuelle Formulare
Individuelle Formulare Die Vorlagen ermöglichen die Definition von Schnellerfassungen für die Kontenanlage sowie für den Im- und Export von Stammdaten. Dabei kann frei entschieden werden, welche Felder
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
Mehr