Verfügbare kryptographische Software Kathrin Tofall
Download
Report
Transcript Verfügbare kryptographische Software Kathrin Tofall
Verfügbare kryptographische
Software
Kathrin Tofall
Übersicht
-
-
-
Verfügbare Bibliotheken
Java, C++, Basic etc.
Beispiele/Einzelprogramme
Rjindael, RSA, Elliptische Kurven
Online-benutzbare Verschlüsselungen
Vigenère, Caesar usw.
Einige 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)
borZoi
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
Botan
C++
Open Source
Autor: Jack Lloyd
Dokumentation
Beinhaltet Algorithmen aus folgenden Gebieten:
• Public Key Algorithmen
(Diffie-Hellman, DSA, ElGamal, Nyberg-Rueppel, Rabin-Williams, RSA )
• Stream Ciphers
(ARC4, ISAAC, SEAL, WiderWake4+1)
Botan
•
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, SHA256, SHA-384, SHA-512, Tiger, Whirlpool)
•
Checksums
(Adler32, CRC24, CRC32 )
• MACs
(ANSI X9.19 MAC, EMAC, HMAC, MD5-MAC)
Bouncy 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
Catacomb
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).
Cryptix
Java
Open Source
Unterstützt angeblich mehr Algorithmen als jede andere verfügbare JavaKrypto-Bibliothek, u.a.
- DES, Rjindael/AES
- Block-Cipher
- Hash-Funktionen
- ElGamal
Cryptlib
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++
C++
Open Source
Kurze Beschreibungen im Zip-File
Enthält u.a. folgendes:
- AES und AES-Kandidaten RC6, MARS, Twofish, Serpent, CAST256
- 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++
-
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
CrypTool
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
CrypTool
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 Hashfunktionen, symmetrische und asymmetrische Verschlüsselungsverfahren und
das Schlüsselmanagement
Miracl (Version 4.4.3) der Shamus Software Ltd für die Langzahlarithmetik (zur Demonstration des RSA-Kryptosystem und zur Faktorisierung von Zahlen) zu
Miracl
C/C++
Open Source
Umfangreiches Handbuch, in dem alle Routinen beschrieben werden
Folgende 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 Toolkit
Nicht frei verfügbar, aber Testversion
Folgende 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+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.
Beispiele
Rijndael
RSA
Algorithmen über elliptischen Kurven
Beispiel 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 Group
Auch diese Liste läßt sich natürlich noch fortsetzen.
Beispiel I: Rijndael
Implementierung u.a. in folgenden Bibliotheken:
- Catacomb
- Cryptix
- Crypto++
- CrypTool
Beispiel 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. 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++
Verschiedenes
Krypto-Bibliotheken für JAVA
Im Rahmen des Forschungsverbundes Datensicherheit NRW ist ein Überblick zu verfügbarenKrypto-Bibliotheken entstanden. Diese Bibliotheken lassen sich einfach in Java integrieren, so
dass über definierte Schnittstellen auf kryptographische Funktionen zugegriffen werden kann
Online-Verfügbares
Affine-Cipher
Euklidischer Algorithmus
Keyword-Cipher
Rail-Fence-Cipher
RSA-Berechnung
RSA-Simulation mit JavaScript
Transposition-Cipher
Vigenère-Cipher