1. A system for preventing unauthorized use of a software program designed to be used with a device, where the software program and said device operate in the same host, comprising: a Production Key generation engine, the Production Key generation engine accepting as input one or more of a plurality of device-specific identifiers and a Software Product ID identifying said software program and providing therefrom a Production Key to the manufacturer of said device, said Production Key generation engine confidential to the manufacturer of said software program; a Locking Programming Interface (LPI) encoding engine, said LPI encoding engine accepting as input at least a portion of said device-specific identifiers, said Software Product ID and said Production Key and providing therefrom an LPI code which accompanies said device; and a Key Validation engine, said Key validation engine accepting as input at least a portion of said device-specific identifiers, said Software Product ID and said LPI Code and validating an extracted Private Key therefrom, wherein a successful validation enables features of said software program as specified by said Software Product ID to function in said host.