Explain the following concepts:
- What is your understanding of the difference between a stream cipher and a block cipher?
- What are two ways to launch a cryptanalytic attack against a cipher (based upon what the attacker knows or has in possession)? Be sure to provide detailed examples with supporting research.
- What is your understanding of the difference between an unconditionally secure cipher and a computationally secure cipher?
- Your organization has asked for a cryptographic algorithm recommendation for a new project that requires high-level security. What algorithm would you recommend and why?