Module java.base
Package java.security

Enum Class DrbgParameters.Capability

java.lang.Object
java.lang.Enum<DrbgParameters.Capability>
java.security.DrbgParameters.Capability
所有已实现的接口:
Serializable, Comparable<DrbgParameters.Capability>, Constable
封装类:
DrbgParameters

public static enum DrbgParameters.Capability extends Enum<DrbgParameters.Capability>
DRBG的可重新种植性和预测抵抗能力。

当此对象传递给SecureRandom.getInstance()调用时,它是请求的最小能力。当从SecureRandom.getParameters()返回时,它是有效能力。

请注意,虽然NIST SP 800-90Ar1中定义的Instantiate_function只包括一个prediction_resistance_flag参数,但Capability类型包括一个额外的值RESEED_ONLY,因为重新种植是一个可选功能。如果在调用SecureRandom.getInstance方法时在Instantiation对象中使用NONE,返回的DRBG实例不能保证支持重新种植。如果使用RESEED_ONLYPR_AND_RESEED,则实例必须支持重新种植。

下表列出了如果请求了某种能力,则可能的有效值,即

 请求的能力 = ...;
 SecureRandom s = SecureRandom.getInstance("DRBG",
         DrbgParameters(-1, 请求的能力, null));
 Capability effective = ((DrbgParametes.Initiate) s.getParameters())
         .getCapability();
请求和有效能力
请求的值 可能的有效值
NONE NONE, RESEED_ONLY, PR_AND_RESEED
RESEED_ONLY RESEED_ONLY, PR_AND_RESEED
PR_AND_RESEED PR_AND_RESEED

支持预测抵抗的DRBG实现也必须支持重新种植。

自:
9
  • Enum Constant Details

  • Method Details

    • values

      public static DrbgParameters.Capability[] values()
      返回一个数组,其中包含此枚举类的常量,按它们声明的顺序排列。
      返回:
      一个数组,其中包含此枚举类的常量,按它们声明的顺序排列
    • valueOf

      public static DrbgParameters.Capability valueOf(String name)
      返回具有指定名称的此类的枚举常量。字符串必须与此类中用于声明枚举常量的标识符完全匹配。(不允许存在多余的空白字符。)
      参数:
      name - 要返回的枚举常量的名称。
      返回:
      具有指定名称的枚举常量
      抛出:
      IllegalArgumentException - 如果此枚举类没有具有指定名称的常量
      NullPointerException - 如果参数为null
    • supportsReseeding

      public boolean supportsReseeding()
      返回此能力是否支持重新种植。
      返回:
      对于PR_AND_RESEEDRESEED_ONLY,返回true,对于NONE,返回false
    • supportsPredictionResistance

      public boolean supportsPredictionResistance()
      返回此能力是否支持预测抵抗。
      返回:
      对于PR_AND_RESEED,返回true,对于RESEED_ONLYNONE,返回false