Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2011, 20:07   #1
Serg121
 
Регистрация: 05.12.2011
Сообщений: 3
Вопрос Как увеличить скорость работы? (C#)

На данный момент скорость работы составляет 15кб в минуту, как ускорить процесс?

Код:
 for (int i = 0; i < len; i++)
 {
 x = Mas[i];
 Enc = Encrypt(x);
 Encript += Enc.ToString();
 Encript += " "; 
 }

 public BigInteger Encrypt(BigInteger m)
 {
 return (g.modPow(m, nsquare) * r.modPow(n, nsquare)) % nsquare; 
 }
Serg121 вне форума Ответить с цитированием
Старый 05.12.2011, 22:12   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Попробуйте так
Код:
StringBuilder result = new StringBuilder();

for (int i = 0; i < len; i++)
 {
 x = Mas[i];
 result.Append(Encrypt(x).ToString());
result.Append(@" ");
 }
Encript=result.ToString();
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 06.12.2011, 07:01   #3
Serg121
 
Регистрация: 05.12.2011
Сообщений: 3
По умолчанию

Благодарю, скорость возросла до 300кб в минуту.
Есть еще одно место в котором можно ускорить работу. Моя программа делает следующие. Беря 1 байт, она в итоге превращает его в нечто подобное 3487293941297315626. То есть смысл например из 1 делать такое огромное число. Я думаю можно сразу брать по 5 байтов, но как потом дешифровать, ведь они будут слеплены.
Serg121 вне форума Ответить с цитированием
Старый 06.12.2011, 14:13   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

а если так попробовать
Код:
 public BigInteger Encrypt(BigInteger m)
 {
 return  m ^ Math.Abs(Conversion.Int(888 * Math.Sin(m * Math.PI / 180) + 777 * Math.Cos(m * Math.PI / 180 - 1)));
 }
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 06.12.2011, 17:19   #5
Serg121
 
Регистрация: 05.12.2011
Сообщений: 3
По умолчанию

Интересный подход, но этого нельзя делать к сожалению. nsquare это n*n, а n это p*q и часть открытого ключа собственно, а p и q случайные простые числа.
Serg121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP увеличить ограничение по времени работы скрипта rangel PHP 8 16.05.2011 14:37
как вычислить скорость работы программы alexy Общие вопросы C/C++ 6 07.02.2011 20:39
Скорость работы программы Farrel Общие вопросы C/C++ 0 10.09.2010 23:25
как увеличить скорость скачивания!!! alex(21) Свободное общение 16 10.09.2010 19:49
как увеличить скорость заполнения данных в mdb из excel Tanuska___:) БД в Delphi 4 22.04.2010 10:50