Шифрование сообщений/файлов на сайте, как сделать?
1. Либо пользователи обмениваются между собой паролем заранее, не пользуясь вашим сайтом.
2. Либо они пользуются ассиметричными ключами, которые также должны сгенерировать за пределами вашего сайта.

Ну а дальше - стандартные вещи. Можете почитать https://ru.wikipedia.org/wiki/PGP
Это невозможно осуществить.
1. Если сообщения будут передаваться через сайт, то пользователи должны как-то обменяться ключами до начала обмена сообщениями.
2. Если ключи выписывает сайт - все сообщения он также сможет читать.

Основная проблема, которую сейчас никак невозможно решить - это обмен ключами без посредников.
Если советуют PGP и прочее, то чтение собранных шифрованных сообщений - это лишь вопрос времени, и безопасность этого при сегодняшних возможностях - ниже, чем никакая.