public boolean equals(Object obj) {
    if (!(obj instanceof ElGamalKeyParameters)) {
      return false;
    }

    ElGamalKeyParameters dhKey = (ElGamalKeyParameters) obj;

    if (params == null) {
      return dhKey.getParameters() == null;
    } else {
      return params.equals(dhKey.getParameters());
    }
  }
 public int hashCode() {
   return (params != null) ? params.hashCode() : 0;
 }
 static int getStrength(ElGamalParameters params) {
   return params.getL() != 0 ? params.getL() : params.getP().bitLength();
 }