encrypt method
Implementation
Future<Uint8List> encrypt(Uint8List paddedPlaintext) async {
try {
final record = await _senderKeyStore.loadSenderKey(_senderKeyId);
final senderKeyState = record.getSenderKeyState();
final senderKey = senderKeyState.senderChainKey.senderMessageKey;
final ciphertext =
aesCbcEncrypt(senderKey.cipherKey, senderKey.iv, paddedPlaintext);
final senderKeyMessage = SenderKeyMessage(senderKeyState.keyId,
senderKey.iteration, ciphertext, senderKeyState.signingKeyPrivate);
final nextSenderChainKey = senderKeyState.senderChainKey.next;
senderKeyState.senderChainKey = nextSenderChainKey;
await _senderKeyStore.storeSenderKey(_senderKeyId, record);
return senderKeyMessage.serialize();
} on InvalidKeyIdException catch (e) {
throw NoSessionException(e.detailMessage);
}
}