分享

OpenSSL中的CipherList(加密算法套件)

 Runs丶SS11 2016-07-22

每种Cipher的名字里包含了四部分信息,分别是

密钥交换算法,用于决定客户端与服务器之间在握手的过程中如何认证,用到的算法包括RSA,Diffie-Hellman,ECDH,PSK等

加密算法,用于加密消息流,该名称后通常会带有两个数字,分别表示密钥的长度和初始向量的长度,比如DES 56/56, RC2 56/128, RC4 128/128, AES 128/128, AES 256/256

报文认证信息码(MAC)算法,用于创建报文摘要,确保消息的完整性(没有被篡改),算法包括MD5,SHA等。

PRF(伪随机数函数),用于生成“master secret”。

比如: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA ,从其名字可知,它是:

基于TLS协议的;

使用ECDHE、RSA作为密钥交换算法;

加密算法是AES(密钥和初始向量的长度都是256);

MAC算法(这里就是哈希算法)是SHA。

比如: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

“TLS” 自然是指TLS协议

“ECDHE” 是说使用带有短暂性密钥的椭圆曲线Diffie-Hellman密钥交换(也就是说要为每个会话创建新密钥并且事后也不会记下来)

“RSA”表明用 RSA 非对称加密保护TLS握手的安全

“AES_128_CBC” 是说在密码块链接模式中用带有128位密钥的AES 非对称加密保护真正的数据交换

“SHA” 表明用 SHA 安全哈希算法。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多