Реализация алгоритма шифрования RC6 без дополнит. модулей PHP

era

Новичок
Реализация алгоритма шифрования RC6 без дополнит. модулей PHP

Товарищи, такой вопрос:
Хочу создать что-то типа шифрованого тунеля между Delphi приложением и PHP скриптом. Для шифрования данных выбрал алгоритм RC6. Со стороны Delphi приложения проблемм не возникает а вот для PHP скрипта не могу реализацию данного алгоритма.

Может кто-нибудь видел такое или у кого-то есть готовое?

Просьба использование дополнительных библиотек, подключаемых к PHP не предлагать (Если только их нельзя подключить из скрипта).

Если имеет значение, то PHP 4.4.x
 

era

Новичок
Спасибо, конечно.
Хотелось-бы готовое решение на PHP.
А переписывать на PHP я и так собирался, просто подумал, что может у народа есть уже такое.

И вопрос в догонку.
Вообще-то создавать внутри HTTP протокола шифрованый канал - это нормально? Я как-бы другого метода не вижу (https не годится). Может ещё какие методы есть?
 

WP

^_^
Простое симметричное шифрование с ключом.
PHP:
// (C)
function STP_encrypt($s,$key)
{
 $r = '';
 $k = md5($key);
 $sl = strlen($s);
 $i = 0;
 while ($i <= $sl) {$r .= substr(str_shuffle($k),($i%32),1).$s[$i]; $i++;}
 $rl = strlen($r);
 $i = 1;
 while ($i <= $rl) {$s[$i-1] = chr(ord($r[$i-1])+ord(substr($k,($i%32)-1,1))); $i++;}
 return urlencode(strrev(base64_encode($s)));
}
function STP_decrypt($s,$key)
{
 $s = base64_decode(strrev(urldecode($s)));
 $k = md5($key);
 $r = '';
 $sl = strlen($s);
 $i = 1;
 while ($i <= $sl) {$s[$i-1] = chr(ord($s[$i-1])-ord(substr($k,($i%32)-1,1))); $i++;}
 $sl = strlen($s)-2;
 $i = 1;
 while ($i <= $sl) {$r .= $s[$i]; $i = $i+2;}
 return $r;
}
 

Alexandre

PHPПенсионер
находишь реализацию, к примеру, на C/C++ и переписываешь её на PHP
SiMM не катит, пхп слишком долго обрабатывает операции сдвига и побитового сложения.
Вообще-то создавать внутри HTTP протокола шифрованый канал - это нормально?
нормально, но утвержденых протоколов нет. Я в свое время пытался сделать СОМ объект, который шифрованную информацию слал на сервак и обратно...что-то было типа крипто-аякса, но руководству эта идея не понравилачсь.

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

era я буду выступать на Конференции по теме xml security, но это решение для браузеров не подходит.
 

SiMM

Новичок
> SiMM не катит, пхп слишком долго обрабатывает операции сдвига и побитового сложения.
Читайте ТЗ:
> Просьба использование дополнительных библиотек, подключаемых к PHP не предлагать
 

Alexandre

PHPПенсионер
SiMM, понятно, только в этом случае просто сервак может загнуться. Я реализовывал какой-то простой алгоритм закрытия, у меня пхп - просто упал. (правда это был 1200 селерон). Для промышленного сервака - может и сойдет, все зависит от нагрузки.

Как говорится,
кто не пробует, тот и не попробует шампанского.
 

era

Новичок
Автор оригинала: Alexandre
Я реализовывал какой-то простой алгоритм закрытия, у меня пхп - просто упал. (правда это был 1200 селерон). Для промышленного сервака - может и сойдет, все зависит от нагрузки.
Да мне надо небольшие объёмы информации надо пересылать - порядка 3-5 Килобайт за раз. Думаю что не загнётся. Расчитываю не только для своего предприятия, но и для обычного виртуального хостинга.
 
Сверху