1

送信前に送信者サイトでメッセージを暗号化するアンドロイド SMS メッセージング アプリケーションを構築しています。ただし、メッセージから係数が -1、0、1 の多項式 m に変換する際に、Base-3 変換を使用しています。このため、sam の各文字は多項式の 5 つの係数に変換されます。これにより、最大で 32 ( 5 * 32 = 160 ) 文字しか送信できません。より多くの文字を送信できるように、メッセージを多項式に変換するにはどうすればよいですか??

問題が明確になったことを願っています!!!!

4

1 に答える 1

0

NTRUEncrypt は、3 ではなく q を法とする多項式を出力します (3 を法とする多項式である入力を考えているかもしれません)。

通常、q=2048=2^11 です。160 文字 = 160 バイトと仮定すると、1 つの SMS メッセージは最大 1280 ビットになる可能性があるため、1 つの暗号化されたメッセージで 1280/11 = 116 の係数を送信できます。適度に安全にするには、数百の係数に加えて、特定の種類の攻撃から保護するために数バイトを追加する必要があります。

そのため、暗号化されたメッセージは 1 つの SMS メッセージに収まらず、依然として安全ですが、いつでも複数のメッセージに分割できます。オープン NTRU 実装の APR2011_439_FAST パラメータを使用する場合、暗号化されたメッセージは 604 バイトになり、4 つの SMS メッセージが必要になることを意味します。

または、NTRU の代わりに 256 ビットECCを使用でき、AES キーとソルトを含む 32 ECC 暗号化バイトを送信し、その後に 96 AES 暗号化バイトを送信すると、96 バイトを 1 つのメッセージに収めることができます。

于 2012-05-31T18:46:39.117 に答える