Enum SecurityLevel

typedef NS_ENUM(NSUInteger, 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.

Enum Constants

ultra

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

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

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

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

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.