There is always a better code writer!
As programmers, we all know that there is no such thing as “crack”.
There is “finding the key” or “finding the pass code”; but never there has been a “crack”!
It is, technically, possible to find the key for 128-bit encoded message.
Even for 512, 1-Mbit or more.
But, practically, it is not that easy.
If all computers in the world come together and work for us continuously, it will take at least a decade to find the key for 64-bit encoded message (somebody did try that already).
Now imagine, by the time you find the key just for 64-bit with all that computer power, we will be using 1-Mbit of encoding.
Take a look at Crownhill.
They are now providing a USB key which is a hardware key (still there are ways to go around it).
MS or any other well recognized products could also use hardware key. But they have never considered it. This is their strategy and it is working well.
IF the owner of Crownhill takes a step forward and makes its product free for schools, for the next, say, 5 yrs, THEN afterwards there will be millions of potential users in the market; but by the time they become potential users it will not be free. Repeat this every 10 yrs (5+5) and have more and more potential users for the future.
---------------------