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

首先给出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://xiahunao.cn/news/3280139.html

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

相关文章

freemodbus libmodbus

相比libmodbus, freeModbus看起来更舒服。 1. 文件与函数:FreeModbus每个文件函数都不是很多。客户端、服务端函数分开。相对每个函数功能比较明确 freeModbus mbfuncholding_m.c、mbfuncholding.c 函数一共就几个,只看函数列表就猜到函数功能 服务端…

数据库基础-认识数据库

文章目录 0.MySQL登录的基本介绍:1.数据库概念:2.见一见数据库3.主流数据库4.服务器,数据库和表之间的关系 0.MySQL登录的基本介绍: 1.数据库概念: 我们能看见mysqld,但是数据库还是没有看到。 2.见一见数…

SSRF-labs-master靶场

目录 file_get_content.php sql_connect.php download.php dns-spoofing.php dns_rebinding.php 访问链接 http://127.0.0.1/SSRF/# file_get_content.php 在编程语言中,有一些函数可以获取本地保存文件的内容。这些功能可能能够从远程URL以及本地文件 如果没…

Python 【机器学习】 进阶 之 【实战案例】房价数据中位数分析 | 1/2(含分析过程)

Python 【机器学习】 进阶 之 【实战案例】房价数据中位数分析 | 1/2(含分析过程) 目录 Python 【机器学习】 进阶 之 【实战案例】房价数据中位数分析 | 1/2(含分析过程) 一、简单介绍 二、机器学习 1、为什么使用机器学习&a…

免费【2024】springboot 厨房达人美食分享平台

博主介绍:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

体育赛事中的AI运用

7月24日,国际奥委会(IOC)举办了新闻发布会,宣布计划在2024年巴黎奥运会上展示一系列创新的人工智能(AI)技术。这次会议不仅是对即将到来的奥运赛事的预热,也深入探讨了人工智能在体育领域可能带…

9000字干货:从消息流平台Serverless之路,看Serverless标准演进

本文分享自华为云社区《9000字干货:从消息流平台Serverless之路,看Serverless标准演进》 这是一个最美好的时代。 随着以数字化升级为代表的第四次工业革命浪潮的席卷,企业正在不断地深化运用这一技术,构建一个又一个全连接&…

从零开始,快速打造API:揭秘 Python 库toapi的神奇力量

在开发过程中,我们常常需要从不同的网站获取数据,有时候还需要将这些数据转化成API接口提供给前端使用。传统的方法可能需要大量的时间和精力去编写代码。但今天我要介绍一个神奇的Python库——toapi,它可以让你在几分钟内创建API接口&#x…

Axure中继器:数据动态展示的强大工具

在Axure RP这一强大的原型设计工具中,中继器(Repeater)无疑是一颗璀璨的明珠。它以其独特的功能和广泛的应用场景,成为设计师在创建数据密集型原型时的首选。本文将深入探讨Axure中继器的特点、使用方式及其在数据动态展示中的重要…

arr[:,0] arr[...,0]

1. arr[:, 0]相当于arr[:,0,:] 表示取arr第0维全取,第一维只取0,后面的维度全取 arr torch.tensor([ [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]] ]) arr1arr[:, 0] print(a…

docker安装elasticsearch(es)最新版本

docker安装elasticsearch(es) docker官网 https://hub.docker.com/ https://www.cnblogs.com/balloon72/p/13177872.html 1、拉取最新项目elasticsearch docker pull elasticsearch:8.14.3lscpu 查看架构 2、构建环境 mkdir -p /data/elasticsear…

创建完整的APP页面

完整的页面创建过程包括三个步骤 在layout目录下创建XML文件 创建与XML文件对应的Java代码 在AndroidMainfest.xml(清单文件)中注册页面配 一步到位的activity创建 跳转:意图 创建一个意图实例,使用setClass(&#…

【论文阅读】SAM 2:Segment Anything in Images and Videos

SAM 2:Segment Anything in Images and Videos 官方代码 论文地址 SAM 2:Segment Anything in Images and Videos SAM 2:Segment Anything in Images and Videos摘要引言模型整体介绍各个模块Image encoderMemory attentionPrompt encoder a…

自写Json转换工具

前面写了简单的API测试工具ApiTools,返回的json有时需要做很多转换,于是开发了这个工具。 功能包括 1、json字符串转为表格,可以直观的展示,也可以复制,并支持转换后的表格点击列头进行排序,比较方便地定…

C++ set、map、multiset和multimap容器

目录 前言 1. 关联式容器和序列式容器 关联式容器 序列式容器 主要区别 2. 键值对 2. 树形结构的关联式容器 2.1 set 2.1.1 介绍 2.1.2 构造函数 2.1.3 迭代器 2.1.4 修改操作 2.1.5 容量相关 2.2 multiset 2.3 map 2.3.1 介绍 2.3.2 构造函数 2.3.3 迭代器 …

Gooxi荣获2024年深圳市计算机行业协会最具成长奖

近日,由深圳市计算机行业协会举办的2024年度深圳市计算机行业协会年中工作会议圆满落幕。本次会议邀请了多位行业专家以及深圳地区的理事会成员、企业家参会。会议的重点是总结上半年的经验,分析行业热点与痛点,探讨以新质生产力促进高质量发…

一行Python代码实现神奇效果:创意编程实例

文末赠免费精品编程资料~~ 1. 基础中的魔法:打印艺术 目标:用一行代码打印出一个简单的图案,比如心形。 print( .join([**i for i in range(1, 6)] [ *4] [**i for i in range(5, 0, -1)]))解析: 我们利用列表推导式生成两部…

项目:基于gRPC进行项目的微服务架构改造

文章目录 写在前面基本使用封装客户端封装服务端Zookeeper 写在前面 最近学了一下gRPC进行远程调用的原理,所以把这个项目改造成了微服务分布式的架构,今天也是基本实现好了,代码已提交 这里补充一下文档吧,也算记录一下整个过程…

2024 年最新 windows 操作系统搭建部署 nginx 服务器应用详细教程(更新中)

nginx 服务器概述 Nginx 是一款高性能的 HTTP 和 反向代理 服务器,同时是一个 IMAP / POP3 / SMTP 代理服务器。Nginx 凭借其高性能、稳定性、丰富的功能集、简单的配置和低资源消耗而闻名。 浏览 nginx 官网:https://nginx.org/ Nginx 应用场景 静态…

Windows11安装MongoDB7.0.12详细教程

下载 地址:https://www.mongodb.com/try/download/community 我使用的是迅雷下载: 安装 选择自定义安装: 选择安装目录: 开始安装: 这个玩意会卡比较长的时间: 最后这一步如果没有科学上网&#…