Watch keynotes and sessions from MongoDB.live, our virtual developer conference.

Realm Security level

I’m having doubt on security layer of realm in iOS. In the realm documentation, I found this

In fact, in another article, i read that, “For Android, they use AES-256 level of encryption and decryption of all the data stored locally.Whereas for iOS applications, their encryption is based on the iOS CommonCrypto library, which protects the app data and passwords stored in the keychain”.
Is CommonCrypto implemented under AES or how it is. what is the standard comes under CommonCrypto. or it uses same AES-256 level of encryption and decryption in iOS as well.

Regards
Anson

@anson_tp Yes both platforms use AES

1 Like

Welcome to the community @anson_tp!

The encryption format is AES-256 verified with a SHA2 HMAC. AES encryption is implemented via native libraries, for example CommonCrypto on iOS (as mentioned in the Realm Swift docs you referenced).

There’s a more general description (and some further details) in the Encrypting Realms documentation:

iOS, macOS, tvOS and watchOS versions of Realm use the CommonCrypto library whereas the Windows uses the built-in Crypto library and Android platforms use OpenSSL.

The encryption library used is an implementation detail that is abstracted via the Realm SDKs. You just need to provide a 64 byte encryption key.

Regards,
Stennie

1 Like

Thanks @Stennie . It is very useful.

Thanks @Ian_Ward for the confirmation., it is useful.