Die ML-KEM- und ML-DSA-Standards ermöglichen es Ihnen, den privaten Schlüssel auf zwei Arten zu speichern. Es gibt einen kleinen Seed, 64 Bytes für ML-KEM und 32 Bytes für ML-DSA, und es gibt eine größere erweiterte Form, die aus diesem Seed durch eine Hash-Funktion(en) abgeleitet wird. Die beiden sind mathematisch äquivalent und Sie können jederzeit vom Seed zur erweiterten Form wechseln, aber Sie können nicht zurückgehen. Wenn Sie zwischen dem, was Sie als privaten Schlüssel speichern möchten, wählen, speichern Sie den Seed. Es ist das eigentliche Geheimnis, von dem alles andere abgeleitet wird. Sie können es jederzeit in den vollständigen Schlüssel erweitern, und es dauert etwa 40 Mikrosekunden, sodass es keinen wirklichen Grund gibt, die erweiterte Version auf der Festplatte zu speichern. Wenn Sie es im Speicher für wiederholte Operationen benötigen, erweitern Sie es einfach einmal zur Ladezeit. Der Seed sind einfach zufällige Bytes, sodass jeder Wert ein gültiger Schlüssel ist. Die erweiterte Form hat eine Struktur; Koeffizienten, die im Bereich liegen müssen, einen eingebetteten öffentlichen Schlüssel, einen Hash, der übereinstimmen muss, und der Standard verlangt, dass Sie all dies beim Import überprüfen. Das ist viel mehr Oberfläche für Dinge, die schiefgehen können, was Sie mit einem Seed einfach nicht haben. Es gibt auch ein laufendes Serialisierungsproblem bei der IETF, bei dem das aktuelle Kompromissformat es ermöglicht, dass sowohl der Seed als auch der erweiterte Schlüssel in derselben Datenstruktur sitzen. Das bedeutet, dass zwei konforme Implementierungen unterschiedliche Felder aus demselben Schlüssel lesen können und am Ende mit unterschiedlichem Schlüsselmaterial herauskommen, was Sie von einem Schlüsselformat nicht wollen. TL;DR: Speichern Sie den Seed und erweitern Sie ihn bei Bedarf.