We've designed several cryptosystems, including Salsa20, Poly1305, Curve25519, and Ed25519. These cryptosystems are designed for security, robustness, performance, and ease of implementation without data-dependent branches and without data-dependent array indices. We use these functions in NaCl to make our lives easier and the software better.