Cryptography API: Next Generation 下一代密码学API Cryptography API Next Generation CNG 是微軟从Windows Vista开始在作業系統中包含的密碼学编程接口替代了当时已经发布了十年的Cryptographic API CNG允许同一个函数可用更多的密码学算法并包含了美国国家安全局NSA Suite B Cryptography英语NSA Suite B Cryptography中发布的新算法并灵活地支持插件定制密码学API到CNG的运行时中但CNG的密钥存储机制仍然不支持存储对称密钥 CNG既可以工作在用户模式下也可以工作在内核模式下支持CryptoAPI的所有算法其运行代码在Bcryptdll文件中 CNG也支持椭圆曲线密码学非对称加密CNG API集成了智能卡子系统包括Base Smart Card Cryptographic Service Provider Base CSP 模块封装了智能卡API智能卡制造商只需要使其产品兼容与该API而不需要从头写解决方案 CNG增加了双椭圆曲线确定性随机比特生成器一套定义于NIST SP A英语NIST SP A中的伪随机数生成器被认为存在NSA的安全后门除非开发者记得每次都用其它伪随机数生成器或真随机数生成器产生初始化种子该算法也很慢该算法只在明确调用时才会被使用 CNG的缺省的伪随机数生成算法已经被使用AES作为块加密器的CTRDRBG英语CTRDRBG替代了因为老的算法使用DES与SHA都已经被攻破 CTRDRBG定义在NIST SP 中的两种算法之一由布魯斯施奈爾捐赠