[Notes]密码学

密码学考核:50大论文+50考试(最后一节课,不进考期,闭卷考试,需要背一些基本知识)

绪论

  • 信息安全目标:机密性、完整性

  • 安全威胁:病毒、蠕虫、木马、小程序

  • 安全服务

    • 加密保护机密性:防暴露攻击、防窃听、防流量分析
    • 身份认证
    • 访问控制
    • 保护完整性
    • 不可否认性
  • 明文:消息初始形式 P=[P1, P2, …, Pn]

  • 密文:加密后的形式 C=[C1, C2, …, Cn]

  • 密码系统满足P = D(E§) P为铭文,E为加密算法,D为解密算法

  • 签名:确认身份

密码数学A

整数运算

  • 带余除法:a÷n=q…r,n为正数,r非负数。

    • -89=7*(-12)-5=7*(-13)+2因此-89÷7=-13...2
  • 整除性:a=q*n,n整除a,记作n|a

    • 若 a|b,且 a|c,则 a|(mb+nc) m、n为任意整数
  • b与c 的最大公因子记为: ·gcd(b, c)

  • Euclidean欧几里得算法(辗转相除)

    • gcd(a,0)=a(规定任何整数都是0的因子)
    • a=qb+rgcd(a,b)=gcd(b,r)
    • eg.辗转相除法求最大公因数
      • 140÷12=11…8
      • gcd(12,140)=gcd(12,8)=gcd(4,0)=4
  • 扩展Euclidean欧几里得算法

    • gcd (a, b) = r,必存在整数 s,t 使r = s*a+t*b
      在这里插入图片描述

    • gcd (a, b) = 1 (a与b互素),必存在整数 s和t,使s*a+t*b =1

线性丢番图方程

  • 整数一次不定方程 : ax + by = c 称为“丢番图方程”。

  •  ax + by = c  
     若 d = gcd(a,b) 不能整除 c, 则方程无解。 
     若 d | c , 则方程有无穷多组解。
            两端同除d,  化为  a1 x+b1y= c1,同解。
            通解为:
                                  x = s*c1 + k*b1
                                  y = t*c1 – k*a1
            其中 s和 t 满足    s*a1+t*b1 = 1
    

+ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BwC0Q3nu-1651675106706)(img/密码学_img/image-20220501155845211.png)]

模运算

整数集Z 模n后得到 集合 Zn = { 0, 1, 2, 3, … , n-1}

定理 1 —— 运算规则
(a±b) mod n= (a mod n) ± (b mod n)
(a×b) mod n= (a mod n) × (b mod n)

10n mod x = (10 mod x)n

101 mod 11 = -1

十进制数模3或模9,等于各位数码之和模3或模9。 十进制数被3或9 整除 ,当且仅当各位数码之和能被3或9整除。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GqVH21Gy-1651675106707)(img/密码学_img/image-20220502121754417.png)]

逆运算

  • 加法逆:若 a+b = 0 mod n,则 a与b互为加法逆。

  • 乘法逆:若 a×b =1 mod n,则 a与 b 互为乘法逆。b = a -1 可能存在,也可能不存在。若 a -1 存在,称其为a 的乘法逆(逆元)。

    • a有乘法逆 <=> gcd(a, n) =1,即a与n互素。

    • 互为Zn乘法逆就是说,两个数相乘的结果mod n为1。

    • 辗转相除法求乘法逆

      • 原理:设gcd(n,b)=1,b-1存在;有s×n+b×t = 1;两边都mod n,有 0 +(b×t)mod n = 1,b-1= t mod n

      • 步骤:在Z26 中求 11-1 / 11的乘法逆 / 求11-1 mod 26,

        • 首先验证gcd(26,11)=1,11在Z26中有乘法逆

        • s×26+ t×11 = 1辗转相除计算出 t,

        • qr1 r2 rt1 t2 t
          226 11 40 1 -2
          211 4 31 -2 5
          14 3 1-2 5 -7
          33 1 05 -7 26
          1 0-7 26
        • t=-7 mod 26 = 19,(11,19)互为乘法逆

  • 加法集:Zn,有加法逆的元素全体

  • 乘法集:Zn*,有乘法逆的元素全体

    • Z6* ={1, 5}

矩阵模运算

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bgdWjIum-1651675106709)(img/密码学_img/image-20220502144725094.png)]

模n线性方程组

传统密码学

代换密码

  • 单码代换:简单且便于记忆,但不能抵抗频率统计攻击

    • 凯撒密码:循环移位密码,加密字母后移3位
    • 加法密码:加密算法:C= (P+k) mod 26;解密算法:P= (C- k) mod 26;密码域26
    • 乘法密码:加密算法:C= (P×k) mod 26;解密算法:P= (C×k-1 ) mod 26; k∈Z*26 = { 1,3,5,7,9,11,15,17,19,21,23,25},密码域大小12
    • 仿射密码:加密算法:C= (P×k1+k2) mod 26;解密算法:P= (C-k2)×k1-1 ) mod 26;密码域12*26=312
    • 单表密码:26! 常用方法是在字母表中先排列出密钥字,在密钥字后面填上剩余字母。用长的密钥字,更难以判断是何种文字密钥。
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5zn2UR7d-1651675106711)(img/密码学_img/image-20220502163414405.png)]
  • 多码代换:隐藏了字母频率特征,可以防范频率统计攻击。

    • 自动密钥密码:密钥域26
    • PlayFair密码:5*5矩阵,加密:同行右移、同列下移、对角反转。密钥域25!,隐藏了单字母的频率,攻击可针对双字母组合。
    • Vigenere 密码
    • Hill密码(矩阵密码):加密方法:矩阵乘法C = P * K mod 26、解密方法: P = C*K-1 mod 26
    • 一次一密密码OTP:加密方法: Ci = Pi * Ki mod 26、解密方法: Pi = Ci-*Ki mod 26

换位密码

采用移动字母位置的方法

  • 无密钥换位
    • 栅栏密码:加密:竖写横读;解密:横写竖读
    • 表格换位
  • 有密钥换位: 密钥 K 就是一个指定的置换。
  • 双换位与组合换位:将换位方法重复2次。不同密钥,多次组合。
  • 换位密码的分析
    • 频率分析:
      • 特征:保留单字频率,但不保留双字母、三字母频率
      • 攻击:判断是换位密码,然后单字母频率攻击
    • 蛮力攻击
      • 攻击1:遍历所有可能的20字母排列,20!
      • 攻击2:遍历所有可能的密钥 k,列数未知,可能有
        1! + 2! + … + 20!
      • 攻击3:猜测列数
    • 模式攻击(猜测列数)
      • 攻击:寻找字母位置的排布模式,进而猜测列数 n

密码机

  • 转轮密码
  • Enigma 密码机

密码数学B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值