首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android上实现NTRU加密短信

在Android上实现NTRU加密短信
EN

Stack Overflow用户
提问于 2012-05-31 12:49:42
回答 1查看 572关注 0票数 1

我正在构建一个android短信应用程序,加密在发送前在发送方网站的消息。但是,在将消息转换为系数为-1,0,1的多项式m时,我使用的是Base-3转换。正因为如此,sam中的每个字符都被转换为多项式的5个系数。这使我最多只能发送32( 5* 32 = 160 )个字符。如何将消息转换为多项式,以便发送更多字符??

希望我把问题说清楚了!

EN

回答 1

Stack Overflow用户

发布于 2012-06-01 02:46:39

NTRUEncrypt输出的是模为q的多项式,而不是3(您可能认为输入是模为3的多项式)。

通常为q=2048=2^11。假设160个字符= 160个字节,则一条短信最大可达1280位,因此您可以在一条加密消息中发送1280/11 = 116个系数。为了合理地保证安全性,您需要数百个系数,外加几个额外的字节来防止某些类型的攻击。

因此,一条加密的消息不能放入一条SMS消息中,而且仍然是安全的,但您总是可以将其拆分成多条消息。如果您使用open NTRU implementation中的APR2011_439_FAST参数,则加密消息将为604字节,这意味着您将需要4条SMS消息。

或者,您可以使用256位ECC而不是NTRU,如果您发送包含AES和salt的32个ECC加密的字节,然后是96个AES加密的字节,那么您将能够在一条消息中容纳96个字节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10827599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档