 yannick gingras wrote i am wondering if there are any techniques to make a cd key of the like unbreakable either by giving it a cancelation date and a periodic renewal from a server or just by using self mdNUMBER signature on the resulting executable i know it must not be easy because the whole software piracy problem would be resolved but there must be some way to make it really hard to break it anyone have hints on this issue what do you mean by cd key or the like i presume that of was a typo and what do you mean by unbreakable you need to be far more explicit about the problem which you wish to solve and about the constraints involved some general points NUMBER for a conventional cd key system where the actual cds are mass produced where you have many identical cds and the entire system has to work offline you cannot solve the problem of valid keys being traded e g included along with bootleg copies of the product if there s an online element involved you can tie keys to a specific hardware configuration as is done afaik for windows xp s product activation NUMBER anything which uses a symmetric cipher or hash is bound to be vulnerable to reverse engineering of the validation routines within the executable NUMBER ultimately any software mechanism will be vulnerable to cracking i e modifying the software to disable or circumvent the validation checks this can only be prevented by the use of trusted hardware e g a palladium style system most significantly the data must be supplied in a form which is only accessible by that hardware if anyone can get at the data in a meaningful i e unencrypted form they can extract the useful parts and discard the rest i e any associated protection mechanisms iow you have to keep the genie in the bottle at all times if the data can be got at just once even if it requires the use of dedicated hardware such as a bus analyser it can then be duplicated and distributed without limit glynn clements glynn clements virgin net 