24

Click here to load reader

Verfügbare kryptographische Software Kathrin Tofall

Embed Size (px)

Citation preview

Page 1: Verfügbare kryptographische Software Kathrin Tofall

Verfügbare kryptographische Verfügbare kryptographische SoftwareSoftware

Kathrin Tofall

Page 2: Verfügbare kryptographische Software Kathrin Tofall

ÜbersichtÜbersicht

- Verfügbare Bibliotheken

Java, C++, Basic etc.- Beispiele/Einzelprogramme

Rjindael, RSA, Elliptische Kurven- Online-benutzbare Verschlüsselungen

Vigenère, Caesar usw.

Page 3: Verfügbare kryptographische Software Kathrin Tofall

Einige BibliothekenEinige Bibliotheken

borZoi (http://dragongate-technologies.com/products.html)

Botan (http://botan.randombit.net/)

Bouncy Castle Crypto (http://www.bouncycastle.org/latest_releases.html)

Catacomb (http://www.excessus.demon.co.uk/misc-hacks/#catacomb)

Cryptix (http://www.cryptix.org/)

Cryptlib (http://www.cs.auckland.ac.nz/%7Epgut001/cryptlib/)

Crypto++ (http://www.eskimo.com/~weidai/cryptlib.html)

Miracl (http://indigo.ie/~mscott/#download)

Secude Toolkit (http://indigo.ie/~mscott/#download)

Page 4: Verfügbare kryptographische Software Kathrin Tofall

borZoiborZoi

C++ Open Source Unterstützt folgende Algorithmen (auf elliptische Kurven)

- Elliptic Curve Diffie-Hellman Key Agreement Scheme- ECDSA (Elliptic Curve Digital Signature Algorithm)- ECIES (Elliptic Curve Integrated Encryption Scheme)- AES (Symmetric Encryption Scheme) - SHA-1 (Hash Algorithm)

Handbuch Autor: Anthony Mulcahy

Page 5: Verfügbare kryptographische Software Kathrin Tofall

BotanBotan

C++ Open Source Autor: Jack Lloyd DokumentationBeinhaltet Algorithmen aus folgenden Gebieten:• Public Key Algorithmen

(Diffie-Hellman, DSA, ElGamal, Nyberg-Rueppel, Rabin-Williams, RSA )

• Stream Ciphers(ARC4, ISAAC, SEAL, WiderWake4+1)

Page 6: Verfügbare kryptographische Software Kathrin Tofall

BotanBotan

• Block Ciphers(Blowfish, CAST-128, CAST-256, CS-Cipher, DES/DESX/TripleDES, GOST, IDEA, Lion, Luby-Rackoff, MISTY1, RC2, RC5, RC6, Rijndael, SAFER-SK, Serpent,

SHARK, Skipjack, Square, TEA, Threeway, Twofish, XTEA)• Hash Functions

(HAS-160, HAVAL, MD2, MD4, MD5, RIPEMD-128, RIPEMD-160, SHA-160, SHA-256, SHA-384, SHA-512, Tiger, Whirlpool)

• Checksums(Adler32, CRC24, CRC32 )

• MACs(ANSI X9.19 MAC, EMAC, HMAC, MD5-MAC)

Page 7: Verfügbare kryptographische Software Kathrin Tofall

Bouncy Castle CryptoBouncy Castle Crypto

Java Open Source Scheint kein eigenes Handbuch zu haben

Enthält unter anderem folgendes: SHA1, MD2, MD4, MD5 AES, DES, IDEA, RSA ElGamal

Page 8: Verfügbare kryptographische Software Kathrin Tofall

CatacombCatacomb

C Open Source Kurze Beschreibung mit im Zip-File

Unterstützt u.a. Block Ciphers Secret Sharing RSA Padding Support Hash Funktionen Public Key Algorithmen

Man braucht zusätzlich mLib (http://www.excessus.demon.co.uk/misc-hacks/#mLib).

Page 9: Verfügbare kryptographische Software Kathrin Tofall

CryptixCryptix

Java Open Source

Unterstützt angeblich mehr Algorithmen als jede andere verfügbare Java-Krypto-Bibliothek, u.a.

- DES, Rjindael/AES- Block-Cipher- Hash-Funktionen- ElGamal

Page 10: Verfügbare kryptographische Software Kathrin Tofall

CryptlibCryptlib

C Open Source Manual Weit verbreitete Verschlüsselungsalgorithmen und -systeme Digitale Unterschriften und Schlüsselerzeugungsroutinen S/MIME, SSL/TLS, Authentifizierungsservices wie CMP and

OCSP, Bietet ein komplettes Public/Private-Key Interface

Page 11: Verfügbare kryptographische Software Kathrin Tofall

Crypto++Crypto++

C++ Open Source Kurze Beschreibungen im Zip-FileEnthält u.a. folgendes:- AES und AES-Kandidaten RC6, MARS, Twofish, Serpent, CAST-

256- Symmetric Block Ciphers

IDEA, DES, Triple-DES, RC2, RC5, Blowfish, SHARK etc.- Generic Cipher Modes: ECB, CBC, CFB, OFB- Stream Ciphers: Panama, ARC4, BLumBlumShub usw.- Public Key: RSA, DAS, ElGamal, NR, Rabin, Rabin-Williams...- Padding Schemes: PKCS, OAEP...

Page 12: Verfügbare kryptographische Software Kathrin Tofall

Crypto++Crypto++

- Schlüsselaustausch: Diffie-Hellmann, Menezes-Qu-Vanstone...- Elliptische Kurven: ECDSA, ECNR, ECIES, ECDH, ECMQV- One-Way-Hash-Functions: SHA1, MD2, MD4, MD5...- Authentifizierungscodes: MD5-MAC, HMAC...- Pseudozufallsgeneratoren: ANSI X9.17, PGP‘s RandPool- Shamirs Secret Sharing Scheme- Kompression/Dekompression- Schnelle Integer- und Polynomoperationen- Arithmetik über endlichen Körpern (p, 2^n)- Primzahlgenerierung, - verifizierung

Page 13: Verfügbare kryptographische Software Kathrin Tofall

CrypToolCrypTool

Freeware Demonstrations- und Referenzprogramm für Kryptographie Deutsch und englisch Wird von der TU Darmstadt weiterentwickelt

Enthält Programme zum/zur/zu- Verschlüsseln (Cäsar, RSA, AES, elliptische Kurven)- Automatische Analysen für klassische Verschlüsselungsverfahren- Hashfunktionen, Zufallsdaten- Komprimierung/Dekomprimierung

Page 14: Verfügbare kryptographische Software Kathrin Tofall

CrypToolCrypTool

Online-Hilfe Skript mit eher mathematisch orientierten Informationen zu

kryptographischen Verfahren, zu Primzahlen und zur elementaren Zahlentheorie

Benutzt folgende Bibliotheken: Secude-Toolkit (Version 5.4.15) der Secude GmbH für Hashfunktio-

nen, symmetrische und asymmetrische Verschlüsselungsverfahren und das Schlüsselmanagement

Miracl (Version 4.4.3) der Shamus Software Ltd für die Langzahl-arithmetik (zur Demonstration des RSA-Kryptosystem und zur Fakto-risierung von Zahlen) zu

Page 15: Verfügbare kryptographische Software Kathrin Tofall

MiraclMiracl

C/C++ Open Source Umfangreiches Handbuch, in dem alle Routinen beschrieben werdenFolgende Routinen sind z.B. enthalten- Mersenne-Zahlen generieren- Faktorisieren mit Hilfe von

Brute Force, Brent-Pollard, Pollard, Williams, Lenstra, Qsieve- DL-Problembehandlung

Kangaroo, Pollard-Rho für DL- Public Key

Demo zu Diffie-Hellmann/ElGamal, RSA, Standardmethoden für digitale Signaturen, Routinen mir elliptischen Kurven

Page 16: Verfügbare kryptographische Software Kathrin Tofall

Secude ToolkitSecude Toolkit

Nicht frei verfügbar, aber TestversionFolgende Produkte:- SECUDE AuthenteMail for Outlook- SECUDE FileSafe - SECUDE SmartLogon - SECUDE AuthenteMail for Lotus Notes - SECUDE for mySAP.com - SECUDE Secure Login - SECUDE TransFair FrameWork - SECUDE CA Management - SECUDE SDK (C/C++) - SECUDE SDK (Java)

Page 17: Verfügbare kryptographische Software Kathrin Tofall

Weitere Bibliotheken+LinksWeitere Bibliotheken+Links

Mozilla (http://www.mozilla.org/projects/security/pki/nss/)

Flexiprovider (http://www.flexiprovider.de/)

OpenPGP Implementations (http://cypherspace.org/openpgp/)

OpenCDK (http://www.winpt.org/opencdk.html)

libgcrypt (ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/)

Die Liste lässt sich natürlich noch fortsetzen.

Page 18: Verfügbare kryptographische Software Kathrin Tofall

BeispieleBeispiele

RijndaelRSAAlgorithmen über elliptischen Kurven

Page 19: Verfügbare kryptographische Software Kathrin Tofall

Beispiel I: RijndaelBeispiel I: Rijndael

Es gibt sehr viele Rjindael-Implementationen, auch außerhalb von Krypto-Bibliotheken:

Maple, Universität Paderborn (Rijndael, Rijndael-Test) Matlab, Hochschule Bremen (Zip-File, PDF-engl., PDF-dt.) C/C++/Assembler, Brian Gladman C, Mike Scott C++, Szymon Stefanek Java, Paulo Barreto Visual Basic 6, Phil Fresle Delphi, EldoS GroupAuch diese Liste läßt sich natürlich noch fortsetzen.

Page 20: Verfügbare kryptographische Software Kathrin Tofall

Beispiel I: RijndaelBeispiel I: Rijndael

Implementierung u.a. in folgenden Bibliotheken:- Catacomb- Cryptix- Crypto++- CrypTool

Page 21: Verfügbare kryptographische Software Kathrin Tofall

Beispiel II - RSABeispiel II - RSA

RSAEuro (außerdem DES, Diffie-Hellmann) RSA-Java-Implementation ‚Faster‘-Java-Implementation (Neal Wagner) RSA in Java und C

Bibliotheken

RSA ist in den meisten Bibliotheken enthalten

(Botan, Crypto++, Miracl)

Page 22: Verfügbare kryptographische Software Kathrin Tofall

Beispiel III – Ell. KurvenBeispiel III – Ell. Kurven

EC-DL-Problem, IEEE P1363 Home Page Verschiedenes (Papers, Software, Links) Crypto Kong benutzt elliptische Kurven Elliptic Package Links zu ell. Kurven (Anwendungen/Formales)

Bibliotheken:- borZoi- Crypto++

Page 23: Verfügbare kryptographische Software Kathrin Tofall

VerschiedenesVerschiedenes

Krypto-Bibliotheken für JAVA Im Rahmen des Forschungsverbundes Datensicherheit NRW ist ein Überblick zu verfügbaren-Krypto-Bibliotheken entstanden. Diese Bibliotheken lassen sich einfach in Java integrieren, so dass über definierte Schnittstellen auf kryptographische Funktionen zugegriffen werden kann

Page 24: Verfügbare kryptographische Software Kathrin Tofall

Online-VerfügbaresOnline-Verfügbares

Affine-Cipher Euklidischer Algorithmus Keyword-Cipher Rail-Fence-Cipher RSA-Berechnung RSA-Simulation mit JavaScript Transposition-Cipher Vigenère-Cipher