Click here to load reader
Upload
anke-apel
View
123
Download
0
Embed Size (px)
Citation preview
Verfügbare kryptographische Verfügbare kryptographische SoftwareSoftware
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.
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)
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
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)
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)
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
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).
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
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
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...
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
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
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
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
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)
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.
BeispieleBeispiele
RijndaelRSAAlgorithmen über elliptischen Kurven
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.
Beispiel I: RijndaelBeispiel I: Rijndael
Implementierung u.a. in folgenden Bibliotheken:- Catacomb- Cryptix- Crypto++- CrypTool
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)
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++
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
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