Принципиальная задача
От: _Student_ Россия http://www.totalprogramming.narod.ru/
Дата: 05.05.05 04:13
Оценка:
Всем доброго дня.

У какого есть ккие соображения по поводу: Приложение-клиент получает файл от сервера и хранит его в TMemoryStream, что меня более чем устраивает. Теперь задача: сделать так, чтобы не было практически никаких возможностей спереть эту инфу из памяти куда-нить. На диск оно, естественнно, не записывается. Но, если я правильно понимаю, при достаточной степени мастерства и наличии хороших инструментов, утащить это дело из памяти будет несложно. Да, кстати, сожержимое файла — текст.
Я не волшебник, я только учусь...
Re: Принципиальная задача
От: kavlad Россия http://www.wavesoft.ru
Дата: 05.05.05 05:24
Оценка:
Здравствуйте, _Student_, Вы писали:

_S_>Теперь задача: сделать так, чтобы не было практически никаких возможностей спереть эту инфу из памяти куда-нить.


Шифровать?
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[2]: Принципиальная задача
От: _Student_ Россия http://www.totalprogramming.narod.ru/
Дата: 05.05.05 08:55
Оценка:
Здравствуйте, kavlad, Вы писали:

K>Здравствуйте, _Student_, Вы писали:


_S_>>Теперь задача: сделать так, чтобы не было практически никаких возможностей спереть эту инфу из памяти куда-нить.


K>Шифровать?


Боюсь, это не лучший выход из положения. Дело в том, что с этими данными производится постоянная выборка, сравнение и т.д. Типа, юзер ввел че-то, а я сравниваю с тем, что в файле. т.е. дешифровать все-равно придется...
Я не волшебник, я только учусь...
Re[3]: Принципиальная задача
От: Alex.Che  
Дата: 05.05.05 09:00
Оценка: 3 (1)
Привет, _Student_!
Вы пишешь 05 мая 2005:

K>> Шифровать?


S> Боюсь, это не лучший выход из положения. Дело в том, что с этими данными производится постоянная выборка, сравнение и т.д. Типа,

S> юзер ввел че-то, а я сравниваю с тем, что в файле. т.е. дешифровать все-равно придется...

Не обязательно дешифровать.
Можно рядышком с зашифрованными данными хранить хеш.
И сравнивать хеш в файле с тем, который получен по новым данным.

--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 1.9
Re[4]: Принципиальная задача
От: _Student_ Россия http://www.totalprogramming.narod.ru/
Дата: 05.05.05 09:11
Оценка:
Здравствуйте, Alex.Che, Вы писали:

AC>Привет, _Student_!

AC>Вы пишешь 05 мая 2005:

K>>> Шифровать?


S>> Боюсь, это не лучший выход из положения. Дело в том, что с этими данными производится постоянная выборка, сравнение и т.д. Типа,

S>> юзер ввел че-то, а я сравниваю с тем, что в файле. т.е. дешифровать все-равно придется...

AC>Не обязательно дешифровать.

AC>Можно рядышком с зашифрованными данными хранить хеш.
AC>И сравнивать хеш в файле с тем, который получен по новым данным.

AC>--

AC>With best regards, Alex Cherednichenko.

Честно говоря, я не очень дружу с алгоритмами шифрования. Но если правильно понял, для одних и тех же данных шифрованный код будет одинаковым? или как? что такое хеш? Буду благодарен за пояснения.
Я не волшебник, я только учусь...
Re[5]: Принципиальная задача
От: kavlad Россия http://www.wavesoft.ru
Дата: 05.05.05 09:15
Оценка: -2
Здравствуйте, _Student_, Вы писали:

_S_>Честно говоря, я не очень дружу с алгоритмами шифрования. Но если правильно понял, для одних и тех же данных шифрованный код будет одинаковым? или как? что такое хеш? Буду благодарен за пояснения.


Грубо говоря — хешь это результат шифрования
На твою строку применяется функция хеширования — на выходе получаешь другую строку или скажем число.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[6]: Принципиальная задача
От: _Student_ Россия http://www.totalprogramming.narod.ru/
Дата: 05.05.05 09:18
Оценка:
Здравствуйте, kavlad, Вы писали:

K>Здравствуйте, _Student_, Вы писали:


_S_>>Честно говоря, я не очень дружу с алгоритмами шифрования. Но если правильно понял, для одних и тех же данных шифрованный код будет одинаковым? или как? что такое хеш? Буду благодарен за пояснения.


K>Грубо говоря — хешь это результат шифрования

K>На твою строку применяется функция хеширования — на выходе получаешь другую строку или скажем число.

Это я понимаю, так что, получается, что для строки "aabbcc" например, всегда будет одинаковый результат шифрования?
Я не волшебник, я только учусь...
Re[5]: Принципиальная задача
От: Alex.Che  
Дата: 05.05.05 09:19
Оценка:
Привет, _Student_!
Вы пишешь 05 мая 2005:

S> Честно говоря, я не очень дружу с алгоритмами шифрования.

S> Но если правильно понял, для одних и тех же данных шифрованный код будет одинаковым? или как?

Если ключ не менять и данные теже, то да.
Но сравнивать БЛОБы не очень удобно.

S> что такое хеш? Буду благодарен за пояснения.


Воспринимай его как некую "контрольную сумму".
Хеш-функция, независимо от размера входных данных,
даёт на выходе последовательность фиксированного (небольшого) размера.
Как получить хеш MD5, я писал в http://rsdn.ru/forum/?mid=1145470
Автор: Alex.Che
Дата: 26.04.05


--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 1.9
Re[7]: Принципиальная задача
От: kavlad Россия http://www.wavesoft.ru
Дата: 05.05.05 09:20
Оценка:
Здравствуйте, _Student_, Вы писали:

_S_>Это я понимаю, так что, получается, что для строки "aabbcc" например, всегда будет одинаковый результат шифрования?


Да. Но есть свои проблемы.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[8]: Принципиальная задача
От: _Student_ Россия http://www.totalprogramming.narod.ru/
Дата: 05.05.05 09:22
Оценка:
Здравствуйте, kavlad, Вы писали:

K>Здравствуйте, _Student_, Вы писали:


_S_>>Это я понимаю, так что, получается, что для строки "aabbcc" например, всегда будет одинаковый результат шифрования?


K>Да. Но есть свои проблемы.


Например?
Я не волшебник, я только учусь...
Re[9]: Принципиальная задача
От: kavlad Россия http://www.wavesoft.ru
Дата: 05.05.05 09:24
Оценка:
Здравствуйте, _Student_, Вы писали:

_S_>Например?


Две похожие строки могут иметь одинаковый хеш. Как выбрать хорошую хеш-функцию? И еще масса проблем
Алгоритмы хеширования — это достаточно большая область для форума по делфи.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[10]: Принципиальная задача
От: Alex.Che  
Дата: 05.05.05 09:28
Оценка:
Привет, kavlad!
Вы пишешь 05 мая 2005:

k> Две похожие строки могут иметь одинаковый хеш.


Не забивай парню баки!
Хочу посмотреть пример строк, которые приводят к коллизии для MD5.

--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 1.9
Re[11]: Принципиальная задача
От: kavlad Россия http://www.wavesoft.ru
Дата: 05.05.05 09:34
Оценка:
Здравствуйте, Alex.Che, Вы писали:

AC>Хочу посмотреть пример строк, которые приводят к коллизии для MD5.


Я где-нибудь хоть словом обмолвился про md5?

P.S. Не факт, что хеширование вообще ему подойдет!
Особенно, если данные закачиваются в память, а потом их надо отобразить на экране из памяти.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[11]: Принципиальная задача
От: Гай Россия  
Дата: 05.05.05 09:40
Оценка:
Здравствуйте, Alex.Che.

Вы писали 5 мая 2005 г., 13:28:10:


> From: Alex.Che 

> Привет, kavlad!
> Вы пишешь 05 мая 2005:

k>> Две похожие строки могут иметь одинаковый хеш.


Две ПОХОЖИЕ строки НЕ МОГУТ иметь одинаковый хэш. В этом вся суть хеширования.


--
С уважением, Гай.
Posted via RSDN NNTP Server 1.9
Re[12]: Принципиальная задача
От: Alex.Che  
Дата: 05.05.05 09:41
Оценка:
Привет, kavlad!
Вы пишешь 05 мая 2005:

AC>> Хочу посмотреть пример строк, которые приводят к коллизии для MD5.


k> Я где-нибудь хоть словом обмолвился про md5?


Да какая разница!
Задача хеширования — получение уникального "дайджеста".
В противном случае — это фикция.

k> P.S. Не факт, что хеширование вообще ему подойдет!

k> Особенно, если данные закачиваются в память, а потом их надо отобразить на экране из памяти.

Я предложил хеширование не в качестве замены шифрования!
Но в дополнение к нему. Для определения того, нужно ли шифровать
новые данные, либо же, они идентичны сохранённым.
Шифрование — операция гораздо более ресурсоёмкая, по отношению к хешированию.
Кроме того, сравнение БЛОБов, тоже полновеснее, чем сравнение хешей.

--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 1.9
Re[12]: Принципиальная задача
От: Alex.Che  
Дата: 05.05.05 09:42
Оценка:
Привет, Гай!
Вы пишешь 05 мая 2005:

k>>> Две похожие строки могут иметь одинаковый хеш.


Г> Две ПОХОЖИЕ строки НЕ МОГУТ иметь одинаковый хэш. В этом вся суть хеширования.


Это ты мне говоришь?
Ты это Владу скажи.

--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 1.9
Re[12]: Принципиальная задача
От: kavlad Россия http://www.wavesoft.ru
Дата: 05.05.05 09:44
Оценка:
Здравствуйте, Гай, Вы писали:

Гай> Две ПОХОЖИЕ строки НЕ МОГУТ иметь одинаковый хэш. В этом вся суть хеширования.


А я сплошь и рядом использую такие хеш-функции. Для поиска в структурах типа map, например.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[12]: Принципиальная задача
От: Diouzshev Россия  
Дата: 05.05.05 09:52
Оценка:
Hello, Гай!
You wrote on Thu, 05 May 2005 09:40:31 GMT:

>> From: Alex.Che

>> Привет, kavlad!
>> Вы пишешь 05 мая 2005:

k>>> Две похожие строки могут иметь одинаковый хеш.


Г> Две ПОХОЖИЕ строки НЕ МОГУТ иметь одинаковый хэш. В этом вся суть

Г> хеширования.

Это не так. Вероятность совпадения хеша низка, но не более...
Ведь длина того же MD5 постоянна и не очень велика, а хеш можно считать как по любому слову, так и по роману "Война и мир" Толстого. Количество источников, по которым можно посчитать хеш значительно больше, чем вариантов значения хеша, сам подумай. Но на практике коллизии присходят крайне редко. Так что твои суждения оправданы, но лучше знать суровую правду жизни.

Хочешь иметь нулевую вероятность совпадения используй ZIP или RAR

With best regards, Alexander Diouzshev-Maltsev.
Posted via RSDN NNTP Server 1.9
Re[13]: Принципиальная задача
От: Alex.Che  
Дата: 05.05.05 09:55
Оценка:
Привет, Diouzshev!
Вы пишешь 05 мая 2005:

D> Но на практике коллизии присходят крайне редко.

D> Так что твои суждения оправданы, но лучше знать суровую правду жизни.

Есть такое понятие "статистически гарантировано".
Вот от него и нужно танцевать.
А то "суровую правду жизни", пАнимаишь...
GUID пользовать не боишься?

--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 1.9
Re[14]: Принципиальная задача
От: kavlad Россия http://www.wavesoft.ru
Дата: 05.05.05 10:00
Оценка:
Здравствуйте, Alex.Che, Вы писали:

AC>GUID пользовать не боишься?


ОК. Но хеш — это не только md5, хеши бывают разные
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.