
美国国家标准与技术研究院(NIST)选择了第一批旨在抵御未来量子计算机攻击的加密算法,这些算法被设计成能够抵御未来量子计算机的攻击,这种攻击可能会破解用于保护隐私的密码安全,比如网上银行和电子邮件等软件。这四种选定的加密算法将成为NIST后量子加密标准的一部分,预计将在两年内最终确定。
美国商务部长Gina M. Raimondo表示,“今天的公告是保护我们敏感数据免受未来量子计算机网络攻击的一个重要里程碑,由于NIST的专业知识和对尖端技术的承诺,我们能够采取必要的步骤来确保电子信息的安全,这样美国企业可以继续创新,同时保持其客户的信任和信心。”
在此之前,NIST曾在2016年呼吁全球密码学家设计并审查加密方法,以抵御来自未来量子计算机的攻击,这种计算机比目前相对有限的计算机更强大,此次选择标志着后量子密码标准化项目最终阶段的开始。

加密算法设计用于两个主要方式:一般加密,用于保护通过公共网络交换的信息,还有数字签名,用于身份验证,这四种算法都是由多个国家和机构的专家合作创建的。
对于我们访问安全网站时使用的一般加密,NIST 选择了 CRYSTALS-Kyber 算法,优点之一是相对较小的加密密钥,双方可以轻松交换,以及它的运行速度。
对于数字签名,通常在我们需要在数字交易中验证身份或远程签署文件时使用,NIST选择了三种算法CRYSTALS-Dilithium、FALCON和SPHINCS+。NIST推荐CRYSTALS-Dilithium作为主要算法,FALCON用于需要比Dilithium提供的更小的签名的应用,第三种,SPHINCS+,比其他两种算法更大更慢,但它作为一种备用算法很有价值,主要原因是它基于一种与NIST其他三种选择不同的数学方法。
所选的三个算法基于一系列称为结构化格的数学问题,而SPHINCS+使用散列函数,仍在考虑中的另外四种算法是为一般加密而设计的,它们的方法中不使用结构化格或散列函数。
在标准制定过程中,NIST鼓励安全专家探索新的算法,并考虑他们的应用将如何使用这些算法,但目前还不能将其嵌入到他们的系统中,因为在标准最终确定之前,这些算法可能会有轻微的变化。

另外四种算法正在考虑纳入该标准,NIST计划在未来的某一天宣布该轮的最终结果,另外四种是:BIKE、Classic McEliece、HQC、SIKE,NIST分两个阶段宣布其选择,因为需要各种强大的防御工具,正如密码学家从NIST的工作之初就认识到的,有不同的系统和任务使用加密,一个有用的标准将提供针对不同情况设计的解决方案,使用不同的加密方法,并为每个使用情况提供一个以上的算法,以防一个算法被证明有漏洞。
“我们的后量子密码学项目充分利用了全世界密码学领域的顶尖人才,产生了这第一批抗量子算法,这将导致一个标准,并大大增加我们数字信息的安全性。” -NIST主任Laurie E. Locascio
加密技术利用数学来保护敏感的电子信息,包括我们浏览的安全网站和发送的电子邮件,广泛使用的公钥加密系统,所依赖的数学问题即使是速度最快的传统计算机也难以解决,这确保了这些网站和信息不会被不受欢迎的第三方访问。
然而,一台足够强大的量子计算机,它的技术将不同于我们今天拥有的传统计算机,可以快速解决这些数学问题,击败加密系统,为了应对这一威胁,四种抗量子算法依赖于传统计算机和量子计算机都难以解决的数学问题,从而保护现在和未来的隐私。
相关链接
[1].https://thequantuminsider.com/2022/07/05/nist-announces-first-four-quantum-resistant-cryptographic-algorithms/
[2].https://csrc.nist.gov/Projects/post-quantum-cryptography/round-4-submissions
end
文章来源:量子创投界
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:
目录一.加解密算法数字签名对称加密DES(DataEncryptionStandard)3DES(TripleDES)AES(AdvancedEncryptionStandard)RSA加密法DSA(DigitalSignatureAlgorithm)ECC(EllipticCurvesCryptography)非对称加密签名与加密过程非对称加密的应用对称加密与非对称加密的结合二.数字证书图解一.加解密算法加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非
有没有办法在Rails中为确认字段自定义消息?例如在设计中我必须输入密码和password_confirmation并且错误消息是:Passwordconfirmationdoesn'tmatchPassword我可以更改事件记录语言环境消息(“不匹配”),但它会在该语言环境消息的开头和结尾输出密码确认和密码,所以我得到如下内容:"PasswordconfirmationmustmatchPassword"有没有办法将其更改为不同的字符串?PasswordconfirmationandPasswordmustmatch.编辑另一件事是拥有完全自定义的消息,例如:'Setpassword
我正在尝试对某些帖子的评论使用简单的身份验证。用户使用即时ID和密码输入评论我使用“bcrypt”gem将密码存储在数据库中。在comments_controller.rb中像这样@comment=Comment.new(comment_params)bcrypted_pwd=BCrypt::Password.create(@comment.user_pwd)@comment.user_pwd=bcrypted_pwd当用户想要删除他们的评论时,我使用data-confirm-modalgem来确认数据在这部分,我必须解密用户输入的密码以与数据库中的加密密码进行比较我怎样才能解密密码,
我有一个允许更新用户记录的表单。它包含:password和:password_confirmation字段,但我不希望在数据库中已存储加密密码时对它们运行验证。View文件中的字段:'ConfirmPassword'%>在互联网上搜索时,我发现了这段代码,我认为它是针对以前版本的Ruby/Rails的。(我会把它放在我的用户模型中。)validates_presence_of:password,:on=>create由于我的用户模型中密码验证的语法不同(如下),我对我需要的语法感到困惑。validates:password,:presence=>true,:confirmation=>
我正在使用devise,当用户更改密码时,网站会将他们注销。我在网上读到,添加sign_in可以解决问题但不起作用,并且当密码更改时用户会注销。这是我的代码if@user.errors[:base].empty?and@user.update_attributes(params[:user])sign_in(current_user,:bypass=>true)flash[:success]="Useraccounthasbeensuccessfullyupdated"redirect_toedit_user_path(params[:site_id],@user)elserender
如果我构建了一个应用程序来访问来自Gmail、Twitter和Facebook的一些数据,并且我希望用户只需输入一次他们的身份验证信息,并且在几天或几周后重置,那会怎样是在Ruby中动态执行此操作的最佳方法吗?我看到很多人只是拥有他们客户/用户凭证的配置文件,如下所示:gmail_account:username:myClientpassword:myClientsPassword这看起来a)非常不安全,b)如果我想为成千上万的用户存储此类信息,它就无法工作。推荐的方法是什么?我希望能够在这些服务之上构建一个界面,因此每次用户进行交易时都必须输入凭据是不可行的。
尝试从我的AngularJS端将数据发布到Rails服务器时出现问题。服务器错误:ActionController::RoutingError(Noroutematches[OPTIONS]"/users"):actionpack(4.1.9)lib/action_dispatch/middleware/debug_exceptions.rb:21:in`call'actionpack(4.1.9)lib/action_dispatch/middleware/show_exceptions.rb:30:in`call'railties(4.1.9)lib/rails/rack/logg
1.问题描述使用Python的turtle(海龟绘图)模块提供的函数绘制直线。2.问题分析一幅复杂的图形通常都可以由点、直线、三角形、矩形、平行四边形、圆、椭圆和圆弧等基本图形组成。其中的三角形、矩形、平行四边形又可以由直线组成,而直线又是由两个点确定的。我们使用Python的turtle模块所提供的函数来绘制直线。在使用之前我们先介绍一下turtle模块的相关知识点。turtle模块提供面向对象和面向过程两种形式的海龟绘图基本组件。面向对象的接口类如下:1)TurtleScreen类:定义图形窗口作为绘图海龟的运动场。它的构造器需要一个tkinter.Canvas或ScrolledCanva