Система облачного шифрования делает проще и надежнее обычное симметричное шифрование.
В начале главный участник шифропереписки (администратор) запрашивает у системы ключ. Система генерирует пользовательский ключ и передает его администратору. Одновременно она вычисляет по нему системный ключ, который держится в секрете. Дополнительно администратор задает ПИН-код, по которому будет осуществляться доступ в систему с данным ключом (впоследствии по нему можно будет определить и дополнительные ПИНы). /1-й рис./.
Сгенерированный ключ администратор рассылает своим корреспондентам. Также он сообщает им их ПИНы, по которым они смогут работать с ключом. (Последние, конечно, желательно рассылать другим способом и по другим каналам. Что нетрудно сделать, учитывая простоту ПИН-кодов - как правило, 4 цифры.) /2-й рис./
Дальше система шифровки будет выглядеть так. /3-й рис./
Корреспондент (в т.ч. администратор) вызывает систему и вводит подлежащий зашифровыванию текст, пользовательский ключ и ПИН. Система, убедившись, что пара ключ+ПИН корректна, по ключу генерирует (или считывает из БД) системный ключ (1), по которому зашифровывает текст (2) и посылает его по каналу связи /слева/.
Аналогично производится и расшифровка: корреспондент вводит зашифрованный текст, пользовательский ключ+ПИН. После верификации система вновь получает из пользовательского ключа системный (1), по которому и расшифровывает послание (3), выдавая оригинальный текст корреспонденту /справа/.
Шифровка по системному ключу может проводиться стандартными распространенными алгоритмами шифрования.
Такая система делает малопродуктивным похищение ключа: без знания ПИНа он фактически бесполезен (а защита паролей от взлома достаточно отработана в современных он-лайновых технологиях). Заметим также, что пересылаемый текст шифруется совсем по другому ключу, поэтому даже похищение ползовательского ключа вкупе с перехватом зашифрованного сообщения ничего дешифраторам не даст.