WebCryptoAPI与WebAssembly加密模块

Alv*_*vai 1 javascript webcrypto-api webassembly

一个WebCrypto API的主要好处是,它是快于JS加密库.现在WebAssembly就在那里,一个高效的C++实现的WASM模块会胜过WebCrypto的AES吗?

JF *_*ien 5

即使WebAssembly实现可以胜过WebCrypto,我强烈建议不要使用自己的.WebCrypto具有您在使用WebAssembly时根本没有的平台知识,这意味着实现可以使其算法使用特定于ISA的指令,并确保您的加密不泄漏秘密.今天使用WebAssembly是不可能的.

您可能会认为"JIT知道平台,并且可以将我的加密代码与Make It Do The Thing进行模式匹配",但此时它可能会认识到您正在调用WebCrypto并使该调用更加快速.然后你运送更少的代码.

这是一篇文章,显示了不使用WebCrypto"从便携式代码中驱动密钥提取缓存攻击"时的秘密提取.

引用论文:

在JavaScript中执行加密操作的唯一安全方法是将它们委托给浏览器,以便可以使用本机代码实现来执行它们.实际上,现代浏览器配备了WebCrypto API [70],允许JavaScript执行一些加密操作

这适用于WebAssembly和JavaScript.