Yet these systems are still successful because the benefits and conveniences outweigh the losses. A good cryptographic system strikes a balance between what is possible and what is acceptable. Strong cryptography can withstand targeted attacks up to a point-the point at which it becomes easier to get the information some other way. A computer encryption program, no matter how good, will not prevent an attacker from going through someone's garbage. The good news about cryptography is that we already have the algorithms and protocols we need to secure our systems.
Companies often get the easy part wrong, and implement insecure algorithms and protocols.
The best protocol ever invented can fall to an easy attack if no one pays attention to the more complex and subtle implementation issues. Netscape's security fell to a bug in the random-number generator. Security is a chain, and a single weak link can break the entire system. Once you find a security flaw, you can fix it. But finding the flaws in a product can be incredibly difficult.