Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Advanced (http://www.flasher.ru/forum/forumdisplay.php?f=4)
-   -   [FLASH] : ENCRYPTING DATA (http://www.flasher.ru/forum/showthread.php?t=25993)

MAESTRО 18.01.2002 20:34

[FLASH] : ENCRYPTING DATA
 
Вопрос....о безопасности:
Кто-нить реализовывал свой собственный протокол обмена на флеше...ну на уровне шифрации побайтово, с ключом или PGP ;) или легче через SSL все это замутить...?

Пример из реалии:
Допустим, реализуется удаленное администрирование БД.
Форма сделана на флеше (так красивше :) но в целях безопасности, ведь передаваемые данные надо шифровать как-то...

...За сим спасибо! Всем всем всем...скажите что-нить...свои мысли по поводу...интересно очень :) ...ну пжалста ;)

...Неужели никому неинтересна эта проблема?...Или все это давно решено...но я искал...не нашел...хорошо искал

MAESTRО 18.01.2002 23:09

[MAESTRO] : Confused
 
Кажется...проблемы безопастности не существуеть :( более...
Ну тогда поставлю вопрос по другому
...У кого-нить вообще такая идиотская мысля была...сделать шифратор и дешифратор на флеше...или это велосипед с квадратными колесами?

john 19.01.2002 03:03

Мысля дейстствительно (прости) идиотская :D
Хотя она мне тоже когдато приходила,
но мысль вредная по определению,
форма она и есть форма, нечего от нее требовать секьюрности, пусть протоколы этим занимаются, :)

MAESTRО 19.01.2002 17:21

[ SSL ] : manual
 
...Понятно, что следующий вопрос еще глупее...
У кого-нить есть под рукой хороший e-мануал по SSL ...? Может поделитесь, а? :rolleyes:

MAESTRО 22.01.2002 06:40

[ ENCRYPTING ] : RSA
 
Алгоритм RSA стоит у истоков асимметричной криптографии. Он был предложен тремя исседователями-математиками Рональдом Ривестом (R.Rivest) , Ади Шамиром (A.Shamir) и Леонардом Адльманом (L.Adleman) в 1977-78 годах.

Первым этапом любого асимметричного алгоритма является создание пары ключей: открытого и закрытого и распространение открытого ключа "по всему миру". Для алгоритма RSA этап создания ключей состоит из следующих операций

Выбираются два простых (!) числа p и q

Вычисляется их произведение n(=p*q)

Выбирается произвольное число e (e<n), такое, что НОД(e,(p-1)(q-1))=1, то есть e должно быть взаимно простым с числом (p-1)(q-1).

Методом Евклида решается в целых числах (!) уравнение e*d+(p-1)(q-1)*y=1. Здесь неизвестными являются переменные d и y – метод Евклида как раз и находит множество пар (d,y), каждая из которых является решением уравнения в целых числах.

Два числа (e,n) – публикуются как открытый ключ.

Число d хранится в строжайшем секрете – это и есть закрытый ключ, который позволит читать все послания, зашифрованные с помощью пары чисел (e,n).

Как же производится собственно шифрование с помощью этих чисел:

Отправитель разбивает свое сообщение на блоки, равные k=[log2(n)] бит, где квадратные скобки обозначают взятие целой части от дробного числа.

Подобный блок, как Вы знаете, может быть интерпретирован как число из диапазона (0;2k-1). Для каждого такого числа (назовем его mi) вычисляется выражение ci=((mi)e)mod n. Блоки ci и есть зашифрованное сообщение Их можно спокойно передавать по открытому каналу, поскольку операция возведения в степень по модулю простого числа, является необратимой математической задачей. Обратная ей задача носит название "логарифмирование в конечном поле" и является на несколько порядков более сложной задачей. То есть даже если злоумышленник знает числа e и n, то по ci прочесть исходные сообщения mi он не может никак, кроме как полным перебором mi.

А вот на приемной стороне процесс дешифрования все же возможен, и поможет нам в этом хранимое в секрете число d. Достаточно давно была доказана теорема Эйлера, частный случай которой утвержает, что если число n представимо в виде двух простых чисел p и q, то для любого x имеет место равенство (x(p-1)(q-1))mod n = 1. Для дешифрования RSA-сообщений воспользуемся этой формулой. Возведем обе ее части в степень (-y) : (x(-y)(p-1)(q-1))mod n = 1(-y) = 1. Теперь умножим обе ее части на x : (x(-y)(p-1)(q-1)+1)mod n = 1*x = x.

А теперь вспомним как мы создавали открытый и закрытый ключи. Мы подбирали с помощью алгоритма Евклида d такое, что e*d+(p-1)(q-1)*y=1, то есть e*d=(-y)(p-1)(q-1)+1. А следовательно в последнем выражении предыдущего абзаца мы можем заменить показатель степени на число (e*d). Получаем (xe*d)mod n = x. То есть для того чтобы прочесть сообщение ci=((mi)e)mod n достаточно возвести его в степень d по модулю m : ((ci)d)mod n = ((mi)e*d)mod n = mi.

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

john 22.01.2002 20:42

Спасибо за информацию...
познавательно :)


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

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