私は公開鍵暗号化の理論的な側面 (Katz/Lindell の本で説明されていることは何でも) のほとんどに精通していますが、実際のプログラミングの側面はありません。
私の質問は、パイリエとその実装に直接固有のものです。
以下の形式を持つさまざまな無線構成を表す必要があります。
radio 1=[ch_1=1, ch_2=0, ch_3=0...,ch_32=1] 32 チャネルからなる 1 つのラジオの構成を構成します。各チャネルはオンまたはオフ (1 または 0) にすることができます
したがって、このような各構成には 32 ビットのデータが必要です。このような 32 個の無線を「ブロック」で表現したい場合、1024 ビットのデータで構成されます。
問題は、データの 1 ブロックで無線構成の量をほぼ 10 倍多く表す必要があることです。つまり、302 近くの無線構成を表す必要があり、それぞれが 1 つの「ブロック」内の 32 ビットのデータで構成され、ブロックあたり合計約 9664 ビットのデータになります。
Paillier を実際に使用した経験のある同僚から、1024 ビットを超えるビットを Paillier 暗号文にパックすることはできないと言われました。この声明が正しいかどうか (1024 ビットを超えるビットを Paillier 暗号文にパックすることは不可能である) かどうかを知りたいのですが、そうである場合、その背後にある理由は何ですか? おそらく、暗号文にさらに詰め込むと、計算の観点から使用するのが非現実的になるでしょうか?
個人情報検索スキームに Paillier を使用する予定です。
実装はおそらく C++ で行われます
ありがとうございました。