Enum SecurityLevel
-
java.lang.Object
-
java.lang.Enum<SecurityLevel>
-
io.keychain.core.SecurityLevel
-
-
All implemented interfaces:
java.io.Serializable, java.lang.Comparable<SecurityLevel>
Enclosing class:
public static enum SecurityLevel extends java.lang.Enum<SecurityLevel>
Security Level
Security level constraint for a persona.
Security level is an attribute of Persona
that specifies which cryptographic parameters should be used during the creation and extending of the Persona
keychains. Based on the security level, the code selects the cryptoscheme, algorithm, and key length with which the private and public application-level keys are generated. The higher the security level, the longer the chosen key length. The lower security levels cause lighter stream ciphers to be chosen.
In an application’s context, in scenarios where the data is more sensitive, and the risks and magnitude of damage is higher, higher security level is recommended. Blockchain transaction fee costs tend to be higher for higher key lengths, in the interest of being cost effective for the end user, we recommend that you chose the lowest security level that provides the security guarantees needed by your application.
Methods inherited from class java.lang.Enum |
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf |
Methods inherited from class java.lang.Object |
getClass, notify, notifyAll, wait |
Enum Constant Summary
Enum Constant | Description |
---|---|
High |
High security level |
Lightweight |
Lightweight security level |
Medium |
Medium security level |
Ultra |
Ultra security level |
Enum Constant Detail
ULTRA |
Ultra security level The security level best used with data that has 10+ year crypto period or for which a stakeholder incurs very high risk of damage if cryptoanalysis is successful. For example, the Ultra level may be appropriate for medical patient data or top secret classified data where the potential for damage remains high for over 10 years. |
HIGH |
High security level The security level best used with data that has up to a 10 year crypto period or for which a stakeholder incurs high risk of damage if cryptoanalysis is successful. For example, the High level is comparable to the current recommendation for the highest security level in multinational financial institutions and governments. |
MEDIUM |
Medium security level The security level best used with data that has up to a 5 year crypto period or for which a stakeholder incurs moderate risk of damage if cryptoanalysis is successful. The Medium security level is most appropriate for general enterprise applications or sensitive consumer applications. |
LOW |
Low security level The security level best used with data that has up to a 2 year crypto period or for which a stakeholder incurs low risk of damage if cryptoanalysis is successful. The low security level is most appropriate for casual every-day consumer chat. |
LIGHTWEIGHT |
Lightweight security level The security level best used with data that has transient crypto period on the order of weeks or months or for which a stakeholder incurs very low risk of damage if cryptoanalysis is successful. |