Модераторы: Illuminaty

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Cамописный https, Создание самописного безопасного соедине 
:(
    Опции темы
aLEXperimentator
Дата 14.9.2014, 04:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 18.2.2013

Репутация: нет
Всего: нет



Гммм...
А вот более интересный сайт:
Асимметричный алгоритм шифрования RSA: практический пример работы
Сайт некоего Дмитрия Беляева "Мемуары о будущем"

Причём на сайте дан конкретный, скажем так, алгебраический пример шифрования. Вот он:
Цитата

Рассмотрим небольшой пpимеp, иллюстрирующий применение алгоритма RSA.
Пусть требуется зашифровать сообщение “САВ”.

Для простоты будем использовать маленькие числа (на практике применяются гораздо большие). Пошагово проследим процессы шифрования и дешифрования.

   1. Выберем p = 3 и q = 11.
   2. Определим n = 3 * 11 = 33.
   3. Найдем (p – 1)(q – 1) = 20. Следовательно, в качестве e можно взять число, взаимно простое с 20, напpимеp, e = 3.
   4. Выберем число d. В качестве такого числа может быть взято любое число, для которого выполняется соотношение (d * 3) = 1(mod 20), напpимеp 7.
   5. Представим шифруемое сообщение как последовательность целых чисел с помощью отображения: А -> 1, В-> 2, С-> 3. Тогда исходное открытое сообщение принимает вид M = (3,1,2). Зашифруем сообщение с помощью ключа {7, 33}:

s1 = (3 в степени 7) (mod 33) = 2187 (mod 33) = 9,
s2 = (1 в степени 7) (mod 33) = 1 (mod 33) = 1,
s3 = (2 в степени 7) (mod 33) = 128 (mod 33) = 29.

Зашифрованное сообщение после этого примет вид S = (9, 1, 29).

Расшифруем полученное зашифрованное сообщение (9, 1, 29) на основе секретного ключа {3, 33}:

m1 = (9 в степени 3) (mod 33) = 729 (mod 33) = 3,
m2= (1 в степени 3) (mod 33) = 1 (mod 33) = 1,
m3 = (29 в степени 3) (mod 33) = 24389 (mod 33) = 2.

Как можем видеть, дешифрование шифртекста S = (9, 1, 29) привело к исходному открытому тексту M = (3, 1, 2).

Наверное в конце мне требуется добавить, что все права принадлежат Дмитрию Беляеву и его сайту http://bda-expert.com/

Вот и готова конкретная инструкция для генерации пары "закрытый-открытый ключ". Однако остаются вообще-то говоря трудности, основная из которых - размер простых чисел. Либо брать простые числа от 1 до 1000, после чего такое "произведение" взломают за пару минут, и ещё за столько же зная открытое число d найдут собственно необходимое для работы число e. Либо брать простые числа длиной в 10, 20 и более знаков - что означает писать свой собственный математический класс для работы с массивами, складывать их, вычитать (это всё ещё не очень трудно) , умножать и делить, что вообще-то станет жутким программистским кошмаром.   smile 

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

Плюс ко всему, так как берётся остаток от деления на произведение простых чисел, а они должны быть как можно больше - остаток может быть сколь угодно большим, разве что он обязан быть меньше делителя. Тем самым есть вероятность того, что простенькие буковки A, B и C на выходе после шифрования превратятся не в 9 или 29, а в какое-нибудь 564239233438456948547565123847 на каждую букву, что тоже раздует post- или get-запросы на сервер до многокилобайтных размеров. Особенно приятно серверу будет потом возводить своё секретное число в степень пришедшего к нему запроса... Или запрос в степень секретного числа  smile  smile  smile 

Короче продолжаем думать...

Это сообщение отредактировал(а) aLEXperimentator - 14.9.2014, 04:15
PM MAIL   Вверх
ksnk
Дата 14.9.2014, 06:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Цитата(aLEXperimentator @  14.9.2014,  04:12 Найти цитируемый пост)
Тем самым есть вероятность того, что простенькие буковки A, B и C на выходе после шифрования превратятся не в 9 или 29, а в какое-нибудь 564239233438456948547565123847 на каждую букву,

Просто берутся "буквы", сравнимые по длине с ключем. 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
aLEXperimentator
Дата 16.9.2014, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 18.2.2013

Репутация: нет
Всего: нет



Здравствуйте, уважаемые форумчане!

Ну что же - по-видимому в данный момент времени действительно окажется более уместным купить ssl и выбрать хостера, который предоставляет работу с https и ssl. Это окажется быстрее и эффективнее, нежели разрабатывать свои библиотеки шифрования, по-крайней мере на первых порах. Ибо если я вздумаю "защищать переписку" маленькими числами - "шифр" будет взломан за пару минут. Если большИми - надо писать библиотеки работы с большИми числами на сервере и на клиенте (писать 2 штуки библиотек) , а потом прикидывать время их работы. Использование уже существующих ssl в данном случае будет несравнимо быстрее.

Цель пока что - запустить сайт. А не разработать такое шифрование, которое не сможет взломать весь мир.  smile 

Однако тему иногда буду навещать, если будут новые соображения или "открытия"  smile в этой области. Прекрасно понимаю, что создание "своего" шифрования может сильно помочь. А может и навредить.  smile Тут уже как получится...  smile 

Спасибо за помощь, мои уважаемые собеседники! Думаю у нас ещё будет и возможность, и повод пообщаться!
Искренне Ваш aLEXperimentator
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.0639 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.