# True identity key rotation seems somewhat important in the long term

**URL:** <https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629>\
**Category:** Uncategorized\
**Tags:** android, desktop, ios\
**Created:** [March 14, 2025, 11:16am UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629 "2025-03-14T11:16:11Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![ell1e](https://forum.delta.chat/user_avatar/forum.delta.chat/ell1e/32/2308_2.png) [@ell1e](https://forum.delta.chat/u/ell1e)\
**Post date:** [March 14, 2025, 11:16am UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/1 "2025-03-14T11:16:11Z")

</div>

True identity key rotation seems somewhat important in the long term, even with custom PGP keys removed. Since I saw some people seem divided on this I thought I’d put my thoughts here in case that is useful:

1. When your password leaks for an important account, many people won’t immediately burn the account, but change the password. This action should perhaps be available to Delta Chat users after a leak. This could be for example if one of your devices was stolen in a locked state, where data access may be plausible but not imminent.

2. I don’t think it’s the worst idea in the world to rotate the identity key every year or so if you have legitimate reasons to be paranoid, if you’re willing to accept that will render old backups unusable.

3. If group moderation ever gets added and has group moderation attached to a fixed account, accounts may not be easy to simply abandon to get a new identity key.

4. (Minor but still seems relevant) As I saw pointed out on the issue tracker, it might be the goal that all identity keys eventually have a certain algorithm. People who still use custom may therefore need a migration path.

Perhaps I’m missing something, however.

**Edit: challenges/pitfalls of key rotation, as collected by users below:**

- QR codes won’t work anymore if they haven’t expired since anyway, same for invitation links.
- All own devices must get the new key, hence probably all be brought online timely.
- All contacts’ devices must get the new key, but that process might be more staggered with peer-to-peer propagation.
- If a non-delta email client is used next to delta, the key needs manually updating.
- Old device backups will be rendered broken and the user should understand that.

---

<div class="post-metadata">

**Author:** ![ebert](https://forum.delta.chat/letter_avatar_proxy/v4/letter/e/41988e/32.png) [@ebert](https://forum.delta.chat/u/ebert)\
**Post date:** [March 15, 2025, 10:28am UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/2 "2025-03-15T10:28:19Z")

</div>

What are the challenges of key rotation in general?

- if I printed my QR-Code, if have to reprint it
- update my invitation link
- all my devices must get the new key
- all my contact’s devices must have the new key (maybe the devices can exchange among each other)
- if I use an email client, update your key manually

Are there more?

---

<div class="post-metadata">

**Author:** ![ell1e](https://forum.delta.chat/user_avatar/forum.delta.chat/ell1e/32/2308_2.png) [@ell1e](https://forum.delta.chat/u/ell1e)\
**Post date:** [March 15, 2025, 11:13am UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/3 "2025-03-15T11:13:24Z")

</div>

I think also one is all old device backups will become unusable.

---

<div class="post-metadata">

**Author:** ![link2xt](https://forum.delta.chat/user_avatar/forum.delta.chat/link2xt/32/1971_2.png) [@link2xt](https://forum.delta.chat/u/link2xt)\
**Post date:** [March 16, 2025, 9:23am UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/4 "2025-03-16T09:23:01Z")

</div>

I don’t know of any messenger that does _identity_ key rotation.

Rotating encryption key is more realistic:

> [@Autocrypt key rotation](https://support.delta.chat/t/autocrypt-key-rotation/2936):
>
> Delta Chat uses Autocrypt for encryption. Autocrypt standard specifies that OpenPGP key conists of a signing EdDSA identity key and encryption ECDH subkey. Delta Chat allows to import OpenPGP keys that do not conform to Autocrypt specification, but let’s assume that primary key is capable of signing. To rotate encryption key, we need to remove all existing subkeys from OpenPGP key, then generate and add a new encryption subkey. To retain the ability to decrypt messages encrypted to old…

For PQC introduction if we try to migrate users to PQC, we will likely keep EdDSALegacy identity key and only update the encryption subkey, because there is no reason to invalidate identity until quantum computers exist.

---

<div class="post-metadata">

**Author:** ![ell1e](https://forum.delta.chat/user_avatar/forum.delta.chat/ell1e/32/2308_2.png) [@ell1e](https://forum.delta.chat/u/ell1e)\
**Post date:** [March 16, 2025, 9:45am UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/5 "2025-03-16T09:45:39Z")

</div>

I’m pretty sure Matrix allows changing the user key which breaks e2ee, but afaik keeps connections, room ownership, permissions, etc. After device theft with possible leak of all keys, you can change password and reset all keys.

If delta chat ties rights to identity key rather than e-mail, but has no such reset or rotation, the user seems to be screwed in this situation.

Or am I missing something?

---

<div class="post-metadata">

**Author:** ![link2xt](https://forum.delta.chat/user_avatar/forum.delta.chat/link2xt/32/1971_2.png) [@link2xt](https://forum.delta.chat/u/link2xt)\
**Post date:** [March 16, 2025, 11:03am UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/6 "2025-03-16T11:03:51Z")

</div>

> [@ell1e](#):
>
> I’m pretty sure Matrix allows changing the user key which breaks e2ee, but afaik keeps connections, room ownership, permissions, etc.

This only shows that in Matrix group metadata, membership and permissions is not E2E protected. It is instead protected with homeserver keys. IIRC even the group description is not protected for encrypted groups.

In Signal there is something in-between: if you resetup but use Secure Value Recovery (enter a PIN), you get the same account ID (similar to the same email address) and restore your group membership and verifications, but your identity key is changed. Group membership is managed on the server, but in a way that the server cannot see account IDs stored there: [Signal \>\> Blog \>\> Technology Preview: Signal Private Group System](https://signal.org/blog/signal-private-group-system/), [The Signal Private Group System and Anonymous Credentials Supporting Efficient Verifiable Encryption](https://eprint.iacr.org/2019/1416)  
What happens if the identity key is actually compromised and available to the attacker is hard to tell, [Signal \>\> Specifications \>\> The Sesame Algorithm: Session Management for Asynchronous Message Encryption](https://signal.org/docs/specifications/sesame/) just says “Security is catastrophically compromised if an attacker learns a device’s secret values, such as the identity private key and session state.”

There are Continuous Group Key Agreement protocols in development that can have “post-compromise security” and “clone detection”, but no messenger has deployed it yet AFAIK and the protocols that are being deployed now are not decentralized:

> [@Messaging Layer Security Protocol Standard?](https://support.delta.chat/t/messaging-layer-security-protocol-standard/2656/9):
>
> Wire wants to deploy MLS end of April: Would be interesting to see how it goes. Could be the first Secure Messenger to have Continuous Group Key Agreement deployed.

In Delta Chat group membership is managed entirely on devices without any servers, so there is no place where you can recover your group membership from.

> [@ell1e](#):
>
> If delta chat ties rights to identity key rather than e-mail, but has no such reset or rotation, the user seems to be screwed in this situation.

If user lost the identity key, the only way to recover from this cryptographically is to tell as many peers as possible that the key is revoked so it is removed from all chats and no messages are sent to encryption keys signed by this identity. Then you need to create a new identity and join the chats with it.

There is a draft for OpenPGP key replacement at [draft-ietf-openpgp-replacementkey-03 - OpenPGP Key Replacement](https://datatracker.ietf.org/doc/draft-ietf-openpgp-replacementkey/) but in case of key compromise it cannot work automatically because the key in this case is “hard-revoked”.

For non-cryptographic means see:

> [@Remote wipe from a lost device](https://support.delta.chat/t/remote-wipe-from-a-lost-device/3248):
>
> Delta Chat already Disappearing Messages feature and settings to configure deletion of messages from the device and from the server after selected time period. These features however do not help if device is lost or stolen because messages are not deleted immediately. For this case there should be a way to remotely wipe a profile from the device. One way to implement it would be to generate a device code that will wipe the profile when received. This solution is independent of the server. Ther…

---

<div class="post-metadata">

**Author:** ![ell1e](https://forum.delta.chat/user_avatar/forum.delta.chat/ell1e/32/2308_2.png) [@ell1e](https://forum.delta.chat/u/ell1e)\
**Post date:** [March 16, 2025, 11:15am UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/7 "2025-03-16T11:15:57Z")

</div>

I’m pretty sure it would be possible to allow an identity key rotation on a technical level to recover here, edit: for leaks **not** loss. It could be combined with a revocation that is enforced along/after the change.

As for Matrix, I don’t think it matters _why_ it handles this case better.

---

<div class="post-metadata">

**Author:** ![link2xt](https://forum.delta.chat/user_avatar/forum.delta.chat/link2xt/32/1971_2.png) [@link2xt](https://forum.delta.chat/u/link2xt)\
**Post date:** [March 16, 2025, 11:57am UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/8 "2025-03-16T11:57:39Z")

</div>

> [@ell1e](#):
>
> I’m pretty sure Matrix allows changing the user key

I opened Element, in “Security and Privacy” section of the settings it has this section:

 ![image](https://support.delta.chat/uploads/default/original/2X/d/dde9bb290d8892cee6f39a1edfde3ae45d73efac.png)

When I click “Reset”, it shows this:

 ![image](https://support.delta.chat/uploads/default/original/2X/5/55c3da169ef15b840d227836d019dd1f7b832930.png)

This is probably not related, don’t know what the use case is. Maybe it is the only way if you don’t have any devices anymore and logged in from scratch, but don’t know how the user will discover this option.

In the “Encryption” section I found “Reset cryptographic identity” button:

 ![image](https://support.delta.chat/uploads/default/original/2X/f/f08bb54a2a191f2a5ee15d6c06e9aa2ea23fc3bc.png)

When I click “Reset cryptographic identity”, it shows:

 ![image](https://support.delta.chat/uploads/default/original/2X/2/24de0f98dc94ff2030ce9e00361463752db6344f.png)

I clicked “Cancel” then.

This looks like just creating a new key, not key rotation. This is indistinguishable from an attacker breaking into the server and creating a new identity.

---

<div class="post-metadata">

**Author:** ![link2xt](https://forum.delta.chat/user_avatar/forum.delta.chat/link2xt/32/1971_2.png) [@link2xt](https://forum.delta.chat/u/link2xt)\
**Post date:** [March 16, 2025, 12:08pm UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/9 "2025-03-16T12:08:44Z")

</div>

For key replacement with [OpenPGP Key Replacement](https://datatracker.ietf.org/doc/draft-ietf-openpgp-replacementkey/) we can probably create a new key, move the old key into `Autocrypt-2` and add “Replacement Key” subpacket to it referring to the new `Autocrypt` header.

See also

> <https://github.com/autocrypt/autocrypt/issues/443>
>
> There are (at least) two reasons for that:
> 
> \- v5 OpenPGP certs will have only …very limited interoperability with the current v4 certs. The way the design team pictures the transition to v5 is to have both a v5 and a v4 cert during the transition period. Hence, we need to transmit both certs in Autocrypt.
> \- The user may have two certs where you don't support one of the algorithms used by the primary key. The main use case for this is the transition to PQ algorithms.

---

<div class="post-metadata">

**Author:** ![ell1e](https://forum.delta.chat/user_avatar/forum.delta.chat/ell1e/32/2308_2.png) [@ell1e](https://forum.delta.chat/u/ell1e)\
**Post date:** [March 16, 2025, 12:11pm UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/10 "2025-03-16T12:11:30Z")

</div>

> This looks like just creating a new key, not key rotation. This is indistinguishable from an attacker breaking into the server and creating a new identity.

Correct, but for the leak scenario, the equivalent for a peer-to-peer messenger like Delta would be a key rotation. For loss, there’s likely no fix 😵

---

<div class="post-metadata">

**Author:** ![ell1e](https://forum.delta.chat/user_avatar/forum.delta.chat/ell1e/32/2308_2.png) [@ell1e](https://forum.delta.chat/u/ell1e)\
**Post date:** [August 25, 2025, 8:29pm UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/11 "2025-08-25T20:29:25Z")

</div>

[This article](https://www.csoonline.com/article/3995036/breaking-rsa-encryption-just-got-20x-easier-for-quantum-computers.html) suggests a significant weakening of e.g. RSA keys in the next 5 to 10 years. I have no idea if this is true, but e.g. [Bruce Schneier](https://www.schneier.com/essays/archives/2024/05/lattice-based-cryptosystems-and-quantum-cryptanalysis.html) seems to agree on the problem.

Being able to rotate _all_ keys could soon become even more important.

---

<div class="post-metadata">

**Author:** ![Minim](https://forum.delta.chat/letter_avatar_proxy/v4/letter/m/ccd318/32.png) [@Minim](https://forum.delta.chat/u/Minim)\
**Post date:** [August 26, 2025, 4:41pm UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/12 "2025-08-26T16:41:00Z")

</div>

Worse, mails are compact and prime save-now-decrypt-later material.

I suggested [One-time pads +](https://support.delta.chat/t/one-time-pads/3454), adding them as an optional additional layer. @DavidSM100’s CryptText WebXDC app does an additional layer of weaker encryption.

---

<div class="post-metadata">

**Author:** ![Minim](https://forum.delta.chat/letter_avatar_proxy/v4/letter/m/ccd318/32.png) [@Minim](https://forum.delta.chat/u/Minim)\
**Post date:** [September 26, 2025, 12:45am UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/13 "2025-09-26T00:45:47Z")

</div>

I’m no expert here, but I’m not sure Deltachat uses RSA.

> “The default OpenPGP symmetric-key algorithm in Delta Chat is AES-128.”  
> -[https://eprint.iacr.org/2024/918.pdf](https://eprint.iacr.org/2024/918.pdf)

> “The good news is that symmetric ciphers, such as AES-GCM, are already post-quantum secure.”  
> -[The state of the post-quantum Internet](https://blog.cloudflare.com/sv-se/pq-2024/)

(AES-128 is AES-GCM with a 128-bit secret key)

---

<div class="post-metadata">

**Author:** ![ell1e](https://forum.delta.chat/user_avatar/forum.delta.chat/ell1e/32/2308_2.png) [@ell1e](https://forum.delta.chat/u/ell1e)\
**Post date:** [September 26, 2025, 8:58am UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/14 "2025-09-26T08:58:30Z")

</div>

Whatever it uses, you have to expect the key algorithm used to eventually have some sort of weakness no matter which one. And there should be a working key rotation _before_ that happens.

---

<div class="post-metadata">

**Author:** ![Minim](https://forum.delta.chat/letter_avatar_proxy/v4/letter/m/ccd318/32.png) [@Minim](https://forum.delta.chat/u/Minim)\
**Post date:** [September 26, 2025, 1:24pm UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/15 "2025-09-26T13:24:18Z")

</div>

Unless it’s a one-time pad 🙂. I agree rotation is useful, also for [other reasons](https://support.delta.chat/t/remote-wipe-from-a-lost-device/3248/14).

---

<div class="post-metadata">

**Author:** ![r10s](https://forum.delta.chat/user_avatar/forum.delta.chat/r10s/32/1513_2.png) [@r10s](https://forum.delta.chat/u/r10s)\
**Post date:** [October 6, 2026, 3:18pm UTC](https://forum.delta.chat/t/true-identity-key-rotation-seems-somewhat-important-in-the-long-term/3629/16 "2026-10-06T15:18:36Z")

</div>


