Alv*_*vai 1 javascript webcrypto-api webassembly
一个WebCrypto API的主要好处是,它是远快于JS加密库.现在WebAssembly就在那里,一个高效的C++实现的WASM模块会胜过WebCrypto的AES吗?
即使WebAssembly实现可以胜过WebCrypto,我强烈建议不要使用自己的.WebCrypto具有您在使用WebAssembly时根本没有的平台知识,这意味着实现可以使其算法使用特定于ISA的指令,并确保您的加密不泄漏秘密.今天使用WebAssembly是不可能的.
您可能会认为"JIT知道平台,并且可以将我的加密代码与Make It Do The Thing进行模式匹配",但此时它可能会认识到您正在调用WebCrypto并使该调用更加快速.然后你运送更少的代码.
这是一篇文章,显示了不使用WebCrypto"从便携式代码中驱动密钥提取缓存攻击"时的秘密提取.
引用论文:
在JavaScript中执行加密操作的唯一安全方法是将它们委托给浏览器,以便可以使用本机代码实现来执行它们.实际上,现代浏览器配备了WebCrypto API [70],允许JavaScript执行一些加密操作
这适用于WebAssembly和JavaScript.