Форум: "Начинающим";
Текущий архив: 2012.03.04;
Скачать: [xml.tar.bz2];
ВнизШифрование -- чем? Найти похожие ветки
← →
Человек (2011-10-11 19:12) [0]Никогда раньше не сталкивался с шифрованием.
Возникла задача: шифровать в программе на Delphi строку, а затем ее расшифровывать на сервере в PHP (и наоборот, шифровать из PHP, а расшифровывать на Delphi). По любому надежному алгоритму.
Какие библиотеки использовать, чтобы работало и там и там? Буду особенно признателен за примеры.
← →
Ega23 © (2011-10-11 19:25) [1]Симметричное шифрование: http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BC%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D1%87%D0%BD%D0%BE%D0%B5_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
Алгоритмы: AES, DES, IDEA, тысячи их
Асимметричное шифрование: http://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%81_%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8B%D0%BC_%D0%BA%D0%BB%D1%8E%D1%87%D0%BE%D0%BC
Алгоритмы: RSA, DSA, тоже тысячи их
← →
Rouse_ © (2011-10-11 21:02) [2]Может проще HTTPS - тогда самому на сервере ничего делать не придется...
← →
Человек (2011-10-11 22:21) [3]
> Rouse_ © (11.10.11 21:02) [2]
Спасибо, хорошая мысль. А это безопасно? Никакие снифферы/прокси не страшны? Есть ли еще какие-то отличия от шифрования вручную?
← →
sniknik © (2011-10-11 22:39) [4]> А это безопасно?
настолько, насколько вообще возможно... "вручную" наверняка будет хуже. а по сертификатам с КриптоПро так даже сертифицировано (ну что-то типа, т.е. правительство "отвечает").
← →
Rouse_ © (2011-10-11 22:54) [5]
> А это безопасно? Никакие снифферы/прокси не страшны?
Прокси безопасно, снифферы - смотря какой сниффер, запущенный локально и написанный под заказ - данные сможет снять.
← →
Человек (2011-10-11 23:15) [6]Для HTTPS, как я понял, требуется установка сертификата в систему. Это можно делать без прав администратора и незаметно для пользователя?
← →
Человек (2011-10-11 23:17) [7]
> Rouse_ © (11.10.11 22:54) [5]
А если все же шифровать вручную, какую библиотеку Delphi лучше использовать? Цель -- полная совместимость с PHP-шифрованием.
И еще, хранить ключ в виде строковой константы в программе -- безопасно?
← →
sniknik © (2011-10-11 23:35) [8]> требуется установка сертификата в систему.
не обязательно, можно просто держать файлы рядом...
> хранить ключ в виде строковой константы в программе -- безопасно?
хоть вообще без ключа... он нужен только при авторизации, определения "подлинности" клиента, если этого не нужно то... на шифрацию не влияет.
← →
Ega23 © (2011-10-11 23:59) [9]
> И еще, хранить ключ в виде строковой константы в программе
> -- безопасно?
Открытый - вполне безопасно. :)
> Цель -- полная совместимость с PHP-шифрованием.
В PHP разве встроены функции симметричного и асимметричного шифрования?
← →
Германн © (2011-10-12 00:36) [10]
> снифферы - смотря какой сниффер, запущенный локально и написанный
> под заказ - данные сможет снять.
<offtop>
Выглядит как предложение дать ТЗ и озвучить гонорар. :)
</offtop>
← →
Омлет © (2011-10-12 08:41) [11]> Ega23 © (11.10.11 23:59) [9]
> В PHP разве встроены функции симметричного и асимметричного
> шифрования?
А то. http://pear.php.net/packages.php?catpid=6&catname=Encryption
← →
Омлет © (2011-10-12 08:41) [12]Удалено модератором
← →
Омлет © (2011-10-12 08:44) [13]Плюс crypt() и Mcrypt.
← →
Ega23 © (2011-10-12 09:07) [14]
> А то.
Когда я его "щупал" этого не было. Растут.
← →
Rouse_ © (2011-10-12 10:27) [15]
> А если все же шифровать вручную, какую библиотеку Delphi
> лучше использовать? Цель -- полная совместимость с PHP-шифрованием.
Ну например вот эту: http://www.cityinthesky.co.uk/opensource/DCPcrypt
т.к. все алгоритмы стандартизированы подойдет любая сторонняя реализация.
> И еще, хранить ключ в виде строковой константы в программе
> -- безопасно?
Если используется асинхронные алгоритмы - безопасно (только длина должна быть достаточно большая, желательно от 2048 и выше)
← →
Eraser © (2011-10-12 15:45) [16]> [7] Человек (11.10.11 23:17)
> А если все же шифровать вручную, какую библиотеку Delphi
> лучше использовать?
MS Crypto API. Правда там скорее всего придется с ключами возиться. Можно еще глянуть http://sourceforge.net/projects/tplockbox/ опять развивается.
← →
Человек (2011-10-12 17:58) [17]
Rouse_ © (12.10.11 10:27) [15]
> Ну например вот эту: http://www.cityinthesky.co.uk/opensource/DCPcryptт.
> к. все алгоритмы стандартизированы подойдет любая сторонняя
> реализация.
К сожалению, именно эту и пытался использовать, перед тем. как задать вопрос. Судя по всему, она для ранних, не-юникодных версий Delphi, т.к. их же демо после перекомпиляции не работает (строка, зашифрованная на Delphi, не расшифровывается на PHP, и наоборот).
> Eraser © (12.10.11 15:45) [16]
> Можно еще глянуть http://sourceforge.net/projects/tplockbox/
> опять развивается.
Пытался использовать и его, но он показался мне совсем непонятным. В деме куча непонятного мне кода, вызова кучи функций с кучей переменных. А хотелось бы просто чего-то вроде функций Decode(строка, ключ) и Encodе(строка, ключ). Или я многого хочу и надо разбираться и вникать во все эти алгоритмы?
← →
Dennis I. Komarov © (2011-10-12 18:09) [18]Любое создание программ использующих СКЗИ требует обязательного лицензирования. За такое дело могут не кисло погладить по голове, если кончено сочтут Вас достойными, чтобы обратить свое внимание...
← →
plr (2011-10-12 18:45) [19]Добавлю свои 5 копеек про HTTPS, оно конечно решает вопросы при снифе в сети между приложением и сервером. Но при использовании, например, http://www.ieinspector.com/ мы видим весь трафик, что шлёт приложение.
Проверял на многих приложениях - прекрасный man in the middle.
← →
Cobalt © (2011-10-13 10:06) [20]Кейлоггер актуальнее ;-)
← →
Eraser © (2011-10-13 18:59) [21]> [17] Человек (12.10.11 17:58)
там же примеры есть. по крайней мере раньше были, сейчас не проверял. очень просто в использовании.
← →
DiamondShark © (2011-10-22 12:46) [22]Удалено модератором
← →
Человек (2011-11-27 06:37) [23]Итак, решил я использовать известный TurboPower LockBox.
Поставил последнюю версию отсюда: http://sourceforge.net/projects/tplockbox/
Скомпилировал их демку. Все в порядке, нормально кодирует-раскодирует любым алгоритмом.
Затем решил проверить возможность кодирования/раскодирования этого в PHP. Сначала сам написал пару функций, но вместо раскодирования получал кракозябры. Решив, что, возможно, что-то делаю неправильно, взял первую попавшуюся онлайн-тулзу для раскодирования и проверил на ней: http://www.tools4noobs.com/online_tools/decrypt/. Так вот, раскодирование строки, зашифрованной LockBox не работает ни для какого алгоритма ни в одном режиме. Поулчаются кракозябры.
Пожалуйста, объясните, что я делаю не так. И у кого проблема в шифровании: в TP LockBox, в PHP или во мне.
← →
Человек (2011-11-27 11:55) [24]В общем, проблема в том, что резульатат шифрования строки с помощью TurboPower LockBox по любому алгоритму с любыми параметрами не совпадает с результатом шифрования на PHP с использованием этого же алгоритма с этими же параметрами. Хотя, теоретически, должен.
Куда копать -- не знаю, отладить алгоритм шифрования возможным не представляется.
← →
Человек (2011-11-27 11:55) [25]Удалено модератором
Примечание: Обсуждения модерирования
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.03.04;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.004 c