Шифрование / дешифрование загрузки файла AES и использование - PullRequest
3 голосов
/ 20 марта 2019

У меня есть групповой чат, где пользователь может публиковать текст и изображение.

Я использую разветвление на стороне клиента для многократного шифрования каждого сообщения для каждого пользователя с использованием его открытого ключа

Теоретически это нормально, пока вы не попытаетесь RSA зашифровать образ base64 для 50 человек перед отправкой на сервер. Это займет около 11 дней.

Так что после поисков в поисках таких вещей, как JSZip и затем шифрование или AES, а затем RSA, я ищу правильный способ сделать это.

Так скажем, у меня есть

<input id="foo" type="file" />

И моя функция изменения

 $(document).on("change", "#foo", function() {

      // AJAX PUBLIC KEY RETRIEVAL
      $.ajax({
            url : ajax_object.ajax_url,
            type : 'post',
            data : {
            action: 'get_room_member_keys',
            },
            beforeSend: function() {
            },
            success: function(html) {
                var pubKeys = $.parseJSON(html);
                $.each( pubKeys, function( key, value ) {
                    // Do encryption with Cryptico
                });                               
            },
      });
 });

А потом, когда я получаю сохраненные сообщения и расшифровываю RSA, как мне извлечь изображение для использования в теге изображения?

Я не публиковал вещи, которые попробовал, потому что они смехотворны, и я нигде не вижу этого подробно объясненного.

1 Ответ

2 голосов
/ 20 марта 2019

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

...