buchspektrum Internet-Buchhandlung

Neuerscheinungen 2012

Stand: 2020-01-07
Schnellsuche
ISBN/Stichwort/Autor
Herderstraße 10
10625 Berlin
Tel.: 030 315 714 16
Fax 030 315 714 14
info@buchspektrum.de

Michael Welschenbach

Kryptographie in C und C++


Zahlentheoretische Grundlagen, Computer-Arithmetik mit großen Zahlen, kryptographische Tools
2. Aufl. 2012. xx, 409 S. 40 Tabellen. 235 mm
Verlag/Jahr: SPRINGER, BERLIN 2012
ISBN: 3-642-62646-7 (3642626467)
Neue ISBN: 978-3-642-62646-3 (9783642626463)

Preis und Lieferzeit: Bitte klicken


Das Buch bietet einen umfassenden Überblick über die Grundlagen moderner kryptographischer Verfahren und ihre programmtechnische Entwicklung mit Hilfe einer leistungsfähigen Erweiterung der Programmiersprachen C und C++. Es präsentiert fundierte und einsetzbare Funktionen und Methoden mit professioneller Stabilität und Performanz. Ihre Umsetzung wird an einer objektorientierten Implementierung des RSA-Kryptosystems demonstriert. Der zum neuen amerikanischen Advanced Encryption Standard (AES) erklärte Algorithmus "Rijndael" wird ausführlich mit vielen Hinweisen für die Implementierung erläutert. Die beiliegende CD-ROM bietet mit optimierten Implementierungen des Standards in C und C++, kryptographischen Funktionen in C und C++, einer umfangreichen Testsuite für die Arithmetik den Lesern einen gut sortierten Baukasten für eigene Anwendungen.
1: Arithmetik und Zahlentheorie in C++.- 1 Einleitung.- 2 Das Zahlformat - die Darstellung großer Zahlen in C.- 3 Schnittstellensemantik.- 4 Die Grundrechenarten.- 4.1 Addition und Subtraktion.- 4.2 Multiplikation.- 4.2.1 Die Schulmethode.- 4.2.2 Quadrieren geht schneller.- 4.2.3 Noch schneller mit Karatsuba?.- 5 Modulare Arithmetik - Rechnen mit Restklassen.- 6 Wo alles zusammenkommt: Modulare Potenzierung.- 6.1 Erste Ansätze.- 6.2 M-äre Potenzierung.- 6.3 Additionsketten und Fenster.- 6.4 Montgomery-Reduktion und Potenzierung.- 6.5 Kryptographische Anwendung der Potenzierung.- 7 Bitweise und logische Funktionen.- 7.1 Shift-Operationen.- 7.2 ALLES ODER NICHTS: Bitweise Verknüpfungen.- 7.3 Direkter Zugriff auf einzelne Binärstellen.- 7.4 Vergleichsoperationen.- 8 Eingabe, Ausgabe, Zuweisung, Konvertierung.- 9 Dynamische Register.- 10 Zahlentheoretische Grandfunktionen.- 10.1 Größter gemeinsamer Teiler.- 10.2 Multiplikative Inverse in Restklassenringen.- 10.3 Wurzel und Logarithmus.- 10.4 Quadratwurzeln in Restklassenringen.- 10.4.1 Das Jacobi-Symbol.- 10.4.2 Quadratwurzeln modulo pk.- 10.4.3 Quadratwurzeln modulo n.- 10.4.4 Kryptographie mit quadratischen Resten.- 10.5 Ein Primzahltest.- 11 Große Zufallszahlen.- 12 Testen: Münchhausen lässt grüßen.- 12.1 Statische Analyse.- 12.2 Tests zur Laufzeit.- 2: Arithmetik und Kryptographie in C++.- 13 Klasse, mit C++ist alles viel einfacher.- 13.1 Not a public affair: Die Zahldarstellung in LINT.- 13.2 Konstruktoren.- 13.3 Überladene Operatoren.- 14 Das LINT-Public-Interface: Members and Friends.- 14.1 Arithmetik.- 14.2 Zahlentheorie.- 14.3 Stream-I/O von LINT-Objekten.- 14.2.1 Formatierte Ausgabe von LINT-Objekten.- 14.3.2 Manipulatoren.- 14.3.3 File-I/O von LINT-Objekten.- 15 Fehlerbehandlung.- 15.1 (don´t) panic.- 15.2 Benutzerdefinierte Fehlerbehandlung.- 15.3 Ausnahmezustand: LINT-Exceptions.- 16 Ein Anwendungsbeispiel: Das RSA-Verfahren.- 16.1 Asymmetrische Kryptosysteme.- 16.2 Der RSA-Algorithmus.- 16.3 Digitale RSA-Signaturen.- 16.4 RSA-Klassen in C++.- 17 Do it yourself: Test LINT.- 18 Ansätze zum weiteren Ausbau.- 19 Rijndael- Nachfolger für den DES.- 19.1 Arithmetik mit Polynomen.- 19.2 Der Rijndael-Algorithmus.- 19.3 Berechnung der Rundenschlüssel.- 19.4 Die S-Box.- 19.5 Die ShiftRows-Transformation.- 19.6 Die MixColumns-Transformation.- 19.7 Der AddRoundKey-Schritt.- 19.8 Die Verschlüsselung im Gesamtablauf.- 19.9 Die Entschlüsselung.- 19.10 Performanz.- 19.11 Betriebsarten.- 20 Nachwort.- Anhang A: Verzeichnis der C-Funktionen.
Der umfassende Überblick beschreibt die Grundlagen moderner kryptographischer Verfahren und ihre programmtechnische Entwicklung mit Hilfe einer leistungsfähigen Erweiterung der Programmiersprachen C und C++. Der zum neuen amerikanischen Advanced Encryption Standard (AES) erklärte Algorithmus "Rijndael" wird ausführlich mit vielen Hinweisen für die Implementierung erläutert. Die beiliegende CD-ROM bietet mit zahlreichen Funktionen, Implementierungen und Testsuites den Lesern einen gut sortierten Baukasten für eigene Anwendungen.