In a modern society cryptology plays a fundamental role in many public services that demand privacy in data communication. Its wide range of use covers the services such as internet banking, mobile communication encryption, e-mail encryption ...., to name just a few. One huge subclass of cryptographic primitives consists of so called symmetric-key ciphers which in itself contains block ciphers and stream ciphers. These encryption schemes are used for a fast symmetric-key encryption, that is the same secret key is shared by the sender and receiver in a two-party communication. A few years ago, a new block cipher standard was adopted (Advanced Encryption Standard that uses the Rijndael encryption algorithm) as a replacement of the famous block cipher DES. Stream cipher encryption technique has not yet been standardized except of certain mobile applications such as GSM. Due to faster encryption when compared to block ciphers, this encryption method still remains attractive for fast encryption applications where a huge amount of data is to be encrypted. Also, some real-time applications such as encryption of streaming video sequence are preferably performed in an extremely fast fashion. In this talk we discuss general design strategies for modern stream cipher schemes. The security aspects of certain design approaches are illustrated. In the second part, the concept of algebraic attacks is treated in greater depth. These attacks, being a relatively new security threat, have in certain sense compromised the security of many encryption schemes that were believed to be cryptographically strong.