aKEY v1.35 - registration key system
Copyright © 2000-2009 Jørgen Ibsen. All Rights Reserved.
aKEY is a registration key system which uses public-key cryptography to produce a signature protecting the registration information (much like signing a message in PGP or GnuPG). This means that it is not practically possible to change the information or to create a valid key, even given another.
Most users who choose to use a program illegally will prefer using a key-maker to using a cracked version. This is because a key will ensure that the program works as a legally registered version -- with a cracked version you can never know what happens.
Many software developers attempt to protect a weak registration key system using strong anti-debugging. But no amount of anti-debugging will ever keep out professionals -- just look at the amount of decrypters for supposedly secure protection systems.
From my experience it is far better to use a good key-system which will protect from key-generators. Anti-debugging can still be a good way of keeping a lot of people from looking at the code, but it should not be the last line of defence.
Most registration key/code systems rely on obscurity to protect the algorithm used to create the keys. Public-key cryptography is a better choice as it makes it computationally infeasible to break the key generation system, even knowing the algorithm.
aKEY was developed with three main concerns -- security, flexibility and ease-of-use:
- The cryptographic algorithms (SHA-1 hashing and RSA encryption) were chosen to ensure the highest level of security. But strong cryptography is useless without paying attention to the practical pitfalls, so a lot of care was taken while developing the key format.
- The level of security can be chosen from 512-bit encryption up to any level desired.
- The key format is extremely flexible, and allows for any type of data to be included in the key. The format follows a number of standards to make it easy for developers to work with the code.
- The entire registration key is encoded using a Radix-64 armor in order to make it possible to transmit it by e-mail and other 7-bit channels.
- aKEY uses assembler-optimized code, which ensures fast and unobtrusive key-checking.
- aKEY key-checking can be added to almost any program with little effort, and the key-checking code is portable across x86 operating systems.
Download
You can get a demo of the latest version of aKEY on the download page.
Registration
Registration of aKEY is currently unavailable.