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.
* 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.