2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Ключи к серийным номерам
Сообщение04.07.2008, 23:33 
У меня возник такой вопрос:
Продаются карточки каких-то услуг ( например пополнения счета). На карточке есть открытый Серийный номер ( 11 чифр) и закрытый ключ из 10 цифр. Чтобы его посмотреть надо монеткой стирать покрытие...
Сколько карточек нужно купить, чтобы понять алгоритм построения ключа?

Какие есть идеи?

 
 
 
 
Сообщение04.07.2008, 23:34 
купить виллу на Багамах -- точно дешевле выйдет

 
 
 
 
Сообщение04.07.2008, 23:42 
ewert писал(а):
купить виллу на Багамах -- точно дешевле выйдет

Ну это есть некоторая оценка, если вилла оценивается числом порядка $10^8$, т.е при цене за карточку в 10 долларов, порядка несколько десятков миллионов карточек.
Но нужно получить именно математическую обоснованную оценку. Дело в не в сумме. Вилла может оказаться слишком дешевой против ключа к карточке....

 
 
 
 
Сообщение04.07.2008, 23:50 
так и покупайте ту виллу. Ей-же-ей -- не прогадаете!

------------------------------------------------------------
(если серьёзнее, то у Вас смешаны два вопроса: угадывание кода и угадывание алгоритма его генерации. Первое маловероятно, второй же вопрос просто не поддаётся формализации.)

 
 
 
 
Сообщение04.07.2008, 23:58 
ewert писал(а):
так и покупайте ту виллу. Ей-же-ей -- не прогадаете!

Не.. прежде нужна оценка, с ней можно все багамы объявить новым государством. :wink:
Я слышал, чем больше данных для анализа, тем вероятнее определить алгоритм....
Ничего , на мой взгляд, страшного нет, что два вопроса смешаны. В жизни так бывает, а код ключа нужен например.
Разве такой задачи не может быть???

 
 
 
 
Сообщение05.07.2008, 05:32 
Нисколько нельзя купить. Обычно такие карточки делаются так: генерируется куча случайных чисел фиксированной длины (причём используется не ГПСЧ, а например, генераторы на основе счётчика Гейгера или радиоприёмник, настроенный на неиспользуемую частоту, см. например http://random.org/). Полученные числа нумеруются -- это и есть серийный номер карточки. Получается пара (серийный-номер; случайное-число), которая и печатается на карточке. Эти же пары заносятся в базу данных на сервере, который обслуживает запросы на пополнение счёта (или какие там услуги). Когда приходит запрос от клиента -- сервер ищет серийный номер карточки в базе и сравнивает числа от клиента и из базы.

Покажем, что размер базы вполне нормальный для обработки средним компьютером. Пусть серийный номер это 32-битное число, а случайное число 64-битное. Тогда для хранения одной пары нужно 12 байт. Пусть там ещё на индексы в базе потратится ещё 4 байта на каждую пару, итого 16 байт на запись. Пусть в обороте одновременно находится 100 миллинов карточек. Тогда база занимает всего 1,6 Гб. Нужно заметить, что абсолютно всё равно, сколько карточек выпущено всего, так как использованные пары из базы удаляются.

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group