IT-Security. Teil 8b: Rechnen mit beliebiger Genauigkeit Algorithmen
|
|
- Kristina Hertz
- vor 6 Jahren
- Abrufe
Transkript
1 IT-Security Teil 8b: Rechnen mit beliebiger Genauigkeit Algorithmen
2 Überblick Potenzieren Quadrieren Euklid'scher Algorithmus In den meisten Fällen wird nur mit positiven Werten gerechnet. Bei den Erweiterten Versionen des Euklid schen Algorithmus nicht. 2
3 Potenzieren I Das Potenzieren wird auf mehrfaches Multiplizieren zurückgeführt. a b c (mod m) Beispiel: 3 4? (mod 5) 3*3*3*3 1 (mod 5) Dies aber so zu implementieren ist recht langsam, es gibt einen schnelleren Algorithmus. 3
4 Potenzieren II schneller Algorithmus a n+m = a n *a m 1)Exponent wird als Binärzahl, also als Polynom mit 2er-Potenzen dargestellt. 2)Für jede 1 der Binärzahl wird ein Summand als 2er-Potenz berechnet. 3)Dann werden alle Summanden im Exponenten addiert. 4)Aus der Addition der Exponenten wird eine Multiplikation. Beispiel: a 23 = a 10111B = a = a * a 2 * a 4 * a 16 Die Folge a,a 2,a 4,a 16 lässt sich durch Quadrieren erstellen. Statt 22 Multiplikationen: 7 Multiplikationen 4
5 Potenzieren III schneller Algorithmus Aufwand n-1 Quadrierungen, wobei n die Nummer der höchste Stelle des Exponenten in Binärdarstellung mit 1 ist Für jede 1 im Binärwert eine weitere Multiplikation - 1. Typische Zahl: = B 16 Quadrierungen (17. Stelle mit 1 beginnend gezählt) 2 Einsen, d.h. eine weitere Multiplikation, also 17, statt Multiplikationen Siehe dazu: 5
6 Potenzieren IV schneller Algorithmus für a n func BigInt pow(bigint a,n) { BigInt c:= new(n*a.spart+n,1) BigInt t:= new(a.spart,a) while n>0 { if n mod 2 == 1 { c:= c*t; t:= t**2; n:= n div 2; return c func BigInt pow(bigint a,n) { BigInt c:= new(n*a.spart+n,1) BigInt t:= new(a.spart,a) while n>0 { n,bit:= shiftright(n); if bit { c:= mul(c,t); t:= square(t); return c Links die eher mathematische Version, rechts die mit Bibliotheksfunktionen shiftright() verschiebt den Parameter um 1 Bit nach rechts und liefert dazu das weggeschobene Bit. Um das Kopieren der Langzahlen zu vermeiden, können Prozeduren mit Output-Parameter benutzt werden. 6
7 Potenzieren V Division durch 2 func BigInt Bit shiftright(bigint a) { Cell lowest:= a[0]&1; BigInt c:= new(a.spart); for i:= 0 to a.spart-2 { low:= a[i+1]&1; c[i]:= ((c[i]>>1)&~highbit) (low<<highshift); c[a.spart-1]:= (c[a.spart-1]>>1); return reduce(c),lowest; Die Schiebeoperation nach rechts (>>) verlängert das Vorzeichen, so dass negative Zahlen weiterhin auch negativ bleiben. Um das Kopieren der Langzahlen zu vermeiden, können Prozeduren mit Output-Parameter benutzt werden. highbit und highshift sind global definierte Konstanten (siehe 1. Teil). 7
8 Potenzieren mit Modulo func BigInt powmod(bigint a,n,m) { BigInt res:= 1 BigInt t:= new(a.spart,a) while n>0 { if n mod 2 == 1 { res:= (res*t) mod m; t:= (t*t) mod m; // Quadrieren n:= n div 2 return res a n c (mod m) div ist ein Schieben nach rechts um 1 Bit. mod 2 ist das Prüfen des untersten Bits. Diese Version beruht eher auf mathematische Definitionen, die Version mit Bibliotheksroutinen wird analog zum vorherigen Beispiel programmiert. 8
9 Quadrieren I z= a 3 *B 3 +a 2 *B 2 +a 1 *B 1 +a 0 *B 0 (a+b)(a+b) = a 2 +2ab+b 2 (a+b+c)(a+b+c) = a 2 +ab+ac+ab+b 2 +bc+ac+bc+c 2 = a 2 +b 2 +c 2 +2ab+2ac+2bc (a+b+c+d)(a+b+c+d) = a 2 +b 2 +c 2 +d 2 +ab+ac+ad+ab+bc+bd+ac+bc+cd+ad+bd+cd Jede Binärzahl ist ein Polynom. Das Quadrieren kann daher als Verallgemeinerung der Binomischen Formeln angesehen werden, wenn die Summen als die Polynome aufgefasst werden. Die Potenzen der Basis entsprechen den Positionen im Array der Langzahl, also z.b. a+b = a 1 *B 1 +a 0 *B 0. 9
10 Quadrieren II func BigInt square(bigint a) { Cell2 tmp; BigInt c:= new(2*a.spart+1,0); for i:= 0 to a.spart-1 { for j:= i+1 to a.spart-1 { tmp:= a[i]*a[j]; addcell2(c,i+j,tmp); addcell2(c,i+j,tmp);// 2 Mal tmp:= a[i]*a[i]; addcell2(c,2*i,tmp); // Addition der Quadrate return c; Die Routine addcell2() wurde im 1. Teil definiert. Es werden ca % Multiplikationen gespart. 10
11 Potenzieren mit Modulo Primzahl func BigInt powmodprim(bigint a,n,p) { if n < p-1 { return powmod(bigint a,n,p); if a < p { n:= n mod (p-1); return powmod(bigint a,n,p); if ggt(a,p)=1 { n:= n mod (p-1); return powmod(bigint a,n,p); a n c (mod p) Keine Optimierung möglich Satz kann immer angewendet werden a darf kein k*p mit k=1,.. sein. Optimieren nach dem kleinen Satz von Fermat durch Verkleinern der Potenz 11
12 Binärer Euklid scher Algorithmus I Dieses Verfahren wird auch Steinscher Algorithmus genannt. Er basiert auf folgenden Zusammenhängen: ggt(a,b) = 2*ggT(a/2,b/2), falls a und b gerade ggt(a,b) = ggt(a/2,b), falls a gerade und b ungerade ggt(a,b) = ggt((a-b)/2,b), falls a und b ungerade Der wichtigste Punkt ist, dass Multiplikationen und Divisionen mit 2 mit Verschieben sehr schnell realisiert werden können. Dazu gibt es folgende Routinen: BigInt Bit shiftright(bigint a) BigInt shiftleft(bigint a, nat cnt) 12
13 Binärer Euklid'scher Algorithmus II func BigInt gcdbin(bigint a>=0,b>=0) { for k:= 0; even(a) and even(b);k++ { a:= a/2; b:= b/2; while a!=0 { while even(a) { a:= a/2; ggt(a,b) = ggt(a/2,b) while even(b) { b:= b/2; ggt(a,b) = ggt(a,b/2) if a<b { t:= a; a:= b; y:= t; // exchange(a,b) a:= a-b; ggt(a,b) = ggt((a-b)/2,b) return b*2**k; ggt(a,b) = 2*ggT(a/2,b/2) 13
14 Binärer Euklid'scher Algorithmus III - Optimierungen for k:= 0; even(a) and even(b);k++ { a:= a/2; b:= b/2; Die Bestimmung der untersten Anzahl von 0 lässt sich schneller auf der Bitebene bestimmen (Hinweis: Beim Primzahlentest nach Miller-Rabin wird diese Funktion auch gebraucht). while even(a) { a:= a/2; return b*2**k; Auch diese Schiebeoperationen lassen sich durch Erweiterungen der Routinen shiftleft() und shiftright() optimieren. 14
15 Erweiterter Binärer Euklid'scher Algorithmus I Die erweiterte Version arbeitet analog zu der binären Version. Es muss jedoch die lineare Kombination ganzzahlig durch 2 dividiert werden. (1) n= u*a+v*b --> n/2= (u*a+v*b)/2 Das erfolgt mit folgendem Verfahren, das ungerade Werte vermeidet: if even(u) and even(v) { u:= u/2; v:= v/2; else { u:= (u+b)/2; v:= (v-a)/2; Motivation: Die Werte aus dem else-teil oben (1) einsetzen: ((u+b)/2)*a+((v-a)/2)*b= (u*a+a*b+v*b-a*b)/2= (u*a+v*b)/2= n/2 15
16 Erweiterter Binärer Euklid'scher Algorithmus II func BigInt BigInt BigInt egcdbin(bigint a>=0,b>=0) { for int k:= 0; even(a) and even(b);k++ { a:= a/2; b:= b/2; BigInt au:= 1, av:= 0; // for a BigInt bu:= 0, bv:= 1; // for b BigInt x:= a; BigInt y:= b; Teil 1 16
17 Erweiterter Binärer Euklid'scher Algorithmus III while x!=0 { while even(x) { Teil 2 x:= x/2; if even(x) and even(y) { au:= au/2; av:= av/2; else { au:= (au+b)/2; av:= (av-a)/2; while even(y) { y:= y/2; Teil 3 if even(x) and even(y) { bu:= bu/2; bv:= bv/2; else { bu:= (bu+a)/2; bv:= (bv-b)/2; 17
18 Erweiterter Binärer Euklid'scher Algorithmus IV if x<y { y:= y-x; bu:= bu-au; bv:= bv-av; else { x:= x-y; au:= au-bu; av:= av-bv; return b*2**k,bu,bv; Teil 4 18
19 Bemerkungen Wenn die erweiterte Version zum Berechnen der multiplikativen Inversen benutzt wird, sollte im Falle eines negativen Wertes von bu dies durch Addition des Moduls korrigiert werden. Die Hinweise auf die Optimierungen zur normalen Version gelten auch hier. 19
20 Nach dieser Anstrengung etwas Entspannung... 20
Ganzzahlige Division mit Rest
Modulare Arithmetik Slide 1 Ganzzahlige Division mit Rest Für a,b Æ mit a b gibt es stets eine Zerlegung von a der Form a = q b+r mit 0 r b 1. Hierbei gilt q = a b (salopp formuliert: b passt q-mal in
MehrLenstras Algorithmus für Faktorisierung
Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit
MehrZahlentheorie, Arithmetik und Algebra 1
Zahlentheorie, Arithmetik und Algebra 1 Monika Huber 24.6.2015 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 1 / 52 Übersicht Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen
MehrAufgabensammlung Klasse 8
Aufgabensammlung Klasse 8 Inhaltsverzeichnis 1 Potenzen mit natürlichen Hochzahlen 3 1.1 Rechenregeln für das Rechnen mit Potenzen..................... 3 1.1.1 Addition und Subtraktion von Potenzen...................
MehrAlgorithmentheorie Randomisierung. Robert Elsässer
Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
MehrStichpunktezettel fürs Tutorium
Stichpunktezettel fürs Tutorium Moritz und Dorian 11. November 009 1 Kleiner Fermat Behauptung. Seien a, b N relativ prim und b eine Primzahl. Dann ist a b 1 = 1. Beweis. Wir definieren die Funktion f
Mehr3. Diskrete Mathematik
Diophantos von Alexandria um 250 Georg Cantor 1845-1918 Pythagoras um 570 v. Chr Pierre de Fermat 1607/8-1665 Seite 1 Inhalt der Vorlesung Teil 3: Diskrete Mathematik 3.1 Zahlentheorie: Abzählbarkeit,
Mehr1.2 Rechnen mit Termen II
1.2 Rechnen mit Termen II Inhaltsverzeichnis 1 Ziele 2 2 Potenzen, bei denen der Exponent negativ oder 0 ist 2 3 Potenzregeln 3 4 Terme mit Wurzelausdrücken 4 5 Wurzelgesetze 4 6 Distributivgesetz 5 7
MehrDas RSA Verfahren. Die Mathematik von RSA. Ganzzahl Arithmetik. Die Mathematik des RSA-Verfahrens
Das RSA Verfahren Das RSA-Verfahren beruht auf Modulo-Arithmetik mit riesigen ganzen Zahlen und der Berechnung modularer Potenzen bei der Verschlüsselung. Die genaue Mathematik wird in den folgenden Kapiteln
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
Mehr1 Das RSA-Verfahren und seine algorithmischen Grundlagen
1 Das RSA-Verfahren und seine algorithmischen Grundlagen Das wichtigste d. h., am weitesten verbreitete und am meisten analysierte asymmetrische Verfahren ist das RSA-Verfahren, benannt nach seinen Erfindern
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
Mehr2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik
Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,
MehrDiskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 4: Zahlentheorie
Prof. Dr. Sebastian Iwanowski DM4 Folie 1 Referenzen zum Nacharbeiten: Diskrete Mathematik Sebastian Iwanowski FH Wedel Kap. 4: Zahlentheorie Beutelspacher 5 Lang 7, Biggs 20, 22, 23 (jeweils teilweise,
MehrProbabilistische Primzahltests
23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl
MehrWIEDERHOLUNG (BIS ZU BLATT 7)
Universität Bielefeld SS 2016 WIEDERHOLUNG (BIS ZU BLATT 7) JULIA SAUTER Wir wiederholen, welche Aufgabentypen bis zu diesem Zeitpunkt behandelt worden sind. Auf der nächsten Seite können Sie sich selber
Mehr6 Gleichungen und Gleichungssysteme
03.05.0 6 Gleichungen und Gleichungssysteme Äquivalente Gleichungsumformungen ( ohne Änderung der Lösungsmenge ).) a = b a c = b c Addition eines beliebigen Summanden c.) a = b a - c = b - c Subtraktion
MehrProf. Dr. Heinrich Müller; Dr. Frank Weichert 7. September 2015
Technische Universität Dortmund Informatik VII (Graphische Systeme) Prof. Dr. Heinrich Müller; Dr. Frank Weichert 7. September 2015 Übungsaufgaben zum Vorkurs Informatik Wintersemester 2015/2016 Teil I
MehrKomplexität von Algorithmen
Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen
MehrGrundwissen 5. Klasse
Grundwissen 5. Klasse 1/5 1. Zahlenmengen Grundwissen 5. Klasse Natürliche Zahlen ohne Null: N 1;2;3;4;5;... mit der Null: N 0 0;1;2;3;4;... Ganze Zahlen: Z... 3; 2; 1;0;1;2;3;.... 2. Die Rechenarten a)
MehrHast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor du dir die Lösungen anschaust!
Chr.Nelius: Zahlentheorie (SoSe 2016) 1 14. Aufgabenblatt ZAHLENTHEORIE (für Master G und HRG) Lösungen Hast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor
Mehr$Id: ring.tex,v /05/03 15:13:26 hk Exp $
$Id: ring.tex,v 1.13 2012/05/03 15:13:26 hk Exp $ 3 Ringe 3.1 Der Ring Z m In der letzten Sitzung hatten wir die sogenannten Ringe eingeführt, dies waren Mengen A versehen mit einer Addition + und einer
MehrZahlen und elementares Rechnen
und elementares Rechnen Christian Serpé Universität Münster 7. September 2011 Christian Serpé (Universität Münster) und elementares Rechnen 7. September 2011 1 / 51 Gliederung 1 2 Elementares Rechnen 3
MehrProf. S. Krauter Endliche Geometrie. SS 05. Blatt Wiederholen Sie die Abschnitte zum Rechnen mit Restklassen aus der Einführungsveranstaltung.
Prof. S. Krauter Endliche Geometrie. SS 05. Blatt03 1. Wiederholen Sie die Abschnitte zum Rechnen mit Restklassen aus der Einführungsveranstaltung. 2. Die zahlentheoretische Kongruenz ist folgendermaßen
Mehr1 Algebraische Strukturen
Prof. Dr. Rolf Socher, FB Technik 1 1 Algebraische Strukturen In der Mathematik beschäftigt man sich oft mit Mengen, auf denen bestimmte Operationen definiert sind. Es kommt oft vor, dass diese Operationen
Mehr1. Modulare Arithmetik
1. Modulare Arithmetik Dreizehn Jahre lang hatten die Briten und Franzosen geglaubt, die Enigma- Verschlüsselung sei nicht zu knacken, doch nun schöpften sie Hoffnung. Die polnischen Erfolge hatten bewiesen,
MehrOft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein.
Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein. 3 1384788374932954500363985493554603584759389 mod 28374618732464817362847326847331872341234 Wieso kann ein
MehrIT-Sicherheitsmanagement. Teil 12: Asymmetrische Verschlüsselung
IT-Sicherheitsmanagement Teil 12: Asymmetrische Verschlüsselung 10.12.15 1 Literatur [12-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg
MehrMathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens
Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................
Mehr1 Zahlentheorie. 1.1 Kongruenzen
3 Zahlentheorie. Kongruenzen Der letzte Abschnitt zeigte, daß es sinnvoll ist, mit großen Zahlen möglichst einfach rechnen zu können. Oft kommt es nicht darauf, an eine Zahl im Detail zu kennen, sondern
MehrDownload. Basics Mathe Gleichungen mit Klammern und Binomen. Einfach und einprägsam mathematische Grundfertigkeiten wiederholen.
Download Michael Franck Basics Mathe Gleichungen mit Klammern und Binomen Einfach und einprägsam mathematische Grundfertigkeiten wiederholen Downloadauszug aus dem Originaltitel: Basics Mathe Gleichungen
MehrZahlentheorie II. smo osm. Thomas Huber. Inhaltsverzeichnis. Aktualisiert: 1. August 2016 vers
Schweizer Mathematik-Olympiade smo osm Zahlentheorie II Thomas Huber Aktualisiert: 1. August 2016 vers. 1.2.1 Inhaltsverzeichnis 1 Kongruenzen I 2 1.1 Denitionen.................................. 2 1.2
MehrIT-Sicherheit. Jun.-Prof. Dr. Gábor Erdélyi. Siegen, 15. November 2016 WS 2016/2017
IT-Sicherheit WS 2016/2017 Jun.-Prof. Dr. Gábor Erdélyi Lehrstuhl für Entscheidungs- und Organisationstheorie, Universität Siegen Siegen, 15. November 2016 Wiederholung Warum IT-Sicherheit? Grundlagen
MehrEine kurze Tabelle soll uns erste Einsichten erleichtern. Der Strich heißt, dass es eine solche Darstellung nicht gibt.
Summen von Quadraten 1 Physikalische Motivation Eine schwingende Saite hat eine Grundfrequenz F, die von Länge, Dicke, Beschaffenheit der Saite und so fort abhängt Neben dieser Grundfrequenz gibt es auch
Mehr5. bis 10. Klasse. Schnell-Merk-System. Mathematik. Kompaktwissen Testfragen SMS. Mit Lernquiz fürs Handy
5. bis 10. Klasse SMS Schnell-Merk-System Mathematik Kompaktwissen Testfragen Mit Lernquiz fürs Handy 2 Zahlen und Rechnen Rechnen mit natürlichen Zahlen Multiplikation ist die mehrfache Addition gleicher
MehrBinärzahlen. Vorkurs Informatik. Sommersemester Institut für Informatik Heinrich-Heine-Universität Düsseldorf
Binärzahlen Vorkurs Informatik Institut für Informatik Heinrich-Heine-Universität Düsseldorf Sommersemester 2016 Gliederung 1 Das Binärsystem Einleitung Darstellung 2 Umrechen Modulo und DIV Dezimal in
Mehrkgv-berechnung Invertieren modulo m Simultane Kongruenzen Restklassenringe Modulare Arithmetik Euler sche Funktion Sätze von Fermat und Euler
Modulare Arithmetik Slide 5 kgv-berechnung Invertieren modulo m Simultane Kongruenzen Restklassenringe Modulare Arithmetik Euler sche Funktion Sätze von Fermat und Euler Modulare Arithmetik Slide 6 kgv-berechnung
MehrDas RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009
Das RSA-Verfahren Armin Litzel Proseminar Kryptographische Protokolle SS 2009 1 Einleitung RSA steht für die drei Namen Ronald L. Rivest, Adi Shamir und Leonard Adleman und bezeichnet ein von diesen Personen
MehrDer Zwei-Quadrate-Satz von Fermat
Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat
MehrNegative Zahlen. Lösung: Ordne in einen Zahlenstrahl ein! 7;5; 3; 6. Das Dezimalsystem
Negative Zahlen Negative Zahlen Ordne in einen Zahlenstrahl ein! 7;5; 3; 6 Das Dezimalsystem Zerlege in Stufen! Einer, Zehner, usw. a) 3.185.629 b) 24.045.376 c) 3.010.500.700 Das Dezimalsystem a) 3M 1HT
MehrMGI Exkurs: Rechnen. Prof. Dr. Wolfram Conen Version 1.0a2. Prof. Dr. W. Conen, FH Gelsenkirchen, Version 1.0a2 1
MGI Exkurs: Rechnen Prof. Dr. Wolfram Conen Version 1.0a2 Version 1.0a2 1 Schauen Sie sich um Computer und Netzwerke sind überall! Sie ermöglichen ein feingesponnenes Geflecht komplexer menschlicher Aktivitäten:
Mehr9. Primitivwurzeln. O. Forster: Einführung in die Zahlentheorie
9. Primitivwurzeln 9.1. Satz. Sei G eine zyklische Gruppe der Ordnung m und g G ein erzeugendes Element. Das Element a := g k, k Z, ist genau dann ein erzeugendes Element von G, wenn k zu m teilerfremd
MehrFormale Grundlagen 2008W. Vorlesung im 2008S Institut für Algebra Johannes Kepler Universität Linz
Formale Grundlagen Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Definition Sei A eine Menge und ɛ A A A eine zweistellige
MehrWas bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code)
Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Multiplikative Chiffren monoalphabetische Substitutions-Chiffren:
MehrPotenzen - Wurzeln - Logarithmen
Potenzen - Wurzeln - Logarithmen Anna Geyer 4. Oktober 2006 1 Potenzrechnung Potenz Produkt mehrerer gleicher Faktoren 1.1 Definition (Potenz): (i) a n : a... a, n N, a R a... Basis n... Exponent od. Hochzahl
Mehr1 Modulare Arithmetik
$Id: modul.tex,v 1.10 2012/04/12 12:24:19 hk Exp $ 1 Modulare Arithmetik 1.2 Euklidischer Algorithmus Am Ende der letzten Sitzung hatten wir den größten gemeinsamen Teiler zweier ganzer Zahlen a und b
MehrAlgorithmen zur Integer-Multiplikation
Algorithmen zur Integer-Multiplikation Multiplikation zweier n-bit Zahlen ist zurückführbar auf wiederholte bedingte Additionen und Schiebeoperationen (in einfachen Prozessoren wird daher oft auf Multiplizierwerke
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
Mehr1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:
Zahlensysteme. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis darstellen: n n n n z a a... a a a Dabei sind die Koeffizienten a, a, a,... aus der
MehrEinführung in Computer Microsystems
Einführung in Computer Microsystems Kapitel 9 Entwurf eines eingebetteten Systems für Anwendungen in der IT-Sicherheit Prof. Dr.-Ing. Sorin A. Huss Fachbereich Informatik Integrierte Schaltungen und Systeme
MehrElementare Zahlentheorie. Diskrete Strukturen. Winter Semester 2012 #
Erster Teil 1 Elementare Diskrete Strukturen Winter Semester 2012 # 342 207 Prof. Armin Biere Institut für Formale Modelle und Verifikation Johannes Kepler Universität, Linz http://fmv.jku.at/ds Literatur
MehrPraktikum Diskrete Optimierung (Teil 11) 17.07.2006 1
Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1 1 Primzahltest 1.1 Motivation Primzahlen spielen bei zahlreichen Algorithmen, die Methoden aus der Zahlen-Theorie verwenden, eine zentrale Rolle. Hierzu
MehrEinführung in die Informatik I
Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen
MehrZahlentheorie I. smo osm. Thomas Huber. Inhaltsverzeichnis. Aktualisiert: 1. August 2016 vers Teilbarkeit 2.
Schweizer Mathematik-Olympiade smo osm Zahlentheorie I Thomas Huber Aktualisiert: 1. August 2016 vers. 1.0.0 Inhaltsverzeichnis 1 Teilbarkeit 2 2 ggt und kgv 3 3 Abschätzungen 6 1 Teilbarkeit Im Folgenden
MehrVorkurs Mathematik 1
Vorkurs Mathematik 1 Einführung in die mathematische Notation Konstanten i komplexe Einheit i 2 + 1 = 0 e Eulersche Zahl Kreiszahl 2 Einführung in die mathematische Notation Bezeichner Primzahlen, Zähler
MehrKapitel 4: Variable und Term
1. Klammerregeln Steht ein Plus -Zeichen vor einer Klammer, so bleiben beim Auflösen der Klammern die Vorzeichen erhalten. Bei einem Minus -Zeichen werden die Vorzeichen gewechselt. a + ( b + c ) = a +
MehrAufgabensammlung aus Mathematik 2 UMIT, SS 2010, Version vom 7. Mai 2010
Aufgabensammlung aus Mathematik 2 UMIT, SS 2, Version vom 7. Mai 2 I Aufgabe I Teschl / K 3 Zerlegen Sie die Zahl 8 N in ihre Primfaktoren. Aufgabe II Teschl / K 3 Gegeben sind die natürliche Zahl 7 und
Mehr1 Potenzen und Polynome
1 Potenzen und Polynome Für eine reelle Zahl x R und eine natürliche Zahl n N definieren wir x n := x x x... x }{{} n-mal Einschub über die bisher aufgetretenen mathematischen Symbole: Definition mittels
MehrRSA Verfahren. Kapitel 7 p. 103
RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen
MehrKryptographie und Codierungstheorie
Proseminar zur Linearen Algebra Kryptographie und Codierungstheorie Thema: Faktorisierungsalgorithmen (nach der Fermat'schen Faktorisierungsmethode) Kettenbruchalgorithmus (Continued Fraction Method) Quadratisches
MehrLösung zur Klausur zu Krypographie Sommersemester 2005
Lösung zur Klausur zu Krypographie Sommersemester 2005 1. Bestimmen Sie die zwei letzten Ziffern der Dezimaldarstellung von 12 34 Es gilt: 12 34 = 12 32+2 = 12 32 12 2 = 12 (25) 12 2 = ((((12 2 ) 2 ) 2
Mehr31 Polynomringe Motivation Definition: Polynomringe
31 Polynomringe 31.1 Motivation Polynome spielen eine wichtige Rolle in vielen Berechnungen, einerseits weil oftmals funktionale Zusammenhänge durch Polynome beschrieben werden, andererseits weil Polynome
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
MehrVorkurs für. Studierende in Mathematik und Physik. Einführung in Kryptographie Kurzskript 2015
Vorkurs für Studierende in Mathematik und Physik Einführung in Kryptographie Kurzskript 2015 Felix Fontein Institut für Mathematik Universität Zürich Winterthurerstrasse 190 8057 Zürich 11. September 2015
MehrÄquivalenzrelation. Tischler-Problem. Euklidischer Algorithmus. Erweiterter euklidischer Algorithmus. Lineare diophantische Gleichung
Äquivalenzrelation Tischler-Problem Euklidischer Algorithmus Erweiterter euklidischer Algorithmus Lineare diophantische Gleichung Rechnen mit Resten Restklassen Teilbarkeit in Z Beispiel einer Kongruenzgleichung
Mehr5 Grundlagen der Zahlentheorie
5 Grundlagen der Zahlentheorie 1 Primfaktorzerlegung Seienm, n N + := {k N k > 0} Man schreibt n n, gesprochen m teilt n oder m ist ein Teiler von n, wenn es eine positive natürliche Zahl k gibt mit mk
Mehr9.2 Invertierbare Matrizen
34 9.2 Invertierbare Matrizen Die Division ist als Umkehroperation der Multiplikation definiert. Das heisst, für reelle Zahlen a 0 und b gilt b = a genau dann, wenn a b =. Übertragen wir dies von den reellen
MehrDiskrete Mathematik Kongruenzen
Diskrete Mathematik Kongruenzen 31. Mai 2006 1 Inhaltsverzeichnis 1. Einleitung 2. Prime Restklassen 3. Die Sätze von Euler und Fermat 4. Lineare Kongruenzen 5. Systeme 2 Einleitung 3 Fragestellung Wie
MehrGrundzüge der Informatik Zahlendarstellungen (7)
Grundzüge der Informatik Zahlendarstellungen (7) Sylvia Swoboda e0225646@student.tuwien.ac.at Überblick Konvertierung von ganzen Zahlen Konvertierung von Festkommazahlen Darstellung negativer Zahlen 1
MehrPrimzahlen. Herbert Koch Mathematisches Institut Universität Bonn Die Primfaktorzerlegung. a = st
Primzahlen Herbert Koch Mathematisches Institut Universität Bonn 12.08.2010 1 Die Primfaktorzerlegung Wir kennen die natürlichen Zahlen N = 1, 2,..., die ganzen Zahlen Z, die rationalen Zahlen (Brüche
MehrVorlesung Diskrete Strukturen Gruppe und Ring
Vorlesung Diskrete Strukturen Gruppe und Ring Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung in
MehrZahlen und elementares Rechnen (Teil 1)
und elementares Rechnen (Teil 1) Dr. Christian Serpé Universität Münster 6. September 2010 Dr. Christian Serpé (Universität Münster) und elementares Rechnen (Teil 1) 6. September 2010 1 / 40 Gliederung
MehrGrundstrukturen: Speicherorganisation und Zahlenmengen
Zahlendarstellung Zahlen und ihre Darstellung in Digitalrechnern Grundstrukturen: Speicherorganisation und Zahlenmengen Linear organisierter Speicher zu einer Adresse gehört ein Speicher mit 3 Bit-Zellen
MehrALGEBRA UND MENGENLEHRE
ALGEBRA UND MENGENLEHRE EINE EINFÜHRUNG GRUNDLAGEN DER ALGEBRA 1 VARIABLE UND TERME In der Algebra werden für Grössen, mit welchen gerechnet wird, verallgemeinernd Buchstaben eingesetzt. Diese Platzhalter
Mehr3.5 Ringe und Körper. Diese Eigenschaften kann man nun auch. 1. (R, +) ist eine kommutative Gruppe. 2. Es gilt das Assoziativgesetz bezüglich.
3.5 Ringe und Körper Gehen wir noch mal zu den ganzen Zahlen zurück. Wir wissen: (Z, + ist eine Gruppe, es gibt aber als Verknüpfung noch die Multiplikation, es gibt ein neutrales Element bezüglich, es
MehrLösungsvorschlag zu 1. Übung
Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zu 1. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche der Aussagen treffen auf jeden
Mehr5. Übung: Binäres Rechnen und Fließkommazahlen Abteilung Verteilte Systeme, Universität Ulm
5. Übung: Binäres Rechnen und Fließkommazahlen Aufgabe 1: Binäres Rechnen a) Berechnen Sie: x = 01100101b*(0101101b-10110100b)+10101b. Alle Zahlen sind 8 Bit breit und in Zweierkomplement-Notation angegeben.
MehrZahlen in Binärdarstellung
Zahlen in Binärdarstellung 1 Zahlensysteme Das Dezimalsystem Das Dezimalsystem ist ein Stellenwertsystem (Posititionssystem) zur Basis 10. Das bedeutet, dass eine Ziffer neben ihrem eigenen Wert noch einen
MehrDie Menge C der komplexen Zahlen wird im Kapitel Weitere Themen behandelt.
1 1 Funktionen 1.1 Grundlegende Zahlenmengen Georg Cantor (1845-1918) hat den Begriff der Menge eingeführt. Man versteht darunter die Zusammenfassung einzelner Dinge, welche Elemente genannt werden, zu
MehrComputeralgebra in der Lehre am Beispiel Kryptografie
Kryptografie Grundlagen RSA KASH Computeralgebra in der Lehre am Beispiel Kryptografie Institut für Mathematik Technische Universität Berlin Kryptografie Grundlagen RSA KASH Überblick Kryptografie mit
MehrGeheim bleibt geheim: Computeralgebra und Verschlüsselung mit RSA
Geheim bleibt geheim: Computeralgebra und Verschlüsselung mit RSA Prof. Dr. Wolfram Koepf Universität Kassel http://www.mathematik.uni-kassel.de/~koepf Nordhessischer Tag der Mathematik 16. Februar 2007
MehrDie Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
MehrTerme und Aussagen und
1 Grundlagen Dieses einführende Kapitel besteht aus den beiden Abschnitten Terme und Aussagen und Bruchrechnung. Die Erfahrung zeigt, dass diese Dinge zwar in der Schule gelehrt und gelernt werden, dass
MehrPotenzen und Wurzeln
Potenzen und Wurzeln Anna Heynkes 18.6.2006, Aachen Dieser Text soll zusammenfassen und erklären, wie Potenzen und Wurzeln zusammenhängen und wie man mit ihnen rechnet. Inhaltsverzeichnis 1 Die Potenzgesetze
MehrEine Menge K, auf der eine Addition. + und eine Multiplikation definiert sind, nennt man einen Körper, wenn folgende Eigenschaften gelten: Körper 1-1
Körper Eine Menge K, auf der eine Addition + und eine Multiplikation definiert sind, nennt man einen Körper, wenn folgende Eigenschaften gelten: Körper 1-1 Körper Eine Menge K, auf der eine Addition +
Mehr1 Vorbereitung: Potenzen 2. 2 Einstieg und typische Probleme 3
Das vorliegende Skript beschäftigt sich mit dem Thema Rechnen mit Kongruenzen. Das Skript entsteht entlang einer Unterrichtsreihe in der Mathematischen Schülergesellschaft (MSG) im Jahr 2013. Die vorliegende
MehrInformatik Übungsaufgaben
Tobias Krähling email: Homepage: 11..7 Version: 1.1 Zusammenfassung Die Übungsaufgaben stammen aus den Übungsaufgaben und Anwesenheitsaufgaben zur Vorlesung»Einführung
MehrZahlensysteme. von Christian Bartl
von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Umrechnungen... 3 2.1. Dezimalsystem Binärsystem... 3 2.2. Binärsystem Dezimalsystem... 3 2.3. Binärsystem Hexadezimalsystem... 3 2.4.
MehrZahlensysteme. Formale Methoden der Informatik WiSe 2008/2009 Folie 1 (von 54)
Zahlensysteme Formale Methoden der Informatik WiSe 28/29 Folie (von 54) Teil I: Zahlensysteme. Einführung und Zahlensysteme 2. Zahlensysteme / Algorithmik 3. Zahlendarstellung im Rechner Franz-Josef Radermacher,
MehrBinäre Division. Binäre Division (Forts.)
Binäre Division Umkehrung der Multiplikation: Berechnung von q = a/b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom Dividenden a subtrahiert:
MehrGaloiskörper GF(2 n ) (Teschl/Teschl 4)
Galoiskörper GF(2 n ) (Teschl/Teschl 4) auch Galois-Felder (englisch Galois elds), benannt nach Evariste Galois (18111832). Körper (in der Mathematik) allgemein: Zahlenbereich, in dem die vier Grundrechenarten
MehrPotenzen mit ganzzahligen Exponenten: Rechenregeln
Lüneburg, Fragment Potenzen mit ganzzahligen Exponenten: Rechenregeln 5-E1 5-E2 Potenzen: Rechenregeln Regel 1: Potenzen mit gleicher Basis können dadurch miteinander multipliziert werden, dass man die
MehrEinführung in die Informatik I
Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik
MehrAlgebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen
Algebra und Diskrete Mathematik, PS3 Sommersemester 2016 Prüfungsfragen Erläutern Sie die Sätze über die Division mit Rest für ganze Zahlen und für Polynome (mit Koeffizienten in einem Körper). Wodurch
MehrRussische Bauern- Multiplikation
Informationsblatt für die Lehrkraft Russische Bauern- Multiplikation Informationsblatt für die Lehrkraft Thema: Schultyp: Vorkenntnisse: Bearbeitungsdauer: Mittelschule, technische Berufsschule Binäre
MehrProgrammiertechnik II
Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen
Mehr1 3 Z 1. x 3. x a b b. a weil a 0 0. a 1 a weil a 1. a ist nicht erlaubt! 5.1 Einführung Die Gleichung 3 x 9 hat die Lösung 3.
5 5.1 Einführung Die Gleichung 3x 9 hat die Lösung 3. 3x 9 3Z 9 x 3 3 Die Gleichung 3x 1 hat die Lösung 1 3. 3x 1 1 3 Z 1 x 3 Definition Die Gleichung bx a, mit a, b Z und b 0, hat die Lösung: b x a a
MehrTeilbarkeit von natürlichen Zahlen
Teilbarkeit von natürlichen Zahlen Teilbarkeitsregeln: Die Teilbarkeitsregeln beruhen alle darauf, dass man von einer Zahl einen grossen Teil wegschneiden kann, von dem man weiss, dass er sicher durch
MehrAnhang I zur Vorlesung Kryptologie: Elementare Zahlentheorie
Anhang I zur Vorlesung Kryptologie: Elementare Zahlentheorie von Peter Hellekalek Fakultät für Mathematik, Universität Wien, und Fachbereich Mathematik, Universität Salzburg Tel: +43-(0)662-8044-5310 Fax:
MehrProgrammieren I. Kapitel 5. Kontrollfluss
Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,
Mehr