java.lang.Object
org.apache.kerby.kerberos.kerb.crypto.fast.FastUtil

public class FastUtil extends Object
Implementing FAST (RFC6113) armor key related algorithms. Take two keys and two pepper strings as input and return a combined key.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey
    cf2(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey key1, String pepper1, org.apache.kerby.kerberos.kerb.type.base.EncryptionKey key2, String pepper2)
     
    static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey
    makeArmorKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey subkey, org.apache.kerby.kerberos.kerb.type.base.EncryptionKey ticketKey)
    Make an encryption key for armoring.
    static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey
    makeReplyKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey strengthenKey, org.apache.kerby.kerberos.kerb.type.base.EncryptionKey existingKey)
    Make an encryption key for replying.
    static byte[]
    prfPlus(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey key, String pepper, int keyBytesLen)
    Call the PRF function multiple times with the pepper prefixed with a count byte to get enough bits of output.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • FastUtil

      public FastUtil()
  • Method Details

    • prfPlus

      public static byte[] prfPlus(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey key, String pepper, int keyBytesLen) throws org.apache.kerby.kerberos.kerb.KrbException
      Call the PRF function multiple times with the pepper prefixed with a count byte to get enough bits of output.
      Parameters:
      key - The encryption key
      pepper - The pepper
      keyBytesLen - The key bytes length
      Returns:
      The output byte
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • cf2

      public static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey cf2(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey key1, String pepper1, org.apache.kerby.kerberos.kerb.type.base.EncryptionKey key2, String pepper2) throws org.apache.kerby.kerberos.kerb.KrbException
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException
    • makeReplyKey

      public static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey makeReplyKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey strengthenKey, org.apache.kerby.kerberos.kerb.type.base.EncryptionKey existingKey) throws org.apache.kerby.kerberos.kerb.KrbException
      Make an encryption key for replying.
      Parameters:
      strengthenKey - The strengthen key
      existingKey - The existing key
      Returns:
      encryption key
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • makeArmorKey

      public static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey makeArmorKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey subkey, org.apache.kerby.kerberos.kerb.type.base.EncryptionKey ticketKey) throws org.apache.kerby.kerberos.kerb.KrbException
      Make an encryption key for armoring.
      Parameters:
      subkey - The sub key
      ticketKey - The ticket key
      Returns:
      encryption key
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e