anotherim/src/main/java/eu/siacs/conversations/crypto
Daniel Gultsch aecb771ab5 use 16 byte IVs for http upload files larger than 768KiB
Ever since Android 9+ switched to Conscrypt we can no longer efficiently
encrypt (and decrypt) large files with AES-GCM. We did’t notice this before
because when using 16 byte IVs even modern Androids will fall back to bouncy
castle. However the 'bug'/'feature' in Conscrypt surfaced when we switched over
to 12 byte IVs (which uses Conscrypt on Android 9+)
Switching back entirely to 16 byte IVs is undesirable as this would break
compatibility with Monal. So we end up with a weird compromise where we use
12 byte for normale plain text OMEMO messages and 'small' files where the
inefficiencies aren’t a problem.

The result of this commit is that Monal won’t be able to receive our files
larger than 768KiB. However the alternative is that Conversations would always
OOM when attempting to send larger files (where large depends on the available
RAM.)

fixes #3653
2020-03-08 13:13:19 +01:00
..
axolotl use 16 byte IVs for http upload files larger than 768KiB 2020-03-08 13:13:19 +01:00
sasl create api calls 2018-10-31 13:33:55 +01:00
DomainHostnameVerifier.java integrate trust manager into conversations 2018-03-07 22:30:33 +01:00
OmemoSetting.java introduced tri state omemo setting (off by default, on by default, always) 2018-03-27 15:35:53 +02:00
PgpDecryptionService.java don’t mark pgp encrypted files received from dino as deleted 2019-10-11 15:37:41 +02:00
PgpEngine.java attempt to unregister when receiving push for channel no longer joined 2019-06-26 17:40:12 +02:00
XmppDomainVerifier.java made domain verifier case insensitive. fixes #3495 2019-07-20 17:51:37 +02:00