Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Flash + Cryptograph (http://www.flasher.ru/forum/showthread.php?t=71241)

Friker 31.10.2005 19:09

Flash + Cryptograph
 
Есть ли возможности в мне какойнить flash работать с открытым и закрытым ключём , есть ли API для шифрования??

ffffff 31.10.2005 19:26

используй md5

Friker 01.11.2005 03:57

ты понимаешь разнице между шифрованием парой ключей и односторонним хэшированием md5 ?

Король 01.11.2005 04:19

а что ты хочешь сделать - авторизацю? передачу параметров? в любом случае писать алгортим шифрования придется на АС, а с сервером коннектиться по loadVars, XML или XMLSocket. Как при этом шифровать и дешифровать (одним ключом или двумя) - дело техники. никаких специальных инструментов во флеше для этого нет.

ffffff 01.11.2005 05:35

Цитата:

Сообщение от Friker
ты понимаешь разнице между шифрованием парой ключей и односторонним хэшированием md5 ?

не понимаю, объясни :)

Iv 01.11.2005 08:42

2Fricker: а чем тебя не устраивает HTTPS?

Король 01.11.2005 08:45

ffffff - набери в Яндексе "шифрование md5" и поймешь

ffffff 01.11.2005 09:44

Цитата:

Сообщение от Король
ffffff - набери в Яндексе "шифрование md5" и поймешь

в каком яндексе? %)

iNils 01.11.2005 11:36

8 битный RC4 можно взять в исходнике страницы http://valyala.narod.ru/huinya/rc4.html
Он написан на javascript, но подогнать его для флеша, я думаю проблем не будет (в свое время я так для себя и md5 нашел)

__i 01.11.2005 12:53

2ffffff из результата полученного с помощью md5 мы уже никогда не сможем получить исходные данные!!!

iNils 01.11.2005 13:07

Никогда не говори никогда :)

__i 01.11.2005 13:22

Покрайней мере разработчики этого алгоритма так считают

iNils 01.11.2005 13:41

А где гарантия, что через час ты простым перебором не получишь нужное значение?

И вот еще
http://www.yandex.ru/yandsearch?serv...7%EB%EE%EC+md5

ffffff 01.11.2005 14:15

Цитата:

Сообщение от __i
2ffffff из результата полученного с помощью md5 мы уже никогда не сможем получить исходные данные!!!

да млин )))) я прикалываюсь ))))

ffffff 01.11.2005 14:16

а вот кстати iNils очень сильно тут прав. есть даже специальные словарные базы подготовленные для перебора хешев. ломается за 10 минут (ну если не особо длинный)

seifip 01.11.2005 14:28

vo flash uzhew napisany tyskachi algoritmov dlja shifrovanija vsemi sposobami... u menja net vremeni tebe vysylatj sourcy (ich u menja stoljko chto prishlosj by 2 chasa zhdatj...) ischi vobchem vna Flashkite....

__i 01.11.2005 14:35

Цитата:

Сообщение от iNils
А где гарантия, что через час ты простым перебором не получишь нужное значение?

Перебор всегда рулил, тут уже ниче не поделаешь, простым перебором можно сделать все!!! главное чтоб хватило времени и ресурсов

seifip 01.11.2005 14:51

vzxlomatj mozhno ljuboj algoritm vot toljko zhiznej po boljshe nado by bylo... ;D

Friker 01.11.2005 15:00

md5 - односторонее шифрование ,тобишь у тебя есть строка , ты её шифруешь самой же строкой и в итоге получаешь хэшь, очень удобно когда надо делать авторизацию паролем ,но не хочешь хранить его в базе, хранишь хэшь и не переживаешь ,что его можно вытянуть.(это в идеале, MD5 8 символьный пароль в настоящее время можно вскрыть за сутки , пол года назад нашли для этого алгоритм)
Шифрование парой ключей, это когда ты можешь зашифровать строку 1 ключём (открытым[раздаёшь этот ключь всем с кем хочешь обменяться инфой]) , а разшифровать только 2 ключём (закрытым[твоим который ты никому не даёшь]). таким образо если надёжный алгоритм, то его возможно вскрыть только имея твой ключь (твоя безопастность у тебя в руках)
SSL - да ,я так и подумал , что буду его использовать , НО тут ещё учавствует сервер при передачи инфы и вслучае его взлома можно получить твою инфу.
Это всё идеальные рассуждения но мне интересно сделать!

ffffff 01.11.2005 15:12

Цитата:

Сообщение от Friker
md5 - односторонее шифрование ,тобишь у тебя есть строка , ты её шифруешь самой же строкой и в итоге получаешь хэшь, очень удобно когда надо делать авторизацию паролем ,но не хочешь хранить его в базе, хранишь хэшь и не переживаешь ,что его можно вытянуть.(это в идеале, MD5 8 символьный пароль в настоящее время можно вскрыть за сутки , пол года назад нашли для этого алгоритм)
Шифрование парой ключей, это когда ты можешь зашифровать строку 1 ключём (открытым[раздаёшь этот ключь всем с кем хочешь обменяться инфой]) , а разшифровать только 2 ключём (закрытым[твоим который ты никому не даёшь]). таким образо если надёжный алгоритм, то его возможно вскрыть только имея твой ключь (твоя безопастность у тебя в руках)
SSL - да ,я так и подумал , что буду его использовать , НО тут ещё учавствует сервер при передачи инфы и вслучае его взлома можно получить твою инфу.
Это всё идеальные рассуждения но мне интересно сделать!


вот именно, что может год назад всё это едло ломалось за сутки :) щас всё сломается во много раз быстрее...

seifip 01.11.2005 16:12

dlinnyje MD5 i sejchas lomajutsja dazhe ne sutki a gody... a jestli znajesh kak bystro slomatj vykladyvaj link na programmu ili objasni kak ;)

Aurum 01.11.2005 19:06

Вообще, можно сделать следущее:

md5(sha1(STR)+md5(STR).substr(0, 7));

Чтобы сломать такой длины, потребуется очень сильный комп. И кому это вообще надо, ломать какой-то пароль?

kvv 01.11.2005 19:43

Цитата:

Сообщение от Aurum
Вообще, можно сделать следущее:

md5(sha1(STR)+md5(STR).substr(0, 7));

Чтобы сломать такой длины, потребуется очень сильный комп. И кому это вообще надо, ломать какой-то пароль?

так делать нет смысла.

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

iNils 01.11.2005 21:17

а так?
md5(md5(str))

Aurum 01.11.2005 21:30

Цитата:

Сообщение от kvv
так делать нет смысла.

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

Да это так.
Когда к одному сайту разрабатывал панель управления, я создал функцию, которая шифрует:

while(x<ЧИСЛО_ЗАВИСТ_ОТ_СТРОКИ){
str+=md5(sh1(str)+md5(str).substr(0, ЧИСЛО)).substr(0, ЧИСЛО2);
}

В итоге функция возвращает 128 символьную строку, которая пихается в базу.
Фунция работает довольно медлено, что не позволяет делать перебор.
Возможный выход, если код не разглашать.

kvv 01.11.2005 21:35

Цитата:

Сообщение от iNils
а так?
md5(md5(str))

тоже самое

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

kvv 01.11.2005 21:40

Цитата:

Сообщение от Aurum
Да это так.
Когда к одному сайту разрабатывал панель управления, я создал функцию, которая шифрует:

while(x<ЧИСЛО_ЗАВИСТ_ОТ_СТРОКИ){
str+=md5(sh1(str)+md5(str).substr(0, ЧИСЛО)).substr(0, ЧИСЛО2);
}

В итоге функция возвращает 128 символьную строку, которая пихается в базу.
Фунция работает довольно медлено, что не позволяет делать перебор.
Возможный выход, если код не разглашать.

не разглашать код во флеше нереально

Хотя можно отсеять большую часть потенциальных взломщиком, каким-либо образом скрыв код. Кулхацкеры, освоившие sqlинжекшн и софтник декомпилер, дальше не пойдут%)

вобщем, вечная тема...

Aurum 01.11.2005 21:44

А кто сказал, что это флеш?
Это я писал на пхп.

Aurum 01.11.2005 21:54

А даже если открыть код, то вероятность расшифровки будет всё равно ниже, чем если просто md5(STR).
Что бы сломать такой усложненный шифр, нужно знать высшую математику.
И вообще взломщикам делать нечего, кроме как ломать наши творения. :)

Король 01.11.2005 23:01

ребят, вы по-моему забыли, что автор спрашивал не насчет хэширования, а насчет шифрования двумя ключами.

Aurum 02.11.2005 18:31

Пожалуйста:

Алгоритм RSA работает так:

1. Отправитель выбирает два очень больших про-
стых числа Р и Q и вычисляет два произведе-
ния N=PQ и M=(P-1)(Q-1).

2. Затем он выбирает случайное целое число D,
взаимно простое с М, и вычисляет Е, удовле-
творяющее условию DE = 1 MOD М.

3. После этого он публикует D и N как свой от-
крытый ключ шифрования, сохраняя Е как за-
крытый ключ.

4. Если S - сообщение, длина которого, опреде-
ляемая по значению выражаемого им целого
числа, должна быть в интервале (1, N), то оно
превращается в шифровку возведением в сте-
пень D по модулю N и отправляется получате-
лю S'=(S**D) MOD N.

5. Получатель сообщения расшифровывает его,
возводя в степень Е по модулю N, так как S =
(S'**E) MOD N = (S**(D*E)) MOD N.

** - возведение в степень


Часовой пояс GMT +4, время: 03:02.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.