Advertisement

SP800-90B 熵评估:SP800-90B Entropy Assessment C++程序包实现...

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:ZIP


简介:
本C++程序包旨在执行NIST SP 800-90B标准中的熵评估,确保随机数生成器的随机性质量符合安全要求。 密码随机位生成器(RBG),也称为随机数生成器(RNG),需要一个噪声源来产生具有某种程度不可预测性的数字输出,这种不可预测性用最小熵表示。提供了一种评估熵源质量的标准化方法。 免责声明: 美国国家标准技术研究院开发的软件是一项公共服务。您可以在任何形式的介质中使用、复制和分发该软件副本,并且必须保留本完整的完整说明不变。您可以改进、修改并创建衍生作品,也可以分发这些更改或作品。所有修改后的版本都应附有声明指出进行了变更以及具体日期与性质信息。 问题: 此存储库中的问题仅限于针对作为SP800-90B独立实现的代码库相关的问题和疑问。对于规范本身存在的任何疑问或者意见,应当直接向文档作者提出反馈。 要求: 该软件包需要C++11编译器支持,并且使用OpenMP伪指令进行多线程处理,因此建议使用的编译器能够兼容OpenMP扩展功能。我们推荐使用GCC作为首选编译环境来进行开发工作。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • SP800-90B SP800-90B Entropy Assessment C++...
    优质
    本C++程序包旨在执行NIST SP 800-90B标准中的熵评估,确保随机数生成器的随机性质量符合安全要求。 密码随机位生成器(RBG),也称为随机数生成器(RNG),需要一个噪声源来产生具有某种程度不可预测性的数字输出,这种不可预测性用最小熵表示。提供了一种评估熵源质量的标准化方法。 免责声明: 美国国家标准技术研究院开发的软件是一项公共服务。您可以在任何形式的介质中使用、复制和分发该软件副本,并且必须保留本完整的完整说明不变。您可以改进、修改并创建衍生作品,也可以分发这些更改或作品。所有修改后的版本都应附有声明指出进行了变更以及具体日期与性质信息。 问题: 此存储库中的问题仅限于针对作为SP800-90B独立实现的代码库相关的问题和疑问。对于规范本身存在的任何疑问或者意见,应当直接向文档作者提出反馈。 要求: 该软件包需要C++11编译器支持,并且使用OpenMP伪指令进行多线程处理,因此建议使用的编译器能够兼容OpenMP扩展功能。我们推荐使用GCC作为首选编译环境来进行开发工作。
  • 查找最小值的MATLAB代码 - FIPS SP800-90B MATLAB: NIST SP800-90B统计测试(2...)
    优质
    本文提供了一段用于查找最小值的MATLAB代码,并简要介绍了如何实现NIST SP800-90B统计测试,帮助用户理解和应用这些技术。 寻找最小数的Matlab代码自述文件 2018年7月30日 版权所有:Crypto4A Technologies Inc. 2018 介绍: 本目录包含一组用于表征NIST SP800-90B(2018年1月)中提出的噪声源熵的Matlab函数。SP800-90B文档中的每个独立同分布(IID)测试,包括附加的卡方检验和最小熵估计,已在Matlab中实现,并通过二进制数据进行了验证。 此外还提供了一种快速但不够精确的方法来判断给定的数据集是否符合IID特性。 读者应参考NIST SP800-90B文档以获取关于本库内统计测试的更多详情。文中提及的所有xyz部分,均指代SP800-90B中相应章节的内容。 如何使用这些工具: 要获得经过验证版本的Matlab及配套工具集(其他版本未经检验),请确保安装了以下软件: - Matlab 2018a - distrib_computing_toolbox 和 statistics_toolbox 如需使用read_bin_files和independance_test_binary功能,还需具备通信系统工具箱中的bi2de与de函数。
  • NIST.SP800-90B 源代码
    优质
    本简介探讨了依据NIST SP 800-90B标准对熵源代码进行评估的方法与实践,确保随机数生成器的安全性和可靠性。 随机数生成在信息安全领域具有至关重要的作用;其质量直接影响到密码学算法的安全性、加密通信的可靠性以及各种安全协议的执行效率。美国国家标准与技术研究所(NIST)发布的SP800-90B标准,为评估随机数生成器(RNG)的熵提供了严格的标准和方法。本段落将深入探讨该标准的源代码实现,并重点关注近似熵和最小熵两个关键概念。 NIST SP800-90B标准是关于确定随机数源熵质量的一套准则,旨在确保生成的随机数具有足够的不可预测性和随机性。这个标准适用于硬件和软件随机数生成器,无论是真随机数生成器(TRNG)还是伪随机数生成器(PRNG)。源代码的实现有助于开发者和研究人员对RNG进行实际的熵评估,确保它们满足安全性要求。 1. 近似熵 近似熵测试是一种统计测试,用于检测数据序列的自相似性和复杂性。它通过比较不同长度子序列之间的相关性来评估数据的随机性。如果数据具有较高的近似熵,则其在不同尺度上看起来都是随机的,这通常意味着它有较高的熵。在NIST SP800-90B源代码中,近似熵的计算涉及多个步骤,包括选择子序列长度、计算相关系数以及设定阈值以判断数据的随机性。 2. 最小熵 最小熵是指在所有可能的数据分布中,熵的最小值。在RNG评估中,最小熵测试用于确认生成的随机数序列是否具有足够的不确定性。如果一个RNG产生的序列最小熵低于预期,则它可能存在可预测性,从而影响其安全性。NIST SP800-90B源代码会执行一系列测试以确定生成的随机数序列的最小熵是否达到预定的安全水平。 源代码中的实现包括了数据预处理、统计测试、阈值设置和结果判定等模块。这些模块紧密协作,以系统化的方式对RNG的熵进行详尽分析。预处理步骤可能包括去除影响测试结果的偏置或冗余信息;统计测试则采用一系列如直方图分析、χ²检验等方法检测数据的统计特性;阈值设置是为了定义“足够随机”的界限;结果判定根据测试结果确定RNG的熵是否满足安全要求。 通过NIST SP800-90B标准源代码,我们可以深入了解如何量化和评估随机数生成器的熵。这对于确保网络安全和隐私至关重要,并为开发者提供了实现自定义RNG评估工具的基础,以便更好地理解和改进随机数生成技术。 总之,理解并应用NIST SP800-90B标准对于任何涉及随机数生成的项目来说都是至关重要的,因为这有助于保证其在密码学应用中的安全性和可靠性。
  • NIST.SP.800-90B文档.pdf
    优质
    《NIST.SP.800-90B文档》是美国国家标准技术研究院(NIST)发布的一份重要安全标准文件,专注于随机数生成需求和方法,旨在保障信息系统安全性。 随机数熵源的测试项目包括了各种测试方法及示例。这些内容涵盖了最小熵元的计算、独立同分布(IID)测试以及非独立同分布(Non-IID)测试。
  • NIST SP800-56A文档.pdf
    优质
    《NIST SP800-56A》是由美国国家标准与技术研究院发布的关于密钥建立的标准文件,提供了基于公共密码及对称密码算法生成和衍生密钥的技术指南。 许多美国政府的信息技术(IT)系统需要采用成熟的加密方案来保护处理数据的完整性和机密性。例如,《联邦信息处理标准》(FIPS) 197定义的高级加密标准(AES)、《国家信息安全局特别出版物》(NIST SP) 800-67规定的三重DES以及在FIPS 198中定义的HMAC都是提供此类服务的理想选择。这些算法已经标准化,以促进系统间的互操作性。然而,使用这些算法需要提前建立共享的秘密密钥材料。信任信使可以手动分发这种秘密密钥材料。但是,随着使用系统的实体数量的增长,分配秘密密钥材料的工作量可能会迅速增加。因此,在支持现代美国政府应用所用的加密算法时,自动化密钥建立方案是必不可少的。
  • NIST SP800-115.pdf 文件
    优质
    《NIST SP800-115》是美国国家标准与技术研究院(NIST)发布的一份关于计算机安全事件处理指南的技术报告。 本段落件旨在为组织提供有关规划和技术信息安全测试与评估的指导,并分析结果、制定缓解策略。它提供了关于设计、实施和维护技术安全测试及评估流程的实际建议,可用于多种目的——例如发现系统或网络中的漏洞以及验证是否符合政策或其他要求。这份指南并不打算全面介绍信息安全管理测试或评估项目,而是概述了技术安全测试与评估的关键要素,并着重于特定方法的技术细节及其优缺点和使用推荐。本段落件取代了NIST特别出版物800-42《关于网络安全性测试的指导》。
  • NIST SP800-82 中文版
    优质
    《NIST SP800-82 中文版》是美国国家标准与技术研究院(NIST)发布的网络安全关键文档SP800-82的中文翻译版本,为基础设施运营商提供针对工业控制系统的安全指南和最佳实践。 《工业控制系统安全指南》为建立安全的工业控制系统(ICS)提供了指导。这些系统包括监控与数据采集(SCADA)、分布式控制(DCS),以及其他在各类行业如石油、天然气化工、运输、制药造纸、食品饮料以及离散制造(例如汽车和航空航天业)中常见的可编程逻辑控制器(PLC)。这类工业控制系统通常应用于电力供应、水处理及污水管理等行业,对于保障关键基础设施的安全至关重要。
  • NIST SP800-175B 文件.pdf
    优质
    《NIST SP800-175B》是由美国国家标准与技术研究院(NIST)发布的安全指南文件,专注于软件供应链的安全保障措施。 美国国家标准与技术研究院(NIST)的加密出版物提供了关于如何实施加密保护的指导,但并未规定何时需要使用这种保护措施。是否采用加密保护是由需被保护信息的所有者决定的。关于使用加密保护的决策通常基于全面的风险分析,该分析确定了待保护的信息敏感性以及在传输和存储期间所需的安全控制措施。 本段落档提供了制定使用密码学需求的基础指导,并概述了涉及联邦政府敏感但未分类信息保护的相关法律、指令、标准及指南;提供有关进行风险评估以确定需要保护哪些信息及其最佳保护方式的指导意见;还讨论了一些与应用相关的安全文档(例如各种政策和实践文件)。尽管在非联邦政府环境中使用本指南是自愿行为,这里包含的一些流程和参考文献可能对其他环境也有用。 适用于联邦加密系统的主要政策文件包括公共法律、总统行政命令及指令以及来自美国总统办公室组织的其它指导。某些商务部及NIST出版物被这些政策文档指定为供联邦机构强制遵循的规定。有关的相关NIST加密出版物在《用于联邦政府中的密码学标准使用指南:密码机制》特别出版物(SP)800-175B中有所讨论。