Генерация простых больших чисел на С#
От: masyanya01  
Дата: 14.11.05 13:02
Оценка:
Очень надо, плизз, как реализовать генерацию больших простых чисел на C# (алгоритм, или может компонент какой есть?)?
И ещё, есть ли в C# стандартный класс для генерации ключей для алгоритма шифрования rsa и если есть как с ним работать?
Re: Генерация простых больших чисел на С#
От: Smarty Россия  
Дата: 14.11.05 13:38
Оценка:
Здравствуйте, masyanya01, Вы писали:

M>Очень надо, плизз, как реализовать генерацию больших простых чисел на C# (алгоритм, или может компонент какой есть?)?

M>И ещё, есть ли в C# стандартный класс для генерации ключей для алгоритма шифрования rsa и если есть как с ним работать?

System.Security.Cryptography.RSACryptoServiceProvider? Как работать? Ну... МСДН читали, для начала?
Re: Генерация простых больших чисел на С#
От: vitaly_spb Россия  
Дата: 14.11.05 14:05
Оценка:
M>Очень надо, плизз, как реализовать генерацию больших простых чисел на C# (алгоритм, или может компонент какой есть?)?

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemrandomclasstopic.asp
...Ei incumbit probatio, qui dicit, non qui negat...
Re[2]: Генерация простых больших чисел на С#
От: invisibleshadow Россия  
Дата: 15.11.05 07:32
Оценка:
Здравствуйте, vitaly_spb, Вы писали:

M>>Очень надо, плизз, как реализовать генерацию больших простых чисел на C# (алгоритм, или может компонент какой есть?)?


_>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemrandomclasstopic.asp


Человек же сказал:

генерацию больших простых чисел

рандом тут не причем.
Для RSA нужны такие числа... все нужно делать в ручную. Crypto API, как я понимаю, не подходит т.к. автору необходимо выполнить лабы или курсовой... Извиняюсь — если не прав.
Если проблема актуальна — пишите. Дома что то было — если не потер. Как минимум на плюсах исходники кину если что.
Re: Генерация простых больших чисел на С#
От: twirpx  
Дата: 17.11.05 10:25
Оценка:
Hello, masyanya01!
You wrote on Mon, 14 Nov 2005 13:02:17 GMT:

m> Очень надо, плизз, как реализовать генерацию больших простых чисел на C#

m> (алгоритм, или может компонент какой есть?)? И ещё, есть ли в C#
m> стандартный класс для генерации ключей для алгоритма шифрования rsa и
m> если есть как с ним работать?

Генерирует простые числа:
Оптимизируем по вкусу.

            ArrayList simple_numbers = new ArrayList();
            int current_number = 2;
            using (StreamWriter writer = new StreamWriter("output.txt")) {
                while (true) {
                    foreach (int simple_number in simple_numbers) {
                        if (current_number % simple_number == 0) {
                            goto next_number;
                        }
                    }
                    simple_numbers.Add(current_number);
                    writer.WriteLine(current_number);
                next_number: ;
                    current_number++;
                }
            }
Posted via RSDN NNTP Server 1.9
Re: Генерация простых больших чисел на С#
От: mogadanez Чехия  
Дата: 17.11.05 10:39
Оценка:
Здравствуйте, masyanya01, Вы писали:

M>Очень надо, плизз, как реализовать генерацию больших простых чисел на C# (алгоритм, или может компонент какой есть?)?

M>И ещё, есть ли в C# стандартный класс для генерации ключей для алгоритма шифрования rsa и если есть как с ним работать?

года два назад индусы вроде придумали какой то алгоритм для 100% определения любого числа простое оно или нет.
я даже тогда pdf видел с описанием. сейчас найти сходу нее смог...
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[2]: Генерация простых больших чисел на С#
От: Mab Россия http://shade.msu.ru/~mab
Дата: 17.11.05 11:39
Оценка:
Здравствуйте, twirpx, Вы писали:

T>Генерирует простые числа:

T>Оптимизируем по вкусу.
Боюсь, оптмизируй -- не оптимизируй, но толку от такого кода не будет. Работает он за время, сверхлинейное по самому простому числу. А для RSA нужны очень длинные числа.
Re[2]: Генерация простых больших чисел на С#
От: Mab Россия http://shade.msu.ru/~mab
Дата: 17.11.05 11:40
Оценка: 18 (1)
M>года два назад индусы вроде придумали какой то алгоритм для 100% определения любого числа простое оно или нет.
M>я даже тогда pdf видел с описанием. сейчас найти сходу нее смог...
Практического смысла в этом результате пока нет. Но, тем не менее, см. здесь:
http://crypto.cs.mcgill.ca/~stiglic/PRIMES_P_FAQ.html
Re[3]: Генерация простых больших чисел на С#
От: eugen1001  
Дата: 17.11.05 12:34
Оценка:
Здравствуйте, Mab, Вы писали:

Mab>Здравствуйте, twirpx, Вы писали:


T>>Генерирует простые числа:

T>>Оптимизируем по вкусу.
Mab>Боюсь, оптмизируй -- не оптимизируй, но толку от такого кода не будет. Работает он за время, сверхлинейное по самому простому числу. А для RSA нужны очень длинные числа.

Да почему же. Можно соптимизировать в 4 раза: бежать только по нечетным числам (2 сразу добавить в массив) и не по всему массиву, а только до половины текущего числа.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Генерация простых больших чисел на С#
От: Mab Россия http://shade.msu.ru/~mab
Дата: 17.11.05 12:44
Оценка: +1
Здравствуйте, eugen1001, Вы писали:

E>Да почему же. Можно соптимизировать в 4 раза: бежать только по нечетным числам (2 сразу добавить в массив) и не по всему массиву, а только до половины текущего числа.

Ну если уж очень хочется, то можно изучать делители, не большие корня квадратного из проверяемого числа.

Но все равно это мертвому припарки. Для RSA нужны числа порядка 2^64 и даже больше. Простых там примерно каждое 44-е. Ну как, все еще есть надежда примернить здесь подобный примитивный алгоритм?
Re: Генерация простых больших чисел на С#
От: kig Россия  
Дата: 17.11.05 15:05
Оценка:
Здравствуйте, masyanya01, Вы писали:

M>Очень надо, плизз, как реализовать генерацию больших простых чисел на C# (алгоритм, или может компонент какой есть?)?

M>И ещё, есть ли в C# стандартный класс для генерации ключей для алгоритма шифрования rsa и если есть как с ним работать?

Посмотри
Re[2]: Генерация простых больших чисел на С#
От: Малич Юрий Германия http://malich.ru
Дата: 18.11.05 08:40
Оценка:
Здравствуйте, kig, Вы писали:


kig>Посмотри

BigInteger и Big Prime Integer — это две большие разницы
"Практика — критерий истины" (c) Маркс
Re[3]: Генерация простых больших чисел на С#
От: kig Россия  
Дата: 18.11.05 12:40
Оценка:
Здравствуйте, Малич Юрий, Вы писали:

МЮ>Здравствуйте, kig, Вы писали:



kig>>Посмотри

МЮ>BigInteger и Big Prime Integer — это две большие разницы

Ну а в статью заглянуть не судьба?

Sample Code
The generation of a 512-bits random pseudoprime number.


public static void Main(string[] args)
{
    Console.Write(
        "\nGenerating 512-bits random pseudoprime. . .");

    Random rand = new Random();
    BigInteger prime = BigInteger.genPseudoPrime(
        512, 5, rand);

    Console.WriteLine("\n" + prime);
}



Все ограничения и почему genPseudoPrime — описаны в статье.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.