Здравствуйте, fAX, Вы писали:
fAX>Здравствуйте, temik, Вы писали:
T>>вставочка в Visual C++ сабжевая нужна очень fAX>Если честно — я бы вручную посчитал и внёс hardcoded.
А потом внес бы в эту таблицу коррективы и выложил прогу в open-source ("сердечник трансформатора выполнен из мореного дуба, потому что препод эту ботву не читает").
И спокойно перехватывал трафик тех, кто ею воспользовался.
Здравствуйте, temik, Вы писали:
T>вставочка в Visual C++ сабжевая нужна очень
Смотри решето Эратосфена в этой конференции поиском.
А вообще такие мелкие числа можно в таблице хранить, она небольшая получится
PS: Криптография??? :)
Re[2]: сгенерить простое число (не больше 999) на асме
Здравствуйте, Ogre, Вы писали:
O>Здравствуйте, temik, Вы писали:
T>>вставочка в Visual C++ сабжевая нужна очень O>Смотри решето Эратосфена в этой конференции поиском.
Ничего не нашел, к сожалению. Киньте исходник, если есть
Re[3]: сгенерить простое число (не больше 999) на асме
Здравствуйте, temik, Вы писали:
T>Здравствуйте, Ogre, Вы писали:
O>>PS: Криптография??? :) T>ага, курсач, клиент-сервер с шифрованой по принципу RSA передачей мессаг
Ну тогда простые числа меньше 999 тебе не подходят :) В RSA используются простые числа >=100 десятичных разрядов :)
Re[3]: сгенерить простое число (не больше 999) на асме
Здравствуйте, temik, Вы писали:
T>Ничего не нашел, к сожалению. Киньте исходник, если есть
Лучше посмотри, я сам про простые числа спрашиваол около месяца назад.
Исходник на Java, но думаю, что разберешься. Но:
1) Оно бесполезно для чисел < 999 (для такого диапазона только таблица будет оптимальным вариантом)
2) Для чисел 2^16 уже считает достаточно медленно.
public class Eratosphene {
// Константа from2 представляет множество всех целых чисел, больших единицыfinal static IntSet from2 = new IntSet() {
public boolean has(int elem) { return elem >= 2; }
};
// Функция filter выдает по заданному множеству другое множество,
// которое получается из исходного вычеркиванием всех элементов,
// кратных заданному значению fprivate static IntSet filter(final int f, final IntSet set) {
return new IntSet() {
public boolean has(int elem) {
return elem % f != 0 && set.has(elem);
}
};
}
// Функция sieve просеивает заданное множество целых согласно алгоритму
// решета Эратосфена. Аргумент max задает верхнюю границу для просеиванияpublic static IntSet sieve(int max, IntSet set) {
int first = AbstractSet.first(set);
return (first * first > max ? set :
AbstractSet.add(sieve(max, filter(first,
AbstractSet.remove(set, first))), first));
}
// Тестовая функция печатает множество всех простых чисел, меньших 300public static void main(String[] args) {
final int max = 300; // Верхняя граница для простых чисел
IntSet primes = sieve(max, from2); // Все простые до max
String delim = ""; // Разделитель для печати
// Теперь отпечатаем результат:
System.out.print('[');
for (int i = 1; i <= max; i++) {
if (primes.has(i)) {
System.out.print(delim + i);
delim = ", ";
}
}
System.out.println(']');
}
}
Re[3]: сгенерить простое число (не больше 999) на асме
Здравствуйте, temik, Вы писали:
O>>PS: Криптография??? T>ага, курсач, клиент-сервер с шифрованой по принципу RSA передачей мессаг
Небыстрый, однако, сервер получится, если каждое сообщение RSA шифровать и расшифровывать ( операция то ресурсоемкая ).
Вообще обычно RSA шифруется сеансовый ключ для какого-нибудь симметричного ( потокового или блочного ) шифра,
и в дальнейшем траффик шифруется им.
Re[4]: сгенерить простое число (не больше 999) на асме
Здравствуйте, Ogre, Вы писали:
T>>ага, курсач, клиент-сервер с шифрованой по принципу RSA передачей мессаг O>Ну тогда простые числа меньше 999 тебе не подходят В RSA используются простые числа >=100 десятичных разрядов
Препод сказал, что достаточно и трехзначного числа будет
Re[5]: сгенерить простое число (не больше 999) на асме
Здравствуйте, temik, Вы писали:
T>Здравствуйте, Ogre, Вы писали:
T>>>ага, курсач, клиент-сервер с шифрованой по принципу RSA передачей мессаг O>>Ну тогда простые числа меньше 999 тебе не подходят В RSA используются простые числа >=100 десятичных разрядов T>Препод сказал, что достаточно и трехзначного числа будет
А препод-то шутник...
Re[5]: сгенерить простое число (не больше 999) на асме
Здравствуйте, temik, Вы писали:
O>>Ну тогда простые числа меньше 999 тебе не подходят В RSA используются простые числа >=100 десятичных разрядов T>Препод сказал, что достаточно и трехзначного числа будет
Наверное, он дал твоему одногруппнику курсовик взломать твой шифр
Re[6]: сгенерить простое число (не больше 999) на асме
ВН>А препод-то шутник...
ну шутник-не шутник, не знаю. А курсач у меня состоит не в том, чтоб селать неломаемый шифр, а в том, чтобы разобраться с самим принципом шифрования RSA. А для этого больших чисел не надо. Да и первый курс пока...
Re[7]: сгенерить простое число (не больше 999) на асме
Здравствуйте, temik, Вы писали:
T>ну шутник-не шутник, не знаю. А курсач у меня состоит не в том, чтоб селать неломаемый шифр, а в том, чтобы разобраться с самим принципом шифрования RSA. А для этого больших чисел не надо. Да и первый курс пока...
Нет, ну если надо просто разобраться с принципом работы... Для таких чисел проверку простоты легче всего реализовать простым перебором делителей.
Re: сгенерить простое число (не больше 999) на асме