1. A system for enabling a protected program to run on only a selected plurality of computers, comprising: a respective triple encrypted key for each of said computers of the form E.sub.FK [E.sub.Ki [E.sub.FK [Ki]]] where Ki is an unencryped key that is unique to each of said computers, E.sub.Ki is an encryption procedure E which uses key Ki, and E.sub.FK is the same encryption procedure E using a single fixed key FK for all of said computers; a respective unique module coupled to each computer of said plurality for performing a decryption procedure E.sub.Ki.sup.-1 where Ki is unique to each module; a checker program in each computer which responds to requests to use said protected program by performing a single decryption procedure E.sub.FK.sup.-1 on said triple encrypted key and sends the result to said module as a message M; said module being adapted to perform said single decryption procedure E.sub.Ki.sup.-1 on said message M and send E.sub.Ki.sup.-1 [M] back to said computer; a means in said checker program for receiving E.sub.FK.sup.-1 [M] from said module and for performing another single decryption procedure E.sub.FK.sup.-1 on it to obtain key Ki; an identifier that is encrypted with said key Ki; and a means in said checker program for using key Ki to decrypt said identifier, and for proceeding with the execution of said protected program only if it is identified by the decrypted identifier.