• ComSec作业三:RSA


    为什么RSA加解密互逆

    已知 p , q 均为质数 n = p q e d ≡ 1 ( m o d λ ( n ) ) λ ( n ) = l c m ( p − 1 , q − 1 ) e 与 λ ( n ) 互素 已知p,q均为质数\\

    n=pqed1(modλ(n))λ(n)=lcm(p1,q1)eλ(n)" role="presentation">n=pqed1(modλ(n))λ(n)=lcm(p1,q1)eλ(n)
    已知p,q均为质数nedλ(n)=pq1(modλ(n))=lcm(p1,q1)eλ(n)互素

    证明加解密互逆
    c ≡ m e ( m o d n ) m ≡ c d ( m o d n ) c d ≡ ( m e ) d ≡ m e d ≡ m 1 + k λ ( n ) ≡ m ⋅ m λ ( n ) ≡ m ⋅ 1 ≡ m ( m o d n ) 接下来就是证明 m λ ( n ) ≡ 1 ( m o d n ) 由于 λ ( n ) = l c m ( p − 1 , q − 1 ) 则有 { m λ ( n ) ≡ 1 ( m o d p ) m λ ( n ) ≡ 1 ( m o d q ) 变换之后 { m λ ( n ) = 1 + k 1 p m λ ( n ) = 1 + k 2 q 再次变换 { 2 m λ ( n ) − 2 = k 1 p + k 2 q m 2 λ ( n ) = ( 1 + k 1 p ) ( 1 + k 2 q ) = 1 + k 1 p + k 2 q + k 1 k 2 p q c\equiv m^e \pmod{n}\\ m\equiv c^d \pmod{n}\\ c^d\equiv (m^e)^d \equiv m^{ed} \equiv m^{1+k\lambda(n)} \equiv m \cdot m^{\lambda(n)} \equiv m \cdot 1 \equiv m \pmod{n}\\ 接下来就是证明m^{\lambda(n)}\equiv 1 \pmod{n}\\ 由于\lambda(n)=lcm(p-1,q-1)\\ 则有\left \{

    mλ(n)1(modp)mλ(n)1(modq)" role="presentation">mλ(n)1(modp)mλ(n)1(modq)
    \right. \\ 变换之后 \left \{
    mλ(n)=1+k1pmλ(n)=1+k2q" role="presentation">mλ(n)=1+k1pmλ(n)=1+k2q
    \right. \\ 再次变换\left \{
    2mλ(n)2=k1p+k2qm2λ(n)=(1+k1p)(1+k2q)=1+k1p+k2q+k1k2pq" role="presentation">2mλ(n)2=k1p+k2qm2λ(n)=(1+k1p)(1+k2q)=1+k1p+k2q+k1k2pq
    \right.\\ cme(modn)mcd(modn)cd(me)dmedm1+(n)mmλ(n)m1m(modn)接下来就是证明mλ(n)1(modn)由于λ(n)=lcm(p1,q1)则有{mλ(n)1(modp)mλ(n)1(modq)变换之后{mλ(n)=1+k1pmλ(n)=1+k2q再次变换{2mλ(n)2=k1p+k2qm2λ(n)=(1+k1p)(1+k2q)=1+k1p+k2q+k1k2pq
    带入后得到
    m 2 λ ( n ) = 1 + ( 2 m λ ( n ) − 2 ) + k 1 k 2 p q = 2 m λ ( n ) − 1 + k 1 k 2 p q m 2 λ ( n ) − 2 m λ ( n ) + 1 = k 1 k 2 p q ( m λ ( n ) − 1 ) 2 = k 1 k 2 p q
    m2λ(n)=1+(2mλ(n)2)+k1k2pq=2mλ(n)1+k1k2pqm2λ(n)2mλ(n)+1=k1k2pq(mλ(n)1)2=k1k2pq" role="presentation">m2λ(n)=1+(2mλ(n)2)+k1k2pq=2mλ(n)1+k1k2pqm2λ(n)2mλ(n)+1=k1k2pq(mλ(n)1)2=k1k2pq
    m2λ(n)m2λ(n)2mλ(n)+1(mλ(n)1)2=1+(2mλ(n)2)+k1k2pq=2mλ(n)1+k1k2pq=k1k2pq=k1k2pq

    则有
    ( m λ ( n ) − 1 ) 2 ≡ 0 ( m o d p q ) m λ ( n ) − 1 ≡ 0 ( m o d p q ) m λ ( n ) ≡ 1 ( m o d p q ) (m^{\lambda(n)}-1)^2 \equiv 0 \pmod{pq}\\ m^{\lambda(n)}-1 \equiv 0 \pmod{pq}\\ m^{\lambda(n)} \equiv 1 \pmod{pq} (mλ(n)1)20(modpq)mλ(n)10(modpq)mλ(n)1(modpq)
    即证

    后来才发现,过程搞复杂了其实只要在这一步,移动一下就好
    { m λ ( n ) − 1 = k 1 p m λ ( n ) − 1 = k 2 q \left \{

    mλ(n)1=k1pmλ(n)1=k2q" role="presentation">mλ(n)1=k1pmλ(n)1=k2q
    \right.\\ {mλ(n)1=k1pmλ(n)1=k2q

    9.2 Perform encryption and decryption using the RSA algorithm, as in Figure 9.5, for the following:

    a. p = 3 ; q = 7 , e = 5 ; M = 10 p=3;q=7,e=5;M=10 p=3;q=7,e=5;M=10
    n = p q = 21 ϕ ( n ) = ( p − 1 ) ( q − 1 ) = 2 × 6 = 12 e x g c d : { x = ϕ ( n ) = 12 y = e = 5 x − 2 y = 2 − 2 x + 5 y = 1 d = 5 e n c r y p t : C ≡ M e ( m o d n ) 1 0 5 ≡ 1 6 2 × 10 ≡ ( − 5 ) 2 × 10 ≡ 25 × 10 ≡ 40 ≡ 19 ( m o d 21 ) d e c r y p t : M ≡ C d ( m o d n ) 1 9 5 ≡ ( − 2 ) 5 ≡ − 32 ≡ − 11 ≡ 10 ( m o d 21 )

    n=pq=21ϕ(n)=(p1)(q1)=2×6=12exgcd:{((1))x=ϕ(n)=12((2))y=e=5((3)=(1)-2(2))x2y=2((4)=(2)-2(3))2x+5y=1d=5encrypt:CMe(modn)105162×10(5)2×1025×104019(mod21)decrypt:MCd(modn)195(2)5321110(mod21)" role="presentation">n=pq=21ϕ(n)=(p1)(q1)=2×6=12exgcd:{((1))x=ϕ(n)=12((2))y=e=5((3)=(1)-2(2))x2y=2((4)=(2)-2(3))2x+5y=1d=5encrypt:CMe(modn)105162×10(5)2×1025×104019(mod21)decrypt:MCd(modn)195(2)5321110(mod21)
    n=pq=21ϕ(n)=(p1)(q1)=2×6=12exgcd: xyx2y2x+5y=ϕ(n)=12=e=5=2=1((1))((2))((3)=(1)-2(2))((4)=(2)-2(3))d=5encrypt:CMe(modn)105162×10(5)2×1025×104019(mod21)decrypt:MCd(modn)195(2)5321110(mod21)

    b. p = 5 ; q = 13 , e = 5 ; M = 8 p=5;q=13,e=5;M=8 p=5;q=13,e=5;M=8
    n = p q = 65 ϕ ( n ) = ( p − 1 ) ( q − 1 ) = 4 × 12 = 48 e x g c d : { x = ϕ ( n ) = 48 y = e = 5 x − 9 y = 3 − x + 10 y = 2 2 x − 19 y = 1 d = 48 − 19 = 29 e n c r y p t : C ≡ M e ( m o d n ) 8 5 ≡ 6 4 2 × 8 ≡ ( − 1 ) 2 × 8 ( m o d 65 ) d e c r y p t : M ≡ C d ( m o d n ) 8 29 ≡ 6 4 14 × 8 ≡ ( − 1 ) 14 × 8 ≡ 8 ( m o d 65 )

    n=pq=65ϕ(n)=(p1)(q1)=4×12=48exgcd:{x=ϕ(n)=48y=e=5x9y=3x+10y=22x19y=1d=4819=29encrypt:CMe(modn)85642×8(1)2×8(mod65)decrypt:MCd(modn)8296414×8(1)14×88(mod65)" role="presentation">n=pq=65ϕ(n)=(p1)(q1)=4×12=48exgcd:{x=ϕ(n)=48y=e=5x9y=3x+10y=22x19y=1d=4819=29encrypt:CMe(modn)85642×8(1)2×8(mod65)decrypt:MCd(modn)8296414×8(1)14×88(mod65)
    n=pq=65ϕ(n)=(p1)(q1)=4×12=48exgcd: xyx9yx+10y2x19y=ϕ(n)=48=e=5=3=2=1d=4819=29encrypt:CMe(modn)85642×8(1)2×8(mod65)decrypt:MCd(modn)8296414×8(1)14×88(mod65)

    c. p = 7 ; q = 17 , e = 11 ; M = 11 p=7;q=17,e=11;M=11 p=7;q=17,e=11;M=11
    n = p q = 119 ϕ ( n ) = ( p − 1 ) ( q − 1 ) = 6 × 16 = 96 e x g c d : { x = ϕ ( n ) = 96 y = e = 11 x − 8 y = 8 − x + 9 y = 3 3 x − 26 y = 2 − 4 x + 35 y = 1 d = 35 e n c r y p t : C ≡ M e ( m o d n ) 1 1 1 1 ≡ 12 1 5 × 11 ≡ 2 5 × 11 ≡ 114 ( m o d 119 ) d e c r y p t : M ≡ C d ( m o d n ) 11 4 35 ( m o d 119 ) c r t : { 11 4 35 ≡ 4 m o d    7 11 4 35 ≡ 11 m o d    17 e x g c d : { x = 17 y = 7 x − 2 y = 3 − 2 x + 5 y = 1 11 4 35 ≡ 5 × 4 × 17 + 5 × 11 × 7 ≡ 11 ( m o d 119 )

    \begin{array}{l} n=pq=119\\ \phi(n)=(p-1)(q-1)=6\times16=96\\ exgcd:\left\{ \begin{align} x&=\phi(n)=96\\ y&=e=11\\ x-8y&=8\\ -x+9y&=3\\ 3x-26y&=2\\ -4x+35y&=1\\ \end{align}\right.\\ d=35\\ encrypt: C \equiv M^e \pmod{n} \\ 11^11\equiv 121^{5} \times 11 \equiv 2^5 \times 11 \equiv 114\pmod{119} \\ decrypt: M \equiv C^d \pmod{n} \\ 114^{35}\pmod{119} \\ \begin{array}{l} crt:\left\{ \begin{array}{l} 114^{35} &\equiv 4 \mod 7 \\ 114^{35} &\equiv 11 \mod 17 \end{array}" role="presentation">\begin{array}{l} n=pq=119\\ \phi(n)=(p-1)(q-1)=6\times16=96\\ exgcd:\left\{ \begin{align} x&=\phi(n)=96\\ y&=e=11\\ x-8y&=8\\ -x+9y&=3\\ 3x-26y&=2\\ -4x+35y&=1\\ \end{align}\right.\\ d=35\\ encrypt: C \equiv M^e \pmod{n} \\ 11^11\equiv 121^{5} \times 11 \equiv 2^5 \times 11 \equiv 114\pmod{119} \\ decrypt: M \equiv C^d \pmod{n} \\ 114^{35}\pmod{119} \\ \begin{array}{l} crt:\left\{ \begin{array}{l} 114^{35} &\equiv 4 \mod 7 \\ 114^{35} &\equiv 11 \mod 17 \end{array}
    \right. \\ exgcd:\left\{
    x=17y=7x2y=32x+5y=1" role="presentation">x=17y=7x2y=32x+5y=1
    \right. \\ \end{array} \\ 114^{35} \equiv 5\times4\times17+5\times11\times7\equiv 11\pmod{119} \\ \end{array} n=pq=119ϕ(n)=(p1)(q1)=6×16=96exgcd: xyx8yx+9y3x26y4x+35y=ϕ(n)=96=e=11=8=3=2=1d=35encrypt:CMe(modn)11111215×1125×11114(mod119)decrypt:MCd(modn)11435(mod119)crt:{11435114354mod711mod17exgcd: xyx2y2x+5y=17=7=3=1114355×4×17+5×11×711(mod119)

    d. p = 7 ; q = 13 , e = 11 ; M = 2 p=7;q=13,e=11;M=2 p=7;q=13,e=11;M=2
    n = p q = 91 ϕ ( n ) = ( p − 1 ) ( q − 1 ) = 6 × 12 = 72 e x g c d : { x = ϕ ( n ) = 72 y = e = 11 x − 6 y = 6 − x + 7 y = 5 2 x − 13 y = 1 d = 72 − 13 = 59 e n c r y p t : C ≡ M e ( m o d n ) 2 1 1 ≡ 37 × 16 ≡ 57 × 4 ≡ 46 ( m o d 91 ) d e c r y p t : M ≡ C d ( m o d n ) 4 6 59 ( m o d 91 ) c r t : { 4 6 59 ≡ 2 m o d    7 4 6 59 ≡ 2 m o d    13 斌头剩余定理 : 4 6 59 ≡ 2 m o d    91

    \begin{array}{l} n=pq=91\\ \phi(n)=(p-1)(q-1)=6\times12=72\\ exgcd:\left\{ \begin{align} x&=\phi(n)=72\\ y&=e=11\\ x-6y&=6\\ -x+7y&=5\\ 2x-13y&=1\\ \end{align}\right.\\ d=72-13=59\\ encrypt: C \equiv M^e \pmod{n} \\ 2^11\equiv 37 \times 16 \equiv 57 \times 4 \equiv 46 \pmod{91} \\ decrypt: M \equiv C^d \pmod{n} \\ 46^{59}\pmod{91} \\ crt:\left\{ \begin{array}{l} 46^{59} &\equiv 2 \mod 7 \\ 46^{59} &\equiv 2 \mod 13 \end{array}" role="presentation">\begin{array}{l} n=pq=91\\ \phi(n)=(p-1)(q-1)=6\times12=72\\ exgcd:\left\{ \begin{align} x&=\phi(n)=72\\ y&=e=11\\ x-6y&=6\\ -x+7y&=5\\ 2x-13y&=1\\ \end{align}\right.\\ d=72-13=59\\ encrypt: C \equiv M^e \pmod{n} \\ 2^11\equiv 37 \times 16 \equiv 57 \times 4 \equiv 46 \pmod{91} \\ decrypt: M \equiv C^d \pmod{n} \\ 46^{59}\pmod{91} \\ crt:\left\{ \begin{array}{l} 46^{59} &\equiv 2 \mod 7 \\ 46^{59} &\equiv 2 \mod 13 \end{array}
    \right. \\ 斌头剩余定理:46^{59} \equiv 2 \mod 91 \end{array} n=pq=91ϕ(n)=(p1)(q1)=6×12=72exgcd: xyx6yx+7y2x13y=ϕ(n)=72=e=11=6=5=1d=7213=59encrypt:CMe(modn)21137×1657×446(mod91)decrypt:MCd(modn)4659(mod91)crt:{465946592mod72mod13斌头剩余定理:46592mod91

    e. p = 17 ; q = 23 , e = 9 ; M = 7 p=17;q=23,e=9;M=7 p=17;q=23,e=9;M=7

    n = p q = 391 ϕ ( n ) = ( p − 1 ) ( q − 1 ) = 16 × 22 = 352 e x g c d : { x = ϕ ( n ) = 352 y = e = 9 x − 39 y = 1 d = 352 − 39 = 313 e n c r y p t : C ≡ M e ( m o d n ) 7 9 ≡ 61 ( m o d 391 ) d e c r y p t : M ≡ C d ( m o d n ) 6 1 313 ≡ 7 ( m o d 119 )

    n=pq=391ϕ(n)=(p1)(q1)=16×22=352exgcd:{x=ϕ(n)=352y=e=9x39y=1d=35239=313encrypt:CMe(modn)7961(mod391)decrypt:MCd(modn)613137(mod119)" role="presentation">n=pq=391ϕ(n)=(p1)(q1)=16×22=352exgcd:{x=ϕ(n)=352y=e=9x39y=1d=35239=313encrypt:CMe(modn)7961(mod391)decrypt:MCd(modn)613137(mod119)
    n=pq=391ϕ(n)=(p1)(q1)=16×22=352exgcd: xyx39y=ϕ(n)=352=e=9=1d=35239=313encrypt:CMe(modn)7961(mod391)decrypt:MCd(modn)613137(mod119)

    9.3 In a public-key system using RSA, you intercept the ciphertext C = 20 sent to user whose public key is e=13, n=77. What is the plaintext M?

    n = 77 = 7 × 11 p = 7 , q = 11 ϕ ( n ) = 6 × 10 = 60 e = 13 e x g c d : { x = 60 y = 13 x − 4 y = 8 − x + 5 y = 5 2 x − 9 y = 3 − 3 x + 14 y = 2 5 x − 23 y = 1 d = 60 − 23 = 37 m = c d m o d    n m = 2 0 37 ≡ 48 ( m o d 77 )

    \begin{array}{l} n=77=7\times11\\ p=7,q=11\\ \phi(n)=6\times10=60\\ e=13\\ exgcd:\left\{ \begin{array}{l} x&=60\\ y&=13\\ x-4y&=8\\ -x+5y&=5\\ 2x-9y&=3\\ -3x+14y&=2\\ 5x-23y&=1 \end{array}" role="presentation">\begin{array}{l} n=77=7\times11\\ p=7,q=11\\ \phi(n)=6\times10=60\\ e=13\\ exgcd:\left\{ \begin{array}{l} x&=60\\ y&=13\\ x-4y&=8\\ -x+5y&=5\\ 2x-9y&=3\\ -3x+14y&=2\\ 5x-23y&=1 \end{array}
    \right.\\ d=60-23=37\\ m=c^{d}\mod n\\ m=20^{37}\equiv 48 \pmod{77} \end{array} n=77=7×11p=7,q=11ϕ(n)=6×10=60e=13exgcd: xyx4yx+5y2x9y3x+14y5x23y=60=13=8=5=3=2=1d=6023=37m=cdmodnm=203748(mod77)

    9.4 In an RSA system, the public key of a given user is e=65, n=2881.What is the private key of this user? Hint: First use trial-and-error to determine p and q; then use the extended Euclidean algorithm to find the multiplicative inverse of 31 modulo ϕ ( n ) \phi(n) ϕ(n).

    n = 43 × 67 = 2881 p = 43 , q = 67 ϕ ( n ) = 42 × 66 = 2772 e x g c d : { x = 2772 y = 65 x − 42 y = 42 − x + 43 y = 23 2 x − 85 y = 19 − 3 x + 128 y = 4 14 x − 597 y = 3 − 17 x + 725 y = 1 私钥 d = 725 e x g c d : { x = 2772 y = 31 x − 89 y = 13 − 2 x + 179 y = 5 5 x − 447 y = 3 − 7 x + 626 y = 2 12 x − 1073 y = 1 ( 31 ) − 1 ≡ 1699 m o d    2772

    \begin{array}{l} n=43\times67=2881 \\ p=43, q=67 \\ \phi(n)=42\times66=2772\\ exgcd: \left\{ \begin{array}{cl} x&=2772\\ y&=65\\ x-42y&=42\\ -x+43y&=23\\ 2x-85y&=19\\ -3x+128y&=4\\ 14x-597y&=3\\ -17x+725y&=1 \end{array}" role="presentation">\begin{array}{l} n=43\times67=2881 \\ p=43, q=67 \\ \phi(n)=42\times66=2772\\ exgcd: \left\{ \begin{array}{cl} x&=2772\\ y&=65\\ x-42y&=42\\ -x+43y&=23\\ 2x-85y&=19\\ -3x+128y&=4\\ 14x-597y&=3\\ -17x+725y&=1 \end{array}
    \right.\\ 私钥d=725\\ exgcd: \left\{
    x=2772y=31x89y=132x+179y=55x447y=37x+626y=212x1073y=1" role="presentation">x=2772y=31x89y=132x+179y=55x447y=37x+626y=212x1073y=1
    \right.\\ (31)^{-1}\equiv 1699 \mod 2772 \end{array} n=43×67=2881p=43,q=67ϕ(n)=42×66=2772exgcd: xyx42yx+43y2x85y3x+128y14x597y17x+725y=2772=65=42=23=19=4=3=1私钥d=725exgcd: xyx89y2x+179y5x447y7x+626y12x1073y=2772=31=13=5=3=2=1(31)11699mod2772

  • 相关阅读:
    WebSocket和Html通讯
    MySQL中的SHOW FULL PROCESSLIST命令
    黑马瑞吉外卖之菜品的启售停售
    eclipse项目导入教程
    什么是Bean的循环依赖?解决方案是什么?
    TCP三次握手四次挥手
    算法2:链表的逆转
    常见大厂面试题(SQL)02
    让实时操作系统助力电力电子系统设计
    python读取.txt文件中某些关键字后面的内容 并根据该数据画图
  • 原文地址:https://blog.csdn.net/weixin_45004513/article/details/127452641