Class SrpCryptoParameter
java.lang.Object
de.bsvrz.dav.daf.communication.srpAuthentication.SrpCryptoParameter
Parameter für die Authentifizierung mit SRP und die nachfolgende Verschlüsselung
-
Constructor Summary
ConstructorsConstructorDescriptionSrpCryptoParameter
(int gcmAuthenticationTagBits, int aesKeyLengthBits, String hashFunction, String keyDerivationFunction, int keyDerivationIterations, int keyDerivationHashBits, int srpPrimeBits, int srpSaltBytes) Erstellt eine Instanz mit benutzerdefinierten ParameternSrpCryptoParameter
(String cryptoParamsString) Liest die Werte aus einem String ein, kompatibel mittoString()
-
Method Summary
Modifier and TypeMethodDescriptionint
static SrpCryptoParameter
Gibt die als Standard (ggf. über die Systemproperty) festgelegten kryptografischen Parameter zurück.int
int
int
int
int
toString()
-
Constructor Details
-
SrpCryptoParameter
public SrpCryptoParameter(int gcmAuthenticationTagBits, int aesKeyLengthBits, String hashFunction, String keyDerivationFunction, int keyDerivationIterations, int keyDerivationHashBits, int srpPrimeBits, int srpSaltBytes) Erstellt eine Instanz mit benutzerdefinierten Parametern- Parameters:
gcmAuthenticationTagBits
- Anzahl Bits zur Sicherstellung der Nachrichtenintegrität mit AES-GCM. Empfohlener Minimum-Wert: 96, kleinere Werte verringern den Overhead, vereinfachen es aber möglicherweise, Nachrichten zu fälschenaesKeyLengthBits
- Anzahl Bits der Schlüssellänge der AES-Verschlüsselung. Mögliche Werte: 128, 192, 256. (Größere Werte als 128 benötigen möglicherweise die "Unlimited Strength Java Cryptography Extension Policy Files").hashFunction
- Hashfunktion H in SRP zur Berechnung von u und dem Sitzungsschlüssel (unter anderem), beispielsweise "SHA-256".keyDerivationFunction
- Auswahl der Schlüsselableitungsfunktion zur Berechnung von x, beispielsweise "PBKDF2WithHmacSHA256".keyDerivationIterations
- Anzahl der Iterationen der Schlüsselableitungsfunktion zur Berechnung von x. Empfohlener Minimum-Wert: 10_000keyDerivationHashBits
- Anzahl Bits für das Resultat der Schlüsselableitungsfunktion. Empfohlener Minimum-Wert: 128srpPrimeBits
- Anzahl Bits der SRP-Primzahl N. Empfohlener Minimum-Wert: 1024srpSaltBytes
- Anzahl Bytes für das SRP-Salt. Empfohlener Minimum-Wert: 16- Throws:
NullPointerException
- wenn einer der Strings null ist.IllegalArgumentException
- bei negativen oder anderweitig implausiblen Bit-/Byte-Werten. Dieser Konstruktor prüft nur auf offensichtlich fehlerhafte Werte und nimmt keine inhaltliche Prüfung auf sinnvolle Cryptoparameter vor.
-
SrpCryptoParameter
Liest die Werte aus einem String ein, kompatibel mittoString()
- Parameters:
cryptoParamsString
- String-Darstellung- Throws:
IllegalArgumentException
- Bei einem String, der nicht dem erwarteten Format entspricht
-
-
Method Details
-
getDefaultInstance
Gibt die als Standard (ggf. über die Systemproperty) festgelegten kryptografischen Parameter zurück.- Returns:
- Standard-Parameter für Authentifizierung und Verschlüsselung
-
getGcmAuthenticationTagBits
public int getGcmAuthenticationTagBits()- Returns:
- Anzahl Bits zur Sicherstellung der Nachrichtenintegrität mit AES-GCM.
-
getAesKeyLengthBits
public int getAesKeyLengthBits()- Returns:
- Anzahl Bits der Schlüssellänge der AES-Verschlüsselung.
-
getHashFunction
- Returns:
- Hashfunktion H in SRP
-
getKeyDerivationFunction
- Returns:
- Schlüsselableitungsfunktion zur Berechnung von x, beispielsweise "PBKDF2WithHmacSHA256"
-
getKeyDerivationIterations
public int getKeyDerivationIterations()- Returns:
- Anzahl der Iterationen der Schlüsselableitungsfunktion
-
getKeyDerivationHashBits
public int getKeyDerivationHashBits()- Returns:
- Anzahl Bits für das Resultat der Schlüsselableitungsfunktion.
-
getSrpPrimeBits
public int getSrpPrimeBits()- Returns:
- Anzahl Bits der SRP-Primzahl N.
-
getSrpSaltBytes
public int getSrpSaltBytes()- Returns:
- Anzahl Bytes für das SRP-Salt.
-
toString
-