From e6aed8534a0eadec0cc12e46c4b6c38a686a0e4a Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 14 Jul 2025 20:18:20 -0400 Subject: [PATCH] Use libsignal for deriving thumbnail transit keys. --- .../signalservice/api/backup/MediaRootBackupKey.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/backup/MediaRootBackupKey.kt b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/backup/MediaRootBackupKey.kt index 7cea37fcb6..cbd4391e19 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/backup/MediaRootBackupKey.kt +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/backup/MediaRootBackupKey.kt @@ -6,7 +6,6 @@ package org.whispersystems.signalservice.api.backup import org.signal.libsignal.protocol.ecc.ECPrivateKey -import org.signal.libsignal.protocol.kdf.HKDF import org.whispersystems.signalservice.api.push.ServiceId.ACI import org.signal.libsignal.messagebackup.BackupKey as LibSignalBackupKey @@ -37,7 +36,7 @@ class MediaRootBackupKey(override val value: ByteArray) : BackupKey { } fun deriveThumbnailTransitKey(thumbnailMediaName: MediaName): ByteArray { - return HKDF.deriveSecrets(value, deriveMediaId(thumbnailMediaName).value, "20240513_Signal_Backups_EncryptThumbnail".toByteArray(), 64) + return LibSignalBackupKey(value).deriveThumbnailTransitEncryptionKey(deriveMediaId(thumbnailMediaName).value) } private fun deriveMediaSecrets(mediaId: MediaId): MediaKeyMaterial {