Class SrpCryptoParameter


  • public class SrpCryptoParameter
    extends java.lang.Object
    Parameter für die Authentifizierung mit SRP und die nachfolgende Verschlüsselung
    • Constructor Detail

      • SrpCryptoParameter

        public SrpCryptoParameter​(int gcmAuthenticationTagBits,
                                  int aesKeyLengthBits,
                                  java.lang.String hashFunction,
                                  java.lang.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älschen
        aesKeyLengthBits - 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_000
        keyDerivationHashBits - Anzahl Bits für das Resultat der Schlüsselableitungsfunktion. Empfohlener Minimum-Wert: 128
        srpPrimeBits - Anzahl Bits der SRP-Primzahl N. Empfohlener Minimum-Wert: 1024
        srpSaltBytes - Anzahl Bytes für das SRP-Salt. Empfohlener Minimum-Wert: 16
        Throws:
        java.lang.NullPointerException - wenn einer der Strings null ist.
        java.lang.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

        public SrpCryptoParameter​(java.lang.String cryptoParamsString)
                           throws java.lang.IllegalArgumentException
        Liest die Werte aus einem String ein, kompatibel mit toString()
        Parameters:
        cryptoParamsString - String-Darstellung
        Throws:
        java.lang.IllegalArgumentException - Bei einem String, der nicht dem erwarteten Format entspricht
    • Method Detail

      • getDefaultInstance

        public static SrpCryptoParameter 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

        public java.lang.String getHashFunction()
        Returns:
        Hashfunktion H in SRP
      • getKeyDerivationFunction

        public java.lang.String 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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object