Adler-32

Adler-32

Adler-32 est une fonction de hashage inventée par Mark Adler et dérivée de la fonction de Fletcher.

Sommaire

Caractéristiques

Adler-32 est une fonction rapide à calculer, notamment sans support matériel, ce qui lui donne un avantage de vitesse sur CRC-32.

Elle est cependant facile à collisioner, ce qui limite son usage à la détection de corruptions non intentionnelles.

Adler-32 est peu fiable sur de petites quantités de données ; elle est notamment moins robuste que CRC-32[1].

Algorithme[2]

La valeur Adler-32 est composée de deux checksum 16-bits s1 et s2.

  • s1 est initialisée à 1 et fait la somme des octets de données modulo 65521.
  • s2 est initialisée à 0 et fait la somme des valeurs successives de s1 modulo 65521.

La valeur finale 32 bits est obtenue en plaçant s2 dans les 16-bits de poids fort, et s1 dans les 16-bits de poids faibles.

Optimisation

En calculant s1 et s2 sur 32-bits, on peut factoriser le calcul du modulo 65521 tous les 5552 octets de données.

Améliorations par rapport à la somme de Fletcher

  • La somme de Fletcher est sur 16-bits (s1 et s2 étant sur 8-bits chacun)
  • Fletcher utilise un modulo 255, ce qui ne permet pas de détecter un octet qui serait passé de la valeur 0 à la valeur 255, ou inversement. L'utilisation du nombre premier 65521 comme modulo empêche la non-détection d'une erreur sur un seul octet, et la probabilité de non-détection d'une erreur sur plusieurs octets devient très faible, quoique non nulle.
  • Fletcher initialise les deux sommes à 0. L'initialisation de s1 à 1 permet d'intégrer la taille des données dans le calcul. (Une séquence de caractères nuls a toujours une somme de Fletcher de 0, ce qui n'est plus le cas d'une somme Adler-32.)

Implémentations

L'implémentation de référence de Adler-32 est celle présente dans la bibliothèque de compression de données Zlib, également développée par Mark Adler.

Voir aussi

Articles connexes

Liens externes

Références


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Adler-32 de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • Adler — Adler …   Deutsch Wörterbuch

  • Adler — (v. mittelhochdt. adelare, urspr. edelaar zu Aar) steht für: Adler (Familienname), einen Familiennamen Adler (Biologie), Trivialbezeichnung für verschiedene Greifvögel Echte Adler, die Vertreter der Gattung Aquila Adler (Sternbild), ein Sternbild …   Deutsch Wikipedia

  • Adler-32 — Adler 32  хеш функция, разработанная Марком Адлером (англ.). Является модификацией контрольной суммы Fletcher (англ.). Вычисляет значение контрольной суммы в соответствии с RFC 1950 для массива байт или его фрагмента. Данный… …   Википедия

  • Adler — Adler …   Википедия

  • Adler-32 — is a checksum algorithm which was invented by Mark Adler. Compared to a cyclic redundancy check of the same length it trades reliability for speed. Compared to its original form (Fletcher 16), Adler 32 is more reliable than Fletcher 16. However,… …   Wikipedia

  • Adler — es un nombre alemán común; significa águila . El término Adler puede referirse a: ● Adler (automóvil), un automóvilo de principios del siglo XX ● Adler (supermercado), un supermercado en Polonia ● Adler Mannheim, un equipo de hockey alemán ●… …   Enciclopedia Universal

  • Adler I — auf dem N O K p1 …   Deutsch Wikipedia

  • Adler XI — an der Seebrücke Heringsdorf p1 …   Deutsch Wikipedia

  • ADLER — ADLER, family originally from frankfurt . There are different theories as to the origin of the family name. According to one, the early members of the family lived in a house bearing the sign of an eagle (Ger. Adler). The main branch, whose… …   Encyclopedia of Judaism

  • ADLER — ADLER, U.S. theatrical family. The founder was JACOB ADLER (1855–1926), one of the leading Jewish actor managers of his time, and a reformer of the early Yiddish theater. Born in Odessa, he first acted with amateurs, and in 1879 joined one  … …   Encyclopedia of Judaism

  • Adler-32 — ist ein einfacher, von Mark Adler entwickelter Prüfsummenalgorithmus. Er wird unter anderem von der zlib Bibliothek benutzt, um (zufällige Übertragungs )Fehler im komprimierten Datenstrom zu erkennen. In RFC 1950 wird der Algorithmus genau… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”