prrrrrrr
@prrrrrrr
Верстаю сразу на PHP.

В чём суть RSA?

Подскажите, В чём суть RSA-шифрования? Не могу понять. Вот взять AES. Если AES добавляется в БД зашифрованным, и выводится если есть ключ — расшифрованным (к примеру если злоумышленник попал в БД, то он не расшифрует без ключа, суть понятна), а какой смысл в RSA? Пробовал таким же образом, в базу или один символ добавляется, или вообще пустота. Но если выводить как на примере ниже, то всё отлично работает.

Вот пример шифровки и дешифровки на одной странице:
<?php
$rsa = new Crypt_RSA();
$rsa->loadKey('...'); // публичный ключ

$plaintext = 'machmala'; // текст

$ciphertext = $rsa->encrypt($plaintext); // шифруем текст

echo $ciphertext, '<hr>'; // выводим шифрованный текст

$rsa->loadKey('...'); // если видим приватный ключ, то расшифровываем
echo $rsa->decrypt($ciphertext); // расшифровка
?>

и дальше что? объясните суть или на примере, как им шифруют сообщения, и прочее, если в БД оно не заносится?
  • Вопрос задан
  • 2663 просмотра
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега Информационная безопасность
software engineer
Не путайте симметричное и ассиметричное шифрование.

AES - вы берете пароль и шифруете им данные.

RSA - вы берете открытый ключ, шифруете им данные, а расшифровать можно только второй половинкой (приватный ключ).

У AES и RSA - разные задачи и различное применение.
Ответ написан
asilonos
@asilonos
Программист
> В чём суть RSA-шифрования?
1. Шифрование маленьких данных строго определенной длинны.
2. Подпись
3. Обмен ключами.

Обычно его применяют так - Шифруют AES ключи чтобы надежно их передать Другой стороне и затем использовать AES - который быстрее намного.
Возможно ты пытаешся зашифровать блок данных длинной которая не соместима с RSA. и поэтому он выдает ошибку.
в начале надо запросить у $rsa какой длины должны быть данные для шифрования.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы