Question

J'aimerais signer un appareil et j'ai 64 bits pour stocker ma signature. dans l'appareil. Cet appareil a une adresse MAC et quelques autres détails (environ 30 octets) que je peux modifier pour créer ma signature.

Si possible, j'aimerais que la méthode soit à sens unique, afin de pouvoir vérifier que la signature est valide sans savoir comment créer une signature valide. La plupart des clés publiques-privées ont cette fonctionnalité, mais elles génèrent des signatures d'une longueur de 48 octets (je n'ai que 8 octets).

L'implémentation en Python est un plus.

Merci

MODIFIER :  Merci à tous pour vos conseils. On dirait qu’il n’ya pas de moyen sécurisé de le faire, mais seulement d’un moyen qui dérange modérément les attaquants. J'utiliserai probablement un hachage cryptographique associé à un transfert aléatoire de bits. Ce lien sera aussi sécurisé que tout autre lien de ma "sécurité" (très faible).

Était-ce utile?

La solution

Les

fonctions de hachage et les signatures numériques sont très différentes.

La taille d'une signature numérique dépend de la fonction de hachage sous-jacente et de la longueur de la clé. Donc, en théorie, vous pouvez créer une implémentation RSA qui génère des signatures 64 bits, mais ce serait une signature extrêmement faible.

Pour des longueurs de clé inférieures, vous voudrez peut-être examiner la cryptographie à courbe elliptique.

EDIT: Oui, je suis un cryptographe.

EDIT 2: Si vous avez seulement besoin d'une fonction de hachage, vous pouvez regarder elf64 ou RIPEMD-64 comme le suggère Fernando Migu & # 233; lez.

EDIT 3: Pour faire le calcul, vous devez utiliser des clés 16 bits dans ECC pour générer des signatures 64 bits, ce qui est très faible. Pour ECC, tout élément inférieur à 128 bits peut être considéré comme faible. Pour RSA, il s'agit de 1024 bits.

Autres conseils

Vous avez essentiellement besoin d'une fonction de hachage cryptographique , telle que Ripemd- 64 ou elf-64. Ensuite, vous chiffrez le hachage avec une méthode cryptographique et vous obtenez une signature de 64 bits. Le seul problème est que, du point de vue des non-cryptoanalystes, le 64 bits offre une signature beaucoup plus faible que le hachage typique sur 128 bits. Néanmoins, cela pourrait toujours convenir à votre application.

Vous pouvez simplement utiliser une fonction de hachage standard (MD5 SHA1) et n'utiliser que les 30 premiers ou les 30 derniers octets.
Le nombre d'octets générés par une fonction de hachage est assez arbitraire - il s'agit évidemment d'un compromis entre espace et unicité. La longueur de la signature utilisée n’a rien de spécial.

Modifier - désolé, je pensais que MD5 avait renvoyé 32 octets. Actaulyl renvoyait 16 octets mais était généralement écrit sous la forme de chiffres 32hex.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top