Professional Documents
Culture Documents
مقرر مادة امن المعلومات
مقرر مادة امن المعلومات
مقرر مادة امن المعلومات
ﻓﻲ ﺃﻧﻅﻣﺔ ﺍﻟﺗﺷﻔﻳﺭ ﺍﻟﺗﻲ ﺩﺭﺳﻧﻬﺎ ﺣﺗﻰ ﺍﻵﻥ ﻭﺟﺩﻧﺎ ﺃﻧﻪ ﻳﺗﻡ ﺍﺧﺗﻳﺎﺭ ﺍﻟﻣﻔﺗﺎﺡ Kﻣﻥ ﻗﺑﻝ Bobﻭ Aliceﺛﻡ ﺗﻌﻁﻰ ﻗﺎﻋﺩﺓ
ﺗﺷﻔﻳﺭ e kﻭﻗﺎﻋﺩﺓ ﻓﻙ ﺗﺷﻔﻳﺭ . d kﺃﻧﻅﻣﺔ ﺍﻟﺗﺷﻔﻳﺭ ﻣﻥ ﻫﺫﺍ ﺍﻟﻧﻭﻉ ﺗﺳﻣﻰ ﺃﻧﻅﻣﺔ ﺗﺷﻔﻳﺭ ﺍﻟﻣﻔﺗﺎﺡ ﺍﻟﺧﺎﺹ Privet key
ﻭﺃﻥ ﻛﺷﻑ e kﻳﺟﻌﻝ ﺍﻟﻧﻅﺎﻡ ﻏﻳﺭ ﺁﻣﻥ .ﻣﻥ ﻣﺳﺎﻭﺉ ﻫﺫﻩ ﺍﻷﻧﻅﻣﺔ ﺃﻧﻬﺎ ﺗﺗﻁﻠﺏ ﺍﻻﺗﻔﺎﻕ ﻋﻠﻰ ﺍﻟﻣﻔﺗﺎﺡ ﺑﻳﻥ Bobﻭ Alice
ﺑﺎﺳﺗﺧﺩﺍﻡ ﻗﻧﺎﺓ ﺃﻣﻧﺔ ﻗﺑﻝ ﺇﺭﺳﺎﻝ ﺃﻱ ﻧﺹ ﻣﺷﻔﺭ.
ﻓﻛﺭﺓ ﺃﻧﻅﻣﺔ ﺗﺷﻔﻳﺭ ﺍﻟﻣﻔﺗﺎﺡ ﺍﻟﻌﺎﻡ Public keyﻫﻲ ﺃﻥ Kﻭ e kﻋﺎﻣﺔ ﻭﻣﻥ ﺍﻟﺻﻌﺏ ﺣﺳﺎﺑﻳﺎ ً ﺍﻛﺗﺷﺎﻑ d kﺑﻣﻌﺭﻓﺔ
. e kﻓﺎﺋﺩﺓ ﻧﻅﺎﻡ Public keyﻫﻲ ﺃﻥ ) Aliceﺍﻭ ﺃﻱ ﺷﺧﺹ ﺁﺧﺭ( ﻳﻣﻛﻧﻪ ﺃﻥ ﻳﺭﺳﻝ ﺭﺳﺎﻟﺔ ﻣﺷﻔﺭﺓ ﺇﻟﻰ Bob
ﺑﺎﺳﺗﺧﺩﺍﻡ ﻗﺎﻋﺩﺓ ﺍﻟﺗﺷﻔﻳﺭ ﺍﻟﻌﺎﻣﺔ Bob . e kﻫﻭ ﺍﻟﺷﺧﺹ ﺍﻟﻭﺣﻳﺩ ﺍﻟﺫﻱ ﻳﺳﺗﻁﻳﻊ ﻓﻙ ﺷﻔﺭﺓ ﺍﻟﻧﺹ ﺍﻟﻣﺷﻔﺭ ﺑﺎﺳﺗﺧﺩﺍﻡ
ﻗﺎﻋﺪﺓ ﻓﻙ ﺍﻟﺗﺷﻔﻳﺭ ﺍﻟﺳﺭﻳﺔ ﺍﻟﺧﺎﺻﺔ ﺑﻪ . d kﺻﻧﺩﻭﻕ ﺍﻟﺑﺭﻳﺩ ﻫﻭ ﺃﺑﺳﻁ ﻣﺛﺎﻝ ﻋﻥ ﺫﻟﻙ.
• ﻣﺛﺎﻝ:
}X = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
f(x) = 3x mod 17 ∀x ∈ X
x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
)f(x 3 9 10 13 5 15 11 16 14 8 7 4 12 2 6 1
ﻣﻥ ﺃﺟﻝ ﺃﻱ x ∈ Xﻧﺳﺗﻁﻳﻊ ﺑﺳﻬﻭﻟﺔ ﺇﻳﺟﺎﺩ ) f(xﻭ ﻟﻛﻥ ﻣﻥ ﺍﻟﺻﻌﺏ ﺇﻳﺟﺎﺩ xﺇﺫﺍ ﺃﻋﻁﻳﻧﺎ ﻣﺛﻼ ُ f(x) = 7ﺑﺩﻭﻥ
ﺍﻟﺟﺩﻭﻝ ﺍﻟﺳﺎﺑﻕ.
• ﻣﺛﺎﻝ:
p = 48611, q = 53993
n = p*q = 2624653723
}X = {1, 2, 3, …, n-1
mod n ∀x ∈ X
3
f(x) = x
• ﻣﺛﺎﻝ :ﺍﻟﻣﺛﺎﻝ ﺍﻟﺳﺎﺑﻕ ، n = 2624653723ﺑﺈﻋﻁﺎﺋﻧﺎ ﺍﻟﻣﻌﻠﻭﻣﺎﺕ ﺍﻹﺿﺎﻓﻳﺔ ﺑﺄﻥ ﻋﻭﺍﻣﻝ nﻫﻲ = p
،48611, q = 53993ﻳﺻﺑﺢ ﻣﻥ ﺍﻟﺳﻬﻝ ﺇﻳﺟﺎﺩ ﺍﻟﺗﺎﺑﻊ ﺍﻟﻌﻛﺳﻲ ﻟﻠﺗﺎﺑﻊ .f
ﻧﻈﺎﻡ ﺍﻟﺘﺸﻔﻴﺮ RSA
ﻣﻧﺗﺩﻯ ﻁﻼﺏ ﻛﻠﻳﺔ ﺍﻟﻬﻧﺩﺳﺔ ﺍﻟﻣﻌﻠﻭﻣﺎﺗﻳﺔ – ﻗﺳﻡ ﺍﻟﺳﻧﺔ ﺍﻟﺭﺍﺑﻌﺔ | ﺇﻋﺩﺍﺩ :ﻣﺎﺟﺩ ﺍﻟﺯﻳﺑﻕ
2 ﻣﻘﺭﺭ ﻣﺎﺩﺓ ﺃﻣﻥ ﺍﻟﻣﻌﻠﻭﻣﺎﺕ < ﺍﻟﻣﺣﺎﺿﺭﺓ ﺍﻟﺛﺎﻟﺛﺔ ﻋﺷﺭ 2011-01-06
• ﻣﻼﺣﻅﺎﺕ:
RSA -ﺗﺷﻔﺭ ﻛﺗﻠﺔ ﺭﺳﺎﻟﺔ ] M ∈ [0, n − 1ﻭ ﺫﻟﻙ ﺑﺣﺳﺎﺏ C = M mod n
b
RSA -ﺗﻔﻙ ﺗﺷﻔﻳﺭ ﻛﺗﻠﺔ ﺭﺳﺎﻟﺔ ﻣﺷﻔﺭﺓ Cﻭ ﺫﻟﻙ ﺑﺣﺳﺎﺏ M = C a mod n
-ﻓﻲ RSAﻳﻧﺻﺢ ﺑﺄﺧﺫ aﺃﻭﻟﻲ ﻧﺳﺑﻲ ﻟـ ) φ (nﻓﻲ ﺍﻟﻣﺟﺎﻝ ][max(p, q) +1, n-1
• ﻣﺛﺎﻝ:
ﻟﻧﻔﺭﺽ ﺃﻥ Bobﺇﺧﺗﺎﺭ p = 101, q = 113
n = p*q = (101)*(113) = 11413
φ (n) = (p-1)*(q-1) = (100)*(112) = 11200
Bobﺳﻭﻑ ﻳﺧﺗﺎﺭ ﻋﺩﺩ ﺻﺣﻳﺢ bﻟﻛﻲ ﻳﺳﺗﺧﺩﻣﻪ ﺃﺳﺎﺱ ﻟﻠﺗﺷﻔﻳﺭ ﻭ ﻳﺗﺄﻛﺩ ﻣﻥ ﺃﻥ gcd(φ ( n ), b ) = 1ﺑﺎﺳﺗﺧﺩﺍﻡ
ﺍﻟﺨﻮﺍﺭﺯﻣﻴﺔ ﺍﻹﻗﻠﻳﺩﻳﺔ ،ﻟﻧﻔﺭﺽ ﺃﻥ Bobﺍﺧﺗﺎﺭ b = 3533ﻋﻧﺩﺋﺫ ﺍﻟﺧﻭﺍﺭﺯﻣﻳﺔ ﺍﻹﻗﻠﻳﺩﻳﺔ ﺍﻟﻣﻭﺳﻌﺔ ﺗﻌﻁﻲ:
−1
=
ﺍﻟﺗﺷﻔﻳﺭ ﻟـ Bobﻫﻭ Bob ،a=6597 =
) ، a (3533ﻭ ﺑﺫﻟﻙ ﻳﻛﻭﻥ ﺃﺱ ﻓﻙ mod 11200 6597
ﻳﻧﺷﺭ Bob ،b=3533, n=11413ﻳﺑﻘﻲ p=101, q=113, a=6597ﺳﺭﻳﺔ
ﻣﻧﺗﺩﻯ ﻁﻼﺏ ﻛﻠﻳﺔ ﺍﻟﻬﻧﺩﺳﺔ ﺍﻟﻣﻌﻠﻭﻣﺎﺗﻳﺔ – ﻗﺳﻡ ﺍﻟﺳﻧﺔ ﺍﻟﺭﺍﺑﻌﺔ | ﺇﻋﺩﺍﺩ :ﻣﺎﺟﺩ ﺍﻟﺯﻳﺑﻕ
3 ﻣﻘﺭﺭ ﻣﺎﺩﺓ ﺃﻣﻥ ﺍﻟﻣﻌﻠﻭﻣﺎﺕ < ﺍﻟﻣﺣﺎﺿﺭﺓ ﺍﻟﺛﺎﻟﺛﺔ ﻋﺷﺭ 2011-01-06
Aliceﺗﺭﺳﻝ ﺍﻟﻧﺹ ﺍﻟﻣﺷﻔﺭ C = 5761ﺇﻟﻰ Bobﻋﻧﺩﻣﺎ ﻳﺳﺗﻘﺑﻝ Bobﺍﻟﻧﺹ ﺍﻟﻣﺷﻔﺭ C = 5761ﻳﻘﻭﻡ ﺑﺎﻟﺣﺳﺎﺏ
ﺍﻟﺗﺎﻟﻲ:
C a mod n =
)(5761 6597
mod 11413 9726
• ﻣﻼﺣﻅﺎﺕ:
ﺇﻥ Trapdoorﺍﻟﺫﻱ ﻳﺳﻣﺢ ﺑﻔﻙ ﺍﻟﺷﻔﺭﺓ ﻫﻲ ﻣﻌﺭﻓﺗﻪ ﺑﻌﻭﺍﻣﻝ ) nﻫﻭ ﻳﻌﺭﻑ (p, qﻟﺫﻟﻙ ﻳﺳﺗﻁﻳﻊ ﺣﺳﺎﺏ
) ، φ (n) = (p-1)*(q-1ﻭ ﻳﺳﺗﻁﻳﻊ ﺣﺳﺎﺏ ﺃﺱ ﻓﻙ ﺍﻟﺗﺷﻔﻳﺭ .a
ﺍﻟﺗﺷﻔﻳﺭ ﻭ ﻓﻙ ﺍﻟﺗﺷﻔﻳﺭ ﻳﻣﻛﻥ ﺃﻥ ﻳﻧﺟﺯ ﺑﺎﺳﺗﺧﺩﺍﻡ ﺧﻮﺍﺭﺯﻣﻴﺔ ﺍﻟﺭﻓﻊ ﺇﻟﻰ ﺃﺱ ﺍﻟﺳﺭﻳﻌﺔ:
)C = fastexp(M, b, n
)M = fastexp(C, a, n
ﺧﻮﺍﺭﺯﻣﻴﺔ ﺍﻟﺮﻓﻊ ﺇﻟﻰ ﺃﺱ ﺍﻟﺴﺮﻳﻌﺔ:
)Algorithm fastexp (a, z, n
// return
al = a
zl = z
x = l
while zl 0
{
while zl mod 2 = 0
{
;zl = zl div 2
al = (al * al) mod n
}
;zl = zl - 1
x = (x * al) mod n
}
return x
• ﻣﺛﺎﻝ:
p=5
q=7
n=p.q=5.7=35
φ (n ) =4.6=24
a ∈ [max( p , q ) + 1, n − 1] and a is prime
a ∈ [8,34] and a is prime
a=11 is prime
−1
==b a mod n (11)−1 mod 24
24= 2*11+2 2=24-2*11
11=5*2+1 1=11-5*2
2=2*1+0
)1=11-5*(24-2*11
1=11 -5*24+10*11
ﻣﻧﺗﺩﻯ ﻁﻼﺏ ﻛﻠﻳﺔ ﺍﻟﻬﻧﺩﺳﺔ ﺍﻟﻣﻌﻠﻭﻣﺎﺗﻳﺔ – ﻗﺳﻡ ﺍﻟﺳﻧﺔ ﺍﻟﺭﺍﺑﻌﺔ | ﺇﻋﺩﺍﺩ :ﻣﺎﺟﺩ ﺍﻟﺯﻳﺑﻕ
4 ﻣﻘﺭﺭ ﻣﺎﺩﺓ ﺃﻣﻥ ﺍﻟﻣﻌﻠﻭﻣﺎﺕ < ﺍﻟﻣﺣﺎﺿﺭﺓ ﺍﻟﺛﺎﻟﺛﺔ ﻋﺷﺭ 2011-01-06
1=11*11+(-5)*24
ﺍﻟﻌﺩﺩ ﺍﻟﻣﺟﺎﻭﺭ ﻟـ 11ﻫﻭ 11ﻟﺫﻟﻙ b=11
ﻟﻧﻔﺭﺽ ﺃﻥ M=2
C = M b mod n = 211 mod 35
ﻣﻧﺗﺩﻯ ﻁﻼﺏ ﻛﻠﻳﺔ ﺍﻟﻬﻧﺩﺳﺔ ﺍﻟﻣﻌﻠﻭﻣﺎﺗﻳﺔ – ﻗﺳﻡ ﺍﻟﺳﻧﺔ ﺍﻟﺭﺍﺑﻌﺔ | ﺇﻋﺩﺍﺩ :ﻣﺎﺟﺩ ﺍﻟﺯﻳﺑﻕ