sm2 加密算法中 整数乘坐标问题

船长513 2013-07-25 06:13:50
小弟是sm2加密算法初学者,对于该算法中的一个细节不懂,哪位师哥师姐接触过,麻烦给小弟解决一下,谢谢。

sm2算法如下:
设需要发送的消息为比特串M,klen为M的比特长度。
为了对明文M进行加密,作为加密者的用户A应实现以下运算步骤:
A1:用随机数发生器产生随机数k∈[1,n-1];
A2:计算椭圆曲线点C1=[k]G=(x1,y1),将C1的数据类型转换为比特串;
A3:计算椭圆曲线点S=[h]PB,若S是无穷远点,则报错并退出;
A4:计算椭圆曲线点[k]PB=(x2,y2),将坐标x2、y2 的数据类型转换为比特串;
A5:计算t=KDF(x2 ∥ y2, klen),若t为全0比特串,则返回A1;
A6:计算C2 = M ⊕ t;
A7:计算C3 = Hash(x2 ∥ M ∥ y2);
A8:输出密文C = C1 ∥ C2 ∥ C3。

我的问题是:算法中标红的乘法算式是坐标乘吗?(如4*(1,2)=(4*1,4*2)=(4,8),是这样的运算过程吗?)
...全文
207 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wopabe 2013-07-26
  • 打赏
  • 举报
回复
引用 1 楼 fetag 的回复:
不是!椭圆曲线的基本操作是基于 加法 的 为了算4*(x1,y1),你要先算出来2*(x1,y1),而2*(x1,y1)就是 (x1,y1)+(x1,y1) 这里的加法不是简单的把对应的横纵坐标相加,而是椭圆曲线定义的那个加法操作
学习了
船长513 2013-07-26
  • 打赏
  • 举报
回复
谢谢!您有相关方面的资料没?
独孤过儿 2013-07-26
  • 打赏
  • 举报
回复
引用 9 楼 u010588506 的回复:
[quote=引用 1 楼 fetag 的回复:] 不是!椭圆曲线的基本操作是基于 加法 的 为了算4*(x1,y1),你要先算出来2*(x1,y1),而2*(x1,y1)就是 (x1,y1)+(x1,y1) 这里的加法不是简单的把对应的横纵坐标相加,而是椭圆曲线定义的那个加法操作
我懂了,就是说加法的结果必须也在椭圆曲线上。针对不同的坐标系,有不同的加法规则![/quote] 去踏踏实实的读读书,别这么拍脑袋想问题。椭圆曲线只有一个坐标系
船长513 2013-07-26
  • 打赏
  • 举报
回复
引用 1 楼 fetag 的回复:
不是!椭圆曲线的基本操作是基于 加法 的 为了算4*(x1,y1),你要先算出来2*(x1,y1),而2*(x1,y1)就是 (x1,y1)+(x1,y1) 这里的加法不是简单的把对应的横纵坐标相加,而是椭圆曲线定义的那个加法操作
我懂了,就是说加法的结果必须也在椭圆曲线上。针对不同的坐标系,有不同的加法规则!
FancyMouse 2013-07-26
  • 打赏
  • 举报
回复
碰到这种东西,离开电脑先把椭圆曲线是什么东西搞懂(没有数论基础的话花上几天时间也别见怪,这是正常的),懂了以后再回过头来写代码。
船长513 2013-07-25
  • 打赏
  • 举报
回复
哦哦!知道了,非常感谢您的帮助!能不能再麻烦您件事,对我加一下关注,这样就可以发私信,以后请教你就方便了!麻烦您了!
独孤过儿 2013-07-25
  • 打赏
  • 举报
回复
引用 3 楼 u010588506 的回复:
非常感谢您的指点,关于Cryptography-Theory_and_practice_3ed 这本书我没有找到中文版的,下载一个英文版的!您有中文版的没,有的话麻烦给发一份,万分感激!
抱歉!我的参考书基本没有中文的... 我以前记得有同学跟我提过这本书的第二版有中文的,第三版的貌似没有,只有英文版
船长513 2013-07-25
  • 打赏
  • 举报
回复
非常感谢您的指点,关于Cryptography-Theory_and_practice_3ed 这本书我没有找到中文版的,下载一个英文版的!您有中文版的没,有的话麻烦给发一份,万分感激!
独孤过儿 2013-07-25
  • 打赏
  • 举报
回复
关于椭圆曲线的详细内容,可以参考这本书 Cryptography-Theory_and_practice_3ed
独孤过儿 2013-07-25
  • 打赏
  • 举报
回复
不是!椭圆曲线的基本操作是基于 加法 的 为了算4*(x1,y1),你要先算出来2*(x1,y1),而2*(x1,y1)就是 (x1,y1)+(x1,y1) 这里的加法不是简单的把对应的横纵坐标相加,而是椭圆曲线定义的那个加法操作

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧