常用椭圆曲线介绍

2023-11-13

chat-gpt生成,对应python的miracl/core/python库

ED系列

一、ED25519
  • ED25519使用的椭圆曲线是Curve25519,它是一种高效且安全的椭圆曲线,由Daniel J. Bernstein等人设计。
  • ED25519的密钥长度为256位,提供了128位的安全性。
  • ED25519可以用于生成密钥对、进行数字签名和验证签名。
    由于其高效性和安全性,ED25519在现代加密领域广泛使用,特别是在密码学签名方案中。
二、ED448
  • ED448也使用了Edwards-curve Digital Signature Algorithm (EdDSA),但使用了更大的448位的椭圆曲线,也由Daniel J. Bernstein等人设计。
  • ED448的密钥长度为456位,提供了228位的安全性。
  • ED448同样可以用于生成密钥对、进行数字签名和验证签名,但相比于ED25519,ED448提供了更高的安全强度。
  • ED448通常在那些需要更高安全性的应用中使用,但可能会带来更大的计算开销。

当谈论密钥长度和安全等级时,通常指的是椭圆曲线密码学中的椭圆曲线参数。下面是NIST P-256、NIST P-384和NIST P-521的密钥长度和安全等级位数:

NIST P系列

三、NIST P-256:

密钥长度:256位(32字节)
安全等级位数:128位(因为密钥长度的一半)

四、NIST P-384:

密钥长度:384位(48字节)
安全等级位数:192位(因为密钥长度的一半)

五、NIST P-521:

密钥长度:521位(66字节)
安全等级位数:256位(因为密钥长度的一半)
安全等级位数是指对称密码学中的密钥长度,其中理论上攻击算法的运行时间与密钥长度的指数成正比。例如,128位的安全等级意味着攻击者需要2^128次操作来成功地破解加密或计算出密钥。这种攻击是不可行的,因为其运行时间将远远超过目前技术的能力。

注意:密钥长度和安全等级位数之间并不是线性关系,128位的安全等级并不意味着密钥长度为128位。在椭圆曲线密码学中,密钥长度通常是安全等级的两倍。

对于大多数应用来说,NIST P-256已经提供了足够的安全性。而NIST P-384和NIST P-521提供了更高的安全强度,但同时也可能导致更大的计算开销。选择合适的曲线取决于特定应用的需求和性能要求。

三、 BLS12系列

BLS12-381、BLS12-383和BLS12-443是三种不同的椭圆曲线密码学中的椭圆曲线,用于配对密码学和签名方案。它们的区别在于它们的位数、安全性和性能等方面。

BLS12-381:

位数:381位
安全性:约128位安全等级
性能:相对较高的性能,适用于大多数应用。

BLS12-383:

位数:383位
安全性:约191位安全等级
性能:略低于BLS12-381,但依然具有良好的性能。

BLS12-443:

位数:443位
安全性:约221位安全等级
性能:相对较低的性能,但提供更高的安全强度。
这些曲线中的数字表示椭圆曲线的位数,而安全性等级位数表示椭圆曲线提供的安全强度。安全性等级位数的一般规则是,安全性等级的位数应大于或等于密码学中所需的对称密钥长度的两倍,以保证足够的安全性。

因此,BLS12-443提供了最高的安全强度,但性能相对较低。BLS12-381提供了适中的安全性和性能,对于大多数应用来说是一个很好的选择。而BLS12-383在安全性和性能之间取得了平衡。

在选择椭圆曲线时,需要根据具体应用的安全需求、性能要求和资源限制来进行权衡。大多数情况下,BLS12-381已经提供了足够的安全性和性能,是一个被广泛采用的选择。

BN系列

根据您提供的信息,有两个"bn254"并没有提到"bn462",让我们来澄清一下:

BN254:
  • 位数:254位
  • 安全性:约128位安全等级
  • 性能:较高的性能,适用于大多数应用。
  • 曲线特征:BN254是一种特定类型的椭圆曲线,即巴拉巴拉-那乔-斯特林(Barreto-Naehrig)曲线。它在配对密码学中被广泛应用,例如在椭圆曲线密码和身份基于密码学中。
BN254a:
  • 位数:254位
  • 安全性:约128位安全等级
  • 性能:较高的性能,类似于BN254。
  • 曲线特征:BN254a是BN254曲线的一种变体,它提供了更快的加法运算,使得某些计算更加高效。
BN462:
  • 位数:462位
  • 安全性:约231位安全等级
  • 性能:相对较低的性能,但提供更高的安全强度。
  • 曲线特征:BN462是一种类似于BN254的巴拉巴拉-那乔-斯特林曲线,但拥有更大的位数,从而提供更高的安全性。

BN254和BN254a是非常相似的椭圆曲线,它们都是BN系列曲线的一部分。在安全性和性能方面,BN254和BN254a都提供了较高的安全性和良好的性能,适合大多数应用。而BN462则提供了更高的安全强度,但可能导致更大的计算开销。

在选择椭圆曲线时,需要根据具体应用的安全需求、性能要求和资源限制来进行权衡。通常情况下,BN254和BN254a已经提供了足够的安全性和性能,是被广泛采用的选择。只有在对更高的安全强度有特殊要求时,才会考虑使用BN462。

sec256k1

secp256k1是另一种椭圆曲线密码学中的椭圆曲线,与之前提到的NIST P-256、BN254等曲线不同,它是比特币和其他加密货币所使用的公钥密码学中的一种椭圆曲线。

secp256k1的参数如下:

位数:256位
安全性:约128位安全等级
曲线方程:y^2 = x^3 + 7
基点G:在secp256k1中,G是一个椭圆曲线上的基点,它的坐标为(x, y)。
secp256k1是比特币中用于生成公钥和私钥,并进行数字签名和验证签名的曲线。比特币的地址、交易和签名都依赖于secp256k1椭圆曲线的特性。由于比特币的广泛应用,secp256k1成为了公众所熟知的椭圆曲线之一。

secp256k1的安全性在椭圆曲线密码学中是相当高的,提供了足够的安全强度,目前没有已知的有效攻击手段。然而,尽管secp256k1在比特币中被广泛应用,它并非NIST标准曲线,因此在其他领域应用时,需要考虑安全性和可信度方面的因素。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

常用椭圆曲线介绍 的相关文章

  • 使用Hypothesis生成测试数据

    Hypothesis是Python的一个高级测试库 它允许编写 测试用例 时参数化 然后生成使测试失败的简单易懂的测试数据 可以用更少的工作在代码中发现更多的bug 安装 pip install hypothesis 如何设计 测试数据 通
  • 基于成本和服务质量考虑的不确定性下,电动汽车充电网络基础设施需求预测和迭代优化的分层框架研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 【CTF必看】从零开始的CTF学习路线(超详细),让你从小白进阶成大神!

    最近很多朋友在后台私信我 问应该怎么入门CTF 个人认为入门CTF之前大家应该先了解到底 什么是CTF 而你 学CTF的目的又到底是什么 其次便是最好具备相应的编程能力 若是完全不具备这些能力极有可能直接被劝退 毕竟比赛的时候动不动写个脚本
  • 信号浪涌保护器的原理和行业应用方案

    信号浪涌保护器 Surge Protective Device 简称SPD 是一种用于限制信号线路中瞬态过电压和分泄浪涌电流的防雷装置 主要用于保护各类信号线路及设备的防雷安全 信号浪涌保护器的原理是利用气体放电管 压敏电阻 齐纳二极管等非
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • 用户数据中的幸存者偏差

    幸存者偏差 Survivorship bias 是一种常见的逻辑谬误 意思是没有考虑到筛选的过程 忽略了被筛选掉的关键信息 只看到经过筛选后而产生的结果 先讲个故事 二战时 无奈德国空防强大 盟军战机损毁严重 于是军方便找来科学家统计飞机受
  • Python爬虫实战:IP代理池助你突破限制,高效采集数据

    当今互联网环境中 为了应对反爬虫 匿名访问或绕过某些地域限制等需求 IP代理池成为了一种常用的解决方案 IP代理池是一个包含多个可用代理IP地址的集合 可以通过该代理池随机选择可用IP地址来进行网络请求 IP代理池是一组可用的代理IP地址
  • 「网络安全渗透」如果你还不懂CSRF?这一篇让你彻底掌握

    1 什么是 CSRF 面试的时候的著名问题 谈一谈你对 CSRF 与 SSRF 区别的看法 这个问题 如果我们用非常通俗的语言讲的话 CSRF 更像是钓鱼的举动 是用户攻击用户的 而对于 SSRF 来说 是由服务器发出请求 用户 日 服务器
  • 远程控制软件安全吗?一文看懂ToDesk、RayLink、TeamViewer、Splashtop相关安全机制_raylink todesk

    目录 一 前言 二 远程控制中的安全威胁 三 国内外远控软件安全机制 ToDesk RayLink Teamviewer Splashtop 四 安全远控预防 一 前言 近期 远程控制话题再一次引起关注 据相关新闻报道 不少不法分子利用远程
  • 【网络安全】Facebook代码执行实现命令执行、敏感信息泄露

    部分网站开设编码练习 若安全配置不当 则代码执行将升级为操作系统命令注入 导致敏感信息泄露 本文仅分享命令执行相关知识 不承担任何由于传播 利用本文所发布内容而造成的任何后果及法律责任 未经许可 不可转载 文章目录 信息泄露 扩大危害 信息
  • 基于java的物业管理系统设计与实现

    基于java的物业管理系统设计与实现 I 引言 A 研究背景和动机 物业管理系统是指对物业进行管理和服务的系统 该系统需要具备对物业信息 人员信息 财务信息等进行管理的能力 基于Java的物业管理系统设计与实现的研究背景和动机主要体现在以下
  • 基于java的物业管理系统设计与实现

    基于java的物业管理系统设计与实现 I 引言 A 研究背景和动机 物业管理系统是指对物业进行管理和服务的系统 该系统需要具备对物业信息 人员信息 财务信息等进行管理的能力 基于Java的物业管理系统设计与实现的研究背景和动机主要体现在以下
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 网络安全(黑客)自学

    1 网络安全是什么 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 2 网络安全市场 一 是市场需求量高 二 则是发展相对成熟入门比较容易 3 所需要的
  • 揭秘网络世界的幕后密码——Wireshark网络协议分析软件

    在我们日常生活中 计算机和互联网已经成为不可或缺的一部分 然而 很少有人真正了解网络背后复杂的工作原理和通信协议 幸运的是 有一款强大而实用的软件 Wireshark 可以帮助我们深入了解网络世界的幕后密码 Wireshark是一款免费的网
  • 一台java服务器可以跑多少个线程?

    一台java服务器可以跑多少个线程 一台java服务器能跑多少个线程 这个问题来自一次线上报警如下图 超过了我们的配置阈值 打出jstack文件 通过IBM Thread and Monitor Dump Analyzer for Java
  • 全网最全(黑客)网络安全自学路线!熬夜两周整理(巨详细)

    学网络安全有什么好处 1 可以学习计算机方面的知识 在正式学习网络安全之前是一定要学习计算机基础知识的 只要把网络安全认真的学透了 那么计算机基础知识是没有任何问题的 操作系统 网络架构 网站容器 数据库 前端后端等等 可以说不想成为计算机
  • 为什么这么多人自学黑客,但没过多久就放弃了(掌握正确的网络安全学习路线很重要)

    网络安全是一个 不断发展和演变 的领域 以下是一个 网络安全学习路线规划 旨在帮助初学者快速入门和提高自己的技能 基础知识 网络安全的 基础知识 包括 网络结构 操作系统 编程语言 等方面的知识 学习这些基础知识对理解网络安全的原理和技术至
  • ESP10B 锁定连接器

    ESP10B 锁定连接器 ESP10B 电机新增内容包括双极型号标准 NEMA 尺寸 17 23 和 34 的步进电机现在包括输出扭矩范围从 61 盎司英寸到 1291 盎司英寸的双极型号 该电机配有带锁定连接器的尾缆 可轻松连接 每转可步

随机推荐

  • axios vue 加载效果动画_vue+elementUI+axios实现的全局loading加载动画

    在项目中 很多时候都需要loading加载动画来缓解用户的焦虑等待 比如说 我打开了一个页面 而这个页面有很多接口请求 但浏览器的请求并发数就那么几个 再加上如果网速不行的话 那么这时候 用户很可能就会纠结自己到底该不该留下来继续等待呢 所
  • VC编程获取MSN口令的代码

    MSN Messenger uses Windows Credential UI credui dll on WinXP 2003 Password Storage mechanism differs in these OSes so th
  • 微服务的终极杀器SpringCloudAlibaba组件精讲

    一 微服务 1 1 微服务简介 In short the microservice architectural style is an approach to developing a single application as a sui
  • 02_jQuery与Ajax

    jquery jquery的作用 他是js的库 处理html 事件 实现动画效果 方便的为网站提供AJAX交互 命名格式 ji 体积大 用于学习和debug使用 min js 压缩的文件 体积小 用于线上环境使用 使用方法 必须先在页面文件
  • 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)

    五种开源协议的比较 BSD Apache GPL LGPL MIT 本篇博客比较了常见的5种开源协议的异同 大家在为自己的代码选择协议的时候可以参考 现今存在的开源协议很多 而经过Open Source Initiative组织通过批准的开
  • 标准C读BMP图象的一个小代码

    include
  • TCP/IP UDP广播无法发送或接收

    TCP IP UDP广播无法发送或者接收数据 在看 TCP IP 网络编程 这本书的时候 看到广播那一节 跟着书上写代码 怎么写都不行 广播就是没法发送 接收 发送端一直在发送数据 接收端就是没有反应 对了好几遍源码 没有问题 实在是愁人
  • 深入浅出理解Paxos算法

    Paxos算法是莱斯利 兰伯特 英语 Leslie Lamport LaTeX中的 La 于1990年提出的一种基于消息传递且具有高度容错特性的一致性算法 Paxos算法一开始非常难以理解 但是一旦理解其实也并不难 之所以难理解其实是因为作
  • 远程服务器无密登入设置

    现在还在输密码进入服务器的话 如果频次高的话 显得就很浪费时间 实际上可以通过无密登陆服务器 只需要设置好ssh就可以 这样只要你打开你电脑的终端不管是Mac OS还是Linux输入ssh root 远程服务器IP 这个命令就会自动登陆到远
  • 如何保障数仓数据质量?

    有赞数据报表中心为商家提供了丰富的数据指标 包括30 页面 100 数据报表以及400 不同类型的数据指标 它们帮助商家更合理 科学地运营店铺 同时也直接提供分析决策方法供商家使用 并且 每天在跑的底层任务和涉及的数据表已经达到千级别 面对
  • 【Python 1-10】Python手把手教程之——一篇讲透if语句以及if语句的特殊用法

    作者 弗拉德 来源 弗拉德 公众号 fulade me if 简单示例 假设你有一个汽车列表 并想将其中每辆汽车的名称打印出来 对于大多数汽车 都应以首字母大写的方式打印其名称 但对于汽车名 bmw 应以全大写的方式打印 下面的代码遍历一个
  • 技术至简-7:2G/3G/4G/5G基站系统中混合调制的技术框架

    2G 3G 4G 5G基站系统并非采用单一的调制技术 是数字调制和模拟调制的综合 是QAM调制与IQ调制的综合 是幅度调制与相位调制的综合 1 调制模型 在此模型中 包含了三种调制 1 数字基带调制 PSK QAM调制 2 模拟基带调制 I
  • Git日常问题: 什么是LFS?及其错误解决办法

    文章目录 Git LFS 错误 Git LFS 解决办法 Git LFS 错误 本地已经存在一个git仓库 想将其推送到一个远程仓库 结果遇到了git lfs错误 打印如下 git remote rename origin old orig
  • 解决DCNv2在Linux上安装失败的问题

    项目场景 今天同学安装 DCN Deformable Convolutional Networks 可变形卷积网络 v2的 PyTorch 版本时遇到了很多问题 弄了将近一天也没解决 于是求助笔者帮忙解决 这里记录一下成功的解决方案 问题描
  • MATLAB算法实战应用案例精讲-【回归算法】XGBoost算法(附Java、Python和R语言代码)

    目录 前言 xgboost面试过程中几个高频问题 1 xgboost如何处理缺失值
  • 什么是JDBC?并写出JDBC的开发流程。

    JDBC Java DataBase Connectivity 直译为 java数据库连接 实际上jdbc是java中的一套和数据库交互的api application program interface 应用程序编程接口 因为java程序
  • 【uni-app】修改原生导航栏文字和文字样式

    修改文字 uni setNavigationBarTitle 这是修改后的导航栏文字 title 首页 修改文字颜色以及导航栏背景色 uni setNavigationBarColor frontColor ffffff 文字颜色 back
  • SystemVerilog-$cast详解

    cast在子类与父类之间的复制 1 子类cast给父类 cast father cls child cls 之前有提到 cast是将两个类型强制转换 cast A B 将B强制类型转换给A 应用在类上 就是句柄的强制赋值操作 那么在子类和父
  • Global Illumination_Screen-Space Directional Occlusion(SSDO)

    之前我们了解过AO SSAO HBAO 可参照之前文章Vulkan SSAO 屏幕空间环境光遮蔽 DirectX11进阶9 AO SSAO Particle System GPU Global Illumination Horizon Ba
  • 常用椭圆曲线介绍

    chat gpt生成 对应python的miracl core python库 ED系列 一 ED25519 ED25519使用的椭圆曲线是Curve25519 它是一种高效且安全的椭圆曲线 由Daniel J Bernstein等人设计