Il se comporte comme un générateur pseudo-aléatoire initialisé par une clé racine de 160 bits. Cette clé est étendue à l'aide de tables internes pour produire un flot de clés de 32bits. Les tables internes aux nombres de 3 sont calculées avec SHA-0 pour la version 1.0 de Seal, et SHA-1 pour la version 3.0.
Les tables sont ensuite combinées au cours de deux étapes pour produire 32 bits en sortie. Les opérations élémentaires durant ces deux étapes sont des XOR et des additions modulo 232, ce qui induit certaines faiblesses.
Enfin, chaque clé de 32 bits ainsi obtenue est ensuite combinée par un XOR à 32 bits du message, à la manière d'un masque jetable.
La sécurité de Seal repose donc sur la sécurité des algorithmes de la famille SHA-0[1].