首页 > 编程知识 正文

vuejs(11有什么新功能)

时间:2023-05-04 21:26:13 阅读:97437 作者:2738

OpenPGP.js是一个实现OpenPGP标准的密码学库,最常用于电子邮件加密。

OpenPGP.js是一个实现OpenPGP标准的密码学库,最常用于电子邮件加密。质子邮件、Mailvelope和FlowCrypt都使用OpenPGP.js,这只是其中的一部分。也就是说,OpenPGP.js库加密了数百万用户的信息。

OpenPGP标准最早发布于20世纪90年代,和几乎所有东西一样,它需要维护和更新,以确保安全性和可用性。标准的“加密更新”正在进行中,它增加了现代加密算法,废除了过时的算法。为了提高可用性,各种电子邮件应用程序现在允许用户无缝地加密他们的通信,而无需管理他们的密钥或他们联系人的密钥。

OpenPGP.js于2014年首次发布,它基于一个名为GPG4Browsers的早期原型,该原型基于Herbert Hanewinkel(和其他贡献者)的几个脚本。OpenPGP.js的第二个版本发布于2016年,完全重新设计,使用Uint8Arrays代替字符串(这大大提高了它的性能),内部使用现代ES6模块代替CommonJS模块。第3版和第4版均于2018年发布,分别增加了对椭圆曲线密码(ECC)和stream的支持。

我和我的团队继续致力于OpenPGP.js,以确保它发展成为一个易于使用的强加密库。

00-1010在OpenPGP.js的第4版中,生成新密钥时默认使用RSA。虽然ECC更快更安全,但Curve25519在OpenPGP规范中还没有标准化。加密草案中包含Curve25519,预计在下一个版本的OpenPGP规范中会“原样”包含,所以OpenPGP.js第5版现在默认使用ECC生成密钥。

00-1010同样,虽然OpenPGP.js内部使用ES6模块已经很多年了,但是第四版仍然没有发布合适的ES6模块。相反,它只发布了一个universal Module Definition(UMD)模块,可以在浏览器和Node.js上运行在第5版中,这种情况发生了变化,为浏览器和Node.js发布了单独的模块(包括ES6和非ES6),这使得库用户可以更容易地在所有平台上导入OpenPGP.js,并且(在使用ES6模块时)只导入他们需要的部分。这主要是通过将构建系统切换到rollup来实现的。

1、默认的椭圆曲线加密

还有很多其他的安全改进。例如,1024位RSA密钥、ElGamal和DSA密钥被认为是不安全的,默认情况下会被拒绝。此外,版本4默认使用了AES加密,版本5现在完全拒绝默认使用弱算法进行加密,尽管公钥声称只支持弱算法。相反,它假设所有OpenPGP实现都支持AES(这种情况已经存在很长时间了)。

2、只导入你需要的模块

展望未来,还有一些安全方面的改进需要做。用于识别公钥的密钥指纹仍然使用SHA-1,尽管计划在加密技术更新中进行修复。同时,建议使用不同的方法来确定用于加密的任何公钥的真实性,例如,使用建议的网络密钥目录(WKD)标准直接从收件人的域中获取整个密钥,这已经由各种电子邮件提供商实现。OpenPGP.js第4版内置了WKD支持,但它是第5版中的一个独立模块,以保持主库的简单性。

同样,当信息或文件用密码而不是公钥加密时(例如,在使用OpenPGP进行电子邮件加密时不常见,但在使用OpenPGP进行加密备份时更常见),通过使用相对较弱的密钥派生函数(KDF),将密码转换为对称密钥。因此,建议应用程序在将用户密码传递给OpenPGP.js之前,先传递一个强大的KDF,如Argon2或scrypt,希望加密刷新草案中包含这些算法中的一个,在OpenPGP.js的未来版本中实现

00-1010但是现在,OpenPGP.js第五版已经发布到npm仓库了。如果你喜欢,你可以随时尝试!欢迎在GitHub的讨论板上反馈。但是,请注意,虽然OpenPGP.js是一个通用的加密库,但它的主要用途是在需要与OpenPGP规范兼容的时候(例如,在发送或接收PGP加密的电子邮件时)。对于其他用例,不同的库可能是更合适或更好的选择。当然,一般来说,在尝试使用任何加密技术时都要小心。

感谢阅读,这是保护电子邮件的未来!

via : https://opensource.com/article/21/10/openpgpjs

作者:丹尼尔惠根斯主题:lujun9972译者:geekpi校对:wxy

本文由LCTT原创,Linux中国有幸推出。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。