Cryptography

Picasun KatarinaQueen

密码学

课件

会议

四大安全会议

三大密码会

  • CRYPTO International Cryptology Conference(CCF-A)
    • 美密会 每年2月截稿,同年8月开会,在美国开会
  • EUROCRYPT Annual International Conference on the Theory and Applications of Cryptographic Techniques(CCF-A)
    • 欧密会 每年10月截稿,翌年5月开会,在欧洲开会
  • ASIACRYPT Annual Int Conf on Theory and Application of Cryptology and Information Security(CCF-B)
    • 亚密会 每年5月截稿,同年12月开会,在亚洲开会
    • 录用率比美密、欧密低

中国计算机学会推荐国际学术期刊/学术会议方向大全(https://www.ccf.org.cn/Academic_Evaluation/By_category/ )

  • 计算机体系结构/并行与分布计算/存储系统
  • 计算机网络
  • 网络与信息安全
  • 软件工程/系统软件/程序设计语言
  • 数据库/数据挖掘/内容检索
  • 计算机科学理论
  • 计算机图形学与多媒体
  • 人工智能
  • 人机交互与普适计算
  • 交叉/综合/新兴

Coursera_Dan Boneh_Cryptography_1_Stanford_Note

WEEK 1

  • Course Overview

  • What is Cryptography

  • History

    • Caser Cipher:Substitution cipher
      • Frequency of ( pairs of ) letters
      • “e”、”he”
      • ciphertext only attack(惟密文攻击 对替换式密码很有效)
    • Vigener Cipher
      • c = ( nk + m ) mod 26
      • get bunch and look at the first letter
        • same letter
    • Rotor Machines
      • A B C D
      • D A B C
      • C D A B
    • Enigma
  • Discrete Probability 1(离散概率)

    • Uniform distribution
    • Point distribution
    • Distribution vector
    • event A such as all x in U such that lsb2(x)=11
      • union bound (和事件概率 < 事件概率和)
      • contain elements

    • Random Variables
      • a function from the universe of some other sets
      • 一个从全局到其他集合的函数
      • 定义了概率分布
    • Randomized algorithms(Deterministic algorithm)
      • algorithm defines a distribution

  • Discrete Probability 2(离散概率)

    • discrete probability is defined over a finite set(有限集)
    • Indenpendence
    • XOR 异或 是否不同
      • 即为 ( a +b ) mod 2
      • 能让随机分布变量 与 均匀分布变量 成为 均匀分布的随机变量
    • The birthday paradox
      • 需要多少人 两人相同生日
      • 365 -> 24
  • Cipher

    • Def:a cipher
      • a pair of algorithm
        • an encryption algorithm E
          • often randomized
        • an decryption algorithm D
      • be defined over a triple(三元组)
        • 全体密钥的集合K
        • 全体明文的集合M
        • 全体密文的集合C
      • the consistency equation 一致性方程
        • D(K,E(K,M))=M
    • The One Time Pad
      • C := E(K,M) = K XOR M
      • D(K,C) = K XOR C = M
      • smae length
      • key too long
      • safe:密文不揭示明文的任何信息
      • perfect secrecy
        • P[E(k,M0)=C] = P[E(k,M1)=C]
          • where k<-R-K
        • 给定特定密文 我并不知道哪里来的
        • 无法知道被加密的是M0还是M1
        • 需要计算能将特定M映射到C的密钥k数量 只有一个
        • 不意味着使用时安全
        • key len >= msg len
        • 任何完美安全的密码必须拥有足够长的密钥
      • no CT only attack
  • Stream Ciphers

    • 对数据流进行连续处理的一类密码算法
    • make one-time pad more practical
    • replace random key by pseudorandom key
    • 长为s的随机种子做为固定的函数G的输入 G:伪随机发生器(PRG)
    • C = E(K,M) := M XOR G(K)
    • D(K,C) := C XOR G(K)
    • PRG must be unpredictable
      • 给定前几位 不能计算后面的位数
    • Epsilon >= 1/2^30 密钥加密1GB数据时可能发生
  • Attack on OTP and use of stream ciphers

    • 流密钥使用次数只能一次
    • very easy to tell where that change occurr
    • two time pad
      • never use stream cipher key more than once
      • dont use stream cipher for disk encryption
      • every section would have its own key
    • 可以对密文产生特定影响 从而对揭秘后的明文产生影响
      • OTP is malleable(可修改的)
      • 就可以把特定改变应用到明文上
  • Example Stream Ciphers

    • RC4 Software
    • CSS Hardware
    • eStream
      • PRG need 2 inputs ( k , r ) (unique)
      • save us the trouble of moving to a new key every time
      • Salsa 20
        • designed for both software and hardware implementations
        • a very fast stream cipher
  • PRG Security Defs

    • 统计测试方法,判断是否随机
      • Random iff |#0(x)-#1(x)| <= 10n^1/2
      • Random iff |#00(x)-n/4| <= 10n^1/2
      • Random iff max-run-of-0(x) <= 10logn
    • 统计测试A相对于发生器G的优势
      • 如果优势接近于1,表示当我们输入伪随机数时和输入真随机数时,统计测试A表现得完全不同。这时,这个统计测试就能将这个发生器的输出和真随机区分开来,某种意义上我们说这个统计测试破解了发生器G,因为可以区分输出序列和真随机序列。
      • 如果优势接近于0,这意味着统计测试在两种情况下,表现得基本一致,对真随机的输入,我们基本上可以说测试A无法区分发生器输出和真随机。
    • Secure PRGs
      • 什么是安全的伪随机数发生器,我们说发生器G是安全的,如果不存在有效的统计测试可以区分发生器G的输出和真随机序列 ⭐️
      • 发生器G是安全的,不仅特定的统计测试认为它的输出是随机的,事实上对所有有效的的统计测试,都认为输出是随机的。注意:限制为有效的统计测试是必须的
    • Unpredictable
      • statistic test B:given string x,B在前I位上运行算法A,算法A是否成功预测了第i+1位,如果成功返回1,否则返回0
      • Real:1/2
      • Fake:1/2+Epsilon
    • 如果A是一个好的预测算法,B是一个好的统计测试,可以破解发生器
    • 如果发生器G是安全的,没有任何好的统计测试和好的预测算法(这个发生器是不可预测的)
    • 姚期智:发生器不可预测,发生器是安全的:如果存在一个位置能通过l位预测l+1,就是不安全的
    • 说PRG是安全的,如果给出一个伪随机分布,随机选取密钥k,输出相应的G这个分布与均匀分布是计算上不可区分的

计算统计测试A对发生器G的优势
判断发生器安全与否

  • Stream ciphers_Semantic security
    • Shannon’s idea
      • cannot recover secret key
      • cannot recover all of plaintext
      • reveal no “info” about PT
      • cannot predict any letter
    • 一个对称加密机制是安全的,“对所有有效攻击者,优势可忽略”(没有有效攻击者可以区分M0和M1的加密)。对这个攻击者能想到的两条明文,攻击者依旧不能区分这两种分布。
    • 明文的任一位如果能被学习到,都意味着系统不是语义安全的。
    • OTP 语义安全

WEEK 2

  • Block Ciphers(分组密码)
    • 信息被分组加密
    • maps N bits inputs to exactly N bits of outputs
      • 3DES:n=64bits k=168bits 48rounds
      • AES: n=128bits k=128(10rounds)、192、256 bits
    • built by Iteration (迭代)
      • round function
    • performance numbers(性能参数)
      • Speed
        • slower than stream ciphers
    • PRPs and PRFs
      • PRFs:Pseudo Random Function(伪随机函数)
        • K x X -> Y
        • PRPs:Pseudo Random Permutation(伪随机置换)
          • 作为PRFs的特例
          • K x X -> X
      • Funs[X,Y]:所有从集合X映射到集合Y的函数的集合
        • 大小为|Y|^|X|
          • 举例2个元素映射3个元素,每个元素都有三种地方可以映射
          • 单射:不同射不同
          • 满射:对象被射满
          • 双射:一一映射(单+满)
      • 如果攻击者无法区分是在和真随机函数互动还是和伪随机函数互动,PRF是安全的
    • 伪随机置换,不是选择一个随机函数,而是选择一个随机置换
      • 随机的双射函数
      • 同样的输入 输出也必须不同
      • 伪随机函数可以创造伪随机数生成器PRG
      • 扩张的生成器可以满足并行计算

WEEK 3

WEEK 4

WEEK 5

WEEK 6

WEEK 7

  • Post title:Cryptography
  • Post author:Picasun
  • Create time:2023-07-19 11:20:39
  • Post link:https://redefine.ohevan.com/2023/07/19/Cryptography/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.