首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Ed25519中,为什么不让批验证和未批验证都遵循核因素验证方法而不是使用无因素的批处理?

在Ed25519中,为什么不让批验证和未批验证都遵循核因素验证方法而不是使用无因素的批处理?
EN

Cryptography用户
提问于 2022-09-13 03:07:05
回答 1查看 149关注 0票数 2

Ed25519在主群的素数阶子群中使用了一个复合阶椭圆曲线(带有辅助因子8)。签名操作应该使用来自素数级子群的生成器/基点。

有一些参数

曲线的阶是8.q,其中q是一个大素数。

a =标量/pvt密钥

B =基点,素数阶子群的生成元

A = a.B =公钥/verification密钥

在签名过程中,确定地生成一个秘密的r

那么,R = rB

k = Hash(R + A + M) \bmod q
s = r + ka \bmod q

\lbrace R, s \rbrace作为签名输出。

然而,验证过程依赖于一个检查,这在批验证和未批验证之间是不同的。

根据这个博客

批处理验证使用了一个核心因素公式。

[8]R = [8] ([s]B−[k]A)

Unbatched使用无cofactorless公式

R=([s]B−[k]A)

最初的博客解释了为什么批验证将验证,即使您使用非扭转安全的协因数清除,而未批处理将验证只有当您使用扭转安全的辅助因素清除。

这个来自CryptoSE的问答解释了差异&为什么cofactored更好。

这个预印还说

我们认为,只有单次和批处理的协因数检验是相互兼容的。其他组合(无因子单和无cofactored批处理;cofactored signle与cofactored批处理;cofactored-single和cofactored批处理)都是不兼容的。

我可以理解批验证和未批验证之间的其他区别(可以进行批处理优化)。然而,为什么两个批处理和未批处理都不使用核因素验证?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2022-09-13 04:01:48

考虑一下未批处理的无代码验证R\overset{?}{=} sB-kA,用于签名(R,s)

有7个不同的小扭转点,可以添加到R,以使它走出素数阶子群。(它是7,而不是8,因为第八点是无穷远点,在素数阶子群中)。

无论使用的是k值还是s值,都不可能通过无因素的单独验证。

然而,根据在执行无代码批处理验证时使用的随机标量的选择,批处理验证有时会通过,有时会失败,当批处理中至少有一个签名的点不在素数级子群中时。

因此,我们必须作出选择。我们是否应该:

  1. 允许不一致的批验证结果,以及由此产生的混乱?
  2. 防止不一致的批验证结果与协因子相乘,强制所有点进入素数阶子群。

备选案文2最有意义。它提供了一致性。您可能会争辩说,这是以成功验证签名为代价的,而这些签名不会使用无cofactorless的单独验证进行验证。然而,这种情况并没有看上去那么可怕。这并不是说不属于素数级子群的带有R值的签名是伪造的。只是它已经被调整了,所以它不会单独验证。它仍然是私钥a知识的充分的零知识证明.

正如您所链接的文件所解释的,个人验证最初是以无因素形式实现的原因:

伯恩斯坦等人的原始论文。并没有乘以8,这就是所谓的无因素验证。几乎所有的密码库都使用无因素版本来使验证速度更快。

无因子验证消除了点的标量乘8的需要,因此,如果您知道永远不需要执行任何批处理验证,那么就有意义了。

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

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

复制
相关文章
ownCloud的双因素身份验证
在本教程中,我将向您介绍如何使用privacyIDEA保护自己的Cloud安装,您可以使用它来管理用户的第二个身份验证因素。
子润先生
2021/06/14
1.8K0
【验证那些事儿】验证的重要性||如何减少人为因素
很多讲verilog的书把重点放在怎么写可综合的RTL代码,编写验证功能性的测试平台这一方面却讲的比较少,会导致很多人认为设计比验证更加重要,但是实际上这和现实并不相符。
空白的贝塔
2021/09/28
8140
如何绕过Duo的双因素身份验证
通常,在执行渗透测试时,一般通过远程桌面协议(RDP)连接到系统。我通常使用rdesktop或xfreerdp连接到主机,一旦获得凭据就可以为所欲为了。我最近碰到一件很操蛋的事就是一个我的客户端使用Duo保护对Windows上的RDP的访问。特别是当3389是唯一打开端口,上次发生这种情况时,我在Pen Test Partners上找到了Alex Lomas的一篇文章,详细的介绍了用来绕过这种情况的方法。
FB客服
2018/09/21
1.5K0
如何绕过Duo的双因素身份验证
Duo RDP双因素身份验证防护绕过
Duo与Microsoft Windows客户端和服务器操作系统集成,可以为远程桌面和本地登录添加2FA双因素身份验证,在国内注册时可能会出现Google reCAPTCHA人机验证显示不出来的情况。至于如何安装和配置2FA双因素身份验证就不详细介绍了,请移步官网:https://duo.com/docs/rdp。
安全小王子
2020/07/31
3.9K0
Duo RDP双因素身份验证防护绕过
Zabbix 7.0 LTS MFA 多因素身份验证
Zabbix 7.0 版本支持企业级 MFA多因素身份验证(MFA)认证,登录Zabbix 除了用户名和密码之外,还需提供了额外的安全层,增强Zabbix 前端的安全性。使用MFA,用户必须存在于Zabbix中,登录时提供Zabbix凭据同时还必须通过多因素身份验证证明自己的身份。
Kevin song
2024/06/11
4190
Zabbix 7.0 LTS MFA 多因素身份验证
如何为WordPress网站添加双因素身份验证
不管你是使用 WordPress建站, Magento 建站,在网站上线后,都不可避免的会受到各种恶意软件来登录你的网站后台,是不是有些提心吊胆呢?
晓得博客
2021/07/05
2.6K0
NPM启用双因素身份验证(2FA)
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ 最近几天突然发现邮箱多了这么一份邮件,往常都直接忽略掉了,今天需要王NPM仓库推一个版本的时候发现失败了,这才想起来看这份邮件的具体内容。大致意思就是为了保证是你自己在操作我们增加了一个动态验证码的功能。具体的启动流程写到了下面,未启用的来操作一下吧。 如何启用: 通过账号密码登录NPM; 点击个人头像找到Account选项,如下图: 找到Two Factor Authentication窗口,
前端小鑫同学
2022/12/26
7650
NPM启用双因素身份验证(2FA)
可绕过双因素验证!钓鱼即服务平台EvilProxy来了
Resecurity 的研究人员最近发现了一个新的网络钓鱼即服务(PhaaS)平台 EvilProxy,该平台正在暗网中大肆宣传。在其他表述中,也有叫做 Moloch 的。该平台与此前出现的网络钓鱼工具包存在某种关联,这些工具包由针对金融机构和电子商务公司发起攻击的著名攻击者开发。
FB客服
2022/11/14
1.2K0
可绕过双因素验证!钓鱼即服务平台EvilProxy来了
什么是双因素验证 2FA,如何用 Python 实现?
你说,加上短信验证码不就安全了,其实短信验证码也是不安全的,容易被拦截和伪造,SIM 卡也可以克隆,已经有案例,先伪造身份证,再申请一模一样的手机号码,把钱转走。
somenzz
2022/10/25
1.1K0
什么是双因素验证 2FA,如何用 Python 实现?
ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现
在简单了解了Unobtrusive JavaScript形式的验证在jQuery中的编程方式之后,我们来介绍ASP.NET MVC是如何利用它实现客户端验证的。服务端验证最终实现在相应的ModelValidator中,而最终的验证规则定义在相应的ValidationAttribute中;而客户端验证规则通过HtmlHelper<TModel>相应的扩展方法(比如TextBoxFor、EditorFor和EdidtorForModel等)出现在生成的被验证HTML元素中。毫无疑问,服务端验证和客户端验证必须采
蒋金楠
2018/01/15
7.1K0
验证方法-User guide验证法
针对用户的使用手册经常归纳出一些事先选好的操作方式。对于常用的初始化、正常处理、中断处理等给出了输入序列建议。
AsicWonder
2023/09/25
1730
验证方法-User guide验证法
为什么要使用验证集
大多数机器学习算法都有超参数,可以设置来控制算法的行为。超参数的值不是通过学习算法本身学习出来的(尽管我们可以设计一个嵌套的学习过程,一个学习算法为另一个学习算法学出最优超参数)。
狼啸风云
2019/08/14
1.3K0
laravel中如何实现验证码验证及使用
验证码 是防止恶意破解密码、刷票、论坛灌水、刷页的手段。验证码有 多种类型。 现在我给大家实现如何使用图片验证码,其原理是让用户输入一个扭曲变形的图片上所显示的文字或数字,扭曲变形是为了避免被光学字符识别软件(OCR)自动辨识。由于计算机无法识别验证码的图片,所以回答出问题的用户就可以被认为是人类。在这里$代表cmd命令行符号。
全栈程序员站长
2022/07/08
2.4K0
laravel中如何实现验证码验证及使用
TP6.0中的密码验证逻辑、验证器的使用
站长源码网 1. 场景一:只有一个密码框,并且是可选项,留空不修改密码,不留空则修改密码 2. 场景二:两个密码框,修改密码时有新密码、确认密码,新密码框不为空时,确认密码才验证 1. 场景一:只有一个密码框,并且是可选项,留空不修改密码,不留空则修改密码 ---- 编辑用户表单 <form action="" method="post"> 用户名 <input type="text" name="username" value="liang" readonly autocomplete="off"
很酷的站长
2023/02/17
1.7K0
TP6.0中的密码验证逻辑、验证器的使用
交叉验证_验证的三种方法
它的基本思想就是将原始数据(dataset)进行分组,一部分做为训练集来训练模型,另一部分做为测试集来评价模型。
全栈程序员站长
2022/09/20
2.6K0
交叉验证_验证的三种方法
简单实用:isPalindrome方法在密码验证中的应用
在信息安全领域中,密码验证是非常重要的一部分。一个好的密码应该有足够的复杂度,以防止被破解。而回文密码由于正读和反读都一样这样特殊的性质,具有很高的安全性,可以发挥很大的作用。在实际的密码策略中,我们可能会使用到回文判断算法的isPalindrome方法来判断用户输入的密码是否为回文字符串。如果用户输入的密码是回文字符串,那么就可以认为该密码是符合复杂性的要求的,可以将其保存到数据库中。如果用户输入的密码不是回文字符串,那么就可以提示用户重新输入符合要求的密码。
努力的阿飞
2023/12/01
1650
如何在Ubuntu 14.04上使用双因素身份验证保护您的WordPress帐户登录
安全性是运行WordPress网站最重要的方面之一。我们中的许多人都倾向于认为黑客不会打扰我们的网站,但实际上,未经授权的登录尝试是在公共互联网上运行服务器的常见部分。
彼岸轮回
2018/10/16
1.8K0
芯片验证方法之极限验证法
不管是做设计,还是验证,相信大家都会有一些review会议上被问一些刁钻的问题的经历。当然,与会者问这些不那么容易回答的问题并非有意为难,大多数时候只是纯粹的好奇心。
AsicWonder
2023/09/27
2300
芯片验证方法之极限验证法
AngularJS 的输入验证机制:内置验证器、自定义验证器和显示验证信息
AngularJS 是一款流行的前端JavaScript框架,提供了强大的表单处理功能。其中一个关键特性是输入验证,即对用户输入进行验证以确保数据的有效性和完整性。本文将详细介绍 AngularJS 的输入验证机制,包括内置验证器、自定义验证器和显示验证信息等内容。
网络技术联盟站
2023/07/05
2800
在lightgbm中使用交叉验证
防止过拟合的参数: max_depth 树的深度,不要设置的太大; num_leaves 应该小于 2^(max_depth),否则可能会导致过拟合; min_child_samples 较大的值可以避免生成一个过深的树, 避免过拟合,但有可能导致欠拟合; min_sum_hessian_in_leaf 设置较大防止过拟合; feature_fraction 和 bagging_fraction都可以降低过拟合; 正则化参数lambda_l1(reg_alpha), lambda_l2(reg_lambda)。
生信编程日常
2020/09/08
3.9K0

相似问题

使用ED25519扩展私钥生成和验证签名

10

如何遵循NaCl (钠)秘密盒库的验证和验证建议?

10

RFC 8032中描述的Ed25519签名验证

10

使用SAKKE进行签名/验证,而不是加密是否可行和安全?

10

为什么共同因素4和8在共同因素超过一个的情况下如此流行?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文