SM2p256v1椭圆曲线点加点减倍点python实现代码

news2025/1/9 15:12:03

首先给出SM2p256v1椭圆曲线的建议参数如下:

default_ecc_table = {
    'n': 'FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123',
    'p': 'FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF',
    'g': '32c4ae2c1f1981195f9904466a39c9948fe30bbff2660be1715a4589334c74c7'
         'bc3736a2f4f6779c59bdcee36b692153d0a9877cc62a474002df32e52139f0a0',
    'a': 'FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC',
    'b': '28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93',
}

椭圆曲线点加(x1,y1)+(x2,y2)

tSm2 = sm2.CryptSM2('', '')
xy_h = tSm2._convert_jacb_to_nor(tSm2._add_point(x1_h+y1_h, x2_h+y2_h))
x_h = xy_h[0:64]
y_h = xy_h[64:]

椭圆曲线点减(x1,y1)-(x2,y2)

p = int.from_bytes(bytes.fromhex(sm2.default_ecc_table['p']))
_y2 = p - y2
tSm2 = sm2.CryptSM2('', '')
_y2_h = hex(_y2).replace('0x','')
xy_h = tSm2._convert_jacb_to_nor(tSm2._add_point(x1_h + y1_h, x2_h + _y2_h))
x_h = xy_h[0:64]
y_h = xy_h[64:]

椭圆曲线倍点k*(x1,y1)

tSm2 = sm2.CryptSM2('', '')
xy_h = tSm2._kg(int(k_h, 16), x1_h + y1_h )
x_h = xy_h[0:64]
y_h = xy_h[64:]

实现结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1960162.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于零极点配置的PID控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 PID控制器的基本形式 4.2 零极点配置原理 5.完整工程文件 1.课题概述 基于零极点配置的PID控制系统simulink建模与仿真,设置不同个数的零极点,对比PID控制器的控制输出效果。…

方天云智慧平台系统 GetCompanyItem SQL注入漏洞复现

0x01 产品简介 方天云智慧平台系统,作为方天科技公司的重要产品,是一款面向企业全流程的业务管理功能平台,集成了ERP(企业资源规划)、MES(车间执行系统)、APS(先进规划与排程)、PLM(产品生命周期)、CRM(客户关系管理)等多种功能模块,旨在通过云端服务为企业提供…

算法板子:模拟哈希表——哈希映射、哈希表中插入新值、拉链法处理冲突、查找一个数是否在哈希表中

由题意到x是[-1e9,1e9],我们要将x映射到[0,1e5)这种映射过程可以使用哈希函数hash(x)将x映射到对应的坑位,并使用哈希表存储映射后的x,这里的存储我们选用拉链法将映射到同一个坑位的数串起来; 哈希表又称为散列表比如: hash(4)4%31&#xff…

全国产业园排名新看点:国际数字影像产业园再创新高

随着中国数字经济的快速发展,产业园区作为技术创新和产业聚集的核心区域,正不断涌现出新的活力和突破。树莓集团旗下所运营的国际数字影像产业园,以其卓越的运营模式和创新能力,成功跻身全国产业园区的前列,成为行业的…

Godot学习笔记7——Input单例与自定义单例

一、单例 单例是一个可以在任何脚本直接访问的对象,分为内置单例与自定义单例。内置单例不是节点,主要成员是各类Server,开发者可以使用它们直接控制游戏程序的图形与音效等内容。 我们可以在文档中查找“GlobalScope”获取相关内容&#x…

【Python学习手册(第四版)】学习笔记07-Python对象类型-字符串详解

个人总结难免疏漏,请多包涵。更多内容请查看原文。本文以及学习笔记系列仅用于个人学习、研究交流。 这篇文章是对Python对象类型-字符串的详解。内容较多需花1-2h阅读。如果你是0基础的初学者建议看这篇文章,对比其他教程会更加容易上手。 对字符串做了…

Java语言程序设计——篇十(1)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 接口介绍 接口概述接口定义接口的实现实战演练 👅接口的继承实战演练实战演练 接口的类型常量实战演练 静态方法默认方法解决默认方…

一投就中不是梦,录取率>80%,最快1个月就见刊,计算机沾边就收,认可度还不低

本次模术狮精心整理5本期刊,最快1个月就见刊,计算机沾边就收,认可度还不低! 1 Knowledge-Based Systems ▲ 图片来源:Knowledge-Based Systems官网 期刊简介:《Knowledge-Based Systems》是人工智能领域的…

(2024,缩放定律,信息论,模型大小与数据的线性关系)神经缩放定律的信息论基础

Information-Theoretic Foundations for Neural Scaling Laws 公和众与号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 1. 简介 3. 缩放定律 4. 一个例子 5. 结论 0. 摘要 神经网络…

EasyExcel - table写入复杂表头及内容

需求:在一个工作簿中,需要填充固定字段信息,并写入多个不同的标题列的表格及内容。 常规Excel写入一般是一个工作簿一个表头。 目录 一、复杂表单分析1.表单示例2.复杂表单拆解3.准备模板 二、EasyExcel文档1.最简单的填充Excel2.使用table去…

[Linux安全运维] Nginx安装部署以及LNMP框架搭建保姆级教程

前言 LNMP:Linux 系统下 NginxMySQLPHP 网站服务器架构。因为四种软件均是免费开源网站,所有这是一个免费、高效的网站服务系统。 本章主要介绍的是Nginx相关的环境部署,以及LNMP框架的搭建,Nginx知识点介绍在文章:[…

昇思25天学习打卡营第23天|基于MindSpore的红酒分类实验案例:从数据准备到模型预测

目录 MindSpore 版本配置与红酒数据集下载 葡萄酒数据读取、处理与可视化分析 基于 KNN 算法的样本分类模型构建与预测函数定义 基于 KNN 模型的测试集预测与准确率计算 MindSpore 版本配置与红酒数据集下载 首先使用 %%capture captured_output 捕获后续代码的输出。然后&a…

【Django5】内置Admin系统

系列文章目录 第一章 Django使用的基础知识 第二章 setting.py文件的配置 第三章 路由的定义与使用 第四章 视图的定义与使用 第五章 二进制文件下载响应 第六章 Http请求&HttpRequest请求类 第七章 会话管理(Cookies&Session) 第八章 文件上传…

python中,jsonpath提取数据的时候出现TypeError: ‘bool‘ object is not subscriptable怎么解决

json格式如下: { success: True, result: { codeInfo: { code: 0, msg: 成功 }, uploadToken: { resId: rzJRpo, endpoint: https://sit-api-ypsx-resource.ypsx-internal.com/r…

知识分享|temu跨境选品师盈利一般要多久?

在成为一名跨境选品师,特别是在TEMU(The Easy Market University)平台上,盈利的速度取决于多种因素,包括个人技能、市场选择、产品定位和运营策略等。这些因素共同决定了一个选品师从初始阶段到稳定盈利的时间轨迹。 首先,对于新手…

vue3组件通信(一)

组件通信 一.props(父<>子)二.自定义事件&#xff08;子>父&#xff09;三.mitt(实现任意组件通信)四.v-model(父<>子)(1).v-model的本质(2).组件标签中v-model的本质(3).$event到底是什么 概况 一.props(父<>子) 使用频率最高 若 父传子&#xff1a;属性…

Redis结合Lua脚本的简单使用

我们就拿购物车举例子 现在有5个东西免费送&#xff0c;我们只能选择1个 例如 可乐 美年达 香蕉 苹果 薯片 我们选择后就放进redis里面 然后我们不能选重复&#xff0c;只能选不同 Lua脚本 我们redis使用lua脚本的时候&#xff0c;会传两个参数进去 一个是List<Strin…

(新)VMware虚拟机安装Linux教程(超详细)

创作不易&#xff0c;禁止转载抄袭&#xff01;&#xff01;&#xff01;违者必究&#xff01;&#xff01;&#xff01; 创作不易&#xff0c;禁止转载抄袭&#xff01;&#xff01;&#xff01;违者必究&#xff01;&#xff01;&#xff01; 创作不易&#xff0c;禁止转载抄…

PMP相关考点整理

PMP知识点整理 一、预测型4. 项目整合管理启动:4.1 制定项目章程规划:4.2 制定项目管理计划执行:4.3 指导与管理项目工作4.4 管理项目知识监控4.5监控项目工作4.6 实施整体变更控制【都是重点】收尾4.7 结束项目或阶段5. 项目范围管理启动:/规划:/5.1 规划范围管理5.2 收集…

36.【C语言】函数栈帧的创建和销毁

本文将解决以下问题 局部变量是怎么创建的&#xff1f; 为什么局部变量的值是随机值&#xff1f; 函数是怎么传参的&#xff1f;传参的顺序是怎样的&#xff1f; 形参和实参是什么关系&#xff1f; 函数调用是怎么做的&#xff1f; 函数调用是结束后怎么返回的&#xff1f; 本文…