В
криптографии, протокол поиска информации (PIR) позволяет потребителю (или игроку) получить интересующую его частную информацию с сервера. Причём сервер не сможет распознать какая именно часть его информации стала известна игроку. Задача : Есть база данных состоящая из
![](http://info.babylon.com/onlinebox.cgi?rt=GetFile&uri=!!FEZFM9BUQ2&type=0&index=3543)
битов. Есть игрок, который хочет достать бит номер
![](http://info.babylon.com/onlinebox.cgi?rt=GetFile&uri=!!FEZFM9BUQ2&type=0&index=1997)
так чтобы база данных содержащая все
![](http://info.babylon.com/onlinebox.cgi?rt=GetFile&uri=!!FEZFM9BUQ2&type=0&index=3543)
битов не смогла узнать никакой информации какой именно бит достал игрок. Тривиальное (но не эффективное) решение состоит в посылке всех
![](http://info.babylon.com/onlinebox.cgi?rt=GetFile&uri=!!FEZFM9BUQ2&type=0&index=3543)
битов игроку, включая искомый им
![](http://info.babylon.com/onlinebox.cgi?rt=GetFile&uri=!!FEZFM9BUQ2&type=0&index=1997)
-бит. Другой путь — использование PIR-протокола где игрок задаёт вопрос (функцию) базе данных. Последняя берёт эту функцию, прилагает её ко всей совокупности базы данных и получает ответ, который высылается обратно игроку. Условия этой игры следующие:
1) Длина суммы вопроса (функции) и ответа должна быть много меньше чем n.
2) игрок должен для любого
![](http://info.babylon.com/onlinebox.cgi?rt=GetFile&uri=!!FEZFM9BUQ2&type=0&index=1997)
послать такой вопрос, чтобы ответ был правильный, то есть
![](http://info.babylon.com/onlinebox.cgi?rt=GetFile&uri=!!FEZFM9BUQ2&type=0&index=1997)
-бит был верно получен.
3) База данных не может ничего узнать по поводу
![](http://info.babylon.com/onlinebox.cgi?rt=GetFile&uri=!!FEZFM9BUQ2&type=0&index=1997)
.