Search code examples
cryptographypublic-key-encryptionsoftware-distribution

Software Licensing method with Public key Encryption


I am working on a method for licencing a software for distribution.

All the .exe distributed will have a public key. Public key will be same for all distributions, which will be used to encrypt licencing information and generate a licence file.

The distribution will be supplied with a private key(serial key) which will be used to run the software. Private key will be different for all distributions.

can anyone suggest any algorithm to which can encrypt with a single public key and decrypt with different private key.

Here is the link which i found similar to this topic but cant figure out how to implement.


Solution

  • as stated in your link by Artjom;

    Let's say multiple recipients have (a different) private key and all of them can decrypt data encrypted with the same public key. You should ask yourself, how can the different private keys be generated to arrive at the same public key, but where all the recipients wouldn't know the private key of each other.

    Actually, he tries to say, this construction would be impossible.

    And again in your link Panco noted; the questions;

    I suspect you need to think more about the security goals (and nongoals) of the system. The cluster head sends a message; who must be able to read the message (e.g. the intended recipient)? Who must not be able to read the message (e.g. random third parties)? Who don't you care whether they can or cannot (e.g. the cluster head itself)? Also, this is an ad hoc network; how do nodes join the cluster? Is there some sort of introduction protocol (where keys can be exchanged)?

    This is your solution;

    Depending on the answers, a purely symmetric system may be the Right Thing.