Cryptography_API:_Next_Generation

下一代密碼學API ( Cryptography API: Next Generation ， CNG ) 是微軟從Windows Vista開始在作業系統中包含的密碼學編程接口 。 替代了當時已經發布了十年的Cryptographic API 。 CNG允許同一個函數可用更多的密碼學算法 ， 幷包含了美國國家安全局中發佈的新算法 。 並靈活地支持插件定製密碼學API到CNG的運行時中 。 但CNG的密鑰存儲機制仍然不支持存儲對稱密鑰 。 CNG既可以工作在用戶模式下 ， 也可以工作在內核模式下 ， 支持CryptoAPI的所有算法 。 其運行代碼在Bcrypt.dll文件中 。 CNG也支持橢圓曲線密碼學非對稱加密 。 CNG API集成了智能卡子系統 ， 包括Base Smart Card Cryptographic Service Provider ( Base CSP ) 模塊 ， 封裝了智能卡API 。 智能卡製造商只需要使其產品兼容與該API ， 而不需要從頭寫解決方案 。 CNG增加了雙橢圓曲線確定性隨機比特生成器 ， 一套定義於中的僞隨機數生成器 ， 被認爲存在NSA的安全後門 。 除非開發者記得每次都用其它僞隨機數生成器或真隨機數生成器產生初始化種子 。 該算法也很慢 。 該算法只在明確調用時纔會被使用 。 CNG的缺省的僞隨機數生成算法已經被使用AES作爲塊加密器的替代了 。 因爲老的算法使用DES與SHA - 1 ， 都已經被攻破 。 CTR_DRBG定義在NIST SP 800 - 90中的兩種算法之一 ， 由布魯斯 · 施奈爾捐贈 。