Обмен зашифрованной инфой

ksnk

прохожий
fixxxer
Но вот проблема - когда я делаю файл доступным партнёру, этот файл должен надо перекодировать паролем партнёра (а пароль я не знаю).
А что происходит с оригинальным файлом? Он остается в копии и возможна его передача другому юзеру в том числе, или он безвозвратно уходит в собственность партнера?

+Мне сложно представить эффективный способ шифровки на php большого файла... К примеру 1,5гиг фильма

nochnoy
Защитится от хостера и его админов невозможно. Так что им(хостерам) нужно верить. При таком допущении проблема с файловым хостингом становиться достаточно тривиальной, накакой шифровки на хостинге. Права доступа только прикрутить...
 

fixxxer

К.О.
Партнер клуба
Зачем на php? На стороне клиента. Джава-апплетом, например.

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

Все ровно как с e-mail-ом в GPG.
 

nochnoy

Новичок
Зачем на php? На стороне клиента. Джава-апплетом, например
Вы так легко это говорите :) Какой джава-апплет, 2012й год на дворе. Видел я эти пплеты на сайтах банков - каждый раз теряешь килограмм нервных клеток. Сегодня прикидывал RSA на яваскрипте - тормозит даже при шифровании картинок, какие нафиг фильмы... Если без явы - то авторизацию придётся сделать путём постоянного закачивания файла сертификата и сам сайт должен быть чисто аджаксовым - чтобы после F5 яваскрипт не забыл сертификат. Есть ещё вариант - сделать флешовый сайт. Это уже реальнее, но не на много лучше явы. Беда, беда.
 

ksnk

прохожий
Джава-апплетом, например.
Да, это сработает но TC не подойдет ;)

Тоесть с аплетом это будет выглядеть так. Юзер2 говорит Юзеру1 - дай мне файл, вот тебе ключик. Апплет юзера 1 кодирует собственный файл и грузит его на сервер, Юзер 2 грузит его с сервера в удобное ему время. Достаточно доставить один ключик для шифровки. Если использовать rsa, то перехват ключа не принесет счастья... Вроде сходится.
 

fixxxer

К.О.
Партнер клуба
Вы так легко это говорите :) Какой джава-апплет, 2012й год на дворе. Видел я эти пплеты на сайтах банков - каждый раз теряешь килограмм нервных клеток.
Это потому что в банках обычно все делают через задницу.

Вполне делается нормально. Например у sbank.ru (реклама щедро оплачена) просто вводишь пароль в форме, сабмитишь форму, выбираешь на диске файл с ключиком и всё. Никаких проблем, никаких кривых апплетовских GUI. Запускается только небыстро, ну что ж поделать.

Флэш - тоже вполне себе вариант.
 

ksnk

прохожий
Какой джава-апплет, 2012й год на дворе
Сегодня прикидывал RSA на яваскрипте
Куда торопиться, всего то-2012 год на дворе. Нужно еще лет 5 подождать для rsa на JS ;)
Хотя , imho, JS вычисления совсем даже с приличной скоростью идут на последних хромах. Проигрывают всего 2-3 раза в вычислениях по сравнению с вычислительными задачами на С.
 

fixxxer

К.О.
Партнер клуба
У JS-реализаций, если даже скорость и приемлемая, есть одна большая проблема - как прочитать приватный ключ с диска? Хотя, возможно, всякие там современные html5 file api и решают проблему, я не вникал...
 

stopkran

Дилетант
У JS-реализаций, если даже скорость и приемлемая, есть одна большая проблема - как прочитать приватный ключ с диска?
Видел недавно такой пример (у меня работает!):
PHP:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>reading xml</title>
</head>
<body>
    <input type="file" id="files" name="files[]"  />
    <br/>
    <textarea rows="30" cols="100" id="txt_area" > </textarea>

    <script type="text/javascript">
      function handleFileSelect(evt) {
        var files = evt.target.files; // FileList object

        // You can Loop through the FileList for muliple file ,also add multiple in input tag e.g <input ..... muliple ... /&gt;
        //for (var i = 0, f; f = files[i]; i++)  for multiple files

          var reader = new FileReader();

         reader.onload = function(event) { document.getElementById('txt_area').value = event.target.result; }

          reader.readAsText(files[0]);

        }

      try
      {
            document.getElementById('files').addEventListener('change', handleFileSelect, false);
      }
      catch(e)
      {
            alert(e);
      }
    </script>
</body>
</html>
 

Alexandre

PHPПенсионер
У JS-реализаций, если даже скорость и приемлемая, есть одна большая проблема - как прочитать приватный ключ с диска? Хотя, возможно, всякие там современные html5 file api и решают проблему, я не вникал...
я не вникал, но ключ можно положить в локальное хранилище
 

Alexandre

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

fixxxer

К.О.
Партнер клуба
В локал сторадже хранить как-то совсем небезопасно. Обычно приватные ключи на криптодисках хранят.
 
Сверху