var PassPhrase = "The Moon is a Harsh Mistress." // Пароль
var Bits = 1024; // битность ключа
var MattsRSAkey = cryptico.generateRSAKey(PassPhrase, Bits); // создание ключа
var PlainText = "Matt, I need you to help me with my Starcraft strategy"; //текст который нужно зашифровать
var MattsPublicKeyString = cryptico.publicKeyString(MattsRSAkey); //получение публичного ключа
var EncryptionResult = cryptico.encrypt(PlainText, MattsPublicKeyString); // Результат шифрования
var CipherText = EncryptionResult.cipher; //Шифрованные текст
var DecryptionResult = cryptico.decrypt(CipherText, MattsRSAkey); //результат дешефровки
if (openssl_public_decrypt(base64_decode($_POST["CipherText"]), $data, base64_decode($_POST["MattsRSAkey"]))) echo $data;
else echo 'Ошибка!';
uXjrkGqe5WuS7zsTg6Z9DuS8cXLFz38ue+xrFzxrcQJCXtVccCoUFP2qH/AQ4qMvxxvqkSYBpRm1R5a4/NdQ5ei8sE8gfZEq7dlcR+gOSv3nnS4/CX1n5Z5m8bvFPF0lSZnYQ23xlyjXTaNacmV0IuZbqWd4j9LfdAKq5dvDaoE=
// так выглядит публичный ключ
"R8yqFn5/r/7mam+oaXd1BW4ErX53Q9AiT0xyZp6qiASCz7WjZKEcW0fWNZ2/tAq5vZ+UDXAsUo4P4BUPedoCNWPSGXsu2siiIPtkVALuXoPn40Z2PgjFjQVt2Or387T2sS299278cjHIMt1swIv6xsvuJ+Vp6DE0H483S+geJ2g=?rzu2yJBmDzesRq/tKF6uDBCnkTVsYy4mJ0db0s0dj81vi9miSKQmQ4STX8aTW66/4et2yF5Xclm76f/X0y9dUhZOYuOATL1hLXlO3YyW9XU="
// шифрованные данные с подписью
var DecryptionResult = cryptico.decrypt(CipherText, MattsRSAkey);
if (openssl_public_decrypt (base64_decode($_POST["CipherText"]), $data, base64_decode($_POST["MattsRSAkey"]))) echo $data; else echo 'Ошибка!';
var EncryptionResult = cryptico.encrypt(PlainText, MattsPublicKeyString, SamsRSAkey);
$Пользователь->Генерирование Приватного Ключа->запрос к сереверу на авторизацию
$Сервер->Запрос на публичный ключ пользователя из БД->генерирование рандомного числа -, генерирование Рандомного RSA ключ->шифрование публичным ключём пользователя (Случайнок число, публичный RSA ключ)->отправка данных;
$Пользователь->дешефровка данных Приватным ключём->извлечение публичного RSA ключа->извлечение рандомного ключа->шифрование рандомного числа публичным RSA ключём->отправка данных на сервер
$Сервер->дешефровка принятых данных->проверка на идентичность полученого числа из принятых данных и сгенерированным.