TypeScript:抗量子非对称加密

问题描述 投票:0回答:0

我正在尝试使用用 TypeScript 编写的加密库。

2022年,NIST宣布入围四大 它认为“量子证明”的加密算法。

对于我们访问安全网站时使用的一般加密,NIST 有 选择了 CRYSTALS-Kyber 算法。

这是我能够找到的 CRYSTALS-Kyber 算法的 TypeScript 实现:

CRYSTALS Kyber 打字稿 KEM

NPM 页面:CRYSTALS Kyber Typescript KEM

当我尝试在我的 TypeScript 项目中使用它时,我遇到了两个问题,我想解决:

  1. 它只公开了

    KyberHandshake
    接口,但没有公开
    KyberService
    ,这是似乎进行加密/解密的实际类。 那么我如何使用
    KyberHandshake
    类或如何公开
    KyberService
    类,以便我可以将它们导入我的项目中,以便加密和解密文本?

  2. KyberService.decrypt
    方法是有道理的:它看起来像这样:
    decrypt(encryptedText, privateKey)
    。但是
    KyberService.encrypt
    方法看起来像这样:
    encrypt(publicKey)
    。砰!!! 那么我应该在哪里提供我想要加密的实际文本呢?

供参考,这里有一个PHP中类似的非对称加密API的例子。它看起来像这样:

$encrypted = encrypt($text, $public_key);
$decrypted = decrypt($encrypted, $private_key);
if ($text == $decrypted) print("Success")

现在上面的 PHP 代码确实有意义了。我通过为

encrypt
方法提供文本和公钥来加密文本。然后我通过提供带有加密文本和匹配私钥的
decrypt
方法来解密加密文本。

这让我摸不着头脑,为什么 TypeScript 库不提供类似的 API...

typescript encryption cryptography public-key-encryption post-quantum-cryptography
© www.soinside.com 2019 - 2024. All rights reserved.