Frage

Ich möchte unterzeichnen , und ich habe 64 Bit meine Unterschrift zu speichern in dem Gerät. Dieses Gerät hat eine MAC-Adresse und einige andere Details (etwa 30 Bytes wert) Ich mangle kann meine Signatur zu erstellen.

Wenn möglich, möchte ich die Methode ein Weg sein, damit ich überprüfen kann, ob die Signatur gültig ist, ohne zu wissen, wie eine gültige Signatur zu erstellen. Die meisten öffentlich-privaten Schlüssel haben diese Funktion aber sie erzeugen Signaturen, die 48 Bytes lang sind (ich habe nur 8 Byte).

Implementierung in Python ist ein Plus.

Danke

Bearbeiten :  Danke für den Rat jedermann. Es klingt wie es keine sicher Art und Weise, dies zu tun, nur einen Weg, die mäßig unbequem für Angreifer ist. Ich werde wahrscheinlich einen verschlüsselten Hash kombiniert mit geheimen Bit-Schlurfen verwenden. Dies wird so sicher wie jede andere Verbindung in meiner (sehr schwach) ‚Sicherheit‘ sein.

War es hilfreich?

Lösung

Hash-Funktionen und digitale Signaturen sind sehr verschiedene Dinge.

Die Größe einer digitalen Signatur hängt von der zugrunde liegenden Hash-Funktion und der Schlüssellänge. Also in der Theorie, können Sie eine RSA-Implementierung erstellen, die 64-Bit-Signaturen erzeugt, aber das wäre eine extrem schwache Unterschrift sein.

Für kleinere Schlüssellängen, könnte man bei Elliptische-Kurven-Kryptographie suchen.

EDIT:. Ja, ich bin ein Entcoder

EDIT 2:. Doch wenn Sie nur eine Hash-Funktion benötigen, können Sie sehen elf64 oder RIPEMD-64 als Fernando Miguélez vorgeschlagen

EDIT 3: die Mathematik tun, müssen Sie 16-Bit-Schlüssel in ECC verwenden 64-Bit-Signaturen zu erzeugen, die sehr schwach ist. Für ECC, etwas weniger als 128 Bits können als schwach angesehen werden. Für RSA ist dies 1024 Bit.

Andere Tipps

Im Grunde, was Sie brauchen, ist ein 64-Bit- verschlüsselten Hash funcion , wie RipeMD- 64 oder Elf-64. Dann Sie den Hash mit einem kryptographischen Verfahren verschlüsseln und Sie haben eine 64-Bit-Signatur. Das einzige Problem ist, aus der Sicht eines nicht Kryptoanalysator, dass 64 Bit eine viel schwächere Signatur als typische over-128-Bit-Hash bietet. Dennoch könnte es noch für Ihre Anwendung geeignet sein.

Sie könnten nur eine Standard-Hash-Funktion (MD5 SHA1) verwenden und nur die ersten oder letzten 30 Bytes verwenden.
Die Anzahl der Bytes eine Hash-Funktion erzeugt, ist ziemlich willkürlich - es ist offensichtlich ein Kompromiss zwischen Raum und Einzigartigkeit. Es ist nichts Besonderes über die Länge der Signatur die sie verwenden.

Bearbeiten - sorry ich dachte, dass MD5 zurück 32bytes- es kehrt 16Byte actaulyl aber ussually als 32hex Ziffern geschrieben

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top