首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebCrypto算法及其与其他密码库的区别

WebCrypto算法及其与其他密码库的区别
EN

Security用户
提问于 2015-12-16 15:51:43
回答 2查看 771关注 0票数 3

我在看来自WebCrypto的W3C密码库。看起来只支持一些密码系统,包括AES-CBC、AES-CTR、AES-GCM和RSA-OAEP.

https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/encrypt

如果我们想要一个不同的密码系统,这是否意味着我们运气不好?我正在研究同态加密,并希望使用Pallier和保持顺序的加密。

一个相关的问题是,为什么新的webcrypto比使用现有的密码API (如斯坦福密码库)更好?Stanford库公开了更多有用的原语,使实现任意密码系统成为可能,比如这个Pallier实现https://mhe.github.io/jspaillier/

EN

回答 2

Security用户

回答已采纳

发布于 2016-02-15 14:13:25

我在看来自WebCrypto的W3C密码库。看起来只支持一些密码系统,包括AES-CBC、AES-CTR、AES-GCM和RSA-OAEP.

首先,理解为什么我们有Web标准是很重要的。它并不是为了任何可能的目的而设计成一个包罗万象的密码库,而是专门创建一个安全的、互操作的密码API来处理一组特定的用例,这样应用程序开发人员就可以合理地确信指定API的安全实现可以在多个用户代理之间使用。

如果我们想要一个不同的密码系统,这是否意味着我们运气不好?

Web仍在开发中,因此在最后确定之前,无法保证。但是,我要说的是,在这一点上,由于缺乏互操作的实现,系统和用例被移除的可能性更大,而不是增加的。

一个相关的问题是,为什么新的webcrypto比使用现有的密码API (如斯坦福密码库)更好?

它更好,因为它是内置在用户代理中的。这意味着它不能被MitM篡改,一个应用程序不能向不同的用户提供不同的版本,等等。这意味着很难颠覆,而且您只需要来自用户代理的安全保证,而不是来自用户代理和密码库的安全保证。也就是说,如果它不做你需要的事情,那么它就不会做你需要的事情,你唯一的选择就是看看其他的选择。

票数 2
EN

Security用户

发布于 2015-12-17 11:23:45

听起来你想要在不同的抽象层次上工作。通常的开发人员用例是非常高级的。想想“让别人读不懂,除了鲍勃”。或者“看看这是不是爱丽丝送的”。如果库提供的API太低,人们会犯错误(如“什么是IV?好的,将其设置为所有零”)。

但是,在您的情况下,您实际上正在开发这个高级功能,您需要对您正在做的事情进行更细粒度的控制。因此,对于面向最终用户的API不会为您提供所需的所有旋钮和句柄(例如,更奇异的算法),我不会感到惊讶。

回答第二个问题,我不认为它更好,它只是不同的,可能有不同的目的。

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

https://security.stackexchange.com/questions/108325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档