Professional Documents
Culture Documents
ﻭﺍﻟﺼﻼﺓ ﻭﺍﻟﺴﻼﻡ ﻋﻠﻰ ﺃﺷﺮﻑ ﺍﻟﺨﻠﻖ ﻭﺍﻟﻤﺮﺳﻠﻴﻦ ،ﻧﺒﻴﻨﺎ ﻣﺤﻤﺪ ﻋﻠﻴﻪ ﺃﻓﻀﻞ
ﺍﻟﺼﻼﺓ ﻭﺍﻟﺘﺴﻠﻴﻢ ،ﺃﻣﺎ ﺑﻌﺪ ،
ﺑﻴﻦ ﻳﺪﻳﻚ ﺃﺧﻲ ﺍﻟﻘﺎﺭﺉ ﺍﻟﻜﺮﻳﻢ ،ﻛﺘﻴﺐ ﺑﺴﻴﻂ ﻳﺘﻨﺎﻭﻝ ﻭﺑﺸﻜﻞ ﺳﺮﻳﻊ ﺍﻟﺘﺸﻔﻴﺮ ﺑﺎﻟﻄﺮﻕ
ﺍﻟﻜﻼﺳﻴﻜﻴﺔ ،ﻭﺍﻟﺬﻱ ﻛﺎﻥ ﻓﻲ ﺍﻷﺻﻞ ﻋﺒﺎﺭﺓ ﻋﻦ ﻣﺠﻤﻮﻋﻪ ﻣﻦ ﺍﻟﺪﺭﻭﺱ ﻗﻤﺖ ﺑﻮﺿﻌﻬﺎ ﻓﻲ
ﻣﻨﺘﺪﻳﺎﺕ ﺍﻟﻌﺎﺻﻔﺔ ، www.3asfh.comﻭﺗﻢ ﺇﻋﺎﺩﺓ ﺗﻨﺴﻴﻖ ﻣﺤﺘﻮﻳﺎﺕ ﺍﻟﺪﺭﻭﺱ ،ﻣﻊ
ﺍﺿﺎﻓﻪ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﻨﻘﺎﻁ ﺍﻟﺠﺪﻳﺪﺓ ،ﻓﺸﻜﺮ ﺧﺎﺹ ﻷﻋﻀﺎﺀ ﺫﻟﻚ ﺍﻟﻤﻨﺘﺪﻯ ،ﻭﺍﻟﻘﺎﺋﻤﻴﻦ
ﻋﻠﻴﻪ .
ﺍﻟﻄﺮﻕ ﺍﻟﻜﻼﺳﻴﻜﻴﺔ Classical Methodﻫﻲ ﻋﺒﺎﺭﺓ ﻋﻦ ﻃﺮﻕ ﺗﺸﻔﻴﺮ ﺍﺳﺘﺨﺪﻣﺖ ﻣﻨﺬ ﺯﻣﻦ
ﺑﻌﻴﺪ ﻭﺧﺎﺻﺔ ﻓﻲ ﺃﻳﺎﻡ ﺍﻟﺤﺮﺏ ﺍﻟﻌﺎﻟﻤﻴﺔ ﺍﻷﻭﻟﻰ ﻭﺍﻟﺜﺎﻧﻴﺔ ،ﺣﻴﺚ ﻛﺎﻧﺖ ﺧﻄﻂ ﺍﻟﺤﺮﺏ
ﻭﻃﺮﻕ ﺍﻟﻬﺠﻮﻡ ﻋﻠﻰ ﺍﻟﻌﺪﻭ ﺗﺮﺳﻞ ﻋﻦ ﻃﺮﻳﻖ ﺭﺳﺎﺋﻞ ﻋﺎﺩﻳﻪ ﻣﻜﺘﻮﺑﺔ ﺑﺨﻂ ﺍﻟﻴﺪ )ﻓﻲ
ﺍﻷﻏﻠﺐ ( ﻭﻟﻜﻨﻬﺎ ﺗﺸﻔﺮ ﺑﺄﺣﺪ ﺍﻟﻄﺮﻕ ،ﺧﻮﻓﺎ ﻣﻦ ﺃﻥ ﺗﻘﻊ ﻓﻲ ﺃﻳﺪﻱ ﺍﻟﻌﺪﻭ ﻭﺑﺎﻟﺘﺎﻟﻲ ﺗﻔﺸﻞ
ﺗﻠﻚ ﺍﻟﺨﻄﻂ .
ﺑﺎﻟﺮﻏﻢ ﻣﻦ ﺃﻥ ﺗﻠﻚ ﺍﻟﻄﺮﻕ ﻏﻴﺮ ﻣﺠﺪﻳﻪ ﺃﺑﺪﺍ ﻓﻲ ﺍﻟﻮﻗﺖ ﺍﻟﺤﺎﻟﻲ ،ﻓﺈﻧﻬﺎ ﻣﻮﺿﻮﻉ ﻫﺬﺍ ﺍﻟﻜﺘﻴﺐ.
ﺭﺑﻤﺎ ﺗﺘﺴﺎﺀﻝ ﻭﻣﺎ ﺍﻟﺠﺪﻭﻯ ﻣﻦ ﺫﻟﻚ ،ﺍﻟﺠﻮﺍﺏ ﺑﻜﻞ ﺑﺴﺎﻃﻪ ،ﻷﻧﻬﺎ ﺗﻌﺘﺒﺮ ﺍﻷﺳﺎﺱ ﻟﻠﻜﺜﻴﺮ
ﻣﻦ ﺍﻟﺸﻔﺮﺍﺕ ﺍﻟﺤﺪﻳﺜﺔ ،ﺍﺿﺎﻓﻪ ﺇﻟﻰ ﺃﻥ ﺩﺭﺍﺳﺘﻬﺎ ﻳﻨﻤﻰ ﺍﻟﻌﻘﻞ ﻋﻠﻰ ﺍﻟﺘﻔﻜﻴﺮ ﻭﺍﻟﺒﺤﺚ ،ﺣﻴﺚ
ﺃﻧﻬﺎ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﻓﻘﻂ ﻋﻠﻰ ﺍﻟﺘﻼﻋﺐ ﺑﺎﻷﺣﺮﻑ )ﺇﻣﺎ ﺗﺒﺪﻳﻞ ﺃﻣﺎﻛﻦ ﺍﻷﺣﺮﻑ
،Transpositionﺃﻭ ﺗﺒﺪﻳﻠﻬﺎ ﺑﺄﺣﺮﻑ ﺃﺧﺮﻯ ﺑﻌﺪ ﻋﻤﻠﻴﻪ ﺣﺴﺎﺑﻴﻪ ﻣﺎ ، ( Substitution
ﻏﻴﺮ ﺫﻟﻚ ﻓﻌﻤﻠﻴﺔ ﻛﺴﺮ ﻫﺬﻩ ﺍﻟﺸﻔﺮﺍﺕ ﺃﻣﺮ ﻓﻲ ﻏﺎﻳﺔ ﺍﻟﻤﺘﻌﺔ .
2
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺍﻟﻘﺴﻢ ﺍﻟﺜﺎﻟﺚ The Implementationﻳﺤﺘﻮﻱ ﻋﻠﻰ ﺃﻛﻮﺍﺩ ﺑﺮﻣﺠﻴﻪ )ﻣﻜﺘﻮﺑﺔ ﺑـ ( C++
ﻟﺘﻄﺒﻴﻖ ﺗﻠﻚ ﺍﻟﺸﻔﺮﺍﺕ ﺍﻟﻤﻮﺟﻮﺩﺓ ﺑﺎﻟﻔﺼﻞ ﺍﻟﺜﺎﻧﻲ ،ﻭﻛﻤﺎ ﻳﺤﺘﻮﻱ ﺃﻛﻮﺍﺩ ﻟﺒﻌﺾ ﻣﻦ
ﺍﻟﺨﻮﺍﺭﺯﻣﻴﺎﺕ ﺍﻟﺮﻳﺎﺿﻴﺔ ﺍﻟﻤﻮﺟﻮﺩﺓ ﺑﺎﻟﻔﺼﻞ ﺍﻷﻭﻝ ) .ﺍﻟﺒﺮﺍﻣﺞ ﻛﺎﻣﻠﺔ ﻣﻮﺟﻮﺩﺓ ﻣﺮﻓﻘﻪ ﻣﻊ
ﺍﻟﻜﺘﻴﺐ( .
ﻟﻌﻠﻚ ﻻﺣﻈﺖ ﺃﺧﻲ ﺍﻟﻘﺎﺭﺉ ،ﺃﻥ ﺍﻟﻜﺘﻴﺐ ﺣﺎﻟﻴﺎ ﻧﺴﺨﻪ ﻣﺒﺪﺋﻴﺔ ،ﻭﻳﻠﺰﻣﻪ ﺍﻟﻜﺜﻴﺮ ﻣﻦ
ﺍﻹﺿﺎﻓﺎﺕ ﺣﺘﻰ ﻳﺼﺒﺢ ﻣﺮﺟﻊ ﻣﻤﺘﺎﺯ ﻟﻠﻄﻠﺒﺔ ﻭﺍﻟﺒﺎﺣﺜﻴﻦ ﻓﻲ ﻫﺬﺍ ﺍﻟﻤﺠﺎﻝ ،ﻓﺈﺫﺍ ﻛﻨﺖ ﻣﻬﺘﻢ
ﺑﻬﺬﺍ ﺍﻟﻤﺠﺎﻝ ،ﻭﻟﺪﻳﻚ ﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ ﺍﺿﺎﻓﻪ ﻣﻮﺍﺿﻴﻊ ﺫﺍﺕ ﻋﻼﻗﺔ ﻓﺄﺭﺟﻮﺍ ﺇﻋﻼﻣﻲ ﻭﺇﺭﺳﺎﻝ
ﺭﺳﺎﻟﺔ ﻋﻠﻰ ﺑﺮﻳﺪﻱ ،ﻭﺳﻨﻀﻤﻦ ﻟﻚ ﻛﺎﻓﻪ ﺣﻘﻮﻗﻚ ﺍﻟﻔﻜﺮﻳﺔ ،ﻛﻤﺎ ﻳﺮﺣﺐ ﺑﻜﻞ ﻧﻘﺪ ﺃﻭ ﺗﻌﺪﻳﻞ
ﺃﻭ ﺃﻱ ﺍﺳﺘﻔﺴﺎﺭ ﻓﻲ ﻫﺬﺍ ﺍﻟﻤﺠﺎﻝ .
أﺧﯿﺮ ،أﺣﺐ أن أﺷﻜﺮ أﺧﻲ "اﻟﺼﻘﺮ اﻟﺠﺎرح" ﻣﻦ ﻣﻨﺘﺪﯾﺎت اﻟﻌﺎﺻﻔﺔ ،ﻋﻠﻰ ﺗﺼﻤﯿﻤﮫ ﻟﻠﻐﻼف
وإﺧﺮاﺟﮫ ﺑﮭﺬا اﻟﺸﻜﻞ اﻟﺮاﺋﻊ ،ﻓﺠﺰاه اﷲ ﺧﯿﺮا .وأﺗﻤﻨﻰ ﻟﮫ دوام اﻟﺘﻮﻓﯿﻖ ﻓﻲ ﺣﯿﺎﺗﮫ .
3
PDF created with pdfFactory Pro trial version www.pdffactory.com
7 ............................................ Preliminaries ﺍﻷﺳﺎﺳﻴﺎﺕ: ﺍﻟﻘﺴﻢ ﺍﻷﻭﻝ
7 ................................................ THE DIVISION ALGORITHM ﺧﻮارزﻣﯿﺔ اﻟﻘﺴﻤﺔ
8 ............................................................................ Prime Number اﻷﻋﺪاد اﻷوﻟﯿﺔ
10 ............................................... Greatest Common Divisor اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ
11 .............................................................. Euclidean Algorithm ﺧﻮارزﻣﯿﺔ أﻗﻠﯿﺪس
12 .................................... Extended Euclidean Algorithm اﻟﺨﻮارزﻣﯿﺔ اﻹﻗﻠﯿﺪﯾﮫ اﻟﻤﻤﺘﺪة
16 .................... The Fundamental Theorem of Arithmetic اﻟﻨﻈﺮﯾﺔ اﻷﺳﺎﺳﯿﺔ ﻓﻲ اﻟﺤﺴﺎب
17 ............................................ Least Common Multiple اﻟﻤﻀﺎﻋﻒ اﻟﻤﺸﺘﺮك اﻷﺻﻐﺮ
17 ........................................................................... XOR – Exclusive-Or اﻟﻤﻌﺎﻣﻞ
18 ...................................................................................................Logarithms
20 .................................................. ﺍﻟﺸﻔﺮﺍﺕ ﺍﻟﻜﻼﺳﻴﻜﻴﺔ: ﺍﻟﻘﺴﻢ ﺍﻟﺜﺎﻧﻲ
21 ............................................................................................... Coding اﻟﺘﺮﻣﯿﺰ
23 ........................................................ Classical Method اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻄﺮق اﻟﻜﻼﺳﯿﻜﯿﺔ
24 ...................................................... Monoalphabetic Substitution Cipher ﺷﻔﺮات
24 ............................................................................... Caesar Cipher ﺷﻔﺮه ﻗﯿﺼﺮ
29 ............................................................................... Atbash Cipherﺷﻔﺮه أﺗﺒﺎش
29 ................................................................................................. ROT13 ﺷﻔﺮه
30 ........................................................................................ Affine Cipher ﺷﻔﺮه
32 ....................................................... MONOALPHABETICﻛﺴﺮ اﻟﺸﻔﺮات ﻣﻦ ﻧﻮع
34 ......................................................... Polyalphabetic substitution cipher ﺷﻔﺮات
34 .................................................................. Simple Shift Vigenere Cipher ﺷﻔﺮه
37 ................................................................... اﻟﺒﺴﯿﻄﺔVigenere ﻛﺴﺮ ﺷﻔﺮات ﻓﺠﯿﻨﯿﺮ
38 .................................... Key Length ﻟﻤﻌﺮﻓﮫ ﻋﺪد اﻟﻤﻔﺎﺗﯿﺢKAISISKI ﻃﺮﯾﻘﮫ ﻛﯿﺴﺴﻜﻲ
42 ........................................ THE FULL VIGENERE CIPHERﻃﺮﯾﻘﮫ ﻓﺠﯿﻨﯿﺮ اﻟﻜﺎﻣﻠﺔ
43 ...................... THE AUTO-KEY VIGENERE CIPHER ﺷﻔﺮه ﻓﺠﯿﻨﯿﺮ ﺗﻠﻘﺎﺋﯿﺔ اﻟﻤﻔﺘﺎح
44 .................... THE Running KEY VIGENERE CIPHER ﺷﻔﺮه ﻓﺠﯿﻨﯿﺮ ﻃﻮﯾﻠﺔ اﻟﻤﻔﺘﺎح
45 ............................................................. PolyGram Substitution Cipher ﺷﻔﺮات
46 ............................................................. THE PLAYFAIR CIPHERﺷﻔﺮه ﺑﻼﻓﯿﺮ
48 ..................................................................................... Hill Cipher ﺷﻔﺮه ھﯿﻞ
54 ...................................... PolyGram Substitution Cipherﻛﺴﺮ اﻟﺨﻮارزﻣﯿﺎت ﻣﻦ ﻧﻮع
54 ........................................... THE JEFFERSON CYLINDER أﺳﻄﻮاﻧﺔ ﺟﯿﻔﯿﺮﺳﻮن
56 .......................... HOMOPHONIC SUBSTITUTION CIPHERS اﻟﺘﺸﻔﯿﺮ ﺑﻄﺮﯾﻘﮫ اﻟـ
4
PDF created with pdfFactory Pro trial version www.pdffactory.com
58 .................................................... TRANSPOSITION CIPHERS اﻟﺘﺸﻔﯿﺮ ﺑﺎﻹﺑﺪال
61 .................................................................. THE ONE-TIME PADاﻟﺸﻔﺮه اﻷﻣﻨﮫ
63 .................................................................................. أﺳﺌﻠﺔ ﺷﺎﻣﻠﮫ ﻟﻜﻞ اﻟﻤﻮﺿﻮع
66 ......................................... Implementation ﺍﻟﺘﻄﺒﻴﻖ: ﺍﻟﻘﺴﻢ ﺍﻟﺜﺎﻟﺚ
67 .......................................................................... characters اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺤﺮوف
70 .......................................... Greatest Common Divisor إﯾﺠﺎد اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ
71 ................................................................................... ﺧﻮارزﻣﯿﺔ اﻗﻠﯿﺪس اﻟﻤﻤﺘﺪة
72 ............................................................. Trial Division اﺧﺘﺒﺎر أوﻟﯿﮫ اﻟﻌﺪد ﺑﺎﺳﺘﺨﺪام
72 ......................................................................................... اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻠﻮﻏﺮﯾﺘﻢ
73 ...................................................................... Fast Exponentiation Algorithms
74 ............................................................................... Caesar Cipher ﺷﻔﺮة ﻗﯿﺼﺮ
76 ................................................................................................. ROT13 ﺷﻔﺮة
77 ............................................................................ Affine Cipher اﻟﺘﺸﻔﯿﺮ ﺑﻄﺮﯾﻘﮫ
78 .............................................. Simple Shift Vigenere Cipher ﺷﻔﺮة ﻓﯿﺠﻨﯿﺮ اﻟﺒﺴﯿﻄﺔ
79 ............................................................Full Vigenere Cipher ﺷﻔﺮه ﻓﯿﺠﯿﻨﺮ اﻟﻜﺎﻣﻠﺔ
81 .......................................... Auto Key Vigenere Cipher ﺷﻔﺮه ﻓﺠﯿﻨﯿﺮ ﺗﻠﻘﺎﺋﯿﺔ اﻟﻤﻔﺘﺎح
82 ................................. the Running key Vigenere Cipher ﺷﻔﺮه ﻓﯿﺠﯿﻨﺮ ﻃﻮﯾﻠﺔ اﻟﻤﻔﺘﺎح
83 ............................................................................. Playfair Cipher ﺷﻔﺮة ﺑﻼﻓﯿﺮ
83 ...................................................................................... Reverse Cipher ﺷﻔﺮه
84 ................................ ﻣﻘﺪﻣﻪ ﻓﻲ ﺍﻟﺘﺸﻔﻴﺮ ﺑﺎﻟﻄﺮﻕ ﺍﻟﺤﺪﻳﺜﺔ: ﺍﻟﻔﺼﻞ ﺍﻟﺮﺍﺑﻊ
85 ...................................................................... Why Cryptography ﻟﻤﺎذا ﺑﺎﻟﺘﺸﻔﯿﺮ
87 ......................................... Symmetric key Cryptography اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ
91 ............................................................................. وﻣﺎ ھﻲ أھﻤﯿﺘﮫ، ﻣﺎ ھﻮ اﻟﻤﻔﺘﺎح
94 ......................................................................... Key Generation ﺗﻮﻟﯿﺪ اﻟﻤﻔﺘﺎح
100 .............................................................................. Block Cipherﺷﻔﺮات اﻟﻜﺘﻞ
102 .......................................................................... Stream Ciphers ﺷﻔﺮه اﻟﺘﺪﻓﻖ
103 .......................................................................... ﻣﻦ اﻷﻓﻀﻞBlock VS Stream
103 ................................................................................................. Triple DES
105 .................................................................... Advanced Encryption Standard
105 ............................................ Symmetric-Key Management اداره اﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ
109 ............................................. Hardware-Based Key Storage أﺟﮭﺰه ﺣﻔﻆ اﻟﻤﻔﺎﺗﯿﺢ
110 .................................................................................... Crypto Accelerators
5
PDF created with pdfFactory Pro trial version www.pdffactory.com
112 ........................... The Key Distribution Problem and Public-Key Cryptography
116 . ﻟﻤﺤﮫ ﺗﺎرﯾﺨﯿﺔ ﻋﻦ اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻄﺮﯾﻘﺔ ﻏﯿﺮ ﻣﺘﻨﺎﻇﺮةHistory of Public-Key Cryptography
119 ..................................................................................... ﺍﻟﺨﺎﺗﻤﺔ
6
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺍﻟﻘﺴﻢ ﺍﻷﻭﻝ :ﺍﻷﺳﺎﺳﻴﺎﺕ Preliminaries
ﻟﻔﮭﻢ أﻏﻠﺐ اﻟﺸﻔﺮات اﻟﺤﺪﯾﺜﺔ ﯾﻠﺰم ﻓﮭﻢ اﻟﻜﺜﯿﺮ ﻣﻦ ﻧﻈﺮﯾﮫ اﻷﻋﺪاد ، Number Theoryوﻟﻜﻦ ﺑﻤﺎ
أن اﻟﻜﺘﯿﺐ ﯾﺮﻛﺰ ﻋﻠﻰ اﻟﺸﻔﺮات ﺑﺎﻟﻄﺮق اﻟﻜﻼﺳﯿﻜﯿﺔ ﻓﺴﻮف ﻧﺘﻨﺎول ﻣﺎ ﯾﮭﻤﻨﺎ ﻓﻘﻂ ﻓﻲ اﻟﻮﻗﺖ اﻟﺤﺎﻟﻲ .
وﺳﻮف ﺗﻜﻮن اﻟﻘﻮاﻋﺪ ﻣﻜﺘﻮﺑﺔ وﻟﻜﻦ ﻣﻦ ﻏﯿﺮ إﺛﺒﺎت رﯾﺎﺿﻲ ﻟﮭﺎ ، Proveﯾﻤﻜﻨﻚ ﺗﺠﺎوز ھﺬا اﻟﻘﺴﻢ
واﻟﻌﻮدة إﻟﯿﮫ ﻻﺣﻘﺎ ﻋﻨﺪﻣﺎ ﺗﺤﺘﺎﺟﮫ ﻓﻲ ﺷﻔﺮه ، Affine Cipherوﻟﻜﻨﻲ ﻻ أﻓﻀﻞ ذﻟﻚ .
اذا ﻛﺎن ﻟﺪﯾﻨﺎ ﻋﺪدﯾﻦ ﺻﺤﯿﺤﯿﻦ aو ، bوﻛﺎن ) a !=0ﻻ ﯾﺴﺎوي . (0ﻧﻘﻮل ﻋﻦ aﯾﻘﺴﻢ bاذا
ﻛﺎن ﻟﺪﯾﻨﺎ ﻋﺪد ﺛﺎﻟﺚ cﺑﺤﯿﺚ . b = a*cاذا ﻛﺎن aﯾﻘﺴﻢ bﻧﺸﯿﺮ إﻟﯿﮫ ﺑﺎﻟﺮﻣﺰ . a|b
اذا . x|z اذا ﻛﺎن ﻟﺪﯾﻨﺎ ﺛﻼﺛﺔ أﻋﺪاد ﺻﺤﯿﺤﺔ ، x,y,zوﻛﺎن x|yو y|z
ﻣﺜﺎل :
ﻟﺪﯾﻨﺎ ، 3|9و ، 9|72اذا 3ﺗﻘﺴﻢ 3|27 = 72
وھﻲ أﺣﺪ اﻟﺨﻮارزﻣﯿﺎت اﻟﻤﮭﻤﺔ ﺟﺪا ،ﺣﯿﺚ ﺗﻘﻮل اﻧﮫ ﯾﻤﻜﻨﻨﺎ أن ﻧﻤﺜﻞ أي ﻋﺪد ﺻﺤﯿﺢ ،وذﻟﻚ
ﺑﻮاﺳﻄﺔ ﺿﺮب ﻋﺪد ﺻﺤﯿﺢ bﻣﻊ اﺿﺎﻓﮫ ﺑﺎﻗﻲ rﺑﺤﯿﺚ ﯾﻜﻮن اﻟﺒﺎﻗﻲ ﻋﺪد ﻣﻮﺟﺐ وأﻗﻞ ﻣﻦ اﻟﻌﺪد . b
اذا ﻛﺎن ﻟﺪﯾﻨﺎ ﻋﺪدﯾﻦ ﺻﺤﯿﺢ ، y,bوﻛﺎن bأﻛﺒﺮ ﻣﻦ ﺻﻔﺮ ،اذا ﺳﯿﻜﻮن ﻟﺪﯾﻨﺎ ﻋﺪدﯾﻦ q,r
ﺑﺤﯿﺚ :
Y = b*q + r
qھﻮ ﺣﺎﺻﻞ اﻟﻘﺴﻤﺔ r . Quotientھﻮ اﻟﺒﺎﻗﻲ b . remainderھﻮ اﻟﻤﻘﺴﻮم ، Divisor
yھﻮ اﻟﻘﺎﺳﻢ . dividend
7
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻣﺜﺎل أﺧﺮ :
-21 = 5*q + r
ﺑﻘﺴﻤﮫ -21ﻋﻠﻰ ، 5ﺳﻮف ﻧﺤﺼﻞ ﻋﻠﻰ ﺣﺎﺻﻞ اﻟﻘﺴﻤﺔ ، - 4واﻟﺒﺎﻗﻲ ﺳﻮف ﯾﻜﻮن ، 1-وﻟﻜﻦ ﻛﻤﺎ
ذﻛﺮﻧﺎ ﻓﻲ اﻟﻘﺎﻋﺪة اﻟﺴﺎﺑﻘﺔ أن اﻟﺒﺎﻗﻲ rداﺋﻤﺎ ﯾﻜﻮن ﻣﻮﺟﺐ ،ﻟﺬﻟﻚ ﻧﻘﻮم ﺑﺠﻤﻊ 5ﻓﻲ اﻟﺒﺎﻗﻲ ،وﻧﻄﺮح
1ﻣﻦ ﺣﺎﺻﻞ اﻟﻘﺴﻤﺔ
ﻟﯿﻜﻮن ﻟﺪﯾﻨﺎ . r = 4 ، q = -5
ﻧﻄﺒﻘﮭﺎ ﻓﻲ اﻟﻤﻌﺎدﻟﺔ :
-21 = 5*-5+4وھﻮ ﺻﺤﯿﺢ .
اﻟﻌﺪد اﻷوﻟﻲ ،ھﻮ اﻟﻌﺪد اﻟﺼﺤﯿﺢ integerأﻛﺒﺮ ﻣﻦ ، 1وﻻ ﯾﻘﺒﻞ اﻟﻘﺴﻤﺔ إﻻ ﻋﻠﻰ ﻧﻔﺴﮫ وﻋﻠﻰ
. 1ﺑﺎﻗﻲ اﻷﻋﺪاد اﻟﺘﻲ أﻛﺒﺮ ﻣﻦ 1وﻏﯿﺮ أوﻟﯿﮫ ﺗﺴﻤﻰ أﻋﺪاد ﻣﺮﻛﺒﮫ Composite Number
وھﺬا ﻣﻌﻨﺎه اذا أردﻧﺎ أن ﻧﻌﺮف ﻋﻠﻰ اﻟﻌﺪد xھﻮ أوﻟﻲ أم ﻻ ،ﺳﻮف ﻧﺒﺤﺚ ﻣﻦ اﻟﺒﺪاﯾﺔ ) 2ﻻن واﺣﺪ
ﻟﯿﺲ أوﻟﻲ( إﻟﻰ أن ﻧﺼﻞ إﻟﻰ ﺟﺬر اﻟﻌﺪد . xوﻧﺨﺘﺒﺮ ﻛﻞ ﻋﺪد ﻣﻦ ھﺬه اﻷﻋﺪاد ،ھﻞ ﯾﻘﺒﻞ xاﻟﻘﺴﻤﺔ
ﻋﻠﯿﮭﺎ ،ﻓﻲ ﺣﺎل ﺗﺤﻘﻖ ذﻟﻚ ،ﻧﻜﻮن ﻗﺪ ﻋﺮﻓﻨﺎ أن اﻟﻌﺪد ﻟﯿﺲ أوﻟﻲ ،وإذا ﻟﻢ ﯾﺘﺤﻘﻖ ﻓﯿﻜﻮن اﻟﻌﺪد
أوﻟﻲ .
8
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻣﺜﻼ ﻟﺪﯾﻨﺎ اﻟﻌﺪد ، 101ﻧﺒﺪأ ﺑﺎﻻﺧﺘﺒﺎر ﻣﻦ ، 2إﻟﻰ ﺟﺬر 101وھﻮ . 10
ھﻞ 101ﯾﻘﺒﻞ اﻟﻘﺴﻤﺔ ﻋﻠﻰ . 2ﻻ
ھﻞ 101ﯾﻘﺒﻞ اﻟﻘﺴﻤﺔ ﻋﻠﻰ ، 3ﻻ
ھﻞ 101ﯾﻘﺒﻞ اﻟﻘﺴﻤﺔ ﻋﻠﻰ 4و 5و 6و 7و 8و . 9إﻟﻰ أن ﻧﺼﻞ إﻟﻰ ، 10وأﯾﻀﺎ ﻻ ﯾﻘﺒﻞ ،اذا
اﻟﻨﺘﯿﺠﺔ أن اﻟﻌﺪد 101ھﻮ ﻋﺪد أوﻟﻲ .
ھﺬه اﻟﻄﺮﯾﻘﮫ ﻓﻲ اﻟﺒﺤﺚ ﻟﯿﺴﺖ ﻣﻦ أﻓﻀﻞ اﻟﻄﺮق ﻓﻲ اﺧﺘﺒﺎر أوﻟﯿﮫ اﻟﻌﺪد ،وھﻨﺎك اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻄﺮق
أﻓﻀﻞ ﻣﻨﮭﺎ ،وھﻲ ﺗﺴﻤﻰ ﻃﺮﯾﻘﮫ . Trial Division
ﻣﺜﻼ ﻟﺪﯾﻨﺎ ﻋﺪد ﺿﺨﻢ ﯾﺘﻜﻮن ﻣﻦ 500ﺧﺎﻧﮫ ،ﺑﻌﺪ أﺧﺬ اﻟﺠﺬر اﻟﺘﺮﺑﯿﻌﻲ أﺻﺒﺢ ﯾﺘﻜﻮن ﻣﻦ 250ﺧﺎﻧﮫ
،اﻵن ﻃﺮﯾﻘﮫ Trial Divisionﺳﻮف ﺗﻜﻮن ﻣﻀﯿﻌﮫ ﻟﻠﻮﻗﺖ واﻟﺠﮭﺪ ﻷﻧﮭﺎ ﺳﻮف ﺗﺨﺘﺒﺮ ﻣﻦ
اﻟﺒﺪاﯾﺔ وﺣﺘﻰ ذﻟﻚ اﻟﻌﺪد اﻟﺬي ﯾﺘﻜﻮن ﻣﻦ 250ﺧﺎﻧﮫ ،ﻟﺬﻟﻚ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ اﻷﻋﺪاد اﻟﻀﺨﻤﺔ )ﻛﻤﺎ ھﻮ
اﻟﺤﺎل ﻓﻲ اﻟﺸﻔﺮات اﻟﺤﺪﯾﺜﺔ( ﯾﺠﺐ اﻟﺒﺤﺚ ﻋﻦ ﺣﻞ أﻛﺜﺮ ﻛﻔﺎﺋﮫ .
وھﻨﺎك اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻄﺮق ﻟﮭﺬا اﻷﻣﺮ ،وﺳﻮف ﻧﺘﻨﺎوﻟﮭﺎ ﻓﻲ اﻟﻨﺴﺨﺔ اﻟﻨﮭﺎﺋﯿﺔ ﻣﻦ اﻟﻜﺘﯿﺐ ﺑﺈذن اﷲ
ﺑﺎﻟﺘﻔﺼﯿﻞ ،وﻟﻜﻦ ﯾﻤﻜﻦ ﻟﺘﺴﺮﯾﻊ اﻷﻣﺮ اﺧﺘﺒﺎر اﻷﻋﺪاد اﻟﻔﺮدﯾﺔ ﻓﻘﻂ ﻓﻲ ﻃﺮﯾﻘﮫ . Trial Division
أﯾﻀﺎ ھﻨﺎك ﻃﺮﯾﻘﮫ ، Sieve of Eratosthenesوھﻲ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﻋﻤﻞ إﻟﻐﺎء ﺟﻤﯿﻊ ﻣﻀﺎﻋﻔﺎت
اﻷﻋﺪاد 2و 3و 5و 7ﻣﻦ ﻣﺪى اﻷﻋﺪاد اﻟﻤﺮاد اﻟﺒﺤﺚ .
ﻣﺜﺎل ﻟﻠﺘﻮﺿﯿﺢ ،ﻧﺮﯾﺪ ﻣﻌﺮﻓﮫ اﻷﻋﺪاد اﻷوﻟﯿﺔ ﺑﯿﻦ 2إﻟﻰ ، 99ﻧﻘﻮم ﺑﻌﻤﻞ ﺟﺪول ﻓﯿﮫ ﺟﻤﯿﻊ ﺗﻠﻚ
اﻷﻋﺪاد )ﻓﻲ اﻟﻐﺎﻟﺐ ﯾﻜﻮن ﻓﻲ ﻣﺼﻔﻮﻓﺔ( ،ﺑﻌﺪھﺎ ﻧﻘﻮم ﺑﺸﻄﺐ ﻣﻀﺎﻋﻔﺎت اﻟﻌﺪد 2ﻣﻦ اﻟﺠﺪول ،
وﻣﻀﺎﻋﻔﺎت اﻟﻌﺪد 3ﻣﻦ اﻟﺠﺪول وھﻜﺬا ،ﺣﺘﻰ ﯾﺘﺒﻘﻰ ﻟﺪﯾﻨﺎ اﻟﺠﺪول اﻟﺘﺎﻟﻲ :
وھﻮ اﻵن ﯾﺤﺘﻮي ﻋﻠﻰ ﺟﻤﯿﻊ اﻷﻋﺪاد اﻷوﻟﯿﺔ ﻣﻦ 2إﻟﻰ ، 99ﻋﻠﻰ اﻟﻌﻤﻮم وﻛﻤﺎ ﻻﺣﻈﺖ أﻧﮭﺎ
ﺳﻮف ﺗﺴﺘﻐﺮق ﻣﺴﺎﺣﮫ ﻛﺒﯿﺮة ﻓﻲ ﺣﺎﻟﮫ اﻟﻌﺪد اﻟﻤﺮاد اﺧﺘﺒﺎره ﻛﺒﯿﺮ ،ذﻟﻚ ھﻲ ﻏﯿﺮ ﻣﺴﺘﺨﺪﻣﮫ ﺑﻜﺜﺮة .
9
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺍﻟﻘﺎﺳﻢ ﺍﻟﻤﺸﺘﺮﻙ ﺍﻷﻋﻈﻢ ) Greatest Common Divisorﺍﺧﺘﺼﺎﺭﺍ ( GCD
اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ ﻟﻌﺪدﯾﻦ ھﻮ أﻛﺒﺮ ﻋﺪد ﺻﺤﯿﺢ ﯾﻘﺒﻞ اﻟﻘﺴﻤﺔ ﻋﻠﻰ اﻟﻌﺪدﯾﻦ .
ﻣﺜﻼ ﻧﺮﯾﺪ ﻣﻌﺮﻓﮫ اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻛﺒﺮ ﻟﻠﻌﺪدﯾﻦ . 18 ، 30ﻧﻘﻮم ﺑﻤﻌﺮﻓﮫ ﺟﻤﯿﻊ ﻗﻮاﺳﻢ اﻟﻌﺪدﯾﻦ ،
وﻧﺄﺧﺬ اﻟﻌﺪد اﻷﻛﺒﺮ ﻣﻦ ھﺬه اﻟﻘﻮاﺳﻢ :
30ﯾﻘﺒﻞ اﻟﻘﺴﻤﺔ ﻋﻠﻰ 1و 2و 3و 5و 6و 10و 15و 30
18ﯾﻘﺒﻞ اﻟﻘﺴﻤﺔ ﻋﻠﻰ 1و 2و 3و 6و 9و 18
ﻧﻼﺣﻆ ﻓﻲ اﻷﻋﺪاد اﻟﺴﺎﺑﻘﺔ أﻛﺒﺮ ﻗﺎﺳﻢ ﯾﻘﺒﻞ اﻟﻘﺴﻤﺔ ﻋﻠﻰ اﻟﻌﺪدﯾﻦ وھﻮ . 6
GCD(30,18) = 6
ﯾﻘﺎل ﻋﻦ ﻋﺪدﯾﻦ "أوﻟﯿﺎن ﻓﯿﻤﺎ ﺑﯿﻨﮭﻤﺎ" Relatively Primeاذا ﻛﺎن اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ
ﻟﮭﻢ ھﻮ . 1
ﻣﺜﺎل :
GCD(18,-54) = GCD(18,54) = 9
ﻷﺧﺬ اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ ﻟﻤﺠﻤﻮﻋﮫ ﻣﻦ اﻷﻋﺪاد ﻧﻘﻮم ﺑﺄﺧﺬ اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ ﻟﻌﺪدﯾﻦ
ﻣﻨﮭﻢ ،واﻟﻨﺎﺗﺞ ﻧﺄﺧﺬه ﻣﻊ اﻟﻌﺪد اﻟﺜﺎﻟﺚ وھﻜﺬا .
10
PDF created with pdfFactory Pro trial version www.pdffactory.com
اذا ﻛﺎن اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ ﻟﻤﺠﻤﻮﻋﮫ ﻣﻦ اﻷﻋﺪاد = ، 1وﻛﺎن ھﻨﺎك زوج ﻣﻦ ھﺬه اﻷﻋﺪاد
)أي ﻋﺪدﯾﻦ( اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ ھﻮ ﻏﯿﺮ ) 1أي ﻟﯿﺲ أوﻟﯿﺎن ﻓﯿﻤﺎ ﺑﯿﻨﮭﻤﺎ( ،ﻓﺄﻧﮭﺎ ﺗﺴﻤﻰ
، mutually relatively primeأﻣﺎ ﻓﻲ ﺣﺎﻟﺔ ﻛﺎن ﺟﻤﯿﻊ اﻷزواج ﻣﻊ ﺑﻌﻀﮭﺎ ﯾﻜﻮن اﻟﻘﺎﺳﻢ
ﯾﺴﺎوي واﺣﺪ ﻓﺈﻧﮭﺎ ﺗﺴﻤﻰ . pairwise relatively prime
ﻣﺜﺎل :ﻟﺤﺴﺎب اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ ﻟﻸﻋﺪاد 28و 126و 21و : 10
= )( (28,126) , 21 , 10
= )(14 , 21 , 10
= )( (14,21) , 10
= )(7,10
=1
ﻻﺣﻆ اﻟﻨﺘﯿﺠﺔ ھﻲ واﺣﺪ ،ﺑﺎﻟﺮﻏﻢ ﻣﻦ أن ھﻨﺎك زوج ﻣﻦ اﻷﻋﺪاد ﻏﯿﺮ أوﻟﯿﺎن ﻓﯿﻤﺎ ﺑﯿﻨﮭﻤﺎ ،
). 7 = (28,126
وﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﺗﺴﻤﻰ ﻣﺠﻤﻮﻋﮫ اﻷﻋﺪاد . mutually relatively primeأﻣﺎ ﻓﻲ ﺣﺎﻟﮫ ﻛﺎن
ﺟﻤﯿﻊ اﻷزواج ﻣﻦ اﻷﻋﺪاد أوﻟﯿﺎن ﻓﯿﻤﺎ ﺑﯿﻨﮭﻤﺎ ﻓﺘﺴﻤﻰ ﻣﺠﻤﻮﻋﮫ اﻷﻋﺪاد ﺑـ pairwise relatively
. prime
ﻣﺜﺎل :اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك ﻟﻸﻋﺪاد 18و 9و 25ھﻮ ، 1وﻣﻊ ذﻟﻚ ﻓﮭﻲ mutually relatively
، primeﻻن اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ ل 18,9ھﻮ ) 9أي ھﻤﺎ ﻟﯿﺴﺎ أوﻟﯿﺎن ﻓﯿﻤﺎ ﺑﯿﻨﮭﻤﺎ( .
اذا ﻛﺎن ﻟﺪﯾﻨﺎ ﻋﺪدﯾﻦ c,qﺑﺤﯿﺚ ، c = q*d + rاذا ). GCD(d,r) = GCD(c,q
اﻟﻘﺎﻋﺪة اﻟﺴﺎﺑﻘﺔ ﻣﮭﻤﺔ ﺟﺪا ،وﻧﺴﺘﻄﯿﻊ ﻣﻦ ﺧﻼﻟﮭﺎ إﯾﺠﺎد اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ ﻟﻠﻌﺪدﯾﻦ ﺑﺴﺮﻋﺔ .
ﻣﺜﺎل :أوﺟﺪ اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ 132و 55ﺑﺎﺳﺘﺨﺪام ﺧﻮارزﻣﯿﺔ أﻗﻠﯿﺪس :
132 = 55 * 2 + 22
55 = 22 * 2 + 11
22 = 11 * 2 + 0
ﻧﺘﻮﻗﻒ ﻋﻨﺪ اﻟﻮﺻﻮل إﻟﻰ اﻟﺼﻔﺮ ،وﯾﻜﻮن اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ ھﻮ 11وذﻟﻚ :
GCD(132,55) = GCD(55,22) = GCD(22,11) = GCD(11,0) = 11
11
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻧﺘﻮﻗﻒ ﻋﻨﺪ اﻟﺼﻔﺮ ،واﻟﻘﺎﺳﻢ ھﻮ : 18
GCD(252,198) = (198,54) = (54,36) = (36,18) = (18,0) = 18
ﯾﻤﻜﻦ ﺗﻤﺜﯿﻞ اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ ﻟﻠﻌﺪدﯾﻦ ﻋﻦ ﻃﺮﯾﻖ دﻣﺞ ﺧﻄﻲ Linear Combination
ﻣﻊ ﻋﺪدﯾﻦ آﺧﺮﯾﻦ ،وذﻟﻚ ﻛﺎﻟﺘﺎﻟﻲ GCD(x,y) = m*x + n*y :
ﻛﯿﻒ ﯾﻤﻜﻦ أﯾﺠﺎد ﻗﯿﻤﺘﻲ mو nوذﻟﻚ ﻋﻦ ﻃﺮﯾﻖ ﺧﻮارزﻣﯿﺔ اﻗﻠﯿﺪس اﻟﻤﻤﺘﺪة .وھﻨﺎك ﺛﻼﺛﺔ ﻃﺮق
ﻟﻤﻌﺮﻓﺔ ھﺬه اﻟﻘﯿﻢ )اﻟﻄﺮق ھﻲ ﻣﺸﺎﺑﮫ ﻟﺒﻌﺾ ،ﻟﻜﻦ ﯾﻤﻜﻦ اﻟﻘﻮل أﻧﮭﺎ ﻣﺨﺘﺼﺮه ﻣﻦ اﻷﺧﺮﯾﺎت( .
اﻟﻄﺮﯾﻘﮫ اﻷوﻟﻰ ،وھﻲ ﯾﻤﻜﻦ أن ﻧﻄﻠﻖ ﻋﻠﯿﮭﺎ اﻟﺘﺮاﺟﻊ ، Backwardوھﻨﺎ ﻓﻲ ھﺬه اﻟﻄﺮﯾﻘﮫ ﻧﻘﻮم
ﺑﺎﻟﺤﻞ ﻋﻦ ﻃﺮﯾﻖ ﺧﻮارزﻣﯿﺔ اﻗﻠﯿﺪس وﺑﻌﺪھﺎ ﻧﻘﻮم ﺑﺎﻟﺘﺮاﺟﻊ اﻟﺨﻠﻔﻲ ،ﻹﯾﺠﺎد ﻗﯿﻢ mو . nﻛﻤﺎ ﻓﻲ
اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ :
وﻧﺘﻮﻗﻒ ﻋﻨﺪ اﻟﺼﻔﺮ .اﻵن اﻟﻤﻌﺎدﻟﺔ اﻟﺘﻲ ﻗﺒﻞ اﻟﻤﻌﺎدﻟﺔ اﻟﺘﻲ ﺑﺎﻗﯿﮭﺎ ﺻﻔﺮ ) وھﻲ ﻓﻲ ﺣﺎﻟﺘﻨﺎ ھﺬه
اﻟﻤﻌﺎدﻟﺔ اﻟﺜﺎﻧﯿﺔ ( ﻧﻘﻮم ﺑﻜﺘﺎﺑﺘﮭﺎ ﺑﮭﺬا اﻟﺸﻜﻞ :
]1 = 21 – 4 * 5 ………… [1
أﯾﻀﺎ اﻟﻤﻌﺎدﻟﺔ اﻷوﻟﻰ ﺑﻨﻔﺲ اﻟﺸﻜﻞ :
]5 = 26 – 1 * 21 …………[2
12
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻣﺜﺎل :أوﺟﺪ ﻣﻌﻜﻮس اﻟﻤﻌﺎدﻟﺔ a=3 MOD 26؟
اﻟﺤﻞ ،أوﻻ ﻧﻘﻮم ﺑﺘﻄﺒﯿﻖ ﺧﻮارزﻣﯿﺔ اﻗﻠﯿﺪس اﻟﻤﻤﺘﺪة ،ﻋﻠﻰ اﻟﻌﺪدﯾﻦ 3و . 26ﻛﺎﻟﺘﺎﻟﻲ :
اﻟﻄﺮﯾﻘﮫ اﻟﺜﺎﻧﯿﺔ ،وھﻲ أﺳﮭﻞ وأﺳﺮع ﺑﻜﺜﯿﺮ ،وﺳﻮف ﻧﺸﺮﺣﮭﺎ ﺑﻨﻔﺲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ:
ﻣﺜﺎل ،ﻗﻢ ﺑﺘﻤﺜﯿﻞ ) GCD(26,21ك Linear Combinationﻟﻠﻌﺪدﯾﻦ 26و : 21
ﻧﻘﻮم ﻓﻲ اﻟﺒﺪاﯾﺔ ﺑﺈﻧﺸﺎء ﺟﺪول ،وﻧﻀﻊ ھﺬه اﻟﻘﯿﻢ ﻓﯿﮫ :
اﻵن ﻧﺒﺪأ ﻓﻲ أﺧﺪ ﺑﺎﻗﻲ ﻗﺴﻤﮫ 26ﻋﻠﻰ 21واﻟﻨﺎﺗﺞ ﻧﻀﻌﮫ ﻓﻲ ﻧﻔﺲ اﻟﻌﻤﻮد أﺳﻔﻞ . 21
26 MOD 21 = 5
وﻧﻀﻊ 5أﺳﻔﻞ . 21
ﻣﺮه أﺧﺮى ﻧﺄﺧﺬ ﺑﺎﻗﻲ ﻗﺴﻤﮫ 21و 5واﻟﻨﺎﺗﺞ ﻧﻀﻌﮫ أﺳﻔﻞ ، 5وھﻮ ، 1واﻟﻤﺮة اﻷﺧﯿﺮة اﻟﺒﺎﻗﻲ
ھﻮ 0وﺳﻮف ﻧﺘﻮﻗﻒ ﻋﻨﺪه .
A Q X
26
21
5
1
0
اﻵن ﻧﻘﺴﻢ 26ﻋﻠﻰ 21وﻧﻀﻊ اﻟﻨﺎﺗﺞ ﻓﻲ اﻟﻌﻤﻮد ) qﺑﺪأ ﻣﻦ اﻟﺼﻒ اﻟﺜﺎﻧﻲ ( ،واﻟﻨﺎﺗﺞ ھﻮ ﻋﺪد
ﻛﺴﺮي ،ﻟﻜﻦ ﻧﺤﻦ ﺳﻮف ﻧﺄﺧﺬ اﻟﺠﺰء اﻟﺼﺤﯿﺢ وھﻮ ، 1أﯾﻀﺎ ﻧﻘﺴﻢ 21ﻋﻠﻰ 5واﻟﻨﺎﺗﺞ اﻟﺼﺤﯿﺢ
ھﻮ ، 4وﻧﺴﺘﻤﺮ ھﻜﺬا .
13
PDF created with pdfFactory Pro trial version www.pdffactory.com
A Q X
26
21 1
5 4
1 5
0
اﻵن ﻓﻲ اﻟﻌﻤﻮد ، xﻧﻘﻮم ﺑﻮﺿﻊ أﺧﺮ ﻗﯿﻤﺘﯿﻦ 0و ، 1ﻛﻤﺎ ﻓﻲ اﻟﺸﻜﻞ ،
26
21 1
5 4 1
1 5 0
0
اﻵن ﻟﻜﻲ ﻧﺤﺴﺐ اﻟﺼﻒ اﻟﺜﺎﻧﻲ ﻓﻲ اﻟﻌﻤﻮد ، xﻧﻘﻮم ﺑﺎﻷﺗﻲ 4 = 0 + 1*4 ،
أي ﺳﻨﻀﺮب اﻟﻘﯿﻤﺘﯿﻦ اﻟﻠﺘﺎن ﯾﻘﻌﺎن ﻓﻲ اﻟﺼﻒ اﻷﺳﻔﻞ ﻣﺒﺎﺷﺮه وﻧﺠﻤﻊ اﻟﻨﺎﺗﺞ ﻣﻊ اﻟﻘﯿﻤﺔ ﻓﻲ اﻟﻌﻤﻮد
xاﻟﺘﻲ ﺗﺄﺗﻲ ﺑﻌﺪ ﺻﻔﯿﻦ .
4 = 4*1 + 0
26
21 1 4
5 4 1
1 5 0
0
1 = 5 * 21 – 4 * 26
1 = 5*21 + (-4)*26
وﺑﮭﺬا ﻧﻜﻮن ﻋﺮﻓﻨﺎ ﻣﻌﻜﻮس اﻟﻌﺪد اﻷول واﻟﺜﺎﻧﻲ ) أو mو . ( n
14
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻣﺜﺎل /أوﺟﺪ ﻣﻌﻜﻮس 23 MOD 26؟
اﻟﻄﺮﯾﻘﮫ اﻟﺜﺎﻟﺜﺔ ،وھﻲ اﻷﺳﮭﻞ ﺑﺮﻣﺠﯿﺎ ،وﻃﺮﯾﻘﮫ ھﺬه اﻟﺨﻮارزﻣﯿﺔ ﻛﺎﻟﺘﺎﻟﻲ :
GCD (x, y) = snx + tny
اﻵن ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺼﻮرة أدﻧﺎه ،اﻟﻌﻤﻮد jﯾﻤﺜﻞ ﻋﺪد اﻟﻤﺮاﺣﻞ q ،ﯾﻤﺜﻞ ﺣﺎﺻﻞ اﻟﻘﺴﻤﺔ r ،
ﯾﻤﺜﻞ ﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ و s,tھﻤﺎ اﻟﻤﻄﻠﻮﺑﯿﻦ .
15
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻧﻘﻮم ﺑﻘﺴﻤﮫ 252ﻋﻠﻰ 198وﻧﻀﻊ ﺣﺎﺻﻞ اﻟﻘﺴﻤﺔ )ﻋﺪد ﺻﺤﯿﺢ( ﻓﻲ qوھﻮ ، 1ﻧﻘﻮم ﺑﺄﺧﺬ ﺑﺎﻗﻲ
ﻗﺴﻤﮫ 252و 198وﺗﺴﺎوي 54وﻧﻀﻌﮭﺎ ﻓﻲ اﻟﻌﻤﻮد rأﺳﻔﻞ ﻣﻨﮭﻢ .
ﻧﻘﺴﻢ 198ﻋﻠﻰ 54وﻧﻀﻊ ﺣﺎﺻﻞ اﻟﻘﺴﻤﺔ ﻓﻲ qوھﻲ ، 3وﻧﻘﻮم ﺑﺄﺧﺬ ﺑﺎﻗﻲ ﻗﺴﻤﮫ 198و 54
وﺗﺴﺎوي 36وﻧﻀﻌﮭﺎ ﻓﻲ . r
اﻵن ﻧﻘﺴﻢ 54ﻋﻠﻰ ، 36ﺣﺎﺻﻞ اﻟﻘﺴﻤﺔ 1ﯾﻜﻮن ﻓﻲ ، qﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ 18ﯾﻜﻮن ﻓﻲ ، rو ﻧﻘﺴﻢ
36ﻋﻠﻰ ، 18ﺣﺎﺻﻞ اﻟﻘﺴﻤﺔ 2ﯾﻜﻮن ﻓﻲ ، qﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ 0ﯾﻜﻮن ﻓﻲ . r
وﺑﻤﺎ أن ﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ ﯾﺴﺎوي ﺻﻔﺮ اذا ﻧﺘﻮﻗﻒ ھﻨﺎ .وﻧﻨﺘﻘﻞ إﻟﻰ آﺧﺮ ﻋﻤﻮدﯾﻦ وھﻤﺎ . s ,tوﻛﻤﺎ ﻓﻲ
اﻟﻘﺎﻧﻮن أﻋﻼه داﺋﻤﺎ أول ﺳﻄﺮﯾﻦ ﺛﺎﺑﺘﯿﻦ s0 = 1 , s1= 0 :و . t0 =0 , t1= 1ﻧﺄﺗﻲ ﻟﺒﺎﻗﻲ
اﻟﺴﻄﻮر .
اﻵن ﻟﺤﺴﺎب اﻟﺴﻄﺮ اﻟﺜﺎﻟﺚ ، siﻧﻘﻮم ﺑﺄﺧﺬ اﻟﻘﯿﻤﺔ ﻓﻲ اﻟﺴﻄﺮ ) s i-2اﻟﺴﻄﺮ اﻟﺬي ﯾﺴﺒﻘﮫ ﺑﻤﺮﺣﻠﺘﯿﻦ(
،ﺛﻢ ﻧﻄﺮﺣﮫ ﻣﻦ ﺣﺎﺻﻞ ﺿﺮب اﻟﺴﻄﺮ . si-1 * qi-1
وھﻜﺬا ﺑﺎﻟﻨﺴﺒﺔ ﻟﺒﺎﻗﻲ اﻟﺴﻄﻮر ،وﻧﻔﺲ اﻟﻜﻼم ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻌﺎﻣﻮد . tإﻟﻰ أن ﻧﺼﻞ إﻟﻰ أﺧﺮ ﻗﯿﻤﮫ لs
ول tوھﻲ s=4 :و . t=-5
)اﻟﻔﺎﺋﺪة ﻣﻦ ھﺬه اﻟﻄﺮﯾﻘﮫ أﻧﻨﺎ ﺳﻨﺤﺼﻞ ﻋﻠﻰ اﻟﻌﺪدﯾﻦ ) s,tوھﻮ ﻣﺎ ﯾﺴﻤﻰ ﺑﺎﻟﻤﻌﻜﻮس( ،وھﻤﺎ ﻣﮭﻤﯿﻦ
ﺟﺪا ﻓﻲ ﻃﺮﯾﻘﮫ اﻟﺘﺸﻔﯿﺮ ﺑﺸﻔﺮة ، Affine Cipherواﻟﺘﻲ ﺳﺘﻜﻮن ﻓﻲ اﻟﻘﺴﻢ اﻟﻘﺎدم(.
ﻣﺜﺎل :
16
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺍﻟﻤﻀﺎﻋﻒ ﺍﻟﻤﺸﺘﺮﻙ ﺍﻷﺻﻐﺮ ) Least Common Multipleﺍﺧﺘﺼﺎﺭﺍ (LCM
ﻣﺜﺎل :
• lcm(36, 78) = 36 · 78/(36, 78) = 36 · 78/6 = 6 · 78 = 468
• lcm(21, 56) = 21 · 56/(21, 56) = 21 · 56/7 = 3 · 56 = 168
• lcm(100, 2050) = 100 · 2050/(100, 2050) = 100 · 2050/50 = 2 · 2050 = 4100
وﯾﻤﻜﻦ اﻋﺘﺒﺎرھﺎ ﻋﻠﻰ أﻧﮭﺎ ﻋﻤﻠﯿﮫ ﺟﻤﻊ ﻣﻊ أﺧﺬ ﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ ﻋﻠﻰ . 2
0 + 0 MOD 2 = 0
0 + 1 MOD 2 = 1
1 + 0 MOD 2 = 1
1 + 1 MOD 2 = 0
17
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻃﺒﻌﺎ اﻟﺪاﻟﺔ XORﻣﻔﯿﺪة ﺟﺪا ﻓﻲ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺤﺎﻻت ،أﻏﻠﺐ اﻟﻤﺒﺮﻣﺠﯿﻦ اﻟﻤﺒﺘﺪﺋﯿﻦ ﯾﻌﺮﻓﻮا أﻧﮫ
ﯾﻤﻜﻦ ﻋﻤﻞ swapﺑﯿﻦ ﻣﺘﻐﯿﺮﯾﻦ ﺑﺪون اﺳﺘﺨﺪام ﻣﺘﻐﯿﺮ ﺛﺎﻟﺚ :
اﺿﺎﻓﮫ إﻟﻰ اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ اﻟﺘﺸﻔﯿﺮ ،ﺣﯿﺚ ﺗﻜﻮن ﻓﻲ اﻷﻏﻠﺐ ﻛﻤﺎ ﯾﻠﻲ :
) rھﻮ اﻟﻌﺪد اﻟﻌﺸﻮاﺋﻲ p ،ھﻮ اﻟﺤﺮف اﻷﺻﻠﻲ ( . C = r XOR p
وﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ :
c ) P = r XOR cھﻮ اﻟﺤﺮف اﻟﻤﺸﻔﺮ( .
ﻋﻠﻰ اﻟﻌﻤﻮم ،اﻟﺪاﻟﺔ XORﻻ ﺗﻨﻔﻊ ﻟﻠﺘﺸﻔﯿﺮ ﺑﺬاﺗﮭﺎ ،ﺑﻞ ﯾﺠﺐ أن ﺗﺴﺘﺨﺪم ﺿﻤﻦ ﻃﺮﯾﻘﮫ ﻣﺎ .
An XOR might keep your kid sister from reading your files, but it
won’t stop a cryptanalyst for more than a few minutes
Logarithms
18
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻟﻜﻦ اﻟﻤﺸﻜﻠﺔ أﻧﮫ أﻏﻠﺐ اﻵﻻت اﻟﺤﺎﺳﺒﺔ وﺣﺘﻰ ﻟﻐﺔ اﻟﺴﻲ واﻟﺠﺎﻓﺎ ،ﺗﺤﺴﺐ logﻋﻠﻰ اﺳﺎس log e
اﻟﻠﻮﻏﺮﯾﺘﻢ اﻟﻄﺒﯿﻌﻲ ،وﻻ ﯾﻮﺟﺪ ﺑﮭﺎ log2أو . log10
19
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺍﻟﺸﻔﺮﺍﺕ ﺍﻟﻜﻼﺳﻴﻜﻴﺔ: ﺍﻟﻘﺴﻢ ﺍﻟﺜﺎﻧﻲ
Classical Cipher
20
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺍﻟﺘﺮﻣﻴﺰ : Coding
اﻟﺘﺮﻣﯿﺰ ﻣﻦ اﻟﻤﻮاﺿﯿﻊ اﻟﻤﮭﻤﺔ ﻓﻲ ﻋﺎﻟﻢ اﻟﺘﺸﻔﯿﺮ ،وذﻟﻚ ﻧﻈﺮا ﻟﺴﺮﯾﮫ اﻟﺸﻔﺮات اﻟﺘﻲ ﺗﻨﺘﺠﮭﺎ ھﺬه
اﻟﻌﻤﻠﯿﺔ ،وﺑﺎﻟﺮﻏﻢ ﻣﻦ ذﻟﻚ ﻓﮭﻲ ﻟﻢ ﺗﺴﺘﺨﺪم ﺑﺸﻜﻞ ﻛﺒﯿﺮ ﻛﻤﺎ ھﻮ اﻟﺤﺎل ﻣﻊ اﻟﺘﺸﻔﯿﺮ ،Encryption
وذﻟﻚ ﻟﻤﺎ ﺗﺘﻄﻠﺒﮫ ﻣﻦ إﻧﺘﺎج ﻟﻐﺔ ﺳﺮﯾﮫ ،واﻻﺣﺘﻔﺎظ ﺑﮭﺎ ﻋﻨﺪ اﻷﺷﺨﺎص أن ﺗﺘﻢ ﻋﻤﻠﯿﮫ اﻹرﺳﺎل ﺑﯿﻨﮭﻢ ،
وﻣﻦ أﺷﮭﺮ ھﺬا اﻟﻨﻮع ﻛﺘﺎب اﻟﺮﻣﻮز . Codebook
ﻓﻲ ﻛﺘﺎب اﻟﺮﻣﻮز ،ﯾﻜﻮن ﻟﺪﯾﻨﺎ ﺟﻤﯿﻊ اﻟﻜﻠﻤﺎت اﻟﻤﺘﻮﻗﻊ اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ اﻹرﺳﺎ ل وﯾﻘﺎﺑﻞ ﻛﻞ ﻛﻠﻤﺔ
)ﺗﻤﺜﻞ اﻟﻨﺺ اﻷﺻﻠﻲ( ﻛﻠﻤﺔ أو ﻋﺪه ﻛﻠﻤﺎت أﺧﺮى ﺗﻤﺜﻞ اﻟﺸﻔﺮة اﻟﻨﺎﺗﺠﺔ ﻣﻦ ھﺬه اﻟﻜﻠﻤﺔ .
وﻋﻨﺪ ﺗﺸﻔﯿﺮ ﻛﻠﻤﮫ ﻣﺎ ﺑﮭﺬا اﻟﻄﺮﯾﻘﺔ ﻛﻞ ﻣﺎ ﻋﻠﯿﻨﺎ ھﻮ اﻟﺒﺤﺚ ﻓﻲ ﻛﺘﺎب اﻟﺮﻣﻮز واﺳﺘﺨﺮاج اﻟﻜﻠﻤﺔ
اﻟﻤﻘﺎﺑﻠﺔ ﻟﻠﻜﻠﻤﺔ اﻟﻤﺮاد ﺗﺸﻔﯿﺮھﺎ ،وھﻜﺬا ﺣﺼﻠﻨﺎ ﻋﻠﻰ اﻟﻜﻠﻤﺔ اﻟﺠﺪﯾﺪة اﻟﻤﺸﻔﺮة ﺑﮭﺬه اﻟﻄﺮﯾﻘﺔ
ﻣﺮه أﺧﺮى ﻧﺬﻛﺮ أﻧﮫ ﻟﺘﺸﻔﯿﺮ ﻛﻠﻤﮫ ﻣﻌﯿﻨﮫ ﯾﺠﺐ أن ﺗﻜﻮن ﺗﺤﺖ اﻟﻌﺎﻣﻮد Wordوﺑﻌﺪھﺎ ﻧﻨﻈﺮ إﻟﻰ
ﻣﺎ ﯾﻘﺎﺑﻠﮭﺎ ﻓﻲ Codewordوأﺧﺬ اﻟﻜﻠﻤﺔ اﻟﻤﺸﻔﺮة.
21
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻣﺜﺎل ،ﻟﺘﺸﻔﯿﺮ اﻟﺠﻤﻠﺔ أﻟﺘﺎﻟﯿﮫ ،ﺑﺎﺳﺘﺨﺪام ﻛﺘﺎب اﻟﺮﻣﻮز اﻟﺴﺎﺑﻖ
ATTACK ENEMY AT DAWN
ﻧﻘﻮم أوﻻ ﺑﺎﻟﻨﻈﺮ إﻟﻰ ﻛﻞ ﻛﻠﻤﮫ وﻣﺎ ﯾﻘﺎﺑﻠﮭﺎ ﻓﻲ ﻛﺘﺎب اﻟﺮﻣﻮز ، Codebookﻟﻨﺤﺼﻞ ﻋﻠﻰ اﻟﺸﻔﺮة:
ATTACKﯾﻘﺎﺑﻠﮭﺎ RUN
ENEMYﯾﻘﺎﺑﻠﮭﺎ EXPLODE
وﻧﺴﺘﻤﺮ ھﻜﺬا ،إﻟﻰ أن ﻧﺼﻞ إﻟﻰ اﻟﺸﻔﺮة اﻟﺘﺎﻟﯿﺔ :
RUN EXPLODE LION COMPUTER
وﻓﻲ أﻏﻠﺐ اﻷﺣﯿﺎن ﻓﻲ ﻛﺘﺎب اﻟﺮﻣﻮز ﻟﻦ ﺗﺠﺪ اﻟـ ) Codewordأي أﻧﻚ ﻟﻦ ﺗﺠﺪ ﻛﻠﻤﮫ وﯾﻘﺎﺑﻠﮭﺎ
ﻛﻠﻤﮫ ﻣﺸﻔﺮة( ﻷﻧﮭﺎ ﻣﻦ اﻟﻤﻤﻜﻦ ﻓﻚ ﺗﺸﻔﯿﺮھﺎ ،وﯾﺴﺘﺨﺪم ﺑﺪﻻ ﻣﻨﮭﺎ أرﻗﺎم . Code Number
ﻧﺄﺧﺬ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ،ﻟﯿﺒﻦ ﻛﯿﻒ ﯾﻤﻜﻦ ﻛﺴﺮ اﻟـ ،Codewordوھﺬا اﻟﻤﺜﺎل اﺳﺘﺨﺪم ﻃﺮﯾﻘﮫ اﻟـ
Jargon codesوھﻲ ﻣﻦ أﺣﺪ اﻟﻄﺮق اﻟﺘﻲ اﺳﺘﺨﺪﻣﺖ ﺑﻜﺜﺮة ﻓﻲ اﻟﺤﺮب اﻟﻌﺎﻟﻤﯿﺔ اﻟﺜﺎﻧﯿﺔ ،ﺣﯿﺚ
ﻛﺎن ﻛﺎﻧﺖ ﺗﺮﺳﻞ اﻷواﻣﺮ ﻋﺒﺮ اﻟﺮادﯾﻮ )أو ﻣﺬﯾﺎع( اﻟﺬي ﯾﻜﻮن ﻣﺴﻤﻮع ﻟﻠﺠﻤﯿﻊ ﺣﺘﻰ ﻟﻸﻋﺪاء.
ﻟﻨﻔﺮض أن اﻟﻄﺮف Aﻗﺎم ﺑﻜﺘﺎﺑﮫ اﻟﺮﺳﺎﻟﺔ ،وﻗﺎم ﺑﺘﺸﻔﯿﺮھﺎ ﺑﺎﺳﺘﺨﺪام Codewordوﻗﺎم ﺑﺈرﺳﺎﻟﮭﺎ
إﻟﻰ اﻟﻄﺮف Bﻋﺒﺮ ﺷﺒﻜﮫ ﻏﯿﺮ أﻣﻨﮫ )أو أي وﺳﯿﻂ إرﺳﺎل أﺧﺮ ﯾﺤﺘﻤﻞ أن ﯾﻘﺮأه اﻟﻌﺪو( .
وﻛﺎﻧﺖ ﻣﺤﺘﻮى اﻟﺮﺳﺎﻟﺔ ﺑﻌﺪ ﺗﺸﻔﯿﺮھﺎ:
BOXER SEVEN SEEK TIGER5 AT RED CORAL
ھﺬه اﻟﺮﺳﺎﻟﺔ وﺑﺎﻟﺮﻏﻢ ﻣﻦ أﻧﮭﺎ ﻟﯿﺴﺖ واﺿﺤﺔ ﻗﺪ ﯾﺴﺘﻔﺎد ﻣﻨﮭﺎ ﺑﻄﺮﯾﻘﮫ ﻣﺎ ،
ﻣﺜﻼ BOXER SEVENﻗﺪ ﯾﻜﻮن اﺳﻢ ﻟﺸﺨﺺ ﻣﺎ ﺗﺎﺑﻊ ﻟﻠﻄﺮف ، Aاﻟﻜﻠﻤﺔ SEEKﺗﺪل ﻣﺜﻼ
ﻋﻠﻰ اﻟﻘﺒﺾ اﻟﻜﻠﻤﺔ TIGERﺗﺪل ﻋﻠﻰ اﺳﻢ اﻟﻌﺪو ، Bاﻟﻜﻠﻤﺔ اﻷﺧﯿﺮة RED CORALﻗﺪ ﺗﺪل
ﻋﻠﻰ ﻋﻨﻮان ﻣﺎ ﻧﻈﺮا ﻷﻧﮭﺎ ﯾﺴﺒﻘﮭﺎ . AT
اذا ﺑﺎﺳﺘﺨﺪام اﻟـ Codewordھﻨﺎك اﺣﺘﻤﺎل ﻛﺒﯿﺮ ﻣﻦ اﻟﺘﻘﺎط اﻟﺮﺳﺎﻟﺔ وﻓﮭﻢ وﻟﻮ أﺟﺰاء ﻣﻨﮭﺎ ،ﻟﺬﻟﻚ
ﺗﻢ اﻟﻠﺠﻮء إﻟﻰ اﻟﺤﻞ اﻷﺧﺮ وھﻮ أن ﯾﺴﺘﺨﺪم اﻷرﻗﺎم . CodeNumber
اﻵن ﻟﻨﻌﺮف ﻛﺘﺎب اﻟﺮﻣﻮز ﺑﺸﻜﻞ ﻣﺒﺴﻂ ﻧﻘﻮل ھﻮ ﺟﺪول ﯾﺤﺘﻮي ﻋﻠﻰ ﻋﺎﻣﻮد Wordوﻋﺎﻣﻮد أﺧﺮ
ﯾﻤﺜﻞ اﻟـ CodeNumberأو ، CodeWordوﻓﻲ ﺣﺎل اﻟﺘﺸﻔﯿﺮ ﻧﻨﻈﺮ إﻟﻰ ﻣﺎ ﯾﻘﺎﺑﻞ اﻟﻜﻠﻤﺔ ﻓﻲ
اﻟﻌﺎﻣﻮد اﻷﺧﺮ ،وﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ﻧﻘﻮم ﺑﺎﻟﻌﻤﻠﯿﺔ اﻟﻌﻜﺴﯿﺔ ،وھﻮ ﻣﺎ ﯾﻌﺮف ﺑﺎﻟـ one-part-Code
"ﻛﺘﺎب رﻣﻮز واﺣﺪ" .
22
PDF created with pdfFactory Pro trial version www.pdffactory.com
وﻷن ﻛﺘﺎب اﻟﺮﻣﻮز ﺣﺠﻤﮫ ﻛﺒﯿﺮ ﻟﻠﻐﺎﯾﺔ )ﻷﻧﮫ ﯾﺤﺘﻮي ﻋﻠﻰ ﺟﻤﯿﻊ اﻟﻜﻠﻤﺎت اﻟﺘﻲ ﯾﺘﻮﻗﻊ اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ
ﻋﻤﻠﯿﮫ اﻹرﺳﺎل ،وﺑﻌﺾ اﻷﺣﯿﺎن ﺟﻤﯿﻊ اﻟﻜﻠﻤﺎت اﻟﻤﻌﺮوﻓﺔ ﺗﻜﻮن ﻓﯿﮫ( ،ﯾﻜﻮن ﻣﺮﺗﺐ ﺑﺎﻟﺘﺮﺗﯿﺐ
اﻟﮭﺠﺎﺋﻲ ) ،ﻣﺜﻼ( اﻟﺤﺮف Aﯾﻘﺎﺑﻠﮫ ﻓﻲ CodeNumberﻣﺜﻼ اﻟﺮﻗﻢ ، 20اﻟﺤﺮف Bﯾﻘﺎﺑﻠﮫ ، 21
اﻟﺤﺮف Cﯾﻘﺎﺑﻠﮫ ، 22ﺳﻮف ﻧﻼﺣﻆ أﻧﮫ ﯾﻤﻜﻦ ﻟﻜﺎﺳﺮ اﻟﺸﻔﺮة ﻛﺴﺮ ھﺬه اﻟﺮﻣﻮز ﻷﻧﮫ ﯾﻌﺮف أن
اﻟﺤﺮف Aداﺋﻤﺎ أﻗﻞ ﻣﻦ اﻟﺤﺮف Zوﺑﻘﻠﯿﻞ ﻣﻦ اﻟﻤﺤﺎوﻟﺔ ﯾﺘﻢ ﻛﺴﺮھﺎ ،ﻟﺬﻟﻚ ﺗﻢ اﻟﻠﺠﻮء إﻟﻰTwo-
Part-Codeوھﻨﺎ ﯾﻮﺟﺪ ﻛﺘﺎب ﻟﻠﺘﺸﻔﯿﺮ ،وﻛﺘﺎب أﺧﺮ ﻣﺮﺗﺐ ﺑﻄﺮﯾﻘﮫ أﺧﺮى ﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،
وھﻜﺬا ﻟﻦ ﯾﻤﻜﻦ ﺗﺨﻤﯿﻦ ﻣﺎ ﯾﻨﺘﺠﮫ اﻟﻜﺘﺎب اﻷول .
و ﻋﻠﻰ اﻟﺮﻏﻢ ﻣﻦ ﺳﺮﯾﮫ ھﺬه اﻟﻄﺮﯾﻘﺔ ،إﻻ إﻧﮭﺎ ﻏﯿﺮ ﻣﺠﺪﯾﮫ ﺗﻤﺎﻣﺎ ،ﻧﻈﺮا ﻟﺼﻌﻮﺑﺔ اﻻﺣﺘﻔﺎظ ﺑﮭﺬا
اﻟﻜﺘﺎب ﻋﻨﺪ اﻟﻄﺮﻓﯿﻦ ،وﻓﻲ ﺣﺎل اﺳﺘﺨﺪﻣﻨﺎ Two-Part-Codeﺳﻨﺤﺘﺎج إﻟﻰ ﻛﺘﺎﺑﯿﻦ ﻋﻨﺪ ﻛﻞ
ﻃﺮف ﺣﺘﻰ ﯾﺴﺘﻄﯿﻌﻮا إرﺳﺎل واﺳﺘﻘﺒﺎل اﻟﺮﺳﺎﺋﻞ ﻓﯿﻤﺎ ﺑﯿﻨﮭﻢ ،ﻧﺎھﯿﻚ ﻋﻦ ﺻﻌﻮﺑﺔ إرﺳﺎل اﻟﻜﺘﺎب إﻟﻰ
اﻟﻄﺮف اﻷﺧﺮ واﻟﺘﺄﻛﺪ ﻣﻦ أﻧﮫ اﻟﻌﺪو ﻻ ﯾﻤﻠﻚ ﻧﺴﺨﮫ ﻣﻨﮫ ،ﺑﺎﻻﺿﺎﻓﮫ إﻟﻰ ﺻﯿﺎﻧﺘﮫ )أﺿﺎﻓﮫ ﻛﻠﻤﺎت
أﺧﺮى ( وإرﺳﺎﻟﮭﺎ ﻣﺮه أﺧﺮى ﻟﻠﻄﺮف اﻷﺧﺮ.
اﻟﻄﺮق اﻟﻜﻼﺳﯿﻜﯿﺔ ھﻲ اﻟﻄﺮق اﻟﻘﺪﯾﻤﺔ اﻟﺘﻲ اﺳﺘﺨﺪﻣﺖ ﻓﯿﻤﺎ ﻣﻀﻰ ﻣﻦ ﻗﺒﻞ اﺧﺘﺮاع اﻟﺤﻮاﺳﯿﺐ ،
وﺑﻘﯿﺖ اﻷﺳﺎس ﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺨﻮارزﻣﯿﺎت اﻟﺤﺪﯾﺜﺔ اﻟﺘﻲ ﺗﺴﺘﺨﺪم اﻟﯿﻮم ،ﺣﯿﺚ ﻛﺎﻧﺖ ﺗﻌﺘﻤﺪ ﻋﻠﻰ أﺣﻼل
أو أﺑﺪال ﺣﺮف ﻣﻜﺎن أﺧﺮ ،واﻟﺨﻮارزﻣﯿﺎت اﻟﺠﯿﺪة ﻛﺎﻧﺖ ﺗﻘﻮم ﺑﺎﻻﺛﻨﯿﻦ ،ﻟﻜﻦ ﺟﻤﯿﻊ ھﺬه
اﻟﺨﻮارزﻣﯿﺎت ﺗﻌﻤﻞ ﻋﻠﻰ اﻟﺤﺮوف ﻓﻘﻂ Character-Basedأي ﻋﻠﻰ ﻣﺪى 26ﺣﺮف ،ﺑﻌﻜﺲ
اﻟﻄﺮق اﻟﺤﺪﯾﺜﺔ اﻟﺘﻲ ﺗﻌﺘﻤﺪ ﻋﻠﻰ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ال 0) Bitأو ، ( 1وﺗﻘﺴﻢ اﻟﻄﺮق اﻟﻜﻼﺳﯿﻜﯿﺔ إﻟﻰ
ﻗﺴﻤﯿﻦ رﺋﯿﺴﯿﻦ :
ﺷﻔﺮات : XOR
ھﻨﺎك ﺑﻌﺾ اﻟﻜﺘﺐ ﺗﺼﻨﻒ ﻃﺮﯾﻘﮫ اﻟﺘﺸﻔﯿﺮ ھﺬه ﻣﻊ اﻟﻄﺮق اﻟﻜﻼﺳﯿﻜﯿﺔ ،وﺑﺎﻟﺮﻏﻢ ﻣﻦ ﺿﻌﻒ ھﺬه
اﻟﻄﺮﯾﻘﺔ ،إﻻ أن أﻏﻠﺐ اﻟﺸﻔﺮات اﻟﺤﺪﯾﺜﺔ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ھﺬه اﻟﻌﻤﻠﯿﺔ اﻟﺮﯾﺎﺿﯿﺔ ﻓﻲ ﻋﻠﻤﯿﺎت أﺧﺮى
)وﻗﺪ ﺗﺤﺪﺛﻨﺎ ﻋﻨﮭﺎ ﻓﻲ اﻟﻔﺼﻞ اﻷول( .
23
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺗﻘﺴﻢ ﺷﻔﺮات اﻹﺣﻼل Substitution Cipherإﻟﻰ أرﺑﻌﮫ أﻗﺴﺎم رﺋﯿﺴﯿﮫ :
اﻟﻨﻮع اﻷول Monoalphabetic Substitution Cipher :
اﻟﻨﻮع اﻟﺜﺎﻧﻲ Polyalphabetic Substitution Cipher :
اﻟﻨﻮع اﻟﺜﺎﻟﺚ PolyGram Substitution Cipher :
اﻟﻨﻮع اﻟﺮاﺑﻊ Homophonic Substitution Cipher :
وﺳﻮف ﻧﺘﻄﺮق ﻟﻜﻞ ﻣﻦ ھﺬه اﻟﻄﺮق ﺑﺎﻟﺘﻔﺼﯿﻞ ،أﺣﺐ أن أﻧﻮه إﻟﻰ أن ھﻨﺎك ﺑﻌﺾ اﻟﺘﺮﺟﻤﺎت
اﻟﺴﯿﺌﺔ ﻟﮭﺬه اﻷﻧﻮاع ،ﻟﻜﻨﻲ ﺳﺄﺗﺤﻔﻆ ﻋﻨﮭﺎ ھﻨﺎ ،وﺳﻨﺬﻛﺮ اﻟﻤﺼﻄﻠﺢ ﻛﻤﺎ ھﻮ ﺑﺎﻟﻠﻐﺔ اﻷﻧﺠﻠﯿﺰﯾﮫ .
ﻣﻦ أﺣﺪ أﺷﮭﺮ أﻧﻮاع اﻟﺘﺸﻔﯿﺮ اﻟﻜﻼﺳﯿﻜﻲ ،ﺣﯿﺚ ﺗﺘﻤﯿﺰ ﺑﺒﺴﺎﻃﺘﮭﺎ وﯾﻌﯿﺒﮭﺎ ﺳﮭﻮﻟﮫ ﻛﺴﺮ اﻟﺸﻔﺮة
اﻟﻨﺎﺗﺠﺔ ﺑﺒﺴﺎﻃﮫ ،
وﻃﺮﯾﻘﮫ اﻟﺘﺸﻔﯿﺮ ﺑﺄن ﻧﺄﺧﺬ اﻟﺤﺮف اﻷول ﻣﻦ اﻟﻨﺺ اﻷﺻﻠﻲ ﺛﻢ ﻧﻘﻮم ﺑﺠﻤﻊ ﻣﻔﺘﺎح )وھﻮ داﺋﻤﺎ ﯾﻜﻮن
3ﻓﻲ ﺷﻔﺮه ﻗﯿﺼﺮ( ﻣﻊ اﻟﻨﺺ اﻷﺻﻠﻲ ،وﯾﻜﻮن ھﻮ اﻟﺤﺮف اﻷول ﻓﻲ اﻟﻨﺺ اﻟﻤﺸﻔﺮ .وھﻜﺬا
ﺑﺎﻟﻨﺴﺒﺔ ﻟﺒﺎﻗﻲ اﻟﺤﺮوف.
وﻓﻲ ﺣﺎل ﻛﺎن اﻟﺤﺮف ھﻮ اﻟﺤﺮف اﻷﺧﯿﺮ ﻓﻲ اﻷﺑﺠﺪﯾﺔ ﻧﻘﻮم ﺑﺎﻟﺮﺟﻮع إﻟﻲ ﺑﺪاﯾﺔ اﻟﺤﺮوف )ﺗﻜﻮن
ﻋﻠﻰ ﺷﻜﻞ داﺋﺮة( .
24
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻧﺄﺧﺬ ﻣﺜﺎل ﻟﺘﻮﺿﯿﺢ ھﺬا اﻟﻨﻮع ﻣﻦ اﻟﺸﻔﺮات:
ﻧﺒﺪأ ﺑﻌﻤﻠﯿﮫ اﻟﺘﺸﻔﯿﺮ ،وﻛﻤﺎ ذﻛﺮﻧﺎ ﻛﻞ ﺣﺮف ﻓﻲ اﻟﻨﺺ اﻷﺻﻠﻲ +اﻟﻤﻔﺘﺎح ) ، (3وﻓﻲ ﺣﺎﻟﮫ ﺗﻌﺪى
اﻟﺤﺮف Zﻧﺮﺟﻊ ﻣﻦ اﻷول .
اﻵن ﻧﻘﻮم ﺑﺄﺧﺬ اﻟﺤﺮف اﻷول وﻧﻀﯿﻒ إﻟﯿﮫ 3ﺣﺮوف )اﻻزاﺣﮫ ﺑﻤﻘﺪار 3أﺣﺮف( ﻟﯿﻜﻮن:
F+3 = I
I+3 = L
وﻧﻜﻤﻞ ھﻜﺬا ،ﻟﺒﺎﻗﻲ اﻟﺤﺮوف ﻓﻲ اﻟﻨﺺ اﻷﺻﻠﻲ .
وﻷن وﺿﻊ اﻟﺤﺮوف اﻟﻤﺸﻔﺮة ﻋﻠﻰ ﻧﻔﺲ ﺗﺮﺗﯿﺐ اﻟﺤﺮوف ﻓﻲ اﻟﻨﺺ اﻷﺻﻠﻲ ﯾﺴﮭﻞ ﻣﻦ ﻋﻤﻠﯿﮫ
ﺗﺨﻤﯿﻦ اﻟﻜﻠﻤﺔ ،ﻧﻘﻮم ﺑﻮﺿﻊ اﻟﻨﺺ اﻟﻤﺸﻔﺮ ﻋﻠﻰ ﺷﻜﻞ blockأو ﻣﺠﻤﻮﻋﺎت ﻛﻞ ﻣﻨﮭﺎ ﯾﺘﻜﻮن ﻣﻦ 5
ﺣﺮوف )ﺟﺮت اﻟﻌﺎدة ﻋﻠﻰ ذﻟﻚ ،ﻟﻜﻦ ﺑﺎﻟﻄﺒﻊ ﯾﻤﻜﻨﻚ ﺗﻐﯿﺮھﺎ( .
اﻵن ﺑﻌﺪ وﺿﻊ اﻟﻨﺺ اﻟﻤﺸﻔﺮ ﻓﻲ ﺷﻜﻞ ﻣﺠﻤﻮﻋﺎت ﻛﻞ ﻣﻨﮭﺎ ﯾﺘﻜﻮن ﻣﻦ ﺧﻤﺴﮫ ﺣﺮوف ﯾﻜﻮن
اﻟﻨﺎﺗﺞ:
ILUHP LVVLO H
وھﻜﺬا أﺻﺒﺢ اﻟﻨﺺ أﻛﺜﺮ ﺗﻌﻘﯿﺪا ﻟﻜﺎﺳﺮ اﻟﺸﻔﺮة ،وﻟﻜﻨﮭﺎ ﺗﺒﻘﻲ ﺧﻮارزﻣﯿﺔ ﻗﯿﺼﺮ ﺿﻌﯿﻔﺔ ﻟﻠﻐﺎﯾﺔ ،
ﻛﻤﺎ ﺳﻨﺮى ﺑﻌﺪ ﻗﻠﯿﻞ .
اﻟﻌﻤﻠﯿﺔ اﻟﻌﻜﺴﯿﺔ ،وھﻲ ﻓﻚ اﻟﺘﺸﻔﯿﺮ ،ھﻨﺎ ﻛﻞ ﻣﺎ ﻋﻠﯿﻨﺎ ھﻮ ﻃﺮح ﺛﻼﺛﺔ ﺣﺮوف ﻣﻦ ﻛﻞ ﺣﺮف ﻓﻲ
اﻟﻨﺺ اﻟﻤﺸﻔﺮ ،ﻟﯿﺨﺮج إﻟﯿﻨﺎ اﻟﻨﺺ اﻷﺻﻠﻲ.
اذا ﻧﺴﺘﻨﺘﺞ أن ﻟﻜﻞ ﺧﻮارزﻣﯿﺔ ﺗﺸﻔﯿﺮ ﻣﻔﺘﺎح ﻣﻌﯿﻦ ،ھﺬا اﻟﻤﻔﺘﺎح )ﻓﻲ اﻟﻄﺮق اﻟﺘﻘﻠﯿﺪﯾﺔ ،اﻟﺘﻲ ھﻲ ﻓﻲ
اﻷﺻﻞ ﺗﻨﺪرج ﺗﺤﺖ ﺧﻮارزﻣﯿﺎت اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ Symmetric Key
(Cryptographyﯾﺴﺘﺨﺪم ﻟﻠﺘﺸﻔﯿﺮ وﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ وﻟﺬﻟﻚ ﯾﺠﺐ أن ﯾﺤﻔﻆ ﺑﻤﻜﺎن أﻣﻦ .وﻓﻲ ﺣﺎﻟﮫ
ﺷﻔﺮه ﻗﯿﺼﺮ ،ﻣﻔﺘﺎح اﻟﺘﺸﻔﯿﺮ ھﻮ ) 3أزاﺣﮫ Shiftﺑﻤﻘﺪار ، (3ﺑﺎﻟﻄﺒﻊ ﯾﻤﻜﻦ اﺳﺘﺨﺪام أي ﻣﻔﺘﺎح
أﺧﺮ ،ﻟﻜﻨﮭﺎ ﻟﻦ ﺗﻜﻮن ﺷﻔﺮه ﻗﯿﺼﺮ .
ﺟﻤﯿﻊ اﻟﻠﻐﺎت )ﺳﻮاء ﻋﺮﺑﯿﮫ أم اﻧﺠﻠﯿﺰﯾﮫ أم أي ﻟﻐﺔ أﺧﺮى( ﺗﺤﺘﻮي ﻋﻠﻰ ﺣﺮوف ﺗﺘﻜﺮر داﺋﻤﺎ
وﺑﺎﺳﺘﻤﺮار ﻓﻲ اﻟﺠﻤﻞ ،ﻓﻲ اﻟﻠﻐﺔ اﻟﻌﺮﺑﯿﺔ ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل اﻟﺤﺮف أ ،ل ..اﻟﺦ ،أﻣﺎ ﻓﻲ اﻟﻠﻐﺔ
اﻹﻧﺠﻠﯿﺰﯾﺔ ﻓﺎﻟﺤﺮف Eھﻮ اﻟﺤﺮف اﻷﻛﺜﺮ ﺗﻜﺮارا ﻓﻲ اﻟﺠﻤﻞ.
25
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻵن ﻃﺮﯾﻘﮫ اﻟﺘﺤﻠﯿﻞ اﻹﺣﺼﺎﺋﻲ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ھﺬا اﻻﺣﺘﻤﺎل ،ﻓﻨﻘﻮم ﺑﺎﻟﻨﻈﺮ ﻓﻲ اﻟﻨﺺ اﻟﻤﺸﻔﺮ وﻧﻼﺣﻆ
اﻟﺤﺮف اﻷﻛﺜﺮ ﺗﺮددا ﻓﻲ اﻟﻨﺺ ،ﺑﻌﺪھﺎ ﻗﺪ ﯾﻜﻮن ھﺬا اﻟﺤﺮف ﻓﻲ اﻟﻨﺺ اﻟﻤﺸﻔﺮ ھﻮ اﻟﺤﺮف اﻷﻛﺜﺮ
ﺗﻜﺮرا ﻓﻲ اﻟﺠﻤﻞ وھﻮ Eﻓﻲ اﻟﻠﻐﺔ اﻹﻧﺠﻠﯿﺰﯾﺔ.
ﻃﺒﻌﺎ اﻻﺣﺘﻤﺎل ﻓﻲ اﻟﻜﺜﯿﺮ ﻣﻦ اﻷﺣﯿﺎن ﯾﻜﻮن ﻏﯿﺮ ﺻﺤﯿﺢ ﺗﻤﺎﻣﺎ ،وﻟﻜﻦ ﯾﺼﻠﺢ ﻓﻲ ﺣﺎل اﻟﻄﺮق
اﻟﻀﻌﯿﻔﺔ ﻣﺜﻞ ﺷﻔﺮه ﻗﯿﺼﺮ اﻟﺴﺎﺑﻘﺔ.
ﻣﺜﺎل ،ﻟﺪﯾﻨﺎ اﻟﺸﻔﺮة اﻟﺘﺎﻟﯿﺔ ،وﻧﺮﯾﺪ ﻛﺴﺮھﺎ وإرﺟﺎﻋﮭﺎ إﻟﻰ ﺣﺎﻟﺘﮭﺎ اﻷﺻﻠﯿﺔ :
WFIDZ JVORT KCPVD GKZEV JJVDG KZEVJ JVORT KCPWF IDJFZ KZJNZ KYJVE
JRKZF EGVIT VGKZF EDVEK RCIVR TKZFE REUTF EJTZF LJEVJ JRCCK YZEXJ
RIVVJ JVEKZ RCCPV DGKPE FKSFI EEFKU VJKIF PVUEF KJKRZ EVUEF KGLIV
NZKYF LKCFJ JNZKY FLKXR ZEKYV IVWFI VZEVD GKZEV JJKYV IVZJE FWFID
EFJVE JRKZF EGVIT VGKZF EDVEK RCIVR TKZFE FITFE JTZFL JEVJJ EFVPV
VRIEF JVKFE XLVSF UPDZE UEFTF CFIJF LEUJD VCCKR JKVKF LTYFS AVTKF
WKYFL XYKEF JVVZE XREUJ FFEKF EFKYZ EBZEX EFZXE FIRET VREUE FVEUK
FZXEF IRETV EFFCU RXVRE UUVRK YEFVE UKFFC URXVR EUUVR KYEFR EXLZJ
YTRLJ VFWRE XLZJY TVJJR KZFEG RKYEF NZJUF DREUE FRKKR ZEDVE KJZET
VKYVI VZJEF KYZEX KFRKK RZEKY VSFUY ZJRKK MRCZM VJKYL JNZKY EFYZE
UIRET VFWDZ EUEFY ZEUIR ETVRE UYVET VEFWV RIWRI SVPFE UUVCL UVUKY
FLXYK IZXYK YVIVZ JEZIM RER
اﻟﺨﻄﻮة اﻷوﻟﻰ ھﻲ ﻣﻌﺮﻓﮫ اﻟﺤﺮف اﻷﻛﺜﺮ ﺗﻜﺮارا ،وﻧﻈﺮا ﻟﻄﻮل اﻟﺸﻔﺮة ﻓﯿﻔﻀﻞ ﻋﺪ ﻛﻞ ﺣﺮف
ﯾﺘﻜﺮر ،
ﻧﺒﺪأ ﺑ ﺎﻟﻌﺪ ،ﻧﻘﻮم ﺑﻌﺪ اﻟﺤﺮف اﻷول وھﻮ Wوﻧﻼﺣﻆ ﻛﻢ ﻣﺮه ﺗﻜﺮر واﺣﺪ ،اﺛﻨﯿﻦ ،ﺛﻼﺛﺔ .....إﻟﻰ
أن ﻧﺼﻞ إﻟﻰ ﻧﮭﺎﯾﺔ اﻟﺸﻔﺮة ﻟﻨﻌﺮف أن اﻟﺤﺮف Wﺗﻜﺮر 9ﻣﺮات ،ﻧﺄﺧﺬ اﻟﺤﺮف اﻟﺜﺎﻧﻲ وھﻮ F
وﻧﺒﺪأ ﺑﺎﻟﻌﺪ ،وھﻜﺬا ﻣﻊ ﺑﺎﻗﻲ اﻟﺤﺮوف ﻓﻲ اﻟﺸﻔﺮة.
ﻧﻼﺣﻆ ﻓﻲ اﻟﻨﺘﯿﺠﺔ أﻋﻼه ،أن اﻟﺤﺮف Eھﻮ اﻟﺤﺮف اﻷﻛﺜﺮ ﺗﻜﺮارا ﻓﻲ اﻟﻨﺺ اﻟﻤﺸﻔﺮ )ﺗﻜﺮر 82
ﻣﺮه( ،اﻵن ﻛﻤﺎ ذﻛﺮﻧﺎ ﺳﺎﺑﻘﺎ اﻟﺤﺮف اﻷﻛﺜﺮ ﺗﻜﺮار ﻓﻲ اﻟﺸﻔﺮة ﻗﺪ ﯾﻜﻮن ھﻮ اﻟﺤﺮف ، Eوﻷن ﻓﻲ
ﺣﺎﻟﺘﻨﺎ ھﺬه ،اﻟﺤﺮف اﻟﻤﺸﻔﺮ ھﻮ Eاذا ﺑﺎﻟﺘﺄﻛﯿﺪ اﻟﺤﺮف Eﻟﻦ ﯾﻜﻮن ھﻮ اﻟﺤﺮف اﻟﺒﺪﯾﻞ ،ﻟﺬﻟﻚ
ﺳﻮف ﻧﺄﺧﺬ اﻟﺤﺮف اﻷﻛﺜﺮ ﺗﻜﺮارا ﻓﻲ اﻟﺸﻔﺮة أﺗﻲ ﺑﻌﺪ اﻟﺤﺮف . E
اﻵن ﻟﺪﯾﻨﺎ ﺣﺮﻓﯿﻦ ھﻤﺎ F,Vﺣﯿﺚ ﺗﻜﺮر ﻛﻞ ﻣﻨﮭﻢ 69ﻣﺮه ،وﻗﺪ ﯾﻜﻮن أﺣﺪھﻢ ھﻮ اﻟﺤﺮف . E
اﻵن ﻧﺄﺧﺬ اﻟﺤﺮف Fوﻧﺸﺎھﺪ اﻟﻔﺮق ﺑﯿﻨﮫ وﺑﯿﻦ ، Eواﻟﻨﺘﯿﺠﺔ ھﻲ ) 1ﻷن اﻟﺤﺮف Fﯾﺄﺗﻲ ﺑﻌﺪ . ( E
أﯾﻀﺎ ﻧﺄﺧﺬ اﻟﺤﺮف اﻟﺜﺎﻧﻲ ھﻮ Vوﻧﺸﺎھﺪ اﻟﻔﺮق ﺑﯿﻨﮫ وﺑﯿﻦ اﻟﺤﺮف Eواﻟﻨﺘﯿﺠﺔ ھﻲ ) . 17اﻟﺤﺮف
Vﯾﺄﺗﻲ ﺑﻌﺪ 17ﺣﺮف ﻣﻦ . ( E
26
PDF created with pdfFactory Pro trial version www.pdffactory.com
.17 واﻟﺜﺎﻧﻲ أن ﯾﻜﻮن اﻟﻤﻔﺘﺎح ھﻮ، 1 اﻷول ھﻮ أن ﯾﻜﻮن اﻟﻤﻔﺘﺎح ھﻮ
، ( )ﻧﺮﺟﻊ إﻟﻰ اﻟﻮراء ﺑﻤﻘﺪار ﺣﺮف1 وﻧﻄﺮح ﻣﻦ ﻛﻞ ﺣﺮف ﻓﻲ اﻟﺸﻔﺮة، ﻧﻘﻮم ﺑﺘﺠﺮﺑﺔ اﻷول
. ﺧﺎﻃﺌﮫ1 اﻟﻨﺘﯿﺠﺔ ﺳﺘﺼﺒﺢ ﻏﯿﺮ ﻣﻔﮭﻮﻣﮫ وﺑﺎﻟﺘﺎﻟﻲ اﻻزاﺣﮫ ﺑﻤﻘﺪار
FORMI SEXAC TLYEM PTINE SSEMP TINES SEXAC TLYFO RMSOI TISWI THSEN
SATIO NPERC EPTIO NMENT ALREA CTION ANDCO NSCIO USNES SALLT HINGS
AREES SENTI ALLYE MPTYN OTBOR NNOTD ESTRO YEDNO TSTAI NEDNO TPURE
WITHO UTLOS SWITH OUTGA INTHE REFOR EINEM PTINE SSTHE REISN OFORM
NOSEN SATIO NPERC EPTIO NMENT ALREA CTION ORCON SCIOU SNESS NOEYE
EARNO SETON GUEBO DYMIN DNOCO LORSO UNDSM ELLTA STETO UCHOB JECTO
FTHOU GHTNO SEEIN GANDS OONTO NOTHI NKING NOIGN ORANC EANDN OENDT
OIGNO RANCE NOOLD AGEAN DDEAT HNOEN DTOOL DAGEA NDDEA THNOA NGUIS
HCAUS EOFAN GUISH CESSA TIONP ATHNO WISDO MANDN OATTA INMEN TSINC
ETHER EISNO THING TOATT AINTH EBODH ISATT VALIV ESTHU SWITH NOHIN
DRANC EOFMI NDNOH INDRA NCEAN DHENC ENOFE ARFAR BEYON DDELU DEDTH
OUGHT RIGHT HEREI SNIRV ANA
أن ﯾﺼﻌﺐ ﻋﻠﯿﻚ ﺗﺮﺗﯿﺐ اﻟﺤﺮوف اﻟﺴﺎﺑﻘﺔ وإرﺟﺎﻋﮭﺎ إﻟﻰ ﺣﺎﻟﺘﮭﺎ اﻷﺻﻠﯿﺔ، ھﻨﺎك اﺣﺘﻤﺎل ﻛﺒﯿﺮ
وﯾﻔﻀﻞ، ﻟﻜﻨﮭﺎ ﺗﺒﻘﻰ ﻓﻲ اﻟﻨﮭﺎﯾﺔ ھﻲ اﻟﻨﺺ اﻷﺻﻠﻲ. ﺑﺴﺒﺐ ﻋﺪم إﺗﻘﺎن اﻟﻠﻐﺔ اﻷﻧﺠﻠﯿﺰﯾﮫ ﺑﺸﻜﻞ ﺟﯿﺪ
ﻓﻲ ﺗﻠﻚ اﻟﺤﺎﻟﺔ اﻹﺳﺘﻌﺎﻧﮫ ﺑﺄﺣﺪ اﻟﻤﺘﺮﺟﻤﺎت ﻣﺜﻞ اﻟﻮاﻓﻲ واﻟﺒﺪء ﻓﻲ ﻣﺤﺎوﻟﮫ ﺗﺠﻤﯿﻊ اﻟﺤﺮوف
. وﺗﺮﺟﻤﺘﮭﺎ
، Key Phrase ﺣﯿﺚ أﻧﮫ ﻣﻤﻜﻦ اﺧﺘﯿﺎر ﺟﻤﻠﮫ ﻟﻠﺘﺸﻔﯿﺮMonoalphabetic ﻧﻌﻮد إﻟﻰ اﻟﻄﺮﯾﻘﺔ
. (ﺑﺪﻻ ﻣﻦ اﻟﻤﻔﺘﺎح )اﻻزاﺣﮫ
ﺑﻌﺪ اﻟﺘﺸﻔﯿﺮ ھﻮ اﻟﺤﺮفA ﺳﻮف ﯾﻜﻮن اﻟﺤﺮف، ﺑﮭﺬه اﻟﻄﺮﯾﻘﮫA اذا أردت أن أﺷﻔﺮ اﻟﺤﺮف
. ﻷﻧﮭﺎ اﻷوﻟﻰ ﻓﻲ ﺟﻤﻠﮫ اﻟﺘﺸﻔﯿﺮT
... وھﻜﺬا، E ﯾﺼﺒﺢC و، H ﯾﺼﺒﺢB و
ﻓﺄﻗﻮم ﺑﺘﻜﻤﻠﺔ اﻟﺤﺮوف، وﻓﻲ ﺣﺎل اﻧﺘﮭﺖ ﺟﻤﻠﮫ اﻟﺘﺸﻔﯿﺮ وﻟﻢ ﯾﻨﺘﮭﻲ اﻟﻨﺺ اﻟﺬي أرﯾﺪ ﺗﺸﻔﯿﺮه
: ﻟﻤﺰﯾﺪ ﻣﻦ اﻟﺘﻮﺿﯿﺢ اﻧﻈﺮ اﻟﺠﺪول ﻓﻲ اﻟﺼﻔﺤﺔ اﻟﺘﺎﻟﯿﺔ، ﺑﺎﻟﺤﺮوف اﻟﻌﺎدﯾﺔ
27
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻵن أﻗﻮم ﺑﺘﺸﻔﯿﺮ اﻟﻨﺺ ، STOP FIREوﯾﻨﺘﺞ ﻟﺪى اﻟﻨﺺ اﻟﻤﺸﻔﺮ اﻟﺘﺎﻟﻲ ، QRMN BFPY :
وأﻗﻮم ﺑﺘﻘﺴﯿﻢ اﻟﻨﺺ اﻟﻤﺸﻔﺮ إﻟﻰ Blockﯾﺘﻜﻮن ﻣﻦ ﺧﻤﺴﮫ ﺣﺮوف ،ﻟﯿﻨﺘﺞ ﻟﺪي ﻓﻲ اﻟﻨﮭﺎﯾﺔ
. QRMNB FPY
28
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺷﻔﺮﻩ ﺃﺗﺒﺎﺵ Atbash Cipher
ھﺬه اﻟﺸﻔﺮة أﯾﻀﺎ ﻣﻦ أﺑﺴﻂ أﻧﻮاع اﻟﺸﻔﺮات ،وھﻲ ﻛﺎﻧﺖ ﻓﻲ اﻷﺻﻞ ﻟﻠﻐﺔ اﻟﻌﺒﺮﯾﺔ ،وﻟﻜﻦ ﯾﻤﻜﻦ
اﺳﺘﺨﺪام اﻟﻤﻔﮭﻮم ﻓﻲ ﺑﺎﻗﻲ اﻟﻠﻐﺎت .
وﻃﺮﯾﻘﺘﮭﺎ ﻛﺎﻟﺘﺎﻟﻲ ،وھﻲ أن ﻧﺠﻌﻞ اﻟﺤﺮف اﻷول ﻓﻲ اﻟﻠﻐﺔ ھﻮ اﻟﺤﺮف اﻷﺧﯿﺮ ،واﻟﺤﺮف اﻟﺜﺎﻧﻲ
ھﻮ ﻗﺒﻞ اﻷﺧﯿﺮ ،وھﻜﺬا...
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: ZYXWVUTSRQPONMLKJIHGFEDCBA
ﻣﺜﻼ ،ﻟﺘﺸﻔﯿﺮ اﻟﻜﻠﻤﺔ ، moneyﯾﺼﺒﺢ ﻟﺪﯾﻨﺎ اﻟﻨﺎﺗﺞ . nlmvb
ﻓﻲ ﺑﻌﺾ اﻷﺣﯿﺎن ﻣﻦ اﻟﻤﻤﻜﻦ أن اﻟﻜﻠﻤﺎت ﺑﻌﺪ اﻟﺘﺸﻔﯿﺮ ﯾﻜﻮن ﻟﺪﯾﮭﺎ ﻣﻌﻨﻲ وھﻲ ﻣﺸﻔﺮه ﻣﺜﻞ:
اﻟﻨﺺ اﻷﺻﻠﻲ = " "hobﺑﻌﺪ اﻟﺘﺸﻔﯿﺮ ﺗﺼﺒﺢ " ، "slyوھﻜﺬا ﻟﻠﻜﻠﻤﺎت اﻷﺧﺮى
اﻟﻨﺺ اﻷﺻﻠﻲ = " "holdﺑﻌﺪ اﻟﺘﺸﻔﯿﺮ ﺗﺼﺒﺢ ""slow
اﻟﻨﺺ اﻷﺻﻠﻲ = " "holyﺑﻌﺪ اﻟﺘﺸﻔﯿﺮ ﺗﺼﺒﺢ""slob
""horn" = "slim
""irk" = "rip
""low" = "old
""glow" = "told
"grog" = "tilt".
ﺷﻔﺮﻩ ROT13
ﺗﻌﺘﺒﺮ ھﺬه اﻟﺸﻔﺮة )ﻛﻤﺎ ھﻮ اﻟﺤﺎل ﻣﻊ ﺟﻤﯿﻊ ﺷﻔﺮات ﻧﻮع ( Monoalphabeticﺿﻌﯿﻔﺔ ﻟﻠﻐﺎﯾﺔ ،
ﺣﯿﺚ أن اﻟﺘﺸﻔﯿﺮ وﻓﻚ اﻟﺘﺸﻔﯿﺮ ﯾﺘﻢ ﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﺔ ،و ﻣﻔﺘﺎح اﻟﺘﺸﻔﯿﺮ ، 13وﻟﻠﺘﺸﻔﯿﺮ ﻧﻘﻮم ﺑﺠﻤﻊ 13
ﻋﻠﻰ اﻟﺤﺮف اﻷول ﻣﻦ اﻟﻨﺺ اﻷﺻﻠﻲ ،وﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ﺗﻘﻮم أﯾﻀﺎ ﺑﺠﻤﻊ 13ﻋﻠﻰ اﻟﺤﺮف اﻷول
ﻣﻦ اﻟﻨﺺ اﻟﻤﺸﻔﺮ .
اﻟﺤﺮف pﯾﻌﻨﻲ اﻟﺤﺮف اﻷول ﻣﻦ اﻟﻨﺺ اﻷﺻﻠﻲ ، Plaintextﻧﻘﻮم ﺑﻌﺪھﺎ ﺑﺘﺸﻔﯿﺮه ﺑﺠﻤﻊ 13
ﺣﺮف إﻟﯿﮫ ،ﻟﻨﻔﺮض أن اﻟﺤﺮف اﻷول ﻣﻦ اﻟﻨﺺ اﻷﺻﻠﻲ ھﻮ ، Dاﻟﺤﺮف Dﻗﯿﻤﺘﮫ ، 3ﻧﺠﻤﻊ
) 26%(13+3واﻟﻨﺎﺗﺞ ھﻮ ، 16أو ﻣﻤﻜﻦ ﻧﺘﺤﺮك 13ﺧﻄﻮه ﻣﻦ اﻟﺤﺮف Dواﻟﻨﺎﺗﺞ ﻓﻲ اﻟﻨﮭﺎﯾﺔ
ﺳﻮاء ﺑﺎﻟﺠﻤﻊ أو ﺑﺎﻟﺘﺤﺮك ھﻮ اﻟﺤﺮف . Q
ﻗﺒﻞ أن ﻧﺒﺪأ ﻋﻤﻠﯿﮫ اﻟﺘﺸﻔﯿﺮ داﺋﻤﺎ ،ﻧﻀﻊ ھﺬا اﻟﺠﺪول اﻟﺬي ﺳﻨﺴﺘﺨﺪﻣﮫ ﻛﺜﯿﺮا ﻟﺘﺴﮭﯿﻞ ﻣﻌﺮﻓﮫ ﻣﻮاﻗﻊ
اﻟﺤﺮوف:
29
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻋﻤﻠﯿﮫ ﻓﻚ اﻟﺘﺸﻔﯿﺮ ،ﺗﻜﻮن أﯾﻀﺎ ﺑﺠﻤﻊ 13إﻟﻰ اﻟﺤﺮف اﻟﻤﺸﻔﺮ )أو اﻟﺘﺤﺮك 13ﺧﻄﻮه إﻟﻰ
اﻷﻣﺎم( .ﻧﺠﺮب ﻋﻠﻰ اﻟﺤﺮف Qاﻟﺬي ﻛﺎن ﻧﺘﯿﺠﺔ ﻋﻤﻠﯿﮫ اﻟﺘﺸﻔﯿﺮ اﻟﺴﺎﺑﻘﺔ ، (16+13)%26 = 3 ،
أو ﻧﺘﺤﺮك 13ﺧﻄﻮه إﻟﻰ اﻷﻣﺎم ﺣﺘﻰ ﻧﺼﻞ إﻟﻰ اﻟﺤﺮف اﻷﺻﻠﻲ وھﻮ . D
اﻟﺘﺸﻔﯿﺮ ﺑﻄﺮﯾﻘﺔ ) Affine Cipherاﻟﺒﻌﺾ ﯾﺘﺮﺟﻤﮭﺎ ﺑﻄﺮﯾﻘﮫ اﻟﺘﺸﻔﯿﺮ اﻟﻤﺨﺘﻠﻂ ،ﻷﻧﮫ ھﻨﺎ ﺧﻠﻂ
ﺑﯿﻦ ﻧﻮﻋﯿﻦ ﻣﻦ اﻟﺘﺸﻔﯿﺮ ،اﻟﻨﻮع اﻷول وھﻮ ﺷﻔﺮه ﻗﯿﺼﺮ ،واﻷﺧﺮ وھﻮ ﺷﻔﺮه اﻟﻀﺮب product
( Cipher
ﻓﻲ ﺷﻔﺮه ﻗﯿﺼﺮ ﯾﻜﻮن اﻟﺘﺸﻔﯿﺮ ﻛﺎﻟﺘﺎﻟﻲ :
c = p + key MOD n
)وھﻨﺎ keyﯾﻌﺘﺒﺮ اﻻزاﺣﮫ( .
اﻵن ﻓﻲ ﺷﻔﺮه ) Affineأو اﻟﺸﻔﺮه اﻟﻤﺨﺘﻠﻄﺔ( ﺟﻤﻌﺖ ﺑﯿﻦ اﻟﻄﺮﯾﻘﯿﻦ ،ﺣﯿﺚ ﯾﺘﻢ اﻟﺠﻤﻊ واﻟﻀﺮب
أﯾﻀﺎ .
C = m*p + key MOD n
ﻟﻜﻦ ھﻨﺎك ﺷﺮط ﻣﮭﻢ ﺟﺪا ،وھﻮ أن ﺗﻜﻮن mو nھﻤﺎ أوﻟﯿﺎن ﻓﯿﻤﺎ ﺑﯿﻨﮭﻤﺎ ،أي أن اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك
اﻷﻋﻈﻢ ل mو nﯾﺴﺎوي . 1وﻓﻲ ﺣﺎل ﻟﻢ ﯾﻨﻔﺬ ھﺬا اﻟﺸﺮط ،ﻓﺎﻧﮫ ﻟﻦ ﯾﻤﻜﻦ ﻓﻚ اﻟﺘﺸﻔﯿﺮ) .راﺟﻊ
اﻟﻔﺼﻞ اﻷول ،ﻟﻤﻌﺮﻓﮫ اﻟﻤﺰﯾﺪ ﻋﻦ اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ وﻛﯿﻔﯿﮫ إﯾﺠﺎده ( .
اﻵن ﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ﯾﺠﺐ أن ﻧﻮﺟﺪ ﻣﻌﻜﻮس ) mﻓﻲ ﺣﺎل ﻛﺎن GCD(m,n) = 1ﻓﺈﻧﮫ ﯾﻤﻜﻦ أﯾﺠﺎد
ذﻟﻚ اﻟﻤﻌﻜﻮس ،ﻟﺬﻟﻚ ﻛﻤﺎ ذﻛﺮﻧﺎ ﻗﺒﻞ ﻗﻠﯿﻞ ﯾﺠﺐ ﺗﺤﻘﯿﻖ اﻟﺸﺮط ﻣﻨﺬ اﻟﺒﺪاﯾﺔ ،ﺣﺘﻰ ﯾﻜﻮن ھﻨﺎك
اﻟﻤﻌﻜﻮس(.
30
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻧﺮﯾﺪ ﺗﺸﻔﯿﺮ اﻟﻌﺒﺎرة WAR LOST :
واﻟﻤﻔﺘﺎح keyﯾﺴﺎوي ، 10وﻣﻌﺎﻣﻞ اﻟﻀﺮب mﯾﺴﺎوي . 7
ﻗﺒﻞ أن ﻧﺒﺪأ ﻓﻲ اﻟﺘﺸﻔﯿﺮ ،ﯾﺠﺐ أن ﻧﺘﺄﻛﺪ ﻣﻦ أن ھﻨﺎك ﻣﻌﻜﻮس ل ، mﺣﺘﻰ ﯾﻤﻜﻦ ﻓﻚ اﻟﺸﻔﺮه .
ﻧﺄﺧﺬ اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ ل mو 26) nﻷﻧﮭﺎ ﻋﺪد اﻟﺤﺮوف ( .
، GCD(7,26) = 1وﯾﺴﺎوي واﺣﺪ ،اذا ھﻜﺬا ﻧﺘﺄﻛﺪ ﻣﻦ أن ھﻨﺎك ﻣﻌﻜﻮس ل . M
اﻵن ﺑﻌﺪ ﺗﺤﻮﯾﻞ اﻟﻨﺺ اﻷﺻﻠﻲ إﻟﻰ أرﻗﺎم ،ﯾﻜﻮن ﺑﮭﺬا اﻟﺸﻜﻞ :
22 0 17 11 14 18 19
اﻵن ﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،ﯾﺠﺐ أن ﻧﻌﺮف ﻣﺎ ھﻮ ﻣﻌﻜﻮس ، mﺣﺘﻰ ﻧﺴﺘﻄﯿﻊ اﻟﺘﻄﺒﯿﻖ ﻓﻲ اﻟﻘﺎﻧﻮن اﻟﺘﺎﻟﻲ :
)P = m` * (c – key) (MOD 26
ﻛﯿﻒ ﯾﻤﻜﻦ إﯾﺠﺎد اﻟﻤﻌﻜﻮس ،وذﻟﻚ ﻋﻦ ﻃﺮﯾﻖ ﺧﻮارزﻣﯿﺔ اﻗﻠﯿﺪس اﻟﻤﻤﺘﺪة )اﻟﺘﻲ ذﻛﺮﻧﺎھﺎ ﻓﻲ
اﻟﻔﺼﻞ اﻷول( .
ﻧﺪﺧﻞ اﻟﻌﺪدﯾﻦ 7و 26ﻓﻲ ﺧﻮارزﻣﯿﺔ اﻗﻠﯿﺪس اﻻﻗﻠﯿﺪﯾﺔ اﻟﻤﻤﺘﺪة ،ﻟﯿﻨﺘﺞ ﻟﺪﯾﻨﺎ اﻟﻤﻌﻜﻮس 15 :
31
PDF created with pdfFactory Pro trial version www.pdffactory.com
P3 = 15 * ( 25 – 10 ) MOD 26 = 17
P4 = 15 * ( 9 – 10 ) MOD 26 = 11
P5 = 15 * ( 4 – 10 ) MOD 26 = 14
P6 = 15 * ( 6 – 10 ) MOD 26 = 18
P7 = 15 * ( 13 – 10 ) MOD 26 = 19
ﻃﺮﯾﻘﮫ اﻟﺘﺤﻠﯿﻞ اﻹﺣﺼﺎﺋﻲ ھﻲ اﻟﻄﺮﯾﻘﮫ اﻟﺸﺎﺋﻌﺔ ﻟﻤﺜﻞ ھﺬه اﻟﻄﺮق )ﺣﯿﺚ ﺗﺴﺘﺒﺪل ھﺬه اﻟﻄﺮق ﻛﻞ
ﺣﺮف ﻓﻲ اﻟﺸﻔﺮة اﻻﺻﻠﯿﮫ ﺑﺤﺮف ﻣﺎ اﻋﺘﻤﺎدا ﻋﻠﻰ أزاﺣﮫ ﻣﻌﯿﻨﮫ -ﻣﻔﺘﺎح ﻣﺎ -أو ﺟﻤﻠﮫ ﻟﻠﺘﺸﻔﯿﺮ( .
ﺣﯿﺚ ﺗﺴﺘﻔﯿﺪ ﻣﻦ أن ﺑﻌﺾ اﻟﺤﺮوف ﻓﻲ ﻛﻞ ﻟﻐﺔ ﻣﻌﺪل ﺗﻜﺮارھﺎ أﻛﺜﺮ ﻣﻦ ﺑﺎﻗﻲ اﻟﻠﻐﺎت.
وﻃﺒﻌﺎ ﻟﻠﺒﺪء ﻓﻲ ھﺬه اﻟﻄﺮﯾﻘﮫ ،ﯾﺠﺐ أن ﯾﻜﻮن ھﻨﺎك ﻧﺺ ﻛﺎﻓﻲ ﻟﻠﺒﺪء ﻓﻲ ﻣﺮﺣﻠﮫ اﻟﻌﺪ ،ﯾﻌﻨﻲ ﻧﺺ
ﯾﺘﻜﻮن ﻣﻦ 10ﺣﺮوف أو أﻗﻞ ﯾﺼﻌﺐ ﺟﺪا ﻛﺴﺮه )إن ﻟﻢ ﯾﻜﻦ ﻣﺴﺘﺤﯿﻞ ﻓﻲ اﻷﺻﻞ( ﺑﮭﺬه اﻟﻄﺮﯾﻘﮫ.
ﺗﻤﺮﯾﻦ ،ﻗﻢ ﺑﻔﻚ اﻟﺸﻔﺮة اﻟﺘﺎﻟﯿﺔ ،ﻋﻠﻤﺎ ﺑﺄﻧﮭﺎ ﻣﺸﻔﺮه ﺑﺨﻮارزﻣﯿﺔ ﻗﯿﺼﺮ ﺑﻤﻔﺘﺎح ﻣﺨﺘﻠﻒ:
fqjcb rwjwj vnjax bnkhj whxcq nawjv nfxdu mbvnu ujbbf nnc
اﻟﺤﻞ :
ﻓﻲ اﻟﺒﺪاﯾﺔ أول ﺧﻄﻮه ھﻲ ﻣﻌﺮﻓﮫ ﻛﻢ ﻣﺮه ﺗﻜﺮر ﻛﻞ ﺣﺮف ،ﻧﺴﺘﻄﯿﻊ أن ﻧﻌﺮف ﻣﺎ ھﻮ اﻟﺤﺮف
اﻟﺬي ﺗﻜﺮر أﻛﺜﺮ ﻣﻦ ﻏﯿﺮه ،وﻣﻨﮫ ﻗﺪ ﯾﻜﻮن ھﻮ اﻟﺤﺮف . E
32
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻵن ﻧﺒﺪأ ﻓﻲ ﻋﺪ اﻟﺤﺮوف:
a:2 , b:5 , c:3 , d:0 , e:0 , f:3 , g:0 , h:2 , i:0 , j:7 , k:1 , l:0 , m:1 , n :7
وھﻜﺬا ﻟﺒﺎﻗﻲ اﻟﺤﺮوف
) ﻛﻞ اﻟﺒﺎﻗﻲ ﻻ ﯾﺘﻌﺪى ﺛﻼﺛﺔ أﺣﺮف ،ﻣﺎ ﻋﺪا اﻟﺤﺮف wﺗﻜﺮر أرﺑﻌﮫ ﻣﺮات( .
ﻧﻌﻮد إﻟﻰ اﻟﺤﺮوف اﻷﻛﺜﺮ ﺗﻜﺮار وھﻲ jو nﺣﯿﺚ ﺗﻜﺮر ﻛﻞ ﻣﻨﮭﻢ 7ﻣﺮات.
اﻵن ﻧﺸﺎھﺪ اﻟﻔﺮق ﺑﯿﻦ اﻟﺤﺮف اﻷول jواﻟﺤﺮف Eﻟﯿﺨﺮج اﻟﻨﺎﺗﺞ ، 5اﻵن اﻟﻤﻔﺘﺎح ھﻨﺎ ، 5وﻧﺒﺪأ
ﺑﻔﻚ اﻟﺸﻔﺮة:
ﻧﻄﺮح ﻣﻦ ﻛﻞ ﺣﺮف 5ﺣﺮوف:
f-5 = a
q-5 = l
j-5 = e
c-5 = x
b-5 =w
واﻟﻨﺎﺗﺞ ﯾﻜﻮن:
alexw mrere ajevsﻧﺘﻮﻗﻒ ھﻨﺎ ﺑﺎﻟﻄﺒﻊ ،ﻷن اﻟﻨﺺ ﻟﯿﺲ ﻟﮫ ﻣﻌﻨﻰ ﺑﺘﺎﺗﺎ.
ﻧﺄﺧﺬ اﻟﺤﺮف اﻟﺜﺎﻧﻲ اﻷﻛﺜﺮ ﺗﻜﺮارا ،وھﻮ اﻟﺤﺮف . N
ﻧﺸﺎھﺪ اﻟﻔﺮق ﺑﯿﻨﮫ وﺑﯿﻦ اﻟـ ، e-n=9 ،Eاذا اﻟﻤﻔﺘﺎح ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﯾﻜﻮن . 9
اﻵن ﻧﻄﺮح ﻣﻦ ﻛﻞ ﺣﺮف 9ﺣﺮوف....
f-9 = w
q-9 = h
j-9 = a
c-9 = t
b-9 = s
اﻵن ﻧﺒﺪأ ﺑﻤﻌﺮﻓﮫ اﻟﺠﻤﻞ ،وﺑﻌﺪ ﻗﻠﯿﻞ ﻣﻦ اﻟﻤﺤﺎوﻻت واﻻﺳﺘﻌﺎﻧﺔ ﺑﺎﻟﻤﺘﺮﺟﻢ اﻟﻮاﻓﻲ ،ﯾﺨﺮج ﻟﺪﯾﻨﺎ
what's in a name a rose by any other name would smell as sweet
ﺗﻤﺮﯾﻦ :ﻗﻢ ﺑﻔﻚ اﻟﺸﻔﺮة اﻟﺘﺎﻟﯿﺔ ،واﺳﺘﺨﺪم اﻟﺠﻤﻠﺔ اﻟﺘﺎﻟﯿﺔ ﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ""monalphbetic
jmjmj gsmsg lrjgu csqyj quflr mfajq erdmc cmqlv lqyhg gawgq arpgq
sblce jrlrj lnmec cyjqu flrmf ajqer d
ھﺬا اﻟﺘﺸﻔﯿﺮ ﻋﻦ ﻃﺮﯾﻘﮫ ﺟﻤﻠﮫ اﻟﺘﺸﻔﯿﺮ ﺳﮭﻞ ﻟﻠﻐﺎﯾﺔ ،ﻛﻞ ﻣﺎ ﻓﻲ اﻷﻣﺮ ،ھﻮ وﺿﻊ اﻟﺤﺮوف اﻟﻌﺎدﯾﺔ
ووﺿﻊ ﺟﻤﻠﮫ اﻟﺘﺸﻔﯿﺮ أﺳﻔﻞ ﻣﻨﮭﺎ ،وﺑﻌﺪھﺎ :
33
PDF created with pdfFactory Pro trial version www.pdffactory.com
a b c d e f g h I j k lm no p q r s tuvwxyz
m o n a l p h b e t I c d f g j k q r suvwxyz
اﻵن ﻧﺄﺧﺬ اﻟﺤﺮف اﻷول ﻣﻦ اﻟﻨﺺ اﻟﻤﺸﻔﺮ وھﻮ اﻟﺤﺮف jو ﻧﻨﻈﺮ إﻟﻰ ﻣﺎ ﯾﻘﺎﺑﻞ اﻟﺤﺮف jﻓﻲ
اﻟﺴﻄﺮ اﻷول اﻟﺬي ﯾﻤﺜﻞ اﻟﻨﺺ اﻷﺻﻠﻲ ،ﻟﯿﺼﺒﺢ jھﻮ اﻟﺤﺮف ، pو mھﻮ اﻟﺤﺮف ، aوھﻜﺬا
ﻟﺒﺎﻗﻲ اﻟﺤﺮوف ﻓﻲ ھﺬه اﻟﺸﻔﺮة .
وأﺷﮭﺮ اﻟﺸﻔﺮات ﺗﺤﺖ ھﺬا اﻟﻨﻮع ،ھﻲ ﺷﻔﺮات ﻋﺎﺋﻠﮫ ﻓﺠﯿﻨﯿﺮ Vigenere Cipherوﻗﺪ
ﻃﻮرت ھﺬه اﻟﺸﻔﺮات ﻋﻠﻰ ﻣﺪى اﻟﺴﻨﯿﻦ ﻣﻦ ﻗﺒﻞ أﻧﺎس ﻣﺨﺘﻠﻔﯿﻦ ،أﯾﻀﺎ ﺟﮭﺎز اﻟﺘﺸﻔﯿﺮ اﻷﻟﻤﺎﻧﻲ
Engimaﯾﻨﺪرج ﺗﺤﺖ ھﺬا اﻟﻨﻮع .وﻣﻦ ھﺬه اﻟﺸﻔﺮات :
Simple Shift Vigenere Cipher
Full Vigenere Cipher
Auto-Key Vigenere Cipher
Running Key Vigenere Cipher
ﻃﺮﯾﻘﺔ اﻟﺘﺸﻔﯿﺮ ﻓﻲ ھﺬا اﻟﻨﻮع ﻣﻦ أﺑﺴﻂ ﻣﺎ ﯾﻜﻮن ،ﺣﯿﺚ ﻧﻘﻮم ﺑﺘﺸﻔﯿﺮ اﻟﺤﺮف اﻷول ﺑﺎﻟﻤﻔﺘﺎح اﻷول
،واﻟﺤﺮف اﻟﺜﺎﻧﻲ ﺑﺎﻟﻤﻔﺘﺎح اﻟﺜﺎﻧﻲ ،وھﻜﺬا ..وﻓﻲ ﺣﺎل اﻧﺘﮭﺖ اﻟﻤﻔﺎﺗﯿﺢ أﻗﻮم ﺑﺘﻜﺮار ﻛﺘﺎﺑﺘﮭﺎ ﻣﺮة
أﺧﺮى .
34
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻟﺪي ھﺬه اﻟﻌﺒﺎرة )اﻟﻨﺺ اﻷﺻﻠﻲ( :
DEFCON FOUR
أرﯾﺪ أن أﺷﻔﺮھﺎ ﺑﮭﺬه اﻟﻄﺮﯾﻘﮫ ،أول ﺧﻄﻮه ھﻲ أن ﯾﻜﻮن اﻟﻤﻔﺘﺎح ﻣﺘﻐﯿﺮ ،أي ﻣﺨﺘﻠﻒ ﻣﻦ ﻣﻮﻗﻊ
ﻷﺧﺮ.
ﻗﺒﻞ أن ﻧﺒﺪأ ﻋﻤﻠﯿﮫ اﻟﺘﺸﻔﯿﺮ ،ﻧﻀﻊ ھﺬا اﻟﺠﺪول ﻟﺘﺴﮭﯿﻞ ﻣﻌﺮﻓﮫ ﻣﻮاﻗﻊ اﻟﺤﺮوف:
اﻵن ﻧﻀﻊ اﻟﻨﺺ اﻟﻤﺮاد ﺗﺸﻔﯿﺮه ،وﻣﻘﺎﺑﻠﮫ ﻧﻀﻊ اﻟﻤﻔﺘﺎح ،وﻣﻦ ﺛﻢ ﻧﺒﺪأ ﺑﻌﻤﻠﯿﮫ اﻻزاﺣﮫ ﻟﯿﺨﺮج ﻟﺪﯾﻨﺎ
اﻟﻨﺺ اﻟﻤﺸﻔﺮ
ھﺬه اﻟﺼﻮره ﺗﻮﺿﺢ ﻋﻤﻠﯿﮫ اﻟﺘﺸﻔﯿﺮ ،اﻟﺴﻄﺮ اﻷول ھﻮ اﻟﻨﺺ اﻷﺻﻠﻲ ،اﻟﺴﻄﺮ اﻟﺜﺎﻧﻲ اﻟﻤﻔﺎﺗﯿﺢ ،
وﻓﻲ ﺣﺎل اﻧﺘﮭﺖ ﻧﻌﯿﺪ ﻛﺘﺎﺑﺘﮭﺎ ﻣﺮه أﺧﺮى ،اﻟﺴﻄﺮ اﻷﺧﯿﺮ ھﻮ اﻟﻨﺎﺗﺞ ﻣﻦ ﺟﻤﻊ اﻟﺴﻄﺮ اﻷول ﻣﻊ
اﻟﺜﺎﻧﻲ وھﻮ اﻟﻨﺺ اﻟﻤﺸﻔﺮ:
35
PDF created with pdfFactory Pro trial version www.pdffactory.com
إﻟﻰ ھﻨﺎ اﻷﻣﺮ ﺑﺴﯿﻂ ﻟﻠﻐﺎﯾﺔ ،وﻟﻜﻦ ﺗﺒﻘﻰ ﻣﺸﻜﻠﮫ ﻓﻌﻠﯿﮫ وھﻲ ﺻﻌﻮﺑﺔ ﺗﺬﻛﺮ اﻟﻤﻔﺘﺎح وﺧﺎﺻﺔ اذا ﻛﺎن
ﻃﻮﯾﻞ ،ﻓﻜﯿﻒ أﺣﻔﻆ ھﺬه اﻟﻤﻔﺎﺗﯿﺢ ؟ اﻟﺤﻞ ھﻮ اﺳﺘﺨﺪام ﻧﺺ أو ﺟﻤﻠﮫ ﺑﺪل ھﺬه اﻷرﻗﺎم ،وﻋﻨﺪ
اﻟﺘﺸﻔﯿﺮ أﻋﻮض ﺑﻜﻞ ﺣﺮف ﻣﻦ ھﺬه اﻟﺠﻤﻠﺔ ﺑﺎﻟﺮﻗﻢ ﻋﻠﻰ ﺣﺴﺐ ﻣﻮﻗﻌﮭﺎ ،ﻣﺜﻼ اﻟﺤﺮف Aاﻟﻤﻔﺘﺎح
ھﻨﺎ ھﻮ ، 0اﻟﺤﺮف Bاﻟﻤﻔﺘﺎح ھﻮ 1وھﻜﺬا...
ﺳﻮف ﯾﻜﻮن ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ،ﺑﻌﺪ ﺗﻌﻮﺿﮫ ﺑﺎﻟﺤﺮوف BLAST OFF :
وھﻜﺬا ،ﺳﻮف ﻧﻘﻀﻲ ﻋﻠﻰ ﻣﺸﻜﻠﮫ ﺣﻔﻆ اﻟﻤﻔﺎﺗﯿﺢ اﻟﻄﻮﯾﻠﺔ ،ﻋﻦ ﻃﺮﯾﻖ ﺟﻤﻠﮫ اﻟﺘﺸﻔﯿﺮ .
أﺣﺪ أﺷﮭﺮ اﻻﺳﺘﺨﺪاﻣﺎت ﻟﮭﺬا اﻟﻨﻮع ﻣﻦ اﻟﺸﻔﺮات ھﻮ ﻋﺠﻠﮫ اﻷﻛﻮاد : Code Wheel
ﺣﯿﺚ ﯾﻜﻮن ﻟﺪﯾﻨﺎ ﻋﺠﻠﮫ )داﺋﺮة ﻣﺘﺤﺮﻛﺔ( ﺗﺘﻜﻮن ﻣﻦ ﺟﺰﺋﯿﯿﻦ داﺧﻠﻲ وﺧﺎرﺟﻲ ،اﻟﺠﺰء اﻟﺪاﺧﻠﻲ ﻓﯿﮫ
اﻟﺤﺮوف اﻷﺑﺠﺪﯾﺔ وھﻮ ﯾﻤﺜﻞ اﻟﺤﺮوف اﻟﻤﺸﻔﺮة ،واﻟﺠﺰء اﻟﺨﺎرﺟﻲ أﯾﻀﺎ ﯾﺤﺘﻮي ﻋﻠﻰ اﻟﺤﺮوف
اﻷﺑﺠﺪﯾﺔ وﻟﻜﻨﮫ ﯾﻤﺜﻞ اﻟﺤﺮوف ﻓﻲ اﻟﻨﺺ اﻷﺻﻠﻲ ،
اذا ﻛﻨﺖ ﻻ ﺗﺴﺘﻄﯿﻊ ﺗﺨﯿﻞ ﺷﻜﻞ ھﺬه اﻟﻌﺠﻠﺔ -وھﻮ ﻣﺎ ﺣﺼﻞ ﺑﺎﻟﺘﺄﻛﯿﺪ -أﻧﻈﺮ اﻟﺼﻮره اﻟﻤﻘﺎﺑﻠﺔ :
36
PDF created with pdfFactory Pro trial version www.pdffactory.com
وھﺬه ﺻﻮره ﻟﮭﺎ وھﻲ ﻓﻲ اﻟﻌﺎﻟﻢ اﻟﺤﻘﯿﻘﻲ :
ﻛﯿﻒ ﻧﻘﻮم ﺑﺎﻟﺘﺸﻔﯿﺮ ﻓﻲ ھﺬه اﻟﻌﺠﻠﺔ ،ﺑﺒﺴﺎﻃﮫ أوﻻ أﻗﻮم ﺑﺎﺧﺘﯿﺎر اﻟﻤﻔﺘﺎح وھﻮ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﻋﺒﺎرة
ﻋﻦ ﺣﺮف واﺣﺪ ،وﻟﯿﻜﻦ اﺧﺘﺮت اﻟﻤﻔﺘﺎح . S
اﻵن ﻗﺒﻞ أن أﺑﺪأ ﺑﺎﻟﺘﺸﻔﯿﺮ ،أﺣﺮك اﻟﺠﺰء اﻟﺪاﺧﻠﻲ )اﻟﺨﺎص ﺑﺎﻟﺸﻔﺮة( وأﺟﻌﻞ اﻟﺤﺮف Sﺗﺤﺖ
اﻟﺤﺮف Aﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﻓﻲ اﻟﺼﻮره أﻋﻼه )اﻟﺼﻮره اﻷوﻟﻰ ﻟﻠﻌﺠﻠﺔ( .
اﻵن اذا أردت أن أﺷﻔﺮ اﻟﺤﺮف ، Gأﻧﻈﺮ ﻓﻲ اﻟﺠﺰء اﻟﺨﺎرﺟﻲ إﻟﻰ ، Gﺑﻌﺪھﺎ أﺷﺎھﺪ ﻣﺎذا ﯾﻘﺎﺑﻠﮫ
وھﻮ اﻟﺤﺮف Y .وھﻜﺬا ﻟﺒﺎﻗﻲ اﻟﺤﺮوف ﻓﻲ اﻟﻨﺺ.
ﻓﻚ اﻟﺘﺸﻔﯿﺮ ھﻮ اﻟﻌﻤﻠﯿﺔ اﻟﻌﻜﺴﯿﺔ ،أرﯾﺪ أن أﻓﻚ ﺗﺸﻔﯿﺮ اﻟﺤﺮف ، Hأﻧﻈﺮ ﻓﻲ اﻟﺠﺰء اﻟﺪاﺧﻠﻲ إﻟﻰ H
وأﻧﻈﺮ ﻣﺎ ﯾﻘﺎﺑﻠﮫ وھﻮ اﻟﺤﺮف . pوھﻜﺬا...
ﻷن اﻟﻤﻔﺘﺎح ﯾﺘﻜﺮر ﻓﻲ ھﺬه اﻟﺸﻔﺮات ﺑﺤﯿﺚ ﺗﻌﯿﺪ دوره اﻟﻤﻔﺎﺗﯿﺢ ﻣﻦ اﻟﺒﺪاﯾﺔ ﻣﻦ ﻣﺮه ) ﺗﻌﺮف ھﺬه
ﺑﺎﻟـ Periodأي اﻟﻔﺘﺮة اﻟﺘﻲ ﻣﺎ ﺑﯿﻦ ﺗﻜﺮار اﻟﻤﻔﺘﺎح ،وﻛﻠﻤﺎ ﻛﺎﻧﺖ ھﺬه اﻟﻔﺘﺮة أﻃﻮل ،ﻛﻠﻤﺎ ﻛﺎﻧﺖ
اﻟﺸﻔﺮة أﻛﺜﺮ أﻣﺎﻧﺎ ( ،ﯾﻤﻜﻦ اﺳﺘﻐﻼل ھﺬه اﻹﻋﺎدة وﺗﻄﺒﯿﻖ ﻃﺮﯾﻘﮫ اﻟﺘﺤﻠﯿﻞ اﻹﺣﺼﺎﺋﻲ ،وﻟﻜﻦ ﯾﺠﺐ
أن ﯾﻜﻮن اﻟﻨﺺ اﻟﻤﺸﻔﺮ ﻛﺒﯿﺮ ﺑﻤﺎ ﯾﻜﻔﻲ ،أﯾﻀﺎ ﯾﺠﺐ أن ﯾﺘﻢ ﻣﻌﺮﻓﮫ ﻋﺪد اﻟﻤﻔﺎﺗﯿﺢ اﻟﻤﺴﺘﺨﺪﻣﺔ أو
Key Lengthوھﻮ أﺻﻌﺐ ﺟﺰء ﻓﻲ اﻟﻌﻤﻠﯿﺔ.
وﻓﻲ ﺣﺎل ﺗﻢ ﻣﻌﺮﻓﮫ ﻋﺪد اﻟﻤﻔﺎﺗﯿﺢ Key Lengthﻧﻘﻮم ﺑﺘﻘﺴﯿﻢ اﻟﻨﺺ اﻟﻤﺸﻔﺮ إﻟﻰ ﻣﺠﻤﻮﻋﮫ ﺻﻐﯿﺮه
ﻣﻦ اﻟﻨﺼﻮص ،ﺑﻌﺪھﺎ وﺑﻄﺮﯾﻘﮫ ﻣﺎ ﻧﻄﺒﻖ ﻋﻠﯿﮭﺎ ﻃﺮﯾﻘﮫ اﻟﺘﺤﻠﯿﻞ اﻹﺣﺼﺎﺋﻲ ﻋﻠﻰ ﻛﻞ ﻣﺠﻤﻮﻋﮫ ﻋﻠﻰ
ﺣﺪه ،وﻧﻼﺣﻆ ﻣﺎ ھﻮ اﻟﺤﺮف اﻟﺬي ﯾﺘﻜﺮر ﻛﺜﯿﺮا ﻓﻲ اﻟﻤﺠﻤﻮﻋﺔ اﻷوﻟﻰ وﻗﺪ ﯾﻜﻮن ھﻮ ) Eﻧﻌﯿﺪ ﻧﻔﺲ
ﺧﻄﻮات ﻛﺴﺮ ،( Monoalphabeticﻃﺒﻌﺎ ﻋﻠﻰ ﻛﻞ ﻣﺠﻤﻮﻋﮫ ﻣﻦ اﻟﻤﺠﻤﻮﻋﺎت اﻟﺼﻐﯿﺮة.
37
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻣﺜﺎل ،ﻟﺪﯾﻨﺎ اﻟﻨﺺ اﻟﻤﺸﻔﺮ اﻷﺗﻲ:
XZQTY IISTN PAWRT GSGPO LNOXF
اذا ﻗﻤﻨﺎ ﺑﺘﺨﻤﯿﻦ اﻟﻤﻔﺎﺗﯿﺢ ﻣﺜﻼ 5ﻣﻔﺎﺗﯿﺢ ،وﻛﺎﻧﺖ ھﻲ اﻹﺟﺎﺑﺔ اﻟﺼﺤﯿﺤﺔ ،اﻵن ﻧﻘﻮم ﺑﺘﻘﺴﯿﻢ اﻟﻨﺺ
إﻟﻰ ﻣﺠﻤﻮﻋﮫ ﻣﻦ اﻟﻨﺼﻮص ،وﯾﺘﻢ اﻟﺘﻘﺴﯿﻢ وذﻟﻚ ﺑﺄﺧﺬ ﺣﺮف واﺣﺪ ﻣﻦ ﻛﻞ ﺑﻠﻮك Blockﻓﻲ
اﻟﻨﺺ اﻟﻤﺸﻔﺮ.
اذا اﻟﻤﺠﻤﻮﻋﺔ اﻷول ھﻲ ، XIPGLوﻧﻄﺒﻖ ﻧﻔﺲ اﻟﻄﺮﯾﻘﮫ ﻋﻠﻰ اﻟﺤﺮف اﻟﺜﺎﻧﻲ ﻣﻦ ﺟﻤﯿﻊ اﻟﺒﻠﻮﻛﺎت
،واﻟﺜﺎﻟﺚ واﻟﺮاﺑﻊ واﻟﺨﺎﻣﺲ....
اﻟﺴﺆال اﻟﺬي ﯾﻄﺮح ﻧﻔﺴﮫ ﻛﯿﻒ ﺗﻤﺖ ﻣﻌﺮﻓﮫ ﻃﻮل اﻟﻤﻔﺘﺎح )ﻋﺪد اﻟﻤﻔﺎﺗﯿﺢ ( ؟ ،ﻃﺒﻌﺎ ﻓﻲ اﻟﻤﺜﺎل
اﻟﺴﺎﺑﻖ ﻷن اﻟﻨﺺ ﻛﺎن ﺻﻐﯿﺮ ﻟﻦ ﻧﺴﺘﻄﯿﻊ إﯾﺠﺎده ،وﻟﻜﻦ اﻟﻄﺮﯾﻘﮫ ﺻﺤﯿﺤﺔ ،ﻟﺬﻟﻚ ﻧﺄﺧﺬ ﻣﺜﺎل أﺧﺮ
ﺑﻌﺪ ﻗﻠﯿﻞ ﻟﺘﻮﺿﯿﺢ اﻷﻣﺮ ،ﻣﺠﺪدا.
) اﻟﺘﺨﻤﯿﻦ اﻟﻌﺸﻮاﺋﻲ ﯾﻔﯿﺪ ﻛﺜﯿﺮا ،ﻟﻜﻨﮫ ﯾﺴﺘﻠﺰم اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻤﺤﺎوﻻت ،ﺣﺘﻰ ﺗﺴﺘﻄﯿﻊ ﻣﻌﺮﻓﺘﮫ
ﻋﺸﻮاﺋﯿﺎ ( .
ھﺬه اﻟﻄﺮﯾﻘﮫ ﺑﺴﯿﻄﺔ ﻟﻠﻐﺎﯾﺔ ،ﺣﯿﺚ ﻋﻠﯿﻨﺎ ھﻨﺎ ﻣﻼﺣﻈﮫ ﺣﺮﻓﯿﻦ أو ﺛﻼﺛﺔ ﺣﺮوف ﯾﺘﻜﺮروا ﻛﺜﯿﺮا وﻟﻜﻦ
ﺑﺸﺮط أن ﯾﺄﺗﻮا ﻣﻊ ﺑﻌﺾ ،ﯾﻌﻨﻲ ﻣﺜﻼ ﺗﻜﺮرت اﻟﺤﺮوف XYZﻛﺜﯿﺮا ،وﻛﻞ ﻣﺮه ﺗﺘﻜﺮر ﻓﯿﮭﺎ ھﺬه
اﻟﺤﺮوف ﺗﺄﺗﻲ ﻣﺠﻤﺘﻌﮫ ﻣﻊ ﺑﻌﺾ ﺑﮭﺬا اﻟﺸﻜﻞ ،ھﻨﺎ ﻓﻲ ھﺬه اﻟﻄﺮﯾﻘﮫ ﺣﺘﻰ ﻧﻌﺮف ﻋﺪد اﻟﻤﻔﺎﺗﯿﺢ ﻧﻘﻮم
ﺑﻌﺪ اﻟﺤﺮوف اﻟﺘﻲ ﺗﺄﺗﻲ ﺑﯿﻦ اﻟـ XYZاﻷوﻟﻰ واﻟﺜﺎﻧﯿﺔ ،وﻧﻘﻮم ﺑﻌﺪ اﻟﺤﺮوف ﺑﯿﻦ اﻟـ XYZاﻟﺜﺎﻧﯿﺔ
واﻟﺜﺎﻟﺜﺔ ،وھﻜﺬا إﻟﻰ أن ﻧﻨﺘﮭﻲ ،ﺑﻌﺪھﺎ ﯾﻤﻜﻦ ﺑﻘﻠﯿﻞ ﻣﻦ اﻟﻤﺤﺎوﻟﺔ ﻣﻌﺮﻓﮫ ﻋﺪد اﻟﻤﻔﺎﺗﯿﺢ.
38
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻟﻨﻔﺘﺮض أن ﻟﺪﯾﻨﺎ ﺷﻔﺮه ﻣﺎ ،وﻓﯿﮭﺎ اﻟﺤﺮوف FSIﺗﺘﻜﺮر ﻛﺜﯿﺮا ،واﻟﻔﺮق ﺑﯿﻦ ﻛﻞ FSIﻓﻲ ھﺬا
اﻟﻨﺺ اﻟﻤﺸﻔﺮ ﻣﻮﺿﺤﮫ ﻓﻲ اﻟﺠﺪول اﻟﺘﺎﻟﻲ:
-ﻃﺮﯾﻘﮫ اﻟﻌﺪ ﺑﺄن ﻧﻌﺪ ﻣﻦ ﺑﻌﺪ اﻟﺤﺮف Fإﻟﻰ أن ﻧﺼﻞ إﻟﻰ اﻟﺤﺮف Fﻓﻲ ال FSIاﻟﺜﺎﻧﯿﺔ -
ﻟﻮ دﻗﻘﻨﺎ ﻛﺜﯿﺮا ﻓﻲ ھﺬه اﻷﻋﺪاد ،ﺳﻨﻌﺮف أن أﻏﻠﺒﮭﺎ ﯾﻜﻮن ﻣﻦ ﻣﻀﺎﻋﻔﺎت اﻟﻌﺪد ، 7وھﻨﺎك 3أﻋﺪاد
ﻓﻲ ھﺬا اﻟﺠﺪول ﻟﯿﺴﺖ ﻣﻦ ﻣﻀﺎﻋﻔﺎت اﻟﺴﺒﻌﺔ ،وﻟﻜﻦ ﻗﺪ ﯾﻜﻮن اﻟﺤﺮف Fﻇﮭﺮ ﻟﻮﺣﺪه ،وﻟﯿﺲ
ﻣﺠﺘﻤﻊ ﻣﻊ اﻟـ ، FSIوﺗﻢ ﻋﺪه.
ﻟﯿﻜﻦ ﻟﺪﯾﻨﺎ اﻟﺸﻔﺮة اﻟﺘﺎﻟﯿﺔ ،ﻗﻢ ﺑﻜﺴﺮ اﻟﺸﻔﺮة وﻣﻌﺮﻓﮫ ﻋﺪد اﻟﻤﻔﺎﺗﯿﺢ اﻟﻤﺴﺘﺨﺪﻣﺔ ،ﻋﻠﻤﺎ ﺑﺄﻧﮭﺎ ﻣﺸﻔﺮه
ﺑﻄﺮﯾﻘﮫ ﻓﺠﯿﻨﯿﺮ اﻟﺒﺴﯿﻄﺔ:
اﻟﺨﻄﻮة اﻷوﻟﻰ ھﻲ أن ﻧﻌﺮف ﻋﺪد اﻟﻤﻔﺎﺗﯿﺢ اﻟﻤﺴﺘﺨﺪﻣﺔ ، Key Lengthﻟﺬﻟﻚ ﻧﺴﺘﺨﺪم ﻃﺮﯾﻘﮫ
ﻛﺴﯿﺴﻜﻲ ،وﻧﺒﺪأ ﻓﻲ ﻣﻼﺣﻈﮫ ﺣﺮوف ﻣﺠﺘﻤﻌﮫ ﺗﺄﺗﻲ أﻛﺜﺮ ﻣﻦ ﻏﯿﺮھﺎ.
دﻗﻖ ﻛﺜﯿﺮا ﻓﻲ اﻟﺸﻔﺮة ،ﺳﻮف ﺗﻼﺣﻆ أن اﻟﺤﺮوف LJVﺗﺄﺗﻲ ﻣﺠﺘﻤﻌﮫ ﺑﺎﻻﺿﺎﻓﮫ إﻟﻰ أﻧﮭﺎ ﺗﺘﻜﺮر.
ﻧﺒﺪأ اﻟﻌﺪ ﺑﯿﻦ ﻛﻞ LJVوأﺧﺮى ﻓﻲ ھﺬه اﻟﺸﻔﺮة ،
39
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻟﻔﺮق ﺑﯿﻦ أول ﺣﺮف Lواﻟﺤﺮف Lﻓﻲ اﻟﺒﻠﻮك اﻟﺜﺎﻧﻲ ھﻮ 15
واﻟﻔﺮق ﺑﯿﻦ ﺛﺎﻧﻲ ﺣﺮف Lواﻟﺤﺮف Lﻓﻲ اﻟﺒﻠﻮك اﻟﺜﺎﻟﺚ ھﻮ 15أﯾﻀﺎ.
وﻧﻘﻮم ﺑﺎﻟﻌﺪ ھﻜﺬا إﻟﻰ أن ﻧﺼﻞ إﻟﻰ اﻟﻨﮭﺎﯾﺔ.
اﻵن ﻧﺄﺗﻲ إﻟﻰ ﻣﺮﺣﻠﮫ ﻣﻌﺮﻓﮫ ﻋﺪد اﻟﻤﻔﺎﺗﯿﺢ ،ﻻﺣﻆ اﻷرﻗﺎم ﻓﻲ اﻟﺠﺪول ، 10,15,15اﺣﺘﻤﺎل
ﺗﻜﻮن اﻟﻤﻔﺎﺗﯿﺢ )وھﻮ اﻻﺣﺘﻤﺎل اﻟﺼﺤﯿﺢ( ھﻮ 5ﻣﻔﺎﺗﯿﺢ.
اﻵن ﺑﻌﺪ ﻣﻌﺮﻓﮫ ﻃﻮل اﻟﻤﻔﺎﺗﯿﺢ ،ﯾﺠﺐ ﻣﻌﺮﻓﮫ ﻋﺪد ھﺬه اﻟﻤﻔﺎﺗﯿﺢ ،ﻧﺒﺪأ ﺑﺘﻘﺴﯿﻢ اﻟﺸﻔﺮة إﻟﻰ 5أﻗﺴﺎم ،
وﻧﺄﺧﺬ اﻟﺤﺮف اﻷول ﻣﻦ اﻟﺒﻠﻮك اﻷول واﻟﺤﺮف اﻷول ﻣﻦ اﻟﺒﻠﻮك اﻟﺜﺎﻧﻲ ،وﻧﻔﺲ اﻟﻜﻼم ﺑﺎﻟﻨﺴﺒﺔ
ﻟﻠﺮاﺑﻊ واﻟﺨﺎﻣﺲ واﻟﺴﺎدس إﻟﻰ ﻧﮭﺎﯾﺔ اﻟﺸﻔﺮة ،وﻧﻀﻌﮭﻢ ﻓﻲ اﻟﻘﺴﻢ اﻷول.
وأﯾﻀﺎ ﻟﻠﻘﺴﻢ اﻟﺜﺎﻧﻲ ،ﻧﺄﺧﺬ اﻟﺤﺮف اﻟﺜﺎﻧﻲ ﻣﻦ ﻛﻞ ﺑﻠﻮك إﻟﻰ ﻧﮭﺎﯾﺔ اﻟﺸﻔﺮة،
وﻧﻔﺲ اﻟﻜﻼم ﻟﺒﺎﻗﻲ اﻷﻗﺴﺎم.
اﻵن ﺑﻌﺪ ﺗﺮﺗﯿﺐ ﻓﻲ 5أﻗﺴﺎم ﻧﻄﺒﻖ اﻟﻄﺮق اﻟﺴﺎﺑﻘﺔ Monoalphabeticﻋﻠﻰ ﻛﻞ ﻗﺴﻢ ﻋﻠﻰ ﺣﺪه ،
وھﻨﺎ ﻧﺮﯾﺪ أن ﻧﻌﺮف ﻣﺎ ھﻮ اﻟﺤﺮف اﻷﻛﺜﺮ ﺗﻜﺮارا ﻓﻲ ﻛﻞ ﻗﺴﻢ.
اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﺒﯿﻦ ﺷﻜﻞ اﻷﻗﺴﺎم اﻟﺨﻤﺴﺔ ،وﻣﺎ ھﻮ اﻟﺤﺮف اﻷﻛﺜﺮ ﺗﻜﺮارا ﻓﻲ ﻛﻞ ﻗﺴﻢ:
40
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻟﺤﺮف اﻷﻛﺜﺮ ﺗﻜﺮارا ھﻮ اﻟـ ، L
اﻟﺴﺆال اﻟﺬي ﯾﻄﺮح ﻧﻔﺴﮫ ،ﻣﺎ ھﻮ اﻟﺤﺮف اﻟﻤﺤﺘﻤﻞ أن ﯾﻜﻮن Eأو Tأو Rأو ﻏﯿﺮ ذﻟﻚ ؟
ﻻﺣﻆ ھﻨﺎ أن اﻟﻨﺺ ﺻﻐﯿﺮ ﺟﺪا ،وﻟﺬﻟﻚ ﺳﻮف ﯾﻜﻠﻔﻨﺎ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻤﺤﺎوﻻت اذا أردﻧﺎ أن ﻧﻌﺘﺒﺮ أن
Eﻣﺜﻼ ھﻮ اﻟﺤﺮف اﻟﺬي ﯾﺘﺸﻔﺮ إﻟﻰ ، Lﻷﻧﻨﺎ ﺳﻮف ﻧﻨﺘﻘﻞ إﻟﻰ اﻟﻘﺴﻢ اﻟﺜﺎﻧﻲ وﻧﻜﺮر ﻧﻔﺲ اﻟﻄﺮﯾﻘﮫ
ﻓﻲ اﻟﺤﺮف اﻷﻛﺜﺮ ﺗﻜﺮارا وھﻮ اﻟﺤﺮف Jوﻗﺪ ﯾﻜﻮن ھﻮ Eوﻟﯿﺲ اﻟﺤﺮف اﻟﺴﺎﺑﻖ !
ﻟﺬﻟﻚ اذا أردﻧﺎ أن ﻧﺠﺮب ھﻜﺬا ﺳﻮف ﻧﺨﺮج ﺑﻨﺘﯿﺠﺔ ﻓﻲ اﻟﻨﮭﺎﯾﺔ وﻟﻜﻦ ﻗﺪ ﯾﻄﻮل اﻷﻣﺮ ﻛﺜﯿﺮا ،
ﻟﺬﻟﻚ ﻧﺒﺤﺚ ﻋﻦ ﺣﻞ أﺧﺮ ،وﺑﻘﻠﯿﻞ ﻣﻦ اﻟﻤﻼﺣﻈﺔ ﺣﻮل اﻷﺣﺮف اﻟﺜﻼﺛﺔ اﻟﺘﻲ ﺗﺄﺗﻲ داﺋﻤﺎ ﻣﻊ ﺑﻌﺾ ،
وﻧﺤﻦ ﻧﻌﺮف ﻓﻲ اﻟﻠﻐﺔ اﻷﻧﺠﻠﯿﺰﯾﮫ أن THEﺗﺘﻜﻮن ﻣﻦ ﺛﻼﺛﺔ أﺣﺮف ،
اﻵن ﻧﺄﺧﺬ اﻟﻔﺮق ﺑﯿﻦ ھﺬه اﻟﺤﺮوف أي ﺑﯿﻦ اﻟـ Tواﻟـ Lواﻟﻨﺎﺗﺞ ھﻮ ) 18اﻟﺤﺮف ( S
اﻟﻔﺮق ﺑﯿﻦ اﻟﺤﺮف Hواﻟﺤﺮف Jھﻮ ) 2اﻟﺤﺮف .( C
اﻟﻔﺮق ﺑﯿﻦ اﻟﺤﺮف Eواﻟﺤﺮف Vھﻮ ) 17اﻟﺤﺮف . (R
إﻟﻰ ھﺬه اﻟﻤﺮﺣﻠﺔ ،ﻋﺮﻓﻨﺎ أول ﺛﻼﺛﺔ ﻣﻔﺎﺗﯿﺢ ﻓﻲ ھﺬه اﻟﺸﻔﺮة SCRوﺗﺒﻘﻰ اﺛﻨﺎن
ﻧﻌﻮد إﻟﻰ اﻟﻘﺴﻢ اﻟﺮاﺑﻊ واﻟﺨﺎﻣﺲ ،ﺣﯿﺚ اﻟﻘﺴﻢ اﻟﺮاﺑﻊ اﻟﺤﺮف اﻷﻛﺜﺮ ﺗﻜﺮارا ھﻮ Nواﻟﻘﺴﻢ اﻟﺨﺎﻣﺲ
اﻟﺤﺮف اﻷﻛﺜﺮ ﺗﻜﺮارا ھﻮ . Aوھﻨﺎ ﺗﺒﺪأ ﻣﺮﺣﻠﮫ اﻟﺘﺨﻤﯿﻦ واﻟﺒﺤﺚ ﻋﻦ ھﺬﯾﻦ اﻟﺤﺮﻓﯿﻦ )اﻟﻤﻔﺘﺎﺣﯿﻦ(
،ﯾﻤﻜﻨﻚ ﻓﻲ اﻟﺒﺪاﯾﺔ اﻋﺘﺒﺎر ﻛﻞ ﻣﻨﮭﻢ ﺣﺮف ﻣﺎ وﻟﯿﻜﻦ. A,B
اﻵن ﻧﻘﻮم ﺑﻔﻚ اﻟﺸﻔﺮة ﻋﻠﻰ أﺳﺎس اﻟﻤﻔﺘﺎح ھﻮ SCRABﻟﺘﺨﺮج ﻟﺪﯾﻨﺎ ﺷﻔﺮه ﻧﺼﻔﮭﺎ ﺻﺤﯿﺢ
واﻟﻨﺼﻒ اﻷﺧﺮ ﺧﺎﻃﺌﮫ ،وﻧﻘﻮم ﺑﻌﺪھﺎ ﺑﺘﺠﺮﺑﺔ ﺣﺮﻓﯿﻦ آﺧﺮﯾﻦ ،وھﻨﺎك ﺣﻮاﻟﻲ 26*26اﺣﺘﻤﺎل
ﯾﺠﺐ اﻟﺒﺤﺚ ﻓﯿﮫ ﺣﺘﻰ ﻧﻄﻠﻊ اﻟﺤﺮﻓﯿﻦ اﻷﺧﯿﺮﯾﻦ ،وھﻮ أﻣﺮ ﺷﺎق وﻣﺘﻌﺐ ﯾﺪ وﯾﺎ ،ﻟﻜﻦ ﺑﺎﺳﺘﺨﺪام
اﻟﺤﺎﺳﺐ ﻓﺎﻷﻣﺮ ﺳﮭﻞ وﺳﺮﯾﻊ .
إﻟﻰ أن ﻧﺼﻞ أﺧﯿﺮا إﻟﻰ اﻟﻤﻔﺘﺎﺣﯿﻦ اﻟﺼﺤﯿﺤﯿﻦ اﻟﺬﯾﻦ ھﻤﺎ A,Mوﻟﺘﻜﻮن ﺟﻤﻠﮫ اﻟﺘﺸﻔﯿﺮ ھﻲ
. SCRAM
اﻵن ﻧﻔﻚ ﺗﺸﻔﯿﺮ اﻟﻨﺺ اﻟﻤﺸﻔﺮ اﻟﺴﺎﺑﻖ ﺑﮭﺬه اﻟﺠﻤﻠﺔ ، SCRAMﻟﯿﺨﺮج ﻟﺪﯾﻨﺎ:
41
PDF created with pdfFactory Pro trial version www.pdffactory.com
THEBE ARWEN TOVER THEMO UNTAI NYEAH THEDO GWENT
ROUND THEHY DRANT THECA TINTO THEHI GHEST SPOTH
ECOUL DFIND
THE BEAR WENT OVER THE MOUNTAIN YEAH THE DOG WENT
ROUND THE HYDRANT THE CAT INTO THE HIGH EST SPOT HE
COULD FIND
ھﻨﺎ ﻓﻲ ھﺬه اﻟﻄﺮﯾﻘﮫ ﺑﻌﺪﻣﺎ أﺧﺘﺎر اﻟﺠﻤﻠﺔ )ﻣﻔﺎﺗﯿﺢ اﻟﺘﺸﻔﯿﺮ( ،ﯾﻜﻮن اﻟﺘﺸﻔﯿﺮ ﻋﻦ ﻃﺮﯾﻖ أﺧﺬ اﻟﺤﺮف
اﻷول ﻣﻦ اﻟﻨﺺ اﻷﺻﻠﻲ ﻣﻊ اﻟﺤﺮف اﻷول ﻣﻦ ﺟﻤﻠﮫ اﻟﺘﺸﻔﯿﺮ وأﺧﺬ ﻧﻘﻄﮫ اﻟﺘﻘﺎﻃﻊ ﻓﻲ ﺟﺪول
اﻟﺘﺸﻔﯿﺮ ، a tabular recta
أﻗﻮم ﻓﻲ اﻟﺒﺪاﯾﺔ ﺑﺄﺧﺬ ﻧﻘﻄﮫ اﻟﺘﻘﺎﻃﻊ ﺑﯿﻦ اﻟﺤﺮف اﻷول ﻓﻲ اﻟﻨﺺ اﻷﺻﻠﻲ واﻟﺤﺮف اﻷول ﻓﻲ
اﻟﺠﻤﻠﺔ .
42
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺟﻤﯿﻊ اﻷﻋﻤﺪة ﺗﻤﺜﻞ اﻟﺤﺮوف ﻓﻲ اﻟﻨﺺ اﻷﺻﻠﻲ ،اﻟﺴﻄﻮر ﺗﻤﺜﻞ اﻟﺤﺮوف ﻓﻲ ﺟﻤﻠﮫ اﻟﺘﺸﻔﯿﺮ.
ﻧﺒﺪأ ﺑﺄﺧﺬ اﻟﺤﺮف Hﻣﻦ اﻟﻨﺺ ،واﻟﺤﺮف Sﻣﻦ اﻟﺠﻤﻠﺔ
وﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،ﻧﻘﻮم ﺑﺎﻟﻌﻤﻠﯿﺔ اﻟﻌﻜﺴﯿﺔ ،وﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﺗﻜﻮن اﻷﻋﻤﺪة ھﻲ اﻟﻨﺺ اﻷﺻﻠﻲ ،
واﻟﺴﻄﻮر ھﻮ اﻟﻤﻔﺎﺗﯿﺢ )ﻧﻔﺲ ﻃﺮﯾﻘﺔ اﻟﺘﺸﻔﯿﺮ( ،وﻟﻜﻦ ﻟﻜﻲ أﻓﻚ ﺗﺸﻔﯿﺮ ﺣﺮف ﻣﺎ ،أوﻻ أﺧﺬ اﻟﺤﺮف
اﻷول ﻣﻦ ﺟﻤﻠﮫ اﻟﺘﺸﻔﯿﺮ ،وأﺑﺤﺚ ﻓﻲ اﻟﺴﻄﺮ اﻟﺨﺎص ﺑﺎﻟﺤﺮف اﻷول ﻣﻦ ﺟﻤﻠﺔ اﻟﺘﺸﻔﯿﺮ ﻋﻦ
اﻟﺤﺮف اﻟﻤﺸﻔﺮ اﻷول ،وﻋﻨﺪﻣﺎ أﺟﺪه ﯾﻜﻮن اﻟﺤﺮف اﻟﻤﻮﺟﻮد ﻓﻲ اﻟﻌﺎﻣﻮد ھﻮ اﻟﺤﺮف اﻷﺻﻠﻲ .
ﻧﺒﺪأ ﺑﺄﺧﺬ اﻟﺤﺮف اﻷول ﻣﻦ ﺟﻤﻠﺔ اﻟﺘﺸﻔﯿﺮ وھﻮ ، Sﻧﺬھﺐ إﻟﻰ اﻟﺠﺪول ،وﻧﺸﺎھﺪ اﻟﺴﻄﺮ اﻟﺨﺎص
ﺑﺎﻟﺤﺮف ، Sوﻧﺒﺤﺚ ﻋﻦ اﻟﺤﺮف اﻷول ﻣﻦ اﻟﺸﻔﺮة وھﻮ ، Oوﻋﻨﺪﻣﺎ ﻧﺠﺪه ﻧﺄﺧﺬ اﻟﺤﺮف اﻷول ﻓﻲ
ﻧﻔﺲ اﻟﻌﺎﻣﻮد ،وھﻨﺎ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ اﻟﺤﺮف اﻷﺻﻠﻲ ھﻮ . Hوھﻜﺬا ﻣﻊ ﺑﺎﻗﻲ اﻟﺤﺮوف .
ﺷﻔﺮات ﻓﺠﯿﻨﯿﺮ ﺑﺄﻧﻮاﻋﮭﺎ اﻟﻤﺨﺘﻠﻔﺔ ﻣﺘﺸﺎﺑﮭﺔ ﻓﯿﻤﺎ ﺑﯿﻨﮭﺎ ﺑﺸﻜﻞ ﻛﺒﯿﺮ ،ﻟﻜﻦ ﯾﻮﺟﺪ ﻓﺮق واﺿﺢ ﺑﯿﻦ ﻛﻞ
ﻧﻮع أﺧﺮ ،ﻓﻲ ﺷﻔﺮه ﻓﺠﯿﻨﯿﺮ ﺗﻠﻘﺎﺋﯿﺔ اﻟﻤﻔﺘﺎح ،اﻟﺘﺸﻔﯿﺮ ﯾﻜﻮن ﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﮫ ،وﺟﻤﻠﮫ اﻟﺘﺸﻔﯿﺮ أﯾﻀﺎ
،ﻟﻜﻦ ﻓﻲ ﺣﺎل اﻧﺘﮭﺖ ﺟﻤﻠﺔ اﻟﺘﺸﻔﯿﺮ وﺣﺘﻰ ﻧﺘﺠﻨﺐ ﺗﻜﺮر اﻟﻤﻔﺘﺎح ﺑﻌﺪ اﻧﺘﮭﺎﺋﮫ ﻧﻘﻮم ﺑﻮﺿﻊ اﻟﻨﺺ
اﻷﺻﻠﻲ ،أي أن اﻟﻨﺺ اﻷﺻﻠﻲ ﯾﺪﺧﻞ ﻓﻲ ﻋﻤﻠﯿﮫ اﻟﺘﺸﻔﯿﺮ .
ﻧﺄﺧﺬ ﻣﺜﺎل ﯾﻮﺿﺢ ھﺬا اﻟﻨﻮع ﻣﻦ اﻟﺸﻔﺮات ،أرﯾﺪ أن أﺷﻔﺮ اﻟﻨﺺ اﻟﺘﺎﻟﻲ:
LIGHT SPEED CHEWIE NOW
ﺑﺎﻟﻤﻔﺘﺎح )ﺟﻤﻠﺔ اﻟﺘﺸﻔﯿﺮ ،اﻟﻤﻔﺎﺗﯿﺢ ،ﻛﻠﮭﺎ ﻧﻔﺲ اﻟﻤﻌﻨﻰ( اﻟﺘﺎﻟﻲ ARGH :
أول ﺧﻄﻮه ﻧﻘﻮم ﺑﮭﺎ ھﻲ ﺗﺸﻔﯿﺮ اﻟﺤﺮف اﻷول ﻓﻲ اﻟﻨﺺ اﻷﺻﻠﻲ ﻣﻊ اﻟﺤﺮف اﻷول ﻓﻲ ﺟﻤﻠﮫ
اﻟﺘﺸﻔﯿﺮ
L+A=L
I+R=Z
G+G=M
H+H=O
إﻟﻰ ھﻨﺎ ﻧﻼﺣﻆ اﻧﺘﮭﺎء اﻟﻤﻔﺎﺗﯿﺢ ) وﺑﺪل ﻣﻦ إﻋﺎدﺗﮫ ﻣﺮه ﺛﺎﻧﯿﮫ ﻛﻤﺎ ﺣﺪث ﻓﻲ اﻟﻄﺮﯾﻘﺔ اﻟﺴﺎﺑﻘﺔ( ﻧﻘﻮم
43
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺑﺈدﺧﺎل اﻟﻨﺺ اﻷﺻﻠﻲ ﻛﻤﻔﺘﺎح
اﻟﺤﺮف اﻷول ﻣﻦ اﻟﻨﺺ اﻷﺻﻠﻲ L
L + T =E
اﻟﺤﺮف اﻟﺜﺎﻧﻲ ﻣﻦ اﻟﻨﺺ اﻷﺻﻠﻲ I
I+S=A
وھﻜﺬا إﻟﻰ أن ﻧﻨﺘﮭﻲ ﻣﻦ ﺗﺸﻔﯿﺮ اﻟﻨﺺ.
وﯾﻔﻀﻞ داﺋﻤﺎ ﻛﺘﺎﺑﺔ اﻟﻨﺺ ،واﻟﻤﻔﺘﺎح ،واﻟﻨﺺ اﻟﻤﺸﻔﺮ ،ﺑﮭﺬه اﻟﻄﺮﯾﻘﮫ ﻟﻠﺘﺴﮭﯿﻞ :
وﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،ﻧﻘﻮم ﺑﻔﻚ اﻟﺤﺮف اﻷول ﻣﻦ اﻟﻨﺺ اﻟﻤﺸﻔﺮ ﻣﻊ اﻟﻤﻔﺘﺎح اﻷول ،واﻟﺤﺮف اﻟﺜﺎﻧﻲ ﻣﻦ
اﻟﻨﺺ اﻟﻤﺸﻔﺮ ﻣﻊ اﻟﻤﻔﺘﺎح اﻟﺜﺎﻧﻲ ...وﻧﺴﺘﻤﺮ ھﻜﺬا إﻟﻰ أن ﺗﻨﺘﮭﻲ اﻟﻤﻔﺎﺗﯿﺢ.
وﻟﻜﻲ ﻧﻘﻮم ﺑﻔﻚ اﻟﺤﺮف اﻟﻤﺸﻔﺮ اﻟﺘﺎﻟﻲ )ﺑﻌﺪ اﻧﺘﮭﺎء اﻟﻤﻔﺎﺗﯿﺢ( ،ﻧﻘﻮم ﺑﻔﻚ ﺗﺸﻔﯿﺮ اﻟﺤﺮف اﻟﻤﺸﻔﺮ ﻣﻊ
اﻟﻤﻔﺘﺎح )اﻟﺬي ﯾﻜﻮن ﻋﺒﺎرة ﻋﻦ أول ﺣﺮف أﺻﻠﻲ ﺣﺼﻠﻨﺎ ﻋﻠﯿﮫ ﺑﻌﺪ أول ﻋﻤﻠﯿﮫ ﻓﻚ ﺗﺸﻔﯿﺮ( .أي أن
اﻟﻤﻔﺘﺎح )ﺑﻌﺪ اﻧﺘﮭﺎء اﻟﻤﻔﺎﺗﯿﺢ( ﯾﻜﻮن ھﻮ اﻟﺤﺮف اﻷﺻﻠﻲ اﻟﺬي ﺣﺼﻨﺎ ﻋﻠﯿﮫ ،وﺑﻌﺪھﺎ ﯾﻜﻮن اﻟﺤﺮف
اﻷﺻﻠﻲ اﻟﺜﺎﻧﻲ اﻟﺬي ﺣﺼﻨﺎ ﻋﻠﯿﮫ ) .أي أن اﻟﻨﺺ اﻷﺻﻠﻲ ﯾﻜﻮن ھﻮ اﻟﻤﻔﺘﺎح( .
ﻓﻲ ھﺬا اﻟﻨﻮع ﻣﻦ اﻟﺘﺸﻔﯿﺮ ﯾﺠﺐ أن ﺗﻜﻮن اﻟﻌﻤﻠﯿﺔ دﻗﯿﻘﮫ ،ﻷن أي ﺧﻄﺄ واﺣﺪ ﻓﻲ اﻟﺤﺮوف ﻗﺪ ﯾﻨﺘﺞ
ﻋﻨﮭﺎ ﺧﻄﺄ ﻓﻲ ﺟﻤﯿﻊ اﻟﺤﺮوف اﻟﺘﺎﻟﯿﺔ ،أﯾﻀﺎ ﻋﻨﺪ إرﺳﺎل رﺳﺎﺋﻞ ﻣﻦ ھﺬا اﻟﻨﻮع ﯾﺠﺐ اﻟﺘﺄﻛﺪ ﻣﻦ ﻋﺪم
وﺟﻮد أﺧﻄﺎء ﻓﻲ اﻹرﺳﺎل.
ھﻨﺎ ﻓﻲ ھﺬا اﻟﻨﻮع ﻣﻦ اﻟﺸﻔﺮات ،ﯾﺠﺐ اﺧﺘﯿﺎر ﺟﻤﻠﮫ ﺗﺸﻔﯿﺮ)ﻣﻔﺎﺗﯿﺢ( ﺑﺤﯿﺚ ﺗﻜﻮن أﻃﻮل ﻣﻦ اﻟﻨﺺ
اﻷﺻﻠﻲ )ﻻﺣﻆ اﺳﻢ اﻟﺸﻔﺮة( ،وأﺧﺬ ھﺬه اﻟﺠﻤﻠﺔ ﻣﻤﻜﻦ ﯾﻜﻮن ﻣﻦ ﻛﺘﺎب ﻣﺎ أو ﻣﺠﻠﮫ أو أي ﻧﺺ
ﻃﻮﯾﻞ ،ﯾﺠﺐ أﯾﻀﺎ أن ﺗﻜﻮن ﻣﻮﺟﻮدة ﻋﻨﺪ اﻟﻄﺮف اﻷﺧﺮ ،أو اﺧﺘﯿﺎر أي ﺟﻤﻠﮫ ﻟﻠﺘﺸﻔﯿﺮ وإرﺳﺎﻟﮭﺎ
إﻟﻰ اﻟﻄﺮف اﻷﺧﺮ )اﻟﻤﮭﻢ أن ﺗﻜﻮن ﻃﻮﯾﻠﺔ(.
ﻻﺣﻆ اﻟﺠﻤﻠﺔ أﻃﻮل ﻣﻦ اﻟﻤﻔﺘﺎح ،وﻃﺮﯾﻘﮫ اﻟﺘﺸﻔﯿﺮ ﺗﻜﻮن ﻋﺎدﯾﮫ ﻛﻤﺎ ﻛﻨﺎ ﻧﺸﻔﺮ ﻣﻦ ﻗﺒﻞ.
44
PDF created with pdfFactory Pro trial version www.pdffactory.com
وﻓﻚ اﻟﺘﺸﻔﯿﺮ ھﻮ اﻟﻌﻤﻠﯿﺔ اﻟﻌﻜﺴﯿﺔ ،وﺑﻨﻔﺲ اﻷﺳﻠﻮب .
ﺑﺎﻟﺮﻏﻢ ﻣﻦ أﻧﮫ ھﺬه اﻟﻄﺮق أﻗﻮى ﻣﻦ اﻟﻄﺮق اﻟﺴﺎﺑﻘﺔ ،Monoalphabeticﺣﯿﺚ ﻻ ﺗﻘﻮم ھﺬه
اﻟﻄﺮق ﺑﺘﻜﺮار اﻟﻤﻔﺘﺎح ﻛﻤﺎ ھﻮ اﻟﺤﺎل ﻣﻊ اﻟﻄﺮق اﻟﺴﺎﺑﻘﺔ ،اﻹ أﻧﮭﺎ ﻣﻌﺮﺿﮫ ﻟﻠﺨﻄﺮ أﯾﻀﺎ ﻣﻦ
ﻃﺮﯾﻘﮫ اﻟﺘﺤﻠﯿﻞ اﻹﺣﺼﺎﺋﻲ ،وذﻟﻚ ﻧﻈﺮا ﻷن اﻟﻨﺺ اﻷﺻﻠﻲ ﯾﺘﻜﺮر ﺑﺪل ﻣﻦ ﺗﻜﺮار اﻟﻤﻔﺎﺗﯿﺢ)ﻓﻲ
ﺣﺎﻟﺔ اﻟﺸﻔﺮة ﺗﻠﻘﺎﺋﯿﺔ اﻟﻤﻔﺘﺎح( ،وھﺬا اﻷﻣﺮ ﯾﺸﻜﻞ ﺧﻄﺮا ﻛﺒﯿﺮا.
ﻻﺣﻈﻨﺎ ﻓﻲ اﻟﻄﺮق اﻟﺴﺎﺑﻘﺔ أن أﺧﺬ ﺣﺮف واﺣﺪ وﺗﺸﻔﯿﺮه ﺑﻤﻔﺘﺎح إﻟﻰ ﺣﺮف ﻣﺸﻔﺮ ،ھﻲ ﻃﺮق
ﺿﻌﯿﻔﺔ وﯾﻤﻜﻦ ﻛﺴﺮھﺎ ﺑﺴﮭﻮﻟﮫ ،ﻟﻜﻦ ھﻨﺎ ﻓﻲ اﻟـ POLYGRAMاﻟﺘﺸﻔﯿﺮ ﺳﻮف ﯾﻜﻮن ﺑﻄﻮل
ﺑﻠﻮك ، Blockأي ﻧﺄﺧﺬ اﻟﺒﻠﻮك اﻷول ﻛﺎﻣﻼ وﻧﺸﻔﺮه ،وﻧﻀﻊ اﻟﺒﻠﻮك اﻟﻤﺸﻔﺮ .ﻃﺒﻌﺎ ﻻ ﯾﺸﺘﺮط
أن ﯾﻜﻮن ﺑﻠﻮك اﻟﻨﺺ اﻷﺻﻠﻲ ھﻮ ﻧﻔﺲ ﺣﺠﻢ ﺑﻠﻮك اﻟﻨﺺ اﻟﻤﺸﻔﺮ.
ﻣﺜﻼ ﻟﺪى ﺧﻮارزﻣﯿﺔ ﺗﺄﺧﺬ ﺑﻠﻮك ﻣﻦ 8أﺣﺮف ،وﺗﻀﻊ ﺑﺪﻟﮫ ﺑﻠﻮك ﻣﺸﻔﺮ ﻣﻦ 8أﺣﺮف ،ﻛﻤﺎ ھﻮ
ﻣﻮﺿﺢ ﺑﺎﻟﺼﻮرة اﻟﺘﺎﻟﯿﺔ:
اذا أردﻧﺎ أن ﻧﻄﺒﻖ ﻃﺮﯾﻘﮫ اﻟـ ، Brute-Forceﺳﻮف ﻧﺤﺘﺎج إﻟﻰ 26أس 8اﺣﺘﻤﺎل ) (8^26
وھﻮ ﻣﺎ ﯾﺴﺎوي 26^8 = 208,827,064,576
وھﻮ ﻃﺒﻌﺎ أﻣﺮ ﯾﺄﺧﺬ زﻣﻨﺎ ﻃﻮﯾﻼ وﺣﺠﻢ ﻛﺒﯿﺮ ﺟﺪا ﺟﺪا ﻓﻲ اﻟﺬاﻛﺮة ،ﺑﺎﺧﺘﺼﺎر ﺣﻞ ﻏﯿﺮ ﻋﻤﻠﻲ.
وﯾﺘﻀﺢ ھﻨﺎ أن ھﺬه اﻟﺸﻔﺮات أﺻﻌﺐ ﻓﻲ اﻟﻔﻚ ﻣﻦ اﻷﻧﻮاع اﻟﺴﺎﺑﻘﺔ ﺑﻜﺜﯿﺮ ،وﺧﺎﺻﺔ ﻓﻲ ﺣﺎل ﻛﺎن
ﺣﺠﻢ اﻟﺒﻠﻮك ﻛﺒﯿﺮ ﺑﻤﺎ ﻓﯿﮫ اﻟﻜﻔﺎﯾﺔ ،وأﻏﻠﺐ اﻟﺨﻮارزﻣﯿﺎت اﻟﺤﺪﯾﺜﺔ ﺗﺄﺧﺬ ﺣﺠﻢ ﺑﻠﻮك ﻋﻠﻰ اﻷﻗﻞ 8
ﺣﺮف .وﻟﻜﻦ ﻓﻲ ﺣﺎﻟﮫ ﻛﺎن ﺣﺠﻢ اﻟﺒﻠﻮك ﺻﻐﯿﺮا ،ﯾﻤﻜﻦ ﻛﺴﺮ ھﺬا اﻟﻨﻮع ﺑﺎﺳﺘﺨﺪام اﻟﺘﺤﻠﯿﻞ اﻟﻤﺘﻜﺮر
أﯾﻀﺎ.
45
PDF created with pdfFactory Pro trial version www.pdffactory.com
وﻣﻦ أﺷﮭﺮ ﺷﻔﺮات ھﺬا اﻟﻨﻮع Polygraphic
ﺷﻔﺮه ﺑﻼﻓﯿﺮ Playfair
ﺷﻔﺮه ھﯿﻞ Hill Cipher
أﺳﻄ ﻮاﻧﺔ ﺟﯿﻔﯿﺮﺳﻮن ، Jifferson Cylinderوﺑﻌﺾ اﻷﺣﯿﺎن ﺗﺴﻤﻰ THE BAZERIES
. CYLINDER
ھﺬه اﻟﺸﻔﺮة ﺗﺄﺧﺬ ﺑﻠﻮك Blockﻣﻜﻮن ﻣﻦ ﺣﺮﻓﯿﻦ ،واﻟﺸﻔﺮة اﻟﻨﺎﺗﺠﺔ ﺗﻜﻮن أﯾﻀﺎ ﻣﻦ ﺣﺮﻓﯿﻦ ،
وﻃﺮﯾﻘﺘﮭﺎ ﺗﻜﻮن ﺑﻌﻤﻞ ﻣﺼﻔﻮﻓﺔ ﻣﻦ 25ﺧﺎﻧﮫ ) ، (5 *5ﻧﻀﻊ ﻓﻲ ﻛﻞ ﺧﺎﻧﮫ ﺣﺮف أﺑﺠﺪي Aو B
وھﻜﺬا ،وﺑﻤﺎ أن ﻋﺪد اﻟﺤﺮوف اﻷﺑﺠﺪﯾﺔ )ﻓﻲ اﻟﻠﻐﺔ اﻹﻧﺠﻠﯿﺰﯾﺔ( ﯾﺴﺎوي ، 26اذا ھﻨﺎك ﺣﺮف ﻟﯿﺲ
ﻟﮫ ﻣﻜﺎن ،ﻟﺬﻟﻚ ھﺬه اﻟﺸﻔﺮة ﺗﻀﻊ اﻟﺤﺮﻓﯿﻦ I,Jﻣﻊ ﺑﻌﺾ ﻓﻲ ﺧﺎﻧﮫ واﺣﺪه داﺋﻤﺎ.
وﻋﺎده ﯾﻜﺘﺐ ﻓﻲ ھﺬه اﻟﻤﺼﻔﻮﻓﺔ اﻟﺤﺮوف اﻟﺘﻲ ﺗﻤﺜﻞ ﺟﻤﻠﺔ اﻟﺘﺸﻔﯿﺮ )ﻣﻔﺎﺗﯿﺢ اﻟﺘﺸﻔﯿﺮ( ،ﻣﺜﻼ ﻟﺪي
ﺟﻤﻠﮫ اﻟﺘﺸﻔﯿﺮ اﻟﺘﺎﻟﯿﺔ:
The quick brown fox jumped over the lazy dogs
أﻗﻮم ﺑﻌﻤﻞ اﻟﻤﺼﻔﻮﻓﺔ 5 *5وأﻗﻮم ﺑﺘﻌﺒﺌﺔ اﻟﺨﺎﻧﺔ اﻷوﻟﻰ ﺑﺎﻟﺤﺮف اﻷول ﻣﻦ ﺟﻤﻠﺔ اﻟﺘﺸﻔﯿﺮ T
واﻟﺨﺎﻧﺔ اﻟﺜﺎﻧﯿﺔ ﺑﺎﻟﺤﺮف اﻟﺜﺎﻧﻲ ﻧﻢ ﺟﻤﻠﺔ اﻟﺘﺸﻔﯿﺮ Hوھﻜﺬا ) ،وﯾﺸﺘﺮط( ﻋﺪم ﺗﻜﺮار اﻟﺤﺮف اﻟﺬي
ﻇﮭﺮ ،أﯾﻀﺎ ﻓﻲ ﺣﺎل اﻧﺘﮭﺖ ﺟﻤﻠﮫ اﻟﺘﺸﻔﯿﺮ ﻧﻜﻤﻞ اﻟﺨﺎﻧﺎت اﻟﺒﺎﻗﯿﺔ ﺑﺒﺎﻗﻲ اﻟﺤﺮوف ﻏﯿﺮ ﻣﻮﺟﻮدة ﻓﻲ
اﻟﻤﺼﻔﻮﻓﺔ.
46
PDF created with pdfFactory Pro trial version www.pdffactory.com
أﯾﻀﺎ ﺷﻜﻞ اﻟﻤﺼﻔﻮﻓﺔ اﻟﺘﺎﻟﯿﺔ ،ﯾﻜﻮن ﺑﻌﺪ ﺗﻌﺒﺌﺘﮭﺎ ﺑﺠﻤﻠﮫ اﻟﺘﺸﻔﯿﺮ:
Since by man came death
أﻗﻮم أوﻻ ﺑﺘﻘﺴﯿﻢ اﻟﻨﺺ اﻷﺻﻠﻲ إﻟﻰ ﻣﺠﻤﻮﻋﮫ ﻣﻦ اﻟﺒﻠﻮﻛﺎت Blocksﻛﻞ ﺑﻠﻮك ﻣﻦ ﺣﺮﻓﯿﻦ .ﻟﻨﻄﻠﻖ
ﻋﻠﻰ اﻟﺤﺮﻓﯿﻦ A,B
ﻗﺒﻞ أن ﻧﺒﺪأ ﻓﻲ اﻟﻨﻈﺮ إﻟﻰ اﻟﻤﺼﻔﻮﻓﺔ وﺑﺪء اﻟﺘﺸﻔﯿﺮ ،ﻧﻨﻈﺮ إﻟﻰ اﻟﻨﺺ اﻷﺻﻠﻲ وﺑﺎﻟﺘﺤﺪﯾﺪ إﻟﻰ ﻛﻞ
ﺑﻠﻮك ﻣﻜﻮن ﻣﻦ ﺣﺮﻓﯿﻦ ،وﻧﺮى ھﻞ اﻟﺤﺮﻓﯿﻦ ﻣﺘﺸﺎﺑﮭﺎن ،اذا ﻛﺎن ﻛﺬﻟﻚ ﻧﻔﺼﻞ ﺑﯿﻨﮭﻤﺎ ﺑﺎﻟﺤﺮف
.X
أﯾﻀﺎ ﻓﻲ ﺣﺎل ﻛﺎن ﻧﮭﺎﯾﺔ اﻟﻨﺺ اﻷﺻﻠﻲ ﺑﻠﻮك ﻣﻦ ﺣﺮف واﺣﺪ ،ﻧﻀﯿﻒ ﻟﮫ اﻟﺤﺮف . X
اﻟﺤﻞ :
47
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻵن ﻛﻤﺎ ذﻛﺮﻧﺎ أول ﺧﻄﻮه ھﻲ ﺗﻘﺴﯿﻢ اﻟﻨﺺ إﻟﻰ ﺑﻠﻮك ﯾﺘﻜﻮن ﻣﻦ ﺣﺮﻓﯿﻦ.
AM BA SS AD OR SH OT
اﻟﺨﻄﻮة اﻟﺜﺎﻧﯿﺔ ،ﻣﻼﺣﻈﮫ ھﻞ ھﻨﺎك ﺑﻠﻮك ﻣﻦ ﺣﺮﻓﯿﻦ ﻣﺘﺸﺎﺑﮭﯿﻦ ،ھﻨﺎ ﻧﻼﺣﻆ أن ھﻨﺎك ﺑﻠﻮك ﻓﯿﮫ
ﺣﺮﻓﺎن ﻣﺘﺸﺎﺑﮭﺎن ﻟﺬﻟﻚ ﻧﻀﯿﻒ Xﺑﯿﻨﮭﻤﺎ وھﻮ اﻟﺒﻠﻮك اﻟﺜﺎﻟﺚ ، SSﻟﯿﺼﺒﺢ ﻟﺪﯾﻨﺎ ﺑﻌﺪ إﺿﺎﻓﺔ : X
AM BA SX SA DO RS HO T
ﻻﺣﻆ أﺧﺮ ﺣﺮف وﺣﯿﺪ ،ﻟﺬﻟﻚ ﻧﻀﯿﻒ اﻟﺤﺮف Xﻓﻲ اﻷﺧﺮ ،ﻟﯿﺼﺒﺢ اﻟﻨﺺ اﻷﺻﻠﻲ:
AM BA SX SA DO RS HO TX
ﻧﺄﺧﺬ اﻟﺒﻠﻮك اﻷول ،وﻧﺒﺪأ ﻓﻲ اﻟﻨﻈﺮ إﻟﻰ اﻟﺠﺪول ،اﻟﺤﺮف Aﻓﻲ ﻧﻔﺲ ﺻﻒ اﻟﺤﺮف ، Mاذا
ﻧﻨﺘﻘﻞ ﺧﻄﻮه ﻟﻠﯿﻤﯿﻦ ﻟﻜﻞ ﺣﺮف ﻓﻲ اﻟﺒﻠﻮك اﻷول .
اذا ﺗﺸﻔﯿﺮ Aھﻮ ، Mوﺗﺸﻔﯿﺮ Mھﻮ . N
ﻧﺄﺧﺬ اﻟﺒﻠﻮك اﻟﺜﺎﻧﻲ ،وﻧﻨﻈﺮ ﻓﻲ اﻟﺠﺪول ،اﻟﺤﺮف Bﻓﻲ ﻧﻔﺲ ﻋﺎﻣﻮد اﻟﺤﺮف ، Aاذا ﻧﻨﺘﻘﻞ
ﺧﻄﻮه ﻟﻸﺳﻔﻞ ﻟﻜﻞ ﺣﺮف ﻓﻲ اﻟﺒﻠﻮك اﻟﺜﺎﻧﻲ .
اذا ﺗﺸﻔﯿﺮ Bھﻮ ، Uوﺗﺸﻔﯿﺮ Aھﻮ . D
ﻧﺄﺧﺬ اﻟﺒﻠﻮك اﻟﺜﺎﻟﺚ ،وﻧﻨﻈﺮ إﻟﻰ اﻟﺠﺪول S ،و Xﻣﺨﺘﻠﻔﺎن ﻓﻲ اﻟﻤﻮاﻗﻊ ،
ﺗﺸﻔﯿﺮ Sھﻮ اﻟﺤﺮف اﻟﺬي ﯾﻜﻮن ﻓﻲ ﻧﻔﺲ ﻋﻤﻮد Sوﺻﻒ Xوھﻮ Q
ﺗﺸﻔﯿﺮ Xھﻮ اﻟﺤﺮف اﻟﺬي ﺳﯿﻜﻮن ﻓﻲ ﻧﻔﺲ ﻋﻤﻮد Xوﺻﻒ Xوھﻮ . N
وﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،اﻟﻌﻤﻠﯿﺔ اﻟﻌﻜﺴﯿﺔ ،وﻟﻜﻦ ﻓﻲ اﻟﺘﺸﻔﯿﺮ ﯾﺠﺐ اﻟﺬھﺎب إﻟﻰ اﻟﺨﺎﻧﺔ اﻟﺴﻔﻠﻲ ﻓﻲ ﺣﺎﻟﺔ ﻛﺎن
اﻟﺤﺮﻓﯿﻦ ﻓﻲ ﻧﻔﺲ اﻟﻌﺎﻣﻮد وﯾﺠﺐ اﻟﺬھﺎب إﻟﻰ اﻟﺨﺎﻧﺔ اﻟﯿﻤﻨﻰ ﻓﻲ ﺣﺎل ﻛﺎن اﻟﺤﺮﻓﯿﻦ ﻓﻲ ﻧﻔﺲ اﻟﺼﻒ
،ھﻨﺎ ﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ﯾﺤﺪث اﻟﻌﻜﺲ ،
ﺗﺼﺒﺢ اﻟﺬھﺎب إﻟﻰ اﻟﺨﺎﻧﺔ اﻷﻋﻠﻰ ﻓﻲ ﺣﺎل ﻛﺎن اﻟﺤﺮﻓﯿﻦ ﻓﻲ ﻧﻔﺲ اﻟﻌﺎﻣﻮد ،واﻟﺬھﺎب إﻟﻰ اﻟﺨﺎﻧﺔ
اﻟﯿﺴﺮى ﻓﻲ ﺣﺎﻟﺔ اﻟﺤﺮﻓﯿﻦ ﻓﻲ ﻧﻔﺲ اﻟﺼﻒ .
ﺗﻌﺘﺒﺮ ﺷﻔﺮه ھﯿﻞ ھﻲ أول ﺷﻔﺮه ﺗﺘﻌﺎﻣﻞ ﻓﯿﮭﺎ ﻣﻊ 3ﺣﺮوف ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ ،وﺳﻤﯿﺖ ﺑﮭﺬا اﻻﺳﻢ
ﻧﺴﺒﮫ إﻟﻰ ﻣﺨﺘﺮﻋﮭﺎ ، Lester S Hillوھﻲ ﺗﻌﺘﻤﺪ ﻓﻲ ﻋﻤﻠﮭﺎ ﻋﻠﻰ اﻟﺠﺒﺮ اﻟﺨﻄﻲ .وﻟﻜﻲ ﺗﺴﺘﻄﯿﻊ
48
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻟﺘﺸﻔﯿﺮ ﺑﮭﺎ ﯾﺠﺐ أن ﯾﻜﻮن ﻟﺪﯾﻚ أﺳﺎﺳﯿﺎت اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﺼﻔﻮﻓﺎت ) ﺿﺮب اﻟﻤﺼﻔﻮﻓﺎت
ﺑﺎﻟﺬات ( .
ﻋﻠﯿﻨﺎ أوﻻ اﺧﺘﯿﺎر اﻟﻤﻔﺘﺎح ،ﻣﺜﻼ ﻛﺎن ﻣﻜﻮن ﻣﻦ ﺗﺴﻌﮫ ﺣﺮوف ،ﺳﻮف ﺗﻜﻮن اﻟﻤﺼﻔﻮﻓﺔ )اﻟﺨﺎﺻﺔ
ﺑﺎﻟﻤﻔﺎﺗﯿﺢ( ، 3*3أي ﺛﻼﺛﺔ ﺻﻔﻮﻓﮫ وﺛﻼﺛﺔ أﻋﻤﺪه.
وﻟﯿﻜﻦ اﻟﻨﺺ اﻷﺻﻠﻲ ھﻮ ، ACT :وﻓﻲ ﺣﺎل ﻛﺎن أﻛﺒﺮ ﻣﻦ ذﻟﻚ ﯾﺘﻢ ﺗﻘﺴﯿﻤﮫ إﻟﻰ ﺑﻠﻮﻛﺎت ،ﻛﻞ
واﺣﺪ ﯾﺘﻜﻮن ﻣﻦ ﺛﻼﺛﺔ ﺣﺮوف .
اﻵن ﻧﻘﻮم ﺑﻌﻤﻠﯿﮫ ﺿﺮب اﻟﻤﺼﻔﻮﻓﺘﯿﻦ ،ﻧﻀﺮب اﻟﺼﻒ اﻷول ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ اﻷوﻟﻰ ﺑﺎﻟﻌﻤﻮد ﻓﻲ
اﻟﻤﺼﻔﻮﻓﺔ اﻟﺜﺎﻧﯿﺔ ﻧﻀﻊ اﻟﻨﺎﺗﺞ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ اﻟﺠﺪﯾﺪة .وھﻜﺬا ﻟﺒﺎﻗﻲ اﻟﺼﻔﻮف ﻧﻘﻮم ﺑﻀﺮﺑﮭﺎ
ﺑﺎﻟﻌﻤﻮد .وﻧﺄﺧﺬ اﻟﻨﺎﺗﺞ ﺑﻌﻤﻠﯿﮫ ﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ . MOD 26
اذا اﻟﻨﺎﺗﺞ ﻣﻦ ھﺬا اﻟﻨﺺ ﺑﻌﺪ ﺗﺤﻮﯾﻞ ھﺬه اﻷرﻗﺎم إﻟﻰ ﺣﺮوف )ﺑﻤﺴﺎﻋﺪه ﺟﺪول اﻟﺤﺮوف( ،أي
اﻟﻨﺺ اﻟﻤﺸﻔﺮ ھﻮPOH :
وﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،ﻛﻞ ﻣﺎ ﻋﻠﯿﻚ ھﻮ إﯾﺠﺎد ﻣﻌﻜﻮس اﻟﻤﺼﻔﻮﻓﺔ ،وﺗﻘﻮم ﺑﻀﺮﺑﮫ ﻓﻲ اﻟﻨﺺ اﻟﻤﺸﻔﺮ ﻣﻊ
أﺧﺬ ﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ ﻋﻠﻰ ، 26ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺼﻮرة:
49
PDF created with pdfFactory Pro trial version www.pdffactory.com
ھﻨﺎك ﻓﻲ اﻟﺤﻘﯿﻘﺔ أﻧﻮاع ﻛﺜﯿﺮة ﻣﻦ ھﺬه اﻟﺸﻔﺮات ،ﻣﻨﮭﺎ ، 3-Hill Cipherوﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ
اﻟﻤﺼﻔﻮﻓﺔ ﯾﺠﺐ أن ﺗﻜﻮن ﻣﻦ 3*3وھﻮ اﻟﺬي ﺗﺤﺪﺛﻨﺎ ﻋﻨﮫ ﻣﻦ ﻗﻠﯿﻞ ،وﻓﻲ ﺣﺎل اﻟﻨﻮع 2-Hill
Cipherﯾﺠﺐ أن ﺗﻜﻮن ﻣﻦ ، 2*2وﺑﺸﻜﻞ ﻋﺎم اذا ﻛﺎن ﻟﺪﯾﻨﺎ ﺷﻔﺮه ﻣﻦ n-Hill Cipherﻓﺄﻧﮫ
ﺳﻮف ﯾﻜﻮن ﻟﺪﯾﻨﺎ ﻣﺼﻔﻮﻓﺔ ﻣﻦ . n*n
ﻣﺜﺎل ﻋﻠﻰ ، 2-Hill Cipherوھﻨﺎ ﺳﻮف ﻟﺪﯾﻨﺎ ﻣﺼﻔﻮﻓﺔ ﻣﻜﻮﻧﮫ ﻣﻦ ، 2*2ﺗﺤﺘﻮي ﻋﻠﻰ ﺣﺮوف
اﻟﻠﻐﺔ 26ﺣﺮف .
وﻟﻜﻲ ﻧﺴﺘﺨﺮج "ﻣﻌﻜﻮس اﻟﻤﺼﻔﻮﻓﺔ" اﻟﺼﺤﯿﺢ ﻋﻨﺪ اﻟﻔﻚ ،ﯾﺠﺐ أن ﺗﻜﻮن Determinantھﺬه
اﻟﻤﺼﻔﻮﻓﺔ أوﻟﻲ ﻣﻊ اﻟﻌﺪد ، 26أي أن اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻛﺒﺮ ل Determinantو 26ﯾﺴﺎوي
.1
اﻟﺼﻮره اﻟﺘﺎﻟﯿﺔ ﺗﻮﺿﺢ ﻛﯿﻔﯿﮫ اﻟﺘﺸﻔﯿﺮ وﻓﻚ اﻟﺘﺸﻔﯿﺮ :
50
PDF created with pdfFactory Pro trial version www.pdffactory.com
Determinant of a matrix A, denoted by det A :
-- if A(aij) is 2×2, then det A =a11a22 – a12a21
-- if A(aij) is 3×3, then det A =
a11a22a33 + a12a23a31 + a13a21a32 - a13a22a31 - a12a21a33 -
a11a23a32
( ﯾﺠﺐ أن ﯾﺘﻮﻓﺮ ﻟﺪﯾﻨﺎ ﻣﻌﻜﻮس ﻣﺎ ﺑﺤﯿﺚ ﺣﺎﺻﻞ ﺿﺮب ھﺬاd )ﻣﻌﻜﻮسd^-1 اﻵن ﻹﯾﺠﺎد
. 1 ﻟﯿﻜﻮن اﻟﺒﺎﻗﻲ26 mod ﻣﻊ أﺧﺬ اﻟﻨﺎﺗﺞd اﻟﻤﻌﻜﻮس ﻣﻊ ال
d * d` = 1 (mod 26)
51
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻧﺄﺧﺬ ﻣﺜﺎل ﺷﺎﻣﻞ ﻟﻠﺘﺸﻔﯿﺮ وﻓﻚ اﻟﺘﺸﻔﯿﺮ ﺑﮭﺬه اﻟﻄﺮﯾﻘﮫ :
اﻵن أوﻻ ﻧﺨﺘﺎر اﻟﻨﻮع اﻟﺬي ﻧﺮﯾﺪ ﻧﻢ ﺷﻔﺮه hillھﻞ ھﻮ ، 2أو 3أو . 4
اﻵن ﻧﻘﻮم ﻓﻲ اﻟﺒﺪاﯾﺔ ﺑﺘﻘﺴﯿﻢ اﻟﻨﺺ اﻷﺻﻠﻲ إﻟﻰ ﻣﺠﻤﻮﻋﺎت Blockﻛﻞ واﺣﺪ ﻣﻨﮭﺎ ﻣﻜﻮن ﻣﻦ
ﺣﺮﻓﯿﻦ ) ﻷﻧﻨﺎ اﺧﺘﺮﻧﺎ ،2-Hill Cipherﻓﻲ ﺣﺎﻟﮫ اﺧﺘﺮﻧﺎ nﺳﻮف ﻧﻘﺴﻢ اﻟﺤﺮوف ﻓﻲ اﻟﻨﺺ
اﻷﺻﻠﻲ إﻟﻰ nﺣﺮف ( .
)ﻻﺣﻆ أﻧﻨﺎ ﺳﻨﻌﺘﻤﺪ ھﻨﺎ أن اﻟﺤﺮف اﻷول Aﺗﻜﻮن ﻗﯿﻤﺘﮫ 1وﻟﯿﺲ ، 0ﻛﻤﺎ ﻛﻨﺎ ﻧﺸﻔﺮ ﻓﻲ اﻟﺸﻔﺮات
اﻟﺴﺎﺑﻘﺔ ،ﻃﺒﻌﺎ ﯾﻤﻜﻨﻚ أﺗﺒﺎع اﻷﺳﻠﻮب اﻟﻘﺪﯾﻢ وھﻮ اﻟﺤﺮف Aﺗﻜﻮن ﻗﯿﻤﺘﮫ . ( 0
.اﻵن ﺗﺨﺘﺎر ﻣﺼﻔﻮﻓﺔ اﻟﺘﺸﻔﯿﺮ واﻟﺘﻲ ﯾﺠﺐ أن ﯾﻜﻮن ﻟﮭﺎ ﻣﻌﻜﻮس ﺣﺘﻰ ﻧﺴﺘﻄﯿﻊ ﻓﻚ اﻟﺘﺸﻔﯿﺮ .
)ﯾﻤﻜﻨﻚ اﻟﺘﺄﻛﺪ ﻣﻦ ذﻟﻚ ،وذﻟﻚ ﻋﻦ ﻃﺮﯾﻖ أﺧﺬ detوﺿﺮﺑﮫ ﻓﻲ ﻋﺪد ﻣﺎ )اﻟﻤﻌﻜﻮس( واﺧﺬ اﻟﻨﺎﺗﺞ
26 modوﯾﺠﺐ أن ﯾﻜﻮن اﻟﺒﺎﻗﻲ ﯾﺴﺎوي ، 1وھﻨﺎ ﻧﺘﺄﻛﺪ ﻣﻦ أن اﻟﻤﺼﻔﻮﻓﺔ ﺻﺤﯿﺤﺔ وﻟﮭﺎ
ﻣﻌﻜﻮس( .
اﻵن ﻧﻘﻮم ﺑﻀﺮب اﻟﻤﺼﻔﻮﻓﺔ pﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ Aﻟﻜﻲ ﯾﻨﺘﺞ ﻟﺪﯾﻨﺎ اﻟﻤﺼﻔﻮﻓﺔ ) cاﻟﺸﻔﺮه(
52
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻵن ﻧﺄﺧﺬ اﻟﻨﺎﺗﺞ ) 26 modﻟﺠﻤﯿﻊ اﻟﻘﯿﻢ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ ﺑﺎﻟﻄﺒﻊ( .وﯾﺨﺮج ﻟﺪﯾﻨﺎ اﻟﻨﺺ اﻟﻤﺸﻔﺮ :
وﻧﻘﻮم ﺑﺘﺮﺗﯿﺒﮭﺎ ﺑﻌﺪ ذﻟﻚ ،وﯾﺨﺮج ﻟﺪﯾﻨﺎ اﻟﻨﺺ اﻟﻤﺸﻔﺮ اﻟﺘﺎﻟﻲ :
RLQFXCHAAQAFCWAXMB
اﻵن ﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،ﻧﻘﻮم ﺑﺘﺠﻤﯿﻊ اﻟﺤﺮوف اﻟﻤﺸﻔﺮة ﻓﻲ ﺑﻠﻮك ﻣﻜﻮن ﻣﻦ ﺣﺮﻓﯿﻦ )ﻛﻤﺎ ﻓﻲ اﻟﺘﺸﻔﯿﺮ(
وﻣﻦ ﺛﻢ ﻧﻘﻮم ﺑﻀﺮب اﻟﻤﺼﻔﻮﻓﺔ ﻓﻲ ﻣﻌﻜﻮس اﻟﻤﺼﻔﻮﻓﺔ ،وﯾﺨﺮج ﻟﺪﯾﻨﺎ اﻟﻨﺺ اﻷﺻﻠﻲ )ﻃﺒﻌﺎ ﺗﺬﻛﺮ
أﺧﺪ ﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ ﻋﻠﻰ 26ﻓﻲ ﺣﺎﻟﮫ ﻛﺎن اﻟﻌﺪد اﻟﻨﺎﺗﺞ أﻛﺒﺮ ﻣﻦ . 26ﻟﻤﺎذا ﻧﻘﻮم ﺑﺬﻟﻚ داﺋﻤﺎ ؟ اﻟﺠﻮاب
ﺑﺒﺴﺎﻃﮫ ﻷﻧﻨﺎ ﻧﺮﯾﺪ ﺣﺼﺮ اﻟﻨﺎﺗﺞ ﻓﻲ ﻧﻄﺎق اﻟﺤﺮوف اﻷﺑﺠﺪﯾﺔ ،ﻓﺈذا ﻛﺎﻧﺖ اﻷﺑﺠﺪﯾﺔ ﺗﺘﻜﻮن ﻣﻦ N
ﺣﺮف اذا ﺳﻮف ﻧﺄﺧﺬ ﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ ﻋﻠﻰ nوھﻮ ﻣﺎ ﯾﻌﺮف ﺑـ .( modular arithmetic
اﻵن ﺑﻀﺮب اﻟﻤﻌﻜﻮس ﻓﻲ اﻟﻨﺺ اﻟﻤﺸﻔﺮ ،وأﺧﺬ اﻟﻨﺎﺗﺞ ، 26 modﯾﺨﺮج ﻟﺪﯾﻨﺎ :
ﻋﻠﻰ اﻟﻌﻤﻮم ﻃﺮﯾﻘﮫ اﻟﺘﺸﻔﯿﺮ ھﺬه ﺿﻌﯿﻔﺔ أﯾﻀﺎ وﺧﺎﺻﺔ ﻟﻄﺮﯾﻘﮫ row reductionﺣﯿﺚ ﺗﺴﺘﻄﯿﻊ
ﻛﺴﺮ ھﺬه اﻟﺸﻔﺮه ﺑﺒﺴﺎﻃﺔ ،وﺳﻮف ﻧﺘﻄﺮق ﻟﮭﺎ ﻓﻲ اﻟﻨﺴﺨﺔ اﻟﻘﺎدﻣﺔ ﺑﺈذن اﷲ ( .
53
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻛﺴﺮ ﺍﻟﺨﻮﺍﺭﺯﻣﻴﺎﺕ ﻣﻦ ﻧﻮﻉ PolyGram Substitution Cipher
ﺑﻤﺎ أن اﻟﻄﺮﯾﻘﺘﺎن اﻟﺘﻲ ﺗﻄﺮﻗﻨﺎ ﻟﮭﻢ ﻗﺒﻞ ﻗﻠﯿﻞ ،ﯾﻜﻮن ﺣﺠﻢ اﻟﺒﻠﻮك ﻓﯿﮭﺎ ﺻﻐﯿﺮ )ﻣﻦ ﺣﺮﻓﯿﻦ ﻓﻲ ﺣﺎﻟﮫ
ﺷﻔﺮه ﺑﻼﻓﯿﺮ( ،ﻓﺈﻧﮫ ﯾﻤﻜﻦ ﻛﺴﺮ ھﺬه اﻟﺸﻔﺮات أﯾﻀﺎ ،وﺧﺎﺻﺔ ﻓﻲ ﺣﺎل ﺗﻮﻓﺮ ﻧﺺ ﻣﺸﻔﺮ ﺑﻤﺎ ﻓﯿﮫ
اﻟﻜﻔﺎﯾﺔ ،ﻹﺟﺮاء اﻟﺘﺤﻠﯿﻞ ،ﻟﻜﻦ ھﻨﺎ ﺳﻮف ﯾﻜﻮن اﻟﺒﺤﺚ ﻋﻦ أﻛﺜﺮ ﺣﺮﻓﯿﻦ ﺗﻜﺮروا ﻓﻲ اﻟﺸﻔﺮة ،
واﺣﺘﻤﺎل أن ﯾﻜﻮﻧﻮا THأو ، HEاﻟﺠﺪول اﻟﺘﺎﻟﻲ ﯾﺒﯿﻦ أﻛﺜﺮ ﺣﺮﻓﯿﻦ Digraphsﯾﺘﻜﺮروا ﻓﻲ اﻟﻠﻐﺔ
وﻓﻲ ﺣﺎﻟﮫ ﻛﺎن ﺣﺠﻢ اﻟﺒﻠﻮك ﻣﻦ 3أﺣﺮف ، trigraphsھﻨﺎك أﯾﻀﺎ ﻛﻠﻤﺎت ﺗﺘﻜﻮن ﻣﻦ ﺛﻼﺛﺔ أﺣﺮف
ﺗﺘﻜﺮر أﻛﺜﺮ ﻣﻦ ﻏﯿﺮھﺎ ﻣﺜﻞ THAو THEو ANDوﻏﯿﺮھﺎ .و ﻓﻲ اﻟﺸﻔﺮات اﻟﺤﺪﯾﺜﺔ
Modern Cryptographyﺗﻢ اﻟﻘﻀﺎء ﻋﻠﻰ ﺿﻌﻒ ھﺬه اﻟﻄﺮق ،ﺣﯿﺚ ﯾﻜﻮن ﺣﺠﻢ اﻟﺒﻠﻮك
ﻋﻠﻰ اﻷﻗﻞ 8أﺣﺮف .
اﺳﻄﻮاﻧﺔ ﺟﯿﻔﯿﺮﺳﻮن واﺣﺪه ﻣﻦ أﻗﻮى اﻷﺟﮭﺰة اﻟﺘﻲ اﺳﺘﺨﺪﻣﺖ ﻓﻲ اﻟﺘﺸﻔﯿﺮ ،ﺣﯿﺚ اﻟﺸﻔﺮة اﻟﻨﺎﺗﺠﺔ
ﻗﻮﯾﮫ وﻻ ﯾﻤﻜﻦ ﻛﺴﺮھﺎ ﺑﺴﮭﻮﻟﮫ أﺑﺪا ،اﻹ ﻓﻲ ﺣﺎﻟﮫ ﺳﺮﻗﺔ اﻟﺠﮭﺎز ﺑﺄﻛﻤﻠﮫ ،اﻻﺳﻢ ﺟﯿﻔﯿﺮﺳﻮن ﯾﻌﻮد
إﻟﻰ اﺳﻢ ﻣﺨﺘﺮﻋﮭﺎ ﺗﻮﻣﺎس . Thomas Jefferson
ھﺬه اﻹﺳﻄﻮاﻧﮫ ﺗﺘﻜﻮن ﻣﻦ 36ﻋﺠﻠﮫ ﺑﺠﺎﻧﺐ ﺑﻌﺾ ،و 26ﺻﻒ ،أي أن ﻛﻞ ﺻﻒ ﺑﮫ 36ﻋﺠﻠﮫ
)ﺣﺮف ( .
ﻓﻲ ﺣﺎل أردت اﻟﺘﺸﻔﯿﺮ اﻟﻨﺺ اﻷﺻﻠﻲ ،ﯾﺠﺐ أن أﺿﻊ ﺟﻤﯿﻊ اﻟﻌﺠﻼت ﻓﻲ ﺻﻒ ﻣﺎ ﻓﻲ ﺷﻜﻞ
اﻟﻨﺺ اﻷﺻﻠﻲ ،أي أﻗﻮم ﺑﺘﺤﺮﯾﻚ اﻟﻌﺠﻠﺔ اﻷوﻟﻰ ﻣﺜﻼ ﻓﻲ اﻟﺼﻒ اﻟﺮاﺑﻊ إﻟﻰ اﻟﺤﺮف اﻟﻤﺮاد ،اﻵن
أﺣﺮك اﻟﻌﺠﻠﺔ اﻟﺜﺎﻧﯿﺔ ﻓﻲ ﻧﻔﺲ اﻟﺼﻒ إﻟﻰ اﻟﺤﺮف اﻟﺜﺎﻧﻲ اﻟﻤﺮاد ﺗﺸﻔﯿﺮه ،وﻧﻔﺲ اﻟﻜﻼم ﻟﺒﺎﻗﻲ
اﻟﺤﺮوف ﻟﻜﻦ ﻓﻲ ﻧﻔﺲ اﻟﺼﻒ.
اﻵن ﺑﻌﺪ وﺿﻊ اﻟﺼﻒ ﻛﺎﻣﻞ ﻋﻠﻰ اﻟﻨﺺ اﻷﺻﻠﻲ ،أﻗﻮم ﺑﺎﺧﺘﯿﺎر أﺣﺪ اﻟـ 25ﺻﻒ اﻟﻤﺘﺒﻘﯿﺔ ،أي
ھﻨﺎك 25ﺷﻔﺮه ﻣﻤﻜﻨﮫ ،وأرﺳﻞ ھﺬا اﻟﻨﺺ ﻟﻠﻄﺮف اﻷﺧﺮ.
ﻓﻲ ﺣﺎﻟﮫ ﻓﻚ اﻟﺘﺸﻔﯿﺮ ،ﯾﻘﻮم ﺑﺘﺮﺗﯿﺐ اﻟﻨﺺ اﻟﻤﺸﻔﺮ ﻓﻲ ﺻﻒ ،ﺑﻌﺪھﺎ ﯾﻨﻈﺮ إﻟﻰ ﺑﺎﻗﻲ اﻟـ 25ﺻﻒ
وﯾﺸﺎھﺪ ﻣﻦ ھﻮ اﻟﻨﺺ اﻷﺻﻠﻲ ،أي ﯾﻘﻮم ﺑﺎﻟﺒﺤﺚ ﻓﻲ ﺟﻤﯿﻊ ھﺬه اﻟﺼﻔﻮف ،ﺣﺘﻰ ﯾﺴﺘﻄﯿﻊ
اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﻨﺺ اﻷﺻﻠﻲ .
54
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺻﻮره ﻟﺘﻮﺿﯿﺢ أﺳﻄﻮاﻧﺔ ﺟﯿﻔﯿﺮﺳﻮن:
وﺑﺎﻟﺮﻏﻢ ﻣﻦ ﻗﻮه ھﺬه اﻟﻄﺮﯾﻘﮫ ﻓﻲ اﻟﺘﺸﻔﯿﺮ ،ﻓﺈﻧﮭﺎ ﻟﻢ ﺗﻨﺘﺸﺮ ﻧﻈﺮا ﻟﺼﻌﻮﺑﺔ ﺗﻄﺒﯿﻘﮭﺎ Hard to
Implementationوﯾﺠﺐ ﻋﻠﻰ اﻟﻄﺮﻓﯿﻦ اﻻﺣﺘﻔﺎظ ﺑﮭﺬه اﻹﺳﻄﻮاﻧﮫ ،وﻓﻲ ﺣﺎل وﻗﻌﺖ ﻓﻲ
أﯾﺪي اﻟﻌﺪو ،ﻓﯿﻤﻜﻦ ﻛﺴﺮ اﻟﺘﺸﻔﯿﺮ ﺑﺘﻠﻚ اﻟﻄﺮﯾﻘﮫ ﺑﻜﻞ ﺳﮭﻮﻟﮫ.
55
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺍﻟﺘﺸﻔﻴﺮ ﺑﻄﺮﻳﻘﻪ ﺍﻟـ HOMOPHONIC SUBSTITUTION CIPHERS
ﻃﺮﯾﻘﮫ اﻟـ HOMOPHONICﺗﻌﺘﺒﺮ ﻣﻦ اﻟﻄﺮق اﻟﺠﯿﺪة ﻹﺣﺒﺎط اﻟﺘﺤﻠﯿﻞ اﻹﺣﺼﺎﺋﻲ ،اﻟﺬي ﻟﻦ
ﯾﺴﺘﻄﯿﻊ ﻓﻌﻞ ﺷﻲء ﻟﻤﺜﻞ ھﺬا اﻟﻨﻮع ﻣﻦ اﻟﺸﻔﺮات ،ﺣﯿﺚ ﻛﻤﺎ ﻧﻌﺮف أﻧﮫ ھﻨﺎك ﺣﺮوف ﺗﺘﻜﺮر أﻛﺜﺮ
ﻣﻦ ﻏﯿﺮھﺎ ﻓﻲ اﻟﻠﻐﺔ ،ﻓﻲ ھﺬه اﻟﻄﺮﯾﻘﮫ ﻛﻞ ﺣﺮف ﻣﻦ ھﺬه اﻟﺤﺮوف اﻟﺘﻲ ﺗﺘﻜﺮر ﻛﺜﯿﺮا ،ﯾﻜﻮن ﻟﮭﺎ
أﻛﺜﺮ ﻣﻦ اﺣﺘﻤﺎل ،أي ﺗﺘﺸﻔﺮ إﻟﻰ أﻛﺜﺮ ﻣﻦ ﺣﺮف وﺑﻄﺮﯾﻘﮫ ﻋﺸﻮاﺋﯿﺔ.
أﻧﻈﺮ ﻟﮭﺬا اﻟﺠﺪول اﻟﺬي ﺳﺒﻖ وﻋﺮﺿﻨﺎه ﺳﺎﺑﻘﺎ ،ﻟﻜﻦ ھﻨﺎ ﻟﻐﺮض اﻟﺘﻮﺿﯿﺢ ،ﻧﻌﺮﺿﮫ ﻣﺮه أﺧﺮى.
ﻻﺣﻆ أن أﻛﺜﺮ ﺣﺮف ﯾﺘﻜﺮر ھﻮ Eﺑﻨﺴﺒﮫ 13و Tﺑﻨﺴﺒﮫ ، 9اﻟﻤﮭﻢ ھﻮ أﻧﻨﺎ ﻧﻘﻮم ﺑﻌﻤﻞ ﺟﺪول
ﯾﺴﻤﻰ ﺟﺪول اﻟـ Homophonicﯾﺤﺘﻮي ﻋﻠﻰ ﺗﺸﻔﯿﺮ اﻟﺤﺮف Eب 13ﻃﺮﯾﻘﮫ ،و Tب9
ﻣﺮات ،أﯾﻀﺎ ﻣﻦ اﻟﻤﮭﻢ ذﻛﺮ أن ھﺬا اﻟﻨﻮع ﻣﻦ اﻟﺸﻔﺮات ﯾﺸﻔﺮ اﻟﺤﺮف اﻟﻮاﺣﺪ ﻓﻲ اﻟﻨﺺ اﻷﺻﻠﻲ
إﻟﻰ ﺣﺮﻓﯿﻦ وھﻮ ﻣﺎ ﯾﻌﺮف ﺑـ . one–to–many mapping
56
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻣﺜﻼ ،أرﯾﺪ ﺗﺸﻔﯿﺮ اﻟﻌﺒﺎرة:
RETREAT
ﻧﺒﺪأ ﺑﺎﻟﺤﺮف اﻷول ، Rﻟﮫ أﻛﺜﺮ ﻣﻦ 8ﺷﻔﺮات ﻓﻲ اﻟﺠﺪول ،وﯾﻤﻜﻨﻚ اﺧﺘﯿﺎر ﻣﺎ ﺗﺸﺎء.
اﻟﺤﺮف اﻟﺜﺎﻧﻲ ، Eﻟﮫ 13ﺷﻔﺮه ،وﯾﻤﻜﻨﻚ اﺧﺘﯿﺎر ﻣﺎ ﺗﺸﺎء.
وﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،ﯾﻤﻜﻨﻚ ﺑﻨﺎء ﺟﺪول ﻋﻜﺴﻲ inverse mappingsﻟﻠﺠﺪول اﻟﺴﺎﺑﻖ ،ﻛﻤﺎ ﻓﻲ
اﻟﺼﻮره اﻟﺘﺎﻟﯿﺔ:
وھﻮ ﻧﻔﺴﮫ اﻟﺠﺪول اﻟﺴﺎﺑﻖ ،ﻟﻜﻦ ﺗﻢ وﺿﻊ أي ﺷﻔﺮه ﻓﻲ ﺻﻒ ﻟﻜﻞ ﺷﻔﺮه ،وﻣﺎ ﯾﻘﺎﺑﻠﮭﺎ ﻣﻦ اﻟﻨﺺ
اﻷﺻﻠﻲ .وﯾﺼﺒﺢ ﻓﻚ اﻟﺘﺸﻔﯿﺮ أﻣﺮ ﻓﻲ ﻏﺎﯾﺔ اﻟﺴﮭﻮﻟﺔ!
وﺑﺎﻟﺮﻏﻢ ﻣﻦ ﻗﻮه ھﺬه اﻟﻄﺮﯾﻘﮫ وﺷﻔﺮاﺗﮭﺎ اﻷﻣﻨﮫ ،اﻹ إﻧﮭﺎ ﻟﻢ ﺗﺴﺘﺨﺪم ﺑﺸﻜﻞ ﻛﺒﯿﺮ ،ﻷﻧﮭﺎ ﻛﻤﺎ ﻻﺣﻈﻨﺎ
ﺗﻌﺘﻤﺪ ﻋﻠﻰ اﻟﻠﻐﺔ ،واﻟﺤﺮوف اﻟﺘﻲ ﺗﺘﻜﺮر ﻓﯿﮭﺎ ﻛﺜﯿﺮا ،ﻋﻠﻰ ﻋﻜﺲ اﻟﺸﻔﺮات اﻟﺤﺪﯾﺜﺔ اﻟﺘﻲ ﻻ ﺗﻌﺘﻤﺪ
إﻃﻼﻗﺎ ﻋﻠﻰ اﻟﻠﻐﺔ
57
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻟﻨﻮع اﻟﺜﺎﻧﻲ ﻣﻦ أﻧﻮاع اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻄﺮق اﻟﻜﻼﺳﯿﻜﯿﺔ ھﻮ :
وﻃﺮﯾﻘﮫ اﻹﺑﺪال ﻟﮭﺎ اﻟﻌﺪﯾﺪ ﻣﻦ اﻷﺷﻜﺎل واﻟﻄﺮق واﻟﺸﻔﺮات وﻣﻨﮭﺎ اﻟﺒﺴﯿﻂ وﻣﻨﮭﺎ اﻟﻤﻌﻘﺪ ،وﺳﻨﺄﺧﺬ
أﺷﮭﺮ وأﺳﮭﻞ اﺛﻨﯿﻦ:
ﻣﺜﺎل:
اﻟﻨﺺ اﻷﺻﻠﻲ Wajdy Essam Is Java Developer :
ﺑﻌﺪ ﺗﺸﻔﯿﺮه repoleveD vavJ sI massE ydjaW :
ﻣﺜﻼ ﻧﻘﻮم ﺑﺘﻐﯿﺮ أﻣﺎﻛﻦ اﻟﺤﺮوف ﻓﻲ ﻛﻞ ﺑﻠﻮك ﺑﻄﺮﯾﻘﮫ ﻣﻌﯿﻨﮫ ،ﻣﺜﻼ ﻧﺠﻌﻞ:
اﻟﺤﺮف 1ﻣﻜﺎن اﻟﺤﺮف ، 4اﻟﺤﺮف 2ﻣﻜﺎن اﻟﺤﺮف ، 3اﻟﺤﺮف 3ﻣﻜﺎن اﻟﺤﺮف ، 1اﻟﺤﺮف 4
ﻣﻜﺎن اﻟﺤﺮف . 5اﻟﺤﺮف 5ﻣﻜﺎن اﻟﺤﺮف 2
وﻧﺮﯾﺪ ﺗﺸﻔﯿﺮه ﺑﮭﺬه اﻟﻄﺮﯾﻘﮫ ،ﻧﻘﻮم أوﻻ ﺑﻔﺼﻞ ﻛﻞ 5ﺣﺮوف ﻓﻲ ﺑﻠﻮك واﺣﺪ
58
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻧﺒﺪأ ﺑﺎﻟﺒﻠﻮك اﻷول :
اﻟﺤﺮف 1ﻣﻜﺎن اﻟﺤﺮف ، 4ﻧﻄﺒﻘﮫ ﻟﯿﻨﺘﺞ :اﻟﺤﺮف Tﻣﻜﺎن اﻟﺤﺮف S
اﻟﺤﺮف 4ﻣﻜﺎن اﻟﺤﺮف ، 5ﻧﻄﺒﻘﮫ ﻟﯿﻨﺘﺞ :اﻟﺤﺮف Sﻣﻜﺎن اﻟﺤﺮفK
وھﻜﺬا ﻟﺒﺎﻗﻲ اﻟﺤﺮوف ﻓﻲ اﻟﺒﻠﻮك ،وﻧﻔﺲ اﻷﻣﺮ ﻣﻊ ﺑﺎﻗﻲ اﻟـ Blocksﻓﻲ اﻟﻨﺺ اﻷﺻﻠﻲ ،ﺑﻌﺪ أن
ﻧﻘﻮم ﺑﻌﻠﻤﯿﮫ اﻟﺘﺸﻔﯿﺮ ،ﯾﺨﺮج ﻟﺪﯾﻨﺎ اﻟﻨﺺ اﻟﻤﺸﻔﺮ اﻟﺘﺎﻟﻲ:
EKHTS ALFYL GLNIP SAAEE IEVDS
واﻟﺘﺸﻔﯿﺮ ﺑﮭﺬه اﻟﻄﺮﯾﻘﮫ ﺿﻌﯿﻒ ﻟﻠﻐﺎﯾﺔ ،إذ ﯾﻤﻜﻦ ﻷي ﺷﺨﺺ ﻗﻮي اﻟﻤﻼﺣﻈﺔ ﻣﻌﺮﻓﮫ اﻟﻨﺺ
اﻷﺻﻠﻲ ﺑﻤﺠﺮد اﻟﻨﻈﺮ واﻟﻤﻼﺣﻈﺔ ﻋﻠﻰ اﻟﺒﻠﻮك ،ﻟﻜﻦ ﻓﻲ ﺣﺎل اﺳﺘﺨﺪﻣﺖ ھﺬه اﻟﻄﺮﯾﻘﮫ اﻹﺑﺪال ﻣﻊ
اﻟﻄﺮﯾﻘﮫ اﻷﺧﺮى اﻹﺣﻼل ﺳﻮف ﯾﻨﺘﺞ ﺷﻔﺮه ﻗﻮﯾﮫ ﺟﺪا ،وأﻏﻠﺐ اﻟﺸﻔﺮات اﻟﺤﺪﯾﺜﺔ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ھﺬا
اﻟﻤﻔﮭﻮم )اﻟﺪﻣﺞ ﺑﯿﻦ ﻃﺮﯾﻘﮫ Transpositionوﻃﺮﯾﻘﮫ . ( Substitution
ﻧﺄﺧﺬ ﻣﺜﺎل ﺑﺴﯿﻂ ،ﻟﺘﻮﺿﯿﺢ ﻛﯿﻔﯿﮫ ﻋﻤﻞ ﺷﻔﺮات ﻣﻦ ھﺬا اﻟﻨﻮع ،واﻟﺸﻔﺮة اﻟﺬي ﺳﻨﺘﺒﻌﮭﺎ ﺗﺘﻜﻮن ﻣﻦ
ﺛﻼث ﺧﻄﻮات ﻋﻠﯿﻨﺎ اﻟﻤﺮور ﺑﮭﺎ
اﻟﺨﻄﻮة اﻷوﻟﻰ ،ﻟﯿﻜﻦ ﻟﺪﯾﻨﺎ اﻟﺠﺪول اﻟﺘﺎﻟﻲ ،اﻟﺬي ﺳﻨﺴﺘﺨﺪﻣﮫ ﻓﻲ اﻟﺘﺸﻔﯿﺮ ﻣﺮﺗﯿﻦ .أﻧﻈﺮ ﺻﻮره
اﻟﺠﺪول :
اﻵن ﻣﺜﻼ أرﯾﺪ أن أﺷﻔﺮ اﻟﺤﺮف ، Aاﻟﻨﺎﺗﺞ ھﻮ اﻟﺤﺮف ﻓﻲ أول اﻟﺼﻒ ،واﻟﺤﺮف اﻟﺬي ﻓﻲ أول
اﻟﻌﻤﻮد .أي أن Aﺗﺘﺸﻔﺮ إﻟﻰ اﻟﺤﺮﻓﯿﻦ ) AAأي أﺧﺬ اﻟﻌﺎﻣﻮد واﻟﺼﻒ اﻟﺬي ﯾﻘﻊ ﻓﯿﮫ اﻟﺤﺮف
اﻟﻤﺮاد ﺗﺸﻔﯿﺮه (.
ﯾﻔﻀﻞ ﺗﻐﯿﯿﺮ ﻛﻠﻤﮫ ﺗﺘﺸﻔﺮ ﻋﻨﺪ اﺳﺘﺨﺪام اﻟﺠﺪاول إﻟﻰ "اﺧﺘﯿﺎر" أو ﺑﺎﻹﻧﺠﻠﯿﺰي . Maps
B maps to AB
C maps to AC
...
Q maps to DB
...
Y maps to EE
Z maps to DB
59
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻣﺜﺎل ،ﻟﯿﻜﻦ ﻟﺪي اﻟﻌﺒﺎرة اﻟﺘﺎﻟﯿﺔ )اﻟﻨﺺ اﻷﺻﻠﻲ ( TAKE ME TO YOUR LEADER :
أﺑﺪأ اﻵن ﺑﺎﻟﺘﺸﻔﯿﺮ ،اﻟﺤﺮف Tﯾﺘﺸﻔﺮ mapsإﻟﻰ . DEاﻟﺤﺮف اﻟﺜﺎﻧﻲ Aﯾﺘﺸﻔﺮ Mapsإﻟﻰ
. AAوھﻜﺬا ،ﻟﯿﻨﺘﺞ ﻟﺪي اﻟﺸﻔﺮة:
DE AA CA AE CC AE DE CE EE CE EA DC CB AE AA AD AE DC
اﻧﺘﮭﺖ اﻟﺨﻄﻮة اﻷوﻟﻰ ،اﻟﺘﻲ ﻛﻞ ﻓﯿﮭﺎ ﺗﺸﻔﯿﺮ اﻟﺤﺮف ﻓﻲ اﻟﻨﺺ اﻷﺻﻠﻲ إﻟﻰ ﺣﺮﻓﯿﻦ.
اﻟﺨﻄﻮة اﻟﺜﺎﻧﯿﺔ أﺧﺬ اﻟﻨﺺ اﻟﻤﺸﻔﺮ وأﻗﺴﮭﻢ ﻋﻠﻰ ﻗﺴﻤﯿﻦ) ﺻﻔﯿﻦ( ،وأﺧﺬ اﻟﺤﺮف اﻷول ﻣﻦ اﻟﺼﻒ
اﻷول و اﻟﺤﺮف اﻷول ﻣﻦ اﻟﺜﺎﻧﻲ ،وأﺧﺬ اﻟﺤﺮف اﻟﺜﺎﻧﻲ ﻣﻦ اﻟﺼﻒ اﻷول و أﺧﺬ اﻟﺤﺮف اﻟﺜﺎﻧﻲ
ﻣﻦ اﻟﺼﻒ اﻟﺜﺎﻧﻲ ،وھﻜﺬا....
اﻟﻨﺺ اﻟﻤﺸﻔﺮ:
DE AA CA AE CC AE DE CE EE CE EA DC CB AE AA AD AE DC
أﺑﺪأ ﺑﺄﺧﺬ اﻟﺤﺮف Dو Cﻟﯿﻜﻮن اﻟﺒﻠﻮك اﻷول E ،و Eﻟﯿﻜﻮن اﻟﺒﻠﻮك اﻟﺜﺎﻧﻲ ،وھﻜﺬا ،ﻟﯿﻨﺘﺞ ﻟﺪي:
DC EE AE AA CD AC AC EB CA CE AA EA DA ED CA EE ED EC
اﻟﺨﻄﻮة اﻟﺜﺎﻟﺜﺔ ،أﻗﻮم ﺑﺎﻟﺮﺟﻮع إﻟﻰ اﻟﺠﺪول اﻟﺴﺎﺑﻖ ،اﻟﺬي ذﻛﺮﻧﺎ أﻧﻨﺎ ﺳﻨﺴﺘﺨﺪﻣﮫ ﻣﺮﺗﯿﻦ ،وﻧﻘﻮم
ﺑﺘﺸﻔﯿﺮ ﻛﻞ ﺑﻠﻮك:
واﻧﺘﮭﺖ ﻋﻤﻠﯿﮫ اﻟﺘﺸﻔﯿﺮ ،ﻣﻌﻘﺪه ﻗﻠﯿﻼ ،أﻟﯿﺲ ﻛﺬﻟﻚ ! ﻟﻜﻨﮭﺎ ﻣﻤﺘﺎزة ﺟﺪا.
وﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،ﻧﻘﻮم ﺑﺎﻟﻌﻤﻠﯿﺔ اﻟﻌﻜﺴﯿﺔ ،ﻟﻨﻔﻚ اﻟﺸﻔﺮه اﻟﻨﺎﺗﺠﮫ ﻣﻦ ﻋﻤﻠﯿﮫ اﻟﺘﺸﻔﯿﺮ اﻟﺴﺎﺑﻘﺔ:
RYEAN CCVKO AUPXK YXW
ﻧﺒﺪأ ﺑﺄﺧﺬ اﻟﺤﺮف اﻷول وﻧﺸﺎھﺪ اﻟﺠﺪول وﻧﺄﺧﺬ اﻟﺤﺮﻓﯿﻦ اﻟﺬي ﻧﻘﻄﮫ ﺗﻘﺎﻃﻌﮭﻤﺎ اﻟﺤﺮف اﻟﻤﺮاد ،
وﻧﻀﻊ اﻟﺤﺮف اﻷول ﻓﻲ اﻟﺼﻒ اﻷول ،و اﻟﺤﺮف اﻟﺜﺎﻧﻲ ﻧﻀﻌﮫ ﻓﻲ اﻟﺼﻒ اﻟﺜﺎﻧﻲ ،وھﻨﺎ أول
ﺣﺮف ﻓﻲ اﻟﺸﻔﺮه ھﻮ ، Rﻧﻨﻈﺮ إﻟﻰ اﻟﺠﺪول ،ﻧﻼﺣﻆ أن اﻟﺤﺮﻓﯿﻦ Dو Cﻧﻘﻄﮫ ﺗﻘﺎﻃﻌﮭﻤﺎ ھﻮ ، R
ﻟﺬﻟﻚ ﻧﻀﻊ اﻟﺤﺮف اﻷول Dﻓﻲ اﻟﺼﻒ اﻷول ،واﻟﺤﺮف اﻟﺜﺎﻧﻲ Cﻓﻲ اﻟﺼﻒ اﻟﺜﺎﻧﻲ ،وﻧﺴﺘﻤﺮ
ﺑﮭﺬه اﻟﻄﺮﯾﻘﮫ ،إﻟﻰ أن ﻧﻨﺘﮭﻲ .واﻟﻨﺎﺗﺞ ھﻮ :
60
PDF created with pdfFactory Pro trial version www.pdffactory.com
DE AA CA AE CC AE DE CE EE
CE EA DC CB AE AA AD AE DC
اﻵن ﻧﺒﺪأ ﺑﻔﻚ اﻟﺘﺸﻔﯿﺮ ﻣﻦ اﻟﺼﻒ اﻷول ،ﻧﺄﺧﺬ ﺑﻠﻮك ﺑﻠﻮك ﻣﻦ اﻟﺼﻒ اﻷول ،وﻋﻨﺪﻣﺎ ﯾﻨﺘﮭﻲ ﻧﺒﺪأ
ﺑﺎﻟﺼﻒ اﻟﺜﺎﻧﻲ :
DE map to T
AA map to A
CA map to K
وھﻜﺬا...
ھﺬه اﻟﺸﻔﺮه اﻟﺴﺎﺑﻘﺔ ،ﻣﺸﺎﺑﮫ ﻟﺸﻔﺮه أﻟﻤﺎﻧﯿﺔ اﺳﺘﺨﺪﻣﺖ ﻓﻲ اﻟﺤﺮب اﻟﻌﺎﻟﻤﯿﺔ أﺳﻤﮭﺎ ADFGVX
وﻋﻠﻰ اﻟﺮﻏﻢ ﻣﻦ ﺑﺴﺎﻃﺔ اﻟﻔﻜﺮة ،اﻹ إﻧﮭﺎ ﻋﻘﺪت ﻛﺎﺳﺮي اﻟﺸﻔﺮه ﻟﻔﺘﺮة ﻣﻦ اﻟﺰﻣﻦ .وﻟﻜﻨﮭﺎ ﻛﺴﺮت
ﻓﻲ اﻟﻨﮭﺎﯾﺔ ﻋﻠﻰ ﯾﺪ ﻛﺎﺳﺮ ﻓﺮﻧﺴﻲ ،ﻟﻜﻦ ﺑﻌﺪ أﺧﺬ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻮﻗﺖ واﻟﺠﮭﺪ ﻓﻲ اﻟﻤﺤﺎوﻻت.
ھﺬه اﻟﺸﻔﺮه ھﻲ اﻟﺸﻔﺮه اﻷﻛﺜﺮ أﻣﺎﻧﺎ ﻋﻠﻰ ﻣﺪى ﺗﺎرﯾﺦ اﻟﺘﺸﻔﯿﺮ ،ﻟﻢ وﻟﻦ ﯾﺴﺘﻄﯿﻊ أﺣﺪ ﻛﺴﺮ ﺷﻔﺮات
ھﺬا اﻟﻨﻮع أﺑﺪا ،واﺳﺘﺨﺪﻣﺖ ھﺬه اﻟﺸﻔﺮات ﻓﻲ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺤﻜﻮﻣﺎت وأﺟﮭﺰه اﻻﺳﺘﺨﺒﺎرات ﻛﻤﺎ
ﻗﺮأت ﺳﺎﺑﻘﺎ ﻋﻨﮭﺎ.
ﻃﺮﯾﻘﮫ اﻟﺸﻔﺮه ﻛﺎﻟﺘﺎﻟﻲ ،ھﻮ ﻋﻤﻞ )ﻣﺜﻼ ﻧﻄﻠﻖ ﻋﻠﯿﮫ( ﻛﺘﺎب ، one-time padﺑﺪاﺧﻞ ھﺬا اﻟﻜﺘﺎب
ﺗﻮﺟﺪ ﺻﻔﺤﺎت Sheetsﺑﺪاﺧﻞ ﻛﻞ ﺻﻔﺤﮫ ﻣﻦ ھﺬه اﻟﺼﻔﺤﺎت أرﻗﺎم ﻋﺸﻮاﺋﯿﺔ ﻻ ﺗﺘﻜﺮر أﺑﺪا ،ھﺬه
اﻷرﻗﺎم اﻟﻌﺸﻮاﺋﯿﺔ ﺗﻤﺜﻞ اﻻزاﺣﮫ اﻟﻤﺴﺘﺨﺪﻣﺔ )أي ﻛﻞ رﻗﻢ ﻣﻨﮭﺎ ھﻮ ﻣﻔﺘﺎح( .
ﻓﻲ ﺣﺎل ﺷﻔﺮت ﻧﺺ ﺑﮭﺬه اﻟﻄﺮﯾﻘﮫ أﻗﻮم ﺑﺈرﺳﺎل اﻟﻨﺺ اﻟﻤﺸﻔﺮ و رﻗﻢ اﻟﺼﻔﺤﺔ إﻟﻰ اﻟﻄﺮف اﻷﺧﺮ
،وأﻗﻮم ﺑﻘﻄﻊ اﻟﺼﻔﺤﺔ ﻣﻦ اﻟﻜﺘﺎب وأﺣﺮﻗﮭﺎ ﺑﺎﻟﻨﺎر ،اذا ﻟﺰم اﻷﻣﺮ ، Jأي ﯾﺘﻢ اﻟﻘﻀﺎء ﻋﻠﯿﮭﺎ .
واﻟﻄﺮف اﻷﺧﺮ ﯾﻜﻮن ﻟﺪﯾﮫ ﻧﺴﺨﮫ ﻣﻤﺎﺛﻠﮫ ﻣﻦ اﻟﻜﺘﺎب ، one-time padوﯾﻘﻮم ﺑﻔﻚ اﻟﺘﺸﻔﯿﺮ ﻋﻦ
ﻃﺮﯾﻖ رﻗﻢ اﻟﺼﻔﺤﺔ ،و ﺑﻌﺪﻣﺎ ﯾﺘﻢ ﻓﻚ اﻟﺘﺸﻔﯿﺮ واﻟﺤﺼﻮل ﻋﻠﻰ اﻟﻨﺺ اﻷﺻﻠﻲ ،ﯾﺘﻢ أﯾﻀﺎ ﻗﻄﻊ
اﻟﺼﻔﺤﺔ أﯾﻀﺎ
61
PDF created with pdfFactory Pro trial version www.pdffactory.com
واﻟﺼﻔﺤﺔ اﻷوﻟﻰ ﺗﺘﻜﻮن ﻣﻦ:
9 20 13 0 21 1 13 19 9 5 25 12 25 4 7 25 0 8 8 7 24 2 6 18 16 10 23 5 11
12 13 6 22 22 17 3 8 0 0 19 4 15
أﻗﻮم ﺑﺠﻤﻊ اﻟﺤﺮف اﻷول Eﻣﻊ اﻟﺮﻗﻢ اﻷول 9ﻟﯿﻨﺘﺞ ، Nو أﺟﻤﻊ اﻟﺤﺮف اﻟﺜﺎﻧﻲ Nﻣﻊ اﻟﺮﻗﻢ
اﻟﺜﺎﻧﻲ 20ﻟﯿﻨﺘﺞ . Hوھﻜﺬا....
اذا ﺗﺒﻘﺖ أرﻗﺎم ﻓﻲ اﻟﺼﻔﺤﺔ ،أو ﻟﻢ ﺗﺒﻘﻰ ھﻨﺎك أي أرﻗﺎم ،أﻗﻮم ﺑﺘﺪﻣﯿﺮ اﻟﺼﻔﺤﺔ ،
وھﻜﺬا ﻧﻼﺣﻆ أﻧﮫ ﯾﺴﺘﺤﯿﻞ ﻛﺴﺮ اﻟﺸﻔﺮه ھﻨﺎ ،ﻷن اﻟﻤﻔﺘﺎح ﻋﺸﻮاﺋﻲ وﻟﻦ ﯾﺘﻜﺮر أﺑﺪا ،وﻓﻲ ھﺬه
اﻟﺤﺎﻟﺔ ﻟﻦ ﯾﺘﻢ ﻛﺴﺮ اﻟﺸﻔﺮه.
ھﺬه اﻟﻄﺮﯾﻘﮫ ﻟﻦ ﺗﺴﺘﺨﺪم ھﺬه اﻷﯾﺎم ﺑﺴﺒﺐ ﺻﻌﻮﺑﺔ اﻻﺣﺘﻔﺎظ ﺑﮭﺬا اﻟﻜﺘﺎب ،وﺻﻌﻮﺑﺔ إرﺳﺎﻟﮫ إﻟﻰ
اﻟﻄﺮف اﻷﺧﺮ ،أﯾﻀﺎ ﺻﻌﻮﺑﺔ أﺿﺎﻓﮫ ﺻﻔﺤﺎت ﺟﺪﯾﺪة ﻓﯿﮫ.
وﻟﻜﻦ ﻓﻲ ﺣﺎﻟﮫ ﻛﻨﺖ ﻣﺮﺳﻞ ﻛﺘﺎب إﻟﻰ اﻟﻄﺮف اﻷﺧﺮ ﻣﻦ ﻗﺒﻞ ،ﯾﻤﻜﻨﻚ إرﺳﺎل ﺷﻔﺮات ﺑﮭﺬا اﻟﻨﻮع ،
وﻟﻦ ﯾﻜﺸﻔﮭﺎ أي أﺣﺪ ﻋﻠﻰ اﻹﻃﻼق ،إﻻ ﻓﻲ ﺣﺎل أﻧﻜﺸﻒ اﻟﻜﺘﺎب )! ( one-time pad
62
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺃﺳﺌﻠﺔ ﺷﺎﻣﻠﻪ ﻟﻜﻞ ﺍﻟﻤﻮﺿﻮﻉ
TVWFP VVHZD PZXLX ADBSS SSWBW KAABS DXZFG ANWTZ PWEKV AEOEA
PIOBZ TALSV XUIFW AYEMU MFWAY EMWLT AMMNL HGAHX QILIG PPXFQ
ZMEAD XUXCM RSJHZ XLXCW HKNEH YKZMB OEDXZ FGANW TZPWE MOGWO
EAPKH HRTAL SVXUI FWAYE MUMFW AYEMW LTAMM NLHGA HXQIL IGPPX
FSSSW BWKAA BS
63
PDF created with pdfFactory Pro trial version www.pdffactory.com
FULNG NPWUW YSULN NPKUL PETPF FULNG XKTWY SULNP XKPET PFFUL
NIKNP URKNW ULPUB YZNYE ULNAK YRETN ZNKJU LXEAU LPULP WULNG
KNPUL YSFXS NXEXU XAXZN NZNKJ AKNNE MFPEU SYKSY YTPET XUDPW
WYAYT WPDPF FULPU LNLPT BPTNP ETXUD PWZNK JAYYT PETUL NKNDP
WNZNE XEAPE TULNK NDPWB YKEXE AULNW XOULT PJ
64
PDF created with pdfFactory Pro trial version www.pdffactory.com
LN HB HR OR AE KU EK OR ZA PH LS IO ZK KR MK UA CI OW FC DO FL
OZ RF SO RU LC LW DB AT XY BZ NI ZN XB ZO FL CI ZN AF XG OU ZS
FV LF RE KR NF DV OW FZ LS OL BD NL HF ZO ZK IN KR FT TX CI OK
KR OD PH OK LN RS BD NL HF ZO ZK IN KR FT TX CI OL CI LS DS EK
HQ HR OR AE KU EK OR ZA PH LS IO ZK KR MK UA CI LW DB AT XY BZ
NI EK TY HT ZO XL OW XV LI OL NR RL NZ RN LO ZS IS IH KR BZ LI
OL YX UH EO AG SR RP OW ZO UA TF RF PK ZO UA HA XT TQ KU GX OW
VD RE IK KR RW AS TU PH HE KR DY LK AI EK KU RU FS CI EK KQ FT
XL AI EK RU FT LZ RH EK HU DZ KU NI BH LZ RH LS DS EK KY RU HE
RL CI LZ RH LS DS EK HQ HR OR AE KU EK OR ZA PH LS IO ZK KR MK
UA CI OU ZS VL HR OR HY RF OZ CT XO AN OZ RF PK ZO EK TY RF PK
AI ZS VC HQ HR OR HY TD GF RF UH OW XD RP LS RK HQ HR OR HY EK
RP ZS XC UH XG UK IH KR RF CI OL YX NI EK RP QK MW OY RI AS OW
XY QB HR LO TY BI QO GW RH DY SD OH KR YK FW EK OW XL SQ YL TY
EH AS TU PH HE KR DY LK AI EK KU RU FS CI EK KQ FT XL AI EK RU
FT OW IL PH HR PH EF OD ZD BZ WH RU EO HR EK OR ZA PH OU ON KR
MK UA CI EK TQ ZS XL OF XY ZX PH IU YQ PH EF UK YK XC RU TF BZ
VU OW NI ON KR MF QH AI EK RQ TL UH YK FW EK OW YH PH EF EH KY
RE RL EK LO MW OY RN ZN KL KY HY ZO ZN IK KR FQ DO DS QK IU AE
AX AT IA IS FL CI NI LS DS EK KQ RU OK OU IR KR YK FW EK OW FL
SD OH KR NX HF OU IR KR OF WF CI LS DS EK HQ HR OR AE KU EK OR
ZA PH IO EK KP TA OQ YH PH EF EK ZO ZK RL EK LO EK KQ HR OR TL
DA YD TY OZ NZ ZX PH YK PH EF MK KY TQ VU OW RI AT IA IS FL CI
ZN AF XG OU ZS XL FA LS DS EK OR KR RL FV LF RU CI ZN AF LG RH
XP SI LI OW IH KR HR AF UK PH OZ BZ OW IH KR HR AF AG AT OZ BZ
EK KU YI EK FL FI
ﻋﻠﯿﻚ ﺑﻄﺒﺎﻋﮫ اﻟﺸﻔﺮات ﺣﺘﻰ ﺗﺴﺘﻄﯿﻊ ﻋﺪ اﻟﺤﺮوف واﻟﺤﻞ ﺑﺪﻗﮫ، ﻓﻲ ﺣﺎل أردت اﻟﺤﻞ، ﻃﺒﻌﺎ
. أﻛﺒﺮ
65
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺍﻟﻘﺴﻢ ﺍﻟﺜﺎﻟﺚ :ﺍﻟﺘﻄﺒﻴﻖ Implementation
ﻓﻲ ھﺬا اﻟﺠﺰء ،ﺳﻮف ﻧﺘﻨﺎول ﺗﻄﺒﯿﻖ ﺟﻤﯿﻊ اﻟﺸﻔﺮات اﻟﺘﻲ ﺗﻄﺮﻗﻨﺎ ﻟﮭﺎ ﻓﻲ اﻟﻘﺴﻢ اﻷول ﻣﻦ اﻟﻜﺘﯿﺐ
،ﻋﻠﻤﺎ ﺑﺄن ﺗﻄﺒﯿﻖ ھﺬه اﻟﺸﻔﺮات ﺳﻮف ﯾﻜﻮن ﺑﻠﻐﮫ ﺳﻲ ، ++وﻟﻦ ﻧﺴﺘﺨﺪم ﺳﻮى ﻣﻔﺎھﯿﻢ أﺳﺎﺳﯿﮫ
ﻓﻲ اﻟﻠﻐﺔ وﺗﺠﺎھﻠﻨﺎ ﻧﻘﺎط ﻗﻮه اﻟﻠﻐﺔ )ﻣﺜﻞ ﻣﻔﺎھﯿﻢ ( Exception , Template , oopﻓﺎﻟﻐﺮض
ھﻨﺎ ﺷﺮح ھﺬه اﻟﺸﻔﺮات ﺑﺄﺳﮭﻞ أﺳﻠﻮب ﻣﻤﻜﻦ .ﻋﻠﻤﺎ ﺑﺄن اﻟﺒﺮاﻣﺞ ﻛﺎﻣﻠﺔ ﻣﻮﺟﻮدة ﻣﺮﻓﻘﮫ ﻣﻊ
اﻟﻜﺘﯿﺐ ،وﺳﻨﺘﻌﺮض ھﻨﺎ أھﻢ أﺟﺰاء ﻓﻲ اﻟﺸﻔﺮات .
ﻟﻘﺪ ﺣﺎوﻟﺖ ﺟﻌﻞ ھﺬه اﻟﺸﻔﺮات ﻣﻜﺘﻮﺑﺔ ﺑﺄﺳﻠﻮب (Keep It Simple Stupid) KISSوﻟﻜﻦ
ﻋﻠﻰ ﻣﺎ ﯾﺒﺪوا أﻧﮭﺎ ﺧﺮﺟﺖ ﺑﺸﻜﻞ .J Quick And Dirtyﻋﻠﻰ اﻟﻌﻤﻮم ھﻲ ﺗﻌﻤﻞ ﺗﻤﺎﻣﺎ
وﺑﺪون أي أﺧﻄﺎء .
ﻓﻲ ﺟﻤﯿﻊ اﻟﺸﻔﺮات اﻟﺘﻲ ﺳﻮف ﻧﻌﺘﻤﺪھﺎ ھﻨﺎ ،ﺳﻮف ﯾﻜﻮن اﻟﻨﺺ اﻷﺻﻠﻲ واﻟﻤﺸﻔﺮ ﺑﺎﻟﺤﺮوف
اﻟﻜﺒﯿﺮة ، Capital Letterوھﻲ اﻟﺤﺮوف اﻟﺘﻲ ﺗﺒﺪأ ﻗﯿﻢ اﻷﺳﻜﻲ ﻣﻦ ، 65أﻣﺎ اذا أردت أن
ﺗﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺤﺮوف اﻟﺼﻐﯿﺮة ﻓﮭﻲ ﺗﺒﺪأ ﻣﻦ . 97وﻣﻤﻜﻦ ﺗﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻨﻮﻋﯿﻦ ،وذﻟﻚ ﺑﻮﺿﻊ
ﺟﻤﻠﮫ ifداﺧﻞ ﺣﻠﻘﺔ اﻟﺘﺸﻔﯿﺮ ،واﻃﺮح 65ﻓﻲ ﺣﺎل capitalو 97ﻓﻲ ﺣﺎل . small Letter
ﻗﺎﺋﻤﮫ اﻷﺳﻜﻲ ﻣﺮﻓﻘﮫ ﻓﻲ ﻧﮭﺎﯾﺔ اﻟﻜﺘﯿﺐ .
ﯾﺠﺐ ﻋﻠﯿﻚ ﻗﺮاﺋﮫ اﻟﻔﺼﻞ اﻷول واﻟﺜﺎﻧﻲ ﻓﻲ ﺣﺎل أردت ﻗﺮاءه ھﺬه اﻟﺸﻔﺮات ،ﻷن أﻏﻠﺒﮭﺎ ﻋﺒﺎرة
ﻋﻦ ﻓﻜﺮه ﻣﺎ ،وﺗﻄﺒﯿﻘﮭﺎ ﺳﮭﻞ ﺟﺪا ﻟﻤﻦ ﻋﺮف أو ﻓﮭﻢ اﻟﻔﻜﺮة ،ﻟﺬﻟﻚ ﻗﻢ ﺑﻘﺮاءة اﻟﻔﺼﻞ اﻷول
واﻟﺜﺎﻧﻲ ،وﺳﻮف ﺗﺠﺪ اﻟﺸﻔﺮات اﻟﺘﺎﻟﯿﺔ ﻓﻲ ﻣﻨﺘﮭﻰ اﻟﺒﺴﺎﻃﺔ ﻷﻧﮭﺎ ﻣﺠﺮد ﺗﻄﺒﯿﻖ .أو ﻋﻠﻰ أﻗﻞ ﺗﻘﺪﯾﺮ
اذا ﻛﻨﺖ ﺗﺒﺤﺚ ﻋﻦ ﻛﻮد ﻷﺣﺪ اﻟﺸﻔﺮات ،ﻗﻢ ﺑﻘﺮاءﺗﮭﺎ ﻓﻲ اﻟﻔﺼﻞ اﻟﺜﺎﻧﻲ ،وﻣﻦ ﺛﻢ أﻗﺮا ﺗﻄﺒﯿﻘﮭﺎ ھﻨﺎ .
أﯾﻀﺎ ﻓﻲ ﺣﺎﻟﺔ ﻟﻢ ﺗﻈﮭﺮ اﻷﻛﻮاد ﺑﺸﻜﻞ ﻣﻨﺎﺳﺐ ﯾﻤﻜﻨﻚ ﺗﻜﺒﯿﺮ اﻟﺮؤﯾﺔ ﻟﺘﺮاھﺎ ﺑﻮﺿﻮح أﻛﺒﺮ .
66
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﺤﺮﻭﻑ : characters
ﻓﻲ ﺟﻤﯿﻊ ﺑﺮاﻣﺞ اﻟﺘﺸﻔﯿﺮ اﻟﻘﺎدﻣﺔ ،ﺳﻮف ﻧﺤﺘﺎج إﻟﻰ ﻗﺮاءه اﻟﻨﺺ اﻷﺻﻠﻲ )ﺳﻮاء ﺗﻢ إدﺧﺎﻟﮫ ﻣﺒﺎﺷﺮه
ﻣﻦ ﻟﻮﺣﮫ اﻟﻤﻔﺎﺗﯿﺢ ،أو ﺗﻢ ﻗﺮاءﺗﮫ ﻣﻦ ﻣﻠﻒ( ،وﻣﻦ ﺛﻢ ﺗﺸﻔﯿﺮه ﺑﺎﻟﺨﻮارزﻣﯿﺔ ،وﻣﻦ ﺛﻢ ﻃﺒﺎﻋﺔ اﻟﻨﺺ
اﻟﻤﺸﻔﺮ )ﻓﻲ اﻟﺸﺎﺷﺔ أو ﻓﻲ ﻣﻠﻒ ( .ﻋﻤﻮﻣﺎ ﺳﻨﺴﺘﺒﻌﺪ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻠﻔﺎت ھﻨﺎ ،ﻷن اﻟﻐﺮض ﺷﺮح
ﻃﺮﯾﻘﮫ اﻟﺘﺸﻔﯿﺮ ،وﻟﯿﺲ ﻛﯿﻔﯿﮫ إﻧﺸﺎء ﻣﻠﻔﺎت أو اﻟﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ .
وﻟﻜﻦ ﻗﺒﻞ أن ﻧﺒﺪأ ﻓﻲ ﺷﺮح اﻟﺨﻮارزﻣﯿﺎت ،ﯾﺠﺐ أن ﻧﺨﺘﺎر ﻃﺮﯾﻘﮫ ﻣﻨﺎﺳﺒﺔ ﯾﻤﻜﻨﻨﺎ ﻋﻦ ﻃﺮﯾﻘﮭﺎ
ﻗﺮاءه اﻟﻨﺺ اﻟﻤﺪﺧﻞ ﻣﻦ اﻟﻜﯿﺒﻮرد ،وﻷن اﻟﻤﺪﺧﻞ ھﻮ ﺣﺮوف Charactersﯾﺠﺐ أن ﻧﺨﺘﺎر ﻧﻮع
ﺑﯿﺎﻧﺎت ﻣﻨﺎﺳﺐ .وﻟﻐﺔ ﺳﻲ ++ﺗﻤﺪﻧﺎ ﺑﻨﻮﻋﯿﻦ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺤﺮوف أوﻟﮭﺎ ھﻮ charواﻷﺧﺮ
. string
اذا اﻟﺤﻞ اﻷول ،ھﻮ أن ﻧﻀﻊ اﻟﺤﺮوف اﻟﻤﺪﺧﻠﺔ ﻓﻲ ﻣﺼﻔﻮﻓﺔ ﺣﺮوف . array of charواﻟﺤﻞ
اﻟﺜﺎﻧﻲ ھﻮ أن ﻧﺪﺧﻞ اﻟﺤﺮوف ﻣﺒﺎﺷﺮه ﻓﻲ اﻟﻨﻮع ) stringوھﻮ اﻷﺳﮭﻞ( .
ﻃﺒﻌﺎ ﺗﻌﺮﯾﻒ ﻣﺼﻔﻮﻓﺔ ﺑﺨﺎﻧﺎت ﻣﺤﺪده ،أﻣﺮ ﻏﯿﺮ ﻋﻤﻠﻲ ،ﻷﻧﮫ رﺑﻤﺎ ﯾﻘﻮم اﻟﻤﺴﺘﺨﺪم ﺑﺈدﺧﺎل ﺣﺮوف
أﻛﺜﺮ ﻣﻦ ذﻟﻚ وﺑﺎﻟﺘﺎﻟﻲ ﯾﺤﺼﻞ ، overflowوﻓﻲ ﺣﺎﻟﮫ ﻗﻤﺖ ﺑﺘﻌﺮﯾﻒ ﻣﺼﻔﻮﻓﺔ ﻛﺒﯿﺮة ﻣﺜﻼ 200
ﺧﺎﻧﮫ ﻓﺴﻮف ﯾﻜﻮن ھﻨﺎك ﺧﺎﻧﺎت ﻓﺎرﻏﺔ ﺳﻮف ﯾﻜﻮن ھﺬا إھﺪار ﻟﻠﻤﺴﺎﺣﺔ ،ﻟﻜﻨﮫ أﻓﻀﻞ ﻣﻦ ال
overflowﻋﻠﻰ أﯾﺔ ﺣﺎل .
أﻣﺮ أﺧﺮ اﺳﺘﺨﺪام اﻟﻜﺎﺋﻦ cinﻓﻲ اﻟﺤﻠﻘﺔ أﻣﺮ ﻏﯿﺮ ﺟﯿﺪ ،ﻷﻧﮫ ﯾﺠﺐ أن أﺿﻐﻂ enterﺑﻌﺪ ﻛﻞ
ﻋﻤﻠﯿﮫ إدﺧﺎل ،وھﺬا أﻣﺮ ﻏﯿﺮ ﺟﯿﺪ .ﻟﮭﺬا ﺳﻮف ﻧﺴﺘﺨﺪم داﻟﮫ ﻗﺮاءه ﻣﺜﻞ )( ، getcheﻻﺣﻆ أن
اﻟﺪاﻟﺔ )( getcheﺗﻈﮭﺮ اﻟﺤﺮف ﻋﻨﺪﻣﺎ ﯾﺘﻢ إدﺧﺎﻟﮫ ،ﺑﻌﻜﺲ اﻟﺪاﻟﺔ )( getchاﻟﺘﻲ ﻻ ﺗﻈﮭﺮ اﻟﺤﺮف .
ﺑﻘﯿﺖ ﻣﺸﻜﻠﺘﺎن ،أوﻟﮭﻤﺎ ﺣﺠﻢ اﻟﻤﺼﻔﻮﻓﺔ ،واﻷﺧﺮى أﻧﮫ ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻓﻲ ﺣﺎل أراد اﻟﻤﺴﺘﺨﺪم
أن ﯾﺪﺧﻞ ﻣﺜﻼ 3ﺣﺮوف ﻓﻘﻂ ،ﻓﺎﻧﮫ ﻻ ﯾﺴﺘﻄﯿﻊ ﻷﻧﮫ ﻣﺤﺪد ﺑﺤﻠﻘﮫ ﺗﻜﺮر 10ﻣﺮات ،ﯾﻌﻨﻲ ﺳﯿﺘﻢ
ﻗﺮاءه 10ﺣﺮوف ﻋﻀﺒﻦ ﻋﻨﮫ J
67
PDF created with pdfFactory Pro trial version www.pdffactory.com
.
اﻟﺤﻞ اﻷﻣﺜﻞ :
وھﻨﺎ ﺗﻜﻮن اﻟﻤﺼﻔﻮﻓﺔ ذات ﺣﺠﻢ ﻣﻨﺎﺳﺐ ،وﯾﺘﻢ اﻟﻘﺮاءة ﺣﺮف ﺑﺤﺮف إﻟﻰ أن ﯾﺘﻢ إدﺧﺎل ﺣﺮف
carriage returnواﻟﺬي ھﻮ . enter
ﻻﺣﻆ أن اﻟﺪاﻟﺔ ) strlen(arrayﺗﻘﻮم ﺑﺈرﺟﺎع ﻃﻮل اﻟﻤﺼﻔﻮﻓﺔ .أﯾﻀﺎ اﻟﺪاﻟﺔ )( getcheﻣﻌﺮﻓﮫ
داﺧﻞ اﻟﮭﯿﺪر > #include <conio.hﻻ ﺗﻨﺴﻰ إﺿﺎﻓﺘﮫ واﻻ ﺳﯿﺸﺘﻜﻲ ﻣﻨﻚ اﻟﻤﺘﺮﺟﻢ .
ﺑﻘﯿﺖ ھﻨﺎك اﻟﺘﺨﻠﺺ ﻣﻦ اﻟﻤﺴﺎﻓﺎت ﻣﻦ اﻟﻨﺺ اﻷﺻﻠﻲ ،وﺳﻮف ﻧﺘﻜﻠﻢ ﻋﻨﮭﺎ ھﻨﺎ وﻟﻦ ﻧﺬﻛﺮھﺎ ﻣﺮه
أﺧﺮى ،ﺣﯿﺚ أﻧﻚ اذا أدﺧﻠﺖ ﻣﺜﻼ ، wajdy essamﯾﺠﺐ أن ﻧﺘﺨﻠﺺ ﻣﻦ اﻟﻤﺴﺎﻓﺔ واﻻ ﺳﻮف ﯾﺘﻢ
ﺗﻄﺒﯿﻖ داﻟﮫ اﻟﺘﺸﻔﯿﺮ ﻋﻠﯿﮭﺎ ،ﻃﺒﻌﺎ ﯾﻤﻜﻨﻚ ﺗﺮﻛﮭﺎ ،وﯾﻤﻜﻨﻚ إﻟﻐﺎﺋﮭﺎ وھﺬا ﻣﺎ أﻓﻀﻠﮫ .
ﻻﺣﻆ ﺗﻢ اﺧﺘﺒﺎر اﻟﺤﺮف ھﻞ ھﻮ اﻟﻤﺴﺎﻓﺔ ،ﻓﺈذا ﻛﺎن ﻛﺬﻟﻚ ﻓﯿﺘﻢ اﻟﺮﺟﻮع إﻟﻰ اﻟﺤﻠﻘﺔ ﻣﺮه أﺧﺮى .
ﻗﺪ ﯾﺒﺪوا اﻟﺤﻞ ﻣﻨﺎﺳﺒﺎ ،وﻟﻜﻦ ﻓﻲ ﺣﺎل أردت ﻗﺮاﺋﮫ ﻣﺘﻐﯿﺮ ﻣﺎ ﺑﻌﺪ ھﺬه اﻟﺠﻤﻠﺔ
)' cin.get(plaintext,100,'$ﻓﻠﻦ ﺗﺴﺘﻄﯿﻊ ،واﻟﺴﺒﺐ ﯾﻌﻮد إﻟﻰ أن اﻟﺤﺮف $ﺳﻮف ﯾﺤﻞ ﻣﻜﺎن
اﻟﻘﯿﻤﺔ اﻟﺘﻲ ﺗﺮﯾﺪ ﻗﺮاءﺗﮭﺎ ،ﻟﻜﻲ ﺗﻔﮭﻢ أﻛﺜﺮ ،ﻗﻢ ﺑﺘﺸﻐﯿﻞ اﻟﻤﺜﺎل اﻟﻘﺎدم :
68
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺣﻞ ھﺬه اﻟﻤﺸﻜﻠﺔ ھﻮ اﺳﺘﺨﺪام اﻟﺪاﻟﺔ )' ، cin.getline(plaintext,100,'$وﺳﻮف ﺗﺴﺘﻄﯿﻊ ﻗﺮاﺋﮫ
ﻣﺘﻐﯿﺮك ﺑﺴﮭﻮﻟﮫ :
ﻧﺄﺗﻲ اﻵن إﻟﻰ اﻟﺘﻌﺎﻣﻞ ﻣﻊ stringوھﻮ ﻣﺎ ﺳﺄﻋﺘﻤﺪه ﻟﻜﺘﺎﺑﮫ اﻟﺸﻔﺮات ،ﻧﻈﺮا ﻟﺴﮭﻮﻟﺘﮫ ،وﻛﻞ ﺷﻲء
ﯾﻜﻮن ﺗﻠﻘﺎﺋﻲ .
اذا اﺳﺘﺨﺪﻣﺖ اﻟﺪاﻟﺔ )ﻓﻲ اﻟﺤﻘﯿﻘﺔ ھﻲ cin ( objectﻟﻘﺮاءة ﻣﺘﻐﯿﺮ ﻣﻦ ﻧﻮع stringﻓﻠﻦ ﺗﺴﺘﻄﯿﻊ
اﺳﺘﺨﺪام اﻟﻤﺴﺎﻓﺔ ،ﺟﺮب اﻟﺒﺮﻧﺎﻣﺞ اﻟﺘﺎﻟﻲ ،وأدﺧﻞ ، wajdy essamوﺳﻮف ﺗﻼﺣﻆ اﻟﻤﺨﺮج
wajdyﻻن cinﺗﻌﺘﺒﺮ اﻟﻤﺴﺎﻓﺔ ھﻲ ﻧﮭﺎﯾﺔ اﻟﻨﺺ .
وﻟﻜﻦ ﺑﻘﻠﯿﻞ ﻣﻦ اﻟﺘﺤﺎﯾﻞ ،ﻧﺴﺘﻄﯿﻊ ﻓﻌﻞ ﻣﺎ ﻧﺮﯾﺪ وﺑﻌﺪه ﻃﺮق ،وأﻓﻀﻞ داﺋﻤﺎ اﺳﺘﺨﺪام اﻟﺪاﻟﺔ
)( getcheﻷﻧﮭﺎ ﻻ ﺗﺤﺘﺎج ﻟﻀﻐﻂ enterﺑﻌﺪ ﻋﻤﻠﯿﮫ اﻹدﺧﺎل .
ﺑﮭﺬه اﻟﻄﺮﯾﻘﮫ اﻟﻘﺎدﻣﺔ ،ﺳﻮف ﻧﻘﻮم ﺑﻘﺮاءة ﺟﻤﯿﻊ اﻟﻨﺼﻮص اﻟﻤﺮاد ﺗﺸﻔﯿﺮھﺎ ﻓﻲ ﺧﻮارزﻣﯿﺎت
اﻟﺘﺸﻔﯿﺮ ) ھﻲ ﻟﯿﺴﺖ اﻟﻄﺮﯾﻘﺔ اﻷﻓﻀﻞ ،ﻟﻜﻨﮭﺎ ﺗﺆدي اﻟﻐﺮض( .
69
PDF created with pdfFactory Pro trial version www.pdffactory.com
وﻓﻲ ﺣﺎل أردﻧﺎ ﻣﻌﺎﻟﺠﮫ ال stringﻓﻲ ﺣﻠﻘﮫ ،ﻓﯿﻜﻮن اﻟﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ ﻛﻤﺎ ھﻮ اﻟﺤﺎل ﻣﻊ اﻟﻤﺼﻔﻮﻓﺔ
] str[iأي ﺑﺎﺳﺘﺨﺪام . index
ﻧﺄﺗﻲ اﻵن إﻟﻰ ﺧﻮارزﻣﯿﺎت اﻟﻔﺼﻞ اﻷول وھﻲ اﻟﺨﻮارزﻣﯿﺎت اﻟﺮﯾﺎﺿﯿﺔ :
ﺗﻢ ﻛﺘﺎﺑﮫ أﻛﺜﺮ ﻣﻦ ﺇﻳﺠﺎﺩ ﺍﻟﻘﺎﺳﻢ ﺍﻟﻤﺸﺘﺮﻙ ﺍﻷﻋﻈﻢ Greatest Common Divisor
ﻃﺮﯾﻘﮫ ﻟﺘﻄﺒﯿﻖ ھﺬه اﻟﺨﻮارزﻣﯿﺔ ،وﯾﻤﻜﻨﻚ اﺳﺘﺨﺪام ﻣﺎ ﺗﺸﺎء ،
وھﻨﺎ ﻃﺮﯾﻘﺘﮫ ﺑﻌﺪ ﻣﻌﺮﻓﮫ اﻷﺻﻐﺮ ﻣﻦ ﺑﯿﻦ ﻋﺪدﯾﻦ ﯾﺘﻢ اﺧﺘﺒﺎر ﺑﺎﻗﻲ ﻗﺴﻤﮫ ﻛﻞ ﻋﺪد ﻣﻦ ھﺬﯾﻦ اﻟﻌﺪدﯾﻦ
ﻣﻊ اﻟﻌﺪد اﻟﺼﻐﯿﺮ ،ﻓﺈذا ﻛﺎن ﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ ﻟﻠﻌﺪﯾﻦ ﻓﻲ ﻧﻔﺲ اﻟﻠﺤﻈﺔ ﯾﺴﺎوي ، 0ﻣﻌﻨﺎھﺎ وﺻﻠﻨﺎ ﻟﻠﻘﺎﺳﻢ
اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ ،واﻻ ﻧﻄﺮح ﻣﻦ اﻟﻌﺪد واﺣﺪ وﻧﻌﯿﺪ اﻟﻜﺮه ﻣﺮه أﺧﺮى .
ﺣﻞ أﺧﺮ ،ﺑﻮاﺳﻄﺔ ﺧﻮارزﻣﯿﺔ أﻗﻠﯿﺪس ،وﺗﻢ ﻛﺘﺎﺑﮫ ﺛﻼﺛﺔ implementationﻟﮭﺎ ،اﻷول واﻟﺜﺎﻧﻲ
ﻣﺘﺸﺎﺑﮭﺎن ،واﻟﺜﺎﻟﺚ ﺗﻢ اﺳﺘﺨﺪام ﻣﻔﮭﻮم اﻟﻨﺪاء اﻟﺬاﺗﻲ Recursion Function
70
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻟﺤﻞ ﺑﻮاﺳﻄﺔ اﻟﻨﺪاء اﻟﺬاﺗﻲ :
واﻟﺤﻞ ھﻮ :
71
PDF created with pdfFactory Pro trial version www.pdffactory.com
Trial Division ﺍﺧﺘﺒﺎﺭ ﺃﻭﻟﻴﻪ ﺍﻟﻌﺪﺩ ﺑﺎﺳﺘﺨﺪﺍﻡ
ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﻠﻮﻏﺮﻳﺘﻢ
72
PDF created with pdfFactory Pro trial version www.pdffactory.com
Fast Exponentiation Algorithms
إﯾﺠﺎد x^yﻋﻨﺪﻣﺎ ﯾﻜﻮن yﻛﺒﯿﺮا ﺟﺪا :
وھﺬه ھﻲ اﻟﻄﺮﯾﻘﮫ اﻟﺘﻘﻠﯿﺪﯾﺔ ،ﺣﯿﺚ ﻧﻌﻤﻞ ﺣﻠﻘﮫ ﺑﻌﺪد yوﻣﻦ ﺛﻢ ﻧﻀﺮب xﻓﻲ ﻧﻔﺴﮫ وﻧﺨﺰن اﻟﻨﺎﺗﺞ
ﻓﻲ ﻣﺘﻐﯿﺮ أﺧﺮ .
اﻟﻨﻮع ، __int64ھﻮ ﻧﻔﺴﮫ long long intوﻣﺪى اﻷﻋﺪاد ﺑﮫ ﻛﺒﯿﺮ . 2^64 -1 ،
وﻟﻜﻦ ھﺬه اﻟﻄﺮﯾﻘﮫ ﻏﯿﺮ ﺟﯿﺪه ،وﺧﺎﺻﺔ ﻓﻲ ﺣﺎل ﻛﺎن yﻛﺒﯿﺮ ،ﻷﻧﻨﺎ ﺳﻮف ﻧﻤﺮ ﺑﻌﺪد yﻣﺮه ،وھﻮ
ﺷﻲء ﻏﯿﺮ ﻋﻤﻠﻲ اذا ﻛﺎن ﻣﺜﻼ . 2^1024
73
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻧﺨﺘﺘﻢ ﺑﺮاﻣﺠﻨﺎ اﻟﺮﯾﺎﺿﯿﺔ ،ﺑﺒﺮﻧﺎﻣﺞ ﺍﻟﺘﺤﻮﻳﻞ ﺑﻴﻦ ﺃﻧﻈﻤﻪ ﺍﻷﻋﺪﺍﺩ hex , binary , ،
، decimal , octalوھﺬه ﺗﺼﺮﯾﺢ اﻟﺪوال ،ﻋﻠﻤﺎ ،ﺑﺄن اﻟﺒﺮﻧﺎﻣﺞ ﻣﻮﺟﻮد ﻣﻊ اﻟﺒﺮاﻣﺞ اﻟﻤﺮﻓﻘﺔ ،
وﯾﻤﻜﻨﻚ اﻟﺮﺟﻮع إﻟﯿﮫ ﻟﻘﺮاﺋﮫ ﺗﻌﺮﯾﻒ اﻟﺪوال .
اﻟﺒﺮﻧﺎﻣﺞ "ﻏﯿﺮ ﺿﺮوري" ﻓﻲ ﻛﺘﯿﺒﻨﺎ ھﺬا ،ﻟﻜﻦ وﺿﻌﻨﮭﺎ ﻣﻦ ﺑﺎب اﻟﻔﺎﺋﺪة .
74
PDF created with pdfFactory Pro trial version www.pdffactory.com
normalChar[i] = ch ;
، inputChar ﻧﻔﺮض أﻧﻨﺎ أدﺧﻠﻨﺎ اﻟﻨﺺ اﻟﻤﺮاد ﺗﺸﻔﯿﺮه ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ، ﻟﻜﻲ ﻧﻘﻮم ﺑﺎﻟﺘﺸﻔﯿﺮ، اﻵن
: outputChar وﻧﺮﯾﺪ اﻟﻨﺺ اﻟﻤﺸﻔﺮ ﯾﻜﻮن ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ
for (i=0 ; i<length ; i++)
{
if ( inputChar[i] == ' ' ) // if it's space , ignore it
{
outputChar[i] = ' ' ;
continue;
}
وھﻜﺬا ﺗﺤﺼﻠﻨﺎ ﻋﻠﻰ ﻗﯿﻤﮫ، int ﻗﻤﻨﺎ ﺑﺘﺤﻮﯾﻞ اﻟﺤﺮف اﻷول ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ إﻟﻰ ﻧﻮع، داﺧﻞ اﻟﺤﻠﻘﺔ
. 66 ﻓﻘﯿﻤﮫ اﻷﺳﻜﻲ ھﻨﺎ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔB وﻟﻨﻔﺮض أﻧﮫ اﻟﺤﺮف، اﻷﺳﻜﻲ اﻟﺨﺎص ﺑﺎﻟﺤﺮف اﻷول
وھﻨﺎ، 25 إﻟﻰ0 ﻟﻜﻲ ﻧﺮﺟﻊ ﻗﯿﻤﮫ اﻟﻤﺘﻐﯿﺮ إﻟﻰ رﻗﻢ ﻣﺪاه ﻣﻦ، 65 ﺑﻌﺪھﺎ ﻧﻄﺮح ﻣﻦ ھﺬه اﻟﻘﯿﻤﺔ
اﻟﺘﻲ ﻗﻤﻨﺎcipherChar اﻟﺨﺎص ﺑﻤﺼﻔﻮﻓﺔ اﻟﺤﺮوف اﻟﻤﺸﻔﺮةindexﯾﻜﻮن ھﺬا اﻟﻤﺘﻐﯿﺮ ھﻮ ال
. ﺑﺘﮭﯿﺌﺘﮭﺎ ﻓﻲ اﻟﺒﺪاﯾﺔ
وﻧﺮﯾﺪ اﻟﻨﺺ اﻷﺻﻠﻲ ﻓﻲoutputChar ﻟﻨﻔﺮض أن اﻟﻨﺺ اﻟﻤﺸﻔﺮ ﻣﻮﺟﻮد داﺧﻞ، ﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ
newNormal
x = x - 65 ; // return it to number
x = x - key ; // sub from it the key
newNormal[i] = normalChar[x] ;
cout << newNormal[i] ;
}
75
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻟﺤﻞ اﻟﺜﺎﻧﻲ واﻟﺬي أﻓﻀﻠﮫ ،ﻟﻠﺘﺸﻔﯿﺮ ﻧﻘﻮم ﺑﺎﻟﺘﺎﻟﻲ :
ﯾﮭﻤﻨﺎ ھﻨﺎ اﻟﺴﻄﺮ اﻷول ،ﻷﻧﻨﺎ ﺳﻨﺴﺘﺨﺪﻣﮫ ﻛﺜﯿﺮا ﻓﻲ اﻟﺸﻔﺮات اﻟﻘﺎدﻣﺔ ،وﻧﺒﺪأ ﺑﺸﺮﺣﮫ ﻣﻦ داﺧﻞ
اﻷﻗﻮاس ،أوﻻ ﻧﺄﺧﺬ اﻟﺤﺮف اﻷول ﻣﻦ اﻟﻨﺺ اﻷﺻﻠﻲ وﻧﻘﻮم ﺑﺘﺤﻮﯾﻠﮫ إﻟﻰ intﻷﺧﺬ ﻗﯿﻤﮫ اﻷﺳﻜﻲ
اﻟﺨﺎص ﺑﺎﻟﺤﺮف ،ﺑﻌﺪھﺎ ﻧﻄﺮح ﻣﻨﮫ 65ﻟﻜﻲ ﻧﺤﺼﺮ اﻟﻘﯿﻤﺔ ﻣﻦ 0إﻟﻰ ، 25اﻵن ﻧﺠﻤﻊ إﻟﯿﮭﺎ
اﻟﻤﻔﺘﺎح ،وھﻮ ھﻨﺎ ﻓﻲ ﺧﻮارزﻣﯿﺔ ﻗﯿﺼﺮ ، 3وﻧﺄﺧﺬ ﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ اﻟﻨﺎﺗﺞ ﻋﻠﻰ ، 26ﺑﻌﺪھﺎ ﻧﺮﺟﻊ
اﻟﺤﺮف إﻟﻰ ﻗﯿﻤﺘﮫ وذﻟﻚ ﺑﺠﻤﻊ 65إﻟﯿﮫ .أﺧﯿﺮا ﻧﺴﻨﺪ ھﺬه اﻟﻘﯿﻤﺔ ﺑﻌﺪ ﺗﺤﻮﯾﻠﮭﺎ إﻟﻰ ﺣﺮف إﻟﻰ اﻟﻨﺺ
اﻟﻤﺸﻔﺮ .
وھﻲ ﻣﺸﺎﺑﮫ ﻟﻄﺮﯾﻘﺔ اﻟﺘﺸﻔﯿﺮ ﻣﺎ ﻋﺪا ﻓﻲ اﻟﺴﻄﺮ اﻷول ﻧﻘﻮم ﺑﻄﺮح اﻟﻤﻔﺘﺎح ﻣﻦ اﻟﺤﺮف اﻷول ،أﻣﺎ
اﻟﺴﻄﺮ اﻟﺜﺎﻧﻲ ،ﻓﮭﻮ ﯾﺘﺄﻛﺪ ﻣﻦ اﻟﻘﯿﻤﺔ اﻟﺴﺎﺑﻘﺔ ) (xأﻛﺒﺮ ﻣﻦ ، 0و إﻻ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ أﻃﺮح – 26
اﻟﻘﯿﻤﺔ اﻟﻤﻄﻠﻘﺔ ﻟﮭﺬا اﻟﺤﺮف ،وﻟﻨﻌﺮف اﻟﻐﺮض ﻣﻨﮫ ﻧﺄﺧﺬ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ :
اﻟﺤﺮف Eﻧﺤﻮﻟﮫ إﻟﻰ ﻗﯿﻤﮫ اﻷﺳﻜﻲ ﻟﺘﺨﺮج إﻟﯿﻨﺎ اﻟﺮﻗﻢ ، 69اﻵن ﻧﻄﺮح ﻣﻨﮫ 65ﻟﯿﺼﺒﺢ ﻟﺪﯾﻨﺎ ، 4
وﻧﻄﺮح ﻣﻨﮭﺎ اﻟﻤﻔﺘﺎح اﻟﺬي ھﻮ ، 3ﻟﯿﺨﺮج ﻟﺪﯾﻨﺎ ، 1ﻧﺄﺧﺬ 1ﺑﺎﻗﻲ ﻗﺴﻤﮫ 26ﻟﯿﺨﺮج واﺣﺪ ﻧﻔﺴﮫ .
اﻵن اﻟﺴﻄﺮ اﻟﺜﺎﻧﻲ ﻻ ﯾﮭﻢ ،ﻷن اﻟﻘﯿﻤﺔ أﻛﺒﺮ ﻣﻦ . 0
ﻧﺄﺧﺬ اﻟﺤﺮف ، Aﻧﺤﻮﻟﮫ إﻟﻰ ﻗﯿﻤﮫ اﻷﺳﻜﻲ ﻟﺘﺨﺮج ﻟﺪﯾﻨﺎ اﻟﻘﯿﻤﺔ 65ﻧﻄﺮح ﻣﻨﮭﺎ 65ﯾﻄﻠﻊ ﻟﺪﯾﻨﺎ ، 0
ﻧﻄﺮح ﻣﻨﮭﺎ اﻟﻤﻔﺘﺎح 3ﻟﯿﺨﺮج ﻟﺪﯾﻨﺎ ، 3-اﻵن ﻧﻨﻘﺪ اﻟﺴﻄﺮ اﻟﺜﺎﻧﻲ وﻧﻄﺮح 23 = 3- 26وﻗﯿﻤﺘﮫ ھﻲ
اﻟﺤﺮف Xوھﻮ اﻟﺤﺮف اﻟﺼﺤﯿﺢ .
ﺷﻔﺮﺓ ROT13
ﺑﻨﻔﺲ ﻃﺮﯾﻘﮫ ﺷﻔﺮه ﻗﯿﺼﺮ ،ﻟﻜﻦ ھﻨﺎ اﻟﻤﻔﺘﺎح ﯾﻜﻮن ، 13وداﻟﮫ اﻟﺘﺸﻔﯿﺮ ،ھﻲ ﻧﻔﺴﮭﺎ اﻟﺘﻲ ﺗﻘﻮم ﺑﻔﻚ
اﻟﺘﺸﻔﯿﺮ .
76
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺍﻟﺘﺸﻔﻴﺮ ﺑﻄﺮﻳﻘﻪ Affine Cipher
اﻟﻘﻮاﻧﯿﻦ :
اﻵن ﻟﻤﻌﺮﻓﮫ ھﻞ mو nأوﻟﯿﺎن ﻓﯿﻤﺎ ﺑﯿﻨﮭﻤﺎ ،ﯾﺠﺐ أن ﯾﻜﻮن اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻷﻋﻈﻢ ﻟﮭﻤﺎ ﯾﺴﺎوي
واﺣﺪ ،ﻓﻨﻘﻮم ﺑﺎﺳﺘﺨﺪام داﻟﮫ GCDﻹﯾﺠﺎد اﻟﻘﺎﺳﻢ ) واﻟﺘﻲ ﻗﺪ ذﻛﺮﻧﺎھﺎ ﺳﺎﺑﻘﺎ( ،وﻧﻘﺎرن اﻟﻨﺎﺗﺞ ھﻞ
ﯾﺴﺎوي واﺣﺪ ،اذا ﻛﺎن ﻛﺬﻟﻚ ھﻢ أوﻟﯿﺎن ﻓﯿﻤﺎ ﺑﯿﻨﮭﻤﺎ ،واﻻ ھﻢ ﻏﯿﺮ ذﻟﻚ .
77
PDF created with pdfFactory Pro trial version www.pdffactory.com
وﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،ﻧﺴﺘﺪﻋﻲ داﻟﮫ extended Euclidﺧﻮارزﻣﯿﺔ اﻗﻠﯿﺪس اﻟﻤﻤﺘﺪة ،ﻹﯾﺠﺎد اﻟﻤﻌﻜﻮس
،وﺑﻌﺪھﺎ :
ھﺬه اﻟﺸﻔﺮات ﻣﺘﺸﺎﺑﮫ ﻓﯿﻤﺎ ﺑﯿﻨﮭﻤﺎ ﺑﺸﻜﻞ ﻛﺒﯿﺮ )أﻗﺼﺪ ﻣﻦ ﻧﺎﺣﯿﺔ ﺑﺮﻣﺠﯿﮫ( ،ﻟﺬﻟﻚ ﺳﻮف ﯾﻜﻮن ﻣﻦ
اﻟﺴﮭﻞ ﺗﺘﺒﻊ ھﺬه اﻟﺸﻔﺮات ،وﺧﺎﺻﺔ اذا ﻛﻨﺖ ﺗﻌﺮف ﻃﺮﯾﻘﮫ ﻋﻤﻞ ﻛﻞ ﺷﻔﺮه )أي ﻗﻤﺖ ﺑﻘﺮاءة
اﻟﻔﺼﻞ اﻟﺜﺎﻧﻲ( .
ﻟﻠﺘﺸﻔﯿﺮ ﻧﻘﻮم ﺑﺠﻤﻊ اﻟﻤﻔﺘﺎح ﻣﻊ اﻟﻨﺺ اﻷﺻﻠﻲ ) 26 %ﺑﺎﻟﻀﺒﻂ ﻛﻤﺎ ھﻮ اﻟﺤﺎل ﻣﻊ ﺷﻔﺮه ﻗﯿﺼﺮ( ،
ﻟﻜﻦ ﻓﻲ ﺣﺎل اﻧﺘﮭﻲ اﻟﻤﻔﺘﺎح ﺳﻮف ﯾﺘﻜﺮر )أي ﯾﺮﺟﻊ ﻣﻦ اﻟﺒﺪاﯾﺔ( ،وھﻨﺎ ﺗﻜﻮن اﻟﻔﻜﺮة ،ﺑﺄن أﻋﺮف
ﻃﻮل اﻟﻤﻔﺘﺎح ،ﺑﻌﺪھﺎ أﻗﻮم ﺑﺤﺼﺮ ﻣﺪى اﻟﻤﻔﺘﺎح )أي ﯾﻜﻮن ﻣﻦ اﻟﺒﺪاﯾﺔ وﺣﺘﻰ اﻟﻨﮭﺎﯾﺔ ،وﻓﻲ ﺣﺎل
ﺗﻜﺮر ﯾﺮﺟﻊ ﻣﻦ اﻟﺒﺪاﯾﺔ( وﯾﻤﻜﻦ ﻋﻤﻞ ذﻟﻚ ﻋﻦ ﻃﺮﯾﻖ ﻣﻌﺎﻣﻞ ﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ ،ﻛﻤﺎ ھﻮ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ :
78
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺷﻔﺮﻩ ﻓﻴﺠﻴﻨﺮ ﺍﻟﻜﺎﻣﻠﺔ Full Vigenere Cipher
وھﻨﺎ ﯾﺠﺐ ﻓﻲ اﻟﺒﺪاﯾﺔ أن ﻧﻨﺸﺊ ﺟﺪول اﻟﺘﺸﻔﯿﺮ ، a tabular rectaوﯾﻤﻜﻦ إﻧﺸﺎﺋﮫ ﯾﺪوﯾﺎ ﻋﻦ
ﻃﺮﯾﻖ ﻣﺼﻔﻮﻓﺔ ﻣﻦ ﺑﻌﺪﯾﻦ وﻧﻘﻮم ﺑﺘﻌﺒﺌﺘﮭﺎ ﺑﺠﻤﯿﻊ اﻟﺤﺮوف ﻛﻢ ﻓﻲ اﻟﺠﺪول ،وﻟﻜﻨﮫ ﺣﻞ ﻣﺘﻌﺐ
وﯾﻔﻀﻞ اﺳﺘﺨﺪام اﻟﺤﻠﻘﺔ ،اﻟﺠﺪول ﻛﻤﺎ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ )وﻗﺪ ﺳﺒﻖ ﻋﺮﺿﮫ ﻓﻲ اﻟﻔﺼﻞ اﻟﺜﺎﻧﻲ( :
اﻵن ﻟﻠﺘﺸﻔﯿﺮ ﻧﺄﺧﺬ ﻧﻘﻄﮫ ﺗﻘﺎﻃﻊ اﻟﺤﺮف ﻣﻦ اﻟﻨﺺ اﻷﺻﻠﻲ وﻣﻦ اﻟﻤﻔﺘﺎح ) ،أﻛﺮر :راﺟﻊ اﻟﻔﺼﻞ
اﻟﺜﺎﻧﻲ ،ﺣﺘﻰ ﺗﺴﺘﻄﯿﻊ ﻓﮭﻢ اﻟﻄﺮﯾﻘﮫ ( .واﻟﺪاﻟﺔ اﻟﺘﻲ ﺗﺮﺟﻊ ﻧﻘﻄﮫ اﻟﺘﻘﺎﻃﻊ ھﻲ :
79
PDF created with pdfFactory Pro trial version www.pdffactory.com
: اﻵن ﻟﻠﺘﺸﻔﯿﺮ
: وﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ
80
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺷﻔﺮﻩ ﻓﺠﻴﻨﻴﺮ ﺗﻠﻘﺎﺋﻴﺔ ﺍﻟﻤﻔﺘﺎﺡ Auto Key Vigenere Cipher
وﻓﻲ ھﺬه اﻟﺸﻔﺮه وﺑﻌﺪ اﻧﺘﮭﺎء اﻟﻤﻔﺘﺎح ،ﯾﺪﺧﻞ اﻟﻤﻔﺘﺎح اﻷﺻﻠﻲ ﻓﻲ ﻋﻤﻠﯿﮫ اﻟﺘﺸﻔﯿﺮ ،أي ﯾﺼﺒﺢ ھﻮ
اﻟﻤﻔﺘﺎح .وﻓﻲ ﻋﻤﻠﯿﮫ ﻓﻚ اﻟﺘﺸﻔﯿﺮ وﺑﻌﺪ اﻧﺘﮭﺎء اﻟﻤﻔﺘﺎح ،ﯾﻜﻮن اﻟﻤﻔﺘﺎح اﻟﺤﺎﻟﻲ ھﻮ أول ﺣﺮف ﺗﻢ ﻓﻚ
ﺗﺸﻔﯿﺮه ،واﻟﻤﻔﺘﺎح اﻟﺘﺎﻟﻲ ،ھﻮ ﺛﺎﻧﻲ ﺣﺮف ﻓﻚ ﺗﺸﻔﯿﺮه وھﻜﺬا )راﺟﻊ اﻟﻔﺼﻞ اﻟﺜﺎﻧﻲ ،ﻟﻠﻤﺰﯾﺪ ﻣﻦ
اﻷﻣﺜﻠﺔ واﻟﺘﻮﺿﯿﺢ( .
اﻵن وﻗﺒﻞ اﻟﺒﺪء ﺑﺎﻟﺘﺸﻔﯿﺮ ،اﻟﻔﻜﺮة ھﻨﺎ ،أن ﻧﻘﺎرن اﻟﻤﻔﺘﺎح ﺑﺎﻟﻨﺺ اﻷﺻﻠﻲ ،ﻓﺈذا ﻛﺎﻧﺎ ﻧﻔﺲ اﻟﻄﻮل
ﻛﺎن ﺑﮭﺎ ،واﻻ ﻗﻢ ﺑﺠﻤﻊ اﻟﺤﺮف اﻷول ﻣﻦ اﻟﻨﺺ اﻷﺻﻠﻲ ﺑﻌﺪ أﺧﺮ ﺣﺮف ﻓﻲ اﻟﻤﻔﺘﺎح ،واﺟﻤﻊ
اﻟﺤﺮف اﻟﺜﺎﻧﻲ ﻣﻦ اﻟﻨﺺ اﻷﺻﻠﻲ ﺑﻌﺪ ﺛﺎﻧﻲ أﺧﺮ ﺣﺮف ﻓﻲ اﻟﻤﻔﺘﺎح ،واﺳﺘﻤﺮ ھﻜﺬا إﻟﻰ أن ﯾﺼﺒﺢ
اﻟﻨﺺ اﻷﺻﻠﻲ ﯾﺴﺎوي اﻟﻤﻔﺘﺎح .
اﻵن اﻟﺘﺸﻔﯿﺮ ﺳﻮف ﯾﻜﻮن ﺑﺎﻟﻄﺮﯾﻘﺔ اﻟﺘﻘﻠﯿﺪﯾﺔ ﻛﻤﺎ ﻓﻲ ﺷﻔﺮه ﻗﯿﺼﺮ ،ﻻن اﻟﻤﻔﺘﺎح ﺣﺎﻟﯿﺎ ﯾﺴﺎوي
اﻟﻨﺺ اﻷﺻﻠﻲ :
81
PDF created with pdfFactory Pro trial version www.pdffactory.com
وﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،ﻓﻲ ﻛﻞ ﺧﻄﻮه ﻧﻘﻮم ﺑﺠﻤﻊ اﻟﻨﺺ اﻷﺻﻠﻲ )اﻟﺬي ﺗﻢ ﻓﻚ ﺗﺸﻔﯿﺮه ﻓﻲ ھﺬه اﻟﻠﺤﻈﺔ(
إﻟﻰ أﺧﺮ اﻟﻤﻔﺘﺎح :
ھﻨﺎ ﯾﺠﺐ أن ﻧﺘﺤﻘﻖ ﻣﻦ اﻟﺸﺮط ﻗﺒﻞ اﻟﺒﺪء ﻓﻲ اﻟﺘﺸﻔﯿﺮ ،وھﻮ أن اﻟﻤﻔﺘﺎح ﯾﻜﻮن أﻃﻮل ﻣﻦ اﻟﻨﺺ
اﻟﻌﺎدي )أو ﯾﺴﺎوﯾﮫ( ،.وﺗﻜﻮن ﻋﻤﻠﯿﮫ اﻟﺘﺸﻔﯿﺮ وﻓﻚ اﻟﺘﺸﻔﯿﺮ ﻋﺎدﯾﮫ ﻛﻤﺎ ﻓﻲ اﻷﻣﺜﻠﺔ اﻟﺴﺎﺑﻘﺔ .
ھﻨﺎ ﻣﺜﺎل ﺑﯿﯿﻦ ﻛﯿﻔﯿﮫ اﻟﺘﺤﻘﻖ ،وﻓﻲ ﺣﺎل ﻛﺎن ﻃﻮل اﻟﻤﻔﺘﺎح أﻗﻞ ،ﯾﺘﻢ اﻟﺨﺮوج وﻻ ﺗﺘﻢ ﻋﻤﻠﯿﺔ
اﻟﺘﺸﻔﯿﺮ :
82
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺷﻔﺮﺓ ﺑﻼﻓﻴﺮ Playfair Cipher
ﺷﻔﺮه ﺑﻼﻓﯿﺮ أﺧﺬت ﻣﻨﻲ اﻟﻜﺜﯿﺮ ﻣﻦ اﻷﺳﻄﺮ ،ﻟﺬﻟﻚ ﻟﻦ أﺿﻌﮭﺎ ھﻨﺎ ،وﯾﻤﻜﻨﻚ ﻣﺸﺎھﺪه اﻟﻜﻮد ﻣﺮﻓﻖ
ﻣﻊ اﻟﻜﺘﺎب ،ﻋﻠﻤﺎ ﺑﺄن ﺗﻄﺒﯿﻘﮭﺎ ﺳﮭﻞ ،اﺿﺎﻓﮫ إﻟﻰ أﻧﻲ ﻗﻤﺖ ﺑﻜﺘﺎﺑﺔ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺘﻌﻠﯿﻘﺎت اﻟﺘﻲ ﺳﻮف
ﺗﻮﺿﺢ ﻋﻤﻞ ﻛﻞ داﻟﮫ .وﺑﺈذن اﷲ ﺗﻜﻮن واﺿﺤﺔ ﻟﻠﺠﻤﯿﻊ .
83
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻣﻘﺪﻣﻪ ﻓﻲ ﺍﻟﺘﺸﻔﻴﺮ ﺑﺎﻟﻄﺮﻕ ﺍﻟﺤﺪﻳﺜﺔ: ﺍﻟﻔﺼﻞ ﺍﻟﺮﺍﺑﻊ
Introduction to Modern
Cryptography
84
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻟﻤﺎﺫﺍ ﺑﺎﻟﺘﺸﻔﻴﺮ Why Cryptography؟
ﻗﺪ ﺗﺘﺴﺎءل أﺧﻲ اﻟﻜﺮﯾﻢ وﺗﻘﻮل " أﻧﺎ ﻻ اﺣﺘﺎج ﻷي ﻧﻮع ﻣﻦ اﻟﺘﺸﻔﯿﺮ ،ﺑﺒﺴﺎﻃﮫ ،ﻷﻧﮫ ﻟﯿﺲ ﻟﺪى أي
ﺷﻲء ﻷﺧﻔﯿﮫ ،وﻻ داﻋﻲ ﻟﮭﺬه اﻟﺤﻤﺎﯾﺔ" ؟
ﺣﺴﻨﺎ أﺧﻲ ،ﻟﻜﻦ دﻋﻨﻲ أﺷﺎھﺪ ﻣﻠﻔﺎﺗﻚ اﻟﻄﺒﯿﺔ ،أو ﻛﺸﻒ ﺣﺴﺎﺑﺎﺗﻚ ﻓﻲ اﺣﺪ اﻟﺒﻨﻮك ،أو ﺣﺎﻓﻈﮫ
ﻧﻘﻮدك ،أو دﻋﻨﻲ اﺳﺘﺨﺪم رﻗﻢ)اﻟﮭﻮﯾﺔ( اﻟﺠﻮاز اﻟﺨﺎص ﺑﻚ ،أو ﻋﻠﻰ اﻗﻞ ﺗﻘﺪﯾﺮ دﻋﻨﻲ اﺳﺘﺨﺪم
اﻟﺒﺎﺳﻮرد اﻟﺨﺎص ﺑﺪﺧﻮل اﻟﻤﻨﺘﺪى ،أو اﻟﺒﺮﯾﺪ اﻟﺨﺎص ﺑﻚ .
اﻟﻤﻘﺼﺪ ھﻨﺎ ،أﻧﻨﺎ ﺟﻤﯿﻌﺎ ﻟﺪﯾﻨﺎ ﻣﻌﻠﻮﻣﺎت ﺑﺤﺎﺟﮫ إﻟﻰ أن ﺗﺒﻘﻰ ﺳﺮﯾﮫ ﻋﻦ اﻟﺠﻤﯿﻊ ،ﺑﺎﻟﺘﺄﻛﯿﺪ ﺳﺘﺸﻌﺮ
ﺑﻌﺪم اﻻرﺗﯿﺎح ﻣﺜﻼ ﻓﻲ ﺣﺎﻟﮫ ﻋﺮﻓﻨﺎ ﻛﻠﻨﺎ ﺑﻤﻮاﻋﯿﺪ زﯾﺎراﺗﻚ ﻟﻠﻄﺒﯿﺐ ،ﻣﺎ ھﻲ اﻻدوﯾﮫ واﻟﻌﻼﺟﺎت اﻟﺘﻲ
ﺗﺴﺘﺨﺪﻣﮭﺎ ،ﻣﺎ ھﻲ اﻷﻣﺮاض اﻟﻤﺼﺎب ﺑﮭﺎ )ﻋﺎﻓﺎﻧﺎ اﷲ وإﯾﺎﻛﻢ( ..ﺳﺒﺐ أﺧﺮ ﻧﺤﻦ ﻧﺮﯾﺪ اﻟﺤﻔﺎظ ﻋﻠﻰ
ﺗﻠﻚ اﻟﻤﻌﻠﻮﻣﺎت ﻣﻦ اﻟﻤﺨﺘﺮﻗﯿﻦ ،ﺗﺨﯿﻞ اﺣﺪھﻢ ﺳﺮق اﻟﺒﺎﺳﻮرد اﻟﺨﺎص ﺑﻚ ﻓﻲ اﻟﻤﻨﺘﺪى ودﺧﻞ
ﺑﺤﺴﺎﺑﻚ وﺑﺪا ﯾﺴﺐ وﯾﻌﻠﻦ ﻓﻲ اﻷﻋﻀﺎء ﻣﺎذا ﺳﯿﻜﻮن ﻣﻮﻗﻔﻚ ،ﺑﺎﻟﺘﺄﻛﯿﺪ أھﻮن ﻣﻦ اﻟﺬي ﺗﻢ اﺳﺘﺨﺪام
ﺑﻄﺎﻗﺘﮫ اﻻﺋﺘﻤﺎﻧﯿﺔ وﺳﺮﻗﮫ ﻣﺒﻠﻎ . J $1000
ﻓﻲ اﻟﻤﺎﺿﻲ ﻛﺎﻧﺖ ﻋﻤﻠﯿﮫ اﻟﺤﻤﺎﯾﺔ ﺑﺴﯿﻄﺔ ﺟﺪا ،ﻓﻘﻂ ﻛﻞ ﻣﺎ ﻋﻠﯿﻚ ھﻮ أن ﺗﻀﻊ ﻣﻠﻔﺎﺗﻚ ﻓﻲ اﻟﺪرج ﺛﻢ
إﻏﻼق ﺑﺎب اﻟﻤﻜﺘﺐ ﺑﺎﻟﻤﻔﺘﺎح !! وإذا ﻛﻨﺖ ﺗﺮﯾﺪ ﺣﻤﺎﯾﺔ أﻛﺜﺮ ﯾﻤﻜﻨﻚ اﻹﺳﺘﻌﺎﻧﮫ "ﺑﻄﺒﻠﮫ ﻛﺒﯿﺮة" واﻧﺘﮭﻰ
اﻷﻣﺮ ،ﻟﻜﻦ ﺣﺎﻟﯿﺎ اﻷﻣﺮ اﺧﺘﻠﻒ ﺑﺸﻜﻞ ﻛﺒﯿﺮ ،ﻓﺎﻟﻤﻠﻔﺎت أﺻﺒﺤﺖ ﺗﺤﻔﻆ ﻓﻲ اﻟﺠﮭﺎز واﻟﮭﺎردﯾﺴﻚ
واﻟﺴﻲ دي CDو وﺳﺎﺋﻞ أﺧﺮى ﻏﯿﺮھﺎ ،اﻟﺴﺆال ھﻮ ﻛﯿﻒ ﯾﻤﻜﻦ ﺣﻤﺎﯾﺔ اﻟﮭﺎدرﯾﺴﻚ ؟
وھﻨﺎ ﯾﺄﺗﻲ دور ﻧﻈﺎم اﻟﺘﺸﻐﯿﻞ ،اﻏﻠﺐ ﻧﻈﻢ اﻟﺘﺸﻐﯿﻞ ﺗﻘﺪم ﻧﻮع ﻣﻦ اﻟﺤﻤﺎﯾﺔ وﺗﺴﻤﻰ اﻟﺼﻼﺣﯿﺎت
permissionsواﻟﺘﻲ ﺗﺴﻤﺢ ﻟﻤﺴﺘﺨﺪﻣﯿﻦ ﻣﻌﯿﻨﯿﻦ اﻟﺪﺧﻮل إﻟﻰ اﻟﻨﻈﺎم ،وذﻟﻚ ﻋﻦ ﻃﺮﯾﻖ إﺟﺮاء
اﻟﺪﺧﻮل )ﻧﺎﻓﺬة ، (loginوﻓﻲ ﺣﺎﻟﮫ إدﺧﺎل اﺳﻢ اﻟﻤﺴﺘﺨﺪم واﻟﺒﺎﺳﻮرد اﻟﺼﺤﯿﺤﯿﻦ ﯾﺘﻢ اﻟﺪﺧﻮل إﻟﻰ
اﻟﻨﻈﺎم ،وﺣﺘﻰ ﺑﻌﺪ اﻟﺪﺧﻮل ﻓﻲ ﺣﺎﻟﮫ ﻗﻢ ﺑﺤﺬف ﻣﻠﻒ ﻣﻌﯿﻦ ﻓﺈن ﻧﻈﺎم اﻟﺘﺸﻐﯿﻞ ﯾﻨﻈﺮ أوﻻ ھﻞ آﻧﺖ
ﻣﻦ ﻟﻚ اﻟﺼﻼﺣﯿﺔ ﻟﺤﺬف ھﺬا اﻟﻤﻠﻒ وﻓﻲ ﺣﺎﻟﮫ اﻟﻨﻔﻲ ﻓﺎﻧﻚ ﻟﻦ ﺗﺴﺘﻄﯿﻊ ﺣﺬف اﻟﻤﻠﻒ أﺑﺪا) ﻃﺒﻌﺎ
ﻣﺴﺘﺨﺪﻣﯿﻦ اﻧﻈﻤﮫ Unix-Likeﯾﻌﺮﻓﻮا ھﺬه اﻟﺘﻔﺎﺻﯿﻞ ﺑﺸﻜﻞ ﻛﺒﯿﺮ(
واﻟﺸﺨﺺ اﻟﺬي ﯾﻜﻮن ﻟﺪﯾﮫ اﻟﺼﻼﺣﯿﺔ ﻟﻔﻌﻞ ﺷﻲء ھﻮ اﻟﻤﺪﯾﺮ administratorأو ، rootوھﻮ
اﻟﺬي ﯾﻌﻄﻰ اﻟﺼﻼﺣﯿﺎت ﻟﺒﺎﻗﻲ اﻟﻤﺴﺘﺨﺪﻣﯿﻦ ،ھﻮ اﻟﺬي ﯾﻌﻄﻞ اﻟﺤﺴﺎﺑﺎت ،ھﻮ اﻟﺬي ﯾﻌﻄﻲ
اﻟﺒﺎﺳﻮرد ﻓﻲ ﺣﺎل ﻓﻘﺪ اﺣﺪھﻢ اﻟﺒﺎﺳﻮرد اﻟﺨﺎص ﺑﮫ ،ھﻮ اﻟﻤﺪﯾﺮ ﺑﻤﻌﻨﻰ اﻟﻜﻠﻤﺔ .
ﻛﯿﻒ ﯾﻌﺮف ﻧﻈﺎم اﻟﺘﺸﻐﯿﻞ أن اﻟﺸﺨﺺ اﻟﻤﻮﺟﻮد ھﻮ اﻟﻤﺪﯾﺮ اﻟﻔﻌﻠﻲ ؟ ﻋﻦ ﻃﺮﯾﻖ اﺳﻢ اﻟﻤﺴﺘﺨﺪم و
اﻟﺒﺎﺳﻮرد ﺑﺎﻟﻄﺒﻊ ،ﻟﻜﻦ وﺑﻜﻞ أﺳﻒ اﻟﻄﺮق ﻟﻤﺮاوﻏﮫ اﻟﻨﻈﺎم وﻛﺴﺮ ﺣﻤﺎﯾﺔ ﺑﺎﺳﻮرد اﻟﻤﺪﯾﺮ أﺻﺒﺤﺖ
ﻣﻨﺘﺸﺮة وﺑﻜﺜﺮة ،ﻓﻲ وﯾﻨﺪوز xp homeﯾﻜﻔﻲ أن ﺗﺪﺧﻞ ﻋﻦ ﻃﺮﯾﻖ اﻟﻮﺿﻊ اﻷﻣﻦ safe Mode
ﻟﻠﺪﺧﻮل إﻟﻰ اﻟﻨﻈﺎم !! وھﻨﺎك اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺒﺮاﻣﺞ ﻟﻜﺴﺮ وﺗﻐﯿﯿﺮ اﻟﺒﺎﺳﻮرد ﻟﻸﻏﻠﺐ اﻻﻧﻈﻤﮫ..
85
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻛﻤﺨﺘﺮق أرﯾﺪ أن ادﺧﻞ إﻟﻰ اﻟﻨﻈﺎم أول ﻣﺎ أﻓﻜﺮ ﻓﯿﮫ ھﻮ اﺳﻢ اﻟﻤﺴﺘﺨﺪم اﻟﺬي ﯾﺄﺗﻲ ﻣﻊ اﻟﻨﻈﺎم
،preset accountﺑﺎﻻﺿﺎﻓﮫ إﻟﻰ أن اﻏﻠﺐ أﻧﻈﻤﮫ وﯾﻨﺪوز ﯾﻜﻮن ﻓﯿﮭﺎ اﺳﻢ اﻟﻤﺴﺘﺨﺪم اﻟﺨﺎص
ﺑﺎﻟﻤﺪﯾﺮ ھﻮ administratorوﺑﺪون ﺑﺎﺳﻮرد ،وﻟﻸﺳﻒ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻤﺴﺘﺨﺪﻣﯿﻦ ﯾﺘﺮﻛﻮن ھﺬا
اﻟﺤﺴﺎب ﺑﺪون ﺗﻐﯿﯿﺮ ،وﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ اﻟﺪﺧﻮل إﻟﻰ اﻟﻨﻈﺎم أﻣﺮ ﻓﻲ ﻣﻨﺘﮭﻰ اﻟﺒﺴﺎﻃﺔ وﺳﻮف اﺷﻜﺮ
اﻟﺸﺮﻛﺔ اﻟﻤﻨﺘﺠﺔ ﻋﻠﻰ ھﺬه ﻟﺼﻨﯿﻌﮫ اﻟﺘﻲ ﻻ ﺗﻨﺴﻰ . J
ﻟﻸﺳﻒ اﻟﻤﺴﺘﺨﺪم ﻃﻠﻊ ﻋﺎﻣﻞ ﺣﺴﺎﺑﮫ وﻣﻐﯿﺮ اﻟﺒﺎﺳﻮرد ،اذا ﺳﺄﺑﺤﺚ ﻋﻦ ﻃﺮﯾﻖ أﺧﺮ وھﻮ اﻟﺒﺤﺚ ﻋﻦ
اﺳﻢ اﻟﻤﺴﺘﺨﺪم واﻟﺒﺎﺳﻮرد ﯾﻌﻨﻲ ﺗﺨﻤﯿﻨﮫ ،ﻓﻲ اﻷﻓﻼم واﻟﻤﺴﻠﺴﻼت اﻷﻣﺮ ﺳﮭﻞ ﻟﻠﻐﺎﯾﺔ ،دﻗﯿﻘﮫ أو اﺛﻨﯿﻦ
وﯾﺘﻢ اﻟﻜﺸﻒ ﻋﻦ ھﺬا اﻟﺒﺎﺳﻮرد وﯾﺘﻢ اﻟﺪﺧﻮل إﻟﻰ اﻟﻨﻈﺎم ،ﻟﻜﻦ اﻟﺤﻘﯿﻘﺔ ﺗﺨﺘﻠﻒ ﻛﺜﯿﺮا ،رﺑﻤﺎ اذا ﺑﺤﺜﺖ
ﻓﻲ اﻟﻤﻜﺘﺐ ﺗﺠﺪ ﺑﻌﺾ اﻷوراق ﻣﻜﺘﻮب ﻋﻠﯿﮭﺎ اﻟﺒﺎﺳﻮرد )أﯾﻀﺎ ھﺬه ﻓﻲ اﻷﻓﻼم ﻓﻘﻂ( .
ﺣﺴﻨﺎ ،ﻋﻠﻰ اﻟﻌﻤﻮم ھﻨﺎك ﻃﺮﯾﻘﮫ ﺗﺴﺘﺨﺪﻣﮭﺎ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺠﺎﻣﻌﺎت واﻟﻤﺆﺳﺴﺎت وھﻲ اﺳﻢ اﻟﻤﺴﺘﺨﺪم
ھﻮ ﻧﻔﺴﮫ اﺳﻢ اﻟﺒﺎﺳﻮرد ،وﻗﺪ ﺣﺼﻞ ھﺬا اﻷﻣﺮ ﻣﻌﻲ ﻓﻲ اﻟﺠﺎﻣﻌﺔ ودﺧﻠﺖ إﻟﻰ اﻟﻨﻈﺎم ،ﻛﺎن اﺳﻢ
اﻟﻤﺴﺘﺨﺪم واﻟﺒﺎﺳﻮرد ﻋﺒﺎرة ﻋﻦ اﺳﻢ اﻟﺸﺮﻛﺔ اﻟﻤﺼﻨﻌﺔ ﻟﻠﺸﺎﺷﺔ ،ﻣﻜﻮﻧﮫ ﻣﻦ ﺛﻼث ﺣﺮوف ،ﻃﺒﻌﺎ ﺑﻌﺪ
اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﻤﺤﺎوﻻت اﻟﺒﺎﺋﺖ ﺑﺎﻟﻔﺸﻞ ،وﻟﻢ اﻧﺘﺒﮫ إﻟﻰ اﻧﮫ اﻟﺒﺎﺳﻮرد ﻣﻜﺘﻮب ﻓﻲ أﺳﻔﻞ اﻟﺸﺎﺷﺔ.
ﺣﺴﻨﺎ ،ﻓﻲ ﺣﺎل اﺳﻢ اﻟﻤﺴﺘﺨﺪم ﻟﻢ ﯾﻜﻦ ھﻮ اﻟﺒﺎﺳﻮرد ،ﻣﺎذا اﻓﻌﻞ ؟ ﻣﻊ اﻷﺧﺬ ﺑﺎﻻﻋﺘﺒﺎر إﻧﻲ اﻋﺮف
اﺳﻢ اﻟﻤﺴﺘﺨﺪم ،ﻻ ﺗﻮﺟﺪ ﻃﺮﯾﻘﮫ إﻻ ﺑﺎﻟﺘﺨﻤﯿﻦ ﺣﻮل اﻟﺒﺎﺳﻮرد ،اﺳﻢ اﻟﺰوﺟﺔ ،رﻗﻢ اﻟﮭﺎﺗﻒ ،ﺗﺎرﯾﺦ
اﻟﻤﯿﻼد ،اﺳﻢ اﻟﺤﺒﯿﺒﺔ ،ﻣﻤﻤﻤﻢ ﻣﺸﻜﻠﮫ أﻟﯿﺲ ﻛﺬﻟﻚ ! ﺑﺎﻟﻄﺒﻊ ﻻ ،ﻓﮭﻨﺎك اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺒﺮاﻣﺞ ﺗﻘﻮم
ﺑﻌﻤﻠﯿﺎت اﻟﺘﺨﻤﯿﻦ ﻧﯿﺎﺑﺔ ﻋﻨﻚ ، password crackerوﻓﻲ ﺣﺎﻟﮫ اﻟﺒﺎﺳﻮرد ﺿﻌﯿﻒ ،ﺳﻮف ﺗﺪﺧﻞ
إﻟﻰ اﻟﻨﻈﺎم ﻓﻲ ﺧﻼل دﻗﺎﺋﻖ .
ھﻨﺎك ﺑﺮﻧﺎﻣﺞ اﺳﻤﮫ l0phtCrackﯾﺴﺘﺨﺪم ﻣﻦ ﻗﺒﻞ ﻣﺪراء اﻻﻧﻈﻤﮫ ،وﻇﯿﻔﺘﮫ ﺗﻐﯿﯿﺮ اﻟﺒﺎﺳﻮدرات
اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ اﻟﺸﺒﻜﺔ ) ،ﺑﺎﻟﻄﺒﻊ ﻓﻲ ﺣﺎل اﻟﻤﺪﯾﺮ ﯾﺴﺘﻄﯿﻊ ذﻟﻚ ،اﻟﻜﺮاﻛﺮ ﯾﻔﻌﻠﮭﺎ أﯾﻀﺎ (
ﻧﻮع أﺧﺮ ﻣﻦ أﻧﻮاع اﻟﮭﺠﻮم ھﻮ ﺗﺠﺎوز ﻧﻈﺎم اﻟﺘﺸﻐﯿﻞ ،وھﻮ ﯾﺘﻄﻠﺐ ﺑﻌﺾ اﻟﺨﺒﺮة ﻓﻲ ھﺬا اﻟﻤﺠﺎل ،
ﻣﺜﻼ ، Data Recovery Attackوھﻨﺎ ﺳﻮف ﯾﻘﻮم ﺑﻘﺮاءة اﻟﮭﺎردﯾﺴﻚ ﺑﺖ ﺑﺖ وﺗﺠﻤﯿﻌﮭﺎ ﻟﺒﻨﺎء
اﻟﻤﻠﻒ اﻷﺻﻠﻲ ،وھﺬه اﻟﺒﺮاﻣﺞ اﻟﻐﺮض ﻣﻨﮭﺎ ﻟﯿﺲ ﻟﻠﮭﺠﻮم وﻟﻜﻦ اﻟﻜﺮاﻛﺮز ھﻢ اﻟﺬﯾﻦ اﺳﺘﻔﺎدوا ﻣﻨﮭﺎ
ﻓﺎﻏﻠﺐ ﺑﺮاﻣﺞ اﺳﺘﻌﺎده اﻟﺒﯿﺎﻧﺎت ﯾﺘﻢ اﺳﺘﺨﺪاﻣﮭﺎ ﻣﻦ ﻗﺒﻞ اﻟﻤﺨﺘﺼﯿﻦ ﻓﻲ اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ،ﻣﺜﻼ
ﺧﺮب ﻋﻠﯿﻚ اﻟﻨﻈﺎم System Crashأو ﺣﺪث Bad Sectorﻓﻲ اﻟﮭﺎدرﯾﺴﻚ اﻟﺨﺎص ﺑﻚ ،ﻛﻞ ﻣﺎ
ﻋﻠﯿﻚ )ﻓﻲ ﺣﺎل اﻧﻚ ﻣﺴﺘﺨﺪم( اﻟﺬھﺎب إﻟﻰ ﺧﺒﺮاء اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ،وھﻮ ﺳﻮف ﯾﺴﺘﺨﺪﻣﻮا ھﺬه
اﻟﺒﺮاﻣﺞ ﻻﺳﺘﻌﺎده ﺑﯿﺎﻧﺎﺗﻚ .ﻧﻔﺲ اﻷﻣﺮ ﺳﻮف ﯾﻘﻮم اﻟﻤﺨﺘﺮق ﺑﺎﺳﺘﺨﺪام ھﺬه اﻟﺒﺮاﻣﺞ ﻟﺘﺠﺎوز ﻧﻈﺎم
اﻟﺘﺸﻐﯿﻞ..
ﻧﻮع أﺧﺮ ﻣﻦ اﻟﮭﺠﻮم وھﻮ اﻟﮭﺠﻮم ﻋﻠﻰ اﻟﺬاﻛﺮة ، Memory Reconstruction Attackﻓﻲ
اﻟﺒﺪاﯾﺔ ﻋﻨﺪﻣﺎ ﻧﺘﻌﺎﻣﻞ ﻣﻊ ﺑﺮﻧﺎﻣﺞ ﻣﺎ ﺑﺎﻟﻄﺒﻊ ﺳﻮف ﺗﻜﻮن ﺟﻤﯿﻊ اﻟﺘﻌﻠﻤﯿﺎت ﻣﻮﺟﻮدة ﻓﻲ اﻟﺬاﻛﺮة ،
وﺳﻮف ﺗﻜﻮن ھﻨﺎك اﺷﺎره ﻓﻲ اﻟﻤﻮﻗﻊ اﻟﻤﺤﻔﻮظ ﻓﯿﮭﺎ ﺗﻌﻠﯿﻤﺎت اﻟﺒﺮﻧﺎﻣﺞ ،وﻋﻨﺪﻣﺎ ﻧﻨﺘﮭﻲ ﻣﻦ
اﻟﺒﺮﻧﺎﻣﺞ وﻧﻘﻮم ﺑﺈﻏﻼﻗﮫ ،ﻓﺴﻮف ﯾﻘﻮم ﻣﺪﯾﺮ اﻟﺬاﻛﺮة ﻓﻲ اﻟﻨﻈﺎم ﺑﺤﺬف ھﺬه اﻻﺷﺎره دون ﺣﺬف
اﻟﻤﺤﺘﻮى اﻟﺤﻘﯿﻘﻲ ﻟﮭﺎ ،ﺑﺎﻟﻄﺒﻊ ﻣﻦ اﻟﻤﻤﻜﻦ أن ﯾﺄﺗﻲ أي ﺑﺮﻧﺎﻣﺞ أﺧﺮ وﯾﺤﻞ ﻓﻲ ﻧﻔﺲ اﻟﻤﻮﻗﻊ وﯾﺤﺬف
ﺗﻠﻚ اﻟﺒﯿﺎﻧﺎت ،وﻣﻦ اﻟﻤﻤﻜﻦ أن ﺗﻜﻮن ﻣﻮﺟﻮدة ..ھﺠﻮم اﻟﺬاﻛﺮة ﯾﻘﻮم ﺑﻌﻤﻞ ﻣﺴﺢ ﻟﻠﺬاﻛﺮة وﻛﺘﺎﺑﮫ ﺗﻠﻚ
اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ ﻻ ﺗﻮﺟﺪ ﻋﻠﯿﮭﺎ اﺷﺎره ) ،ﻻ اﻋﻠﻢ ﻛﻢ ﯾﺘﻢ ﺗﻄﺒﯿﻖ ھﺬا اﻟﮭﺠﻮم ﻋﻠﻰ ارض اﻟﻮاﻗﻊ( .
ﻣﺸﻜﻠﮫ أﺧﺮى ،وھﻲ اﻟﺬاﻛﺮة اﻟﻈﺎھﺮﯾﺔ ،اﻏﻠﺐ اﻧﻈﻤﮫ اﻟﺘﺸﻐﯿﻞ ﺗﺤﺘﻮي ﻋﻠﻰ Virtual Memory
86
PDF created with pdfFactory Pro trial version www.pdffactory.com
وھﻨﺎ ﯾﺘﻢ اﺳﺘﺨﺪام اﻟﮭﺎدرﯾﺴﻚ ﻛﺬاﻛﺮه ،وﻣﺒﺪأ ﻋﻤﻠﮭﺎ ﻓﻲ ﺣﺎﻟﮫ اﻣﺘﻸت اﻟﺬاﻛﺮة ﯾﺘﻢ إﻓﺮاغ ﺑﻌﺾ ﻣﻦ
ﻣﺤﺘﻮﯾﺎﺗﮭﺎ اﻟﺘﻲ ﻟﻢ ﺗﺴﺘﺨﺪم ﻣﻦ وﻗﺖ ﻃﻮﯾﻞ إﻟﻰ اﻟﮭﺎدرﯾﺴﻚ ﻓﻲ ﻣﻜﺎن ﻣﻌﯿﻦ ،ﺑﻌﺪھﺎ ﻓﻲ ﺣﺎل ﻃﻠﺒﺖ
ﺗﻠﻚ اﻟﻤﻮاﻗﻊ )اﻟﺘﻲ أﺻﺒﺤﺖ ﻣﻮﺟﻮدة ﻓﻲ اﻟﮭﺎردﯾﺴﻚ( ﺳﻮف ﯾﻘﻮم ﻧﻈﺎم اﻟﺬاﻛﺮة ﺑﻌﻤﻞ ﺗﺒﺪﯾﻞ Swap
ﺑﯿﻦ اﻟﻤﺤﺘﻮﯾﺎت ،ﻋﻠﻰ اﻟﻌﻤﻮم ﻓﻲ ﻋﺎم 1999ﻗﺎم اﺣﺪھﻢ ﺑﻜﺘﺎﺑﮫ ﺑﺮﻧﺎﻣﺞ ﻟﻤﺴﺢ ھﺬا اﻟﻤﻜﺎن اﻟﺘﻲ
ﺗﺤﻔﻆ ﻓﯿﮫ اﻟﺬاﻛﺮة وﺗﻤﻜﻦ ﻣﻦ إﯾﺠﺎد اﻟﺒﺎﺳﻮرد اﻟﺨﺎص ﺑﮫ ﻓﻲ اﺣﺪ اﻟﺒﺮاﻣﺞ.
ﻛﻞ ﻃﺮق اﻟﮭﺠﻮم اﻟﺴﺎﺑﻘﺔ ،دﻟﯿﻞ ﻋﻠﻰ أﻧﻚ وﺣﺘﻰ "ﺑﻨﻈﺎم ﺗﺸﻐﯿﻠﻚ اﻟﺨﺎرق" ﻗﺪ ﺗﻜﻮن ﺑﯿﺎﻧﺎت وﻣﻠﻔﺎﺗﻚ
ﻓﻲ ﺧﻄﺮ ،ﻟﺬﻟﻚ ﻻ ﺑﺪ ﻣﻦ اﺿﺎﻓﮫ اﻟﺤﻤﺎﯾﺔ ﺑﻮاﺳﻄﺔ اﻟﺘﺸﻔﯿﺮ و ﻋﺪم اﻻﻋﺘﻤﺎد ﻋﻠﻰ ﺗﻠﻚ اﻟﺤﻤﺎﯾﺔ
اﻟﻤﻘﺪﻣﺔ ﻣﻦ ﻧﻈﺎم اﻟﺘﺸﻐﯿﻞ واﻻﻓﺘﺮاض ﺑﺄن اﻟﻤﺨﺘﺮق ﯾﻌﺮف أﺳﺎﻟﯿﺐ اﻟﺘﺮاوغ واﻻﺧﺘﺮاق ،
واﻟﺘﺸﻔﯿﺮ ھﻮ ﺑﺒﺴﺎﻃﮫ ﺗﺤﻮﯾﻞ اﻟﻨﺼﻮص اﻟﻤﻔﮭﻮﻣﺔ ﻏﻠﻰ ﻛﻼم ﻏﯿﺮ ﻣﻔﮭﻮم ، gibberish
وﺣﺘﻰ ﻟﻮ اﺳﺘﻄﺎع اﻟﻤﺨﺘﺮق ﺑﺎﻟﻮﺻﻮل إﻟﻰ ﻧﻈﺎﻣﻚ وﻛﺴﺮه ،ﺳﻮف ﯾﺸﺎھﺪ ﻣﻠﻔﻚ ﺑﺎﻟﺼﻮرة اﻟﺴﺎﺑﻘﺔ ،
وﻟﻦ ﯾﺤﺼﻞ ﻋﻠﻰ ﺷﻲء ﻣﻔﯿﺪ أﺑﺪا .
*اﻟﺘﺤﻘﻖ Authentication
اﻟﺘﺤﻘﻖ ﻣﻦ اﻟﺸﺨﺺ اﻟﻔﻼﻧﻲ ھﻮ اﻟﺸﺨﺺ اﻟﺬي ﺗﺮﯾﺪه ﻟﻘﺮاﺋﮫ اﻟﺮﺳﺎﻟﺔ ،
ﻧﺬﻛﺮ ﻣﺮه أﺧﺮى أن اﻟﺘﺸﻔﯿﺮ ھﻮ ﻋﺒﺎرة ﻋﻦ ﺗﺤﻮﯾﻞ اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﻔﮭﻮﻣﺔ إﻟﻰ ﻣﻌﻠﻮﻣﺎت ﻏﯿﺮ
ﻣﻔﮭﻮﻣﮫ ، Gibberishواﻟﻌﻤﻠﯿﺔ اﻟﻌﻜﺴﯿﺔ ﻓﻚ اﻟﺘﺸﻔﯿﺮ ،ھﻲ ﻋﻤﻠﯿﮫ ﺗﺤﻮﯾﻞ اﻟﻤﻌﻠﻮﻣﺎت اﻟﻐﯿﺮ ﻣﻔﮭﻮﻣﮫ
إﻟﻰ ﻣﻌﻠﻮﻣﺎت ﻣﻔﮭﻮﻣﮫ .
اﻟﻨﻮع اﻷول ﻣﻦ أﻧﻮاع اﻟﺘﺸﻔﯿﺮ ھﻮ :اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ،وھﻨﺎ ﺳﻮف ﻧﺴﺘﺨﺪم ﻣﻔﺘﺎح ﻣﻊ
ﺧﻮارزﻣﯿﺔ )ھﻨﺎك اﻟﻜﺜﯿﺮ( ﻟﺘﺸﻔﯿﺮ اﻟﻤﻌﻠﻮﻣﺎت ،وﺳﻮف ﻧﺴﺘﺨﺪم ﻧﻔﺲ اﻟﻤﻔﺘﺎح وﻧﻔﺲ اﻟﺨﻮارزﻣﯿﺔ
ﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ) .ﻻﺣﻆ ﯾﺠﺐ أن ﺗﻜﻮن ﻧﻔﺲ اﻟﻤﻔﺘﺎح وﻧﻔﺲ اﻟﺨﻮارزﻣﯿﺔ ،وﻣﻦ ھﻨﺎ ﺟﺎء اﻻﺳﻢ
"ﻣﺘﻨﺎﻇﺮ" ( .
87
PDF created with pdfFactory Pro trial version www.pdffactory.com
وﻟﻨﻀﺮب ﻣﺜﺎل ﺑﺴﯿﻂ ﯾﻮﺿﺢ اﻟﻌﻤﻠﯿﺔ :
اﻷخ ﻣﺤﻤﺪ ھﻮ ﻣﻨﺪوب ﻣﺒﯿﻌﺎت ﻓﻲ اﺣﺪ اﻟﺸﺮﻛﺎت اﻟﻜﺒﺮى ،وﻗﺪ وﺻﻠﺘﮫ رﺳﺎﻟﺔ ﻣﻦ ﻣﺪﯾﺮ ﻗﺴﻢ
اﻟﻤﺒﯿﻌﺎت اﻷخ ﻋﻠﻲ ،ھﺬه اﻟﺮﺳﺎﻟﺔ ﺗﺤﺘﻮي ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎت ﺳﺮﯾﮫ ﺟﺪا ﺧﺎﺻﺔ ﺑﺎﻷﺳﻌﺎر اﻟﺠﺪﯾﺪة
ﻟﻠﻤﻨﺘﺠﺎت وﺑﻌﺾ اﻷﻣﻮر اﻟﺨﺎﺻﺔ ﻓﻲ اﻟﺸﺮﻛﺔ .
اﻵن ﻗﺮر أﺧﻮﻧﺎ ﻣﺤﻤﺪ ھﻮ واﻟﻤﺪﯾﺮ ﻋﻠﻲ اﻟﺤﻔﺎظ ﻋﻠﻰ ھﺬه اﻟﺮﺳﺎﻟﺔ اﻟﺴﺮﯾﺔ ﻟﺪﯾﮭﻤﺎ ﻓﻘﻂ ،ﻓﻤﺎ ھﻮ
اﻟﺴﺒﯿﻞ ﻟﺬﻟﻚ ؟ ﻗﺪ ﯾﺴﺘﻄﯿﻊ اﻷخ ﻣﺤﻤﺪ ﺣﻔﻆ اﻟﺮﺳﺎﻟﺔ ﻟﺪﯾﮫ ﻓﻲ اﻟﻤﻜﺘﺐ ﻓﻲ اﻟﺪرج )ﻟﻜﻨﮫ ﯾﺨﺎف ﻣﻦ أن
ﺗﺴﺮق ﻣﻦ اﻟﺪرج( ،أو رﺑﻤﺎ ﯾﺤﻔﻆ ﺗﻠﻚ اﻟﺮﺳﺎﻟﺔ ﻓﻲ رأﺳﮫ ) ﻟﻜﻦ ﻟﻸﺳﻒ اﻟﺮﺳﺎﻟﺔ ﻃﻮﯾﻠﺔ ﺟﺪا( ،
وھﻮ ﯾﺤﺘﺎج إﻟﯿﮭﺎ ﻓﻲ ﻋﻤﻠﯿﮫ اﻟﺒﯿﻊ ﻻن ﺑﮭﺎ أﺳﻌﺎر اﻟﻤﻨﺘﺠﺎت ) ...ﻟﺬﻟﻚ ﯾﺠﺐ أن ﯾﺤﻤﻠﮭﺎ ﻣﻌﮫ( .
ﻗﺪ ﯾﻘﻮم اﻷخ ﻣﺤﻤﺪ ﺑﺤﻔﻆ ھﺬه اﻟﺮﺳﺎﻟﺔ ﻓﻲ ﺟﮭﺎزه اﻟﻤﺤﻤﻮل واﻟﻘﯿﺎم ﺑﻮﺿﻊ ﺑﺎﺳﻮرد ﻋﻠﻰ اﻟﻨﻈﺎم
وﺑﻌﺾ اﻟﺼﻼﺣﯿﺎت ،ﻟﻜﻦ رأﯾﻨﺎ ﻗﺒﻞ ﻗﻠﯿﻞ أن ھﺬه اﻟﻄﺮﯾﻘﮫ ﻏﯿﺮ ﻛﺎﻓﯿﮫ ،ﻗﺪ ﯾﻀﯿﻊ اﻟﺠﮭﺎز اﻟﻤﺤﻤﻮل
أو ﻗﺪ ﯾﺴﺮق ﻣﻨﮫ وﺑﻌﺪھﺎ ﺗﻨﻜﺸﻒ ﻛﻞ اﻟﻤﻌﻠﻮﻣﺎت وﺗﻀﯿﻊ اﻟﺸﺮﻛﺔ .
أﺧﯿﺮا ﻗﺮر أﺧﻮﻧﺎ ﻣﺤﻤﺪ ﺗﺸﻔﯿﺮ ﺗﻠﻚ اﻟﺮﺳﺎﻟﺔ ،وﺑﻤﺎ اﻧﮫ ﻻ ﯾﻌﺮف أي ﺷﯿﺌﺎ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﻗﺎم ﺑﺸﺮاء
ﺑﺮﻧﺎﻣﺞ ﻣﻦ اﻷخ romansyﯾﻘﻮم ﺑﺘﺸﻔﯿﺮ اﻟﺮﺳﺎﻟﺔ ،ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﺑﺴﯿﻂ ﻓﻲ ﻋﻤﻠﮫ User-
friendlyوﯾﺤﺘﻮي ﻋﻠﻰ ﺛﻼﺛﺔ أزرار واﺣﺪ ﻟﻠﺘﺸﻔﯿﺮ ،و واﺣﺪ ﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،و واﺣﺪ ﻟﺘﺤﻤﯿﻞ
اﻟﻤﻠﻒ ﻣﻦ اﻟﺠﮭﺎز ،وﺑﻜﻞ ﺑﺴﺎﻃﮫ ﻟﻜﻲ ﯾﻌﻤﻞ ﯾﻘﻮم ﻣﺤﻤﺪ ﺑﺘﺤﻤﯿﻞ اﻟﻤﻠﻒ )اﻟﺮﺳﺎﻟﺔ( ،واﻟﻀﻐﻂ ﻋﻠﻰ
زر اﻟﺘﺸﻔﯿﺮ Encryptionوﺑﻌﺪھﺎ ﺗﺘﺤﻮل اﻟﺮﺳﺎﻟﺔ إﻟﻰ ﻛﻼم ﻏﯿﺮ ﻣﻔﮭﻮم )ﻣﺸﻔﺮ( ،وﻓﻲ ﺣﺎل
ﺣﺼﻞ اﻟﻤﺨﺘﺮق ﻋﻠﻰ ﺗﻠﻚ اﻟﺮﺳﺎﻟﺔ اﻟﻨﺎﺗﺠﮫ ﻓﺒﺎﻟﺘﺄﻛﯿﺪ ﻟﻦ ﯾﻔﮭﻢ ﺷﻲء..
اﻵن اذا أراد أﺧﻮﻧﺎ ﻣﺤﻤﺪ ﻓﻚ اﻟﺘﺸﻔﯿﺮ )اﻟﻌﻤﻠﯿﺔ اﻟﻌﻜﺴﯿﺔ( ﻛﻞ ﻣﺎ ﻋﻠﯿﮫ ھﻮ ﺗﺤﻤﯿﻞ اﻟﺮﺳﺎﻟﺔ اﻟﻤﺸﻔﺮة
وﺑﻌﺪھﺎ اﻟﻀﻐﻂ ﻋﻠﻰ زر ﻓﻚ اﻟﺘﺸﻔﯿﺮ ،وﺗﺮﺟﻊ اﻟﺮﺳﺎﻟﺔ إﻟﻰ ﺣﺎﻟﺘﮭﺎ اﻻﺻﻠﯿﮫ..
88
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻟﻤﺸﻜﻠﺔ اﻟﺤﻘﯿﻘﺔ ھﻨﺎ ،ﻓﻲ ﺣﺎل ﺣﺼﻞ اﻟﻤﺨﺘﺮق ﻋﻠﻰ ﺑﺮﻧﺎﻣﺞ اﻟﺘﺸﻔﯿﺮ ھﺬا اﻟﺨﺎص ﺑﺎﻷخ
Romansyھﻨﺎ ﻛﻞ ﻣﺎ ﻋﻠﻰ اﻟﻤﺨﺘﺮق ﺗﺤﻤﯿﻞ اﻟﻤﻠﻒ اﻟﻤﺸﻔﺮ وﺿﻐﻂ زر ﻓﻚ اﻟﺘﺸﻔﯿﺮ وﺑﻌﺪھﺎ
ﯾﺤﺼﻞ ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ !! ﻣﻦ اﻟﻤﻤﻜﻦ أن ﺗﻘﻮل "ﻛﯿﻒ ﯾﺴﺘﻄﯿﻊ اﻟﺤﺼﻮل ﻋﻠﻰ ﺑﺮﻧﺎﻣﺞ اﻟﺘﺸﻔﯿﺮ" ،
اﻟﺠ ﻮاب ﺑﺎﻟﺘﺄﻛﯿﺪ ھﻮ ﺳﯿﺤﺼﻞ ﻋﻠﯿﮫ ،اذا ﻛﻨﺖ ﺗﺴﺘﻄﯿﻊ إﺧﻔﺎء ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﻓﻠﻤﺎذا ﻻ ﺗﺨﻔﻰ اﻟﺮﺳﺎﻟﺔ
ﻣﻦ اﻷﺻﻞ ،وﻻ ﺗﺤﺘﺎج ﻟﺒﺮﻧﺎﻣﺞ ﻟﺒﺮﻧﺎﻣﺞ اﻷخ Romansyوﻻ أﺻﻼ ﻟﻠﺘﺸﻔﯿﺮ ﻛﻜﻞ .
ﺑﺎﻟﺘﺄﻛﯿﺪ أﺧﻮﻧﺎ ﻣﺤﻤﺪ ﻻ ﯾﺴﺘﻄﯿﻊ إﺧﻔﺎء ھﺬا اﻟﻤﻠﻒ ،اذا ﻣﺎ اﻟﻌﻤﻞ اذا ؟؟ ﻣﻤﻤﻤﻢ ﺑﺎﻟﺘﺄﻛﯿﺪ ھﻮ ﯾﺤﺘﺎج
إﻟﻰ ﺷﻲء إﺿﺎﻓﻲ ،أﻻ وھﻮ اﻟﻤﻔﺘﺎح اﻟﺴﺮي . Secret Key
ﻗﺎم اﻷخ ﻣﺤﻤﺪ ﺑﺈﺑﻼغ romansyوﻗﺪ ﺗﻢ اﺿﺎﻓﮫ ﺧﺎﺻﯿﺔ إدﺧﺎل اﻟﻤﻔﺘﺎح ،اﻵن اﻟﺒﺮﻧﺎﻣﺞ ﻟﻜﻲ ﯾﻌﻤﻞ
ﯾﺠﺐ أن ﯾﻘﻮم اﻷخ ﻣﺤﻤﺪ ﺑﺘﺤﻤﯿﻞ اﻟﻤﻠﻒ )اﻟﺮﺳﺎﻟﺔ( إﻟﻰ اﻟﺒﺮﻧﺎﻣﺞ ،وﯾﺪﺧﻞ اﻟﻤﻔﺘﺎح ﺳﺮي )إي رﻗﻢ
ﯾﺤﻔﻈﮫ ﺗﻤﺎﻣﺎ( ﺑﻌﺪھﺎ ﯾﻀﻐﻂ ﻋﻠﻰ زر اﻟﺘﺸﻔﯿﺮ ،واﻟﻨﺎﺗﺞ ھﻮ اﻟﻤﻠﻒ اﻟﻤﺸﻔﺮ )اﻟﻐﯿﺮ ﻣﻔﮭﻮم(.
ﻓﻲ ﺣﺎل أراد اﻷخ ﻣﺤﻤﺪ ﺑﺎﻟﻘﯿﺎم ﺑﺎﻟﻌﻤﻠﯿﺔ اﻟﻌﻜﺴﯿﺔ ،ﻛﻞ ﻣﺎ ﻋﻠﯿﮫ ﺗﺤﻤﯿﻞ اﻟﻤﻠﻒ اﻟﻤﺸﻔﺮ إﻟﻰ اﻟﺒﺮﻧﺎﻣﺞ
،وإدﺧﺎل اﻟﺮﻗﻢ اﻟﺴﺮي اﻟﺬي اﺳﺘﺨﺪﻣﮫ ﻟﻠﺘﺸﻔﯿﺮ ،واﻟﻀﻐﻂ ﻋﻠﻰ زر ﻓﻚ اﻟﺘﺸﻔﯿﺮ ،واﻟﻨﺎﺗﺞ ھﻮ
اﻟﻤﻠﻒ اﻷﺻﻠﻲ )أو اﻟﺮﺳﺎﻟﺔ ( .
اﻵن ﻓﻲ ﺣﺎل أﺧﻮﻧﺎ اﻟﻤﺨﺘﺮق ﺣﺼﻞ ﻋﻠﻰ اﻟﺒﺮﻧﺎﻣﺞ واﻟﺮﺳﺎﻟﺔ اﻟﻤﺸﻔﺮة وأراد اﻟﻘﯿﺎم ﺑﺎﻟﻌﻤﻠﯿﺔ اﻟﻌﻜﺴﯿﺔ
،ھﻮ ﻟﻶﺳﻒ ﻻ ﯾﻤﻠﻚ اﻟﻤﻔﺘﺎح اﻟﺴﺮي ،وﺳﻮف ﯾﻜﺘﺐ وﯾﺨﻤﻦ ووو وﻓﻲ ﻛﻞ ﻣﺮه ﯾﻜﺘﺐ ﻣﻔﺘﺎح ﺳﺮي
ﺧﺎﻃﺊ ﺳﻮف ﯾﻜﻮن ھﻨﺎك ﻧﺎﺗﺞ ﻏﯿﺮ ﻣﻔﮭﻮم .
89
PDF created with pdfFactory Pro trial version www.pdffactory.com
وھﻜﺬا ،أي اﺣﺪ ﻟﻦ ﯾﺴﺘﻄﯿﻊ اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ اﻻﺻﻠﯿﮫ إﻻ ﺑﻌﺪ ﻛﺘﺎﺑﮫ اﻟﻤﻔﺘﺎح اﻟﺴﺮي ،وإذا
ادﺧﻞ اﻟﻤﻔﺘﺎح اﻟﺨﺎﻃﺊ ﺳﻮف ﯾﻜﻮن اﻟﻨﺎﺗﺞ ﻏﯿﺮ ﻣﻔﮭﻮم ،وﺣﺘﻰ ﻟﻮ ﻛﺎن ھﺬا اﻟﻤﻔﺘﺎح اﻟﺨﺎﻃﺊ اﻗﻞ ﻣﻦ
اﻟﻤﻔﺘﺎح اﻟﺴﺮي ﺑﺮﻗﻢ واﺣﺪ .
ﻃﺮﯾﻘﮫ اﻟﺘﺸﻔﯿﺮ اﻟﺴﺎﺑﻘﺔ اﻟﺘﻲ اﺳﺘﺨﺪﻣﻨﺎھﺎ ﺗﺴﻤﻰ )اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ أو اﻟﻤﺘﻤﺎﺛﻞ
(Symmetric key Cryptographyواﻟﺒﻌﺾ ﯾﺴﻤﯿﮭﺎ Secret key Cryptography
،أﯾﻀﺎ اﺳﻢ )اﻟﺘﺸﻔﯿﺮ اﻟﺘﻘﻠﯿﺪي ، ( Conventional Encryptionﻟﻜﻦ ﻧﺤﻦ ﻧﺄﺧﺬ اﻟﻤﺼﻄﻠﺢ
اﻷول .
ﺑﺎﻟﻨﺴﺒﺔ إﻟﻰ ﻋﻠﻢ اﻟﺘﺸﻔﯿﺮ ھﻨﺎك اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻤﺼﻄﻠﺤﺎت ﻟﮭﺎ ﻧﻔﺲ اﻟﻤﻌﻨﻰ ،ﻋﻠﻰ اﻟﻌﻤﻮم ﺳﺄﺣﺎول
وﺿﻊ اﻷﻏﻠﺐ واﻷﺷﮭﺮ ھﻨﺎ .
ﻓﻲ ﺣﺎل أردت أن ﺗﺤﻮل اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﻔﮭﻮﻣﺔ إﻟﻰ ﻏﯿﺮ ﻣﻔﮭﻮﻣﮫ ﺗﺴﻤﻰ اﻟﻌﻤﻠﯿﺔ ﺗﺸﻔﯿﺮ
Encryption
ﻓﻲ ﺣﺎل أردت أن ﺗﺤﻮل اﻟﻤﻌﻠﻮﻣﺎت اﻟﻐﯿﺮ ﻣﻔﮭﻮﻣﮫ إﻟﻰ ﻣﻔﮭﻮﻣﮫ ﺗﺴﻤﻰ اﻟﻌﻤﻠﯿﺔ ﻓﻚ اﻟﺘﺸﻔﯿﺮ
Decryption
90
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻟﺒﯿﺎﻧﺎت )أو اﻟﺮﺳﺎﻟﺔ( اﻟﺘﻲ ﻧﺮﯾﺪ إﺟﺮاء ﻋﻤﻠﯿﮫ اﻟﺘﺸﻔﯿﺮ ﻋﻠﯿﮭﺎ ﺗﺴﻤﻰ )اﻟﻨﺺ اﻟﻮاﺿﺢ plain text
أو اﻟﻨﺺ اﻷﺻﻠﻲ .( clear text
اﻟﺒﯿﺎﻧﺎت ﺑﻌﺪ اﻟﺘﺸﻔﯿﺮ ﺗﺴﻤﻰ )اﻟﻨﺺ اﻟﻤﺸﻔﺮ . ( cipher text
اﻟﺨﻮارزﻣﯿﺔ ھﻲ اﻟﺘﻲ ﺗﻘﻮم ﺑﺎﻟﺘﺸﻔﯿﺮ ،وﺗﺤﺘﺎج إﻟﻰ ﻣﻔﺘﺎح ، Keyﻗﺪ ﯾﻜﻮن رﻗﻢ أو ﻣﻜﻮن ﻣﻦ ﻋﺪه
أرﻗﺎم.
ﻟﺪﯾﻨﺎ أﯾﻀﺎ ﺻﺪﯾﻘﻨﺎ اﻟﻤﺨﺘﺮق ، attackerوھﻮ اﻟﺬي ﻧﺨﺎف ﻣﻨﮫ ،وﻧﺸﻔﺮ ﺣﺘﻰ ﻻ ﯾﻄﻠﻊ ﻋﻠﯿﮭﺎ ،
وھﺪﻓﮫ ھﻮ اﻟﺘﺨﺮﯾﺐ أو اﻟﺴﺮﻗﺔ أو اﻟﺘﻼﻋﺐ ﺑﻤﺸﺎﻋﺮﻧﺎ . J
اﻟﻌﻠﻢ اﻟﺬي ﯾﺴﺘﺨﺪم ﻟﻜﺴﺮ اﻟﺨﻮارزﻣﯿﺎت وإﯾﺠﺎد ﻧﻘﻂ اﻟﻀﻌﻒ ﺑﮭﺎ ﯾﺴﻤﻰ Cryptanalysis
واﻟﺸﺨﺺ اﻟﺬي ﯾﻘﻮم ﺑﮭﺬا اﻟﻌﻠﻢ ﯾﺴﻤﻰ ) cryptanalystﯾﻜﻤﻦ ﺗﺴﻤﯿﺘﮫ ﻛﺎﺳﺮ اﻟﺸﻔﺮه ( .
ﻛﻞ اﻟﺨﻮارزﻣﯿﺎت ﯾﻤﻜﻦ أن ﺗﻜﺴﺮ وﺗﺨﺘﺮق ،ﻟﻜﻦ اﻟﺸﻲء اﻟﺠﯿﺪ ھﻮ اﻧﮫ اذا ﻛﺎﻧﺖ اﻟﺨﻮارزﻣﯿﺔ ﻗﻮﯾﮫ
،ﻗﺪ ﯾﺄﺧﺬ وﻗﺖ اﻟﻜﺴﺮ وﻗﺘﺎ ﻃﻮﯾﻼ ﺟﺪا ،ﻋﻨﺪھﺎ ﺗﻜﻮن اﻟﻨﺘﯿﺠﺔ . too lateﻟﺬﻟﻚ اﻟـ
cryptanalystﯾﻘﻮﻣﻮا ﺑﺈﯾﺠﺎد ﻧﻘﺎط اﻟﻀﻌﻒ اﻟﺘﻲ ﺗﺴﺎﻋﺪ أي ﺷﺨﺺ ﺑﺎﺧﺘﺮاق ﺗﻠﻚ اﻟﺨﻮارزﻣﯿﺎت
ﻓﻲ أﺳﺮع وﻗﺖ !! واﻟﻤﺨﺘﺮق ﺑﺎﻟﺘﺄﻛﯿﺪ ﯾﻘﻮم ﺑﺎﺳﺘﺨﺪام اﻟﻨﺘﺎﺋﺞ اﻟﺨﺎﺻﺔ ﺑﺎﻟـ cryptanalystوأﯾﻀﺎ
ﻟﺪﯾﮫ اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﻄﺮق واﻷدوات اﻟﺨﺎﺻﺔ.
اذا اﻟﻨﺘﯿﺠﺔ ھﻲ أن اﻟـ cryptographerھﻮ اﻟﺬي ﯾﻄﻮر اﻧﻈﻤﮫ اﻟﺘﺸﻔﯿﺮ ،اﻟـ cryptanalystﯾﻘﻮم
ﺑﺈﯾﺠﺎد ﻧﻘﺎط اﻟﻀﻌﻒ ﻓﯿﮭﺎ وھﻲ ﺧﺪﻣﮫ ﻋﻈﯿﻤﺔ ﻟﻠﻤﺸﻔﺮﯾﻦ ،ﺣﯿﺚ أﻧﮭﻢ ﯾﻜﺘﺸﻔﻮا اﻟﺜﻐﺮات وﯾﻘﻮﻣﻮا
ﺑﻨﺸﺮھﺎ ﻟﻠﺠﻤﯿﻊ ،ﺑﻌﻜﺲ اﻟﻤﺨﺘﺮق اﻟﺬي ﯾﻜﺸﻒ اﻟﺜﻐﺮة وﯾﺤﺘﻔﻆ ﺑﮭﺎ ﻟﻨﻔﺴﮫ ﻷﺟﻞ اﻻﺧﺘﺮاق.
ﻓﻲ اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ Symmetricاﻟﻤﻔﺘﺎح اﻟﺬي ﯾﺴﺘﺨﺪم ﻟﻠﺘﺸﻔﯿﺮ ھﻮ ﻧﻔﺴﮫ اﻟﺬي ﯾﺴﺘﺨﺪم
ﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،وﻣﻦ ھﻨﺎ ﺟﺎءت ﻛﻠﻤﮫ اﻟﻤﺘﻨﺎﻇﺮ)أو اﻟﻤﺘﻤﺎﺛﻞ( ،ﯾﻌﻨﻲ ھﻮ ﻧﻔﺴﮫ ﻣﻦ اﻟﻄﺮﻓﯿﻦ ،
اﻟﺼﻮره اﻟﺘﺎﻟﯿﺔ ﺗﻮﺿﺢ اﻟﻌﻤﻠﯿﺔ :
91
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻻﺣﻆ اﻧﮫ ﻓﻲ ﺣﺎﻟﮫ ﺷﻔﺮت اﻟﺮﺳﺎﻟﺔ ﺑﺨﻮارزﻣﯿﺔ ﻣﻌﯿﻨﮫ )ﻣﺜﻼ ( DESوﻣﻔﺘﺎح ﻣﻌﯿﻦ )ﻣﺜﻼ ، (10
اﻵن ﻓﻲ ﺣﺎﻟﮫ ﻓﻚ اﻟﺘﺸﻔﯿﺮ ﯾﺠﺐ أن اﺳﺘﺨﺪم ﻧﻔﺲ اﻟﺨﻮارزﻣﯿﺔ وﻧﻔﺲ اﻟﻤﻔﺘﺎح واﻻ ﻓﻠﻦ اﺣﺼﻞ ﻋﻠﻰ
اﻟﻨﺺ اﻷﺻﻠﻲ.
ﻗﺪ ﯾﺴﺄل أﺣﺪﻛﻢ ﺳﺆال "ﺣﺴﻨﺎ ،ﻟﻤﺎذا ﻻ اﺧﺘﺮع ﺧﻮارزﻣﯿﺔ وأﺑﻘﯿﮭﺎ ﺳﺮﯾﮫ ﻋﻦ اﻟﺠﻤﯿﻊ وﺑﮭﺬا ﻻ
ﯾﻌﺮﻓﮭﺎ اﻟﻤﺨﺘﺮق وﺑﺎﻟﺘﺎﻟﻲ ﻻ اﺣﺘﺎج إﻟﻰ ﻣﻔﺘﺎح" ؟؟
ﺳﺆال ﺟﯿﺪ ،وﻟﻜﻦ ﻟﮫ ﻋﺪه ﻣﺸﺎﻛﻞ ،أوﻻ ﻻن اﻟﻤﺨﺘﺮﻗﯿﻦ داﺋﻤﺎ ﯾﻜﺴﺮوا وﯾﺨﺘﺮﻗﻮا اﻟﺨﻮارزﻣﯿﺔ
)ﺳﻨﺸﺎھﺪ ﺑﻌﺪ ﻗﻠﯿﻞ ﺑﻌﻀﺎ ﻣﻦ اﻻﻣﺜﻠﮫ اﻟﻮاﻗﻌﯿﺔ( ،ﺛﺎﻧﯿﺎ ،ﻓﻲ ﺣﺎل اﻧﻚ ﻟﻢ ﺗﻜﻦ ﺧﺒﯿﺮ ﻓﻲ اﻟﺘﺸﻔﯿﺮ وﻻ
ﺗﺴﺘﻄﯿﻊ ﺗﻄﻮﯾﺮ ﺧﻮارزﻣﯿﺔ ﺧﺎﺻﺔ ﺑﻚ )ﻣﺜﻞ أﺧﻮﻧﺎ ﻣﺤﻤﺪ( ﯾﺠﺐ ﻓﻲ ﺗﻠﻚ اﻟﺤﺎﻟﺔ أن ﺗﺜﻖ ﺑﺎﻟﺸﺮﻛﺔ
اﻟﻤﻨﺘﺠﺔ ﻟﻠﺒﺮﻧﺎﻣﺞ )اﻟﺨﻮارزﻣﯿﺔ( اﻟﺬي ﺗﺴﺘﺨﺪﻣﮫ )ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﯾﺠﺐ أن ﺗﺜﻖ ب ( Romansy؟
ھﻞ ﯾﺴﺘﻄﯿﻊ أﺣﺪﻛﻢ أن ﯾﻤﻨﺢ ﺷﺮﻛﮫ ﻣﺎ ﻛﻞ ھﺬه اﻟﺜﻘﺔ ،ﺑﺎﻟﻄﺒﻊ ﻻ .
وھﻨﺎ ﯾﺄﺗﻲ اﻟﺴﺆال اﻟﺤﻘﯿﻘﻲ ،ﻣﻦ ﺗﺜﻖ ﺑﺤﻔﻆ أﺳﺮارك ،ﺧﻮازرﻣﯿﮫ ﯾﺠﺐ أن ﺗﻜﻮن ﺳﺮﯾﮫ ﻣﻦ
اﻟﺠﻤﯿﻊ ،أم اﻟﺨﻮارزﻣﯿﺔ اﻟﺘﻲ ﺗﺆدي ﻋﻤﻠﮭﺎ ﺑﺸﻜﻞ ﺟﯿﺪ وﺣﺘﻰ ﻟﻮ ﻋﺮﻓﮭﺎ اﻟﺠﻤﯿﻊ ،وھﻨﺎ ﯾﺄﺗﻲ دور
اﻟﻤﻔﺘﺎح ﻓﻲ ﺣﺎل اﺧﺘﺮت اﻟﺨﯿﺎر اﻟﺜﺎﻧﻲ .
اﻟﻤﻔﺘﺎح ﯾﺠﻌﻠﻚ ﺗﺸﻌﺮ ﺑﺎﻻرﺗﯿﺎح اﻟﺘﺎم ،ﻷﻧﻚ اذا ﺷﻔﺮت اﻟﺨﻮارزﻣﯿﺔ ﺑﺎﺳﺘﺨﺪام اﻟﻤﻔﺘﺎح ،ﺳﻮف
ﺗﻜﻮن ﻣﮭﻤﺘﻚ اﻟﺤﻔﺎظ ﻋﻠﻰ اﻟﻤﻔﺘﺎح ﻓﻘﻂ ،ﺑﺎﻟﺘﺄﻛﯿﺪ ھﻮ أﺳﮭﻞ ﺑﻜﺜﯿﺮ ﻣﻦ اﻟﺤﻔﺎظ ﻋﻠﻰ اﻟﺨﻮارزﻣﯿﺔ اﻟﺘﻲ
اﺧﺘﺮﻋﺘﮭﺎ.
أﯾﻀﺎ ﻓﻲ ﺣﺎل اﺳﺘﺨﺪﻣﺖ ﻣﻔﺘﺎح ﺗﺸﻔﯿﺮ ﻟﻜﻞ رﺳﺎﻟﺔ ،ﻓﻲ ﺣﺎل ﺗﻢ ﻛﺴﺮ اﺣﺪ اﻟﻤﻔﺎﺗﯿﺢ ،ﻓﺎن ﺑﺎﻗﻲ
اﻟﺮﺳﺎﺋﻞ ﺗﻜﻮن ﺳﺮﯾﮫ وﻏﯿﺮ ﻣﻜﺸﻮﻓﺔ ،ﻋﻠﻰ اﻟﻌﻜﺲ اذا اﺳﺘﺨﺪﻣﺖ ﺧﻮارزﻣﯿﺔ ﻣﻦ ﺗﻄﻮﯾﺮك وﺗﻢ
ﻛﺸﻔﮭﺎ ﻓﺎن ﻛﻞ اﻟﺮﺳﺎﺋﻞ ﺳﻮف ﺗﻨﻜﺸﻒ أﯾﻀﺎ.
92
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻟﺴﺆال اﻟﺴﺎﺑﻖ ﻧﻄﺮﺣﮫ ﻣﺮه أﺧﺮى "،ﻓﻲ ﺣﺎل ﺷﻔﺮت اﻟﺮﺳﺎﻟﺔ ﺑﺨﻮارزﻣﯿﺔ ﻻ ﯾﻌﺮﻓﮭﺎ اﺣﺪ ،وإذا
اﺳﺘﺨﺪﻣﺖ ﻣﻔﺘﺎح ﻓﻠﻦ اﺑﻠﻎ اﺣﺪ ﺑﻄﻮل اﻟﻤﻔﺘﺎح " ھﻞ ﺗﻜﻮن اﻟﺮﺳﺎﻟﺔ أﻣﻨﮫ ؟
اﻟﻤﺨﺘﺮﻗﯿﻦ ﺳﻮف ﯾﻌﺮﻓﻮا اﻟﺨﻮارزﻣﯿﺔ ﻣﮭﻤﺎ ﻓﻌﻠﺖ ،وﻻ أي واﺣﺪ ﻓﻲ ﺗﺎرﯾﺦ اﻟﺘﺸﻔﯿﺮ ﺗﻤﻜﻦ ﻣﻦ إﺑﻘﺎء
ﺧﻮارزﻣﯿﺘﮫ ﺳﺮﯾﮫ ،ﻟﻄﺎﻟﻤﺎ ﺗﻤﻜﻦ اﻟﺠﻮاﺳﯿﺲ ﻓﻲ اﻟﺤﺮب ﻛﺸﻒ اﻟﺨﻮارزﻣﯿﺎت ﺳﻮاء ﺑﺎﺳﺘﺨﺪام
ﻋﻤﻠﯿﺎت رﯾﺎﺿﯿﮫ أو أﺟﮭﺰه ﻟﻜﺴﺮ اﻟﺸﻔﺮات ،أو ﺣﺘﻰ ﯾﻮﻇﻔﻮا ﺟﻮاﺳﯿﺲ ﻟﺪى اﻟﻌﺪو ،أو ﯾﺴﺮﻗﻮا
اﻟﺨﻮارزﻣﯿﺔ ،أو ﯾﺴﺮﻗﻮا اﻟﺠﮭﺎز اﻟﻤﺴﺘﺨﺪم ﻟﻠﺘﺸﻔﯿﺮ .
ﻓﻲ اﻟﺤﺮب اﻟﻌﺎﻟﻤﯿﺔ اﻟﺜﺎﻧﯿﺔ ،ﺗﻤﻜﻦ اﻟﺠﻨﻮد اﻟﺒﻮﻟﻨﺪﯾﯿﻦ ﻣﻦ ﺳﺮﻗﮫ اﻟﺠﮭﺎز اﻷﻟﻤﺎﻧﻲ اﻟﺬي ﻛﺎن اﻷﻟﻤﺎن
ﯾﺴﺘﺨﺪﻣﻮه ﻟﻠﺘﺸﻔﯿﺮ )اﺳﻤﮫ ( Engimaوﺗﻢ ﺑﯿﻌﮫ ﻟﻠﺒﺮﯾﻄﺎﻧﯿﯿﻦ )اﻟﺤﻠﻔﺎء( وﺑﻌﺪھﺎ ﺗﻤﻜﻦ ھﺆﻻء
اﻟﺤﻠﻔﺎء ﻣﻦ ﻛﺴﺮ اﻏﻠﺐ اﻟﺮﺳﺎﺋﻞ اﻻﻟﻤﺎﻧﯿﮫ !!
وﺑﺪون أي ﺳﺮﻗﮫ ،ﻓﺎن اﻟـ cryptanalystsﯾﺴﺘﻄﯿﻌﻮا ﺑﺒﺴﺎﻃﮫ ﻛﺴﺮ اﻟﺸﻔﺮات ،ﻓﻔﻲ اﻟﺤﺮب
اﻟﻌﺎﻟﻤﯿﺔ اﻟﺜﺎﻧﯿﺔ ﺗﻤﻜﻦ ﻛﺎﺳﺮي اﻟﺸﻔﺮات اﻷﻣﺮﯾﻜﯿﯿﻦ )اﺳﻤﮭﻢ ( Code breakerﻣﻦ ﻣﻌﺮﻓﮫ
ﻃﺮﯾﻘﮫ ﻋﻤﻞ اﻟﺠﮭﺎز اﻟﻤﺴﺘﺨﺪم ﻓﻲ اﻟﺘﺸﻔﯿﺮ ﻟﺪى اﻟﯿﺎﺑﺎﻧﯿﯿﻦ) ﺑﺪون اﻟﺤﺎﺟﺔ إﻟﻰ ﺳﺮﻗﮫ اﻟﺠﮭﺎز( .
ﻣﺜﺎل آﺧﺮ ،ھﻨﺎك ﺧﻮارزﻣﯿﺔ اﺳﻤﮭﺎ RC4اﺧﺘﺮﻋﺖ ﻣﻦ ﻗﺒﻞ ﺷﺮﻛﮫ RSAﻓﻲ ﻋﺎم 1987ﻟﻜﻦ ﻟﻢ
ﺗﻨﺸﺮ ،ﻛﻞ اﻟـ cryptanalystsواﻟﻤﺸﻔﺮﯾﻦ اﺟﻤﻌﻮا ﻓﻲ ذﻟﻚ اﻟﻮﻗﺖ أن ھﺬه اﻟﺨﻮارزﻣﯿﺔ آﻣﻨﮫ
ﺟﺪا وﺗﺠﻌﻞ اﻟﺒﯿﺎﻧﺎت ﺳﺮﯾﮫ ﻟﻠﻐﺎﯾﺔ ،وﻟﻢ ﺗﻨﺸﺮ ﺗﻠﻚ اﻟﺨﻮارزﻣﯿﺔ ﻷﻏﺮاض ﺑﯿﻊ ﺑﺮاﻣﺞ ﻟﻠﺘﺸﻔﯿﺮ ) وﻟﯿﺲ
ﻷﻏﺮاض ﻋﺴﻜﺮﯾﮫ( ،اﻟﻤﮭﻢ ﻓﻲ 1994ﻗﺎم اﺣﺪ اﻟﮭﻜﺮز ﺑﻮﺿﻊ اﻟﺨﻮارزﻣﯿﺔ ﻣﺸﺮوﺣﺔ ﺑﺎﻟﺘﻔﺼﯿﻞ
ﻓﻲ اﻻﻧﺘﺮﻧﺖ ! ﻛﯿﻒ ﻋﺮف ھﺬا اﻟﮭﻜﺮز اﻟﺨﻮارزﻣﯿﺔ ؟؟ ﺑﺎﻟﺘﺄﻛﯿﺪ ﻣﻦ ﺧﻼل ﺑﺮاﻣﺞ Disassembly
،And Debuggerوھﻲ ﺑﺮاﻣﺞ ﺗﺴﺘﺨﺪم ﻟﻔﺘﺢ اﻟﻤﻠﻔﺎت اﻟﺘﻨﻔﯿﺬﯾﺔ وﺗﺘﺒﻌﮭﺎ ﺳﻄﺮ ﺑﺴﻄﺮ وﺗﻐﯿﯿﺮ
اﻷﻛﻮاد واﻟﻜﺜﯿﺮ ﻣﻦ اﻷﻣﻮر اﻟﺘﻲ ﯾﻌﺮﻓﮭﺎ اﻟﻜﺮاﻛﺮز .ﺣﺎﻟﯿﺎ ﺧﻮارزﻣﯿﺔ RC4ﺗﺴﺘﺨﺪم ﻛﺠﺰء ﻣﻦ
ﺑﺮوﺗﻮﻛﻮل اﻟـ SSLوھﻲ ﻣﻦ اﺣﺪ اﻟﺨﻮارزﻣﯿﺎت اﻟﺘﻲ ﺗﺴﺘﺨﺪم اﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ﻟﻠﺘﺸﻔﯿﺮ.
ﺑﻌﺾ اﻷﺣﯿﺎن ﻣﻤﻜﻦ أن ﺗﺒﻘﻰ اﻟﺨﻮارزﻣﯿﺔ ﺳﺮﯾﮫ ﻟﺒﻌﺾ اﻟﻮﻗﺖ وﻟﻜﻨﮭﺎ ﺗﻨﻜﺸﻒ ﻓﻲ اﻟﻨﮭﺎﯾﺔ ،ﻣﺜﻼ
ﻓﻲ اﻟﺤﺮب اﻟﻌﺎﻟﻤﯿﺔ اﻟﺜﺎﻧﯿﺔ اﺳﺘﺨﺪم اﻷﻣﺮﯾﻜﺎن ﻟﻐﺔ Navajoوﻃﺒﻌﺎ اﻟﯿﺎﺑﺎﻧﯿﯿﻦ ﻟﻢ ﯾﻜﻮﻧﻮا ﻋﻠﻰ ﻋﻠﻢ
ﺑﮭﺬه اﻟﻠﻐﺔ ،ﻟﺬﻟﻚ اﻟﺮﺳﺎﺋﻞ اﻻﻣﺮﯾﻜﯿﮫ ﻛﺎﻧﺖ ﻣﺸﻔﺮه .ﻟﻜﻦ ﺣﺎﻟﯿﺎ اﻏﻠﺐ اﻟﺠﯿﻮش ﺗﺤﺘﻮي ﻋﻠﻰ ﻓﺮﯾﻖ
ﻛﺎﻣﻞ ﻣﻦ اﻟﻌﻠﻤﺎء ﺑﺎﺳﺘﻄﺎﻋﺘﮭﻢ ﺗﻌﻠﻢ أي ﻟﻐﺔ ﻣﮭﻤﺎ ﻛﺎﻧﺖ وﺑﺄﺳﺮع وﻗﺖ .
ﻷﻧﻚ ﻓﻲ ﺣﺎل ﻋﻤﻠﺖ ﺑﺮﻧﺎﻣﺞ وﻗﻤﺖ ﺑﺒﯿﻌﮫ ﻓﺒﺎﻟﺘﺄﻛﯿﺪ ﺳﻮف ﯾﻘﻮم اﺣﺪ اﻟﮭﺎﻛﺮ ﺑﺎﺳﺘﺨﺪام ﻃﺮق اﻟﮭﻨﺪﺳﺔ
اﻟﻌﻜﺴﯿﺔ واﻟﻮﺻﻮل إﻟﻰ ﺧﻮارزﻣﯿﺘﻚ )ﻛﻤﺎ ﺣﺼﻞ ﻓﻲ . ( RC4ﻟﺬﻟﻚ اﻟﺨﻮارزﻣﯿﺔ اﻟﺘﻲ ﻃﻮرﺗﮭﺎ
ﺳﻮف ﺗﺴﺘﺨﺪﻣﮭﺎ ﻟﻨﻔﺴﻚ أﻧﺖ وﺣﺒﯿﺒﺘﻚ ﻓﻘﻂ . J
ﻷﻧﮭﺎ ﺗﻜﻮن ﻣﺜﺒﺘﮫ أﻧﮭﺎ آﻣﻨﮫ ﻣﻦ ﻗﺒﻞ ﺟﻤﯿﻊ اﻟـ cryptanalystsواﻟﻤﺸﻔﺮﯾﻦ ،ﻣﻦ اﻟﻤﻤﻜﻦ أن ھﺆﻻء
93
PDF created with pdfFactory Pro trial version www.pdffactory.com
cryptanalystsﻗﺪ اﻗﺮوا ﺑﻌﺪم وﺟﻮد ﺛﻐﺮات ﺑﺨﻮارزﻣﯿﺔ ﻣﻌﯿﻨﮫ ،ﺑﻌﺪھﺎ ﺑﻔﺘﺮة ﻗﻤﺖ أﻧﺖ ﺑﻜﺸﻒ
ﺛﻐﺮه ﻓﯿﮭﺎ ،ﻧﻌﻢ ﻣﻤﻜﻦ وﻟﻜﻦ اﺣﺘﻤﺎل ﺿﻌﯿﻒ ﺟﺪا ﺟﺪا .
ﻓﻲ ﺣﺎل اﻗﺮ اﻟﺠﻤﯿﻊ ﺑﺎن اﻟﺨﻮارزﻣﯿﺔ آﻣﻨﮫ وﻻ ﺗﻮﺟﺪ ﺛﻐﺮات ﺑﮭﺎ ،ﻓﺎن ﻓﺮﺻﮫ إﯾﺠﺎد ﺛﻐﺮه ﺿﺌﯿﻠﺔ
ﻟﻠﻐﺎﯾﺔ .
ﻓﻲ اﻟﺘﺸﻔﯿﺮ اﻟﻤﺘﻨﺎﻇﺮ ،اﻟﻤﻔﺘﺎح ﻋﺒﺎرة ﻋﻦ رﻗﻢ وﻃﻮﻟﮫ ﻋﻠﻰ ﺣﺴﺐ ﻧﻮع اﻟﺨﻮارزﻣﯿﺔ ) 64ﺑﺖ
ﻣﺜﻼ( ،وﯾﻤﻜﻦ ﺗﻮﻟﯿﺪه ﺑﺼﻮره ﻋﺸﻮاﺋﯿﺔ ،اﻟﺴﺆال ھﻨﺎ ﻛﯿﻒ ﯾﺘﻢ ﺗﻮﻟﯿﺪ اﻷرﻗﺎم اﻟﻌﺸﻮاﺋﯿﺔ ؟
ﺣﺴﻨﺎ ،اﻷرﻗﺎم اﻟﻌﺸﻮاﺋﯿﺔ ھﻲ ﺑﻜﻞ ﺑﺴﺎﻃﮫ أرﻗﺎم ﻣﺜﻞ ) (100،5 ،1،3ﯾﺘﻢ اﺧﺘﯿﺎرھﺎ ﺑﺸﻜﻞ ﻋﺸﻮاﺋﻲ،
اﻏﻠﺐ اﻟﻤﺒﺮﻣﺠﯿﻦ ﯾﻌﺮﻓﻮن ﻗﯿﻤﮫ ھﺬه اﻷﻋﺪاد ﻓﮭﻲ ﺗﺴﺘﺨﺪم ﺑﻜﺜﺮة ﻓﻲ ﻋﺪه ﻧﻮاﺣﻲ ﻣﺜﻞ اﻷﻟﻌﺎب
،Gameﻧﻤﺬﺟﮫ وﻣﺤﺎﻛﺎة اﻟﺤﺎﺳﺐ Simulation And Modelingواﻟﺘﺸﻔﯿﺮ
Cryptographyوﻏﯿﺮھﺎ ﻣﻦ اﻟﻤﺠﺎﻻت .
ﻓﻲ اﻟﺘﺸﻔﯿﺮ ،أھﻢ ﻣﺎ ﯾﺠﺐ أن ﯾﺘﻮﻓﺮ ﻓﻲ ھﺬه اﻷﻋﺪاد ھﻮ أن ﻻ ﺗﺘﻜﺮر أﺑﺪا ،أﯾﻀﺎ أن ﺗﺘﺠﺎوز
اﻻﺧﺘﺒﺎرات اﻻﺣﺼﺎﺋﯿﮫ ،اﻻﺧﺘﺒﺎرات اﻻﺣﺼﺎﺋﯿﮫ ھﻲ ﻣﺠﻤﻮﻋﮫ اﺧﺘﺒﺎرات ﯾﺘﻢ ﺗﻄﺒﯿﻘﮭﺎ ﻋﻠﻰ اﻷﻋﺪاد
)أو اﻟﻌﺪد( ﻟﻜﻲ ﺗﻌﺮف ھﻞ ھﻲ ﻋﺸﻮاﺋﯿﺔ أم ﻻ..
ﻟﻨﻔﺘﺮض ﻟﺪﯾﻨﺎ ﻣﺠﻤﻮﻋﮫ ﻣﻦ اﻷﻋﺪاد )أﻟﻒ ﻋﺪد ﻣﺜﻼ( ،وﻗﻤﻨﺎ ﺑﺴﺆال اﺣﺪ اﻟﺬﯾﻦ ﯾﻘﻮﻣﻮن ﺑﮭﺬه
اﻻﺧﺘﺒﺎرات "ھﻞ ھﺬه اﻷﻋﺪاد ﻋﺸﻮاﺋﯿﺔ أم ﻻ " ،ﻛﻞ ﻣﺎ ﯾﻘﻮﻣﮫ ھﺬا اﻟﺸﺨﺺ )اﻹﺣﺼﺎﺋﻲ( ﺑﺎﻟﻘﯿﺎم
ﺑﺘﺤﻮﯾﻞ اﻷﻋﺪاد أوﻻ إﻟﻰ اﻟﺘﺮﻣﯿﺰ اﻟﺜﻨﺎﺋﻲ Binary Formatأي ﯾﻘﻮم ﺑﺘﺤﻮﯾﻞ اﻷﻋﺪاد إﻟﻰ 0و، 1
ﺑﻌﺪھﺎ ﯾﻘﻮم ﺑﺈﺟﺮاء ﻋﺪه اﺧﺘﺒﺎرات ﻋﻠﻰ ھﺬه اﻷﻋﺪاد ،اﻻﺧﺘﺒﺎرات ﺗﻜﻮن ﻋﺒﺎرة ﻋﻦ ﻋﺪه اﺳﺌﻠﮫ:
ھﻞ اﻟﻌﺪد 1ﯾﻈﮭﺮ ﺑﻨﻔﺲ ﺗﻜﺮار 0؟ أم أﻛﺜﺮ أم اﻗﻞ ؟
ھﻞ اﻟﻌﺪدﯾﻦ 1و 0ﯾﻈﮭﺮان ﺑﺸﻜﻞ ﻣﺤﺪد ﻛﻞ ﻣﺮه ؟ )ﻣﺜﻼ ﺗﺄﺗﻲ 1أوﻻ ﺑﻌﺪھﺎ (0؟
وﻏﯿﺮھﺎ ﻣﻦ اﻻﺳﺌﻠﮫ....
اﻟﻤﮭﻢ ،ﺑﻌﺪھﺎ ﻓﻲ ﺣﺎل ﻧﺠﺢ اﻻﺧﺘﺒﺎر ،ﺗﻜﻮن اﻷﻋﺪاد اﻟﻌﺸﻮاﺋﯿﺔ اﻟﺘﻲ أﻋﻄﯿﺘﮭﺎ ﻟﻺﺣﺼﺎﺋﻲ ﻣﺤﺘﻤﻠﮫ
أن ﺗﻜﻮن ﻋﺸﻮاﺋﯿﺔ !! ﻻ ﻧﺴﺘﻄﯿﻊ أن ﻧﻘﻮل ھﻲ ﻋﺸﻮاﺋﯿﺔ ﺑﺼﻮره ﻣﺆﻛﺪه ، %100ﻟﻤﺎذا ،ﺳﻨﻌﺮف
ﻻﺣﻘﺎ .
94
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻣﻮﻟﺪﺍﺕ ﺍﻷﺭﻗﺎﻡ ﺍﻟﻌﺸﻮﺍﺋﻴﺔ A Random Number Generatorﺍﺧﺘﺼﺎﺭﺍ : RNG
ﻋﺮﻓﻨﺎ أن اﻷﻋﺪاد اﻟﻌﺸﻮاﺋﯿﺔ ھﻲ أﻋﺪاد ﺗﻜﻮن ﺑﺼﻮره ﻋﺸﻮاﺋﯿﺔ وﻏﯿﺮ ﻣﺮﺗﺒﮫ ،ﺣﺴﻨﺎ اﻟﺴﺆال اﻟﺬي
ﯾﻄﺮح ﻧﻔﺴﮫ :ﻣﻦ أﯾﻦ ﯾﻤﻜﻦ اﻟﺤﺼﻮل ﻋﻠﻰ ھﺬه اﻷﻋﺪاد اﻟﻌﺸﻮاﺋﯿﺔ ؟؟
ھﻨﺎك ﻣﺼﺪرﯾﻦ:
اﻷول ھﻮ ﻟﺘﻮﻟﯿﺪ أﻋﺪاد ﻋﺸﻮاﺋﯿﺔ ﺣﻘﯿﻘﯿﺔ أو ﻛﺎﻣﻠﺔ RNGأو ، True RNGوھﻨﺎ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ
ﺳﻮف ﻧﺴﺘﺨﺪم أﺟﮭﺰه ﺧﺎﺻﺔ ﻟﺘﻮﻟﯿﺪ اﻷﻋﺪاد )ﺗﺄﺧﺬ ﻣﺪﺧﻞ ﯾﺘﻐﯿﺮ ﺑﺎﺳﺘﻤﺮار( ﻣﺜﻞ ﻗﯿﺎس اﻟﻈﺮوف
اﻟﺠﻮﯾﺔ ،ﺣﺴﺎب ﺳﺮﯾﺎن اﻟﺘﯿﺎر اﻟﻜﮭﺮﺑﺎﺋﻲ وﻏﯿﺮھﺎ وھﺬه اﻷﻋﺪاد ﺑﺎﻟﻄﺒﻊ ﺳﻮف ﺗﺠﺘﺎز اﻻﺧﺘﺒﺎر
اﻹﺣﺼﺎﺋﻲ..
وإذا ﻃﻠﺒﻨﺎ ﻣﻦ ھﺬه اﻻﺟﮭﺰه أﻋﺪاد ﻋﺸﻮاﺋﯿﺔ أﺧﺮى ،ﻓﻠﻦ ﻧﺤﺼﻞ ﻋﻠﻰ ﻧﻔﺲ اﻟﻨﺎﺗﺞ أﺑﺪا ،وﻟﺬﻟﻚ ﻻن
اﻟﻤﺨﺮج )اﻷﻋﺪاد( ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﻣﺪﺧﻞ ﻏﯿﺮ ﺛﺎﺑﺖ )ﯾﺘﻐﯿﺮ ﺑﺎﺳﺘﻤﺮار( ،ﻟﺬﻟﻚ ﻓﺈن اﻷﻋﺪاد اﻟﻌﺸﻮاﺋﯿﺔ
اﻟﻨﺎﺗﺠﮫ ﻣﻦ ھﺬه اﻷﺟﮭﺰة ﻻ ﺗﺘﻜﺮر اﺑﺪآ ،وﻟﮭﺬه ﺗﺴﻤﻰ ﺑﺎﻷﻋﺪاد اﻟﻌﺸﻮاﺋﯿﺔ اﻟﺼﺤﯿﺤﺔ أو اﻟﻜﺎﻣﻠﺔ
. True Random Number
ﻗﺮأت ﻋﻦ أن ﺷﺮﻛﮫ Intelﺗﻘﻮم ﺑﺎﺳﺘﺨﺪام RNGﯾﻮﺿﻊ داﺧﻞ اﻟﻨﻈﺎم وﯾﻘﻮم ﺑﺤﺴﺎب اﻟﺤﺮارة أو
ﺷﻲء ﻣﺸﺎﺑﮫ ،وھﻮ ﻣﺼﺪر ﯾﺘﻐﯿﺮ ﺑﺎﺳﺘﻤﺮار ،أﯾﻀﺎ ھﺬا اﻟﺠﮭﺎز ﻻ ﯾﺄﺗﻲ ﻣﻊ أي ﻣﻌﺎﻟﺞ ﺑﻨﺘﯿﻮم )إﻻ
ﻣﻊ اﻟﻄﻠﺐ( ،ﻟﻜﻦ ﯾﺤﺘﻤﻞ ذﻟﻚ ﻓﻲ اﻟﺴﻨﻮات اﻟﻤﻘﺒﻠﺔ .
ﻣﻦ أﯾﻦ ﯾﻤﻜﻨﻨﺎ اﻟﺤﺼﻮل ﻋﻠﻰ أﻋﺪاد ﻋﺸﻮاﺋﯿﺔ اذا ﻛﻨﺎ ﻻ ﻧﻤﻠﻚ ھﺬه اﻻﺟﮭﺰه ،اﻟﺠﻮاب ﺑﺎﺳﺘﺨﺪام ﻣﻮﻟﺪ
اﻷﻋﺪاد اﻟﻤﺰﯾﻔﺔ ،وھﻮ ﻋﺒﺎرة ﻋﻦ ﺧﻮارزﻣﯿﺔ ﻟﺘﻮﻟﯿﺪ ھﺬه اﻷﻋﺪاد "اﻟﻤﺰﯾﻔﺔ" ،ﺑﺎﻟﺘﺄﻛﯿﺪ ﻛﻠﻤﮫ
"ﻣﺰﯾﻔﮫ" ﯾﺴﺒﺐ ﻟﻚ ﺑﻌﻀﺎ ﻣﻦ اﻟﺤﯿﺮة ،ﻟﻜﻨﮫ ﺳﯿﺘﻀﺢ ﺑﻌﺪ ﻗﻠﯿﻞ .
ھﻨﺎ ﻓﻲ ﺣﺎﻟﮫ اﻷﻋﺪاد اﻟﻌﺸﻮاﺋﯿﺔ اﻟﻤﺰﯾﻔﺔ اذا اﺳﺘﺨﺪﻣﻨﺎ اﻟﺨﻮارزﻣﯿﺔ ووﻟﺪﻧﺎ اﻷﻋﺪاد )ﻣﺜﻼ أﻟﻒ ﻋﺪد( ،
ﺑﻌﺪھﺎ ذھﺒﻨﺎ إﻟﻰ ﺻﺪﯾﻘﻨﺎ اﻹﺣﺼﺎﺋﻲ وﻗﻤﻨﺎ ﺑﺎﺧﺘﺒﺎر ھﺬه اﻷﻋﺪاد ،اﻟﻨﺎﺗﺞ ھﻮ أن ھﺬه اﻷﻋﺪاد ﺳﻮف
ﺗﻨﺠﺢ أﯾﻀﺎ ﻓﻲ اﻻﺧﺘﺒﺎر )ﻣﺜﻠﮭﺎ ﻣﺜﻞ ، ( T-RNGﻟﻜﻨﮭﺎ ﯾﺤﺘﻤﻞ أن ﺗﻜﻮن ﻋﺸﻮاﺋﯿﺔ .
اﻟﺬي ﯾﺠﻌﻞ ھﺬه اﻹﻋﺪاد ﻣﺰﯾﻔﮫ ھﻮ أﻧﮭﺎ ﺗﺘﻜﺮر )وأﻟﻒ ﺧﻂ ﺗﺤﺘﮭﺎ( اذا ﺷﻐﻠﺖ ﻣﻮﻟﺪ اﻷﻋﺪاد اﻟﻤﺰﯾﻔﺔ
ﻓﻲ ﺟﮭﺎزﯾﻦ ﻣﺨﺘﻠﻔﯿﻦ ﺳﻮف ﯾﻄﻠﻊ ﺑﻨﻔﺲ اﻟﻨﺎﺗﺞ ،اذا ﺷﻐﻠﺖ اﻟﺒﺮﻧﺎﻣﺞ ﺑﻌﺪ ﺳﻨﮫ ﺳﻮف ﯾﻄﻠﻊ ﺑﻨﻔﺲ
اﻟﻨﺎﺗﺞ .
ﻟﺬﻟﻚ ﻗﺒﻞ ﻗﻠﯿﻞ ﻗﻠﻨﺎ أن اﻟﻨﺘﯿﺠﺔ اﻟﺘﻲ ﯾﺨﺮج ﺑﮭﺎ اﻹﺣﺼﺎﺋﻲ ھﻲ ﻣﺤﺘﻤﻠﮫ أن ﺗﻜﻮن ﻋﺸﻮاﺋﯿﺔ وﻟﯿﺲ
ﻋﺸﻮاﺋﯿﺔ . %100
اذا اﻹﺣﺼﺎﺋﻲ ﯾﻌﻄﯿﻨﺎ أﺟﺎﺑﮫ ﻋﻠﻰ أن اﻷﻋﺪاد ﻋﺸﻮاﺋﯿﺔ ﻓﻘﻂ ،وﻟﻜﻦ ھﻮ ﻻ ﯾﻌﺮف ھﻞ ھﻲ ﺗﺘﻜﺮر أم
ﻻ ،ﯾﻌﻄﯿﻨﺎ ﻓﻘﻂ ﻧﺼﻒ اﻻﺟﺎﺑﮫ.
95
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺣﺴﻨﺎ ،اذا ﻛﺎﻧﺖ اﻷﻋﺪاد ﻓﻲ PRNGﺗﺘﻜﺮر ،اذا ﻣﺎ ھﻮ اﻟﺸﻲء اﻟﺠﯿﺪ ﻓﯿﮭﺎ ؟؟
ﻷﻧﮫ ﺑﻜﻞ ﺑﺴﺎﻃﮫ ﯾﻤﻜﻨﻚ أن ﺗﻐﯿﺮ اﻟﻨﺎﺗﺞ ﻋﻦ ﻃﺮﯾﻖ ﻣﺎ ﯾﻌﺮف ﺑﺎﻟـ ) Seedاﻟﺒﻌﺾ ﯾﺘﺮﺟﻤﻮھﺎ
ﺑﺎﻟﺒﺬرة( ،ﻛﻤﺎ ھﻮ اﻟﺤﺎل ﻣﻊ RNGﺗﺄﺧﺬ اﻟﻤﺪﺧﻞ ﻣﻦ )ﻗﯿﺎس اﻟﻈﺮوف اﻟﺠﻮﯾﺔ ،اﻟﺘﯿﺎر( ﻓﺈن
PRNGﺗﺄﺧﺬ اﻟﻤﺪﺧﻞ ﻣﻦ )اﻟﺒﺬرة .( Seedاذا ﻏﯿﺮت اﻟﻤﺪﺧﻞ Seedﺳﻮف ﺗﺘﻐﯿﺮ اﻟﻤﺨﺮﺟﺎت ،
ﻓﻲ اﻟـ RNGاﻟﻤﺪﺧﻼت ﺗﺘﻐﯿﺮ ﺑﻨﻔﺴﮭﺎ ﺑﺪون اﻟﺤﺎﺟﺔ إﻟﯿﻚ ،ﻓﻲ PRNGﯾﺠﺐ ﻋﻠﯿﻚ أن ﺗﻐﯿﺮ
اﻟﻤﺪﺧﻞ Seedﻓﻲ ﻛﻞ ﻣﺮه أردت ﻓﯿﮭﺎ اﻟﺤﺼﻮل ﻋﻠﻰ ﻋﺪد ﻋﺸﻮاﺋﻲ .
ﻗﺪ ﺗﺘﺴﺎءل اﻵن " :ﻟﻤﺎذا ﻻ اﺳﺘﺨﺪم اﻟـ Seedﻓﻘﻂ ﺑﺪون اﻟـ " PRNG؟
ﻟﺴﺒﺒﯿﻦ ،اﻷول ھﻮ اﻟﺤﺎﺟﺔ ﻟﻠﺴﺮﻋﺔ ،ﻓﺠﻤﻊ اﻟـ Seedﯾﺄﺧﺬ وﻗﺖ ﻃﻮﯾﻞ ﻧﻮﻋﺎ ﻣﺎ ،
ﻣﺜﻼ أﻧﺖ ﺑﺤﺎﺟﮫ إﻟﻰ ﻋﺪه اﻵﻻف ﻋﺪد ،اذا اﺳﺘﺨﺪﻣﻨﺎ اﻟـ Seedﻓﺎﻧﮫ ﯾﺄﺧﺬ وﻗﺘﺎ ﺣﺘﻰ ﯾﺠﻤﻊ اﻷﻋﺪاد
اﻟﻤﻄﻠﻮﺑﺔ !! ﺗﺨﯿﻞ ﻣﺜﻼ ﺟﻤﻊ ال Seedﻛﺎن ﻋﺒﺎرة ﻋﻦ ﺣﺮﻛﮫ ﻟﻠﻤﺎوس )واﺧﺬ اﻟﻤﻮﻗﻊ( ،ھﻨﺎ ﻟﻜﻲ
ﻧﻮﻟﺪ 1000ﻋﺪد ﻓﺈﻧﻨﺎ ﺑﺤﺎﺟﮫ إﻟﻰ 1000ﺣﺮﻛﮫ ،ﻣﺸﻮار ﻃﻮﯾﻞ واﺿﺎﻋﮫ ﻟﻠﻮﻗﺖ .
وﻟﻜﻨﻨﺎ اذا اﺳﺘﺨﺪﻣﻨﺎ اﻟـ PRNGﻛﻞ ﻣﺎ ﻋﻠﯿﻨﺎ ھﻮ إدﺧﺎل Seedواﺣﺪ )ﺑﻄﻮل 160ﺑﺖ ﺗﻘﺮﯾﺒﺎ(
وﺑﻌﺪھﺎ ﻧﺒﺪأ ﺑﺘﻮﻟﯿﺪ اﻷﻋﺪاد ﺑﺎﺳﺘﺨﺪام ھﺬا ال ،Seedوﺳﻮف ﺗﺨﺮج ﻟﻨﺎ اﻵﻻف ﻣﻦ اﻷﻋﺪاد ﻓﻲ
ﻏﻀﻮن ﺛﻮاﻧﻲ .
96
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻟﺴﺒﺐ اﻵﺧﺮ ھﻮ اﻟـ ) ، (entropyواﻟـ PRNGﯾﺰﯾﺪ ﻣﻦ ﻗﯿﻤﮫ ھﺬا اﻟﻤﺘﻐﯿﺮ ،ﻣﻤﺎ ﯾﺠﻌﻞ اﻟﻨﺘﯿﺠﺔ
ﻋﺸﻮاﺋﯿﺔ أﻛﺜﺮ .
أﯾﻀﺎ اﻏﻠﺐ اﻟـ PRNGﺗﺴﺘﺨﺪم ﻣﻔﮭﻮم ﯾﺴﻤﻰ ، message digestsﻋﻠﻰ اﻟﻌﻤﻮم ﻓﻜﺮﺗﮫ ﺑﺴﯿﻄﺔ
ﻣﺜﻞ اﻟﺨﻼط ، blendersاﻟﺨﻼط اﻟﻌﺎدي اﻟﺬي ﯾﺴﺘﺨﺪم ﻓﻲ اﻟﻤﻄﺎﺑﺦ ﯾﺄﺧﺬ اﻟﻌﺪﯾﺪ ﻣﻦ اﻻﻃﻤﻌﮫ
وﯾﺨﻠﻄﮭﺎ وﯾﺨﺮج اﻟﻨﺎﺗﺞ ﺧﻠﯿﻂ ﻣﻦ اﻻﻃﻌﻤﮫ اﻟﺘﻲ دﺧﻠﺖ ،و اﻟـ message digestsﺗﺄﺧﺬ اﻟﺒﺘﺎت
وﺗﺪﺧﻠﮭﻢ ھﺬا اﻟﺨﻼط وﯾﺨﺮج اﻟﻨﺎﺗﺞ ﺧﻠﯿﻂ ﺑﺸﻜﻞ ﻋﺸﻮاﺋﻲ .
ﺳﻮف ﻧﺪرس ﺧﻮارزﻣﯿﺎت ﺗﻮﻟﯿﺪ اﻷﻋﺪاد اﻟﻌﺸﻮاﺋﯿﺔ اﻟﻤﺰﯾﻔﺔ )ﻓﻲ اﻟﻨﺴﺨﺔ اﻟﻨﮭﺎﺋﯿﺔ ﻣﻦ اﻟﻜﺘﺎب (،
وﻧﻘﻮم ﺑﺘﻄﺒﯿﻘﮭﺎ ﻣﺜﻞ ، LCGﺑﺎﻟﻤﻨﺎﺳﺒﺔ اﻟﺪوال rand , randomﺗﻮﻟﺪ أﻋﺪاد ﻣﺰﯾﻔﮫ ،و ﻋﻠﻰ
ﺣﺴﺐ ﻣﺎ ﻗﺮأت اﻧﮫ randomﺗﻮﻟﺪ أﻋﺪاد أﻛﺜﺮ ﻋﺸﻮاﺋﯿﺔ .
97
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺗﺬﻛﺮ أن اﻟﺨﻮارزﻣﯿﺔ ﺗﻘﻮم ﺑﻌﻤﻠﮭﺎ ﺑﻐﺾ اﻟﻨﻈﺮ ھﻞ اﻟﻤﻔﺘﺎح ﺻﺤﯿﺢ أم ﺧﺎﻃﺊ ،وﻓﻲ ﻛﻞ ﻣﻔﺘﺎح
ﺧﺎﻃﺊ اﻟﻨﺘﯿﺠﺔ ﺗﻜﻮن ﻏﯿﺮ ﻣﻔﮭﻮﻣﮫ ،ﻟﺬﻟﻚ ﯾﺠﺐ ﻋﻠﻰ اﻟﻤﺨﺘﺮق اﻟﻨﻈﺮ إﻟﻰ اﻟﻨﺘﯿﺠﺔ ﻓﻲ ﻛﻞ ﻣﺮه
ﯾﺠﺮب ﻓﯿﮭﺎ ﻣﻔﺘﺎح ،اﻟﻤﺨﺘﺮق اﻟﺬﻛﻲ ﯾﻜﺘﺐ ﺑﺮﻧﺎﻣﺞ ﯾﻘﻮم ﺑﻔﺤﺺ اﻟﺮﺳﺎﻟﺔ ھﻞ ھﻲ ﻣﻔﮭﻮﻣﮫ )ﺿﻤﻦ
ﻧﻄﺎق اﻷﻋﺪاد اﻻﺑﺠﺪﯾﮫ( ؟ ﻧﻌﻢ اذا أرﺳﻞ ھﺬا ھﻮ اﻟﻤﻔﺘﺎح ،واﻻ ﺟﺮب اﻟﺮﻗﻢ اﻟﺘﺎﻟﻲ ...
ﻓﻲ ﺣﺎﻟﮫ 100ﺑﻠﯿﻮن رﻗﻢ ،ﻗﺪ ﯾﺤﺼﻞ اﻟﻤﺨﺘﺮق ﻋﻠﻰ اﻟﻤﻔﺘﺎح ﻣﻦ أول ﺗﺠﺮﺑﮫ ،وﯾﻤﻜﻦ ﻣﻦ اﻟﺘﺠﺮﺑﺔ
اﻻﺧﯿﺮه ،ﻋﻠﻰ اﻟﻌﻤﻮم ﻓﻲ اﻟﻤﺘﻮﺳﻂ ﻗﺪ ﯾﺤﺼﻞ ﻋﻠﯿﮫ ﻓﻲ 50ﺑﻠﯿﻮن ﻣﺤﺎوﻟﮫ ،اﻟﺴﺆال ھﻮ ﻛﻢ ﻣﻦ
اﻟﻮﻗﺖ ﺗﺄﺧﺬ ﻋﻤﻠﯿﮫ ﺗﺠﺮﺑﮫ 50ﺑﻠﯿﻮن ﻣﻔﺘﺎح ؟ 3ﺳﻨﻮات ؟ 3ﺷﮭﻮر؟ 3أﯾﺎم ؟
ﻟﻨﻔﺮض اﻧﻚ ﺗﺮﯾﺪ اﻟﺤﻔﺎظ ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ ﻟﻤﺪه 3ﺳﻨﻮات ،وان اﻟﻤﺨﺘﺮق ﯾﺴﺘﻄﯿﻊ ﻣﺤﺎوﻟﮫ 50ﺑﻠﯿﻮن
ﻣﻔﺘﺎح ﻓﻲ 3دﻗﺎﺋﻖ اذا ﻋﻠﯿﻚ ﺗﻜﺒﯿﺮ اﻟﻤﻔﺘﺎح وﺟﻌﻞ اﻟﻤﺪى ﻣﻦ 0إﻟﻰ 100ﺑﻠﯿﻮن ﺑﻠﯿﻮن ﺑﻠﯿﻮن ﺑﻠﯿﻮن
ﺑﻠﯿﻮن ﺑﻠﯿﻮن ،وھﻜﺬا ﯾﺄﺧﺬ اﻟﻤﺨﺘﺮق وﻗﺘﺎ أﻃﻮل ﺣﺘﻰ ﯾﺠﺪ اﻟﻤﻔﺘﺎح اﻟﺼﺤﯿﺢ..
ھﺬا اﻟﻤﻔﮭﻮم ﯾﻌﺮف ﺑـ ﺣﺠﻢ اﻟﻤﻔﺘﺎح ، Key Sizeاﻟﻨﻘﻮد ﺗﻘﺎس ﺑﻘﯿﻤﺘﮭﺎ ،اﻟﺬھﺐ ﺑﺎﻟﻮزن ،اﻟﻤﻔﺘﺎح
ﻓﻲ اﻟﺘﺸﻔﯿﺮ ﯾﻘﺎس ﺑﻌﺪد اﻟﺒﺘﺎت ، bitsواﻟﻤﻔﺎﺗﯿﺢ ﻓﻲ اﻟﺘﺸﻔﯿﺮ اﻟﻤﺘﻨﺎﻇﺮ ﺗﻜﻮن ﻋﺎده ﺑﻄﻮل bit 40أو
bit 56أو ) bit 128وھﻮ اﻷﻓﻀﻞ( .وھﻜﺬا ...
ﺑﺎﺧﺘﺼﺎر ،اذا ﻛﻨﺖ ﺗﺮﯾﺪ أن ﺗﺠﻌﻞ ﻋﻤﻞ اﻟﻤﺨﺘﺮق أﻛﺜﺮ ﺻﻌﻮﺑﺔ ،ﻗﻢ ﺑﺘﻜﺒﯿﺮ ﺣﺠﻢ اﻟﻤﻔﺘﺎح ،اﻟﻤﻔﺘﺎح
اﻟﻜﺒﯿﺮ ﯾﻀﻤﻦ ﻟﻚ ﺣﻤﺎﯾﺔ اﻛﺒﺮ .
ﻓﻲ ﻋﺎم ، 1997ﺗﻢ ﻛﺴﺮ اﻟـ 40ﺑﺖ ﻓﻲ ﺛﻼث ﺳﺎﻋﺎت ،و ﺗﻢ ﻛﺴﺮ 48ﺑﺖ ﻓﻲ 280ﺳﺎﻋﺔ ..
)ﻛﻞ ﺑﺖ زﯾﺎدة ﯾﺄﺧﺬ ﺿﻌﻒ اﻟﻤﺪة اﻟﺴﺎﺑﻘﺔ ،ﻣﺜﻼ 40ﺑﺖ ﺗﺄﺧﺬ 3ﺳﺎﻋﺎت 41 ،ﺑﺖ ﺗﺄﺧﺬ 6ﺳﺎﻋﺎت
،وھﻜﺬا ( .
ﺑﺎﻟﻄﺒﻊ اﻟﻤﺨﺘﺮق ﻟﻦ ﺗﻜﻮن ﻟﺪﯾﮫ ھﺬه اﻹﻣﻜﺎﻧﯿﺎت وﺑﺎﻟﺘﺎﻟﻲ ﺳﻮف ﯾﺄﺧﺬ وﻗﺘﺎ أﻃﻮل ﺑﻜﺜﯿﺮ ﻣﻦ اﻟﺸﺮﻛﺔ
اﻟﺴﺎﺑﻘﺔ ،وﻟﻜﻦ ﻧﺤﻦ ھﻨﺎ ﻧﻔﺘﺮض أن اﻟﻤﺨﺘﺮق ﻋﺒﺎرة ﻋﻦ ﺣﻜﻮﻣﺔ أو اﻟـ FPIﻧﻔﺴﮭﺎ .
ﺣﺎﻟﯿﺎ 128ﺑﺖ ھﻮ أﻓﻀﻞ ﺣﺠﻢ ﻟﻠﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ،رﺑﻤﺎ ﻓﻲ ﺣﺎل ﻛﺴﺮه ﺳﻮف ﻧﻨﺘﻘﻞ إﻟﻰ 512ﺑﺖ
)وھﻮ اﻛﺒﺮ ﺣﺠﻢ ﻟﻠﻤﻔﺘﺎح وﻧﻈﺮﯾﺎ ﻻ ﯾﻤﻜﻦ ﻛﺴﺮه ﺑﮭﺬه اﻟﻄﺮﯾﻘﮫ ) (brute-force attackاﺑﺪآ ( .
وﻣﻦ اﻟﻤﻤﻜﻦ أن ﯾﻘﻮم اﻟﻤﺨﺘﺮق ﺑﺎﻟﮭﺠﻮم ﻋﻠﻰ اﻟﻤﻔﺘﺎح وﻟﻜﻦ ﺑﻄﺮﯾﻘﮫ أﺧﺮى ،وھﻲ ﻣﺤﺎوﻟﮫ ﺗﻮﻟﯿﺪ
PRNGﺑﻨﻔﺲ اﻟﺒﺬرة Seedاﻟﺘﻲ ﻗﻤﺖ ﺑﺈدﺧﺎﻟﮭﺎ ﻓﻲ اﻟـ ، PRNGاذا اﺳﺘﺨﺪﻣﺖ Seedﺻﻐﯿﺮ
،ﻗﺪ ﯾﻘﻮم اﻟﻤﺨﺘﺮق ﺑﺘﺠﺮﺑﺔ رﻗﻢ رﻗﻢ إﻟﻰ أن ﯾﺠﺪ ال Seedاﻟﺼﺤﯿﺢ )ﻗﺪ ﺣﺼﻞ ھﺬا ﻟﺸﺮﻛﮫ ﻧﺖ
ﺳﻜﯿﺐ ،ﺳﺄذﻛﺮه ﺑﻌﺪ ﻗﻠﯿﻞ( ،ﻟﺬﻟﻚ ﻋﻠﯿﻚ ﻋﻨﺪﻣﺎ ﺗﺨﺘﺎر Seedأن ﺗﺨﺘﺎر واﺣﺪ ﻣﻤﺘﺎز وﻻ ﯾﻤﻜﻦ
ﺗﺨﻤﯿﻨﮫ ...
98
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻧﻈﺮه ﺣﻮل : Netscape’s Seed
أن اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ھﻮ اﺣﺪ ﻣﻜﻮﻧﺎت SSLاﻟﺬي اﺧﺘﺮع ﻣﻦ ﻗﺒﻞ اﻟﻌﻠﻤﺎء ﻓﻲ ﺷﺮﻛﮫ ﻧﺖ
ﺳﻜﯿﺐ )اﺣﺪ اﻟﻌﻠﻤﺎء ﺑﻞ رﺋﯿﺲ اﻟﻌﻠﻤﺎء ﻓﻲ ﻓﺘﺮه اﻟﺘﺴﻌﯿﻨﺎت ھﻮ اﻟﻌﺎﻟﻢ اﻟﻌﺮﺑﻲ اﻟﻤﺼﺮي ﻃﺎھﺮ اﻟﺠﻤﻞ
،واﻟﺬي اﺧﺘﺮع اﻟﺨﻮارزﻣﯿﺔ اﻟﺘﻲ ﺗﻌﺮف ﺑـ ELGAMALﻧﺴﺒﮫ إﻟﻰ اﺳﻤﮫ ،ﺳﺄﺗﻜﻠﻢ ﻋﻨﮫ ﻓﻲ
اﻟﻨﺴﺨﺔ اﻟﻨﮭﺎﺋﯿﺔ ( ،وﻓﻲ وﻗﺖ ﺗﻮﻟﯿﺪ اﻻﺗﺼﺎل ﻓﻲ SSLﯾﺠﺐ أن ﯾﻮﻟﺪ رﻗﻢ ﻋﺸﻮاﺋﻲ ،وﻗﺪ
اﺳﺘﺨﺪﻣﺖ اﻟﺸﺮﻛﺔ PRNGﯾﺠﻤﻊ اﻟﻤﻌﻠﻮﻣﺎت )اﻟﻮﻗﺖ +رﻗﻢ اﻟﻌﻤﻠﯿﺔ ( process IDواﺳﺘﺨﺪم
ﻛﺒﺬره Seedﻟﻠﻤﻮﻟﺪ . PRNG
ﺑﺎﻟﻨﺴﺒﺔ إﻟﻰ process IDﻓﯿﻤﻜﻦ اﻟﺤﺼﻮل ﻋﻠﯿﮫ ﻣﻦ ﺧﻼل اﻟﺪﺧﻮل إﻟﻰ ﻧﻔﺲ اﻟﺠﮭﺎز اﻟﺬي وﻟﺪه ،
أو ﯾﻤﻜﻦ ﺗﻄﺒﯿﻖ ھﺠﻮم brute-force attackﺣﯿﺚ ﻃﻮﻟﮫ ﻓﻘﻂ 15ﺑﺖ ،أﻣﺎ ﺑﺎﻟﻨﺴﺒﺔ إﻟﻰ اﻟﻮﻗﺖ
،اﺳﺘﺨﺪﻣﺖ اﻟﺸﺮﻛﺔ اﻟﺜﻮاﻧﻲ ) وﻟﯿﺲ ﺟﺰء ﻣﻦ اﻷﻟﻒ ﻣﻦ اﻟﺜﻮاﻧﻲ( وﻟﺬﻟﻚ ھﻨﺎك 60ﺛﺎﻧﯿﮫ ﻓﻘﻂ .
وﻗﺪ ﻗﺎﻣﺖ ﻧﺖ ﺳﻜﯿﺐ ﺑﻌﺪھﺎ ﺑﺎﺿﺎﻓﮫ Seedﺟﺪﯾﺪ ﯾﻌﺘﻤﺪ ﻋﻠﻰ ﻋﺪه ﻋﻮاﻣﻞ:
. mouse position, memory status, last key pressed, audio volume, and
many others
وھﻜﺬا ﯾﺼﻌﺐ إﯾﺠﺎد ال . Seed
اﻟﻄﺮﯾﻘﮫ اﻷﺧﺮى ﻟﻠﮭﺠﻮم ﻋﻠﻰ اﻟﺒﯿﺎﻧﺎت اﻟﻤﺸﻔﺮة ھﻲ ﻛﺴﺮ اﻟﺨﻮارزﻣﯿﺔ ،وھﻨﺎ ﯾﻌﺘﻤﺪ ﻋﻠﻰ ﻗﻮه
ﻣﻼﺣﻈﮫ وذﻛﺎء اﻟﻤﺨﺘﺮق ،ﻣﺜﻼ ﻻﺣﻆ أن رﻗﻢ ﻣﻌﯿﻦ ﯾﻈﮭﺮ ﻓﻲ ﻣﻜﺎن ﻣﻌﯿﻦ ،ھﻨﺎ ﯾﺴﺘﻄﯿﻊ ﺗﺨﻤﯿﻦ
ھﺬا اﻟﻌﺪد ﺑﻌﺪ ﺗﺠﺮﺑﮫ اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﻤﺤﺎوﻻت ﺣﺘﻰ ﯾﺤﺼﻞ ﻋﻠﻰ اﻟﻨﺺ اﻷﺻﻠﻲ .
ﻣﺜﻞ ﺗﻠﻚ اﻟﺨﻮارزﻣﯿﺎت اﻟﻀﻌﯿﻔﺔ ﯾﻤﻜﻦ أن ﺗﺨﺘﺮق وﺣﺘﻰ ﻟﻮ ﻛﺎن ﺣﺠﻢ اﻟﻤﻔﺘﺎح ﻛﺒﯿﺮ .
99
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺑﻌﺪ أن ﻋﺮﻓﻨﺎ ﻣﺎ ھﻮ اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ وأھﻤﯿﮫ اﻟﻤﻔﺘﺎح ،ﺗﺒﻘﻰ أن ﻧﻌﺮف ﻣﺎ ھﻲ
اﻟﺨﻮارزﻣﯿﺎت اﻟﺘﻲ ﺗﻨﻄﻮي ﺗﺤﺖ ھﺬا اﻟﻨﻮع ﻣﻦ أﻧﻮاع اﻟﺘﺸﻔﯿﺮ )ﺗﺬﻛﺮ أن ھﻨﺎك ﻧﻮﻋﯿﻦ ،اﻷول ھﻮ
اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ،واﻟﺜﺎﻧﻲ ﺑﺎﻟﻤﻔﺘﺎح ﻏﯿﺮ اﻟﻤﺘﻨﺎﻇﺮ ( .
ﺷﻔﺮات اﻟﻜﺘﻞ )ﻛﻤﺎ ھﻮ واﺿﺢ ﻣﻦ اﺳﻤﮭﺎ( ﺗﻌﻤﻞ ﻋﻠﻰ ) Blockﻛﺘﻠﮫ( ﻣﻦ اﻟﺒﯿﺎﻧﺎت ﻓﻲ ﻛﻞ ﻣﺮه ،
ﻋﻨﺪﻣﺎ ﺗﺰود اﻟﺨﻮارزﻣﯿﺔ )أو ﺑﺮﻧﺎﻣﺞ اﻟﺘﺸﻔﯿﺮ( ﺑﺎﻟﻨﺺ اﻷﺻﻠﻲ ھﻨﺎ ﻓﻲ ھﺬا اﻟﻨﻮع ﯾﻘﻮم ﺑﺘﻘﺴﯿﻢ
اﻟﻨﺺ إﻟﻰ ﻋﺪه ﻣﻦ اﻟﻜﺘﻞ ،ﻛﻞ ﻛﺘﻠﮫ ﺣﺠﻤﮭﺎ ﯾﻜﻮن 64ﺑﺖ وأﺣﯿﺎﻧﺎ 128ﺑﺖ ) 16ﺑﺎﯾﺖ( ،ﻃﺒﻌﺎ
اﻟﺤﺠﻢ ﺑﯿﻜﻮن ﻋﻠﻰ ﺣﺴﺐ اﻟﺨﻮارزﻣﯿﺔ اﻟﻤﺴﺘﺨﺪﻣﺔ
اﻵن ﺑﻘﯿﺖ 3ﺑﺎﯾﺘﺎت وﻟﻜﻦ اﻟﺨﻮارزﻣﯿﺔ ﻻ ﺗﻌﻤﻞ إﻻ اذا ﻛﺎﻧﺖ اﻟﻜﺘﻠﺔ ﺑﻄﻮل 16ﺑﺎﯾﺖ ،اذا ﻣﺎ اﻟﻌﻤﻞ
؟؟ ھﻨﺎ ﺳﻮف ﺗﺴﺘﺨﺪم ﻣﻔﮭﻮم ﺟﺪﯾﺪ اﺳﻤﮫ اﻟﺤﺸﻮ Paddingوھﻮ ﺑﻜﻞ ﺑﺴﺎﻃﮫ ﯾﻌﻤﻞ ﻋﻠﻰ اﺿﺎﻓﮫ
ﺑﺎﯾﺘﺎت اﺿﺎﻓﯿﮫ إﻟﻰ اﻟﻜﺘﻠﺔ اﻟﻨﺎﻗﺼﺔ ﺣﺘﻰ ﺗﻜﺘﻤﻞ وﺗﺼﺒﺢ ﺑﺎﻟﺤﺠﻢ اﻟﻤﻄﻠﻮب .وھﻨﺎك ﻋﺪه ﻃﺮق ﻟﻠﺤﺸﻮ
100
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺳﻮف ﻧﺬﻛﺮ اﺷﮭﺮھﺎ ،ﻋﻠﻰ اﻟﻌﻤﻮم ﻓﻲ ﺣﺎل اﺳﺘﺨﺪﻣﻨﺎ أي ﻃﺮﯾﻘﮫ ﯾﺠﺐ أن ﺗﻜﻮن ﻣﻔﮭﻮﻣﮫ ﻟﻠﺸﺨﺺ
اﻟﺬي ﻧﺮﯾﺪه أن ﯾﻔﻚ ﺗﺸﻔﯿﺮ اﻟﺮﺳﺎﻟﺔ أي ﯾﻌﺮف ھﺬه اﻟﺒﺎﯾﺘﺎت ھﻲ ﺑﺎﯾﺘﺎت اﺿﺎﻓﯿﮫ.
اﻟﻄﺮﯾﻘﮫ اﻷﺷﮭﺮ ﻟﻠﺤﺸﻮ :ھﻲ أن ﻧﻌﺮف أوﻻ ﻋﺪد اﻟﺒﺎﯾﺘﺎت اﻟﺘﻲ ﺳﻮف ﻧﻀﯿﻔﮭﺎ إﻟﻰ اﻟﻜﺘﻠﺔ اﻟﻨﺎﻗﺼﺔ ،
ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻛﺎﻧﺖ ) 13ﺑﺎﯾﺖ ( ،ﺑﻌﺪھﺎ ﻧﻘﻮم ﺑﺘﻜﺮار ھﺬا اﻟﻌﺪد ﻓﻲ ﻛﻞ ﺑﺎﯾﺖ ﻓﻲ اﻟﻜﺘﻠﺔ ،أي
اﻧﮫ ﺳﻨﺤﺸﻮ اﻟﻌﺪد " "13ﺛﻼﺛﺔ ﻋﺸﺮ ﻣﺮه ،وﺗﺴﻤﻰ ھﺬه اﻟﻄﺮﯾﻘﮫ PKC#5
ﻓﻲ ﻋﻤﻠﯿﮫ ﻓﻚ اﻟﺘﺸﻔﯿﺮ ،ﺳﻨﻨﻈﺮ إﻟﻰ اﻟﻜﺘﻠﺔ اﻻﺧﯿﺮه وﻧﺮى إن ﻛﺎن ھﻨﺎك ﻋﺪد ﻣﺎ ﯾﺘﻜﺮر ﻓﻲ ﻛﻞ ﺧﺎﻧﮫ
ﻣﻦ ﺧﺎﻧﺎت اﻟﻜﺘﻠﺔ اﻻﺧﯿﺮه ،وﻣﻨﮫ ﺳﻮف ﻧﻌﺮف ھﻞ ﻛﺎن ھﻨﺎك ﺣﺸﻮ أو ﻻ .
ﻃﺒﻌﺎ ﻋﻨﺪ اﻟﺘﺸﻔﯿﺮ ،ﻓﻲ ﺣﺎﻟﮫ اﻟﻜﺘﻠﺔ اﻻﺧﯿﺮه ﺗﺴﺎوي 16ﺑﺎﯾﺖ ﻓﻼ ﯾﻮﺟﺪ داﻋﻲ ﻟﻠﺤﺸﻮ )أﺻﻼ ﻻ
ﯾﻮﺟﺪ ﻣﻜﺎن ﻟﻠﺤﺸﻮ(.
اﻟﻤﺸﻜﻠﺔ ﻓﻲ ھﺬا اﻟﻨﻮع "ﺷﻔﺮه اﻟﻜﺘﻞ " Block Cipherھﻮ اﻧﮫ ﻓﻲ ﺣﺎﻟﮫ ﻛﺎﻧﺖ ھﻨﺎك ﻛﻠﻤﺎت ﺗﺘﻜﺮر
ﻛﺜﯿﺮا ﻓﻲ اﻟﻨﺺ اﻷﺻﻠﻲ ،ﻓﺈﻧﮭﺎ ﺑﻌﺪ اﻟﺘﺸﻔﯿﺮ ﺳﻮف ﯾﻜﻮن اﻟﻨﺺ اﻟﻤﺸﻔﺮ ﻣﺘﺸﺎﺑﮫ أﯾﻀﺎ .
ﻣﺜﻼ اﻻﺳﻢ " " wajdy essamﻇﮭﺮ 3ﻣﺮات ﻓﻲ ﻣﻮاﻗﻊ ﻣﺨﺘﻠﻔﺔ ﻓﻲ اﻟﻨﺺ اﻷﺻﻠﻲ )أو
اﻟﺮﺳﺎﻟﺔ( .ﻣﺜﻼ ﻇﮭﺮ ﻓﻲ اﻟﻜﺘﻠﺔ اﻷوﻟﻰ )أول 16ﺑﺎﯾﺖ( واﻟﻜﺘﻠﺔ اﻟﺮاﺑﻌﺔ )راﺑﻊ 16ﺑﺎﯾﺖ( واﻟﻜﺘﻠﺔ
اﻟﻌﺎﺷﺮ)ﻋﺎﺷﺮ 16ﺑﺎﯾﺖ(.
ﻧﻼﺣﻆ اﻧﮫ ﯾﻤﻜﻦ ﻟﻠﻤﺨﺘﺮق ﻣﻌﺮﻓﮫ أن اﻟﺜﻼﺛﺔ " " Selrurjgqmھﻲ ﻋﺒﺎرة ﻋﻦ ﺟﻤﻠﮫ واﺣﺪه ،
وھﻨﺎ ﻣﻤﻜﻦ أن ﯾﻜﺴﺮھﺎ ﺑﺴﮭﻮﻟﮫ .
اﻟﺤﻞ ﻟﺘﺠﻨﺐ ﻣﺜﻞ ھﺬا اﻟﺘﻜﺮار ھﻮ اﺳﺘﺨﺪام أﺳﺎﻟﯿﺐ ﺗﺴﻤﻰ" Mode Of Operationأﻧﻤﺎط أو
أﺳﺎﻟﯿﺐ اﻟﻌﻤﻠﯿﺎت" واﻟﺒﻌﺾ ﯾﻄﻠﻖ ﻋﻠﯿﮭﺎ Feedback Modesﺳﻨﺘﻨﺎول ھﺬه اﻷﺳﺎﻟﯿﺐ ﻓﻲ
اﻟﻨﺴﺨﺔ اﻟﻨﮭﺎﺋﯿﺔ ﻣﻦ اﻟﻜﺘﺎب .
ﻋﻠﻰ اﻟﻌﻤﻮم اﺷﮭﺮ ھﺬه اﻷﺳﺎﻟﯿﺐ ھﻮ cipher block chainingاﺧﺘﺼﺎرا ) ، (CBCھﻨﺎ ﻓﻲ
ھﺬا اﻟﻨﻤﻂ ﺳﻮف ﻧﻄﺒﻖ اﻟﻌﻤﻠﯿﺔ XORﻓﻲ اﻟﻨﺺ اﻷﺻﻠﻲ اﻟﺤﺎﻟﻲ و اﻟﻨﺺ اﻟﻤﺸﻔﺮ اﻟﺴﺎﺑﻖ .
101
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻛﺘﻠﮫ اﻟﻨﺺ اﻷﺻﻠﻲ اﻟﺤﺎﻟﻲ XORﻛﺘﻠﮫ اﻟﻨﺺ اﻟﻤﺸﻔﺮ اﻟﺴﺎﺑﻘﺔ ،وﺑﻌﺪھﺎ ﺳﻮف ﻧﺠﺮي ﻋﻤﻠﯿﮫ
اﻟﺘﺸﻔﯿﺮ .
ﺑﺎﻟﻨﺴﺒﺔ إﻟﻰ ﻛﺘﻠﮫ اﻟﻨﺺ اﻷول ،ﻟﻦ ﯾﻜﻮن ھﻨﺎك ﻧﺺ ﻣﺸﻔﺮ ﺳﺎﺑﻖ ﻟﺬﻟﻚ ﺳﻮف ﻧﻄﺒﻖ اﻟﻌﻤﻠﯿﺔ ﻣﻊ
ﻣﺘﻐﯿﺮ اﺳﻤﮫ initialization vectorاﺧﺘﺼﺎرا . IV
اﻟﻨﻮع اﻟﺜﺎﻧﻲ ﻣﻦ أﻧﻮاع اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ھﻮ ﺷﻔﺮه اﻟﺘﺪﻓﻖ ،وھﻨﺎ ﺳﻮف ﻧﺘﻌﺎﻣﻞ ﻣﻊ ﺑﺖ ﺑﺖ
أو ﺑﺎﯾﺖ ﺑﺎﯾﺖ وﻟﯿﺲ ﻛﺘﻠﮫ ﻛﺘﻠﮫ ،وﻋﻤﻠﯿﮫ ﺗﻮﻟﯿﺪ اﻟﻤﻔﺘﺎح Key Streamﻣﻦ اﻟﻤﻤﻜﻦ أن ﺗﻌﺘﻤﺪ ﻋﻠﻰ
اﻟﻨﺺ اﻟﻤﺸﻔﺮ اﻟﺴﺎﺑﻖ وﻣﻦ اﻟﻤﻤﻜﻦ ﻻ )ھﻨﺎك ﻧﻮﻋﯿﻦ ﻣﻦ ھﺬا اﻟﻨﻮع ،ﻧﻮع ﻣﺘﺰاﻣﻦ وﻧﻮع ﻏﯿﺮ
ﻣﺘﺰاﻣﻦ ( .
102
PDF created with pdfFactory Pro trial version www.pdffactory.com
Block VS Streamﻣﻦ ﺍﻷﻓﻀﻞ
ﺷﻔﺮه اﻟﺘﺪﻓﻖ ھﻲ أﺳﺮع ﺑﻜﺜﯿﺮ ﻣﻦ ﺷﻔﺮات اﻟﻜﺘﻞ وﻋﻤﻠﯿﮫ ﻛﺘﺎﺑﮫ ﺑﺮاﻣﺞ ﺳﮭﻠﮫ وأﻛﻮدھﺎ اﻗﻞ ﺑﻜﺜﯿﺮ ﻣﻦ
اﻟﻜﺘﻞ ،واﺣﺪ اﺷﮭﺮ أﻧﻮاع ﺷﻔﺮات اﻟﺘﺪﻓﻖ RC4وھﻲ أﺳﺮع ﺑﻜﺜﯿﺮ ﻣﻦ أي ﻧﻮع ﻣﻦ أﻧﻮاع ﺷﻔﺮات
اﻟﻜﺘﻞ ،وﺗﺘﻄﻠﺐ ﺣﻮاﻟﻲ 30ﺳﻄﺮ ﻓﻘﻂ ﻓﻲ اﻟﻜﻮد .ﻣﻌﻈﻢ ﺷﻔﺮات اﻟﻜﺘﻞ ﺗﺄﺧﺬ ﻋﻠﻰ اﻷﻗﻞ 400-200
ﺳﻄﺮ.
ﺷﻔﺮات اﻟﻜﺘﻞ ﻣﻦ ﺟﮭﺔ أﺧﺮى ﺗﺴﻤﺢ ﺑﺎﻋﺎده اﺳﺘﺨﺪام اﻟﻤﻔﺘﺎح ،ﺑﻌﻜﺲ ﺷﻔﺮات اﻟﺘﺪﻓﻖ اﻟﺘﻲ ﺗﺴﺘﺨﺪم
اﻟﻤﻔﺘﺎح ﻣﺮه واﺣﺪه ﻓﻘﻂ ،ﻓﻲ اﻟﻜﺜﯿﺮ ﻣﻦ اﻷﺣﯿﺎن ﯾﺠﺐ أن ﻧﺸﻔﺮ اﻟﻌﺪﯾﺪ ﻣﻦ اﻷﺷﯿﺎء ﺑﻤﻔﺘﺎح واﺣﺪ.
ﻣﺜﺎل ،ﺷﺮﻛﮫ ﻟﺪﯾﮭﺎ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺿﺨﻤﮫ ﻟﻠﻌﻤﻼء ﺗﺤﺘﻮي ﻣﻌﻠﻮﻣﺎﺗﮭﻢ ﻣﻦ أرﻗﺎم ھﻮاﺗﻒ وﺑﻄﺎﻗﺎت
اﺋﺘﻤﺎﻧﯿﺔ وﻏﯿﺮھﺎ ،ﻓﻲ ﺣﺎل اﺳﺘﺨﺪﻣﺖ ﺷﻔﺮات اﻟﺘﺪﻓﻖ ﺳﻮف ﺗﺘﻄﻠﺐ ﻟﻜﻞ ﻣﺪﺧﻞ )ﻋﻤﯿﻞ( ﻣﻔﺘﺎح
ﺧﺎص وھﺬا ﯾﺘﻄﻠﺐ ﻣﺌﺎت ﻣﻦ اﻟﻤﻔﺎﺗﯿﺢ وھﻮ أﻣﺮ ﻏﯿﺮ ﻋﻤﻠﻲ ،أﻣﺎ ﻓﻲ ﺣﺎﻟﮫ اﺳﺘﺨﺪﻣﺖ ﺷﻔﺮات اﻟﻜﺘﻞ
ﻓﺈﻧﮭﺎ ﺗﺸﻔﺮ ﺟﻤﯿﻊ اﻟﺒﯿﺎﻧﺎت ﺑﺎﺳﺘﺨﺪام ﻣﻔﺘﺎح واﺣﺪ ،وﻟﻔﻚ ﺗﺸﻔﯿﺮ ﺑﯿﺎﻧﺎت أي ﻋﻤﯿﻞ ﻧﺴﺘﺨﺪم ﻧﻔﺲ
اﻟﻤﻔﺘﺎح .ﻋﻤﻠﯿﮫ اداره اﻟﻤﻔﺘﺎح أﺳﮭﻞ ﺑﻜﺜﯿﺮ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ.
ﻟﺬﻟﻚ ﻓﻲ ﻣﻌﻈﻢ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﯾﺘﻢ اﺳﺘﺨﺪام ﺷﻔﺮات اﻟﻜﺘﻞ Block Cipherوأﯾﻀﺎ ﻓﻲ ﺑﺮاﻣﺞ
اﻟﺒﺮﯾﺪ اﻻﻟﻜﺘﺮوﻧﻲ ،وأﯾﻀﺎ ﻓﻲ ﺑﺮاﻣﺞ ﺗﺸﻔﯿﺮ اﻟﻤﻠﻔﺎت.
ﻓﻲ ﺑﺪاﯾﮫ اﻟﺴﺒﻌﯿﻨﺎت ﺗﻢ ﻣﻌﺮﻓﮫ اﻧﮫ اﻏﻠﺐ اﻟﺸﻔﺮات اﻟﻘﺪﯾﻤﺔ ﻟﻢ ﺗﻌﺪ ﻣﺠﺪﯾﮫ وﻏﯿﺮ ﻧﺎﻓﻌﺔ ﻟﻠﺘﺸﻔﯿﺮ ،وﻟﮭﺬا
ﻗﺮر ﻋﻠﻤﺎء ﻓﻲ ﺷﺮﻛﮫ IBMﺑﻌﻤﻞ ﺧﻮارزﻣﯿﺔ ﺟﺪﯾﺪة ﻟﻠﺘﺸﻔﯿﺮ ﺗﺒﻨﻰ ﻋﻠﻰ ﺑﻨﯿﺔ ﻗﺪﯾﻤﺔ ﺗﺴﻤﻰ
) Luciferﻧﺴﺒﮫ إﻟﻰ ﻣﺨﺘﺮﻋﮭﺎ ، ( Horst Feistelوﻣﻦ ﺧﻼل ﻣﺴﺎﻋﺪه وﻛﺎﻟﮫ اﻷﻣﻦ اﻟﻘﻮﻣﻲ
NSAﺗﻢ ﻋﻤﻞ ﺧﻮارزﻣﯿﺔ . DES
DESھﻲ اﺣﺪ ﺷﻔﺮات اﻟﻜﺘﻞ ، Block Cipherوﺗﺄﺧﺬ ﻣﻔﺘﺎح ﺑﻄﻮل 56ﺑﺖ ،وﺗﻌﻤﻞ ﻋﻠﻰ ﻛﺘﻠﮫ
ﻃﻮﻟﮭﺎ 64ﺑﺖ .
وﻓﻲ اﻟﺜﻤﺎﻧﯿﻨﺎت ﻟﻢ ﯾﺘﻢ اﻛﺘﺸﺎف أي ﺛﻐﺮه ﻓﻲ DESﻟﺬﻟﻚ ﻛﺎﻧﺖ اﻗﻮي اﻟﺨﻮارزﻣﯿﺎت ﻓﻲ ذﻟﻚ اﻟﻮﻗﺖ،
وﻟﻜﺴﺮ أي رﺳﺎﻟﺔ ﻣﺸﻔﺮه ﺑﮭﺎ ﻟﻢ ﯾﻜﻦ ھﻨﺎك إﻻ اﺳﺘﺨﺪام ھﺠﻮم اﻟـ ، brute-forceوﻷن ﻃﻮل
اﻟﻤﻔﺘﺎح 56ﺑﺖ )ﻣﺪاه ﻣﻦ 0إﻟﻰ 72ﻛﻮارﻟﺪﯾﻮن( و اﻻﺟﮭﺰه ﺑﻄﯿﺌﺔ ﻟﻠﻐﺎﯾﺔ ،ﻓﻜﺎﻧﺖ ﻋﻤﻠﯿﮫ اﻟﻜﺴﺮ
ﺗﺘﻄﻠﺐ ﺳﻨﮫ ﻛﺎﻣﻠﺔ.
وﻓﻲ 1999وﻓﻲ اﺣﺪ اﻟﻤﺆﺗﻤﺮات ﺗﻢ ﻛﺴﺮ ھﺬه اﻟﺨﻮارزﻣﯿﺔ ﻓﻲ 24ﺳﺎﻋﺔ ﻣﻦ ﻗﺒﻞ the
Foundation Electronic Frontierاذا اﻟﻌﺎﻟﻢ ﯾﺠﺐ أن ﯾﻨﺘﻘﻞ إﻟﻰ ﺧﻮارزﻣﯿﺔ أﺧﺮى .
Triple DES
اﺣﺪ اﻟﺒﺪاﺋﻞ ﻛﺎﻧﺖ ﺧﻮارزﻣﯿﺔ Triple DESأو اﻟﺒﻌﺾ ﯾﺴﻤﻮھﺎ ، 3DESھﻲ ﺑﻜﻞ ﺑﺴﺎﻃﮫ DES
وﻟﻜﻦ ﺛﻼﺛﺔ ﻣﺮات ،ﯾﻌﻨﻲ ﺳﻮف ﺗﺪﺧﻞ اﻟﻜﺘﻠﺔ اﻷوﻟﻰ ) 16ﺑﺎﯾﺖ( إﻟﻰ اﻟﺨﻮارزﻣﯿﺔ ﺑﺎﻟﻤﻔﺘﺎح اﻷول ،
واﻟﻨﺎﺗﺞ ﺳﻮف ﯾﺪﺧﻞ إﻟﻰ اﻟﺨﻮارزﻣﯿﺔ ﻣﻊ اﻟﻤﻔﺘﺎح اﻟﺜﺎﻧﻲ ،واﻟﻨﺎﺗﺞ ﺳﻮف ﯾﺪﺧﻞ ﻣﻊ اﻟﻤﻔﺘﺎح اﻟﺜﺎﻟﺚ .
103
PDF created with pdfFactory Pro trial version www.pdffactory.com
ھﻨﺎ ﺳﻮف ﻧﺴﺘﺨﺪم ﺛﻼﺛﺔ ﻣﻔﺎﺗﯿﺢ ،ﻛﻞ ﻣﻨﮭﺎ ﺑﻄﻮل 56ﺑﺖ )أي ﻛﺄﻧﮭﺎ 168ﺑﺖ( ،ﻗﺪ ﺗﺴﺄل وﺗﻘﻮل
"اذا ﻛﺎﻧﺖ ﻛﺴﺮ ﻣﻔﺘﺎح واﺣﺪ ﯾﺄﺧﺬ 24ﺳﺎﻋﺔ ،اذا ﻛﺴﺮ ﺛﻼﺛﺔ ﻣﻔﺎﺗﯿﺢ ﺳﻮف ﯾﺄﺧﺬ 72ﺳﺎﻋﺔ" ھﻞ
ھﺬا ﺻﺤﯿﺢ ؟
اﻵن اﻟﻤﺨﺘﺮق ﺳﻮف ﯾﺠﺮب b=0 , c=0 a=0 ,وھﻮ ﻟﯿﺲ اﻟﻤﻔﺘﺎح اﻟﺼﺤﯿﺢ..
ﺑﻌﺪھﺎ ﺳﻮف ﯾﺠﺮب اﻟﻤﻔﺘﺎح c=0 a=1, b=0 ,وھﻮ ﻟﯿﺲ اﻟﻤﻔﺘﺎح اﻟﺼﺤﯿﺢ ..
)ﻣﻊ اﻟﻌﻠﻢ ﺑﺄن اﻷول aﺻﺤﯿﺢ( ﻟﻜﻦ ﻛﯿﻒ ﯾﻌﺮف اﻟﻤﺨﺘﺮق ذﻟﻚ ؟ اﻟﻨﺘﯿﺠﺔ ﻟﻢ ﺗﻈﮭﺮ ﺻﺤﯿﺤﺔ إﻻ اذا
ﻛﺎﻧﺖ اﻟﺜﻼﺛﺔ ﻣﻔﺎﺗﯿﺢ ﺻﺤﯿﺤﺔ واﻻ ﻓﺴﻮف ﯾﺪور ﻓﻲ ﺣﻠﻘﮫ ﻣﻔﺮﻏﮫ.
104
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻋﻠﻰ اﻟﻌﻤﻮم DES 3ﻟﮭﺎ ﻣﺸﻜﻠﮫ وھﻲ أﻧﮭﺎ ﺑﻄﺌﯿﮫ ﺟﺪا ،اﻟـ DESاﻟﻌﺎدﯾﺔ ھﻲ ﺑﻄﯿﺌﺔ ،ﻓﻤﺎ ﺑﺎﻟﻚ ﺑـ
DESﺛﻼث ﻣﺮات ،واﻏﻠﺐ اﻟﺘﻄﺒﯿﻘﺎت ﺗﺘﻄﻠﺐ اﻟﺴﺮﻋﺔ ﻓﻲ اﻟﻌﻤﻞ ،وھﺬه اﻟﺨﻮارزﻣﯿﺔ ﻻ ﺗﻨﻔﻊ
ﻷﻧﮭﺎ ﺑﻄﯿﺌﺔ ﺟﺪا ،اذا اﻟﻌﺎﻟﻢ ﻣﺮه أﺧﺮى ﺑﺤﺎﺟﮫ إﻟﻰ ﺧﻮارزﻣﯿﺔ!!
اﻟﺒﺪاﺋﻞ:
ﺑﻌﺪ ﻣﺸﻜﻠﮫ اﻟﺒﻂء ﻓﻲ ﺧﻮارزﻣﯿﺔ اﻟـ ، DES 3اﺗﺠﮫ اﻟﻌﺪﯾﺪ ﻣﻦ اﻷﻓﺮاد واﻟﺸﺮﻛﺎت ﻟﺘﻄﻮﯾﺮ
ﺧﻮارزﻣﯿﺎﺗﮭﻢ اﻟﺨﺎﺻﺔ وﻛﺎﻧﺖ اﻟﻨﺘﯿﺠﺔ أن ھﻨﺎك اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﺨﻮارزﻣﯿﺎت اﻟﺠﯿﺪة واﻟﺘﻲ ﺗﺄﺧﺬ ﻣﻔﺎﺗﯿﺢ
ﻣﺘﻐﯿﺮ اﻟﻄﻮل )وﻟﯿﺲ ﺛﺎﺑﺘﺔ اﻟﻄﻮل ﻛﻤﺎ ﻓﻲ ، ( DESﻣﻦ ھﺬه اﻟﺨﻮارزﻣﯿﺎت
. RC2, RC5, IDEA, CAST, SAFER, Blowfish
ھﺬه اﻟﺨﻮارزﻣﯿﺎت ﺑﺎﻟﺮﻏﻢ ﻣﻦ ﻗﻮﺗﮭﺎ ﻟﻢ ﺗﺼﺒﺢ واﺳﻌﺔ اﻻﻧﺘﺸﺎر ﻛﻤﺎ ﻓﻲ DESو . Triple DES
اذا اﻟﻌﺎﻟﻢ ﺑﺤﺎﺟﮫ ھﺬه اﻟﻤﺮة إﻟﻰ ﻣﻘﯿﺎس أو ﺧﻮارزﻣﯿﺔ واﺳﻌﺔ اﻻﻧﺘﺸﺎر ﻛـ DES
ﻧﺘﯿﺠﺔ ﻟﮭﺬا اﻷﻣﺮ ﻗﺎم اﻟﻤﻌﮭﺪ اﻟﻮﻃﻨﻲ ﻟﻠﻤﻌﺎﯾﯿﺮ National Institute of Standards and
Technologyاﺧﺘﺼﺎرا ، NISTﺑﺎﺳﺘﺪﻋﺎء ﺟﻤﯿﻊ اﻟﻤﮭﺘﻤﯿﻦ ﺑﮭﺬا اﻷﻣﺮ وﻛﻠﻔﺖ ﺑﻜﻞ ﻣﻨﮭﻢ ﺑﻌﻤﻞ
ﺧﻮازرﻣﯿﺘﮫ اﻟﺨﺎﺻﺔ وﻓﻲ اﻟﻨﮭﺎﯾﺔ أﻗﻮى ﺧﻮارزﻣﯿﺔ ﺳﻮف ﺗﻜﻮن ھﻲ اﻟﻤﻘﯿﺎس اﻟﺠﺪﯾﺪ ، AESوﻗﺪ
ﻗﺪﻣﺖ 15ﺧﻮارزﻣﯿﺔ )ﻣﻨﮭﺎ اﻟﻘﻮي وﻣﻨﮭﺎ اﻟﻀﻌﯿﻒ( .
وﻓﻲ 1999ﻗﺎﻣﺖ NISTﺑﺎﺧﺘﯿﺎر أﻓﻀﻞ 5ﺧﻮارزﻣﯿﺎت ﺑﻌﺪ إﺟﺮاء اﻟﻌﺪﯾﺪ ﻣﻦ اﻻﺧﺘﺒﺎرات ،وﻗﺪ
ﺟﻌﻠﺖ اﻷﻣﺮ ﺑﺎﻟﺘﺼﻮﯾﺖ ﻷﻓﻀﻞ ﺧﻮارزﻣﯿﺔ ،وﻓﻲ 2000ﺗﻢ اﺧﺘﯿﺎر ﺧﻮارزﻣﯿﺔ Rijndael
ﻛﺎﻟﻤﻘﯿﺎس اﻟﺠﺪﯾﺪ . AES
ﺗﻮﺻﻠﻨﺎ ﺳﺎﺑﻘﺎ إﻟﻰ أن اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ﯾﻘﻮم ﺑﺘﺸﻔﯿﺮ اﻟﺮﺳﺎﻟﺔ ﺑﻤﻔﺘﺎح ﻣﺎ ،ﺛﻢ ﯾﻘﻮم ﺑﻔﻚ
اﻟﺘﺸﻔﯿﺮ ﺑﻨﻔﺲ اﻟﻤﻔﺘﺎح ،ﻟﺬﻟﻚ ﻋﻤﻠﯿﮫ اﻟﺤﻔﺎظ ﻋﻠﻰ اﻟﻤﻔﺘﺎح أﻣﺮ ﻓﻲ ﻏﺎﯾﺔ اﻻھﻤﯿﮫ ،ﻓﺈذا اﻧﻜﺸﻒ
اﻟﻤﻔﺘﺎح اﻧﻜﺸﻔﺖ ﺟﻤﯿﻊ اﻷﺳﺮار ،ﻟﺬﻟﻚ ﯾﺠﺐ ﺣﻔﻆ اﻟﻤﻔﺘﺎح ﻓﻲ ﻣﻜﺎن اﻣﻦ ﺟﺪا ،ﻋﻤﻠﯿﮫ اﻟﺤﻔﺎظ ﻋﻠﻰ
اﻟﻤﻔﺘﺎح ﺗﺴﻤﻰ ﺑـ اداره اﻟﻤﻔﺘﺎح . Symmetric-Key Management
رﺑﻤﺎ اﻵن ﺗﺘﺴﺎءل"اذا ﻛﺎن ھﻨﺎك ﻣﻜﺎن أﺳﺘﻄﯿﻊ أن اﺣﻔﻆ ﻓﻲ اﻟﻤﻔﺘﺎح ،ﻓﻠﻤﺎذا ﻻ اﺣﻔﻆ اﻟﺮﺳﺎﻟﺔ ﻓﻲ
ذﻟﻚ اﻟﻤﻜﺎن وﻻ اﺣﺘﺎج إﻟﻰ اﻟﺘﺸﻔﯿﺮ" ؟
ﻓﻲ اﻟﺤﻘﯿﻘﺔ ﺣﻔﻆ ﻣﻔﺘﺎح اﻟﺘﺸﻔﯿﺮ ) 56ﺑﺖ ﻣﺜﻼ( ﯾﻜﻮن أﺳﮭﻞ ﻛﺜﯿﺮا ﻣﻦ ﺣﻔﻆ اﻟﺮﺳﺎﻟﺔ )ﺑﻌﺾ اﻷﺣﯿﺎن
ﺣﺠﻤﮭﺎ ﯾﻜﻮن ﻣﺌﺎت ﻣﻦ اﻟﻤﯿﻐﺎ ﺑﺎﯾﺖ ، ( MBﺑﺎﻻﺿﺎﻓﮫ إﻟﻰ ھﻨﺎك ﺣﻠﻮل ﻟﺤﻔﻆ اﻟﻤﻔﺘﺎح ﻋﻦ ﻃﺮﯾﻖ
ﺣﻔﻈﮭﺎ داﺧﻞ أﺟﮭﺰه ﺻﻐﯿﺮه ﻣﺼﻤﻤﺔ ﻟﮭﺬا اﻟﻐﺮض.
Password-Based Encryption
إن اﻟﻤﻔﺘﺎح اﻟﺬي ﻛﻨﺎ ﻧﺴﺘﺨﺪﻣﮫ ﻟﻠﺘﺸﻔﯿﺮ وﻓﻚ اﻟﺘﺸﻔﯿﺮ ﯾﺴﻤﻰ ﻓﻲ اﻟﺤﻘﯿﻘﺔ "ﺑﻤﻔﺘﺎح اﻟﺠﻠﺴﺔ session
، "keyوأﺣﺪ اﻟﻄﺮق ﻟﺤﻤﺎﯾﺔ ھﺬا اﻟﻤﻔﺘﺎح ھﻲ ﻋﻦ ﻃﺮﯾﻖ ﺗﺸﻔﯿﺮه أﯾﻀﺎ ،أي أن اﻟﻤﻔﺘﺎح )ﻣﻔﺘﺎح
اﻟﺠﻠﺴﺔ( ﯾﺤﺘﺎج إﻟﻰ ﻣﻔﺘﺎح آﺧﺮ ﻟﻜﻲ ﯾﺘﻢ ﺗﺸﻔﯿﺮه.
105
PDF created with pdfFactory Pro trial version www.pdffactory.com
ھﺬه اﻟﻌﻤﻠﯿﺔ ﺗﺴﻤﻰ ﺑﺎﻟـ password-based encryptionواﺧﺘﺼﺎرا . PBE
ﯾﻌﻨﻲ ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ session keyھﻮ اﻟﻤﻔﺘﺎح اﻟﺬي ﻧﺴﺘﺨﺪﻣﮫ ﻓﻲ اﻟﺘﺸﻔﯿﺮ وﻓﻚ اﻟﺘﺸﻔﯿﺮ
وﻣﻔﺘﺎح ﺗﺸﻔﯿﺮ اﻟﻤﻔﺘﺎح key encryption keyھﻮ اﻟﻤﻔﺘﺎح اﻟﺬي ﻧﺴﺘﺨﺪﻣﮫ ﻟﺘﺸﻔﯿﺮ ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ ،
واﺧﺘﺼﺎرا ﯾﺴﻤﻰ . KEK
اﻵن ﺑﻤﺎ أن اﻟﻤﻔﺘﺎح ) KEKﻣﻦ اﻵن وﺻﺎﻋﺪا ﻧﺴﻤﯿﮫ ﺑﮭﺬا اﻻﺳﻢ( ھﻮ اﻟﺬي ﯾﺴﺘﺨﺪم ﻟﺘﺸﻔﯿﺮ وﻓﻚ
ﺗﺸﻔﯿﺮ ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ ،اﻟﺴﺆال ھﻞ أﻧﺎ ﺑﺤﺎﺟﮫ إﻟﻰ ﺣﻤﺎﯾﺔ ھﺬا اﻟـ KEK؟
اﻟﺠﻮاب ،ھﻮ ﻻ ،ﻋﻨﺪﻣﺎ ﻧﺮﯾﺪ أن ﻧﺸﻔﺮ اﻟﻤﻌﻠﻮﻣﺎت ﻧﻘﻮم ﺑﺘﻮﻟﯿﺪ ھﺬا اﻟﻤﻔﺘﺎح )ﺑﺄﺣﺪ ﻃﺮق ﺗﻮﻟﯿﺪ
اﻷرﻗﺎم اﻟﻌﺸﻮاﺋﯿﺔ( ﺑﻌﺪھﺎ ﻧﻘﻮم ﺑﺎﺳﺘﺨﺪاﻣﮫ وﻣﻦ ﺛﻢ ﻧﺤﺬﻓﮫ ،وﻓﻲ ﺣﺎﻟﮫ ﻓﻚ اﻟﺘﺸﻔﯿﺮ ﻧﻘﻮم ﺑﺘﻮﻟﯿﺪ ھﺬا
اﻟﻤﻔﺘﺎح ﻣﺮه أﺧﺮى وﻧﺴﺘﺨﺪﻣﮫ وﻣﻦ ﺛﻢ ﻧﺤﺬﻓﮫ ،وﻓﻲ ﻣﺮﺣﻠﮫ ﺗﻮﻟﯿﺪ ھﺬا اﻟﻤﻔﺘﺎح ﯾﺠﺐ أن ﻧﺪﺧﻞ
ﺑﺎﺳﻮرد ﻣﻌﯿﻦ ﺳﻮاء ﻓﻲ ﻣﺮﺣﻠﮫ اﻟﺘﺸﻔﯿﺮ أو ﻓﻚ اﻟﺘﺸﻔﯿﺮ .
ﺑﺼﻮره ﻣﺒﺴﻄﮫ ،ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ Session keyھﻮ اﻟﺬي ﯾﺸﻔﺮ اﻟﻤﻌﻠﻮﻣﺎت وﻧﻘﻮم ﺑﺘﻮﻟﯿﺪه
ﻋﺸﻮاﺋﯿﺎ .
ﻣﻔﺘﺎح اﻟـ KEKھﻮ اﻟﺬي ﯾﺸﻔﺮ ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ وﻧﻘﻮم ﺑﺘﻮﻟﯿﺪه ﻋﻦ ﻃﺮﯾﻖ password-based
.encryption
ﻣﺎ ھﻮ ھﺬا اﻟﻤﻠﺢ ،ﺑﺎﻟﺘﺄﻛﯿﺪ ھﻮ ﻟﯿﺲ اﻟﺬي ﺗﺴﺘﺨﺪﻣﮫ ﻓﻲ اﻟﻄﻌﺎم ،وﺳﻮف ﻧﺘﻄﺮق ﻟﮫ ﺑﻌﺪ ﻗﻠﯿﻞ .
106
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻵن ﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ:
-1-ﻧﺪﺧﻞ اﻟﺒﺎﺳﻮرد اﻟﺬي أدﺧﻠﻨﺎه ﻓﻲ ﻋﻤﻠﯿﮫ اﻟﺘﺸﻔﯿﺮ
-2-ﻧﺄﺗﻲ ﺑﺎﻟﻤﻠﺢ اﻟﺬي اﺣﺘﻔﻈﻨﺎ ﺑﮫ ﻓﻲ ﻣﺮﺣﻠﮫ اﻟﺘﺸﻔﯿﺮ
-3-ﻧﺪﺧﻞ اﻟﻤﻠﺢ واﻟﺒﺎﺳﻮرد ﻓﻲ ﻧﻔﺲ اﻟﺨﻼط اﻟﺬي اﺳﺘﺨﺪﻣﻨﺎه ﻓﻲ ﻋﻤﻠﯿﮫ اﻟﺘﺸﻔﯿﺮ ،ﻓﻲ ﺣﺎل اﺧﺘﻠﻒ
اﺣﺪھﻢ ﺳﻮف ﯾﻜﻮن اﻟﻨﺎﺗﺞ ﻋﺒﺎرة ﻋﻦ KEKﺧﺎﻃﺊ ،وﻓﻲ ﺣﺎل ﻛﺎﻧﻮا ﺻﺤﯿﺤﯿﻦ ﻓﺎﻟﻨﺎﺗﺞ ھﻮ اﻟـ
KEKاﻟﺼﺤﯿﺢ
-4-ﻧﺴﺘﺨﺪم اﻟـ KEKﻟﻔﻚ ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ ،وﺑﻌﺪھﺎ ﻧﺴﺘﺨﺪم ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ ﻟﻔﻚ ﺗﺸﻔﯿﺮ اﻟﺮﺳﺎﻟﺔ..
واﻧﺘﮭﺖ اﻟﺨﻄﻮات ،واﻟﺼﻮرة اﻟﺘﺎﻟﯿﺔ ﺗﻮﺿﺢ اﻟﻌﻤﻠﯿﺔ :
دﻋﻨﺎ ﻧﻮﺿﺢ ﺑﻌﻀﺎ ﻣﻦ اﻟﻨﻘﺎط و اﻻﺳﺌﻠﮫ اﻟﺘﻲ رﺑﻤﺎ ﺳﺘﺘﺴﺎءل ﻋﻨﮭﺎ :
Mixing Algorithms and KEKﻟﻤﺎذا ﻧﺨﻠﻂ ﺑﯿﻦ اﻟﺒﺎﺳﻮرد واﻟﻤﻠﺢ ؟ ﻟﻤﺎذا ﻻ ﯾﻜﻮن اﻟﺒﺎﺳﻮرد
ھ ﻮ اﻟـ KEK
اﻟﺠﻮاب ،ﻻن اﻟﺒﺎﺳﻮرد ﻻ ﯾﺤﺘﻮي ﻋﻠﻰ اﻟﻜﺜﯿﺮ ﻣﻦ ، Entropyﻟﺬﻟﻚ ھﻮ ﻏﯿﺮ ﻛﺎﻓﻲ اﺑﺪآ ،ﻓﮭﻨﺎ
ﻧﺴﺘﺨﺪم ھﺬه اﻟﺨﻮارزﻣﯿﺔ ﻟﻠﺨﻠﻂ ﺑﯿﻦ اﻟﻤﻠﺢ واﻟﺒﺎﺳﻮرد وﺑﺬﻟﻚ اﻟﻨﺘﯿﺠﺔ أﻛﺜﺮ ﻋﺸﻮاﺋﯿﺔ..
107
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻣﺎ أھﻤﯿﮫ ھﺬا اﻟﻤﻠﺢ The Necessity of Salt؟
ھﺬا اﻟﻤﻠﺢ ﺑﺒﺴﺎﻃﮫ ﯾﺴﺘﺨﺪم ﻟﻤﻨﻊ ﻣﺤﺎوﻻت ﺗﺨﻤﯿﻦ اﻟﺒﺎﺳﻮرد ،ﻷﻧﮫ ﻓﻲ ﺣﺎﻟﮫ اﺳﺘﺨﺪﻣﻨﺎ اﻟﺒﺎﺳﻮرد ﻓﻘﻂ
ك KEKﻓﺎن اﻟﻤﺨﺘﺮق ﺑﻤﻜﺎﻧﮫ أن ﯾﻨﺸﺊ ﻗﺎﻣﻮس ﺑﮫ ﻛﻞ اﻏﻠﺐ اﻟﺒﺎﺳﻮردات واﻟﻤﻔﺎﺗﯿﺢ وﺑﻌﺪھﺎ ﯾﺒﺪأ
ﻓﻲ اﻟﺒﺤﺚ ﻋﻦ اﻟﺒﺎﺳﻮرد اﻟﺨﺎص ﺑﻚ ﻟﻜﻲ ﯾﻌﺮف اﻟـ ) KEKھﺬا اﻟﮭﺠﻮم ﯾﻌﺮف ﺑـ dictionary
. ( attack
ﻟﻜﻦ اذا اﺳﺘﺨﺪﻣﻨﺎ اﻟﻤﻠﺢ ،ﻓﺎن اﻟﻤﺨﺘﺮق ﻟﻜﻲ ﯾﻌﺮف اﻟـ KEKﯾﺠﺐ ﻓﻲ اﻟﺒﺪاﯾﺔ أن ﯾﻌﺮف ھﺬا اﻟﻤﻠﺢ
ﻟﻠﺒﺎﺳﻮرد اﻟﻔﻼﻧﻲ ھﻞ ھﻮ ﺻﺤﯿﺢ أم ﻻ ،اذا ﻛﺎن ﻏﯿﺮ ﺻﺤﯿﺢ ﯾﻘﻮم ﺑﺘﺠﺮﺑﺔ ﻣﻠﺢ أﺧﺮ ﻓﻲ ﻧﻔﺲ
اﻟﺒﺎﺳﻮرد اﻟﺴﺎﺑﻖ ،اذا ﻛﺎن ﻏﯿﺮ ﺻﺤﯿﺢ ﯾﻘﻮم ﺑﺘﺠﺮﺑﺔ ﻣﻠﺢ آﺧﺮ ﻓﻲ ﻧﻔﺲ اﻟﺒﺎﺳﻮرد ،ﺑﻌﺪھﺎ ﯾﻐﯿﺮ
اﻟﺒﺎﺳﻮرد وﯾﺠﺮب اﻷﻣﻼح ) (Jﻣﺮه أﺧﺮى ،وھﻜﺬا ﯾﻜﻮن اﻷﻣﺮ ﻃﻮﯾﻞ ﺟﺪا ﺟﺪا ﺟﺪا..
اﻵن وﺑﻌﺪ ﺗﺸﻔﯿﺮ ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ ﺑﺎﺳﺘﺨﺪام ﻣﻔﺘﺎح ، KEKھﻞ ﺗﻌﺘﺒﺮ ﻓﻲ أﻣﺎن ﻛﺎﻣﻞ ﻣﻦ ﺟﻤﯿﻊ
اﻟﮭﺠﻤﺎت ؟
ﺑﺎﻟﻄﺒﻊ ﻻ ،ﻻن اﻟﻤﺨﺘﺮق ﺑﺈﻣﻜﺎﻧﮫ ﻋﻤﻞ ھﺠﻮم ﻋﻠﻰ اﻟﻤﻔﺘﺎح ) KEKھﺠﻮم اﻟﻘﻮه اﻟﻌﻨﯿﻔﺔ ( Brute
Force attackوﯾﻘﻮم ﺑﺘﺠﺮﺑﺔ ﻣﻔﺘﺎح ﻣﻔﺘﺎح إﻟﻰ أن ﯾﺼﻞ إﻟﻰ اﻟﻤﻄﻠﻮب .
أو ﺑﺈﻣﻜﺎﻧﮫ ﻋﻤﻞ ھﺠﻮم ﻋﻠﻰ اﻟﺒﺎﺳﻮرد ) ، ( Brute Force Attackوﯾﻘﻮم ﺑﺈدﺧﺎل اﻟﺒﺎﺳﻮرد
واﻟﻤﻠﺢ ﻓﻲ اﻟﺨﻼط ،ﺑﻌﺪھﺎ ﯾﺄﺧﺬ اﻟﻨﺎﺗﺞ KEKوﯾﻔﻚ ﺗﺸﻔﯿﺮ ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ وﺑﻌﺪھﺎ ﯾﻔﻚ ﺗﺸﻔﯿﺮ
اﻟﺒﯿﺎﻧﺎت ،وإذا ﻟﻢ ﯾﺼﻠﺢ اﻟﺒﺎﺳﻮرد ﯾﻘﻮم ﺑﺘﻐﯿﯿﺮه واﺧﺘﯿﺎر واﺣﺪ أﺧﺮ .
ﻗﺪ ﺗﺒﺪو اﻟﻌﻤﻠﯿﺔ ﻃﻮﯾﻠﺔ ،ﻟﻜﻦ ﻓﻲ اﻟﺤﻘﯿﻘﺔ أﺳﺎﻟﯿﺐ ھﺠﻮم Brute Forceﻗﺪ ﺗﺄﺧﺬ أﺳﺎﻟﯿﺐ ﻣﺘﻄﻮرة ،
ﻣﺜﻼ ﻋﻤﻞ اﻟﺒﺮﻧﺎﻣﺞ ﺑﺎﻟﺘﻮازي in parallelوھﻨﺎ ﺳﻮف ﯾﺴﺘﻔﯿﺪ ﻣﻦ ﻋﻤﻞ اﻟﻤﻌﺎﻟﺞ ﺑﺸﻜﻞ ﻛﺒﯿﺮ ،
أﯾﻀﺎ ﻣﻦ اﻟﻤﻤﻜﻦ أن ﯾﻌﻤﻞ أﻛﺜﺮ ﻣﻦ ﺟﮭﺎز ﻓﻲ ﻋﻤﻠﯿﮫ اﻟﻜﺴﺮ .
108
PDF created with pdfFactory Pro trial version www.pdffactory.com
أﯾﻀﺎ ﻣﻦ اﻟﻤﻤﻜﻦ أن ﯾﻘﻮم اﻟﻤﺨﺘﺮق ﺑﺎﺳﺘﺨﺪام ھﺠﻮم اﻟﻘﺎﻣﻮس dictionary Attackوھﻨﺎ ﯾﻘﻮم
ﺑﻌﻤﻞ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﻷﻏﻠﺐ اﻟﺒﺎﺳﻮردات ﻓﻲ ﺟﻤﯿﻊ اﻟﻠﻐﺎت ،ﺑﻌﺪھﺎ ﯾﻘﻮم ﺑﺘﺠﺮﺑﺔ ھﺬه اﻟﺒﺎﺳﻮردات .
وھﺬا اﻟﮭﺠﻮم ﺑﺎﻟﻄﺒﻊ أﺳﺮع ﻣﻦ ھﺠﻮم اﻟـ Brute Forceﻷﻧﮫ ﯾﻜﻮن ﻣﺤﺪود ﻋﻠﻰ ﻣﺠﻤﻮﻋﮫ ﻣﻦ
اﻟﺒﺎﺳﻮردات .
ﻟﺘﻔﺎدي أﻧﻮاع اﻟﮭﺠﻮم ﻓﻲ ﻣﺮﺣﻠﮫ اﺧﺘﯿﺎر اﻟﺒﺎﺳﻮرد ﯾﺠﺐ اﺧﺘﯿﺎر ﺑﺎﺳﻮرد ﻗﻮي ﻣﺜﻞ
14G:c*%3 wM*-l6g]_Bnp? d86
اﻟﺒﺎﺳﻮرد اﻟﺴﺎﺑﻖ ﺟﯿﺪ ﺟﺪا ﺑﻞ ﻣﻤﺘﺎز وﯾﺼﻌﺐ ﺗﺨﻤﯿﻨﮫ ،ﻟﻜﻦ ﻣﻦ اﻟﺬي ﯾﺴﺘﻄﯿﻊ أن ﯾﺤﻔﻆ ﻣﺜﻞ ھﺬا
اﻟﺒﺎﺳﻮرد ؟ ﻻ أﺣﺪ ﺑﺎﻟﻄﺒﻊ ،ﻋﻠﻰ اﻟﻌﻤﻮم اذا ﻛﺎﻧﺖ ﻟﺪﯾﻚ اﻟﻘﺪرة ﻓﻲ ﺣﻔﻆ ﻣﺜﻞ ھﺬا اﻟﺒﺎﺳﻮرد ،ﻓﻠﻦ
ﺗﻜﻮن ﻟﺪﯾﻚ أي ﻣﺸﻜﻠﮫ ﺑﻌﺪ اﻵن .
و اﻟﺘﻮﺻﯿﺎت واﻟﻤﻘﺎﻻت ﺑﺸﺄن اﺧﺘﯿﺎر ﻛﻠﻤﺎت اﻟﺴﺮ ھﻲ ﻛﺜﯿﺮة ،واﺷﮭﺮ اﻟﺨﻄﻮات ھﻲ أن ﯾﻜﻮن
ﻣﻜﻮن ﻣﻦ ﻋﺪه أرﻗﺎم وﺣﺮوف ﺑﺸﻜﻞ ﻣﺨﺘﻠﻂ وﻋﻠﻰ اﻗﻞ ﺗﻘﺪﯾﺮ 10ﺣﺮوف ،أﯾﻀﺎ اﺳﺘﺨﺪام ﺑﺎﺳﻮرد
ﻣﺨﺘﻠﻒ ﻟﻜﻞ ﺣﺴﺎب ،وﻋﺪم اﺳﺘﺨﺪام ﻛﻠﻤﺎت ﻣﻌﺮوﻓﮫ ﻣﺜﻞ اﻷﺳﻤﺎء وأرﻗﺎم اﻟﮭﺎﺗﻒ أو ﻣﺎ ﺷﺎﺑﮫ .
ال Tokenﺑﻌﺾ اﻷﺣﯿﺎن ﺗﻜﻮن ﺑﻄﺎﻗﺔ ﺑﻼﺳﺘﯿﻜﯿﺔ ،أو ﺑﻄﺎﻗﺔ ذﻛﯿﮫ )ﺗﺤﺘﻮي ﻋﻠﻰ ﺟﮭﺎز داﺧﻠﮭﺎ( ،
أو ﺣﺘﻰ ﺧﺎﺗﻢ ﺻﻐﯿﺮ ،أو ﺟﮭﺎز ﯾﻮﺻﻞ ﺑﻔﺘﺤﮫ ، USBھﺬه اﻟـ Tokenﺗﺤﺘﻮي ﻋﻠﻰ ﻣﻌﺎﻟﺞ ﺻﻐﯿﺮ
ﺑﺪاﺧﻠﮭﺎ ،وذاﻛﺮه ﺻﻐﯿﺮ اﻟﺤﺠﻢ ﻃﺒﻌﺎ اﻟﻤﻮاﺻﻔﺎت ﺑﯿﻨﮭﺎ ﺗﺨﺘﻠﻒ ﻋﻠﻰ ﺣﺴﺐ اﻟﺸﺮﻛﺔ اﻟﻤﺼﻨﻌﺔ ﻟﮭﺎ ،
ﺑﻌﺾ ھﺬه ال Tokenﯾﺄﺗﻲ ﺑﺬاﻛﺮه ﻛﺒﯿﺮة ﻣﺜﻞ ﻧﻮع اﺳﻤﮫ . 1970s era PC :
109
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻟﻤﯿﺰة اﻻﺳﺎﺳﯿﮫ ﻓﻲ ھﺬه اﻟـ Tokenھﻮ أن اﻟﻤﺨﺘﺮق ﻻ ﯾﺴﺘﻄﯿﻊ اﻟﻮﺻﻮل إﻟﯿﮭﺎ ،وﺣﺘﻰ إن
اﺳﺘﻄﺎع ﺳﺮﻗﮫ اﺣﺪھﺎ ﻓﺈﻧﮭﺎ ﺗﻄﺎﻟﺐ ﺑﺒﺎﺳﻮرد ورﻗﻢ ، PINوﻓﻲ ﺣﺎل اﺧﻄﺄ اﻟﻤﺨﺘﺮق إدﺧﺎل اﻟﺮﻗﻢ
ﻋﺪه ﻣﺮات ﺳﻮف ﯾﺒﺪأ ﻧﻈﺎم اﻟﺤﺬف ﺗﻠﻘﺎﺋﻲ ،ﯾﻌﻨﻲ ﯾﺼﻌﺐ ﺟﺪا اﺧﺘﺮاﻗﮭﺎ .
اﺣﺪ اﻻﺳﺘﺨﺪاﻣﺎت اﻷﺧﺮى ﻟﮭﺬه اﻟـ Tokenﺑﺎﻻﺿﺎﻓﮫ إﻟﻰ ﺣﻔﻆ اﻟﻤﻔﺎﺗﯿﺢ ،ھﻲ ﺣﻔﻆ اﻟﺒﺎﺳﻮردات ،
ﻣﺜﻼ ﻛﺎن ﻟﺪﯾﻚ ﻋﺪه ﺑﺎﺳﻮردات ﻟﻌﺪه ﻣﻮاﻗﻊ ،ﻟﻼﯾﻤﯿﻞ واﻟﺸﺎت واﻟﻤﻨﺘﺪى وﻛﻞ ﺑﺎﺳﻮرد ﻣﺨﺘﻠﻒ ﻋﻦ
اﻵﺧﺮ ،أﺳﮭﻞ ﻃﺮﯾﻘﮫ ھﻲ ﺣﻔﻆ ھﺬه اﻟﺒﺎﺳﻮردات داﺧﻞ اﻟـ ، Tokenوﻋﻨﺪﻣﺎ ﺗﺮﯾﺪ اﻟﺪﺧﻮل ﻣﺜﻼ
إﻟﻰ ﺑﺮﯾﺪك ﻗﻢ ﺑﺘﺮﻛﯿﺐ ﺟﮭﺎز اﻟـ Tokenﺑﻌﺪھﺎ ﺗﺄﺧﺬ اﻟﺒﺎﺳﻮرد اﻟﻤﻄﻠﻮب.
Crypto Accelerators
اﻻﺟﮭﺰه اﻟﻜﺒﯿﺮة اﻟﺘﻲ ﺗﺴﺘﺨﺪم ﻓﻲ ﻋﻤﻠﯿﮫ ﺣﻔﻆ اﻟﻤﻔﺎﺗﯿﺢ ﺗﺴﻤﻰ ﺑـ ، crypto acceleratorsھﺬه
اﻻﺟﮭﺰه ﻟﮭﺎ ﻣﯿﺰه ﺟﯿﺪه ﺟﺪا ،وھﻲ ﺗﺤﺘﻮي ﻋﻠﻰ ﻣﻌﺎﻟﺞ ذﻛﻲ ﺧﺎص ﺑﮭﺎ ،ﻓﻲ ﺣﺎل ﺗﻢ ﺳﺮﻗﮫ اﺣﺪ
ھﺬه اﻻﺟﮭﺰه وﻗﺎم اﻟﻤﺨﺘﺮق ﺑﻤﺤﺎوﻟﮫ ﻓﺘﺢ اﻟﺠﮭﺎز أو اﺳﺘﺨﺪام أي ﻃﺮﯾﻘﮫ ﻣﻦ ﻃﺮق اﺳﺘﻌﺎده اﻟﺒﯿﺎﻧﺎت
،ﻓﯿﻘﻮم اﻟﻤﻌﺎﻟﺞ ﺑﺤﺬف ﺟﻤﯿﻊ اﻟﺒﯿﺎﻧﺎت واﻟﻤﻔﺎﺗﯿﺢ.
110
PDF created with pdfFactory Pro trial version www.pdffactory.com
أﯾﻀﺎ ھﺬه اﻻﺟﮭﺰه ﺗﺄﺗﻲ ﺑﻤﻮﻟﺪات ﻟﻸﻋﺪاد اﻟﻌﺸﻮاﺋﯿﺔ اﻟﺼﺤﯿﺤﺔ RNGوﺑﻌﻀﮭﺎ ﯾﺄﺗﻲ ﻣﻮﻟﺪات
ﻷﻋﺪاد ﻋﺸﻮاﺋﯿﺔ ﻣﺰﯾﻔﮫ ، PRNGﻟﻜﻦ ﺗﻜﻮن ﺗﮭﯿﺌﮫ اﻟـ Seedﻣﻦ اﻟﻤﺼﻨﻊ )ﻟﻜﻨﮭﺎ ﻓﻲ اﻟﻨﮭﺎﯾﺔ
. ( Pseudo
Biometrics
اﻻﺟﮭﺰه اﻟﺴﺎﺑﻘﺔ اﻟﺘﻲ ذﻛﺮﻧﺎھﺎ ﺳﻮاء Tokenأو crypto acceleratorsﺗﻌﺘﺒﺮ ﺧﯿﺎر ﻣﻤﺘﺎز ﻓﻲ
ﻋﻤﻠﯿﮫ ﺣﻔﻆ اﻟﻤﻔﺎﺗﯿﺢ و اﻟﺒﺎﺳﻮردات ،ﻟﻜﻦ ﻓﻲ اﻟﺤﻘﯿﻘﺔ ھﺬه اﻻﺟﮭﺰه ﻻ ﺗﻜﻔﻲ ﻟﻀﻤﺎن اﻷﻣﻦ اﻟﺘﺎم ،
وﺑﺎﻟﺬات ﻓﻲ اﻟﺠﮭﺎت اﻟﺘﻲ ﯾﺮاد اﻟﺤﻔﺎظ ﻋﻠﻰ اﻟﻤﻌﻠﻮﻣﺎت ﺑﺼﻮره ﺗﺎﻣﺔ ،ﻻن ھﺬه اﻻﺟﮭﺰه ﻗﺪ ﺗﺴﺮق
وﯾﺴﺮق اﻟﺒﺎﺳﻮرد وﺑﻌﺪھﺎ ﯾﺼﻞ اﻟﻤﺨﺘﺮق إﻟﻰ اﻟﺒﯿﺎﻧﺎت .
ﻟﺬﻟﻚ ﺗﻢ اﺧﺘﺮاع اﻟـ Biometricsوھﻲ ﻋﺪه ﻃﺮق ﺗﺴﺘﺨﺪم ﻟﻠﺘﺄﻛﺪ ﻣﻦ اﻟﺸﺨﺺ اﻟﺬي ﯾﺤﺎول
اﻟﻮﺻﻮل إﻟﻰ اﻟﺒﯿﺎﻧﺎت ھﻮ اﻟﺸﺨﺺ اﻟﻤﺴﻤﻮح ﻟﮫ ،ﻣﺜﻼ ﺟﮭﺎز اﻟﺘﺄﻛﺪ ﻋﻦ ﻃﺮﯾﻖ ﺑﺼﻤﮫ اﻹﺻﺒﻊ ،
وﻃﺒﻌﺎ ﻣﻦ اﻟﻤﺴﺘﺤﯿﻞ أن ﺗﻜﻮن ھﻨﺎك ﺑﺼﻤﺘﯿﻦ ﻣﺘﺸﺎﺑﮭﺘﯿﻦ )ﺣﺘﻰ ﻓﻲ اﻟﺘﻮاﺋﻢ( ،ﺑﻌﺾ ھﺬه اﻻﺟﮭﺰه
ﺗﺴﺘﻄﯿﻊ ﻣﻌﺮﻓﮫ اﻹﺻﺒﻊ ھﻞ ھﻮ ﻣﻦ إﻧﺴﺎن ﺣﻲ أم ﻣﻦ إﻧﺴﺎن ﻣﯿﺖ أو إﺻﺒﻊ ﻣﻘﻄﻮع!
أﯾﻀﺎ ھﻨﺎك أﺟﮭﺰه ﻟﻤﺴﺢ ﺷﺒﻜﯿﮫ اﻟﻌﯿﻦ ،وأﺟﮭﺰه ﻟﻠﺘﻌﺮف ﻋﻠﻰ ﻧﺒﺮه اﻟﺼﻮت ،وأﺟﮭﺰه ﻟﻠﺘﻌﺮف
ﻋﻦ ﻃﺮﯾﻖ اﻟـ DNAوﻏﯿﺮھﺎ ،ﻋﻠﻰ اﻟﻌﻤﻮم ھﺬه اﻻﺟﮭﺰه ﻏﯿﺮ ﻣﻨﺘﺸﺮة ﺑﺸﻜﻞ ﻛﺒﯿﺮ )ﺣﺎﻟﯿﺎ( ﺑﺴﺒﺐ
111
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺗﻜﻠﻔﺘﮭﺎ اﻟﻌﺎﻟﯿﺔ ،وأﯾﻀﺎ ﺑﺴﺒﺐ أﻧﮭﺎ ﻏﯿﺮ ﻣﻮﺛﻮﻗﮫ ﺑﺸﻜﻞ أﻛﯿﺪ ،ﯾﻌﻨﻲ ﻣﺜﻼ اذا أﺻﯿﺐ اﻹﺻﺒﻊ ﺑﺠﺮح
ھﻞ ﯾﺴﺘﻄﯿﻊ اﻟﺠﮭﺎز اﻟﺘﻌﺮف ﻋﻠﯿﮫ ،ﻓﻲ ﺣﺎل اﺳﺘﺨﺪام ﻧﺒﺮه اﻟﺼﻮت وأﺻﯿﺐ اﻟﺸﺨﺺ ﺑﻨﻮﺑﺔ ﺑﺮد أو
اﻟﺘﮭﺎب ﻓﻲ اﻟﺤﻠﻖ ،ھﻞ ﯾﺴﺘﻄﯿﻊ اﻟﺠﮭﺎز اﻟﺘﻌﺮف ﻋﻠﻰ اﻟﺼﻮت!
ﺑﺎﻟﺘﺄﻛﯿﺪ ﻣﻊ ﺗﻄﻮر اﻟﻌﻠﻮم وﺧﺎﺻﺔ اﻟﺬﻛﺎء اﻻﺻﻄﻨﺎﻋﻲ ﻓﺎﻧﮫ ﻗﺪ ﯾﺄﺗﻲ ﯾﻮﻣﺎ ﯾﺘﻢ زرع ﺟﮭﺎز ﻛﻤﺒﯿﻮﺗﺮ
ﺷﺨﺼﻲ داﺧﻞ دﻣﺎغ أي إﻧﺴﺎن وﯾﻜﻮن اﻟﺘﻌﺮف ﻋﻦ ﻃﺮﯾﻖ ﻗﺮاﺋﮫ ھﺬا اﻟﺠﮭﺎز )ﻗﺪ ﻗﺮأت ﻣﻦ ﻓﺘﺮه
ﻋﻦ أﻣﺮ ﻣﺸﺎﺑﮫ ﻣﻦ ﺷﺮﻛﮫ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ( .
ﺗﻌﺮﻓﻨﺎ ﻗﺒﻞ ﻗﻠﯿﻞ ﻋﻠﻰ ﺑﻌﻀﺎ ﻣﻦ أﺳﺎﻟﯿﺐ ﺣﻤﺎﯾﺔ اﻟﻤﻔﺘﺎح )ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ( ،وﯾﻜﻮن إﻣﺎ ﻋﻦ ﻃﺮﯾﻖ
ﺗﺸﻔﯿﺮه ﻣﺮه أﺧﺮى ) ، (PBEأو ﻋﻦ ﻃﺮﯾﻖ ﺗﺨﺰﯾﻦ اﻟﻤﻔﺘﺎح ﻓﻲ اﺣﺪ اﻷﺟﮭﺰة اﻟﺨﺎﺻﺔ ﻟﺬﻟﻚ
،Tokenإﻟﻰ ھﻨﺎ اﻷﻣﺮ ﺗﺤﺖ اﻟﺴﯿﻄﺮة ،ﻟﻜﻦ ﻣﺎذا اذا أردﻧﺎ أن ﻧﺮﺳﻞ اﻟﻤﻔﺘﺎح إﻟﻰ ﺷﺨﺺ آﺧﺮ
ﺣﺘﻰ ﯾﻘﻮم ﺑﻔﻚ ﺗﺸﻔﯿﺮ اﻟﺮﺳﺎﻟﺔ اﻟﺘﻲ ﺳﻮف أرﺳﻠﮭﺎ ﻟﮫ ) ﺗﺬﻛﺮ أن اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ،اﻟﻤﻔﺘﺎح
ﻧﻔﺴﮫ ﯾﻘﻮم ﺑﺎﻟﺘﺸﻔﯿﺮ وﻓﻚ اﻟﺘﺸﻔﯿﺮ(.
ﺑﻌﺒﺎرة ﻣﺒﺴﻄﮫ ،ﻓﻲ ﺣﺎل ﻗﻤﺖ ﺑﺘﺸﻔﯿﺮ رﺳﺎﻟﺔ ﻣﺎ ﺑﮭﺬا اﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ،ﺑﻌﺪھﺎ أرﺳﻠﺖ اﻟﺮﺳﺎﻟﺔ إﻟﻰ
اﻟﺸﺨﺺ اﻟﺬي أرﯾﺪ ،ﻓﻲ ﺣﺎل وﺻﻠﺖ اﻟﺮﺳﺎﻟﺔ ﻟﻠﺸﺨﺺ ھﺬا ﺳﻮف ﺗﻜﻮن ﻏﯿﺮ ﻣﻔﮭﻮﻣﮫ وذﻟﻚ ﻻن
اﻟﻤﻔﺘﺎح اﻟﺬي ﯾﻔﻚ اﻟﺘﺸﻔﯿﺮ ﻣﻌﻲ واﻟﻰ اﻵن ﻟﻢ أرﺳﻠﮫ ﻟﻠﺸﺨﺺ اﻟﻤﺮاد ،أﯾﻀﺎ ﻓﻲ ﺣﺎل ﻛﺎن ھﻨﺎك
ﻣﺨﺘﺮق ووﺻﻠﺖ اﻟﺮﺳﺎﻟﺔ إﻟﯿﮫ ﺑﻄﺮﯾﻘﮫ ﻣﺎ )ﺳﻮاء ﻗﺎم ﺑﺎﺧﺘﺮاق ﺟﮭﺎز اﻟﺸﺨﺺ اﻟﺬي أرﺳﻠﺖ ﻟﮫ
اﻟﺮﺳﺎﻟﺔ ،أو ﻗﺎم ﺑﺎﻟﺘﻘﺎط اﻟﺮﺳﺎﻟﺔ أﺛﻨﺎء إرﺳﺎﻟﮭﺎ ( اﻟﻤﮭﻢ ﺳﻮف ﺗﻜﻮن اﻟﺮﺳﺎﻟﺔ أﯾﻀﺎ ﻏﯿﺮ ﻣﻔﮭﻮﻣﮫ ﻷﻧﮫ
ﻻ ﯾﻤﻠﻚ اﻟﻤﻔﺘﺎح.
اذا اﻟﺴﺆال ھﻨﺎ ،ﻛﯿﻒ ﯾﻤﻜﻦ أن أرﺳﻞ اﻟﻤﻔﺘﺎح ﺑﻄﺮﯾﻘﮫ آﻣﻨﮫ إﻟﻰ اﻟﺸﺨﺺ اﻟﺬي أرﯾﺪ ،وﻓﻲ ﻧﻔﺲ
اﻟﻮﻗﺖ ﻻ ﯾﺴﺘﻄﯿﻊ اﻟﻤﺨﺘﺮق اﻟﺤﺼﻮل ﻋﻠﯿﮫ ؟؟
ھﺬه اﻟﻤﺸﻜﻠﺔ ﺗﺴﻤﻰ ﺑﻤﺸﻜﻠﮫ إرﺳﺎل اﻟﻤﻔﺘﺎح ، Key Distribution Problemواﻟﺘﻲ ﺑﺴﺒﺒﮭﺎ
ﺗﻢ اﺧﺘﺮاع اﻟﻄﺮﯾﻘﮫ اﻷﺧﺮى ﻓﻲ اﻟﺘﺸﻔﯿﺮ وھﻲ اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح ﻏﯿﺮ اﻟﻤﺘﻨﺎﻇﺮ Asymmetric
. key Cryptography
ﻗﺒﻞ اﻟﺨﻮض ﻓﻲ اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح ﻏﯿﺮ اﻟﻤﺘﻨﺎﻇﺮ وﺟﺪت ﺑﻌﻀﺎ ﻣﻦ اﻟﺤﻠﻮل اﻟﺘﻲ ﻗﺪ ﺗﻜﻮن ﻣﻨﺎﺳﺒﺔ
ﻟﺤﺎﻟﺘﻚ )أي ﻗﺪ ﺗﺴﺘﻄﯿﻊ اﻻﻛﺘﻔﺎء ﺑﮭﺎ( ،ھﺬه اﻟﺤﻠﻮل ھﻲ :
-إرﺳﺎل اﻟﻤﻔﺘﺎح ﻗﺒﻞ ﻋﻤﻠﯿﮫ اﻹرﺳﺎل
-اﺳﺘﺨﺪام ﻃﺮف ﺛﺎﻟﺚ ﻣﻮﺛﻮق ، Trusted Third PartyاﺧﺘﺼﺎراTTP
112
PDF created with pdfFactory Pro trial version www.pdffactory.com
اﻟﺸﺨﺺ اﻟﻤﺮاد .ھﻜﺬا أﻛﻮن ﻣﺘﺄﻛﺪ أن اﻟﻤﺨﺘﺮق ﻻ ﯾﺴﺘﻄﯿﻊ ﻣﻌﺮﻓﮫ اﻟﻤﻔﺘﺎح ﻷﻧﮫ ﺣﺎﻟﯿﺎ ﻻ ﯾﻮﺟﺪ )إﻻ
اذا ﻛﺎن واﺿﻊ ﺑﻌﻀﺎ ﻣﻦ ﺑﺮاﻣﺞ اﻟﺘﺮوﺟﺎن key loggerوﺑﮭﺬا ﻗﺪ ﯾﻌﺮف اﻟﻤﻔﺘﺎح ،ﻟﻜﻦ ﻧﺴﺘﺒﻌﺪ
ھﺬا اﻷﻣﺮ ﺑﻔﺮض اﻧﮫ أﺟﮭﺰﺗﻨﺎ ﻣﺤﻤﯿﺔ ﻣﻦ اﻟﺘﺮوﺟﻨﺎت( .
اﻵن ﻋﻨﺪﻣﺎ أرﯾﺪ أن أرﺳﻞ رﺳﺎﻟﺔ ﻣﺎ ﻟﺼﺪﯾﻘﻲ ،أﻗﻮم ﺑﺘﺸﻔﯿﺮ اﻟﺮﺳﺎﻟﺔ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ،وأرﺳﻠﮭﺎ
ﻟﮫ وﺳﻮف ﯾﻘﻮم ﺑﻔﻚ ﺗﺸﻔﯿﺮھﺎ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ اﻟﺬي أﻋﻄﯿﺘﮫ إﯾﺎه أﺛﻨﺎء اﻟﻠﻘﺎء.
ﺣﺴﻨﺎ ،ﻣﺎذا ﻟﻮ ﻛﺎن اﻟﺸﺨﺺ ﻓﻲ ﺑﻠﺪ ﺑﻌﯿﺪ أو ﻋﻠﻰ اﻗﻞ ﺗﻘﺪﯾﺮ ﻻ أﺳﺘﻄﯿﻊ اﻟﻠﻘﺎء ﺑﮫ ؟
ﺑﺎﻟﻄﺒﻊ ﻟﻦ أرﺳﻞ اﻟﻤﻔﺘﺎح ﻋﻦ ﻃﺮﯾﻖ اﻻﻧﺘﺮﻧﺖ ﻷﻧﮭﺎ ﺷﺒﻜﮫ ﻏﯿﺮ ﻣﺤﻤﯿﺔ واﺣﺘﻤﺎل ﺗﻮاﺟﺪ اﻟﻤﺨﺘﺮق
ﻻﻟﺘﻘﺎط اﻟﻤﻔﺘﺎح ﻛﺒﯿﺮ ﺟﺪا ،اذا ﻣﺎ اﻟﺤﻞ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ؟
ھﻨﺎ أﻗﻮم ﺑﺘﺸﻔﯿﺮ اﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ﻋﻦ ﻃﺮﯾﻖ اﻟـ ) KEKﻃﺒﻌﺎ ﻻزم ادﺧﻞ ﺑﺎﺳﻮرد ﻣﻌﯿﻦ( ،ﺑﻌﺪھﺎ
أﻗﻮم ﺑﺈرﺳﺎل اﻟﻤﻔﺘﺎح اﻟﻨﺎﺗﺞ إﻟﻰ ﺻﺪﯾﻘﻲ ﻋﻦ ﻃﺮﯾﻖ اﻻﻧﺘﺮﻧﺖ ،ﻓﻲ ﺣﺎل ﺣﺼﻞ اﻟﻤﺨﺘﺮق ﻋﻠﻰ
اﻟﻤﻔﺘﺎح اﻟﻤﺸﻔﺮ ﻓﺈﻧﮫ ﻻ ﯾﺴﺘﻄﯿﻊ اﻟﺤﺼﻮل ﻋﻠﻰ ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ ﻷﻧﮫ ﺑﻜﻞ ﺑﺴﺎﻃﮫ ﯾﻮﺟﺪ ﺑﺎﺳﻮرد وھﻮ
ﻻ ﯾﻤﻠﻜﮫ ،أﯾﻀﺎ ﺻﺪﯾﻘﻲ ﻧﻔﺲ اﻟﺤﺎﻟﺔ ﯾﺠﺐ أن ﯾﺤﺼﻞ ﻋﻠﻰ اﻟﺒﺎﺳﻮرد ﺣﺘﻰ ﯾﻔﻚ ﺗﺸﻔﯿﺮ اﻟﻤﻔﺘﺎح
وﺑ ﺎﻟﺘﺎﻟﻲ ﯾﻔﻚ ﺗﺸﻔﯿﺮ اﻟﺮﺳﺎﻟﺔ ،ﻛﯿﻒ ﯾﻤﻜﻦ أن أرﺳﻞ اﻟﺒﺎﺳﻮرد ؟؟
ھﻨﺎ وﺑﻜﻞ ﺑﺴﺎﻃﮫ ﯾﻤﻜﻨﻚ إرﺳﺎﻟﮫ ﻋﻦ ﻃﺮﯾﻖ ﻣﺜﻼ اﻟﮭﺎﺗﻒ ،وھﻜﺬا ﻟﻦ ﯾﺤﺼﻞ ﻋﻠﯿﮫ اﻟﻤﺨﺘﺮق .اذا
ﻛﻨﺖ ﺗﻌﺘﻘﺪ اﻧﻚ ﻣﺮاﻗﺐ ﺑﻜﻞ اﻟﻮﺳﺎﺋﻞ اﻟﻤﻤﻜﻨﺔ )اﻟﮭﺎﺗﻒ ،اﻻﻧﺘﺮﻧﺖ ،اﻟﻤﻘﺎﺑﻠﺔ اﻟﺸﺨﺼﯿﺔ( ﻓﺒﺎﻟﺘﺄﻛﯿﺪ
ھﺬه اﻟﻄﺮﯾﻘﮫ ﻟﻦ ﺗﺼﻠﺢ ﻟﻚ وﯾﺠﺐ أن ﺗﺤﻞ اﻟﻤﺸﻜﻠﺔ ﺑﻄﺮﯾﻘﮫ أﺧﺮى ،وﻟﻜﻦ ﻓﻲ ﺣﺎل ﻛﺎن اﻟﮭﺎﺗﻒ
ﻏﯿﺮ ﻣﺮاﻗﺐ ،ﻓﮭﻲ ﺗﻌﺘﺒﺮ ﻛﺎﻓﯿﮫ وﻣﻨﺎﺳﺒﺔ !
ﻓﻲ ﺣﺎل ﻛﺎن إرﺳﺎل اﻟﻤﻔﺘﺎح ﻗﺒﻞ اﻹرﺳﺎل ﻣﻨﺎﺳﺐ ﻟﻚ ،ﻣﺎذا اذا ﻛﻨﺖ ﺗﺮﯾﺪ إرﺳﺎل اﻟﻤﻔﺘﺎح إﻟﻰ ﻋﺪه
أﺷﺨﺎص ﺑﺪﻻ ﻣﻦ ﺷﺨﺺ واﺣﺪ ؟
اﻟﻌﻤﻠﯿﺔ ﺳﻮف ﺗﺘﺸﻌﺐ ﻛﺜﯿﺮا ﻷﻧﻨﺎ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﺳﻨﺤﺘﺎج إﻟﻰ اﻟﺬھﺎب إﻟﻰ ﻣﻜﺘﺐ ﻛﻞ ﻋﻤﯿﻞ وﻧﻘﻮم
ﺑﺘﻮﻟﯿﺪ اﻟﻤﻔﺘﺎح ،ﻛﻞ ﺷﺨﺺ ﯾﺘﻮﻗﻊ رﺳﺎﻟﺔ ﻣﻦ ﺷﺨﺺ ﻣﺎ ﻓﻲ اﻟﺸﺮﻛﺔ ﯾﺤﺘﺎج إﻟﻰ أن ﯾﺬھﺐ إﻟﻰ
وﯾﻘﻮﻣﻮا ﺑﺘﻮﻟﯿﺪ ﻣﻔﺘﺎح ،وھﻮ ﺣﻞ ﻏﯿﺮ ﻋﻤﻠﻲ ﺑﺘﺎﺗﺎ ،ﻟﻜﻦ ﯾﻤﻜﻦ أن ﺗﻘﻮم اﻟﺸﺮﻛﺔ ﺑﻌﻤﻞ اﺟﺘﻤﺎع
اﻟﻐﺮض ﻣﻨﮫ ﺗﺒﺎدل اﻟﻤﻔﺎﺗﯿﺢ ﺑﯿﻦ اﻷﺷﺨﺎص ،وھﻮ ﺣﻞ ﺟﯿﺪ ،ﻟﻜﻦ ﺗﺒﻘﻰ ھﻨﺎك ﻣﺸﻜﻠﮫ ﻗﺪوم ﻋﻤﯿﻞ
ﺟﺪﯾﺪ ،ﻣﺎ اﻟﺬي ﺳﻮف ﯾﺤﺼﻞ ھﻞ ﯾﻘﻮم ﺟﻤﯿﻊ اﻟﻌﻤﻼء ﺑﺰﯾﺎرة اﻟﻌﻤﯿﻞ اﻟﺠﺪﯾﺪ وﯾﻘﻮم ﺑﺘﺒﺎدل اﻟﻤﻔﺎﺗﯿﺢ
،وھﻲ ﻣﺸﻜﻠﮫ أﯾﻀﺎ .
اﺿﺎﻓﮫ ﻓﻲ ﺣﺎل زﯾﺎدة ﻋﺪد اﻷﺷﺨﺎص ﻓﻲ ﻋﻤﻠﯿﮫ ﺗﺒﺎدل اﻟﻤﻔﺎﺗﯿﺢ ﺳﻮف ﯾﻜﺒﺮ ﻋﺪد اﻟﺰﯾﺎرات ﺑﺸﻜﻞ
ﻛﺒﯿﺮ ،ﻓﻲ ﺣﺎل ﻧﺤﻦ اﺛﻨﯿﻦ ﺳﻮف ﯾﻜﻮن ھﻨﺎك ﻟﻘﺎء واﺣﺪ )أو اﺗﺼﺎل واﺣﺪ( ،ﻓﻲ ﺣﺎل ﻛﻨﺎ ﺛﻼﺛﺔ
ﺳﻮف ﻧﺤﺘﺎج إﻟﻰ ﻟﻘﺎءﯾﻦ )اذھﺐ أﻧﺎ إﻟﻰ اﻟﺸﺨﺺ اﻷول وﻧﻮﻟﺪ ﻣﻔﺘﺎح ،ﺑﻌﺪھﺎ اذھﺐ إﻟﻰ اﻟﺸﺨﺺ
اﻟﺜﺎﻧﻲ وأﻋﻄﯿﮫ اﻟﻤﻔﺘﺎح( ،ﻓﻲ ﺣﺎل ﻛﻨﺎ أرﺑﻌﮫ ﻓﺴﻮف ﻧﺤﺘﺎج إﻟﻰ ﺳﺘﺔ ﻟﻘﺎﺋﺎت ،ﺑﺸﻜﻞ ﻋﺎم:
ﻣﺠﻤﻮﻋﮫ ﻣﻦ اﻷﺷﺨﺎص ﻣﻜﻮن ﻣﻦ nﻋﺪد ،اذا ﯾﺤﺘﺎﺟﻮن إﻟﻰ ) 1/2 * (n^2 - nﻟﻘﺎء..
ﻣﺜﻼ 10أﺷﺨﺎص ، 90/2 = 45، 90 = 10- 100 ،اذا ﻧﺤﺘﺎج إﻟﻰ 45ﻟﻘﺎء ،اذا ﻛﺎن ھﻨﺎك 20
ﺷﺨﺺ ﺳﻮف ﻧﺤﺘﺎج إﻟﻰ 190ﻋﻤﻠﯿﮫ ﺗﺒﺪﯾﻞ ﻣﻔﺎﺗﯿﺢ ،ﻓﻲ ﺣﺎل ﻛﺎﻧﺖ اﻟﺸﺮﻛﺔ ﺑﮭﺎ 1000ﻋﻤﯿﻞ ،
ﺳﻮف ﻧﺤﺘﺎج إﻟﻰ 499500ﻋﻤﻠﯿﮫ ﺗﺒﺪﯾﻞ !!
113
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﯾﻤﻜﻦ ﺣﻞ ھﺬه اﻟﻤﺸﻜﻠﺔ ،ﻋﻦ ﻃﺮﯾﻖ ﺟﻌﻞ ﺟﻤﯿﻊ اﻷﺷﺨﺎص ﯾﺴﺘﺨﺪﻣﻮا ﻣﻔﺘﺎح واﺣﺪ ،ﻟﻜﻦ ﻓﻲ ﺣﺎل
ﻣﺜﻼ ﺧﺮوج أﺣﺪ اﻟﻌﻤﻼء ﻣﻨﮭﺎ ﻓﺴﻮف ﺗﻜﻮن ھﻨﺎك ﻣﺸﻜﻠﮫ ﻷﻧﮫ ﯾﻌﺮف اﻟﻤﻔﺘﺎح ،ﻟﺬﻟﻚ ﻋﻠﻰ اﻟﺸﺮﻛﺔ
أن ﺗﻘﻮم ﺑﺘﻐﯿﺮ اﻟﻤﻔﺘﺎح ،وإﻋﻄﺎء ﺟﻤﯿﻊ اﻟﻌﻤﻼء اﻟﻤﻔﺘﺎح اﻟﺠﺪﯾﺪ )ﻣﻦ ﺧﻼل ﻣﺜﻼ اﻻﺟﺘﻤﺎع( وھﻮ ﺣﻞ
"ﯾﺒﺪو" ﺟﯿﺪ .
وﺗﺒﺪأ اﻟﻤﺸﺎﻛﻞ ﻓﻲ ﺣﺎل ﺗﻤﻜﻦ اﻟﻤﺨﺘﺮق ﻣﻦ ﻛﺴﺮ رﺳﺎﻟﺔ واﻟﺤﺼﻮل ﻋﻠﻰ اﻟﻤﻔﺘﺎح ،ﺳﻮف ﯾﻜﻮن
ﺑﺈﻣﻜﺎﻧﮫ ﻛﺴﺮ ﺟﻤﯿﻊ اﻟﺮﺳﺎﺋﻞ )ﻓﻲ ﺣﺎل ﻛﺎن ﻃﻮل اﻟﻤﻔﺘﺎح 128ﺑﺖ واﻟﺨﻮارزﻣﯿﺔ ﺟﯿﺪه ،ﻓﺎﻧﮫ ﻟﻦ
ﯾﻤﻜﻦ ﻛﺴﺮ اﻟﻤﻔﺘﺎح ﺑﺴﮭﻮﻟﮫ( ﻟﻜﻦ اذا اﻓﺘﺮﺿﻨﺎ اﻧﮫ ﻗﺎم ﺑﺴﺮﻗﺔ اﻟﻤﻔﺘﺎح )ﻣﺜﻼ أﺧﺬه ﻣﻦ ﻋﻤﯿﻞ ﻏﺸﺎش ،
أو اﺳﺘﺨﺪم أﺳﻠﻮب اﻟﺘﮭﺪﯾﺪ ( اﻟﻤﮭﻢ ﺣﺼﻞ ﻋﻠﯿﮫ ،ﻓﮭﻨﺎ ﯾﻜﻮن اﻟﻤﺨﺘﺮق ﻗﺪ ﺣﺼﻞ ﻋﻠﻰ ﻛﺸﻒ اﻟﺮﺳﺎﺋﻞ
ﻷﻧﮫ ﯾﻤﻠﻚ اﻟﻤﻔﺘﺎح .وھﺬا ﻣﺎ ﻻ ﯾﺮﯾﺪه أﺣﺪ ،ﻟﺬﻟﻚ ﺣﻞ "ﻣﻔﺘﺎح واﺣﺪ ﻟﻠﺠﻤﯿﻊ" ﺣﻞ ﻏﯿﺮ ﻋﻤﻠﻲ أﯾﻀﺎ.
ﺑﺎﺧﺘﺼﺎر ﯾﻜﻮن ﺣﻞ إرﺳﺎل اﻟﻤﻔﺘﺎح ﻗﺒﻞ ﻋﻤﻠﯿﮫ اﻹرﺳﺎل ﻣﻨﺎﺳﺐ اذا ﻛﺎﻧﺖ ﻋﻤﻠﯿﮫ اﻹرﺳﺎل ﺑﺴﯿﻄﺔ
)ﺑﯿﻦ ﺷﺨﺼﯿﻦ أو ﺛﻼﺛﺔ ﻣﺜﻼ( ،وإذا ﻛﺎﻧﺖ أﯾﻀﺎ ﻋﻤﻠﯿﮫ اﻹرﺳﺎل ﻋﺒﺮ اﻟﮭﺎﺗﻒ آﻣﻨﮫ .
ﻏﯿﺮ ذﻟﻚ ﺳﻮف ﻧﻠﺠﺄ إﻟﻰ اﻟﺤﻞ اﻟﺜﺎﻧﻲ ،و ھﻮ اﺳﺘﺨﺪام ﻃﺮف ﺛﺎﻟﺚ ﻓﻲ اﻟﻌﻤﻠﯿﺔ : TTP
دﻋﻨﺎ ﻧﻮﺿﺢ اﻵﻣﺮ ﺑﻤﺜﺎل ﺑﺴﯿﻂ .
ﻟﻨﻔﺮض ﻣﺤﻤﺪ ﯾﺮﯾﺪ أن ﯾﺮﺳﻞ رﺳﺎﻟﺔ ﻟﻌﻠﻲ ،واﻟﻄﺮف اﻟﺜﺎﻟﺚ ھﻮ ﺳﺎﻣﻲ .
اﻵن ﻓﻲ اﻟﺒﺪاﯾﺔ ﯾﺬھﺐ ﻣﺤﻤﺪ إﻟﻰ اﻟﻄﺮف اﻟﺜﺎﻟﺚ ﺳﺎﻣﻲ وﯾﻘﻮم ﺳﺎﻣﻲ ﺑﺘﻮﻟﯿﺪ ﻣﻔﺘﺎح KEKوﯾﻘﻮم
ﺑﺘﺨﺰﯾﻦ اﻟﻤﻔﺘﺎح ﻓﻲ ﺟﮭﺎزه ،واﻋﻄﺎء ﻧﺴﺨﮫ ﻣﻦ اﻟـ KEKإﻟﻰ ﻣﺤﻤﺪ .ﯾﺄﺗﻲ ﻋﻠﻲ أﯾﻀﺎ إﻟﻰ
اﻟﻄﺮف اﻟﺜﺎﻟﺚ ﺳﺎﻣﻲ ،وﯾﻘﻮم ﺑﺘﻮﻟﯿﺪ ﻣﻔﺘﺎح KEKوﯾﺨﺰﻧﮫ ﻓﻲ ﺟﮭﺎزه ،وﯾﻌﻄﻲ ﻋﻠﻰ ﻧﺴﺨﮫ ﻣﻦ
اﻟﻤﻔﺘﺎح.
ھﻨﺎ ﻋﻨﺪﻣﺎ ﯾﺮﯾﺪ ﻣﺤﻤﺪ إرﺳﺎل رﺳﺎﻟﺔ إﻟﻰ ﻋﻠﻲ ،ﯾﻘﻮم ﻣﺤﻤﺪ ﺑﻄﻠﺐ ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ ﻣﻦ اﻟﻄﺮف اﻟﺜﺎﻟﺚ
ﺳﺎﻣﻲ ،ﯾﻘﻮم ﺳﺎﻣﻲ ﺑﺘﺸﻔﯿﺮ ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ ﺑﺎﻟﻤﻔﺘﺎح KEKاﻟﺬي ﻗﺎم ﺑﺘﻮﻟﯿﺪه ھﻮ و ﻣﺤﻤﺪ ﻓﻲ اﻟﺒﺪاﯾﺔ
،وﯾﻘﻮم ﺑﺈرﺳﺎل اﻟﻤﻔﺘﺎح اﻟﻤﺸﻔﺮ إﻟﻰ ﻣﺤﻤﺪ ،وﯾﻘﻮم ﺑﺘﺸﻔﯿﺮ ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ أﯾﻀﺎ ﻣﺮه أﺧﺮى وﻟﻜﻦ
ﺑﻤﻔﺘﺎح ﻋﻠﻲ وﯾﻘﻮم ﺑﺈرﺳﺎﻟﮫ إﻟﻰ ﻋﻠﻲ.
114
PDF created with pdfFactory Pro trial version www.pdffactory.com
ھﻨﺎ ﻓﻲ ھﺬه اﻟﻌﻤﻠﯿﺔ ﺳﺎﻣﻲ ھﻮ اﻟﻮﺳﯿﻂ ﺑﯿﻦ اﻻﺛﻨﯿﻦ ،ھﻮ اﻟﻮﺣﯿﺪ اﻟﺬي ﯾﻤﻠﻚ ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ ،وھﻮ
اﻟﻮﺣﯿﺪ اﻟﺬي ﯾﻤﻜﻨﮫ ﻗﺮاءه اﻟﺮﺳﺎﺋﻞ ،ﻟﺬﻟﻚ ﯾﺠﺐ أن ﯾﻜﻮن ﻃﺮف ﻣﻮﺛﻮق ،واﻻ ﺳﻮف ﺗﻨﻜﺸﻒ ﻛﻞ
اﻟﺮﺳﺎﺋﻞ ،وﻷن اﻟﻄﺮف اﻟﻤﻮﺛﻮق ﻗﺪ ﯾﻜﻮن ﻏﯿﺮ ﻣﻮﺟﻮد ﺑﺎﻟﻨﺴﺒﺔ ﻷﻏﻠﺒﻨﺎ ﻓﮭﺬا اﻟﺤﻞ ﻏﯿﺮ ﻣﺠﺪي
ﻟﻠﻜﺜﯿﺮ ﻣﻨﺎ ،وﯾﺠﺐ أن ﻧﺤﻞ اﻟﻤﺸﻜﻠﺔ ﺑﻄﺮﯾﻘﮫ أﻓﻀﻞ..
وﻣﻦ ھﻨﺎ ﺟﺎءت اﻟﻄﺮﯾﻘﮫ اﻷﺧﺮى ﻟﻠﺘﺸﻔﯿﺮ وھﻲ اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻐﯿﺮ ﻣﺘﻨﺎﻇﺮ Asymmetric
،key Cryptographyﺑﺎﻟﻤﻨﺎﺳﺒﺔ اﻏﻠﺐ اﻟﻜﺘﺐ ﺗﺴﻤﻰ ھﺬه اﻟﻄﺮﯾﻘﮫ ﺑﺎﺳﻢ آﺧﺮ وھﻮ اﻟﺘﺸﻔﯿﺮ
ﺑﺎﻟﻤﻔﺘﺎح اﻟﻌﺎم )أو اﻟﻤﻌﻠﻦ ،( Public-Key Cryptographyﻋﻠﻰ اﻟﻌﻤﻮم اﻻﺳﻤﯿﻦ ﯾﺆدﯾﺎن
ﻧﻔﺲ اﻟﻐﺮض .
ﻓﻲ اﻟﺴﺒﻌﯿﻨﯿﺎت ﺗﻢ اﺧﺘﺮاع ﺗﻠﻚ اﻟﻄﺮﯾﻘﮫ ،وھﻲ ﺗﺴﺘﺨﺪم ﻣﻔﺘﺎﺣﯿﻦ ،ﻣﻔﺘﺎح ﻋﺎم public Key
ﻟﻠﺘﺸﻔﯿﺮ ،وﻣﻔﺘﺎح ﺧﺎص private Keyﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ،ﻣﺜﻼ اذا أراد ﻣﺤﻤﺪ إرﺳﺎل رﺳﺎﻟﺔ ﻣﺸﻔﺮه
ﻟﻌﻠﻲ ﺑﺎﺳﺘﺨﺪام اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻐﯿﺮ ﻣﺘﻨﺎﻇﺮ )أو اﻟﻤﻌﻠﻦ أو اﻟﻌﺎم( ،ﯾﻘﻮم ﻣﺤﻤﺪ ﺑﺄﺧﺬ اﻟﻤﻔﺘﺎح اﻟﻌﺎم
ﻣﻦ ﻋﻠﻲ ،وﺑﻌﺪھﺎ ﯾﻘﻮم ﺑﺘﺸﻔﯿﺮ اﻟﺮﺳﺎﻟﺔ ﺑﮭﺬا اﻟﻤﻔﺘﺎح ،ﺑﻌﺪھﺎ ﯾﻘﻮم ﺑﺈرﺳﺎل اﻟﺮﺳﺎﻟﺔ إﻟﻰ ﻋﻠﻲ اﻟﺬي
ﯾﻘﻮم ﺑﻔﻚ اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﺨﺎص ﺑﮫ..
اﻟﻤﻔﺘﺎح اﻟﻌﺎم public Keyﯾﻜﻮن ﻣﻌﺮوف ﻟﻠﺠﻤﯿﻊ وأي ﺷﺨﺺ ﯾﺴﺘﻄﯿﻊ اﻟﺤﺼﻮل ﻋﻠﯿﮫ ) ھﻮ
ﯾﺴﺘﺨﺪم ﻓﻘﻂ ﻟﻠﺘﺸﻔﯿﺮ( .
اﻟﻤﻔﺘﺎح اﻟﺨﺎص private Keyﯾﻜﻮن ﻏﯿﺮ ﻣﻌﺮوف )ﻣﻌﺮوف ﻟﺸﺨﺺ واﺣﺪ( وھﻮ ﯾﺴﺘﺨﺪم ﻟﻔﻚ
اﻟﺘﺸﻔﯿﺮ
وﻟﻜﻲ ﻧﻜﻮن أﻛﺜﺮ ﺻﻮاﺑﺎ ،ﻓﺎن اﻟﻤﻔﺘﺎح اﻟﻌﺎم ﯾﺴﺘﺨﺪم ﻟﺘﺸﻔﯿﺮ ﻣﻔﺘﺎح اﻟﺠﻠﺴﺔ ؟؟ ﻣﺎ ھﺬا اﻟﻜﻼم !!
دﻋﻨﺎ ﻧﻌﯿﺪ اﻟﻤﺜﺎل ﻣﺮه أﺧﺮى...
ﻣﺤﻤﺪ ﯾﺮﯾﺪ إرﺳﺎل رﺳﺎﻟﺔ ﻟﻌﻠﻲ ،وﯾﺮﯾﺪ ﻃﺮﯾﻘﮫ آﻣﻨﮫ ﻹرﺳﺎل اﻟﻤﻔﺘﺎح ،ﻟﺬﻟﻚ ﺗﻢ اﺧﺘﯿﺎر ﻃﺮﯾﻘﮫ
اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻐﯿﺮ ﻣﺘﻨﺎﻇﺮ ،ﺑﻌﺪھﺎ ﯾﻘﻮم ﻣﺤﻤﺪ ﺑﺘﺸﻔﯿﺮ اﻟﺮﺳﺎﻟﺔ ﺑﺨﻮارزﻣﯿﺔ اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح
اﻟﻤﺘﻨﺎﻇﺮ )ﻻﺣﻆ اﻟﻤﺘﻨﺎﻇﺮ ،ﺳﺄذﻛﺮ اﻟﺴﺒﺐ ﺑﻌﺪ ﻗﻠﯿﻞ( ،وﺑﻌﺪھﺎ ﯾﻘﻮم ﺑﺄﺧﺬ اﻟﻤﻔﺘﺎح اﻟﻌﺎم ﻟﻌﻠﻲ )اﻟﺬي
ھﻮ ﻣﻌﺮوف ﻟﻠﺠﻤﯿﻊ( وﯾﻘﻮم ﺑﺘﺸﻔﯿﺮ اﻟﻤﻔﺘﺎح )اﻟﺠﻠﺴﺔ( ﺑﻌﺪھﺎ ﯾﺮﺳﻞ ھﺬا اﻟﻤﻔﺘﺎح اﻟﻤﺸﻔﺮ واﻟﺮﺳﺎﻟﺔ
إﻟﻰ ﻋﻠﻲ ،اﻟﺬي ﯾﻘﻮم ﺑﺪوره ﺑﻔﻚ ﺗﺸﻔﯿﺮ اﻟﻤﻔﺘﺎح ﺑﺎﻟﻤﻔﺘﺎح اﻟﺨﺎص ،ﺑﻌﺪھﺎ ﯾﻘﻮم ﺑﻔﻚ ﺗﺸﻔﯿﺮ
اﻟﺮﺳﺎﻟﺔ..
115
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻟﻤﺎذا ﻗﻤﻨﺎ ﺑﺘﺸﻔﯿﺮ اﻟﺮﺳﺎﻟﺔ ﺑﺨﻮارزﻣﯿﺔ اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ؟
وﻟﺬﻟﻚ ﺑﺴﺒﺐ اﻟﺴﺮﻋﺔ واﻷداء ،ﻓﺎﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ أﺳﺮع ﺑﻜﺜﯿﺮ ﻣﻦ اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻐﯿﺮ
ﻣﺘﻨﺎﻇﺮ ،
اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ﯾﺸﻔﺮ MB 50ﻓﻲ اﻟﺜﺎﻧﯿﺔ اﻟﻮاﺣﺪة
اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح ﻏﯿﺮ اﻟﻤﺘﻨﺎﻇﺮ ﯾﺸﻔﺮ KB 200-20ﻓﻲ اﻟﺜﺎﻧﯿﺔ اﻟﻮاﺣﺪة – .ﻻﺣﻆ اﻟﻔﺮق. -
ﻟﺬﻟﻚ ﯾﺴﺘﺨﺪم اﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ﻟﺘﺸﻔﯿﺮ اﻟﺮﺳﺎﻟﺔ ،وﯾﺴﺘﺨﺪم اﻟﻤﻔﺘﺎح اﻟﻐﯿﺮ ﻣﺘﻨﺎﻇﺮ)اﻟﻌﺎم( ﻟﺘﺸﻔﯿﺮ
اﻟﻤﻔﺘﺎح اﻟﻤﺘﻨﺎﻇﺮ ،اﻟﻌﻤﻠﯿﺔ اﻟﺴﺎﺑﻘﺔ ﺗﺴﻤﻰ ﺑﺎﻟﻈﺮف اﻟﺮﻗﻤﻲ . Digital Envelope
ﻻﺣﻆ أن ھﺬه اﻟﻄﺮﯾﻘﮫ ﻗﺪ ﺣﻠﺖ ﻣﺸﻜﻠﮫ ﺗﻮزﯾﻊ اﻟﻤﻔﺎﺗﯿﺢ ،ﺣﯿﺚ ﻛﻞ ﻣﺎ اﻷﻣﺮ اﺳﺘﺨﺪام ﻃﺮﯾﻘﮫ
، public Key Cryptographyوﺑﻌﺪھﺎ ﻻ ﺣﺎﺟﮫ ﻟﻄﺮف ﺛﺎﻟﺚ ،أو ﺗﻮزﯾﻊ اﻟﻤﻔﺎﺗﯿﺢ ﻗﺒﻞ ﺑﺪء
اﻹرﺳﺎل .
وﻓﻲ ﻋﺎم 1977ﻗﺎم اﻟﺒﺮوﻓﯿﺴﻮر Ron Rivestﻣﻦ ﻣﻌﮭﺪ ، MITﻣﻊ زﻣﻼﺋﮫ Adi Shamir ,
Len Adlemanﺑﺎﻻھﺘﻤﺎم ﺑﮭﺬه اﻟﺨﻮارزﻣﯿﺔ ، DHوﻗﺎﻣﻮا ﺑﺘﻄﺒﯿﻘﮭﺎ ﻟﺘﻜﻮن أول ﺧﻮارزﻣﯿﺔ ﻣﻦ
ﻧﻮع Public key Cryptographyوﺗﻤﺖ ﺗﺴﻤﯿﺘﮭﺎ ﺑﺎﺳﻢ ) RSAاﻟﺤﺮف اﻷول ﻣﻦ ﻛﻞ اﺳﻢ ( .
116
PDF created with pdfFactory Pro trial version www.pdffactory.com
وﻓﻲ ﻋﺎم ، 1985ﻗﺎم Neal Koblitzﻣﻦ ﺟﺎﻣﻌﮫ واﺷﻨﻄﻦ و Victor Millerﻣﻦ ﻣﺮﻛﺰ ﺑﺤﻮث
ﺗﺎﺑﻊ ﻟـ ، IBMﺑﺎﻟﺒﺤﺚ ﻓﻲ ﻓﺮع ﻣﻦ ﻓﺮوع اﻟﺮﯾﺎﺿﯿﺎت ﻏﯿﺮ ﻣﻨﺘﺸﺮ ﻓﻲ ذﻟﻚ اﻟﻮﻗﺖ وھﻮ elliptic
curvesوذﻛﺮوا أﻧﮫ ﯾﻤﻜﻦ اﻻﺳﺘﻔﺎدة ﻣﻨﮫ ﻓﻲ ﺗﻄﺒﯿﻖ ﺗﺸﻔﯿﺮ ﻣﻦ ﻧﻮع public key
، Cryptographyوﻣﻊ ﺑﺪاﯾﮫ اﻟﺘﺴﻌﯿﻨﺎت ﺑﺪأ ھﺬا اﻟﻨﻮع ﻣﻦ اﻟﺨﻮارزﻣﯿﺎت ﺑﺎﻟﻈﮭﻮر .
وﺑﻌﺪ ذﻟﻚ ﺑﺪأت اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﺨﻮارزﻣﯿﺎت ﺑﺎﻟﻈﮭﻮر وﺑﺎﻻﻧﺘﺸﺎر ،ﻟﻜﻦ أﻛﺜﺮ اﻟﺨﻮارزﻣﯿﺎت اﻧﺘﺸﺎرا :
RSA
ECDH - Elliptic Curve Diffie-Hellman
Algamal
ﻧﺄﺧﺬ ﻣﺜﺎل ﺑﺴﯿﻂ ﻟﻜﻲ ﯾﻮﺿﺢ ﻃﺮﯾﻘﮫ اﻟﺘﻮﻗﯿﻊ اﻟﺮﻗﻤﻲ ،وﻧﺘﺮك اﻟﺘﻔﺎﺻﯿﻞ اﻷﺧﺮى إﻟﻰ ﺻﺪور
اﻟﻨﺴﺨﺔ اﻟﻨﮭﺎﺋﯿﺔ .
ﺻﺪﯾﻘﻨﺎ ﻣﺤﻤﺪ ﻟﺪﯾﮫ ﻣﻔﺘﺎﺣﯿﻦ ،اﺣﺪھﻤﺎ ﻣﻔﺘﺎح ﻋﺎم واﻵﺧﺮ ﻣﻔﺘﺎح ﺧﺎص )اﻟﺘﺸﻔﯿﺮ ﺑﺎﻟﻤﻔﺘﺎح ﻏﯿﺮ
اﻟﻤﺘﻨﺎﻇﺮ(
اﻵن ھﻮ ﯾﺮﯾﺪ إرﺳﺎل رﺳﺎﻟﺔ ﻷﺣﺪ أﺻﺪﻗﺎﺋﮫ ،ﻛﻞ ﻣﺎ ﻋﻠﯿﮫ إرﺳﺎل اﻟﻤﻔﺘﺎح اﻟﻌﺎم )ﯾﻜﻮن ﻣﻮﺟﮫ
ﻟﻠﺠﻤﯿﻊ( ،أﻣﺎ اﻟﻤﻔﺘﺎح اﻟﺨﺎص ﻓﯿﺤﺘﻔﻆ ﺑﮫ ﻟﻨﻔﺴﮫ ،اﻟﻤﻔﺘﺎح اﻟﻌﺎم ﯾﺴﺘﺨﺪم ﻟﻠﺘﺸﻔﯿﺮ واﻟﺨﺎص ﻟﻔﻚ
اﻟﺘﺸﻔﯿﺮ .
117
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﻓﻲ ﺣﺎﻟﮫ أراد ﻣﺤﻤﺪ إرﺳﺎل رﺳﺎﻟﺔ إﻟﻰ ﻋﻠﻲ وﻛﺎن ﯾﺮﯾﺪ أن اﺳﺘﺨﺪام اﻟﺘﻮﻗﯿﻊ اﻟﺮﻗﻤﻲ )اﻟﺬي ﻋﻦ
ﻃﺮﯾﻘﮫ ﯾﺴﺘﻄﯿﻊ ﻋﻠﻲ اﻟﺘﺄﻛﺪ ﻣﻦ أن ﻣﺤﻤﺪ ھﻮ ﻣﺮﺳﻞ اﻟﺮﺳﺎﻟﺔ ،أﯾﻀﺎ ﯾﻤﻜﻦ ﻣﻌﺮﻓﮫ أي ﺗﻐﯿﯿﺮ ﺣﺼﻞ
ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ أﺛﻨﺎء إرﺳﺎﻟﮫ ( ،ﻛﻞ ﻣﺎ ﻋﻠﻰ ﻣﺤﻤﺪ ھﻮ أن ﯾﺄﺧﺬ اﻟﺮﺳﺎﻟﺔ ﺑﻌﺪ ﻛﺘﺎﺑﺘﮭﺎ وﯾﺪﺧﻠﮭﺎ إﻟﻰ
اﺣﺪ اﻟﺪوال اﻟﮭﺎﺷﯿﺔ )ﻣﺜﻞ md5و SHA-1وﻏﯿﺮھﺎ( ﻟﻜﻲ ﯾﺨﺮج اﻟﻨﺎﺗﺞ )ﯾﺴﻤﻰ ﺑﺎﻟﮭﺎش أو
.(message digest
ﺑﻌﺪ ذﻟﻚ ﯾﻘﻮم ﻣﺤﻤﺪ ﺑﺄﺧﺬ ھﺬا اﻟﮭﺎش وﯾﻘﻮم ﺑﺘﺸﻔﯿﺮه ﺑﺎﺳﺘﺨﺪام اﻟﻤﻔﺘﺎح اﻟﺨﺎص ﺑﮫ ،وھﻜﺬا ﯾﺤﺼﻞ
ﻣﺤﻤﺪ ﻋﻠﻰ اﻟﺘ ﻮﻗﯿﻊ
اﻵن ﯾﻘﻮم ﻣﺤﻤﺪ ﺑﺎﺿﺎﻓﮫ اﻟﺘﻮﻗﯿﻊ إﻟﻰ اﻟﺮﺳﺎﻟﺔ اﻟﺘﻲ ﯾﺮﯾﺪ إرﺳﺎﻟﮭﺎ ..وﯾﺮﺳﻠﮭﺎ إﻟﻰ اﻷخ ﻋﻠﻲ
وﺻﻠﺖ اﻟﺮﺳﺎﻟﺔ إﻟﻰ ﻋﻠﻲ ،ﯾﻘﻮم ﻋﻠﻲ )أو اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﯾﺴﺘﺨﺪﻣﮫ( ﺑﻔﻚ ﺗﺸﻔﯿﺮ اﻟﺘﻮﻗﯿﻊ )اﻟﻨﺎﺗﺞ ھﻮ
اﻟﮭﺎش( ﺑﺎﺳﺘﺨﺪام اﻟﻤﻔﺘﺎح اﻟﻌﺎم ﻟﻤﺤﻤﺪ ،ﻓﻲ ﺣﺎل اﻧﻔﻚ ﺑﺸﻜﻞ ﺻﺤﯿﺢ ،ﯾﻜﻮن ﻋﻠﻲ ﻗﺪ ﻋﺮف أن
اﻟﻤﺮﺳﻞ ھﻮ ﻣﺤﻤﺪ وﻟﯿﺲ أي اﺣﺪ آﺧﺮ..
أﯾﻀﺎ ﯾﻘﻮم ﺑﺘﻄﺒﯿﻖ اﻟﺪاﻟﺔ اﻟﮭﺎﺷﯿﺔ )اﻟﺘﻲ ﻃﺒﻘﮭﺎ ﻣﺤﻤﺪ( ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ ،ﻓﻲ ﺣﺎل ﺗﺴﺎوت ﻣﻊ اﻟﮭﺎش ،
اذا ﯾﻜﻮن ﻋﻠﻲ ﻗﺪ ﻋﺮف أن اﻟﺮﺳﺎﻟﺔ ﻟﻢ ﺗﺘﻐﯿﺮ أﺛﻨﺎء إرﺳﺎﻟﮭﺎ..
118
PDF created with pdfFactory Pro trial version www.pdffactory.com
ﺍﻟﺨﺎﺗﻤﺔ
ﻭﻫﻜﺬﺍ ﻧﻜﻮﻥ ﻗﺪ ﻭﺻﻠﻨﺎ ﺇﻟﻰ ﻧﻬﺎﻳﺔ ﻫﺬﺍ ﺍﻟﻜﺘﻴﺐ ﺍﻟﺒﺴﻴﻂ ،ﻋﺴﻰ ﺃﻥ ﺗﻜﻮﻧﻮﺍ ﺃﻥ ﺍﺳﺘﻔﺪﺗﻮﺍ
ﻣﻨﻪ ﺳﻮﺍﺀ ﺣﺎﻟﻴﺎ ﺃﻡ ﻣﺴﺘﻘﺒﻼ ،ﻭﺍﻋﺬﺭﻭﻧﻲ ﻋﻠﻰ ﺍﻟﺘﻘﺼﻴﺮ ،
ﻭﻻ ﺗﻨﺴﻮﻧﻲ ﻣﻦ ﺩﻋﻮﻩ ﺻﺎﻟﺤﻪ .
ﻭﺻﻠﻲ ﺍﻟﻠﻬﻢ ﻭﺳﻠﻢ ﻭﺑﺎﺭﻙ ﻋﻠﻰ ﻧﺒﻴﻨﺎ ﻣﺤﻤﺪ ﻭﻋﻠﻰ ﺍﻟﻪ ﻭﺻﺤﺒﻪ
ﺃﺟﻤﻌﻴﻦ.
www.wikipedia.com
119
PDF created with pdfFactory Pro trial version www.pdffactory.com