When they create an encryption program they normally use a precise type of algorithm example: RSA128, RCx, IDEA, etc.
When hacker want to decrypt a data file with brute force. They already know the encryption method used. So they can use another "home" program with the same algorithm instead of the "official program".
So why they do not use more then one algorithm? With modern computer power, they can use many different type of cryptography algorithm in an "random" sequences!
Example : Plain Data --> AlgoA --> AlgoR --> AlgoB --> AlgoZ --> AlgoT --> AlgoW --> AlgoA --> AlgoB --> AlgoG --> AlgoK --> encrypted data.
The user have 2 thing to remember, The "key" and the "algorithm sequence" (in this case "A+R+B+Z+T+W+A+B+G+K")
So, if you do not have the right sequence of algorithm used. You multiply the computing time to decrypt (brut force) the stolen data.