ISAAC

FR ISAAC n'est pas à proprement parler un logiciel, mais une routine que vous pouvez réutiliser dans vos programmes.

ISAAC est un générateur de nombres pseudo-aléatoires qui produit des valeurs de 32 bits.

ISAAC a une période minimale garantie de 2^40. La période moyenne est de 2^8295.

Les résultats sont uniformément distribués, sans biais et imprévisibles si vous n'avez pas le vecteur d'initialisation.

La taille de l'état interne d'ISAAC et du vecteur d'initialisation est de 8192 bits.

ISAAC peut être utilisé à des fins cryptographiques.

Je ne suis pas l'auteur d'ISAAC. J'ai juste implémenté l'algorithme de Bob Jenkins en Delphi.

Cette implémentation d'ISAAC a été réalisée en Delphi (pascal objet) et testée avec Delphi 4. D'autres implémentations (C, C++, Forth, Java et Modula-2) sont disponibles sur le site de Bob Jenkins.

Vous trouverez tous les détails dans les commentaires du code source.

Michael in der Wiesche m'a envoyé deux versions optimisées d'ISAAC, la première en Delphi et la seconde en assembleur.

EN ISAAC is not a program, it's a routine that can be used in your own programs.

ISAAC is a pseudo-random number generator which produces 32 bits values.

ISAAC has a minimal guaranteed cycle of 2^40 and an average cycle of 2^8295.

The results are uniformly distributed, unbiased, and unpredictable unless you know the seed.

The internal state of ISAAC and the size of the seed are 8192 bits wide.

ISAAC is suited for cryptographic purposes.

I am not the author of ISAAC. I only implemented Bob Jenkins' algorithm in Delphi.

This implementation was realized in Delphi (object-oriented pascal) and tested under Delphi 4. Other implementations (C, C++, Forth, Modula-2 and Java) are available at Bob Jenkins' site.

You will find detailed information in source code's comments.

Michael in der Wiesche sent me two optimized versions of this implementation, the first one in Delphi, and the second one in assembler.

Version standard (lisible):
isaac.pas (9854 octets)
isaac.zip (3448 octets - zippé)

Version optimisée (plus rapide) par Michael in der Wiesche:
idwisaac.pas (8737 octets)
iswisaac.zip (3494 octets - zippé)

Version optimisée ASM (encore plus rapide) par Michael in der Wiesche:
idwisaacasm.pas (17198 octets)
iswisaacasm.zip (4442 octets - zipped)

Standard (readable) version:
isaac.pas (9854 bytes)
isaac.zip (3448 bytes - zipped)

Optimized version (faster) by Michael in der Wiesche:
idwisaac.pas (8737 bytes)
iswisaac.zip (3494 bytes - zipped)

ASM Optimized version (even faster) by Michael in der Wiesche:
idwisaacasm.pas (17198 bytes)
iswisaacasm.zip (4442 bytes - zipped)