I am developing a smart contract and it will need to communicate with ethereum user addresses (openly or privately). I need to make use of a encrypted messaging protocol. After some searching, I found whisper. But I don't understand how to make use of it in my solidity contract. Can somebody guide me to a documentation for that? Thank you!
Whisper cannot be used from within a smart contract. It's designed for (D)application-level P2P communication. Currently, the only way for a contract to "communicate" with anything else is to call another contract.
Note that whisper is sort of in alpha form at the moment and it's a moving target. Documentation is very scarce.