Если человек захочет расшифровать вот эти символы "©o2Äaó" и он знает,что тут написано smile,но он не знает каким хеш-алгоритмом и каким ключем зашифровано,то он сможет это расшифровать?
code_36405.txt
Этот топик читают: Гость
Ответов: 58
Рейтинг: 1
|
|||
карма: 0 |
| ||
файлы: 1 | code_36405.txt [713B] [440] |
Ответов: 2059
Рейтинг: 132
|
|||
Jonson, если это пароль т.е сравнивается что-то с чем-то, то это делается элементарно за 1-3 минуты. Достаточно знать ассемблер.
Если это послание, то кроме спецслужб этим никто и заниматься не будет, чтобы удовлетворить своё любопытство. А ещё можно положить в ямку фантик и накрыть цветным стёклышком. И назвать всё это "секретом". |
|||
карма: 6 |
|
Ответов: 58
Рейтинг: 1
|
|||
Да,использую как для пароля.А как тогда можно безопасно зашифровать,чтобы нельзя было взломать?
|
|||
карма: 0 |
|
Ответов: 2059
Рейтинг: 132
|
|||
как тогда можно безопасно зашифровать Никак! Понятно почему? Если в программе есть механизм дешифровки, то не составит труда сделать шифрование по тем же законам и наоборот. Всё зависит для какой аудитории предназначено... Кто хочет, тот сломает. Другим, противно этим заниматься... У злоумышленников не должно быть программы где шифруются, или дешифруются данные. А зачем пароль то шифровать? Совершенно не понятно. Если только чтобы в сети шпионы не перехватили. P.S. Я писал: Если в программе есть механизм дешифровки, то не составит труда сделать шифрование по тем же законам и наоборот. Короче говоря нужна защита программы, чтобы механизм был не доступен для изучения, а каков механизм (шифрование) по хрену мороз. Шифрование нужно только когда посылаешь гонца с посланием, а на обратном пути затарится в магазине. Надо сделать свой стек... - поменять ESP и EBP. Вот что примерно нужно иметь по адресу entry point: (Параметры передаются, если есть.) asm @entry_point: CALL @WNDPROCCODE DD @LLL //твоя @WNDPROCCODE: MOV EAX , ESP SUB ESP , $F80 MOV EBP, DWORD PTR DS:[EAX+8] PUSH EBP MOV EBP, DWORD PTR DS:[EAX+4] PUSH EBP MOV EBP , EAX ADD EBP , $10 PUSH EBX PUSH ECX PUSH EDX PUSH ESI PUSH EDI MOV EAX , [EAX] MOV EBX , [EAX] MOV EAX , -4[EBP] CALL EBX // Тута твоя пограмма LEA EBP , -4[EBP] MOV $0[EBP] , EAX POP EDI POP ESI POP EDX POP ECX POP EBX MOV EAX , ESP MOV ESP , EBP MOV EBP , [EAX] MOV EAX , 4[EAX] XCHG EAX , [ESP] RET @LLL: ... RET http://www.muz-urok.ru/kor_pugovka.htm В Jonson`ой коллекции,та пуговка хранится, За маленькую пуговку,ему большой почёт. http://xmusic.me/q/lsO8zrTT5cuQwIrptvfn0arjgv9Gt8e897bEpdmI6JL06f0/ |
|||
карма: 6 |
|
Ответов: 58
Рейтинг: 1
|
|||
Значит нельзя,хорошо.А тогда как можно не дать пользователю просмотреть или скачать файл напрямую,то есть через браузер http://сайт.net/file.txt,а его можно скачать только через программу.Просто я шифровал данные и отправлял на хост,а потом через программу дешифровал их.
|
|||
карма: 0 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Полагаю, что вопрос не уместен о способе шифрования.
Если это твои кореша, или (...), и только у них есть программка с золотым ключиком, то достаточно в цикле пройти весь файл по 6 байт накладывая "Jonson" по XOR (Исключающее ИЛИ) побайтно - да и дело с концом. Причем тут способ шифрования? Железно! P.S. Можно время создания файла замутить в накладку, но думаю это не стоит свеч. |
|||
карма: 6 |
|
Ответов: 58
Рейтинг: 1
|
|||
Как причем? разве нельзя или не нужно шифровать эти данные?
В общем все понятно,если известно какое слово зашифровано,то расшифровать его можно. |
|||
карма: 0 |
|
Ответов: 2059
Рейтинг: 132
|
|||
если известно какое слово зашифровано,то расшифровать его можно. Ну а как иначе? Закон равновесия. разве нельзя или не нужно шифровать эти данные? Посетитель официанту - можно мне кофе. Официант - откуда я знаю можно вам кофе, или нельзя? разве нельзя или не нужно шифровать эти данные? Я сказал, что значения не имеет как. Достаточно простого варианта XOR(Jonson), как выше предложил. Граждане программисты - берегите время, своё и пользователей - жизнь коротка. Чем проще, тем быстрей. Способ же в твоём случае рояли не играет. |
|||
карма: 6 |
|
Ответов: 58
Рейтинг: 1
|
|||
Как же тогда безопасно зашифровать данные?
|
|||
карма: 0 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Вопрос не верен!!!
Два слова "безопасно зашифровать" никак не связаны. зашифровать = XOR(Jonson), или любым другим способом. безопасно = ключ-алгоритм только у корешей. И причём здесь пароль??? Это уже другая история. |
|||
карма: 6 |
|
Ответов: 209
Рейтинг: 1
|
|||
...и разный ключ на каждое соединение
|
|||
карма: 0 |
|
Ответов: 58
Рейтинг: 1
|
|||
Ладно,спасибо!
|
|||
карма: 0 |
|
Ответов: 4631
Рейтинг: 749
|
|||
Jonson писал(а): если известно какое слово зашифровано,то расшифровать его можно.Для подбора пароля нужно: - иметь реализованный алгоритм дешифрования (знать его) - иметь возможность проверить правильность пароля в процессе дешифровки (знать зашифрованный текст, как в твоем случае; использовать предусмотренный алгоритмом способ, например, наличие контрольной суммы в зашифрованных данных; или выдвигать предположения о характере зашифрованного текста). Во всех случаях требуется полный перебор возможных комбинаций паролей. Скорость перебора (количество проверенных паролей) зависит от: - скорости генерации очередного пароля - скорости подготовки пароля внутри алгоритма - скорости дешифрования данных очередным паролем - скорости проверки правильности дешифрования Вместе с длиной пароля и используемым алгоритмом всё это составляет стойкость шифра. Для пароля в десять символов, состоящего только из цифр 0-9 количество требуемых комбинаций составляет: 10^10 = 10 000 000 000 Если в пароле есть цифры и малые латинские буквы a-z, количество комбинаций будет:
36^10 = 3 656 158 440 062 976 Пароль той же длины, состоящий из рандомного набора байт:
256^10 = 1 208 925 819 614 629 174 706 176
Можешь составить схему простейшего генератора чисел на базе счетчика и засечь сколько комбинаций он выдаёт в секунду. Прикинь себе, что у взломщика в распоряжении будет пусть 1000 вычислительных ядер (потоков). Тогда сможешь оценить минимальное время, требуемое для подбора таких паролей. Естественно, для реальных алгоритмов это будет в несколько раз больше, так как ещё и выполняются перечисленные выше операции кроме генерации пароля. flint2 писал(а): Jonson, если это пароль т.е сравнивается что-то с чем-то, то это делается элементарно за 1-3 минуты.Jonson писал(а): но он не знает каким хеш-алгоритмомJonson писал(а): А тогда как можно не дать пользователю просмотреть или скачать файл напрямую,то есть через браузер http://сайт.net/file.txt,а его можно скачать только через программуМожно обойтись и без скрипта, реализовав на сервере Basic или Digest аутентификацию. Но в этом случае файл можно скачать и через браузер, введя логин и пароль. |
|||
карма: 26 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Netspirit, раньше применялись такие конструкции-ключи в программах, игрушках:
XXXX-XXX-XXX-XXX-XXXX и надо было ввести правильные буковки и циферки, так по моему от этого отказались, потому что на раз ломалось. По поводу пароля - если пароль проверяется на сервере, то да долго подбирать, если пароль проверяется в пользовательской программе, то его не подбирают, а смотрят, как строка сравнивается - тоже на раз. Есть такие программки подбора пароля к архивам RAR и ZIP, полный бред, легче посмотреть пароль в программе, только надо знать как. Нужна защита от трассировки-дизассемблирования, что тоже можно обойти. Дело времени. Насколько кому это нужно- это другой вопрос? В случае, как у Jonson, можно просто сделать исключающее ИЛИ с какой-то строкой и не мудрить. |
|||
карма: 6 |
|
Ответов: 4631
Рейтинг: 749
|
|||
flint2 писал(а): так по моему от этого отказались, потому что на раз ломалосьflint2 писал(а): а смотрят, как строка сравниваетсяНо если у тебя в программе есть зашифрованные данные паролем, то нет никакого сравнения - есть попытка дешифровать данные предоставленным паролем, и для доступа к данным нужно подбирать пароль, либо вытаскивать из памяти программы уже дешифрованные данные. Тогда у каждого пользователя должна быть своя версия программы с данными, зашифрованными паролем этого пользователя. Иначе нет смысла хранить в программе данные, зашифрованные одним и тем же паролем для всех пользователей (небольшой смысл есть: если эти зашифрованные данные - это сам код и данные программы в комплекте с защитой от модификации, чтобы усложнить обнаружение механизмов защиты). |
|||
карма: 26 |
|