首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >椭圆曲线密码,解密返回假结果

椭圆曲线密码,解密返回假结果
EN

Cryptography用户
提问于 2018-04-11 19:09:24
回答 1查看 306关注 0票数 5

我构建了一些应用程序来使用ecc加密和解密一些文本。

我的曲线参数是

代码语言:javascript
复制
p = 59
a = 2
b = 2

由此产生64点,包括无穷点。

对于加密和解密过程,我使用

代码语言:javascript
复制
e1 = (3, 25)
d (private key) = 53

这是我面临的问题

假设我想加密点(45,48),首先生成随机数k = 47,然后计算e1 * k

代码语言:javascript
复制
C1 = k * e1
   = 47 * (3, 25)
   = (43, 57)

C2 = P + k * e2
   = (45, 48) + 47 * (53 * (3, 25))
   = (28, 11)

但是,当我解密c1和c2时

代码语言:javascript
复制
M = c2 - d x c1
  = (28, 11) - 53 * (43, 57)
  = (43, 57)

我试着用在线计算器检查我的计算结果,但结果甚至不在曲线上。

谁能给我解释一下原因吗?我哪里出错了?对不起我的英语谢谢

EN

回答 1

Cryptography用户

发布于 2018-04-15 01:14:06

我可以想象你的计算器不知道如何处理无穷远点,因为它完全依赖于仿射点。你可以计算出

开始{ C_2 *} &= P+ k*e_2 \ &= (45,48) + 47*53*(3,25) \ &= 5*(3,25) + 47*53*(3,25) &(\text{64 }(45,48) = 5*(3,25)) \ &= 2496*(3,25) \ &= \infty &({{}2496\equv0\bmod 64)结束{对齐*}这个计算似乎出了问题,可能是因为它不能在内部表示$\infty$。

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

https://crypto.stackexchange.com/questions/58307

复制
相关文章

相似问题

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