5 Codierung nach RSA (Lösung)
|
|
- Justus Flater
- vor 7 Jahren
- Abrufe
Transkript
1 Kapitel 5 Codierung nach RSA (Lösung) Seite 1/17 5 Codierung nach RSA (Lösung) 5.1 Einführung Die drei Mathematiker Rivest, Shamir und Adleman entwickelten 1977 das nach ihnen benannte RSA-Verfahren. Es basiert auf der Idee, dass die Faktorisierung einer großen Zahl, also ihre Zerlegung in (mindestens zwei) Faktoren, eine sehr aufwändige Angelegenheit ist, während das Erzeugen einer Zahl durch Multiplikation zweier Primzahlen trivial ist. Abbildung 5.1: Ronald Rivest (in der Mitte), Adi Shamir (links) und Leonard Adleman (rechts), Ich will nun das RSA-Verfahren an einem Beispiel verdeutlichen. An Alice sollen verschlüsselte Botschaften versendet werden. Dazu stellt Alice einen öffentlich bekannten Schlüssel (public key) zur Verfügung. Jeder kann diesen Schlüssel verwenden, um seine Botschaften an Alice zu kodieren. Bob verwendet nun diesen Schlüssel, um eine verschlüsselte Nachricht an Alice zu senden. Nach der Verschlüsselung ist es nur noch Alice möglich, diese Nachricht zu dekodieren, da nur sie die "Zusammensetzung" (private key) des von ihr erzeugten (öffentlichen) Schlüssels kennt. Bemerkung: Zuerst müssen die Buchstaben in Zahlen verwandelt werden. Dazu eignet sich natürlich der ASCII-Code. Dadurch entstehen bei den Großbuchstaben Zahlen zwischen 65 und 90. Um nun ein Beispiel mit Hilfe des Taschenrechners durchzuspielen, benötige ich möglichst kleine Zahlen. Beim RSA-Verfahren
2 Kapitel 5 Codierung nach RSA (Lösung) Seite 2/17 müssen nämlich zwei Primzahlen gewählt werden, deren Produkt größer ist als die größte Zahl, die die Buchstaben darstellen. Deshalb nummeriere ich die Buchstaben von 1 bis 26 (ASCII 65). Somit können im folgenden Beispiel kleinere Primzahlen gewählt werden Öffentlicher Schlüssel (public key) Alice muss also zuerst einen öffentlichen Schlüssel erzeugen. Sie wählt zwei riesige Primzahlen p und q. Die Primzahlen sollten sehr groß sein, doch der Einfachheit halber nehmen wir an, das Alice p = 5 und q = 11 wählt. Diese Zahlen muss sie geheim halten. Alice multipliziert diese beiden Primzahlen miteinander und erhält die Zahl N, in diesem Fall ist N = 55. Nun errechnet Alice eine Hilfszahl Z = (p-1). (q-1) = (5 1). (11 1) = 40. Sie wählt jetzt eine weitere Zahl E, die prim ist und zugleich kein Teiler von dieser Hilfszahl Z ist, in diesem Fall z.b. E = 7. Jetzt kann Alice diese beiden Zahlen E und N in einem öffentlichen Verzeichnis ablegen, so dass jeder Zugang zu diesen beiden Zahlen hat. Diese stellen also den öffentlichen Schlüssel (public key) dar, also N = 55 und E = Verschlüsselung Bob will nun Alice eine Mitteilung machen. Er muss also die Buchstaben des Klartextes zuerst in Zahlen umwandeln. Dazu nummeriert er das Alphabet durch: A = 0, B = 1, C = 2,, Z = 25. Nun sucht er den öffentlichen Schlüssel von Alice heraus, also N = 55 und E = 7. Damit kann er jeden Klarbuchstaben K in den Geheimbuchstaben G umrechnen nach folgender Formel G = K E mod N [K = Klarbuchstabe, G = Geheimbuchstabe] Nehmen wir nun an, Bob will an Alice den Klarbuchstaben M verschlüsselt senden. M = 12 G = 12 7 mod 55 = mod 55
3 Kapitel 5 Codierung nach RSA (Lösung) Seite 3/17 Bei großen Primzahlen wird diese Berechnung schwierig werden. Hierzu kann deshalb die Kongruenzarithmetik verwendet werden, indem 12 7 (bezüglich des Modulus 55) schrittweise durch eine dazu kongruente kleinere Zahl ersetzt wird. G = [12 mod ] mod mod 55. G = 23 Aus dem Klartext K = 12 (entspricht dem Buchstaben M ) ist somit der Geheimtext G = 23 geworden. Jetzt schickt Bob den Geheimtext 23 an Alice Geheimer Schlüssel (private key) Da die Modul-Arithmetik eine Einwegfunktion ist, ist es sehr schwer, bei sehr großen Zahlen sogar unmöglich, von G = 23 den Weg zurückzugehen und auf die ursprünglich Botschaft zu schließen. Alice jedoch kann die Botschaft entschlüsseln, weil nur sie eine bestimmte Information hat, nämlich die beiden Primzahlen p und q. Daraus berechnet sie eine besondere Zahl D, den privaten Schlüssel (private key). Diese Zahl D wird nach folgender Formel berechnet: E. D = 1 mod ((p-1). (q-1)) also E. D = 1 mod 40 = 1, 41, , 161, 201, 241, 281, 321, 361, 401, 441, Aus all diesen Zahlen sucht man nun eine, die E (hier 7) als Teiler haben, z.b. D = 161 : 7 = 23 D = 441 : 7 = 63 oder auch Somit besitzt nun Alice den geheimen Schlüssel (private key), also N = 55 und D = Entschlüsselung Um die Mitteilung von Bob nun zu entschlüsseln, benutzt Alice einfach folgende Formel: K = G D mod N [K = Klarbuchstabe, G = Geheimbuchstabe]
4 Kapitel 5 Codierung nach RSA (Lösung) Seite 4/17 K = (mod 55) = [23 mod 55). 23]. mod mod 55 = 12 also K = 12 = M. Alice kann also die von Bob verschlüsselte Nachricht lesen. Ein weiteres Beispiel zum Probieren: H = = 7 G = 7 7 (mod 55) = 28 K = (mod 55) = 7 = H Verwende nun folgenden Schlüssel: p = 47 N = 2773 D = 157 q = 59 E = 17 Auf den folgenden Webseiten findest du weitere Informationen über das RSA- Verfahren:
5 Kapitel 5 Codierung nach RSA (Lösung) Seite 5/ Definieren der Schnittstelle Abbildung 5.2: Definieren einer grafischen Schnittstelle Die Abbildung 5.2 zeigt, wie unsere grafische Benutzeroberfläche gestaltet sein könnte. Unabhängig vom Aussehen der GUI benötigen wir zur Codierung eines Textes die beiden Schlüssel N und E und das Klarwort. Diese drei Daten sollen vom Benutzer in entsprechenden Textfelder eingeben werden. Die Klasse RSA ist also verantwortlich, dass sie sich diese Daten aus der GUI selber holt. Dafür wird eine Methode holedaten() implementiert, die diese Aufgabe zu erledigen hat. Die Klasse RSA codiert nun mit Hilfe der beiden Schlüssel das eingegebene Das entsprechende Geheimwort gibt die Klasse RSA mit Hilfe der Methode gibwort() wieder zurück. Somit hat die Klasse Ansicht das Geheimwort und kann dann es in das dafür vorgesehene Textfeld einlesen. Die Klasse RSA hat also die folgenden öffentlichen Methoden: holedaten() und gibwort(). Nur diese beiden Methoden können von der Klasse Ansicht gesehen und somit auch verwendet werden.
6 Kapitel 5 Codierung nach RSA (Lösung) Seite 6/ Die Klasse RSA Verschlüsselung Wie in Abbildung 5.2 angedeutet, benötigt die Klasse RSA das Klarwort und die beiden Schlüssel und ermittelt daraus das Geheimwort. Allerdings können wir Klarwort und Geheimwort in einem einzigen Datenfeld speichern. Somit besitzt die Klasse RSA die drei Datenfelder wort, nschl und eschl. wort nsschl eschl RSA Methoden Abbildung 5.3: Datenfelder der Klasse RSA Diese drei Datenfelder müssen nun mit entsprechenden Werten belegt werden. Diese Werte holt sich die Klasse RSA mit Hilfe der Methode holedaten() aus den Textfeldern der GUI. In der Methode codierewort() wird aus dem Klartext der Geheimtext berechnet. Mit Hilfe der Methode gibwort() gibt die Klasse RSA nun den Geheimtext wieder zurück an die Klasse Ansicht, die ihn in das entsprechende Textfeld einsetzt. wort nschl eschl RSA holedaten() codierewort() rechnerest() gibwort() Abbildung 5.4: Datenfelder und Methoden der Klasse RSA Die Methode codierewort() ähnelt der Methode aus den bisher besprochenen Kapiteln.
7 Kapitel 5 Codierung nach RSA (Lösung) Seite 7/17 private void codierewort() StringBuffer wortbuffer; int wortlaenge, x; char ch; wortbuffer = new StringBuffer(); wort = wort.touppercase(); wortlaenge = wort.length(); for (int i = 0; i < wortlaenge; i++) ch = wort.charat(i); x = (int) ch; x = x - 65; x = rechnerest(x); wortbuffer.append(x + " "); wort = wortbuffer.tostring(); Abbildung 5.5: Die Methode codierewort() Neu hingegen ist die Methode rechnerest(). Jedem Buchstaben wird eine Zahl zugeordnet. Hier habe ich vorerst die Nummerierung im Alphabet genommen, also A = 0, B = 1,, Z = 25, weil mit diesen kleinen Zahlen relativ leicht zu rechnen ist. Diese zu verschlüsselnde Zahl, die Klarzahl, wird mit dem Schlüssel E potenziert und der Rest bezüglich der Division durch den Schlüssel N berechnet: G = K E mod N [K = Klarbuchstabe, G = Geheimbuchstabe] Dieser Rest ist die verschlüsselte Zahl. Die Methode rechnerest() ermittelt den Rest, indem man die Klarzahl modulo N berechnet. Dieser Rest wird wieder mit der Klarzahl multipliziert, der Rest modulo N ermittelt, und so weiter. Die Anzahl der Durchläufe wird durch den Schlüssel E bestimmt: G = [x mod N. x] mod N. x mod N. for (int i = 0; i < eschl; i++) rest = zahl % nschl; zahl = rest * zahlh; Abbildung 5.6: Die Kongruenz-Arithmetik
8 Kapitel 5 Codierung nach RSA (Lösung) Seite 8/17 Mit Hilfe dieser Kongruenz-Arithmetik wird also aus der Klarzahl zahl die Geheimzahl rest ermittelt. private int rechnerest(int zahlh) int zahl, rest = 0; zahl = zahlh; for (int i = 0; i < eschl; i++) rest = zahl % nschl; zahl = rest * zahlh; return rest; Abbildung 5.7: Die Methode rechnerest() Übung: Das Projekt RSA01a behandelt die Verschlüsselung nach RSA. Abbildung 5.8: Die Methoden holedaten() und gibwort() Entschlüsselung In der Methode codierewort() wurden die Klarbuchstaben in Geheimzahlen umgerechnet und jeweils mit einem Zwischenabstand in das Textfeld geschrieben. Auch nach der letzten Geheimzahl befindet sich ein Leerzeichen. Bemerkung: Es ist wichtig, dass die Eingabe der Zahlenreihe mit einem Leerzeichen abgeschlossen wird, denn dieses Leerzeichen wird hier zur Trennung dieser Zahlenreihe benötigt. Zum Dekodieren benötigen wir nun den Schlüssel D. Folglich verwenden wir ein Datenfeld dschl. Die öffentlichen Methoden holewort() und gibwort() bleiben unverändert und können somit von der Klasse Ansicht gelesen werden.
9 Kapitel 5 Codierung nach RSA (Lösung) Seite 9/17 Änderungen finden in den beiden privaten Methoden decodierewort() und rechnerest(). wort nschl dschl RSA holedaten() decodierewort() rechnerest() gibwort() Abbildung 5.9: Datenfelder und Methoden der Klasse RSA Die Methode decodierwort() muss nun aus der Zahlenreihe wieder das Klarwort ermitteln. private void decodierewort() StringBuffer wortbuffer; String teilwort; int trennen, x; wortbuffer = new StringBuffer(); while (wort.length() > 0) trennen = wort.indexof(32); teilwort = wort.substring(0, trennen); wort = wort.substring(trennen + 1); x = Integer.parseInt(teilWort); x = rechnerest(x); x = x + 65; wortbuffer.append((char) x); wort = wortbuffer.tostring(); Abbildung 5.10: Die Methode decodierewort() Der ASCII-Code für die Leertaste beträgt 32. Die Stelle des Leerzeichens innerhalb der Zeichenkette wird mit indexof(32) gesucht und somit der String in zwei Teile zerlegt. Der erste Teilstring wird als teilwort gespeichert und in eine Integerzahl x umgewandelt, die dann der Methode rechnerest() übergeben wird. Diese Methode berechnet den Modulo-Rest und gibt diesen wieder an die Methode decodierewort() zurück. Daraus wird der Klarbuchstabe erzeugt.
10 Kapitel 5 Codierung nach RSA (Lösung) Seite 10/17 Der zweite Teilstring nach dem Leerzeichen wird wieder in der Methode decodierewort() zur weiteren Verarbeitung verwendet. Somit wird der String von Leerzeichen zu Leerzeichen in den Klartext umgewandelt solange die Länge des Strings größer 0 ist. In der Methode rechnerest() wird an Stelle der Variablen eschl die Variable dschl verwendet. private int rechnerest(int zahlh) int zahl, rest = 0; zahl = zahlh; for (int i = 0; i < dschl; i++) rest = zahl % nschl; zahl = rest * zahlh; return rest; Abbildung 5.11: Die Methode rechnerest() Übung: Das Projekt RSA01b behandelt die Entschlüsselung nach RSA. Abbildung 5.12: Die Methoden holedaten() und gibwort() Zusammenfassung Nun sollten die Verschlüsselung und die Entschlüsselung zu einer einzigen Klasse zusammengefasst werden. Hierzu führe ich eine Variable codier vom Typ boolean ein. if (codier == true) codierewort(); if (codier == false) decodierewort(); Abbildung 5.13: Verwendung der Variablen codier
11 Kapitel 5 Codierung nach RSA (Lösung) Seite 11/17 Im Konstruktor wird deren Wert überprüft. Falls sie den Wert true hat, wird die Methode codierewort(), falls sie den Wert false hat, wird die Methode decodierewort() ausgeführt. wort nschl edschl codier RSA holedaten() codierewort() decodierewort() rechnerest() gibwort() Abbildung 5.14: Datenfelder und Methoden der Klasse RSA Übung: Das Projekt RSA01c behandelt die Verschlüsselung/Entschlüsselung nach RSA. Abbildung 5.15: Die Methoden holedaten() und gibwort() beim Codieren bzw. Decodieren
12 Kapitel 5 Codierung nach RSA (Lösung) Seite 12/ Die grafische Oberfläche Gestaltung Die grafische Oberfläche übernehme ich aus Kapitel 1 Abbildung 1.16, Abbildung 5.16: Beispiel für die GUI von RSA02a Es wurden folgende Veränderungen durchgeführt: 1. Name des Fensters 2. Weitere Labels und Textfelder für die Eingabe der Schlüssel. Übung: Das Projekt RSA02a behandelt die Oberfläche Reaktionen Nun müssen wir noch die Reaktionen programmieren, wenn auf die Radiobutton bzw. auf den Button geklickt wird. Die Reaktionen auf die beiden Radiobuttons sind recht einfach. Wird codiert, wird im Einstellungsbereich der öffentliche Schlüssel public key eingetragen, das Textfeld eschltf erwartet den Schlüssel E und im Darstellungsbereich ist das obere Textfeld für den Klartext, das untere für den Geheimtext vorgesehen. Beim Decodieren werden entsprechend geänderte Eintragungen angezeigt. Dementsprechend müssen die Labels die richtige Beschriftung wider geben. private void codierrbitemstatechanged(itemevent evt) if (codierrb.isselected()) textl.settext("public key"); edschll.settext("schluessel E:");
13 Kapitel 5 Codierung nach RSA (Lösung) Seite 13/17 eingabel.settext("klartext:"); ausgabel.settext("geheimtext:"); private void decodierrbitemstatechanged(itemevent evt) if (decodierrb.isselected()) textl.settext("private key"); edschll.settext("schluessel D:"); eingabel.settext("geheimtext: (letztes Zeichen Leertaste!)"); ausgabel.settext("klartext:"); Abbildung 5.17: Methoden zur Beschriftung der Textfelder Die Reaktion auf den Button lässt sich weit gehend aus Projekt Caesar03d übernehmen. Sie unterscheidet sich nur in der Verwendung der zusätzlichen Variablen codieren. Ihr Wert ist true bzw. false je nach Wahl des Radiobuttons. private void uebersetzbactionperformed(actionevent evt) String wort; int nschl, edschl; boolean codieren = true; //gerade aktivierter Radiobutton RSA einrsa = new RSA(); wort = eingabetf.gettext(); nschl = Integer.parseInt(nSchlTF.getText()); edschl = Integer.parseInt(edSchlTF.getText()); if (codierrb.isselected()) codieren = true; if (decodierrb.isselected()) codieren = false; einrsa.holedaten(wort, nschl, edschl, codieren); wort = einrsa.gibwort(); ausgabetf.settext(wort); Abbildung 5.18: Die Methode uebersetzbactionperformed() in der Klasse Ansicht Übung: Das Projekt RSA02b behandelt die Oberfläche mit den Reaktionen.
14 Kapitel 5 Codierung nach RSA (Lösung) Seite 14/17 Abbildung 5.19: Das Projekt RSA02b beim Verschlüsseln Abbildung 5.20: Das Projekt RSA02b beim Entschlüsseln 5.5 Eine stand-alone Applikation Bis jetzt läuft unser Programm nur in der Entwicklungsumgebung BlueJ. Wir wollen es jedoch als selbstständiges Programm an dritte Personen weitergeben können. Hierzu benötigen wir eine so genannte main()-methode. Wird diese Methode beim Aufruf des Programms gefunden, so läuft der Rest sozusagen von allein ab. Ich lege diese Methode main() aus didaktischen Gründen in eine eigene Klasse Codierung. public class Codierung Ansicht ansicht; public Codierung()
15 Kapitel 5 Codierung nach RSA (Lösung) Seite 15/17 ansicht = new Ansicht(); public static void main(string[] args) Codierung q = new Codierung(); Abbildung 5.21: Quellcode der Klasse Codierung Abbildung 5.22: Klassendiagramm von RSA03 mit dem Aufruf der Methode main() Übung: Aus dem Projekt RSA03 kann eine stand-alone-applikation erstellt werden. 5.6 Verbesserung des RSA-Verfahrens Wird nun jeder Buchstabe für sich verschlüsselt, dann erhalten alle gleichen Buchstaben den gleichen Geheimbuchstaben. Das ist natürlich sinnlos, da man mit Hilfe einer Häufigkeitsanalyse recht schnell den Klartext ermitteln kann. Fasst man jedoch zwei Buchstaben zusammen zu einer Zahl, die codiert wird, so ist dieser Geheimtext schon nicht mehr so leicht zu entschlüsseln. Klartext: g e h e i m Nummer:
16 Kapitel 5 Codierung nach RSA (Lösung) Seite 16/17 Zahl: Bemerkung: Beim Durchspielen von RSA04 ergaben sich folgende Probleme: 1. Da immer zwei Buchstaben zusammengefasst werden, muss der Klartext aus einer geraden Anzahl von Buchstaben bestehen. Vorläufig hänge ich zum Schluss ggf. den Buchstaben z noch an. 2. Der Buchstabe Z erhält bei der Durchnummerierung die Zahl 25. Da immer zwei Buchstaben zusammengefasst werden zu einer Zahl, ist die größte vorkommende Zahl Beim Dechiffrieren muss also als Klarzahl wieder 2525 erscheinen. Dies erfolgt nur, wenn bei der Modulo-Rechnung eine größere Zahl als 2525 verwendet wird. Deswegen verwende ich folgende Schlüssel: p = 47, q = 59, N = 2773, E = 17, D = Es kann noch kein Text mit Leerzeichen, Sonderzeichen und Umlauten eingegeben werden, da der ASCII-Code für die Leertaste 32 beträgt. Wird davon 65 abgezogen, kommt man zu einer negativen Zahl, die in der Modulo-Rechnung Probleme bereitet. In der Methode codierewort() werden von zwei aufeinander folgenden Buchstaben die Klarzahlen x1 und x2 ermittelt und zu einer vierstelligen Zahl x zusammengefasst. Diese Zahl wird nun in der Methode rechnerest() dem RSA- Algorithmus unterworfen. for (int i = 0; i < wortlaenge; i = i + 2) ch1 = wort.charat(i); x1 = (int) ch1; x1 = x1-65; ch2 = wort.charat(i + 1); x2 = (int) ch2; x2 = x2-65; x = 100 * x1 + x2; x = rechnerest(x); wortbuffer.append(x + " "); Abbildung 5.23: Änderungen in der Methode codierewort() In der Methode decodierewort() müssen aus der vierstelligen Zahl x wieder die beiden Klarzahlen x1 und x2 ermittelt werden. Die Zahl x2 wird durch mod 100 und die Zahl x1 durch div 100 berechnet. while (wort.length() > 0)
17 Kapitel 5 Codierung nach RSA (Lösung) Seite 17/17 trennen = wort.indexof(32); teilwort = wort.substring(0, trennen); wort = wort.substring(trennen + 1); x = Integer.parseInt(teilWort); x = rechnerest(x); x2 = x % 100; x1 = (int) (x / 100); x1 = x1 + 65; x2 = x2 + 65; wortbuffer.append((char) x1); wortbuffer.append((char) x2); Abbildung 5.24: Änderungen in der Methode decodierewort() Abbildung 5.25: Das Projekt RSA04 beim Verschlüsseln Abbildung 5.26: Das Projekt RSA04 beim Entschlüsseln
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
Mehr1 Verschlüsselung nach Caesar
Kapitel 1 Verschlüsselung nach Caesar (Phase 1) Seite 1/14 1 Verschlüsselung nach Caesar Die Verschlüsselung nach Caesar beruht auf einem Geheimtextalphabet, das um eine bestimmte Stellenanzahl gegenüber
MehrProbeklausur Informatik 2 Sommersemester 2013
Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel
MehrKommunikationsalgorithmus RSA
Kommunikationsalgorithmus RSA Herr Maue Ergänzungsfach Informatik Neue Kantonsschule Aarau Früjahrsemester 2015 24.04.2015 EFI (Hr. Maue) Kryptographie 24.04.2015 1 / 26 Programm heute 1. Verschlüsselungsverfahren
MehrPRIMZAHLEN PATRICK WEGENER
PRIMZAHLEN PATRICK WEGENER 1. Einführung: Was sind Primzahlen? Eine ganze Zahl p, welche größer als 1 ist, heißt Primzahl, wenn sie nur durch 1 und sich selbst teilbar ist. Mit teilbar meinen wir hier
MehrKRYPTOSYSTEME & RSA IM SPEZIELLEN
KRYPTOSYSTEME & RSA IM SPEZIELLEN Kryptosysteme allgemein Ein Kryptosystem ist eine Vorrichtung oder ein Verfahren, bei dem ein Klartext mithilfe eines Schlüssels in einen Geheimtext umgewandelt wird (Verschlüsselung)
MehrFacharbeit. Public-Key-Verfahren(PGP) Stephan Larws Informatik 02
Facharbeit Public-Key-Verfahren(PGP) Stephan Larws Informatik 02 1 Inhaltsverzeichnis 1.) DES 2.) Das Problem der Schlüsselverteilung - Lösung von Diffie, Hellman und Merkle 3.) Die Idee der asymmetrischen
MehrProgrammierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5.
Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom 18.5. bis zum 22.5.2009 (KW 21) Organisatorisches Die Webseiten zur Veranstaltung sind unter
Mehr11. Das RSA Verfahren
Chr.Nelius: Zahlentheorie (SoSe 2017) 53 11. Das RSA Verfahren Bei einer asymmetrischen Verschlüsselung lässt sich der Schlüssel zum Entschlüsseln nicht aus dem Schlüssel zum Verschlüsseln bestimmen und
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
Mehrn ϕ n
1 3. Teiler und teilerfremde Zahlen Euler (1707-1783, Gymnasium und Universität in Basel, Professor für Physik und Mathematik in Petersburg und Berlin) war nicht nur einer der produktivsten Mathematiker
MehrVorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
Mehr2 Programmieren in Java I noch ohne Nachbearbeitung
1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe
Mehrpublic class SternchenRechteckGefuellt {
Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und
MehrVorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
MehrAusgabe:
Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
Mehr5 Das Projekt Apfelwein
Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 1 5 Das Projekt Apfelwein Bemerkung: In der 10. Jahrgangsstufe (G8) werden die Schüler in die zustandsorientierte Programmierung eingeführt. Dies
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
MehrMathematisches Kaleidoskop 2014 Materialien Teil 2. Dr. Hermann Dürkop
Mathematisches Kaleidoskop 2014 Materialien Teil 2 Dr. Hermann Dürkop 1 1.6 Quadratische Reste und das Legendre-Symbol Im folgenden seien die Moduln p immer Primzahlen. Wir haben bisher gesehen, ob und
MehrAES und Public-Key-Kryptographie
Jens Kubieziel jens@kubieziel.de Friedrich-Schiller-Universität Jena Fakultät für Mathem atik und Informatik 22. Juni 2009 Beschreibung des Algorithmus Angriffe gegen AES Wichtige Algorithmen im 20. Jahrhundert
MehrErste Java-Programme (Scopes und Rekursion)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
MehrRSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:
RSA-Verschlüsselung Das RSA-Verfahren ist ein asymmetrisches Verschlüsselungsverfahren, das nach seinen Erfindern Ronald Linn Rivest, Adi Shamir und Leonard Adlemann benannt ist. RSA verwendet ein Schlüsselpaar
MehrWuerfel - augenzahl: int + Wuerfel() + wuerfeln() + gibaugenzahl(): int
Informatik Eph IFG1/2 (GA) Bearbeitungszeit: 90 min. Seite 1 Aufgabe 1: Kniffel Modellierung und Implementierung Im Folgenden sollen Teile eines kleinen "Kniffel"-Spiels modelliert, analysiert und implementiert
MehrJava 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrDas RSA Kryptosystem
Kryptografie Grundlagen RSA Institut für Mathematik Technische Universität Berlin Kryptografie Grundlagen RSA mit geheimem mit öffentlichem Schlüssel Realisierung Kryptografie mit geheimem Schlüssel Alice
MehrKryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik
Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Zwecke der Krytographie Techniken Symmetrische Verschlüsselung( One-time Pad,
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrObjektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein
Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte
MehrÜbung 1: Installation + Test von Eclipse. Übung 2: Hello World
Übung 1: Installation + Test von Eclipse Es soll die Installation der Entwicklungsumgebung Eclipse durchgeführt werden gemäss Dokument "InstallationTest.Eclipse.15.0.pdf" auf der DVD im Verzeichnis Eclipse.
MehrKryptographie. Teilnehmer: Gruppenleiter: Humboldt-Universität zu Berlin.
Kryptographie Teilnehmer: Kevin Huber Philippe Gruse Vera Koldewitz Philipp Jakubahs Julian Zimmert Maximilian Werk Hermann-Hesse-Oberschule Heinrich-Hertz-Oberschule Gruppenleiter: Ulf Kühn Humboldt-Universität
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
MehrDas Verschlüsselungsverfahren RSA
Das Verschlüsselungsverfahren RSA von Nora Schweppe Humboldt-Oberschule Berlin Grundkurs Informatik 3 Herr Dietz Inhaltsverzeichnis 1. Einleitung... 1-2 1.1 Symmetrische und asymmetrische Verschlüsselungsverfahren...1
MehrJava Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.
Java Übung Übung 3 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 2. Mai 2006 (UniDUE) 2. Mai 2006 1 / 17 Aufgabe 1 Umwandeln von do while in for Schleife. Listing 1: aufgabe3 1.java 1 public
MehrStädtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode
Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode folgt im Anschluss. Beispielcode Es gibt eine Klasse Benutzerverwaltung, welche eine Liste mit Benutzern
MehrÜbung Nr. 20 Freitag, 09:00-11:00 Uhr in E3.301
Übung Nr. 20 Freitag, 09:00-11:00 Uhr in E3.301 Aufgabe 8: Implementierung eines Ereignis-Automaten a) Modellieren Sie einen Ereignis-Automaten für den in der Abbildung dargestellten und in Calculator.java
MehrTutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen
MehrSystem.out.println("TEXT");
Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class
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
MehrVorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken
Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken Aufgabe 1.60 a) Welchen Wert erhält die boolesche Variable z in folgendem Beispiel? int i = 2, j = 5; boolean
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 11 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrGegeben sind die folgenden Programmausschnitte: I. Programmausschnitt: II. Programmausschnitt: III. Programmausschnitt: IV. Programmausschnitt:
Technische Informatik für Ingenieure WS 00/0 Übungsblatt Nr. 0. Januar 0 Übungsgruppenleiter: Matthias Fischer Mouns Almarrani Rafał Dorociak Michael Feldmann Thomas Gewering Benjamin Koch Dominik Lüke
MehrSCHRIFTLICHE ZUSAMMENFASSUNG ZUM VORTRAG DIE GRUNDLAGEN DER RSA-VERSCHLÜSSELUNG VON DANIEL METZSCH
SCHRIFTLICHE ZUSAMMENFASSUNG ZUM VORTRAG DIE GRUNDLAGEN DER RSA-VERSCHLÜSSELUNG VON DANIEL METZSCH Freie Universität Berlin Fachbereich für Mathematik & Informatik Institut für Mathematik II Seminar über
Mehr3.5 Kryptographie - eine Anwendung der Kongruenzrechnung
1 3.5 Kryptographie - eine Anwendung der Kongruenzrechnung Das Wort Kryptographie leitet sich aus der griechischen Sprache ab, nämlich aus den beiden Worten κρυπτ oς(kryptos)=versteckt, geheim und γραϕɛιν(grafein)=schreiben.
MehrZahlentheorie, Arithmetik und Algebra I. Felix Teufel Hallo Welt! -Seminar - LS 2
Zahlentheorie, Arithmetik und Algebra I Felix Teufel 26.07.2017 Hallo Welt! -Seminar - LS 2 Überblick Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen Eulersche Φ-Funktion RSA Quellen 26.07.2017
MehrEinführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe
Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt
MehrDiskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren)
WS 2016/17 Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrKontrollstrukturen: Wiederholungsanweisungen
Kontrollstrukturen: Wiederholungsanweisungen Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Wiederholungsanweisungen
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrAusgeschriebene Informatik-Unterrichtsmitschrift (inklusive Hausaufgaben) vom 28.02.07 V.2. Valentina Tamer
Ausgeschriebene Informatik-Unterrichtsmitschrift (inklusive Hausaufgaben) vom 280207 V2 Valentina Tamer RSA-Verschlüsselung Legende M (message) = Nachricht im Klartext p, q = (sehr große) Primzahlen N
MehrKapitel 7 Algorithmem Seite 1
Kapitel 7 Algorithmem Seite 1 7 Algorithmen In diesem Kapitel will ich einige einfache Algorithmen mit ihren Kontrollstrukturen in Java besprechen. Zum Nachschlagen steht am Ende dieses Kapitels eine Zusammenfassung
MehrProgrammiertechnik Übungen zu Klassen & -methoden
Programmiertechnik Übungen zu Klassen & -methoden Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Übung 1 Ein Verfahren, den größten gemeinsamen Teiler (ggt) zweier Zahlen a und b, a
MehrDas RSA-Verfahren. Proseminar Kryptographische Protokolle SS Armin Litzel
in der Praxis Proseminar Kryptographische Protokolle SS 2009 5.5.2009 in der Praxis Gliederung 1 Grundlegendes über RSA 2 in der Praxis Allgemeine Vorgehensweise zur Verschlüsselung Signieren mit RSA 3
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
MehrCoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.
CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)
MehrSoftwareentwicklung Lösungen zu Programmierung von Klassen mit BlueJ
Klasse, Objekt, Eigenschaften und Verhalten Aufgaben: 1. Erläutern Sie die im obigen Text fett gedruckten Worte. 2. Stellen Sie eine Klasse, die als Bauanleitung für Objekte vom Typ "frische Lebensmittel"
MehrProgrammierung für Mathematik (HS13)
software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 11 1 Aufgabe: Codeverständnis 1.1 Aufgabenstellung Notieren Sie, was der folgende Code ausgeben würde, wenn er so in einer
MehrEinführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrKapitel. Platzhalter. Was sind Platzhalter?
Kapitel 3 Was sind? sind ganz wichtige Elemente bei der Programmierung. Alle Programme, die du schon kennst (wie beispielsweise die Textverarbeitung WORD oder ein Programm zum Verschicken von E-Mails),
MehrEinführung in die Programmierung. (K-)II/Wb17
Probeklausur Hochschule Zittau/Görlitz, Prüfer: Prof. Dr. Georg Ringwelski Einführung in die Programmierung (K-)II/Wb17 Matrikelnummer: Punkte: 1 2 3 4 5 6 Gesamt /21 /19 /20 /20 /20 /20 /120 Spielregeln:
MehrLösung der Klausur zur Vorlesung. Grundlagen der Informatik und Numerik. Dr. Monika Meiler. Jedes Blatt ist mit der Matrikelnummer zu versehen.
Lösung der Klausur zur Vorlesung Grundlagen der Inormatik und Numerik Dr. Monika Meiler Bemerkungen: Jedes Blatt ist mit der Matrikelnummer zu versehen. Jede Augabe ist au dem vorgesehenen Blatt zu lösen.
Mehr12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
MehrEin RSA verwandtes, randomisiertes Public Key Kryptosystem
Seminar Codes und Kryptographie WS 2003 Ein RSA verwandtes, randomisiertes Public Key Kryptosystem Kai Gehrs Übersicht 1. Motivation 2. Das Public Key Kryptosystem 2.1 p-sylow Untergruppen und eine spezielle
MehrVI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren
VI.3 RSA - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman - vorgestellt 1977 - erstes Public-Key Verschlüsselungsverfahren - auch heute noch das wichtigste Public-Key Verfahren 1
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrSelbsteinstufungstest Vorkurs Programmieren
VPR Selbsteinstufungstest Vorkurs Programmieren Zeit 90 Minuten Aufgabe 1: Einzigartig (10 Punkte) Schreiben Sie eine Methode die angibt, ob ein String str1 in einem zweiten String str2 genau einmal vorkommt.
MehrÜbungsblatt 1. Java Vorkurs (WS 2017)
Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die
MehrKryptographische Verfahren auf Basis des Diskreten Logarithmus
Kryptographische Verfahren auf Basis des Diskreten Logarithmus -Vorlesung Public-Key-Kryptographie SS2010- Sascha Grau ITI, TU Ilmenau, Germany Seite 1 / 18 Unser Fahrplan heute 1 Der Diskrete Logarithmus
MehrPrüfung Softwareentwicklung II (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 2 B Sommersemester 2016 Prüfung Softwareentwicklung II (IB) Datum : 11.07.2016, 16:30 Uhr Bearbeitungszeit
MehrKontrollstrukturen: Wiederholungsanweisungen
Kontrollstrukturen: Wiederholungsanweisungen Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung https://www.sosy-lab.org/teaching/2017-ws-infoeinf/
MehrJava Einführung Klassendefinitionen
Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse
MehrObjektorientierte Programmierung OOP Programmieren mit Java
Übungen: 6 Schleifen Objektorientierte Programmierung OOP Programmieren mit Java 1. do-schleife 2. while-schleife 3. a) c) Verschiedene for-schleifen 6 Schleifen Übungen 4. for-schleife: halber Tannenbaum
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:
MehrKlausur "C#" WS 2012/2013
PD Dr. J. Reischer 13.02.2013 Klausur "C#" WS 2012/2013 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes aus!
MehrKurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34
Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34 Satz 4.2.11 (Chinesischer Restsatz, Ring-Version) Sind N teilerfremd (d.h. ggt( ) =1), so ist die Abbildung ein Ring-Isomorphismus. :
MehrStudent: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:
Berufsakademie Stuttgart / Außenstelle Horb Studienbereich Technik Studiengang Informationstechnik Kurs IT2006, 2.Semester Dozent: Olaf Herden Student: Alexander Carls Matrikelnummer: 166270 Aufgabe: Beschreibung
MehrPraktikum 1: Einführung, BMI Rechner
Praktikum 1: Einführung, BMI Rechner Aufgabe 1: Erstellen und Ausführen einer Java Konsolen-Anwendung Für dieses Semester können Sie wieder NetBeans verwenden. Sie sollten Java auch schon installiert haben.
MehrTagesprogramm. Werte und Typen Methoden und Parameter Ergebnisse und Seiteneffekte.
1 2017-03-13 Tagesprogramm Werte und Typen Methoden und Parameter Ergebnisse und Seiteneffekte http://pingo.upb.de/839558 Skriptum ab Seite 43 git clone https://github.com/markus2330/pk17s03 2 2017-03-13
MehrProgrammierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder
Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Syntax und Semantik): 1. Was ist Syntax? Was ist Semantik? Erläutern Sie den Unterschied. 2.
Mehr5 Projekt Bankverwaltung
Kapitel 5 Bankverwaltung (Lösung) Seite 1/7 5 Projekt Bankverwaltung 5.1 Festlegen der Schnittstelle Bevor du mit der Programmierung beginnst, musst du dir einige Gedanken über die Schnittstelle zwischen
MehrKlassen, Vererbung, Benutzereingabe
Rolf Hennicker, Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1 Die bisherigen Anwendungen in den Übungen
MehrGrundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem
Grundzüge der Wirtschaftsinformatik WS 2002/03 Wiederholung Java Heiko Rossnagel www.m-lehrstuhl.de accelerate.com Grundzüge der Wirtschaftsinformatik WS 2002/03 1 Programmierzyklus Problem Formulierung
MehrInformatik Funktionen
Informatik Seite 1 Funktion Mathematik: Zuordnung Argumentwert(e) => Ergebniswerte Beispiel: f(x,y) = 2*x+y Informatik / Programmierung: Zusammenfassung von Anweisungen die von Argumentwerten abhängen
Mehr/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();
Bereich: Grafische Benutzeroberflächen (UI), Events (2) Editor Package: de.dhbwka.java.exercise.ui.editor Klasse: Editor Aufgabenstellung: Schreiben Sie einen kleinen Texteditor mit Swing! Keine Panik,
MehrEinführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrAngewandte Kryptographie
Angewandte Kryptographie 3. Asymmetrische Verfahren Netzwerksicherheit WS 2001/2002 Jean-Marc Piveteau 1. Die Public Key -Revolution Angewandte Kryptographie Kapitel 2 2 Symmetrische Kryptographie: Die
MehrJavaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden
Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrSoftware Entwicklung & Programmierung - 0. Übungsblatt
public class addieren { * Aufgabe 1: * Implementieren Sie eine Methode, die alle Zahlen von 1 bis zu einer * definierten Zahl n addiert. Beispiel addiere(3) addiert 1 + 2 + 3 = 6 public int addieren(int
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung
Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:
MehrEinführung in die Kryptographie. 20.6.2011, www.privacyfoundation.ch
Einführung in die Kryptographie 20.6.2011, www.privacyfoundation.ch Kryptographie Name kryptós: verborgen, geheim gráphein: schreiben Verschlüsselung Text so umwandeln, dass man ihn nur noch entziffern/lesen
MehrFunktionsweise des. RSA-Verfahrens
Funktionsweise des RSA-Verfahrens CrypTool-Team November 2010 Kryptografie wozu? Das Verschlüsseln von Nachrichten hat in der Geschichte der Menschheit schon immer eine wichtige Rolle gespielt. In jedem
MehrWS 2013/14. Diskrete Strukturen
WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314
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
Mehr