密码开发方法

概述

此处参考NIST的加密标准和准则(CSRC)文件,当中的加密需求最佳指南。

参考资料

-libsodium-(Github)
-OpenSSL-(Github)

建议使用带有Curve25519的椭圆曲线密码演算法(ECC/ECDH)(用於签名和密钥交换)

建议
  • TLS密码组件
    建议密码组件均应与 >= TLS 1.2版本
    不建议使用SSL 3.0或以下版本

    TLS密码套件:
    - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    - TLS_ECDHE_ECDSA_WITH_AES_128_CCM
    - TLS_ECDHE_ECDSA_WITH_AES_256_CCM
    - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    - TLS_AES_128_GCM_SHA256
    - TLS_AES_256_GCM_SHA384
    - TLS_AES_128_CCM_SHA256

  • 杂凑演算法

    • 常见杂凑演算法
      • SHA-512
      • SHA-384
      • SHA-256
    • .Net杂凑演算法
      • 符合FIPS要求
        • SHA512Cng
        • SHA384Cng
        • SHA256Cng
          • SHA512CryptoServiceProvider
          • SHA256CryptoServiceProvider
          • SHA384CryptoServiceProvider
      • 不符合FIPS要求
        • SHA512Managed
        • SHA384Managed
        • SHA256Managed
  • 随机数生成器(RNG)

    • CNG:BCryptGenRandom:
      BCRYPT_USE_SYSTEM_PREFERRED_RNG
    • CAPI:
      cryptGenRandom
    • Win32/64:RtlGenRandom:
      BCryptGenRandom、CryptGenRandom)
      SystemPrng(.Net Core)
    • .NET:
      RNGCryptoServiceProvider
      RNGCng
    • Windows:
      Windows.Security.Cryptography.CryptographicBuffer.GenerateRandom、GenerateRandomNumber
    • OS X:
      int SecRandomCopyBytes(SecRandomRef random, size_t count, int8_t bytes)
    • Java:
      java.security.SecureRandom。
  • 参考资料


<<:  强型闯入DenoLand[31] - MongoDB 安装教学

>>:  mostly:functional 终章:Monad 的实体

档案服务器架构设计备忘

档案服务器架构设计备忘.docx ...

容器化的安全原则(the security principles of containerization)

-容器技术架构 容器映像是由开发人员创建和注册的包,其中包含在容器中运行所需的所有文件,通常按层组...

找LeetCode上简单的题目来撑过30天啦(DAY8)

题号;100 标题:Same Tree 难度;Easy Given the roots of two...

【Day 30】递回

最後一天,我想要用递回(Recursion)来结束我们的三十天! 递回的观念,其实就是让一个函式可以...

电子书阅读器上的浏览器 [Day11] 移植 Firefox 阅读模式

这一篇的技术成份稍微高一点点。要谈到的功能,从一开始开发浏览器就有想要做,但是一直找不到比较好的实作...