zoukankan      html  css  js  c++  java
  • 流密码

    完美安全性(perfect secrecy)

    一个定义在((K,M,C))上的算法((E,D))具有完美安全性,如果(forall m_0,m_1 in M, |m_0|=|m_1|), (forall c in C), (Pr[E(k,m_0)=c]=Pr[E(k,m_1)=c]), 其中(k in K)

    • 随机选择(m_0)(m_1)进行加密得到密文,无法根据得到的密文判断出是由哪个明文加密;

    • 最强大的攻击者无法由密文获得明文的任何信息;

    • 不存在唯密文攻击(但是可能存在其它攻击)。

    一次一密具有完美安全性(不适合实际应用);完美安全性要求(|K| ge |M|)

    流密码和伪随机数生成器

    • 目的: making OTP practical

    • Idea: replace “random” key by “pseudorandom” key

    • 流密码不具备完美安全性

    • 安全性新定义-密钥流不可预测性(已知前面部分密钥无法推测出之后的密钥流),否则当加密明文消息头为一些公开消息时,容易泄露后面的明文消息。

      PRG is unpredictable if it is not predictable ⇒ ∀i: no “eff” adv. can predict bit (i+1) for “non-neg” ε (ε: 攻击者相对随机猜测的优势)

    对OTP、PRG的攻击

    攻击一:Two time pad(密钥重用)

    (c_1 = m_1 oplus PRG(k))
    (c_2 = m_2 oplus PRG(k))
    则:(c_1 oplus c_2 = m_1 oplus m_2),英文的ASCII编码存在较大冗余,由可能由此恢复明文消息

    现实生活中的例子:

    • Project Venona(1940年早期,俄-美)

    • MS-PPTP (windows NT)

    • 802.11b WEP

    • 磁盘加密(仅修改部分消息->只有部分密文不同)

    启发:

    • Network traffic: negotiate new key for every session (e.g. TLS)

    • Disk encryption: typically do not use a stream cipher

    攻击二: OTP(或流密码)不具备完整性(OTP is malleable 可延展的)

    Modifications to ciphertext are undetected and have predictable impact on plaintext
    对密码的修改会直接影响明文

    Real-World Stream Ciphers

    传统流密码

    RC4(1987,有缺陷)

    注意:seed可以任意长

    • 应用:Https,WEP(使用方法不安全)

    • 一些weakness:

    1. Bias in initial output:等于0的概率本该是1/256,但实际比1/256大。因此,在使用RC4时,会舍弃前256 bytes。
    2. 00出现的概率比随机出现的概率大
    3. 对WEP的相关密钥攻击

    CSS(基于LFSR,已被完全攻破)

    • 应用:DVD(硬件)

    • 一些基于LFSR的算法(基于硬件,全被攻破)

    1. DVD Encryption(CSS) 2 LFSRs
    2. GSM Encryption(A5/1,2)3 LFSRs
    3. Bluetooch(E0): 4 LFSR
    • 算法描述

    现代流密码,(eStream,2008年)

    seed+nonce
    要求:(k,nonce)不重复使用

    Salsa20

    • 优点:软硬件实现很快
    • 安全性:128 bit
    • 与其它算法性能对比(Crypto++ 5.6.0):

    流密码算法的安全性

    PRG Security Definitions

    安全性定义:

  • 相关阅读:
    docker中 启动所有的容器命令
    使用Docker部署服务
    docker常规操作——启动、停止、重启容器实例
    Docker Swarm 常用命令
    ArcGIS中search窗口不能查询解决办法
    ylpy
    第7章
    ArcGIS 将模型导出为 Python 脚本
    11章代码
    9章代码
  • 原文地址:https://www.cnblogs.com/rookieveteran/p/12775360.html
Copyright © 2011-2022 走看看