You are on page 1of 26

‫ﻣﺪﺧﻞ ﰲ ﺃﻣﻨﻴﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﳌﻌﻠﻮﻣﺎﺕ‬

‫ﺗﺮﲨﺔ ﺑﺘﺼﺮﻑ ﻟﻜﺘﺎﺏ ﻭﻳﻠﻴﺎﻡ ﺳﺘﻮﻟﻨﺞ‬

Cryptography and Network Security

Third Edition

by William Stallings

Lecture slides by Lawrie Brown

:‫ﺗرﺟﻣﺔ وإﻋداد‬

‫ﻓﮭد آل ﻗﺎﺳم‬.‫أ‬

‫ﻣدرس ﻣﺳﺎﻋد ﺟﺎﻣﻌﺔ اﻟﻌﻠوم واﻟﺗﻛﻧوﻟوﺟﯾﺎ ـ ﻓرع إب‬

Fahdalqasem.blogspot.com

fhdalqasem@yahoo.com

ibbalyaum.net
fahdalqasem.blogspot.com
‫أﻣﻨﻴﺔ ﻧﻈﻢ اﻟﻤﻌﻠﻮﻣﺎت‬

‫اﻟﺼﻔﺤﺎت‬ ‫اﻟﻔﺼﻞ‬
‫‪١٧-١٦-١٥-١٤-١٣-١٢-١٠-٩-٨-٧-٦-٤‬‬ ‫‪١‬‬
‫‪٨-٧-٦-٥-٤‬‬ ‫‪٢‬‬
‫‪٢١-٢٠-١٩-١٨-١٧-١٦-١٥-١٤-١٣-١٢-٥-٤‬‬ ‫‪٣‬‬
‫آﻞ اﻟﺘﻌﺎرﻳﻒ‬ ‫‪٤‬‬
‫ﻣﺤﺬوف‬ ‫‪٦,٥‬‬
‫‪١١-١٠-٩-٨‬‬ ‫‪٧‬‬
‫‪٩-٨-٨-٧-٦-٥-٤-٣‬‬ ‫‪٨‬‬
‫‪١٦-١٥-١٤-١٣-١٢-١١-١٠-٩-٨-٧-٦-٥-٤-٣‬‬ ‫‪٩‬‬
‫‪١٨-١٧-١٦-١٥-١٤-١٣-١٢-١١-١٠-٩-٨-٧-٦-٥-٤‬‬ ‫‪١٠‬‬
‫‪١٧-١٦-١٥-١٤-١٣-١٢-١١-١٠-٩-٨-٧‬‬ ‫‪١١‬‬
‫‪MD5,SHA-1 full‬‬ ‫‪١٢‬‬
‫‪٢٠-١٩-١٨ -١٧ -dss -١٣-١٢-١١-١٠-٩-٧-٦-٥-٤‬‬ ‫‪١٣‬‬
‫‪Kerbrose5‬‬ ‫‪١٤‬‬
‫ﻣﺤﺬوف‬ ‫‪١٥‬‬
‫‪١٦‬‬
‫‪٢١-٢٠-١٩-١٨-١٧-١٦-١٥-١٤-١٣‬‬ ‫‪١٧‬‬

‫اﻟﻔﺼﻞ اﻷول‪ :‬ﻣﻘﺪﻣﺔ ﻋﺎﻣﺔ‪introduction‬‬


‫ﺗﻌﺮﻳﻔﺎت هﺎﻣﺔ‬
‫أﻣﻨﻴ ﺔ اﻟﺤﺎﺳ ﻮب ‪ : computer security‬إﺳ ﻢ ﻋ ﺎم ﻟﻤﺠﻤﻮﻋ ﺔ ﻣ ﻦ اﻻدوات اﻟﻤﺼ ﻤﻤﺔ ﻟﺤﻤﺎﻳ ﺔ اﻟﺒﻴﺎﻧ ﺎت وإﻋﺎﻗ ﺔ‬
‫اﻟﻘﺮﺻﻨﺔ‪ /‬اﻟﻬﻜﺮ‪.‬‬
‫اﻣﻨﻴﺔ اﻟﺸﺒﻜﺎت ‪ : network security‬ﻣﻘﻴﺎس او ﻣﻘﺎﻳﻴﺲ ﺣﻤﺎﻳﺔ اﻟﺒﻴﺎﻧﺎت أﺛﻨﺎء ﻣﺮورهﺎ ﻋﺒﺮ اﻟﺸﺒﻜﺔ ‪.‬‬
‫اﻣﻨﻴﺔ اﻻﻧﺘﺮﻧﺖ ‪ : internet security‬ﻣﻘﺎﻳﻴﺲ ﻟﺤﻤﺎﻳﺔ اﻟﺒﻴﺎﻧﺎت اﺛﻨﺎء ﻣﺮورهﺎ ﻋﺒﺮ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺸﺒﻜﺎت اﻟﻤﺘﺼﻠﺔ ﻣﻊ‬
‫ﺑﻌﻀﻬﺎ‪.‬‬
‫ﻳﻬﺪف اﻟﻜﻮرس إﻟﻰ دراﺳﺔ اﻣﻨﻴﺔ ﺷﺒﻜﺎت اﻻﻧﺘﺮﻧﺖ‪.‬‬
‫ـ ﺧﺪﻣﺔ اﻻﻣﻨﻴﺔ ‪ : security service‬هﻲ اﻻﺷﻴﺎء اﻟﻤﺤﺴﻨﺔ ﻷﻧﻈﻤﺔ ﻣﻌﺎﻟﺠﺔ اﻟﺒﻴﺎﻧﺎت‪ ،‬وﻧﻘﻠﻬﺎ ﻋﺒﺮ اﻟﻤﻨﻈﻤﺎت‪.‬‬
‫ﻣﻘﺼﻮدة ﻟﻤﻘﺎوﻣﺔ اﻟﻬﺠﻮم ‪.‬‬
‫ﻳﺘﻢ ﺗﻘﺪﻳﻢ اﻟﺨﺪﻣﺔ ﻋﺒﺮ واﺣﺪة او ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺁﻟﻴﺎت اﻟﺤﻤﺎﻳﺔ‪ /‬اﻟﻤﻴﻜﺎﻧﺰﻣﺎت‪.‬‬
‫ﻋﺎدة ﻳﺘﻢ رﺑﻂ اﻟﻮﻇﺎﺋﻒ اﻟﻤﻜﺮرة ﺑﻮﺛﺎﺋﻖ ﻣﺎدﻳﺔ ﻣﺜﻞ ‪:‬اﻟﺤﺼﻮل ﻋﻠﻰ ﺗﻮﻗﻴﻊ ﻣﺆرخ‪ ،‬ﻳﺤﺘﺎج إﻟﻰ‬
‫اﻟﺤﻤﺎﻳﺔ ﻣﻦ اﻟﻜﺸﻒ ‪ ،‬اﻟﻌﺒﺚ‪ ،‬أو اﻟﺘﺨﺮﻳﺐ‪ ،‬ﻳﺠﺐ ان ﻳﻜﻮن ﻣﻮﺛﻘﺎ )ﺑﺸﻬﺎدة( ﻣﺴﺠﻠﺔ وﻣﺮﺧﺼﺔ‪.‬‬
‫ـ ﺁﻟﻴﺎت اﻷﻣﻨﻴﺔ ‪ : security mechanism‬اﻵﻟﻴﺔ اﻟﻤﺼﻤﻤﺔ ﻟﻸﻋﺎﻗﺔ واﻟﻜﺸﻒ واﻻﺻﻼح ﻣﻦ اﻟﻬﺠﻤﺎت اﻟﻤﺨﻠﺔ‬
‫ﺑﺎﻷﻣﻨﻴﺔ‪.‬‬
‫ﻻ ﺗﻮﺟﺪ أﻟﻴﺔ واﺣﺪة ﺗﺪﻋﻢ ﺟﻤﻴﻊ اﻟﻮﻇﺎﺋﻒ اﻟﻤﻄﻠﻮﺑﺔ‪.‬‬
‫وﻣﻊ ذﻟﻚ ﻳﻮﺟ ﺪ ﻋﻨﺼ ﺮ اﺳﺎﺳ ﻲ آﺂﻟﻴ ﺔ ﻟﻠﺤﻤﺎﻳ ﺔ اﻟﻤﺴ ﺘﺨﺪﻣﺔه ﻮ ‪ :‬ﺗﻘﻨﻴ ﺎتاﻟﺘﻌﻤﻴ ﺔ )اﻟﺘﺸ ﻔﻴﺮ(‪ ،‬وه ﻮﻣ ﺎ‬
‫ﺳﻮف ﻳﺘﻢ اﻟﺘﺮآﻴﺰ ﻋﻠﻴﻪ‪.‬‬
‫ـ هﺠﻤﺎت اﻷﻣﻨﻴﺔ ‪ : security attack‬أي ﺣﺪث ﻳﻬﺪد أﻣﻨﻴﺔ اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﻤﻠﻮآﺔ ﻟﻤﻨﻈﻤﺔ ﻣﺎ‪.‬‬
‫ﺗﻬﺪف اﻣﻨﻴﺔ اﻟﻤﻌﻠﻮﻣﺎت إﻟﻰ ﻋﺮض آﻴﻔﻴﺔ ﻣﻨﻊ هﺬﻩ اﻟﻬﺠﻤﺎت او إﻓﺸﺎﻟﻬﺎ‪.‬‬
‫ـ ﺧﺪﻣﺎت اﻻﻣﻨﻴﺔ اﻟﻘﻴﺎﺳﻴﺔ )‪:(x.800‬‬
‫اﻟـﺘﺤﻘﻖ ﻣﻦ اﻟﻬﻮﻳﺔ ‪ :Authentication‬ﺿﻤﺎن ان اﻟﺠﻬﺔ‪/‬اﻟﻜﺎﺋﻦ اﻟﻤﺘﺼﻠﺔ هﻲ وﺣﺪهﺎ ﻣﻦ ﺗﻤﻠﻚ‪/‬ﺗﺴﺘﺤﻖ هﺬﻩ اﻟﻤﻴﺰة‪.‬‬
‫اﻟﺘﺤﻜﻢ ﺑﺎﻟﻮﺻﻮل ‪ : access control‬ﺣﻤﺎﻳﺔ اﻟﻤﻮارد ﻣﻦ اﻻﺳﺘﺨﺪام اﻟﻐﻴﺮ ﻣﺼﺮح ﺑﻪ‪ /‬ﻏﻴﺮ اﻟﻤﺨﻮل‪.‬‬
‫ﺳﺮﻳﺔ اﻟﺒﻴﺎﻧﺎت ‪ : data Confidentiality‬هﻮ ﺣﻤﺎﻳﺔ اﻟﺒﻴﺎﻧﺎت ﻣﻦ اﻟﻜﺸﻒ اﻟﻐﻴﺮ ﻣﺼﺮح ﺑﻪ‪.‬‬
‫ﺳ ﻼﻣﺔاﻟﺒﻴﺎﻧ ﺎت ‪ :data integrity‬ه ﻮ ﺿ ﻤﺎن ان اﻟﺒﻴﺎﻧ ﺎت اﻟﻤﺴ ﺘﻠﻤﺔ ه ﻲ ذاﺗﻬ ﺎ اﻟﺒﻴﺎﻧ ﺎت اﻟﻤﺮﺳ ﻠﺔﻣ ﻦ ﺟﻬ ﺔﻣﺨﻮﻟ ﺔ‬
‫ﺑﺬﻟﻚ‪/‬ﻣﺼﺮح ﻟﻬﺎ ‪.authorized‬‬
‫ﻋﺪم اﻻﻧﻜﺎر ‪ :Non-repudiation‬اﻟﺤﻤﺎﻳﺔ ﻣﻦ إﻧﻜﺎر اﻟﺤﺪث ﻣﻦ ﻗﺒﻞ أﺣﺪ ﻃﺮﻓﻲ اﻻﺗﺼﺎل اﻟﻤﺮﺳﻞ‪/‬اﻟﻤﺴﺘﻘﺒﻞ ﻣﺜﻼ‪.‬‬
‫ـ ﺁﻟﻴﺎت ﻣﻌﻴﻨﺔ ﻟﻠﺤﻤﺎﻳﺔ ‪:‬‬
‫اﻟﺘﺸﻔﻴﺮ‪ ،‬اﻟﺘﻮﻗﻴﻊ اﻻﻟﻜﺘﺮوﻧﻲ ‪ ،‬اﻟﺘﺤﻜﻢ ﺑﺎﻟﻮﺻﻮل‪ ،‬ﺳﻼﻣﺔ اﻟﺒﻴﺎﻧﺎت‪ ،‬ﺗﺒﺎدل اﻟﺼﻼﺣﻴﺎت‪ ،‬اﻟﻤﺮور اﻟﺰاﺋﺪ‪ ،‬اﻟﺘﺤﻜﻢ ﺑﺎﻟﻤﺴ ﺎر‪،‬‬
‫اﻟﺸﻬﺎدة اﻟﻘﺎﻧﻮﻧﻴﺔ‪.‬‬
‫‪ -‬ﺁﻟﻴﺎت ﺑﻴﻨﻴﺔ ﻟﻠﺤﻤﺎﻳﺔ )وﺳﻴﻄﻴﺔ(‪:‬‬
‫اﻟﻮﻇﻴﻔﻴﺔ اﻟﻤﻮﺛﻮﻗﺔ‪ ،‬أﻏﻠﻔﺔ اﻟﺤﻤﺎﻳﺔ‪ ،‬آﺸﻒ اﻻﺣﺪاث ‪ ،‬ﻣﻤﺮات ﺗﺪﻗﻴﻖ اﻟﺤﻤﺎﻳﺔ‪ ،‬إﺻﻼح اﻟﺤﻤﺎﻳﺔ )اﻟﺨﻠﻞ(‪.‬‬
‫‪ -‬ﺗﻨﺼﻴﻒ أﻧﻮاع اﻟﻬﺠﻤﺎت اﻟﺘﻲ ﺗﺴﺘﻬﺪف اﻻﻣﻨﻴﺔ‪:‬‬
‫‪.١‬اﻟﻬﺠﻮم اﻟﺴﻠﺒﻲ ‪: passive attacks‬‬
‫هﻮ هﺠﻮم ﻳﺘﻨﺼﺖ ﻋﻠﻰ او ﻳﺮاﻗﺐ ﺣﺮآﺔ ﻣ ﺮور اﻟﺒﻴﺎﻧ ﺎت ﺑﻐ ﺮض ‪:‬اﻟﺤﺼ ﻮل ﻋﻠ ﻰ ﻣﺤﺘ ﻮى اﻟﺮﺳ ﺎﺋﻞ‪ ،‬أو ﻣﺮاﻗﺒ ﺔ ﺗ ﺪﻓﻖ‬
‫ﻣﺮور اﻟﺒﻴﺎﻧﺎت‪.‬‬
‫‪.٢‬اﻟﻬﺠﻮم اﻻﻳﺠﺎﺑﻲ‪ /‬اﻟﻤﺆﺛﺮ ‪: active attacks‬‬
‫ﻋﻤﻠﻴﺔ ﺗﻌﺪﻳﻞ ﻗﻨﺎة اﻟﺒﻴﺎﻧﺎت ﻣﻦ أﺟﻞ ‪:‬‬
‫اﻟﺘﻨﻜﺮ آﺠﻬﺔ ﻣﻮﺛﻮﻗﺔ اﻣﺎم اﻻﺧﺮﻳﻦ‪ ،‬إﻋﺎدة ﺗﺸﻐﻴﻞ‪/‬ارﺳﺎل ﺑﻌﺾ اﻟﺮﺳﺎﺋﻞ‪ ،‬ﺗﻐﻴﻴﺮ ﻣﺴﺎر اﻟﺮﺳﺎﻟﺔ‪ ،‬إﻧﻜﺎر اﻟﺨﺪﻣﺔ‪.‬‬

‫اﻟﻔﺼﻞ اﻟﺜﺎﻧﻲ‪ :‬اﻟﺘﻘﻨﻴﺎت اﻟﻘﺪﻳﻤﺔ ﻟﻠﺘﺸﻔﻴﺮ‬


‫ﻣﺼﻄﻠﺤﺎت اﺳﺎﺳﻴﺔ‪:‬‬ ‫‪-‬‬
‫‪ :plaintext‬اﻟﺮﺳﺎﻟﺔ اﻷﺻﻠﻴﺔ ‪ /‬اﻟﻤﺮﺳﻠﺔ‪.‬‬ ‫‪-‬‬
‫‪ ciphertext -‬اﻟﺮﺳﺎﻟﺔ اﻟﻤﺸﻔﺮة ‪.‬‬ ‫‪-‬‬
‫‪ :cipher‬اﻟﺨﻮارزﻣﻴﺔ اﻟﻤﺴﺘﺨﺪﻣﺔ ﻟﺘﺤﻮﻳﻞ اﻟﺮﺳﺎﻟﺔ اﻻﺻﻠﻴﺔ إﻟﻰ رﺳﺎﻟﺔ ﻣﺸﻔﺮة‪.‬‬ ‫‪-‬‬
‫‪ :key‬ﻣﻌﻠﻮﻣﺎت ﻣﺴﺘﺨﺪﻣﺔ ﻟﻠﺘﺸﻔﻴﺮ ﻣﻌﺮوﻓﺔ ﻓﻘﻂ ﻟﻠﻤﺮﺳﻞ واﻟﻤﺴﺘﻘﺒﻞ‪.‬‬ ‫‪-‬‬
‫)‪ :encipher (encrypt‬ﻋﻤﻠﻴﺔ ﺗﺤﻮﻳﻞ اﻟﺮﺳﺎﻟﺔ اﻻﺻﻠﻴﺔ إﻟﻰ اﻟﺮﺳﺎﻟﺔ اﻟﻤﺸﻔﺮة )اﻟﺘﺸﻔﻴﺮ(‪.‬‬ ‫‪-‬‬
‫)‪ :decipher (decrypt‬ﻋﻤﻠﻴﺔ إﺳﺘﺨﺮاج واﻟﺤﺼﻮل ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ اﻻﺻﻠﻴﺔ ﻣﻦ اﻟﻤﺸﻔﺮة‪.‬‬ ‫‪-‬‬
‫‪ :Cryptography‬ﻋﻠﻢ دراﺳﺔ اﻟﺘﺸﻔﻴﺮ اﻻﺳﺎﺳﻴﺎت‪ /‬اﻟﻄﺮق‪.‬‬ ‫‪-‬‬
‫)‪ :cryptanalysis (codebreaking‬ﺗﺤﻠﻴﻞ اﻟﺸﻔﺮة‪ /‬آﺴﺮ اﻟﻜﻮد ‪ :‬ﻋﻠﻢ ﻳﺪرس ﻋﻤﻠﻴ ﺔ ﻓ ﻚ اﻟﺸ ﻔﺮة ﻓ ﻲ اﻟﺮﺳ ﺎﻟﺔ‬ ‫‪-‬‬
‫اﻟﻤﺸﻔﺮة دون ﻋﻠﻢ اﻟﻤﻔﺘﺎح‪.‬‬
‫‪ :cryptology‬اﻟﻤﺠﺎل اﻟﺬي ﻳﺪرس ﻋﻠﻤﻲ اﻟﺘﺸﻔﻴﺮ ‪ cryptography‬وﺗﺤﻠﻴﻞ اﻟﺸﻔﺮة ‪.cryptanalysis‬‬ ‫‪-‬‬

‫‪Symmetric Cipher Model‬‬


‫‪ -‬ﻣﻄﻠﺒﺎت اﻟﺘﺸﻔﻴﺮ اﻟﺘﻤﺎﺛﻠﻲ ‪ Symmetric Cipher‬اﻵﻣﻦ هﻲ ‪:‬‬
‫ـ ﺧﻮارزﻣﻴﺔ ﺗﺸﻔﻴﺮ ﻗﻮﻳﺔ‪.‬‬
‫‪ibbalyaum.net‬‬ ‫ـ ﻣﻔﺘﺎح ﺳﺮي ﻣﻌﺮوف ﻓﻘﻂ ﻟﻠﻤﺮﺳﻞ واﻟﻤﺴﺘﻘﺒﻞ‪.‬‬
‫ـ ﻋﻠﻢ اﻟﺘﺸﻔﻴﺮوﺗﺤﻠﻴﻞ اﻟﺘﺸﻔﻴﺮ‪:Cryptography‬‬
‫‪fahdalqasem.blogspot.com‬‬
‫ﻳﻤﻜﻦ ان ﻳﻮﺻﻒ ﺑـﻌﺪة ﻋﻮاﻣﻞ هﻲ ‪:‬‬
‫‪ .١‬ﻧﻮع ﻋﻤﻠﻴﺎت اﻟﺘﺸﻔﻴﺮ اﻟﻤﺴﺘﺨﺪﻣﺔ‪.‬‬
‫‪ .٢‬ﻋﺪد اﻟﻤﻔﺎﺗﻴﺢ اﻟﻤﺴﺘﺨﺪﻣﺔ )واﺣﺪ ﺧﺎص‪ ،‬إﺛﻨﻴﻦ ﻋﺎم(‪.‬‬
‫‪ .٣‬ﻃﺮﻳﻘﺔ ﻣﻌﺎﻟﺠﺔ اﻟﺮﺳﺎﻟﺔ اﻻﺻﻠﻴﺔ ‪ :‬اﻟﻮﺣﺪة‪/‬اﻟﻘﺎﻟﺐ أو اﻟﻘﻨﺎة‪.‬‬
‫ـ أﻧﻮاع هﺠﻤﺎت ﺗﺤﻠﻴﻞ اﻟﺸﻔﺮة ‪ Cryptanalytic Attacks‬اﻟﺘﻲ ﺗﻌﻨﻲ آﺴﺮ اﻟﻜﻮد ﺑﺪون ﻣﻌﺮﻓﺔ اﻟﻤﻔﺘﺎح ‪:‬‬
‫• ‪: ciphertext only‬‬
‫– ﻳﻌﺮﻓﻮن ﻓﻘﻂ اﻟﺮﺳﺎﻟﺔ اﻟﻤﺸﻔﺮة واﻟﺨﻮرازﻣﻴﺔ وﺑﺒﻌﺾ اﻻﺣﺼﺎءات ﻳﺤﺼﻠﻮن ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ اﻻﺻﻠﻴﺔ‪.‬‬
‫• ‪known plaintext‬‬
‫– ﻳﻌﺮﻓﻮن اﻟﺮﺳﺎﻟﺔ اﻻﺻﻠﻴﺔ واﻟﻤﺸﻔﺮة وﻳﻬﺪﻓﻮن إﻟﻰ ﻓﻚ ﺧﻮارزﻣﻴﺔ اﻟﺘﺸﻔﻴﺮ‪.‬‬
‫• ‪chosen plaintext‬‬
‫– إﺧﺘﻴﺎر رﺳﺎﻟﺔ اﺻﻠﻴﺔ ﻣﻦ ﻣﺠﻤﻮﻋﺔ ﺧﻴﺎرات ﻟﻠﺤﺼﻮل ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ اﻟﻤﺸﻔﺮة ﺑﻬﺪف ﻓﻚ اﻟﺨﻮارزﻣﻴﺔ‪.‬‬
‫• ‪chosen ciphertext‬‬
‫– إﺧﺘﻴﺎر رﺳﺎﻟﺔ ﻣﺸﻔﺮة ﻣﻦ ﻣﺠﻤﻮﻋﺔ ﺧﻴﺎرات ﻟﻠﺤﺼﻮل ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ اﻻﺻﻠﻴﺔ ﺑﻬﺪف ﻓﻚ اﻟﺨﻮارزﻣﻴﺔ‪.‬‬
‫• ‪chosen text‬‬
‫– ﻳﻮﺟﺪ ﺧﻴﺎرات اﻟﺤﺼ ﻮل ﻋﻠ ﻰ اﻟﺮﺳ ﺎﻟﺘﻴﻦ اﻻﺻ ﻠﻴﺔ واﻟﻤﺸ ﻔﺮة ﺑﻬ ﺪف ﻓ ﻚ اﻟﺨﻮارزﻣﻴ ﺔ وﻣﻌﺮﻓ ﺔ ﻃ ﺮق‬
‫اﻟﺘﺸﻔﻴﺮ وﻓﻚ اﻟﺘﺸﻔﻴﺮ‪.‬‬

‫اﻟﻔﺼﻞ اﻟﺜﺎﻟﺚ‪ :‬اﻟﺘﺸﻔﻴﺮ اﻟﻘﻴﺎﺳﻲ ﻟﻠﺒﻴﺎﻧﺎت‬


‫‪Block Ciphers and the Data Encryption Standard‬‬

‫ﻣﻘﺎرﻧﺔ اﻟﺘﺸﻔﻴﺮ ﺑﺎﻟﻘﻨﺎة‪/‬ﻗﻨﺎة اﻟﺒﺘﺎت )‪ (stream‬واﻟﺘﺸﻔﻴﺮ ﺑﺎﻟﻘﺎﻟﺐ‪/‬وﺣﺪة اﻟﺒﺘﺎت)‪:(block‬‬


‫* ﻳﺘﻢ ﻣﻌﺎﻟﺠﺔ اﻟﺮﺳﺎﺋﻞ ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﺸﻔﻴﺮ ﺑﺎﻟﻘﺎﻟﺐ آﻤﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺒﺘﺎت ﻳﺘﻢ ﺗﺸﻔﻴﺮهﺎ ﻣﻌﺎ‪ ،‬ﻃﻮل اﻟﻘﺎﻟﺐ ‪ ٦٤‬ﺑﺘﺎ او اآﺜﺮ‪.‬‬
‫* ﻳﺘﻢ ﻣﻌﺎﻟﺠﺔ اﻟﺮﺳﺎﺋﻞ ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﺸﻔﻴﺮ ﺑﺎﻟﻘﻨﺎة ﻓﻲ اﻟﻮﻗﺖ اﻟﻮاﺣﺪ ﺑﺘﺎ أو ﺑﺎﻳﺘﺎ واﺣﺪا‪ ،‬ﻳﺘﻢ ﺗﺸﻔﻴﺮﻩ‪.‬‬
‫* أﻏﻠﺐ ادوات اﻟﺘﺸﻔﻴﺮ ﺣﺎﻟﻴﺎ هﻲ ﻣﻦ اﻟﻨﻮع اﻟﺘﺸﻔﻴﺮ ﺑﺎﻟﻘﺎﻟﺐ‪.‬‬
‫• اﻟﻄﺮﻳﻘﺔ اﻟﻘﻴﺎﺳﻴﺔ ﻟﺘﺸﻔﻴﺮ اﻟﺒﻴﺎﻧﺎت )‪:Data Encryption Standard (DES‬‬
‫ﻣﻦ اآﺜﺮ اﻟﻮﺳﺎﺋﻞ اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ اﻟﻌﺎﻟﻢ‪ ،‬ﻗﺪﻣﺖ ﻋﺎم ‪١٩٧٧‬ﺑﻮاﺳﻄﺔ ﻣﻌﻬﺪ ‪ NBS‬اﻟﺬي اﺻﺒﺢ اﺳﻤﻪ اﻵن ‪.NIST‬‬
‫ﻳﺸﻔﺮ ﻗﺎﻟﺒﺎ ﻣﻜﻮن ﻣﻦ ‪ ٦٤‬ﺑﺘﺎ ﺑﻮاﺳﻄﺔ ﻣﻔﺘﺎح ﻃﻮﻟﻪ ‪ ٥٦‬ﺑﺘﺎ‪ ،‬هﻨﺎك ﺟﺪل ﺑﺸﺄن ﺟﺪوى اﻣﻨﻴﺘﻪ‪.‬‬
‫ﻟﻤﺤﺔ ﺗﺎرﻳﺨﻴﺔ ‪.......‬‬
‫• ‪:DES Encryption‬‬

‫اﻟﺨﻄﻮة اﻻوﻟﻰ هﻲ ﻋﻤﻠﻴﺔ إﻃﻼق اﻟﺘﺒﺎدﻳﻞ ‪ ،Initial Permutation‬اﻟﺘﺒﺎدﻳﻞ اﻻﺑﺘﺪاﺋﻲ وﻓﻴﻬﺎ ﻳﺘﻢ ﻋﻤﻞ ﺗﺒﺎدﻳﻞ رﻳﺎﺿﻴﺔ‬
‫ﻋﻠﻰ اﻟﺒﺘﺎت اﻟﺪاﺧﻠﺔ‪.‬‬
‫ﻓﻲ اﻟﻤﺮﺣﻠﺔ اﻟﺘﺎﻟﻴﺔ‪ :‬ﻣﺮﺣﻠﺔ اﻟﺪورات اﻟﻬﻴﻜﻠﻴﺔ ‪ ،DES Round Structure‬ﺣﻴﺚ ﺗﻤﺮ اﻟﻌﻤﻠﻴﺔ ﺑﺴ ﺖ ﻋﺸ ﺮة دورة ﻓ ﻲ‬
‫آﻞ دورة ﻳﺘﻢ اﺿﺎﻓﺔ ﻣﻔﺘﺎح اﻟﺘﺸﻔﻴﺮ ﺑﻄﺮﻳﻘﺔ ﻣﻌﻴﻨﺔ‪.‬‬
‫وﻓﻲ آﻞ دورة ﻳﺘﻢ ﻋﻤﻞ اﻟﺨﻄﻮات اﻟﺘﺎﻟﻴﺔ‪:‬‬
‫ﻳﺠﺰء اﻟﻘﺎﻟﺐ إﻟﻰ ﻧﺼﻔﻴﻦ آﻞ ﻧﺼﻒ ‪ ٣٢‬ﺑﺖ‪ ،‬ﻳﺘﻢ ﺗﺤﺪﻳﺪ ﻗﻴﻤﺔ آﻞ ﺑﺖ ﻓﻲ آﻞ ﻧﺼﻒ آﻤﺎ ﺑﺎﻟﻌﻼﻗﺔ ‪:‬‬
‫‪Li = Ri–1‬‬
‫)‪Ri = Li–1 xor F(Ri–1, Ki‬‬
‫وآﻤﺎ ﺑﺎﻟﺸﻜﻞ ادﻧﺎﻩ ﻳﺘﻢ اﺧﺬ اﻟﻨﺼﻒ اﻻﻳﻤﻦ وﺗﻄﺒﻴﻖ اﻟﺪاﻟ ﺔ ‪ E‬اﻟﺘ ﻲ ﺗﺤﻮﻟ ﻪ إﻟ ﻰ ‪ ٤٨‬ﺑ ﺖ‪ ،‬وﺗﻀ ﻴﻒ ه ﺬﻩ اﻟﺒﺘ ﺎت إﻟ ﻰ ﻋ ﺪد‬
‫ﻣﺸﺎﺑﻪ ﻳﻤﺜﻞ ﺟﺰء ﻣﻦ اﻟﻤﻔﺘﺎح اﻟﻤﺴﺘﺨﺪم ﻓﻲ اﻟﺘﺸﻔﻴﺮ‪.‬‬
‫ﺗﻤﺮ اﻟﻨﺘﻴﺠﺔ اﻟﺘﻲ ﻧﺤﺼﻞ ﻋﻠﻴﻬﺎ ﺑﺜﻤﺎﻧﻴﺔ ﺻﻨﺎدﻳﻖ ﻳﻘﻮم آﻞ ﺻﻨﺪوق ﺑﺈﺳﺘﻘﺒﺎل ﺳﺘﺔ ﺑﺘﺎت ﻣﻦ اﻟـ ‪ ٤٨‬ﺑﺘ ﺎ‪ ،‬وﻳﺤﻮﻟﻬ ﺎ ﺑﻄﺮﻳﻘ ﺔ‬
‫ﻣﻌﻴﻨﺔ إﻟﻰ ارﺑﻌﺔ ﺑﺘﺎت‪ ،‬ﻣﻤﺎ ﻳﺤﻮل اﻟﻨﺎﺗﺞ اﻟﻨﻬﺎﺋﻲ إﻟﻰ ‪ ٣٢‬ﺑﺘﺎ‪ ،‬ﻧﻘﻮم ﻗﺒﻞ ذﻟﻚ ﺑﻌﻤﻞ ﺗﺒﺎدﻳﻞ رﻳﺎﺿﻴﺔ ﻋﻠﻴﻬﺎ‪.‬‬

‫‪DES Round Structure‬‬

‫اﻟﺼﻨﺎدﻳﻖ اﻟﺜﻤﺎﻧﻴﺔ ‪: Substitution Boxes‬‬


‫آﻞ ﺻﻨﺪوق آﻤﺎ اﺳﻠﻔﻨﺎ ﻳﺤﻮل اﻟـ ‪ ٦‬ﺑﺖ إﻟ ﻰ ارﺑﻌ ﺔ ﺑﺘ ﺎت‪ ،‬ﻳﺄﺧ ﺬ اﻟﺼ ﻨﺪوق اﻟﺒ ﺖ اﻻول واﻻﺧﻴ ﺮ )واﺣ ﺪ وﺳ ﺘﺔ( ﻟﻴﻌﻤ ﻞ‬
‫ﻣﻨﻬﺎ ﺻﻒ‪ ،‬وﻳﻌﻤ ﻞ ﻣ ﻦ اﻻرﺑﻌ ﺔ ﺑﺘ ﺎت اﻟﺪاﺧﻠﻴ ﺔ ارﺑﻌ ﺔ اﻋﻤ ﺪة‪ ،‬ﻟﻴﻄﺒ ﻖ ﻋﻤﻠﻴ ﺎت رﻳﺎﺿ ﻴﺔ ﻣﻌﻴﻨ ﺔ‪ ،‬ﻳﺠ ﺐ ان ﺗﻀ ﻤﻦ ه ﺬﻩ‬
‫اﻟﻌﻤﻠﻴ ﺔ ﺳ ﻼﻣﺔ اﻻﻧﻌﻜ ﺎس ﺑﺎﻟﻨﺴ ﺒﺔ ﻟﻠﻄ ﺮف اﻵﺧ ﺮ اﻟ ﺬي ﻳﻔ ﻚ اﻟﺘﺸ ﻔﻴﺮ‪ ،‬وﻳﻘ ﻮم ه ﺬﻩ اﻟﺠ ﺪول اﻟﻤﻜ ﻮن ﻣ ﻦ ارﺑﻌ ﺔ اﻋﻤ ﺪة‬
‫وﺻﻔﻴﻦ ﺑﺈﻧﺘﺎج ارﺑﻌﺔ ﺑﺘﺎت ﻣﻘﺎﺑﻠﺔ‪ ،‬هﻲ اﻟﺘﻲ ﻳﻘﻮم آﻞ ﺻﻨﺪوق ﺑﺈﺧﺮاﺟﻬﺎ‪.‬‬
‫وهﻲ ﻋﻤﻠﻴﺔ ﻓﻲ ﻣﺨﺮﺟﺎﺗﻬﺎ ﺗﺸﺒﻪ ﻣﺎ ﻳﻔﻌﻠﻪ اﻟﻀﻐﺎط ﻣﻦ ﺿﻐﻂ اﻟﻤﺪﺧﻼت وﺗﺤﻮﻳﻠﻬﺎ إﻟﻰ ﺣﺠﻢ اﻗﻞ‪.‬‬
‫ﻣﺜﺎل ﺑﺎﻟﻨﻈﺎم اﻟﺴﺖ ﻋﺸﺮي‪S(18 09 12 3d 11 17 38 39) = 5fd25e03 :‬‬
‫ﺟﺪوﻟﺔ اﻟﻤﻔﺎﺗﻴﺢ اﻟﻔﺮﻋﻴﺔ ‪:DES sub keys generating‬‬
‫ﻳﺘﺤﻮل ﻣﻔﺘﺎح اﻟﺘﺸﻔﻴﺮ آﻤﺎ هﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺸﻜﻞ‪ ،‬إﻟﻰ ﺳﺘﺔ ﻋﺸﺮ ﻣﻔﺘ ﺎح ﻓﺮﻋ ﻲ‪ ،‬ﻳ ﺪﺧﻞ آ ﻞ واﺣ ﺪ ﻣﻨﻬ ﺎ إﻟ ﻰ آ ﻞ دورة ﻣ ﻦ‬
‫اﻟﺪورات اﻟﺘﻲ ﺗﻤﺮ ﺑﻬﺎ ﻗﺎﻟﺐ اﻟﺮﺳﺎﻟﺔ ﻧﻔﺴﻪ‪.‬‬
‫ﻳﺘﻢ ﻓﻲ اﻟﺒﺪاﻳﺔ ﺑﻤﺠﺮد إدﺧﺎل ﻣﻔﺘﺎح اﻟﺘﺸﻔﻴﺮ ﺗﻄﺒﻴﻖ ﻋﻤﻠﻴﺎت ﺗﺒﺎدﻳﻞ رﻳﺎﺿﻴﺔ أوﻟﻰ )‪ (pc1‬أو ‪permutation choice1‬‬
‫واﻟﺘﻲ ﺗﻘﻮم ﺑﺈﺧﺘﻴﺎر ‪ ٥٦‬ﺑﺖ ﻣﻦ اﻟـ ‪ ٦٤‬ﺑﺖ اﻟﻤﻜﻮﻧﺔ ﻟﻠﻤﻔﺘﺎح‪ ،‬وﻣﻦ ﺛﻢ ﺗﻘﺴﻢ ه ﺬﻩ اﻟ ـ‪ ٥٦‬ﺑ ﺖ إﻟ ﻰ ﻧﺼ ﻔﻴﻦ آ ﻞ ﻧﺼ ﻒ ‪٢٨‬‬
‫ﺑﺘﺎ‪.‬‬
‫ﻳﻤﺮ اﻟﻤﻔﺘﺎح ﺑﻌﺪهﺎ ﺑﺴﺖ ﻋﺸﺮة ﻣﺮﺣﻠﺔ ﺗﻄﺒﻖ ﻋﻠﻴﻪ ﻓﻲ آﻞ ﻣﺮﺣﻠﺔ اﻟﻌﻤﻠﻴﺎت اﻟﺘﺎﻟﻴﺔ‪:‬‬
‫ـ ﻳﺘﻢ اﺧﺘﺼﺎر آﻞ ﻧﺼﻒ ﻣﻦ ‪ ٢٨‬ﺑﺖ إﻟﻰ ‪ ٢٤‬ﺑﺖ ‪.‬‬
‫ـ ﻋﻤﻠﻴﺔ اﻟﺘﺒﺎدﻳﻞ اﻟﺮﻳﺎﺿﻲ اﻟﺜﺎﻧﻴﺔ ‪ pc2‬ﺗﻄﺒﻖ ﻓﻲ آﻞ ﻣﺮﺣﻠﺔ‪.‬‬
‫ـ ﻳﻄﺒﻖ ﻋﻠﻰ اﻟﻤﻔﺘﺎح اﻟﻔﺮﻋﻲ ﻋﻤﻠﻴﺔ ﺗﺪوﻳﺮ ﻣﻜﺮرة ﻟﻜﻞ ﻧﺼﻒ ﻣﻜﺎن اﻵﺧﺮ‪ ،‬ﺳﻮاء ﻣﺮة او ﻣﺮﺗﻴﻦ‪ ،‬ﺣﺴ ﺐ رﻗ ﻢ اﻟﻤﺮﺣﻠ ﺔ‬
‫‪.k‬‬

‫‪ibbalyaum.net‬‬ ‫‪: DES Decryption‬‬ ‫• اﻟﻌﻤﻠﻴﺎت اﻟﺨﺎﺻﺔ ﺑﻔﻚ اﻟﺸﻔﺮة‬


‫‪fahdalqasem.blogspot.com‬‬
‫ﺗﻘﻮم ﺧﻮارزﻣﻴﺔ ﻓﻚ اﻟﺸﻔﺮة ﺑﻌﻤﻠﻴﺎت ﻋﻜﺴﻴﺔ ﻟﻜﻞ ﺧﻄﻮة ﻣﻦ ﺗﻠ ﻚ اﻟﺨﺎﺻ ﺔ ﺑﺨﻮارزﻣﻴ ﺔ اﻟﺘﺸ ﻔﻴﺮ‪ ،‬ﺗﻮﻟ ﺪ اﻟﻤﻔ ﺎﺗﻴﺢ اﻟﻔﺮﻋﻴ ﺔ‬
‫ﺑﻄﺮﻳﻘﺔ ﻋﻜﺴﻴﺔ اﻳﻈﺎ‪ ،‬وﺗﻄﺒﻖ ﺑﺘﺮﻳﺐ ﻋﻜﺴﻲ‪ ،‬وآﺬﻟﻚ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻌﻤﻠﻴﺎت اﻟﺘﺒﺎدﻳﻞ وﻏﻴﺮهﺎ ﻣﻦ اﻟﻌﻤﻠﻴﺎت‪.‬‬

‫اﻟﻔﺼﻞ اﻟﺮاﺑﻊ‪ :‬اﻟﺤﻘﻮل اﻟﻤﻨﺘﻬﻴﺔ‬


‫‪Finite Fields‬‬

‫اﻟﺘﻌﺎرﻳﻒ اﻟﺮﺋﻴﺴﺔ‬
‫• اﻟﺰﻣﺮة ‪ : group‬هﻲ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ او اﻻرﻗ ﺎم‪ ،‬ﻣ ﻊ ﻣﺠﻤﻮﻋ ﺔ ﻣ ﻦ اﻟﻌﻤﻠﻴ ﺎت اﻟﺠﺒﺮﻳ ﺔ )ﻋﻤﻠﻴ ﺔ واﺣ ﺪة ﻓ ﻲ‬
‫اﻟﻐﺎﻟﺐ( اﻟﺘﻲ ﻧﻮاﺗﺠﻬﺎ ﺿﻤﻦ هﺬﻩ اﻟﻤﺠﻤﻮﻋﺔ )ﻋﻤﻠﻴﺎت ﻣﻐﻠﻘﺔ(‪ ،‬وﺗﺤﻘﻖ اﻟﺸﺮوط اﻟﺘﺎﻟﻴﺔ‪:‬‬
‫)‪(a.b).c = a.(b.c‬‬ ‫ﻗﺎﻧﻮن اﻟﺘﺠﻤﻴﻊ ﻟﻠﻌﻤﻠﻴﺔ ‪associative law:‬‬
‫وﺟﻮد ﻋﻨﺼﺮ ﻣﺤﺎﻳﺪ ﻟﻠﻌﻤﻠﻴﺔ ‪e.a = a.e = a has identity e:‬‬
‫‪a.a-1 = e‬‬ ‫وﺟﻮد اﻟﻨﻈﻴﺮ اﻟﻤﻘﺎﺑﻞ ‪has inverses a-1:‬‬
‫وإذا آﺎﻧﺖ اﻟﻌﻤﻠﻴﺔ ﺗﺒﺎدﻟﻴﺔ ‪ ،a.b = b.a‬ﺳﻤﻴﺖ اﻟﺰﻣﺮة ﺑﺎﻟﺰﻣﺮة اﻟﺘﺒﺎدﻟﻴﺔ ‪.abelian group‬‬
‫• وﺗﺴﻤﻰ اﻟﺰﻣﺮة ﺑﺎﻟﺰﻣﺮة اﻟﺪورﻳ ﺔ ‪ ،cyclic group‬إذا اﺳ ﺘﻄﻌﻨﺎ ﺗﻮﻟﻴ ﺪ ﺟﻤﻴ ﻊ ﻋﻨﺎﺻ ﺮ اﻟﺰﻣ ﺮة ﺑﺮﻓ ﻊ ﻋﻨﺼ ﺮ ﺛﺎﺑ ﺖ‬
‫ﻣﻨﻬﺎ إﻟﻰ اﺳﺲ ﻣﺮﺗﺒﺔ‪ ،‬ﻳﺴﻤﻰ اﻟﻌﻨﺼﺮ اﻟﺜﺎﺑﺖ ﺑﻤﻮﻟﺪ اﻟﺰﻣﺮة ﺣﻴﺚ ‪:‬‬
‫‪ a‬هﻮ ﻣﻮﻟﺪ اﻟﺰﻣﺮة هﻨﺎ‪ ،‬إذا آﺎن ‪ b = ak‬ﺣﻴﺚ ‪ b‬ﻳﻤﺜﻞ ﺟﻤﻴﻊ ﻋﻨﺎﺻﺮ اﻟﺰﻣﺮة‪ ،‬ﻣﻦ اﺟﻞ ﻗﻴﻢ ﻣﺨﺘﻠﻔﺔ ﻟـ ‪.k‬‬
‫اﻟﺤﻠﻘﺔ ‪ : Ring‬هﻲ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻻﻋﺪاد اﻟﺘﻲ ﺗﻄﺒﻖ ﻋﻠﻴﻬﺎ ﻋﻤﻠﻴﺘﻴﻦ )ﺿﺮب وﺟﻤﻊ( وﺗﺤﻘﻖ‪:‬‬
‫ـ زﻣﺮة ﺗﺒﺪﻳﻠﻴﺔ ‪ abelian group‬ﻋﻠﻰ ﻋﻤﻠﻴﺔ اﻟﺠﻤﻊ‪.‬‬
‫ـ ﻋﻤﻠﻴﺔ اﻟﻀﺮب ﺗﺠﻤﻴﻌﻴﺔ ‪ ،associative‬ﻣﻐﻠﻘﺔ‪ ،‬ﺗﻮزﻳﻌﻴﺔ ‪ distributive‬ﺑﺎﻟﻨﺴﺒﺔ ﻟﻌﻤﻠﻴﺔ اﻟﺠﻤﻊ أي أن‪:‬‬
‫‪a.(b+c) = a.b + a.c‬‬
‫ـ وإذا آﺎﻧﺖ ﻋﻤﻠﻴﺔ اﻟﻀﺮب ﺗﺒﺪﻳﻠﻴﺔ‪ ،‬ﺳﻤﻴﺖ اﻟﺤﻠﻘﺔ ﺑﺎﻟﺤﻠﻘﺔ اﻟﺘﺒﺪﻳﻠﻴﺔ ‪.commutative ring‬‬
‫ـ وإذا آﺎﻧ ﺖ ﻋﻤﻠﻴ ﺔ اﻟﻀ ﺮب ﺗﻤﻠ ﻚ ﻧﻈ ﺎﺋﺮ )دون ﻗﺎﺳ ﻢ ﺻ ﻔﺮي(‪ ،‬ﻓﺈﻧ ﻪ ﺗﺸ ﻜﻞ ﻓﻀ ﺎﺋﻲ ﺗﻜﺎﻣﻠﻴ ﺎ‪ /‬ﻣﺘﻤﻤ ﺎ ‪integral‬‬
‫‪.domain‬‬
‫• اﻟﺤﻘﻞ ‪ :Field‬هﻮ ﻣﺠﻤﻮﻋﺔ ﻣﻜﻮﻧﺔ ﻣﻦ ﻋﻨﺎﺻﺮ او ارﻗﺎم ﻣﻊ ﻋﻤﻠﻴﺘﻴﻦ ﻳﺤﻘﻖ‪:‬‬
‫ـ زﻣﺮة ﺗﺒﺪﻳﻠﻴﺔ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻌﻤﻠﻴﺔ اﻻوﻟﻰ )اﻟﺠﻤﻊ(‪.‬‬
‫ـ زﻣﺮة ﺗﺒﺪﻳﻠﻴﺔ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻌﻤﻠﻴﺔ اﻟﺜﺎﻧﻴﺔ )اﻟﻀﺮب(‪ ،‬ﺑﺈﺳﺘﺜﻨﺎء اﻟﺼﻔﺮ‪.‬‬
‫ـ ﻳﺤﻘﻖ ﺷﺮوط اﻟﺤﻠﻘﺔ ﻟﻠﻤﺠﻤﻮﻋﺔ ﻣﻊ اﻟﻌﻤﻠﻴﺘﻴﻦ‪.‬‬
‫• اﻟﻤﻮدﻳﻮل اﻟﺤﺴﺎﺑﻲ ‪: Modular Arithmetic‬‬
‫ﻳﻌﺘﻨﻲ ﺑﺘﻌﺮﻳﻒ ﻣﺆﺛﺮ اﻟﻤﻮدﻳﻞ ‪ mod‬اﻟﺬي ﻳﺤﻘﻖ ‪:‬‬
‫‪ a mod n‬هﻮ ﺑﺎﻗﻲ ﻗﺴﻤﺔ ‪ a‬ﻋﻠﻰ اﻟﻌﺪد ‪.n‬‬
‫ﻧﺴﺘﺨﺪم اﻟﺘﻌﺒﻴﺮ ‪ a=b mod n‬إذا آﺎن ﺑﺎﻗﻲ ﻗﺴﻤﺔ أي ﻣﻦ اﻟﻌﺪدﻳﻦ ‪ a,b‬ﻋﻠﻰ ‪ n‬هﻮ ﻧﻔﺴﻪ‪ ،‬ﻣﺜﻼ‪:‬‬
‫‪. 5=17 mod 12‬‬
‫اﻟﻌﺒﺎرة ‪ a=b mod n‬ﻳﻤﻜﻦ ان ﺗﻜﺘﺐ رﻳﺎﺿﻴﺎ ‪ ،a = qn + b‬ﺣﻴﺚ ان ‪0 <= b <= n-1‬‬
‫ﻳﻤﻜﻦ ﻋﻤﻞ ﺟ ﺪول ﺧ ﺎص ﺑﻜ ﻞ ﻋ ﺪد ﺻ ﺤﻴﺢ ﻳﺴ ﻤﻰ ‪ ،modulo n‬ﻳﺤﺘ ﻮي ﻋﻠ ﻰ ﺟﻤﻴ ﻊ اﻟﻌﻨﺎﺻ ﺮ اﻟﻤﺘﻘﺎﺑﻠ ﺔ ﻋﻨ ﺪ ﺗﻄﺒﻴ ﻖ‬
‫اﻟﻤﺆﺛﺮ ‪ ،mod‬ﻋﻠﻴﻬﺎ‪.‬‬
‫ﻣﺜﺎل ﺟﺪول ﻳﻮﺿﺢ ﻣﻮدﻳﻠﻮ ﻟﻠﻌﺪد ‪:(Modulo 7 Example) ٧‬‬
‫‪...‬‬
‫‪-21 -20 -19 -18 -17 -16 -15‬‬
‫‪-14 -13 -12 -11 -10 -9 -8‬‬
‫‪-7 -6 -5 -4 -3 -2 -1‬‬
‫‪0 1 2 3 4 5 6‬‬
‫‪7 8 9 10 11 12 13‬‬
‫‪14 15 16 17 18 19 20‬‬
‫‪21 22 23 24 25 26 27‬‬
‫‪28 29 30 31 32 33 34‬‬
‫‪...‬‬
‫• اﻟﻘﺎﺳﻢ ‪divisors‬‬
‫ﻧﻘﻮل ان اﻟﻌﺪد اﻟﺼﺤﻴﺢ ﻏﻴﺮ اﻟﺼﻔﺮي ‪ b‬اﻧﻪ ﻗﺎﺳﻢ ﻟـ ‪ a‬إذا آ ﺎن ﻳﻮﺟ ﺪ ﻋ ﺪد ﺻ ﺤﻴﺢ ‪ m‬ﺑﺤﻴ ﺚ أن ‪ ، a = m . b :‬وه ﺬا‬
‫ﻳﻌﻨﻲ ان ‪ a‬ﻳﻘﺒﻞ اﻟﻘﺴﻤﺔ ﻋﻠﻰ ‪ b‬ﺑﺪون ﺑﺎﻗﻲ‪.‬وﻳﺮﻣﺰ ﻟﻬﻤﺎ ﺑـ ‪.b!a‬ﻣ ﺜﻼ اﻻﻋ ﺪاد ‪ ١,٢,٣,٤,٦,٨,١٢,٢٤‬آﻠﻬ ﺎ ﺗﻘﺴ ﻢ اﻟﻌ ﺪد‬
‫‪.٢٤‬‬
‫• ﻋﻤﻠﻴﺎت اﻟﻤﻮدﻳﻮل اﻟﺤﺴﺎﺑﻲ ‪:Modular Arithmetic Operations‬‬
‫ﻳﺴﺘﺨﺪم اﻟﻤﻮدﻳﻞ اﻟﺤﺴﺎﺑﻲ اﻻﻋﺪاد اﻟﻤﻨﺘﻬﻴﺔ اﻟﻘﻴﻢ‪ ،‬وذﻟﻚ ﻟﺠﻌﻞ ﻋﻤﻠﻴﺎﺗﻬﺎ ﺗﻌﻄﻲ ﻧﺘﺎﺋﺞ ﺣﻠﻘﻴﺔ‪/‬دوراﻧﻴﺔ ﺗﻨﺘﻬ ﻲ ﻟﺘﺒ ﺪأ ﻣ ﻦ أول‬
‫ﻗﻴﻤﺔ‪.‬‬
‫ﻳﻤﻜﻦ ﺗﻌﺮﻳﻒ اﻟﻤﻮدﻳﻞ اﻟﺤﺴﺎﺑﻲ ﻷي زﻣﺮة ﻣﻦ اﻻﻋﺪاد اﻟﺼﺤﻴﺤﻴﺔ ﻣﺜﻼ‪:‬‬
‫}‪Zn = {0, 1, … , n-1‬‬
‫وهﺬﻩ اﻟﺰﻣﺮة ﺗﺸﻜﻞ ﻣﻊ ﻋﻤﻠﻴﺘﻲ اﻟﺠﻤﻊ واﻟﻈﺮب ﺣﻠﻘﺔ ﺗﺒﺪﻳﻠﻴﺔ‪ .‬اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﻳﻮﺿﺢ )‪:(Z8 , +‬‬

‫• اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻻﻋﻈﻢ )‪: Greatest Common Divisor (GCD‬‬


‫ﻣﺴ ﺄﻟﺔ ﻣﺸ ﻬﻮرة ﻓ ﻲ ﻧﻈﺮﻳ ﺔ اﻻﻋ ﺪاد‪ ،‬اﻟ ـﻘﺎﺳﻢ اﻟﻤﺸ ﺘﺮك اﻻﻋﻈ ﻢ ‪ GCD‬ﻟﻠﻌ ﺪدﻳﻦ ‪ a , b‬ه ﻮ اآﺒ ﺮ ﻋ ﺪد ﺻ ﺤﻴﺢ ﻳﻘﺒ ﻞ‬
‫اﻟﻌﺪدان اﻟﻘﺴﻤﺔ ﻋﻠﻴﻪ )ﻳﻘﺴﻤﻬﻤﺎ(‪ ،‬ﻣﺜﻼ )‪ GCD(60,24‬هﻮ اﻟﻌﺪد ‪.١٢‬‬
‫• ﺧﻮارزﻣﻴﺔ إﻗﻠﻴﺪس ﻟﻠـﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻻﻋﻈﻢ ‪: Euclid's GCD Algorithm‬‬
‫هﻲ ﻃﺮﻳﻘﺔ ﻣﺸﻬﻮرة ﻟﺘﺴﻬﻴﻞ ﻋﻤﻠﻴﺔ ﻟﻠﺤﺼﻮل ﻋﻠﻰ اﻟـ ‪ ،GCD‬وﺗﻨﺺ ﻋﻠﻰ أن ‪:‬‬
‫اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك اﻻﻋﻈﻢ ﻟﻌﺪدﻳﻦ ﻳﺴﺎوي اﻟﻘﺎﺳﻢ اﻟﻤﺸﺘﺮك ﻷﺣﺪهﻤﺎ ﻣﻊ ﺑﺎﻗﻲ ﻗﺴﻤﺔ اﻵﺧﺮ ﻋﻠﻴﻪ‪.‬‬
‫)‪GCD ( a , b) = GCD (b , a mod b‬‬
‫ﻣﻴ ﺰة ه ﺬﻩ اﻟﺨﻮارزﻣﻴ ﺔ ه ﻲ ﺗﺴ ﻬﻴﻞ ﻋﻤﻠﻴ ﺔ اﻟﺤﺼ ﻮل ﻋﻠ ﻰ اﻟ ـ ‪ ،GCD‬ﻓ ﻲ اﻟﻌﻤﻠﻴ ﺎت اﻟﻜﺒﻴ ﺮة ﻣ ﺜﻼ اﻟ ـ‬
‫)‪ GCD(٧,٨٠‬ﺗﺆول إﻟﻰ )‪ GCD(٧,٣‬وذﻟﻚ ﻷن ‪ ،80 mod7= 3‬وﺣﺴﺎب ﻋﻮاﻣﻞ اﻟـ ‪ ٣‬اﺳﻬﻞ ﺑﺎﻟﺘﺄآﻴﺪ‬
‫ﻣﻦ ﺣﺴﺎب ﻋﻮاﻣﻞ اﻟـ ‪ .٨٠‬وهﻜﺬا‪..‬‬
‫وﻳﻤﻜﻦ ﺗﻨﻔﻴﺬ هﺬﻩ اﻟﺨﻮارزﻣﻴﺔ ﺣﺎﺳﻮﺑﻴﺎ آﺎﻟﺘﺎﻟﻲ‪:‬‬
‫‪– A=a, B=b‬‬
‫‪– while B>0‬‬
‫‪• R = A mod B‬‬
‫‪• A = B, B = R‬‬
‫‪– return A‬‬
‫• ﺣﻘﻮل ﺟﻠﻮﻳﺲ ‪: Galois Fields‬‬
‫هﻲ ﺣﻘﻮل ﻣﻨﺘﻬﻴﺔ‪ ،‬ﺗﻠﻌﺐ دورا هﺎﻣﺎ ﻓﻲ ﻧﻈﺮﻳﺎت وﻃﺮق اﻟﺘﺸﻔﻴﺮ‪.‬‬
‫ﺑﺘﻄﺒﻴﻘﻬﺎ ﻳﻤﻜﻨﻨﺎ ﻳﻤﻜﻨﻨﺎ اﻟﺤﺼﻮل ﻋﻠﻰ ﻋﺪد ﻣﻦ اﻟﻌﻨﺎﺻﺮ ﻓﻲ ﺣﻘﻮل ﻣﻨﺘﻬﻴﺔ ‪ finite fields‬ﺑﺸ ﺮط ان اﺳ ﺎس ﻟﻌ ﺪد اوﻟ ﻲ‬
‫ﻣﻦ اﻟﺸﻜﻞ ‪ ، Pn‬ﻳﺮﻣﺰ ﺑﺎﻟﺮﻣﺰ )‪ ،GF(Pn‬وﻓﻲ اﻟﻌﺎدة ﻳﺘﻢ اﺳﺘﺨﺪام اﻟﺤﻘﻮل اﻟﻤﻮﻟﺪة ﻣﻦ اﻟﺸﻜﻠﻴﻦ‪:‬‬
‫– )‪GF(p‬‬
‫– )‪GF(2n‬‬

‫ﺣﻴﺚ ان )‪ GF(p‬ﻣﺠﻤﻮﻋﺔ اﻻﻋﺪاد اﻟﺼﺤﻴﺤﺔ ﻣﻦ ‪ ١‬إﻟﻰ ‪ ،p-1‬ﻣﻊ اﻟﻤﻮدﻳﻮل اﻟﺤﺴﺎﺑﻲ ﻣﻮدﻳﻠﻮ ‪.p‬‬
‫وهﺬا اﻟﺸﻜﻞ ﻳﺤﻘﻖ ﺷﺮوط اﻟﺤﻘ ﻮل اﻟﻤﻨﺘﻬﻴ ﺔ‪ ،‬وﺗﺘﻤﻴ ﺰ ه ﺬﻩ اﻟﺤﻘ ﻮل ﺑﺘﻄﺒﻴ ﻖ ﻋﻤﻠﻴ ﺎت اﻟﺠﻤ ﻊ واﻟﻈ ﺮب )وﺑﺎﻟﺘ ﺎﻟﻲ اﻟﻘﺴ ﻤﺔ‬
‫واﻟﻄﺮح( دون اﻟﺨﺮوج ﻋﻦ ﺣﺪد اﻟﻤﺠﻤﻮﻋﺔ‪.‬‬
‫‪ibbalyaum.net‬‬ ‫اﻟﻤﺜﺎل اﻟﻤﻮﺿﺢ ﻓﻲ اﻟﺠﺪول ادﻧﺎﻩ ﻳﻮﺿﺢ ﻧﻮاﺗﺞ اﻟﺤﻘﻞ ) * ‪:(FG(7),‬‬

‫‪fahdalqasem.blogspot.com‬‬
‫• ﺣﺴﺎب آﺜﻴﺮات اﻟﺤﺪود ‪:‬‬
‫ﺑﺎﻻﻣﻜﺎن ﺣﺴﺎب آﺜﻴﺮات اﻟﺤﺪود ﻣﻦ اﻟﺸﻜﻞ ‪:‬‬

‫وﺑﺨﺼﻮص آﺜﻴﺮات اﻟﺤﺪود ﻓﺈﻧﻨﺎ ﻧﻬﺘﻢ ﺑﻤﻮدﻳﻠﻮ ‪ ٢‬ﺣﻴﺚ ﺗﻜﻮن اﻟﻤﻌﺎﻣﻼت اﻣﺎ ‪ ٠‬أو ‪. ١‬‬
‫ﻓﻌﻨﺪ ﺟﻤﻊ آﺜﻴﺮي ﺣﺪود ﻳﺘﻢ إﻋﺘﺒﺎر اﻟﻤﻌﺎﻣﻠﻴﻦ ‪ ١,٠‬ﻓﻴﻜﻮن ﻧﺎﺗﺞ ﺟﻤﻊ وﺿﺮب آﺜﻴﺮي اﻟﺤﺪود‪ ،‬آﻤﺎ ﻓﻲ اﻟﻤﺜﺎل‪:‬‬
‫‪– eg. let f(x) = x3 + x2 and g(x) = x2 + x + 1‬‬
‫‪f(x) + g(x) = x3 + x + 1‬‬
‫‪f(x) x g(x) = x5 + x2‬‬
‫وﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﺸﻜﻞ )‪ ،GF(2n‬ﻓﺈﻧﻪ أﻳﻀﺎ ﻳﻤﺜﻞ ﺣﻠﻘﺔ ﻣﻨﺘﻬﻴﺔ ﺑﺎﻻﻣﻜﺎن ﺣﺴﺎﺑﻬﺎ آﻤﺎ ﻓﻲ اﻟﺸﻜﻞ اﻟﺴﺎﺑﻖ‪.‬‬

‫اﻟﻔﺼﻞ اﻟﺴﺎﺑﻊ‪ :‬اﻟﻤﺼﺎدﻗﺔ ﺑﺈﺳﺘﺨﺪام اﻟﺘﺸﻔﻴﺮ اﻟﻤﺘﻤﺎﺛﻞ‬


‫‪Confidentiality Using Symmetric Encryption‬‬

‫‪ Key Distribution‬ﺗﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ‬


‫• ﻓﻲ اﻟﻄﺮﻳﻘﺔ اﻟﺘﻤﺎﺛﻠﻴﺔ ‪ symmetric‬ﻳﺸﺘﺮك آﻞ ﻃﺮف ﻓﻲ ﻣﻔﺘﺎح ﺳﺮي ﻋﺎم‪.‬‬
‫• اﻟﻘﻀﻴﺔ هﻲ آﻴﻔﻴﺔ ﺗﻮزﻳﻊ هﺬا اﻟﻤﻔﺘﺎح ﺑﻄﺮﻳﻘﺔ ﻣﻮﺛﻮﻗﺔ‪.‬‬
‫• ﻳﻔﺸﻞ ﻧﻈﺎم اﻟﺤﻤﺎﻳﺔ ﻋﺎدة ﺑﺴﺒﺐ آﺴﺮ ﻋﻤﻠﻴﺔ ﺗﺒﺎدل اﻟﻤﻔﺎﺗﻴﺢ‪.‬‬
‫• ﺗﻮﺟﺪ ﺛﻼﺛﺔ ﺑﺪاﺋﻞ ﻟﺘﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ ﺑﻴﻦ اﻟﻄﺮﻓﻴﻦ أ و ب‪:‬‬
‫‪ .١‬ﻳﻮﻟﺪ أ اﻟﻤﻔﺘﺎح وﻳﺴﻠﻤﻪ ﻓﻴﺰﻳﺎﺋﻴﺎ إﻟﻰ ب ‪.‬‬
‫‪ .٢‬ﻃﺮف ﺛﺎﻟﺚ ﻳﺨﺘﺎر اﻟﻤﻔﺘﺎح وﻳﺴﻠﻤﻪ ﻟﻠﻄﺮﻓﻴﻦ‪.‬‬
‫‪ .٣‬ﻳﻤﻜﻦ إﺳﺘﺨﺪام ﻣﻔﺘﺎح ﻣﺸﻔﺮ ﻣﺴﺘﺨﺪم ﻓﻲ اﺗﺼﺎل ﺳﺎﺑﻖ‪ ،‬ﻟﺘﺸﻔﻴﺮ ﻣﻔﺘﺎح ﺟﺪﻳﺪ‪.‬‬
‫‪ .٤‬إذا آ ﺎن اﻟﻄﺮﻓ ﺎن أ و ب ﻳﻤﺘﻠﻜ ﺎن إﺗﺼ ﺎﻻ ﺁﻣﻨ ﺎ ﻋ ﻦ ﻃﺮﻳ ﻖ ﻃ ﺮف ﺛﺎﻟ ﺚ ﺟ ـ‪ ،‬ﻳﻤﻜ ﻦ ان ﻳﻘ ﻮم اﻟﻄ ﺮف‬
‫اﻟﺜﺎﻟﺚ ﺑﻌﻤﻠﻴﺔ ﺗﺒﺎدل اﻟﻤﻔﺎﺗﻴﺢ ﺑﻴﻦ اﻟﻄﺮﻓﻴﻦ أ ‪ ،‬ب‪.‬‬
‫• ﺳﻴﻨﺎرﻳﻮ ﺗﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ ‪Key Distribution Scenario‬‬
‫آﻤﺎ ﻳﻮﺿﺢ اﻟﺸﻜﻞ ادﻧﺎﻩ‪ ،‬ﻓﺈن ﻋﻤﻠﻴﺔ ﺗﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ ﺗﺘﻢ ﺑﺨﻤﺲ ﺧﻄ ﻮات‪ ،‬اﻟ ﺜﻼث اﻟﺨﻄ ﻮات اﻻوﻟ ﻰ ﺑﺨﻄ ﻮات ﺗﻮزﻳ ﻊ‬
‫اﻟﻤﻔ ﺎﺗﻴﺢ ‪ ،Key Distribution‬اﻣ ﺎ اﻟ ﺜﻼث اﻻﺧﻴ ﺮة )اﻟﺨﻄ ﻮة اﻟﺜﺎﻟﺜ ﺔ ﻣﺼ ﻨﻔﺔ ﻓ ﻲ اﻟﺨﻄ ﻮﺗﻴﻦ( ﻓﺘﺴ ﻤﻰ ﺑﺨﻄ ﻮات‬
‫اﻟﻤﺼﺎدﻗﺔ‪ ،‬اواﻟﺘﺄآﺪ ﻣﻦ اﻟﻬﻮﻳﺔ ‪. authentication steps‬‬
‫‪Key Distribution Scenario‬‬

‫• ﻗﻀﺎﻳﺎ ﺗﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ ‪: Key Distribution Issues‬‬


‫إن هﻴﻜﻠﻴﺔ اﻟـﺘﻮزﻳﻊ ﻣﻄﻠﻮﺑﺔ ﻓﻲ اﻟﺸﺒﻜﺎت اﻟﻜﺒﻴﺮة‪ ،‬ﻟﻜﻦ ﻳﻔﺘﺮض وﺟﻮد ﺛﻘﺔ ﻣﺘﺒﺎﻟﺔ ﺑﻴﻨﻬﺎ‪.‬‬
‫ﻳﺠﺐ ان ﻳﻜﻮن ﻋﻤﺮ دورة ﺣﻴﺎة ﺟﻠﺴﺔ ﺗﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ ‪ session key‬ﻣﺤﺪودا ﻣﻦ أﺟﻞ اﻣﻨﻴﺔ اﻓﻀﻞ‬
‫ﻓﻲ ﺣﺎﻟﺔ آﺎن اﻟﻨﻈﺎم ﻣﻮﺛﻮﻗﺎ ‪ ..‬ﻓﺈﻧﻪ ﺑﺎﻻﻣﻜﺎن ﺟﻌﻞ ﺟﻠﺴﺔ اﻟﻤﻔﺎﺗﻴﺢ ﻣﺆﺗﻤﺘﺔ ﺁﻟﻴﺎ‪.‬‬

‫اﻟﻔﺼﻞ اﻟﺜﺎﻣﻦ ‪ :‬ﻣﺪﺧﻞ إﻟﻰ ﻧﻈﺮﻳﺔ اﻻﻋﺪاد‬


‫‪Introduction to Number Theory‬‬

‫• اﻻﻋﺪاد اﻷوﻟﻴﺔ ‪: Prime Numbers‬‬


‫ه ﻲ اﻋ ﺪاد ﺻ ﺤﻴﺤﺔ ‪ integer numbers‬ﻻ ﺗﻤﻠ ﻚ ﺳ ﻮى ﻗﺎﺳ ﻤﻴﻦ ه ﻢ اﻟﻮاﺣ ﺪ اﻟﺼ ﺤﻴﺢ واﻟﻌ ﺪد ﻧﻔﺴ ﻪ ﻣ ﺜﻼ اﻻﻋ ﺪاد‬
‫‪ ٢,٣,٥,٧‬اﻋﺪاد اوﻟﻴﺔ‪.‬‬
‫ﺗﺸﻜﻞ اﻻﻋﺪاد اﻻوﻟﻴﺔ ﻣﺮآﺰ ﻧﻈﺮﻳﺔ اﻻﻋﺪاد‪.‬‬
‫• ﺗﺤﻠﻴﻞ اﻻﻋﺪاد اﻻوﻟﻴﺔ إﻟﻰ ﻋﻮاﻣﻠﻬﺎ ‪: Prime Factorisation‬‬
‫• ﺗﺤﻠﻴﻞ اﻟﻌﺪد ‪ n‬هﻮ ﻋﻤﻠﻴﺔ آﺘﺎﺑﺘﻪ ﻋﻠﻰ ﺷﻜﻞ ﻧﺎﺗﺞ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻻﻋﺪاد اﻟﺼﺤﻴﺤﺔ ﻣﻀ ﺮوﺑﺔ ﻣ ﻊ ﺑﻌﻀ ﻬﺎ ‪n=a‬‬
‫‪.× b × c‬‬
‫• اﻟﺘﺤﻠﻴﻞ اﻻوﻟﻲ اﻟﻰ ﻋﻮاﻣﻞ هﻮ آﺘﺎﺑﺔ اﻟﻌﺪد ﻋﻠﻰ ﺷﻜﻞ اﻋﺪاد اوﻟﻴﺔ ﻣﻀﺮوﺑﺔ ﻣﻊ ﺑﻌﻀﻬﺎ ﻣﺜﻼ ‪:‬‬
‫‪ 91=7×13‬واﻟﻌﺪد ‪3600=24×32×52‬‬
‫• اﻻﻋﺪاد اﻻوﻟﻴﺔ اﻟﻨﺴﺒﻴﺔ ‪: Relatively Prime Numbers‬‬
‫ﻳﻤﻜﻦ ﺗﻌﺮﻳﻒ اﻟﻌﺪدﻳﻦ اﻟﺼﺤﻴﺤﻴﻦ اﻧﻬﻤﺎ اوﻟﻴﺎن ﻧﺴﺒﻴﺎ )اوﻟﻴﺎن ﻓﻴﻤﺎ ﺑﻴﻨﻬﻤﺎ( إذا آﺎن اﻟﻌﺎﻣﻞ اﻟﻤﺸﺘﺮك ﻟﻬﻤﺎ هﻮ اﻟﻮاﺣ ﺪ‬
‫ﻓﻘ ﻂ‪ ،‬ﻣ ﺜﻼ اﻟﻌ ﺪدﻳﻦ ‪ ٨‬و ‪ ١٥‬اوﻟﻴ ﺎن ﻧﺴ ﺒﻴﺎ وذﻟ ﻚ ﻷن ﻋﻮاﻣ ﻞ اﻟﻌ ﺪد ‪ ٨‬ه ﻲ )‪ (١,٢.٤.٨‬و ﻋﻮاﻣ ﻞ اﻟﻌ ﺪد ‪ ١٥‬ه ﻲ‬
‫)‪ (١,٣,٥,١٥‬ﻣﻤﺎ ﻳﻌﻨﻲ ﻋﺪم وﺟﻮد ﻋﺪد ﻣﺸﺘﺮك ﺑﺨﻼف اﻟﻮاﺣﺪ ﺑﻴﻨﻬﻤﺎ‪.‬‬
‫• ﻧﻈﺮﻳﺔ ﻓﻴﺮﻣﺎت ‪:Fermat's Theorem‬‬
‫ﺗﻨﺺ ﻋﻠﻰ اﻧﻪ إذا آﺎن هﻨﺎك ﻋﺪد اوﻟﻲ ‪ ،p‬وآﺎن اﻟـ ‪ GCD‬ﻟﻪ ﻣ ﻊ ﻋ ﺪد ﺻ ﺤﻴﺢ ‪ a‬ﻳﺴ ﺎوي واﺣ ﺪ‪ ،‬أي أن ‪ a , p‬اوﻟﻴ ﺎن‬
‫ﻓﻴﻤﺎ ﺑﻴﻨﻬﻤﺎ أو اوﻟﻴﺎن ﻧﺴﺒﻴﺎ‪ ،‬ﻓﺈن ‪:‬‬
‫‪p-1‬‬
‫‪• a mod p = 1‬‬
‫ﺗﺴﺘﺨﺪم هﺬﻩ اﻟﻨﻈﺮﻳﺔ ﻓﻲ ﺧﻮارزﻣﻴﺎت إﻧﺸﺎء اﻟﻤﻔﺘﺎح اﻟﻌﺎم‪.‬‬
‫• داﻟﺔ ﺗﻮﺷﻨﺖ أوﻟﺮ )‪: Euler Totient Function ø(n‬‬
‫ﻋﻨﺪ ﻋﻤﻞ إﺟ ﺮاءات ﺣﺴ ﺎﺑﻴﺔ ﻣﻮدﻳﻠ ﻮ ‪ ،n‬ﻋ ﺪد ﻋﻨﺎﺻ ﺮ ه ﺬﻩ اﻟﻤﺠﻤﻮﻋ ﺔ ه ﻮ ‪ n-1‬ﻣ ﻦ ‪ ٠‬ﺣﺘ ﻰ اﻟﻌ ﺪد ‪ ،n-1‬واﻟﻤﺠﻤﻮﻋ ﺔ‬
‫)اﻟﻤﻘﻠﺼﺔ(‪ /‬اﻟﻤﻨﻘﺼﺔ هﻲ ﻣﺠﻤﻮﻋﺔ اﻻﻋﺪاد اﻻوﻟﻴﺔ ﻧﺴﺒﻴﺎ ﻣﻊ ‪.n‬‬
‫داﻟﺔ أوﻟﺮ هﻲ ﻋﺪد اﻟﻌﻨﺎﺻﺮ اﻻوﻟﻴﺔ ﻧﺴﺒﻴﺎ ﻣﻊ ‪ ،n‬وﻳﺮﻣﺰ ﻟﻬﺎ ﺑﺎﻟﺮﻣﺰ )‪.ø(n‬‬
‫• وﻟﺤﺴﺎب داﻟﺔ اوﻟﺮ ﻟﻠﻌﺪد اﻟﺼﺤﻴﺢ ‪ n‬أو ﻋﺪد اﻻﻋﺪاد اﻻوﻟﻴﺔ اﻟﻨﺴﺒﻴﺔ ﻟـ ‪ n‬ﻓﺈﻧﻪ‪:‬‬
‫إذا آﺎن ‪ n‬ﻋﺪد اوﻟﻴﺎ ﻓﺈن ‪، ø(n)=n-1‬‬
‫وإذا آﺎن ‪ n = p . q‬ﻓﺈن )‪ø(n)= ø(p.q)= (p-1)(q-1‬‬
‫وهﻤﺎ اﻟﻄﺮﻳﻘﺘﺎن اﻟﺘﻴﻦ اﺛﺒﺘﻬﻤﺎ اوﻟﺮ ﻟﺤﺴﺎب ﻗﻴﻤﺔ داﻟﺘﻪ‪ ،‬وذﻟﻚ ﺑﺎﻻﺳﺘﻌﺎﻧﺔ ﺑﻨﻈﺮﻳﺔ ﻓﻴﺮﻣﺎت‪.‬‬
‫ﻣﺜﺎل‪:‬‬
‫)‪– ø(37) = 36 , (37 is a prime‬‬
‫)‪– ø(21) = (3–1)×(7–1) = 2×6 = 12 , (21= 3 * 7‬‬
‫• ﻧﻈﺮﻳﺔ اوﻟﺮ ‪:Euler's Theorem‬‬
‫وﻗﺪ وﻟﺪ اوﻟﺮ ﻧﻈﺮﻳﺔ اوﻟﺮ ﺑﺘﻄﺒﻴﻖ ﻧﻈﺮﻳﺔ ﺗﻮﺷﻨﺖ اوﻟﺮ ﻋﻠﻰ ﻧﻈﺮﻳﺔ ﻓﻴﺮﻣﺎت‪ ،‬ﺗﻨﺺ ﻧﻈﺮﻳﺔ أوﻟﺮ ﻋﻠﻰ‪:‬‬
‫)‪ø(n‬‬
‫‪• a mod N = 1 ,where GCD ( a , N ) = 1..‬‬
‫• ﻣﺜﺎﻟﻴﻦ ﻋﻠﻰ ذﻟﻚ‪:‬‬
‫;‪– a=3;n=10; ø(10)=4‬‬
‫‪ibbalyaum.net‬‬ ‫‪– hence 34 = 81 = 1 mod 10‬‬

‫‪fahdalqasem.blogspot.com‬‬
‫;‪– a=2;n=11; ø(11)=10‬‬
‫‪– hence 210 = 1024 = 1 mod 11‬‬

‫اﻟﻔﺼﻞ اﻟﺘﺎﺳﻊ‪ :‬ﺗﺸﻔﻴﺮ اﻟﻤﻔﺘﺎح اﻟﻌﺎم و ﺧﻮارزﻣﻴﺔ ‪RSA‬‬


‫‪Public Key Cryptography and RSA‬‬

‫• ﺗﺸﻔﻴﺮ اﻟﻤﻔﺘﺎح اﻟﺨﺎص ‪:private Key Cryptography‬‬


‫ﺗﺴﺘﺨﺪم هﺬﻩ اﻟﻄﺮﻳﻘﺔ ﻣﻔﺘﺎح واﺣﺪ ﻟﻠﻄﺮﻓﻴﻦ‪ ،‬إذا ﺗﻢ آﺸﻒ ﻃﺮﻳﻘﺔ اﻻﺗﺼﺎل ﺗﻢ ﻓﻀﺢ ه ﺬﻩ اﻟ ﺮﻗﻢ‪ ،‬وﻻ ﻳﺤﻤ ﻲ اﻟﻤﺮﺳ ﻞ ﻣ ﻦ‬
‫ﺗﺰﻳﻴﻒ اﻟﻤﺴﺘﻘﺒﻞ ﻟﺮﺳﺎﻟﺔ واﻟﺰﻋﻢ اﻧﻬﺎ ﻣﻦ اﻟﻤﺮﺳﻞ‪.‬‬
‫• ﺗﺸﻔﻴﺮ اﻟﻤﻔﺘﺎح اﻟﻌﺎم ‪: Public Key Cryptography‬‬
‫ﺗﻌﺘﺒﺮ ﻣﻦ اﻓﻀﻞ اﻟﻄﺮق ﻋﻠﻰ ﻣ ﺪى ‪ ٣٠٠٠‬ﻋ ﺎم ﻣ ﻦ ﺗ ﺎرﻳﺦ اﻟﺘﺸ ﻔﻴﺮ‪ ،‬ﺗﺴ ﺘﺨﺪم ﻣﻔﺘ ﺎﺣﻴﻦ ﻋ ﺎم وﺧ ﺎص‪ ،‬ﺗﺴ ﻤﻰ ﺑﺎﻟﺘﺸ ﻔﻴﺮ‬
‫اﻟﻐﻴﺮ ﻣﺘﻤﺎﺛﻞ ﻷن اﻟﻄﺮﻓﻴﻦ ﻏﻴﺮ ﻣﺘﻄﺎﺑﻘﻴﻦ‪ ،‬ﻳﺴﺘﺨﺪم ﺗﻄﺒﻴﻘﺎت ﻗﻮﻳﺔ ﺗﻌﺘﻤﺪ ﻋﻠﻰ دوال ﻧﻈﺮﻳﺔ اﻻﻋﺪاد‪.‬‬
‫ﻣﺘﻜﺎﻣﻠﺔ ﺑﺸﻜﻞ اﻓﻀﻞ ﻣﻦ اﻟﺘﺸﻔﻴﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﺨﺎص‪.‬‬
‫• ﺗﻌﺮﻳﻒ اﻟﺘﺸﻔﻴﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻌﺎم‪/‬ﺑﺎﻟﻤﻔﺘﺎﺣﻴﻦ‪/‬اﻟﻐﻴﺮ ﻣﺘﻤﺎﺛﻞ ‪public-key/two-key/asymmetric‬‬
‫هﻮ ﻃﺮﻳﻘﺔ ﺗﺸﻔﻴﺮ ﺗﻌﺘﻤﺪ ﻣﻔﺘﺎﺣﻴﻦ‪:‬‬
‫اﻟﻤﻔﺘﺎح اﻟﻌﺎم ‪ : KU‬هﻮ ﻣﻔﺘﺎح ﻗﺪ ﻳﻜﻮن ﻣﻌﻠﻮﻣﺎ ﻟﻠﺠﻤﻴﻊ‪ ،‬وﻳﺴﺘﺨﺪم ﻟﺘﺸﻔﻴﺮ اﻟﺮﺳﺎﺋﻞ وﻟﻠﺘﺤﻘﻖ ﻣﻦ اﻟﺘﻮﻗﻴﻌﺎت‪.‬‬
‫اﻟﻤﻔﺘﺎح اﻟﺨﺎص ‪ : KR‬ﻣﻌﺮوف ﻓﻘﻂ ﻟﻠﻤﺴﺘﻘﺒﻞ‪ ،‬ﻳﺴﺘﺨﺪم ﻓﻘﻂ ﻟﻔﻚ اﻟﺸﻔﺮة‪ ،‬وﻟﻠﺘﻮﻗﻴﻊ‪ /‬إﻧﺸﺎء اﻟﺘﻮﻗﻴﻊ ‪.‬‬
‫وﻗﺪ ﺳﻤﻲ ﺑﻐﻴﺮ اﻟﻤﺘﻤﺎﺛﻞ ‪ asymmetric‬ﻷن هﺆﻻء اﻟﺬﻳﻦ ﻳﺸﻔﺮون او ﻳﻔﺤﺼﻮن اﻟﺘﻮﻗﻴ ﻊ ﻻ ﻳﺴ ﺘﻄﻴﻌﻮن ﻓ ﻚ ﺷ ﻔﺮﺗﻬﻢ او‬
‫إﻧﺸﺎء اﻟﺘﻮﻗﻴﻊ ﻧﻔﺴﻪ‪.‬‬
‫اﻟﺸﻜﻞ ادﻧﺎﻩ ﻳﻮﺿﺢ هﺬﻩ اﻟﻤﻨﻈﻮﻣﺔ‪.‬‬

‫• ﻟﻤﺎذا ﻳﺘﻢ اﺳﺘﺨﺪام ﻃﺮﻳﻘﺔ اﻟﻤﻔﺘﺎح اﻟﻌﺎم‪:‬‬


‫وذﻟﻚ ﻣﻦ اﺟﻞ اﻧﺠﺎز ﻗﻀﻴﺘﻦ هﺎﻣﺘﻴﻦ هﻤﺎ‪:‬‬
‫ـ ﺗﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ ‪ :key distribution‬آﻴﻒ ﻳﻤﻜﻦ إﻟﺤﺼ ﻮل ﻋﻠ ﻰ اﺗﺼ ﺎل ﻣﺤﻤ ﻲ‪/‬ﺁﻣ ﻦ ﺑﺸ ﻜﻞ ﻋ ﺎم‪،‬‬
‫دون اﻟﻨﻈﺮ ﻓﻲ ﺻﻮاﺑﻴﺔ ﻋﻤﻠﻴﺔ ﺗﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ‪.‬‬
‫ـ اﻟﺘﻮﻗﻴﻊ اﻻﻟﻜﺘﺮوﻧﻲ ‪ : digital signatures‬آﻴﻔﻴ ﺔ ﺿ ﻤﺎن وﺻ ﻮل اﻟﺮﺳ ﺎﻟﺔ ﻧﻔﺴ ﻬﺎ ﺑﺸ ﻜﻞ ﺳ ﻠﻴﻢ ﻣ ﻦ‬
‫اﻟﺸﺨﺺ اﻟﻤﺮﺳﻞ‪.‬‬
‫• ﻳﻌﺰى اﺧﺘﺮاع اﻟﻤﻔﺘﺎح اﻟﻌﺎم إﻟﻰ اﻟﻌﺎﻟﻤﻴﻦ دﻳﻔﻲ و هﻴﻠﻤﺎن ﻓﻲ ﺟﺎﻣﻌﺔ ﺳﺘﺎﻧﻔﻮرد ﻓﻲ ‪١٩٧٦‬م‪.‬‬
‫• ﺧﺼﺎﺋﺺ اﻟﻤﻔﺘﺎح اﻟﻌﺎم ‪:‬‬
‫إن ﺧﻮارزﻣﻴﺎت ﺗﻮﻟﻴﺪ اﻟﻤﻔﺘﺎح اﻟﻌﺎم ﺗﻌﺘﻤﺪ ﻋﻠﻰ اﻟﺨﺼﺎﺋﺺ اﻟﺘﺎﻟﻴﺔ‪:‬‬
‫‪ .١‬اﻟﻌﻤﻠﻴﺔ اﻟﺤﺴﺎﺑﻴﺔ ﻹﻳﺠﺎد ﻓﻚ اﻟﺸﻔﺮة ﻏﻴﺮ ﻣﻤﻜﻨﺔ ﻋﻤﻠﻴﺎ‪ ،‬أو ﻏﻴﺮ ﻣﺠﺪﻳﺔ‪.‬‬
‫‪ .٢‬ﻋﻤﻠﻴﺔ ﻓﻚ اﻟﺸﻔﺮة ﻣﻤﻜﻨﺔ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻄﺮف اﻟﺬي ﻳﻌﺮف اﻟﻤﻔﺘﺎح‪.‬‬
‫‪ .٣‬اي ﻣﻦ اﻟﻤﻔﺘﺎﺣﻴﻦ ﻳﻤﻜﻨﻬﻤﺎ اﻟﺘﺸﻔﻴﺮ‪ ،‬وﻻ ﻳﻔﻚ اﻟﺸﻔﺮة إﻻ اﻵﺧﺮ‪.‬‬
‫• اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﻳﻮﺿﺢ ﻣﻨﻈﻮﻣﺔ اﻟﺘﺸﻔﻴﺮ ﺑﺎﻟﻤﻔﺘﺎح اﻟﻌﺎم‪:‬‬
‫• ﺗﻄﺒﻴﻘﺎت ﻃﺮﻳﻘﺔ اﻟﻤﻔﺎﺗﻴﺢ اﻟﻌﺎﻣﺔ ‪:‬‬
‫ﺗﻄﺒﻖ هﺬﻩ اﻟﻄﺮﻳﻘﺔ ﻓﻲ ﺛﻼﺛﺔ ﻃﺮق ﻋﺎﻣﺔ ﺗﻘﺮﻳﺒﺎ‪:‬‬
‫اﻻوﻟﻰ ‪ :‬اﻟﺘﺸﻔﻴﺮ وﻓﻚ اﻟﺘﺸﻔﻴﺮ ﻹﻋﻄﺎء اﻟﺴﺮﻳﺔ‪.‬‬
‫اﻟﺜﺎﻧﻴﺔ ‪ :‬اﻟﺘﻮﻗﻴﻊ اﻻﻟﻜﺘﺮوﻧﻲ ﻹﻋﻄﺎء اﻟﻤﺼﺪاﻗﻴﺔ‪ /‬اﻟﺘﺼﺪﻳﻖ أو اﻟﺘﺄآﺪ ﻣﻦ اﻟﻬﻮﻳﺔ‪.‬‬
‫اﻟﺜﺎﻟﺜﺔ ‪ :‬ﺗﺒﺎدل اﻟﻤﻔﺎﺗﻴﺢ وذﻟﻚ اﺛﻨﺎء ﺟﻠﺴﺔ اﻟﻤﻔﺎﺗﻴﺢ‪.‬‬
‫ﺑﻌﺾ اﻟﺨﻮارزﻣﻴﺎت ﺗﺪﻋﻢ آﻞ هﺬﻩ اﻻﺳﺘﺨﺪاﻣﺎت‪ ،‬آﻤﺎ ان ﺑﻌﻀﻬﺎ ﻻ ﻳﺪﻋﻢ ﺳﻮى واﺣﺪة‪.‬‬
‫• ﺣﺪود اﻟﺴﺮﻳﺔ ﻓﻲ أﻧﻈﻤﺔ اﻟﻤﻔﺎﺗﻴﺢ اﻟﻌﺎﻣﺔ‪:‬‬
‫ـ ﻣﺜﻞ اﻟﻤﻔﺎﺗﻴﺢ اﻟﺨﺎﺻﺔ ﻳﺴﺘﻄﻴﻊ اﻟﻤﻬﺎﺟﻢ ﻋﻤﻞ ﺑﺤﺚ رﻳﺎﺿﻲ ﻣﻮﺳﻊ وإﻳﺠﺎد اﻟﻤﻔﺎﺗﻴﺢ ﻣﻦ اﻟﻨﺎﺣﻴﺔ اﻟﻨﻈﺮﻳﺔ‪.‬‬
‫ـ وﻟﺬﻟﻚ ﺗﺴﺘﺨﺪم اﻋﺪاد آﺒﻴﺮة ﺟﺪا آﻤﻔﺎﺗﻴﺢ )اآﺜﺮ ﻣﻦ ‪ ٥١٢‬ﺑﺘﺎ(‪.‬‬
‫ـ ﺗﻌﺘﻤﺪ اﻟﺴﺮﻳﺔ هﻨﺎ ﻋﻠﻰ اﻟﻔﺠﻮة اﻟﻜﺒﻴﺮة واﻟﻤﻌﻘﺪة ﺑﻴﻦ ﺳﻬﻮﻟﺔ اﻟﺘﺸﻔﻴﺮوﻓﻚ اﻟﺘﺸﻔﻴﺮ ﻣﻘﺎﺑﻞ ﺻﻌﻮﺑﺔ ﻣﺴﺎﺋﻞ ﺗﺤﻠﻴﻞ اﻟﺘﺸﻔﻴﺮ‪.‬‬
‫ـ ﺑﺸ ﻜﻞ ﻋ ﺎم ﻓ ﺈن اﻟﻤﺴ ﺄﻟﺔ اﻟﺼ ﻌﺒﺔ ﻣﺼ ﺪرهﺎ ﺻ ﻌﻮﺑﺔ ﺗﻄﺒﻴ ﻖ ﻋﻤﻠﻴ ﺔ إﻳﺠ ﺎد اﻟﻤﻔﺘ ﺎح ﻋﻤﻠﻴ ﺎ ﻓ ﻲ اﻟﻮاﻗ ﻊ‪ ،‬وﻳﺸ ﺘﺮط ﻟ ﺬﻟﻚ‬
‫اﺳﺘﺨﺪام اﻋﺪاد آﺒﻴﺮة ﺟﺪا‪.‬‬
‫ـ وﻋﻠﻰ هﺬا اﻻﺳﺎس ﻓﺈن اﻟﺘﺸﻔﻴﺮ اﻟﻐﻴﺮ ﻣﺘﻤﺎﺛﻞ أﺑﻂء ﻣﻘﺎرﻧﺔ ﺑﺎﻟﺘﺸﻔﻴﺮ اﻟﻤﺘﻤﺎﺛﻞ‪.‬‬
‫• ﺧﻮارزﻣﻴﺔ ‪) RSA‬راﻳﻔﺴﺖ‪ ،‬ﺷﺎﻣﻴﺮ‪ ،‬واﻟﺪﻳﻤﺎن(‪:‬‬
‫ﻋﺎم ‪١٩٧٧‬م ﻗﺪﻣﺖ وهﻲ ﻣﻦ اﺷﻬﺮ اﻟﻄﺮق ﻓﻲ ﺗﻄﺒﻴﻖ اﻟﺘﺸﻔﻴﺮ اﻟﺘﻤﺎﺛﻠﻲ‪ ،‬ﺗﻌﺘﻤﺪ ﻋﻠﻰ اﻟﺤﻘﻮل اﻟﻤﻨﺘﻬﻴﺔ اﻟﻤﺮﻓﻮﻋ ﺔ ﻟﻠﻘ ﻮى‪،‬‬
‫واﻟﻤﻄﺒﻘﺔ ﻋﻠﻰ اﻻﻋﺪاد اﻻوﻟﻴﺔ‪ ،‬ﺗﺴﺘﺨﺪم اﻋﺪاد آﺒﻴﺮة ﺟﺪا ﻣ ﺜﻼ )‪١٠٢٤‬ﺑ ﺖ(‪ ،‬ﺗﻌﺘﻤ ﺪ ﺻ ﻌﻮﺑﺘﻬﺎ ﻋﻠ ﻰ ﺗﻌﻘﻴ ﺪ اﻟﺘﺤﻠﻴ ﻞ إﻟ ﻰ‬
‫ﻋﻮاﻣﻞ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻸﻋﺪاد اﻟﻜﺒﻴﺮة‪.‬‬
‫• ﺷﺮح ﺧﻮارزﻣﻴﺔ ‪:RSA‬‬
‫ﻳﻘﻮم آﻞ واﺣﺪ ﻣﻦ ﻃﺮﻓﻲ اﻻرﺳﺎل واﻻﺳﺘﻘﺒﺎل ﺑﺘﻮﻟﻴﺪ ﻣﻔﺘﺎﺣﻪ اﻟﻌﺎم‪ ،‬وذﻟﻚ ﺑﺘﻨﻔﻴﺬ اﻟﺨﻮارزﻣﻴﺔ اﻟﺘﺎﻟﻴﺔ‪:‬‬
‫‪ .١‬ﻳﺨﺘﺎر ﻋﺪدﻳﻦ اوﻟﻴﻴﻦ آﺒﻴﺮﻳﻦ ﻋﺸﻮاﺋﻴﺎ وﻟﻴﻜﻮﻧﺎ ‪ P‬و ‪.q‬‬
‫‪ .٢‬ﻳﺘﻢ ﺣﺴﺎب ﻋﺪد اﻟﻤﻮدﻳﻠﻮ اﻟﻤﺴﺘﺨﺪم‪ ،N‬وذﻟﻚ ﺑﺈﻳﺠﺎد ﻧﺎﺗﺞ ﺿﺮﺑﻬﻤﺎ ﺣﻴﺚ‪:‬‬
‫‪ N = p . q‬ﻣﻊ ﻣﻼﺣﻈﺔ ان ذﻟﻚ ﻳﻌﻨﻲ ان ) )‪.( ø ( N ) = ( p - 1 ) ( q - 1‬‬
‫‪ .٣‬ﻳﺘﻢ اﺧﺘﻴﺎر ﻋﺪد ﻋﺸﻮاﺋﻴﺎ آﻤﻔﺘﺎح ﺧﺎص ﺑﺸﺮط آﻮﻧﻪ اﺻﻐﺮ ﻣﻦ ﻋ ﺪد اﻻﻋ ﺪاد اﻻوﻟﻴ ﺔ اﻟﻨﺴ ﺒﻴﺔ‬
‫ﻣﻊ ‪ ،N‬اي ﻳﻜﻮن اﻟﻌﺪد ‪ e‬اﻗﻞ ﻣ ﻦ ) ‪ ø ( N‬وﺑ ﺎﻟﻄﺒﻊ اآﺒ ﺮ ﻣ ﻦ اﻟﻮاﺣ ﺪ اﻟﺼ ﺤﻴﺢ‪ ،‬وان ﻳﻜ ﻮن‬
‫اﻟﻘﺎﺳ ﻢ اﻟﻤﺸ ﺘﺮك اﻻﻋﻈ ﻢ ﻟﻠﻤﻔﺘ ﺎح ‪ e‬ﻣ ﻊ ) ‪ ø ( N‬ه ﻮ اﻟﻮاﺣ ﺪ اﻟﺼ ﺤﻴﺢ‪ ،‬اي ان ﻳﻜ ﻮن اوﻟﻴ ﺎ‬
‫ﺑﺎﻟﻨﺴﺒﺔ ﻟـ ) ‪ .ø ( N‬ﻳﺮﻣﺰ ﻟﻬﺬا اﻟﺸﺮط آﺎﻟﺘﺎﻟﻲ‪:‬‬
‫)‪where 1<e<ø(N), GCD(e,ø(N))=1‬‬
‫‪ .٤‬ﻣﻦ اﺟﻞ اﻟﺤﺼﻮل ﻋﻠﻰ ﻣﻔﺘﺎح ﻓﻚ اﻟﺸﻔﺮة ﻳﺘﻢ اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﻌﺪد ‪ ،d‬واﻟﺬي ﻧﺴ ﺘﻄﻴﻊ ﺣﺴ ﺎﺑﻪ‬
‫‪ibbalyaum.net‬‬ ‫ﻣﻦ اﻟﻌﻼﻗﺔ ‪:‬‬
‫‪e . d = 1 mod ø( N ) and 0 ≤ d ≤ N‬‬
‫‪fahdalqasem.blogspot.com‬‬
‫‪ .٥‬ﻳﻜﻮن اﻟﻤﻔﺘﺎح اﻟﻌﺎم ﻣﻜﻮﻧﺎ ﻣﻦ اﻟﺼﻴﻐﺔ }‪ ،KU={e,N‬ﺣﻴﺚ ‪ KU‬ﺗﺮﻣﺰ ﻟﻠﻤﻔﺘﺎح اﻟﻌﺎم‪ ،‬اﻟ ﺬي‬
‫ﺳﻮف ﻳﺘﻢ ﺗﻮزﻳﻌﺔ ﺑﻌﺪ ذﻟﻚ‪.‬‬
‫‪ .٦‬ﻳﺘﻢ اﻻﺣﺘﻔﺎظ ﺑﺸﻜﻞ ﺳ ﺮي ﺑﺎﻟﻤﻔﺘ ﺎح اﻟﺨ ﺎص‪ ،‬واﻟ ﺬي ﻳﻔ ﻚ ﺷ ﻔﺮة اﻟﻤﻔﺘ ﺎح اﻟﻌ ﺎم‪ ،‬واﻟﻤﻜ ﻮن ﻣ ﻦ‬
‫اﻟﺼﻴﻐﺔ }‪ ،KR={d,p,q‬ﺣﻴﺚ ‪ KR‬ﺗﺮﻣﺰ ﻟﻠﻤﻔﺘﺎح اﻟﺨﺎص‪.‬‬
‫• إﺳﺘﺨﺪام اﻟﺨﻮارزﻣﻴﺔ ﻋﻤﻠﻴﺎ ‪RSA Use‬‬
‫ﻳﻘﻮم اﻟﻤﺮﺳﻞ ﺑﺘﺸﻔﻴﺮ اﻟﺮﺳﺎﻟﺔ‪ ،‬وﻟﺘﻜﻦ ‪ M‬وذﻟﻚ ﺑﺘﻄﺒﻴﻖ اﻟﻤﻔﺘﺎح اﻟﻌ ﺎم ﻋﻠﻴﻬ ﺎ }‪ ،KU={e,N‬ﻟﺘﻨ ﺘﺞ اﻟﺮﺳ ﺎﻟﺔ اﻟﻤﺸ ﻔﺮة ‪C‬‬
‫وذﻟﻚ ﺑﺎﻟﺼﻮرة ‪:‬‬
‫‪e‬‬
‫‪C = M mod N, where 0<= M < N.‬‬
‫إن اﻟﺸﺮط اﻟﻤﻄﺒﻖ ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ ‪ ،M‬ﻳﻌﻨﻲ ان ﻳﻄﺒﻖ ﻋﻠﻰ اﻟﻘﺎﻟﺐ ‪ block‬اﻟﺬي ﻳﺘﻢ ﺗﻤﺮﻳ ﺮﻩ ﻋﻠ ﻰ اﻟﺨﻮارزﻣﻴ ﺔ ﻣ ﻦ اﺟ ﻞ‬
‫ﺗﺸﻔﻴﺮهﺎ‪.‬‬
‫إن ﻓﻚ ﺷﻔﺮة اﻟﺮﺳﺎﻟﺔ ‪ ،C‬ﻳﺘﻢ ﻓﻲ اﻟﻮاﻗﻊ ﺑﺎﺳﺘﺨﺪام اﻟﻤﻔﺘﺎح اﻟﺨﺎص ﻟﺼﺎﺣﺐ اﻟﻤﻔﺘﺎح اﻟﻌﺎم اﻟﻤﺴﺘﺨﺪم ﻓﻲ اﻟﺘﺸﻔﻴﺮ‪ ،‬واﺿ ﺢ‬
‫ﺟﺪا ان ﻣﻄﺒﻖ ﻋﻤﻠﻴﺔ اﻟﺘﺸﻔﻴﺮ ﻳﻌﺠﺰ ﻋﻦ ﻓﻚ اﻟﺸﻔﺮة وذﻟﻚ ﻷن ﺣﺴﺎب ﻗﻴﻤﺔ داﻟﺔ ﺗﻴﻮﺷﻦ اوﻳﻠ ﺮ) ‪ ، ø( N‬ﻳﺘﻌﻘ ﺪ آﻠﻤ ﺎ آﺒ ﺮ‬
‫اﻟﻌﺪد ‪ ،N‬ﺑﻴﻨﻤﺎ ﻣﺎﻟﻚ اﻟﻤﻔﺘﺎح اﻟﺨﺎص ﻳﻌﻠﻢ ان اﻟﺪاﻟﺔ ) ‪ ø( N‬ﻳﻤﻜﻦ اﻟﺤﺼ ﻮل ﻋﻠﻴﻬ ﺎ ﺑﺈﺳ ﺘﺨﺪام اﻟﻌ ﺪدﻳﻦ ‪ ،p,q‬اﻟﻤﻜﻮﻧ ﺎن‬
‫ﻟﺼﻴﻐﺔ اﻟﻤﻔﺘﺎح اﻟﺨﺎص ﺑﻪ‪.‬‬
‫ﻳﺘﻜﻮن اﻟﻤﻔﺘﺎح اﻟﺨﺎص ﻣﻦ }‪ ،KR={d,p,q‬وﻋﻦ ﻃﺮﻳﻘﻪ ﻳﺴﺘﻄﻴﻊ اﻟﻤﺴﺘﻘﺒﻞ ﺣﺴﺎب ﻗﻴﻤﺔ ‪ M‬ﻓﻲ اﻟﺪاﻟﺔ‪:‬‬
‫‪d‬‬
‫‪M=C mod N‬‬
‫• ﺗﺤﻠﻴﻞ ﺧﻮارزﻣﻴﺔ ‪:RSA‬‬
‫ﺗﻌﺘﻤﺪ هﺬﻩ اﻟﺨﻮارزﻣﻴﺔ ﻋﻠﻰ ﻧﻈﺮﻳﺔ اوﻳﻠﺮ‪ ،‬اﻟﺘﻲ ﺗﻨﺺ ﻋﻠﻰ ان ‪:‬‬
‫)‪ø(n‬‬
‫‪a mod N = 1 ,where GCD ( a , N ) = 1.‬‬
‫وﺣﺴﺐ اﻟﺨﻮارزﻣﻴﺔ ﻓﻨﺤﻦ ﻧﻤﻠﻚ‪:‬‬
‫) ‪N = p . q and ø(N) = ( p – 1 ) ( q – 1‬‬
‫ﻳ ﺘﻢ إذن إﺧﺘﻴ ﺎر ‪ e‬وﺑﺎﻟﺘ ﺎﻟﻲ ‪ ، d‬ﺑﺤ ﺮص ﺣﺘ ﻰ ﻳ ﺘﻢ ﻋﻜﺴ ﻬﻤﺎ إﻋﺘﻤ ﺎدا ﻋﻠ ﻰ ﻣﻮدﻳﻠ ﻮ )‪ ،(mod ø(n)) ø(n‬وﻟ ﺬﻟﻚ‬
‫ﻓﺈن‪:‬‬
‫‪e . d = 1 + k . ø ( N ) ,for some k‬‬
‫ﻷن ‪ e‬و ‪ d‬ﻣﺘﻌﺎآﺴﺎن ﺣﺴﺐ اﻟﺤﻘﻞ اﻟﻤﻨﺘﻬﻲ ) ‪ ،(ø(N) , + , .‬وﻟﺬﻟﻚ ﻓﺈن‪:‬‬
‫‪Cd = (Me)d = M1+k.ø(N) = M1.(Mø(N))k = M1.(1)k = M1 = M mod N‬‬
‫• ﻣﺜﺎل ﻋﻠﻰ اﻟﺨﻮارزﻣﻴﺔ‪:‬‬
‫‪-‬‬ ‫‪Select primes: p=17 & q=11‬‬
‫‪-‬‬ ‫‪Compute n = pq =17×11=187‬‬
‫‪-‬‬ ‫‪Compute ø(n)=(p–1)(q-1)=16×10=160‬‬
‫‪-‬‬ ‫‪Select e : gcd(e,160)=1; choose e=7‬‬
‫‪-‬‬ ‫‪Determine d: de=1 mod 160 and d < 160 Value is d=23 since 23×7=161= 10×160+1‬‬
‫‪-‬‬ ‫}‪Publish public key KU={7,187‬‬
‫‪-‬‬ ‫}‪Keep secret private key KR={23,17,11‬‬
‫•‬

‫اﻟﻔﺼﻞ اﻟﻌﺎﺷﺮ‪ :‬إدارة اﻟﻤﻔﺎﺗﻴﺢ‪ ،‬ﻧﻈﻢ ﺗﺸﻔﻴﺮ اﺧﺮى ﻟﻠﻤﻔﺘﺎح اﻟﻌﺎم‬


‫‪Key Management; Other Public Key Cryptosystems‬‬

‫• ﺗﻮزﻳﻊ اﻟﻤﻔﺘﺎح اﻟﻌﺎم ‪:Distribution of Public Keys‬‬


‫ﻳﺘﻢ ذﻟﻚ ﺑﻌﺪة ﻃﺮق هﻲ‪:‬‬
‫‪.١‬اﻻﻋﻼن اﻟﻌﻤﻮﻣﻲ ‪Public announcement‬‬
‫‪.٢‬دﻟﻴﻞ ﻋﺎم ﻣﺘﺎح ﻟﻠﺠﻤﻴﻊ ‪Publicly available directory‬‬
‫‪.٣‬هﻴﺌﺔ اﻟﻤﻔﺘﺎح اﻟﻌﺎم ‪Public-key authority‬‬
‫‪.٤‬ﺷﻬﺎدات اﻟﻤﻔﺘﺎح اﻟﻌﺎم ‪Public-key certificates‬‬
‫‪١‬ـ اﻻﻋﻼن اﻟﻌﺎم ‪:‬‬
‫ﻋﻤﻠﻴﺔ اﻋﻼن اﻟﻤﻔﺘﺎح اﻟﻌﺎم ﺑﻮاﺳﻄﺔ اﻟﺒﺮﻳﺪ او اﻻذاﻋ ﺔ او ﻣﺠﻤﻮﻋ ﺎت اﻻﺧﺒ ﺎر‪ ،‬وه ﺬﻩ اﻟﻄﺮﻳﻘ ﺔ ﻟﻬ ﺎ ﺳ ﻠﺒﻴﺎت ه ﻲ ﺳ ﻬﻮﻟﺔ‬
‫اﻟﺘﺰﻳﻴﻒ‪ ،‬اي ﻣﻨﺘﺤﻞ ﻳﺴﺘﻄﻴﻊ ﻋﻤ ﻞ ﻣﻔﺘ ﺎح ﻋ ﺎم وﺗﻮزﻳﻌ ﻪ ﻋﻠ ﻰ اﻟﺠﻤﻴ ﻊ آﺄﻧ ﻪ ﺟ ﺰء ﻣ ﻦ اﻟﻤﺠﻤﻮﻋ ﺔ‪ ،‬وﺣﺘ ﻰ ﻳ ﺘﻢ اآﺘﺸ ﺎﻓﻪ‬
‫ﻳﺴﺘﻄﻴﻊ اﻻﺳﺘﻤﺮار ﺑﺎﻟﺘﻨﻜﺮ ﺑﺬﻟﻚ‪.‬‬
‫‪ ٢‬ـ دﻟﻴﻞ ﻋﺎم‪:‬‬
‫ه ﻲ ﻃﺮﻳﻘ ﺔ ﺟﻴ ﺪة ﺗﺴ ﺘﺨﺪم ﻣ ﻦ أﺟ ﻞ ﺗﻮزﻳ ﻊ ﺧ ﺎص ﻟ ﺬﻟﻚ اﻟ ﺪﻟﻴﻞ اﻟ ﺬي ﻳﺤﺘ ﻮي ﻋﻠ ﻰ اﻟﻤﻔ ﺎﺗﻴﺢ اﻟﻌﺎﻣ ﺔ‪ ،‬وﻳﺠ ﺐ ان ﻳﺘﻤﻴ ﺰ‬
‫ﺑﺎﻟﺨﺼﺎﺋﺺ اﻟﺘﺎﻟﻴﺔ‪:‬‬
‫ﻳﺤﺘﻮي ﻋﻠﻰ ﺑﻴﺎﻧﺎت اﻻﺳﻢ واﻟﻤﻔﺘﺎح اﻟﻌﺎم‪ ،‬ﻳﺴﺠﻞ ﻓﻴﻪ اﻟﻤﺸﺘﺮآﻮن اوﻻ‪ ،‬ﻳﺴﺘﻄﻴﻊ اﻟﻤﺸﺘﺮك ﺗﻐﻴﻴﺮ اﻟﻤﻔﺘﺎح ﻓ ﻲ اي ﻟﺤﻈ ﺔ‪،‬‬
‫ﻳﺘﻢ ﻧﺸﺮ اﻟﺪﻟﻴﻞ ﺑﻄﺮﻳﻘﺔ دورﻳﺔ‪ ،‬ﻳﺘﻢ اﻟﻮﺻﻮل إﻟﻰ اﻟﺪﻟﻴﻞ ﺑﻄﺮﻳﻘﺔ اﻟﻜﺘﺮوﻧﻴﺔ‪.‬‬
‫ﻣﺎزال اﻟﺪﻟﻴﻞ ﻋﺮﺿﺔ ﻟﻠﺴﻄﻮ ﻣﻦ ﻗﺒﻞ اﻟﻤﺤﺘﺎﻟﻴﻦ واﻟﻤﺰﻳﻔﻴﻦ‪.‬‬
‫‪ ٣‬ـ اﻟﻬﻴﺌﺔ اﻟﺨﺎﺻﺔ ﺑﺘﻮزﻳﻊ اﻟﻤﻔﺘﺎح اﻟﻌﺎم‪:‬‬
‫آﻤﺎ ﻳﻮﺿﺢ اﻟﺸﻜﻞ ادﻧﺎﻩ‪ ،‬ﻓﻬﻲ ﻃﺮﻳﻘﺔ اآﺜﺮ اﻧﻀ ﺒﺎﻃﺎ وﺗﺤﻜﻤ ﺎ ﻣ ﻦ اﻟ ﺪﻟﻴﻞ اﻟﻌ ﺎم‪ ،‬ﺗﻤﻠ ﻚ ﻧﻔ ﺲ اﻟﺨﺼ ﺎﺋﺺ اﻟﺴ ﺎﺑﻖ ذآﺮه ﺎ‬
‫ﻟﻠﺪﻟﻴﻞ‪ ،‬ﺑﺎﻻﺿﺎﻓﺔ إﻟﻰ وﺟﻮد ﻣﻔﺘﺎح ﻋﺎم ﺧﺎص ﺑﺎﻟﻬﻴﺌﺔ‪ /‬اﻟﺪﻟﻴﻞ‪ ،‬ﻳﺘﻢ اﻟﺘﻮاﺻﻞ ﺑﻌﺪ ذﻟﻚ ﺑﺎﻟ ﺪﻟﻴﻞ )اﻟﻬﻴﺌ ﺔ( ﻟﻄﻠ ﺐ اي ﻣﻔ ﺎﺗﻴﺢ‬
‫ﻋﺎﻣﻪ‪ ،‬ﺗﺤﺘﺎج إﻟﻰ وﺻﻮل ﻓﻮري )‪ (real-time‬ﻣﻊ اﻟﻬﻴﺌﺔ ﻋﻨﺪ اﻻﺣﺘﻴﺎج‪.‬‬

‫‪Public-Key Authority‬‬

‫‪ ٤‬ـ ﺷﻬﺎدات اﻟﻤﻔﺘﺎح اﻟﻌﺎم‪:‬‬


‫آﻤﺎ ﻳﻮﺿ ﺢ اﻟﺸ ﻜﻞ ادﻧ ﺎﻩ‪ ،‬ﻓﻬ ﺬﻩ اﻟﻄﺮﻳﻘ ﺔ ﺗﺠﻤ ﻊ ﻣﻴ ﺰات اﻟﻄ ﺮق اﻟﺴ ﺎﺑﻘﺔ‪ ،‬ﺑﺎﻻﺿ ﺎﻓﺔ إﻟ ﻰ اﻧﻬ ﺎ ﻻ ﺗﺠﻌﻠ ﻚ ﺗﺤﺘ ﺎج إﻟ ﻰ ان‬
‫ﺗﺴﺎﺑﻖ اﻟﺰﻣﻦ ﻣﻦ اﺟﻞ اﻟﻮﺻ ﻮل إﻟ ﻰ اﻟﻬﻴﺌ ﺔ اﻟﻮﺳ ﻴﻄﺔ! آﻤ ﺎ ﻓ ﻲ اﻟﻄﺮﻳﻘ ﺔ اﻟﺴ ﺎﺑﻘﺔ‪ ،‬ﻳ ﺘﻢ دﻣ ﺞ اﻟﺸ ﻬﺎدة ﻣ ﻊ اﺳ ﻢ اﻟﺘﻌﺮﻳ ﻒ‬
‫ﻟﻠﻌﻀﻮ ﻣﻊ اﻟﻤﻔﺘﺎح اﻟﻌﺎم )اﺣﻴﺎﻧﺎ ﻣﻊ ﻣﻌﻠﻮﻣﺎت اﺧﺮى اﺿﺎﻓﻴﺔ(‪ ،‬ﺛﻢ اﻟﺘﻮﻗﻴﻊ ﻋﻠﻰ هﺬﻩ اﻟﺤﺰﻣﺔ ﻣﻦ ﻗﺒﻞ اﻟﻬﻴﺌﺔ اﻟﺘ ﻲ ﺗﺼ ﺪر‬
‫اﻟﺸﻬﺎدات‪.‬‬

‫‪ibbalyaum.net‬‬
‫‪fahdalqasem.blogspot.com‬‬
‫‪Public-Key Certificates‬‬

‫ﻳﻘﻮم اﻟﻤﺮﺳﻞ ﺑﺎﺳﺘﺨﺪام هﺬﻩ اﻟﺸﻬﺎدة اﻟﺘ ﻲ ﺗﺤﺘ ﻮي ﻋﻠ ﻰ هﻮﻳﺘ ﻪ وﻣﻔﺘﺎﺣ ﻪ اﻟﻌ ﺎم‪ ،‬ﻓ ﻲ ﻋﻤﻠﻴ ﺎت اﻟﺘﺮاﺳ ﻞ ﻣ ﻊ ﻃ ﺮف ﺁﺧ ﺮ‪،‬‬
‫ﻳﻤﻠﻚ ﻣﻌﻠﻮﻣﺎت ﻣﺸﺎﺑﻬﺔ ﻋﻦ ﻃﺮﻳﻖ هﻴﺌﺔ اﺻﺪار اﻟﺸﻬﺎدات‪.‬‬
‫• ﺗﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ اﻟﻌﺎﻣﺔ ﻟﻠﻤﻔﺎﺗﻴﺢ اﻟﺨﺎﺻﺔ‪:‬‬
‫ﻳ ﺘﻢ اﺳ ﺘﺨﺪام اﻟﻮﺳ ﺎﺋﻞ اﻟﺴ ﺎﺑﻘﺔ ﻣ ﻦ اﺟ ﻞ ﺗﻮزﻳ ﻊ اﻟﻤﻔ ﺎﺗﻴﺢ اﻟﻌﺎﻣ ﺔ وذﻟ ﻚ ﻟﻀ ﻤﺎن اﻟﺴ ﺮﻳﺔ واﻟﺘﻌ ﺮف ﻋﻠ ﻰ اﻟﻬﻮﻳ ﺔ‪ ،‬وﻟﻜ ﻦ‬
‫ﺧﻮارزﻣﻴﺎت اﻟﻤﻔﺘﺎح اﻟﻌﺎم ﻣﺎزﻟﺖ ﺑﻄﻴﺌﺔ‪ ،‬وﻟﺬﻟﻚ ﻓﻤﺎ زﻟﻨﺎ ﻧﺮﻏﺐ ﻓﻲ اﺳﺘﺨﺪام اﻟﻤﻔﺎﺗﻴﺢ اﻟﺨﺎﺻﺔ ﻣﻦ اﺟﻞ ﺗﺸ ﻔﻴﺮ ﻣﺤﺘ ﻮى‬
‫اﻟﺮﺳﺎﺋﻞ‪ ،‬وﻟﻬﺬا ﻳﺘﻢ اﺳﺘﺨﺪام ﺟﻠﺴﺔ ﺗﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ )ﺗﺴﺘﺨﺪم ﻓﻴﻪ اﻟﻤﻔﺎﺗﻴﺢ اﻟﻌﺎﻣﺔ ﻟﺘﺸﻔﻴﺮ اﻟﻤﻔﺎﺗﻴﺢ اﻟﺨﺎﺻ ﺔ‪ ،‬اﻟﺘ ﻲ ﺗﺴ ﺘﺨﺪم‬
‫ﺑﺪورهﺎ ﻟﺘﺸﻔﻴﺮ اﻟﺮﺳﺎﺋﻞ اﻟﻤﺘﺒﺎدﻟﺔ(‪ ،‬هﻨﺎك ﻋﺪة ﻃﺮق ﻟﺘﻔﻨﻴﺬ ﺟﻠﺴﺎت ﺗﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ هﺬﻩ ‪.‬‬

‫• اﻟﻄﺮﻳﻘﺔ اﻟﺒﺴﻴﻄﺔ ﻟﺘﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ ‪Simple Secret Key Distribution‬‬


‫ﻗﺪﻣﺖ ﻋﺎم ‪١٩٧٩‬م ﺑﻮاﺳﻄﺔ ﻣﺎرآﻞ‪ ،‬ﻳﻘﻮم اﻟﻤﺮﺳﻞ ﺑﺘﻮﻟﻴﺪ ﻣﻔﺘ ﺎح ﻋ ﺎم ﻳﺒ ﺪأ ﺑ ﻪ اﻟﺠﻠﺴ ﺔ ‪ ،....‬وﻣ ﻦ ﻋﻴ ﻮب ه ﺬﻩ اﻟﻄﺮﻳﻘ ﺔ‬
‫ﺳﻬﻮﻟﺔ اﻧﺘﺤﺎل ﺷﺨﺼﻴﺔ اﺣﺪ اﻟﻄﺮﻓﻴﻦ ﻣﻦ ﻗﺒﻞ اﻟﻤﻬﺎﺟﻢ‪.‬‬

‫• ﻃﺮﻳﻘﺔ دﻳﻔﻲ ـ هﻠﻤﺎن ﻟﺘﺒﺎدل اﻟﻤﻔﺎﺗﻴﺢ ‪Diffie-Hellman Key Exchange‬‬


‫ﻣﻦ اول اﻟﻨﻈﻢ اﻟﻤﻘﺪﻣﺔ ﻟﺘﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ‪ ،‬ﻓﻲ ﻋﺎم ‪١٩٧٦‬م ﺑﻮاﺳﻄﺔ اﻟﻌﺎﻟﻤﻴﻦ دﻳﻔﻲ وهﻠﻤﺎن‪ ،‬وه ﻲ ﻃﺮﻳﻘ ﺔ ﻋﻤﻠﻴ ﺔ ﻟﺘﻮزﻳ ﻊ‬
‫اﻟﻤﻔﺎﺗﻴﺢ‪ ،‬وﺗﺴﺘﺨﺪم ﺣﺎﻟﻴﺎ ﻋﻠﻰ ﻧﻄﺎق واﺳﻊ ﻓﻲ اﻟﻤﺠﺎل اﻟﺘﺠﺎري‪.‬‬
‫• ﻧﻈﺎم ﺗﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ اﻟﻌﺎﻣﺔ ﻓﻲ هﺬﻩ اﻟﻄﺮﻳﻘﺔ ‪:‬‬
‫‪ Å‬ﻻ ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﻪ ـ ﻧﻈﺮا ﻟﺘﻌﻘﻴﺪﻩ ـ ﻓﻲ اﻟﺘﺮاﺳﻞ اﻟﻌﺎدي ﺑﺎﻟﺮﺳﺎﺋﻞ‪.‬‬
‫‪ Å‬ﺗﺴﺘﺨﺪم ﻓﻘﻂ ﻹﻧﺸﺎء ﺟﻠﺴﺔ ﺗﻮزﻳﻊ ﻣﻔﺎﺗﻴﺢ ﻋﺎﻣﺔ‪.‬‬
‫‪ Å‬ﻣﻌﺮوﻓﺔ ﻓﻘﻂ ﻟﻠﻤﺸﺘﺮآﻴﻦ اﻻﺛﻨﻴﻦ ‪ ،‬اﻟﻤﺮﺳﻞ واﻟﻤﺴﺘﻘﺒﻞ‪.‬‬
‫ﻗﻴﻤﺔ اﻟﻤﻔﺎﺗﻴﺢ ﺗﻌﺘﻤﺪ ﻋﻠﻰ اﻟﻤﺸﺘﺮآﻴﻦ‪ ،‬وﻋﻠﻰ اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﺤﺘﻮاة ﻟﻠﻤﻔﺎﺗﻴﺢ اﻟﻌﺎﻣﺔ واﻟﺨﺎﺻﺔ‪.‬‬
‫ﺗﻌﺘﻤﺪ هﺬﻩ اﻟﻄﺮﻳﻘﺔ ﻋﻠﻰ اﻟﺮﻓﻊ ﻟﻠﻘﻮة‪ ،‬ﻓﻲ اﻟﺤﻘ ﻮل اﻟﻤﻨﺘﻬﻴ ﺔ )ﺣﻘ ﻞ ﺟﻠ ﻮﻳﺲ(‪ ،‬ﻣﻮدﻳ ﻞ ﻋ ﺪد اوﻟ ﻰ او آﺜﻴ ﺮة ﺣ ﺪود ـ وه ﻲ‬
‫ﻃﺮﻳﻘﺔ ﺳﻬﻠﺔ ﻟﻠﺘﻮﻟﻴﺪ‪.‬‬
‫ﺗﻌﺘﻤﺪ ﺳﺮﻳﺔ هﺬﻩ اﻟﻄﺮﻳﻘﺔ ﻋﻠﻰ ﺻﻌﻮﺑﺔ ﺣﺴﺎب اﻟﻠﻮﻏ ﺎرﻳﺘﻢ اﻟﻤﺘﻘﻄ ﻊ‪) ،‬ﻋﻤﻠﻴ ﺔ ﻋﻜ ﺲ اﻟﺮﻓ ﻊ ﻟ ﻼس(‪ ،‬وه ﻲ ﻣﻌﻘ ﺪة ﺑﺸ ﻜﻞ‬
‫ﻣﺸﺎﺑﻪ ﻟﻠﺘﺤﻠﻴﻞ إﻟﻰ ﻋﻮاﻣﻞ ﻓﻲ ﻃﺮﻳﻘﺔ )‪ ،(RAS‬وهﻲ ﻣﺴﺄﻟﺔ ﻣﻌﻘﺪة‪.‬‬
‫• ﻳﺘﻔﻖ اﻟﻄﺮﻓﺎن ﻋﻠﻰ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺒﺎرﻣﺘﺮات اﻟﻌﺎﻣﺔ هﻲ ‪:‬‬
‫إﺧﺘﻴﺎر ﻋﺪد ﺻﺤﻴﺢ اوﻟﻲ )او آﺜﻴﺮة ﺣﺪود(‪ q ،‬ﻣﺜﻼ‪.‬‬
‫إﺧﺘﻴﺎر ‪ α‬ﺟﺬر اﺻﻠﻲ‪/‬ﺻﺤﻴﺢ ﻣﻮدﻳﻠﻮ ‪.q‬‬
‫ﻳﻘﻮم آﻞ ﻃﺮف ﺑﺘﻮﻟﻴﺪ اﻟﻤﻔﺘﺎح اﻟﺨﺎص ﺑﻪ‪ ،‬ﺑﺈﺧﺘﻴﺎر ﻋﺪد ﺻﺤﻴﺢ اﻗﻞ ﻣ ﻦ ‪) q‬ﻣ ﺜﻼ اﻟﻤﺮﺳ ﻞ ‪ A‬ﻳﻘ ﻮم ﺑﺎﺧﺘﻴ ﺎر اﻟﻌ ﺪد‪، xA‬‬
‫‪ ،(xA<q‬وﻋﻦ ﻃﺮﻳﻘﻪ ﻳﺤﺴﺐ اﻟﻤﻔﺘﺎح اﻟﻌﺎم ‪ yA‬ﺑﺎﻟﻘﺎﻧﻮن )‪.(yA = αxA mod q‬‬
‫• ﻓﺈذا آﺎن اﻟﻤﻔﺘﺎح اﻟﻤﺨﺘﺎر ﻟﻠﻤﺮﺳﻞ ‪ A‬هﻮ ‪ yA‬وﻟﻠﻤﺴﺘﻘﺒﻞ ‪ B‬هﻮ ‪ yB‬ﻓﺈن ﺟﻠﺴﺔ ﺗﺒﺎدل اﻟﻤﻔﺎﺗﻴﺢ ﺗﻜﻮّن ‪ KAB‬ﺣﻴﺚ‪:‬‬
‫)ﺣﺴﺐ اﻟﺘﻌﺮﻳﻒ( ‪KAB = yA yB mod q = αxA.xB mod q‬‬
‫وهﺬﻩ اﻟﺼﻴﻐﺔ ﻟﻠﺤﺴﺎب ﻟﺪى اﻟﻤﺴﺘﻘﺒﻞ )‪KAB = yAxB mod q (which B can compute‬‬
‫وهﺬﻩ اﻟﺼﻴﻐﺔ ﻟﻠﺤﺴﺎب ﻟﺪى اﻟﻤﺮﺳﻞ )‪KAB = yBxA mod q (which A can compute‬‬
‫ﻳﺴﺘﺨﺪم اﻟﻤﻔﺘﺎح اﻟﻌﺎم ‪ KAB‬ﻓﻘﻂ ﻓﻲ ﺟﻠﺴﺔ ﺗﺒﺎدل اﻟﻤﻔﺎﺗﻴﺢ ﻣﻦ اﺟﻞ ﺗﺸﻔﻴﺮ اﻟﻤﻔﺘﺎح اﻟﺨﺎص‪/‬اﻟﺴﺮي‪.‬‬
‫ﺑﺈﻣﻜﺎن اﻟﻄﺮﻓﻴﻦ ﻋﻤﻞ ﺟﻠﺴﺔ ﺗﺒﺎدل ﻣﻔﺎﺗﻴﺢ ﺟﺪﻳﺪة‪ ،‬ﻟﺘﻐﻴﻴﺮ اﻟﻤﻔﺘﺎح اﻟﻌﺎم او اﻟﻤﻔﺎﺗﻴﺢ اﻟﺨﺎﺻﺔ‪.‬‬
‫ﻳﺤﺘﺎج اﻟﻤﻬﺎﺟﻢ إﻟﻰ اﻟﺤﺼﻮل ﻋﻠﻰ أﺣﺪ اﻟﻌ ﺪدﻳﻦ ‪ xA‬و ‪ xB‬ﺣﺴ ﺐ اﻟﻄ ﺮف اﻟ ﺬي ﻳﺮﻏ ﺐ ﻓ ﻲ ﻣﻬﺎﺟﻤ ﺔ رﺳ ﺎﺋﻠﻪ‪ ،‬وه ﻮ ﻣ ﺎ‬
‫ﻳﻜﻠﻔﻪ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﻋﻤﻠﻴﺎت اﻟﻠﻮﻏﺎرﻳﺘﻢ اﻟﻤﺘﻘﻄﻊ آﻤﺎ اﺳﻠﻔﻨﺎ‪.‬‬
‫• ﻣﺜﺎل ﻋﻠﻰ ﻃﺮﻳﻘﺔ دﻳﻔﻲ ـ هﻠﻤﻦ ﻟﺘﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ ‪:‬‬
‫ﻟﻨﻔﺘﺮض ان اﻟﻄﺮﻓﻴﻦ ‪ A‬و ‪ B‬ﻗﺪ اﺗﻔﻘﺎ ﻋﻠﻰ اﻟﻌﺪدﻳﻦ ‪ q‬و ‪ α‬آﺎﻟﺘﺎﻟﻲ ‪:‬‬
‫‪q=353 , α=3‬‬
‫ﻳﻘﻮم ‪ A‬ﺑﺈﺧﺘﻴﺎر ﻋﺸﻮاﺋﻴﺎ ﻋﺪد ﺻﺤﻴﺢ اﻗﻞ ﻣﻦ ‪ q‬وﻟﻴﻜﻦ ‪ ،xA=97‬و ‪ B‬ﻳﺨﺘﺎر ‪.. xB=233‬‬
‫ﻟﻨﺤﺴﺐ اﻟﻤﻔﺎﺗﻴﺢ اﻟﻌﺎﻣﺔ ﻟﻜﻞ ﻃﺮف آﺎﻟﺘﺎﻟﻲ ‪:‬‬
‫‪(A) yA=397 mod 353 = 40‬‬
‫‪(B) yB=3233 mod 353 = 248‬‬
‫ﻓﻴﻜﻮن اﻟﻤﻔﺘﺎح اﻟﻤﺸﺘﺮك ﻓﻲ ﺟﻠﺴﺔ اﻟﻤﻔﺎﺗﻴﺢ وهﻮ ‪ KAB‬آﺎﻟﺘﺎﻟﻲ‪:‬‬
‫)‪(A‬‬ ‫‪KAB= yBxA mod 353 = 24897 mod 353 = 160‬‬
‫)‪(B‬‬ ‫‪KAB= yAxB mod 353 = 40233 mod 353 = 160‬‬
‫ﻧﻔﺲ اﻟﺮﻗﻢ وﻟﻜﻨﻪ ﻳﺤﺴﺐ ﺑﻄﺮﻳﻘﺔ ﻣﺨﺘﻠﻔﺔ ﻣﻦ ﺟﻬﺔ آﻞ ﻃﺮف‪ ،‬ﺣﺴﺐ اﻟﻤﻌﻠﻮﻣﺎت )اﻟﻤﻔﺘﺎح اﻟﺨﺎص( اﻟﻤﻮﺟﻮدة ﻟﺪﻳﻪ‪.‬‬

‫اﻟﻔﺼﻞ اﻟﺤﺎدي ﻋﺸﺮ‪ :‬اﻟﺘﺤﻘﻖ ﻣﻦ هﻮﻳﺔ اﻟﺮﺳﺎﻟﺔ‪ ،‬ودوال اﻟﻤﺮﺑﻊ‪ /‬اﻟﻬﺎش‬


‫‪Message Authentication and Hash Functions‬‬

‫• آﻮد اﻟﺘﺤﻘﻖ ﻣﻦ هﻮﻳﺔ اﻟﺮﺳﺎﻟﺔ )‪: Message Authentication Code (MAC‬‬


‫ﺗﻘﻮم ﺧﻮارزﻣﻴﺔ ﻣﻌﻴﻨﺔ ﺑﺘﻮﻟﻴﺪ ﻗﺎﻟﺐ‪/‬وﺣﺪة ﺑﺘﺎت ﺻ ﻐﻴﺮ ذا ﺣﺠ ﻢ ﺛﺎﺑ ﺖ‪ ،‬وذﻟ ﻚ ﺑﺎﻻﻋﺘﻤ ﺎد ﻋﻠ ﻰ آ ﻼ ﻣ ﻦ ﻣﺤﺘ ﻮى اﻟﺮﺳ ﺎﻟﺔ‬
‫وﻣﺠﻤﻮﻋﺔ ﻣﻔﺎﺗﻴﺢ‪ ،‬وﺑﺸﻜﻞ ﻣﺸﺎﺑﻪ ﻟﻠﺘﺸﻔﻴﺮ ﻻ ﻳﻔﺘﺮض ان ﻳﺴﺘﻄﻴﻊ اﻟﻤﺎهﺠﻢ ﻓﻚ ﺷﻔﺮة هﺬا اﻟﻘﺎﻟﺐ‪.‬‬
‫ﻳﺘﻢ دﻣﺞ هﺬا اﻟﻜﻮد اﻟـ)‪ (MAC‬ﻣﻊ اﻟﺮﺳﺎﻟﺔ آﺄﻧﻪ ﺗﻮﻗﻴﻊ‪.‬‬
‫ﻳﻘﻮم اﻟﻤﺴﺘﻘﺒﻞ ﻟﻠﺮﺳﺎﻟﺔ ﺑﺈﺟﺮاء ﻧﻔﺲ اﻟﻌﻤﻠﻴ ﺎت ﻋﻠ ﻰ اﻟﺮﺳ ﺎﻟﺔ‪ ،‬وﻳﻘ ﺎرن ﻧﺘﺎﺋﺠ ﻪ ﺑ ﺎﻟﻜﻮد اﻟﻤﺮﻓ ﻖ‪ ،‬ﻓ ﺈذا آ ﺎن اﻟﻜ ﻮد ‪MAC‬‬
‫اﻟﺬي وﻟﺪﻩ اﻟﻤﺴﺘﻘﺒﻞ ﻳﻄﺎﺑﻖ اﻟﻜﻮد اﻟﻤﺮﻓﻖ‪ ،‬ﻓﻬﺬا ﻳﻌﻨﻲ ﺳﻼﻣﺔ اﻟﺮﺳﺎﻟﺔ‪ ،‬وأﻧﻬﺎ وﺻﻠﺖ ﻣﻦ ﻧﻔﺲ اﻟﻤﺮﺳﻞ‪.‬‬
‫اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﻳﻮﺿﺢ آﻴﻒ ﺗﺘﻢ اﻟﻌﻤﻠﻴﺔ اﻟﺴﺎﺑﻘﺔ‪.‬‬

‫‪Message Authentication Code‬‬

‫• وآﻤﺎ ﻳﻮﺿﺢ اﻟﺸﻜﻞ ﻓﺈن هﺬا اﻟﻜﻮد اﻟﻤﺪﻣﺞ ﻳﻘﺪم ﻟﻨﺎ ﻣﺎ ﻳﺴﻤﻰ ﺑﺎﻟﻤﺼﺎدﻗﺔ او اﻟﻤﺼﺪاﻗﻴﺔ ‪confidentiality‬‬
‫• وﻳﻤﻜﻦ ان ﻳﺴﺘﺨﺪم ﻣﻊ اﻟﺘﺸﻔﻴﺮ‪ ،‬رﻏﻢ ان هﺬا اﻻﺟﺮاء ﻣﻨﻔﺼﻞ ﺗﻤﺎﻣﺎ ﻋﻦ ﻋﻤﻠﻴﺔ ﺗﺸﻔﻴﺮ اﻟﺮﺳﺎﻟﺔ اﻟﻤﺬآﻮر ﺳﺎﺑﻘﺎ‪.‬‬
‫• وﻣﻊ ذﻟﻚ ﻓﻴﻤﻜﻦ ان ﻳﺘﻢ إﺟﺮاء ﺣﺴﺎب هﺬا اﻟﻜﻮد ﻗﺒﻞ ﺗﺸﻔﻴﺮ اﻟﺮﺳﺎﻟﺔ او ﺑﻌﺪهﺎ‪ .‬وﻳﻔﻀﻞ ﻋﺎدة ان ﻳﺘﻢ ذﻟﻚ ﻗﺒ ﻞ ﺗﺸ ﻔﻴﺮ‬
‫اﻟﺮﺳﺎﻟﺔ‪ ،‬ﺑﺤﻴﺚ ﻳﺘﻢ اﻟﺘﺄآﺪ ﻣﻦ ﻣﺼﺎدﻗﺔ اﻟﺮﺳﺎﻟﺔ ﺑﻌﺪ ﻓﻚ ﺷﻔﺮﺗﻬﺎ‪.‬‬
‫• أﺣﻴﺎﻧﺎ ﺗﻜﻮن اﻟﻤﺼﺪاﻗﻴﺔ اواﻟﻤﺼﺎدﻗﺔ هﻲ اﻟﻤﻄﻠﻮﺑﺔ ﻓﻘﻂ ‪ ..‬ﻓﻴﺘﻢ اﺳﺘﺨﺪام اﻟـ ‪.MAC‬‬
‫• اﺣﻴﺎﻧﺎ ﻳﻜﻮن هﻨﺎك اﺣﺘﻴﺎج ﺁﺧﺮ ﻟﻠـﻤﺼﺎدﻗﺔ ﺑـ ‪ MAC‬ﺑﻌﻴﺪا ﻋﻦ ﻗﻀﺎﻳﺎ اﻟﺘﺸﻔﻴﺮ‪) ،‬آﺎﻻرﺷﻔﺔ ﻣﺜﻼ(‪.‬‬
‫‪ibbalyaum.net‬‬
‫• ﻣﻦ اﻟﺠﺪﻳﺮ ﻣﻼﺣﻈﺘﻪ ان آﻮد اﻟـ ‪ MAC‬اﻟﻤﻮﺿﺢ هﻨﺎ ﻟﻴﺲ هﻮ اﻟﺘﻮﻗﻴﻊ اﻻﻟﻜﺘﺮوﻧﻲ ‪digital signature‬‬
‫اﻟﺬي ﺳﻮف ﻳﺄﺗﻲ ﻻﺣﻘﺎ‪.‬‬
‫‪fahdalqasem.blogspot.com‬‬
‫• ﺧﺼﺎﺋﺺ اﻟﻜﻮد ‪:MAC‬‬
‫‪ -‬ﻳﻌﺘﺒﺮ اﻟﻤﺎك ﻋﻤﻠﻴﺔ ﺣﺴﺎب وﺛﻴﻘﺔ اﻟﺒﻴﺎﻧﺎت اﻟﻤﺮﺳﻠﺔ ﻣﺎ ﻳﺴﻤﻰ ﺑﺎﻟـ ‪: checksum‬‬
‫‪MAC = CK(M) , where M is the message‬‬
‫‪ -‬ﻳﻘﻮم اﻟﻤﺎك ﺑﺈﻳﺠﺎز وﺗﻠﺨﻴﺺ اﻟﺤﺠﻢ اﻟﻤﺘﻐﻴﺮ ﻟﻠﺮﺳﺎﺋﻞ اﻟﻤﺨﺘﻠﻔﺔ‪.‬‬
‫‪ -‬ﻳﺴﺘﺨﺪم ﻃﺮﻳﻘﺔ اﻟﻤﻔﺘﺎح اﻟﺨﺎص اﻟﻤﻌﺮوﻓﺔ‪.‬‬
‫‪ -‬ﻳﺴﺘﺨﺪم آﺤﺠﻢ ﺛﺎﺑﺖ ﻟﻠﻤﻮﺛﻖ ﻟﻠﻤﺼﺎدﻗﺔ ‪.to a fixed-sized authenticator‬‬
‫‪ -‬ﻳﻌﺘﺒﺮ داﻟﺔ ﻣﻦ اﻟﻨﻮع )آﺜﻴﺮ إﻟﻰ واﺣﺪ( أو ‪.many-to-one function‬‬
‫‪ -‬ﻻ ﻳﻔﺘﺮض ان ﺗﻜﻮن ﻟﻤﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺮﺳﺎﺋﻞ ﻧﻔﺲ اﻟﻤﺎك‪ ،‬ووﺟﻮد ذﻟﻚ ﻳﺠﺐ ان ﻳﻜﻮن ﻏﺎﻳﺔ ﻓﻲ اﻟﺼﻌﻮﺑﺔ‪.‬‬
‫• ﻣﺘﻄﻠﺒﺎت آﻮد اﻟـ ‪:MAC‬‬
‫ﻳﺠﺐ اﻻﺧﺬ ﻓﻲ اﻻﻋﺘﺒﺎر ﻣﺨﺘﻠﻒ اﻧﻮاع اﻟﻬﺠﻤﺎت اﻟﻤﺤﺘﻤﻠﺔ‪ ،‬ﻳﺠﺐ ان ﻳﻜﻮن آﻮد اﻟـ ‪ MAC‬ﻣﺤﻘﻘﺎ ﻟﻠﺘﺎﻟﻲ‪:‬‬
‫‪ (١‬ﺑﻤﻌﺮﻓﺔ اﻟﺮﺳﺎﻟﺔ واﻟﻤﺎك اﻟﺨﺎص ﺑﻬﺎ‪ ،‬ﻳﺼﻌﺐ ﺑﺸﻜﻞ آﺒﻴﺮ )ﻏﻴﺮ ﻣﺠﺪي( اﻟﺤﺼﻮل ﻋﻠﻰ رﺳﺎﻟﺔ ﻟﻬﺎ ذات اﻟﻤﺎك‪.‬‬
‫‪ (٢‬ﻳﺠﺐ ﺗﻮزﻳﻊ اآﻮاد اﻟﻤﺎك ﺑﺸﻜﻞ ﻣﻄﺮد‪/‬ﻣﻨﺘﻈﻢ‪ ،‬ﻣﻊ آﻞ رﺳﺎﻟﺔ‪.‬‬
‫‪ (٣‬ﻳﺠﺐ ان ﻳﻌﺘﻤﺪ آﻮد اﻟﻤﺎك ﻋﻠﻰ ﺟﻤﻴﻊ )ﺑﺘﺎت( اﻟﺮﺳﺎﻟﺔ‪.‬‬
‫• إﺳﺘﺨﺪام اﻟﺘﺸﻔﻴﺮ اﻟﻤﺘﺎﺛﻞ ﻣﻦ اﺟﻞ آﻮد اﻟﻤﺎك‪:‬‬
‫ﻳﻤﻜﻦ ﺗﻄﺒﻴﻖ اي ﺳﻠﺴﻠﺔ ﻣﻦ ﻗﻮاﻟﺐ اﻟﺘﺸﻔﻴﺮ ﻋﻠﻰ ان ﻳﻜﻮن اﻟﻤﺎك هﻮ اﻟﻘﺎﻟﺐ اﻻﺧﻴﺮ‪.‬‬
‫ﺧﻮارزﻣﻴ ﺔ ﻣﺼ ﺎدﻗﺔ اﻟﺒﻴﺎﻧ ﺎت )‪ Data Authentication Algorithm (DAA‬ه ﻲ اﻟﺨﻮارزﻣﻴ ﺔ اﻟﺘ ﻲ ﺗﻨﻔ ﺬ آ ﻮد‬
‫اﻟﻤﺎك ﺑﺎﻻﻋﺘﻤﺎد ﻋﻠﻰ ﺧﻮارزﻣﻴﺎت اﻟﺘﺸﻔﻴﺮ اﻟﻘﺪﻳﻤﺔ ﻟﻠﻤﻔﺘﺎح اﻟﺨﺎص ﻣﺜﻞ ‪.DES-CBC‬‬
‫ﺗﺴ ﺘﺨﺪم ه ﺬﻩ اﻟﺨﻮارزﻣﻴ ﺔ اﻟﺼ ﻔﺮ آﻘﻴﻤ ﺔ اﺑﺘﺪاﺋﻴ ﺔ‪ ،‬وآ ﺬﻟﻚ آﻘ ﻴﻢ ﻣﻜﻤﻠ ﺔ ﻟﻠﻔﺮاﻏ ﺎت اﻟﻨﻬﺎﺋﻴ ﺔ ﻓ ﻲ اﻟﻘﺎﻟ ﺐ ﻣ ﺎ ﻳﺴ ﻤﻰ ﺑـﺎﻟ ـ‬
‫)‪،(zero-pad of final block‬اﻟﺘﺸﻔﻴﺮ ﻳﻜﻮن ﺑﺎﺳ ﺘﺨﺪام ﺧﻮارزﻣﻴ ﺔ اﻟ ـ ‪ DES‬ﺑ ﻨﻤﻂ اﻟ ـ ‪ ،CBC‬وﺣﺠ ﻢ اﻟﻤ ﺎك ﻳﻜ ﻮن‬
‫اﻟﻘﺎﻟﺐ اﻻﺧﻴﺮ او اﻟﺒﺘﺎت اﻻﺑﻌﺪ ﻣﻦ ﺟﻬﺔ اﻟﻴﺴﺎر ﻓﻲ اﻟﺮﺳﺎﻟﺔ‪.‬‬
‫وﻟﻜﻦ آﻮد اﻟﻤﺎك اﻟﺤﺎﺻﻞ ﻣﻦ اﺳﺘﺨﺪام هﺬﻩ اﻟﺨﻮارزﻣﻴﺔ ﻻ ﻳﺤﻘﻖ اﻟﺤﺠﻢ اﻟﻤﻄﻠﻮب ﻟﺘﺤﻘﻴﻖ اﻻﻣﻨﻴﺔ‪.‬‬
‫• ﺗﻘﻨﻴﺔ اﻟﺪاﻟﺔ اﻟﻤﺮﺑﻌﺔ‪/‬اﻟﻬﺎش ‪: Hash Functions‬‬
‫ﺗﻨﺠﺰ ﻋﻤﻠﻴﺔ ﺗﻜﺜﻴﻒ اﻟﺮﺳﺎﻟﺔ ﺑﻄﺮﻳﻘﺔ اﻋﺘﺒﺎﻃﻴﺔ إﻟﻰ ﺣﺠ ﻢ ﺛﺎﺑ ﺖ ﻣﺤ ﺪد ﻟﻜ ﻞ رﺳ ﺎﻟﺔ‪ ،‬وﻳ ﺘﻢ اﻻﻓﺘ ﺮاض ان داﻟ ﺔ اﻟﻬ ﺎش ه ﻲ‬
‫داﻟﺔ ﻋﺎﻣﺔ وﻟﻴﺴﺖ ﻣﻔﺘﺎﺣﺎ‪ ،‬ﺗﺴﺘﺨﺪم اذن ﻻآﺘﺸﺎف اﻟﺘﻐﻴﺮات اﻟﻄﺎرﺋﺔ ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ ﻗﺒ ﻞ وﺻ ﻮﻟﻬﺎ‪ ،‬ﻳﻤﻜ ﻦ ﺗﻄﺒﻴﻘﻬ ﺎ ﺑﻄ ﺮق‬
‫ﻣﺘﻌﺪدة ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ‪ ،‬ﻏﺎﻟﺒﺎ ﺗﺴﺘﺨﺪم ﺑﻌﺪ ذﻟﻚ ﻻﻧﺸﺎء اﻟﺘﻮﻗﻴﻊ اﻻﻟﻜﺘﺮوﻧﻲ‪.‬‬
‫• ﺧﺼﺎﺋﺺ داﻟﺔ اﻟﻬﺎش ‪: Hash Function Properties‬‬
‫‪ -‬ﺗﻨﺸﺊ داﻟﺔ اﻟﻬﺎش ﻣﺎ ﻳﺸﺒﻪ ﺑﺼﻤﺔ اﺻﺒﻊ اﻻﺑﻬﺎم‪ ،‬ﻟﻠﻤﻠﻔﺎت او اﻟﺮﺳﺎﺋﻞ او اﻟﺒﻴﺎﻧﺎت‪:‬‬
‫)‪h = H(M‬‬
‫‪ -‬ﺗﺨﺘﺰل اﻻﺣﺠﺎم اﻟﻤﺨﺘﻠﻔﺔ ﻟﻠﺮﺳﺎﺋﻞ ‪ M‬إﻟﻰ ﺑﺼﻤﺔ اﻻﺑﻬﺎم ﺛﺎﺑﺘﺔ اﻟﺤﺠﻢ‪.‬‬
‫‪ -‬ﻳﻔﺘﺮض ان ﺗﻜﻮن ﻋﺎﻣﺔ‪ ،‬ﻣﺘﺎﺣﺔ ﻟﻠﺠﻤﻴﻊ‪.‬‬

‫ﻣﺘﻄﻠﺒﺎت ﺗﻨﻔﻴﺬ داﻟﺔ اﻟﻬﺎش ‪: Requirements for Hash Functions‬‬ ‫•‬


‫ﺗﻜﻮن ﻗﺎﺑﻠﺔ ﻟﻠﺘﻄﺒﻴﻖ ﻋﻠﻰ اي رﺳﺎﻟﺔ ﺑﺄي ﺣﺠﻢ‪.‬‬ ‫‪.١‬‬
‫ﻣﺨﺮﺟﺎﺗﻪ ﺛﺎﺑﺘﺔ ﻣﻦ ﺣﻴﺚ ﻋﺪد اﻟﺒﺘﺎت اﻟﺤﺠﻢ‪.‬‬ ‫‪.٢‬‬
‫ﺳﻬﻠﺔ اﻟﺤﺴﺎب ﺑﺎﻟﻨﺴﺒﺔ ﻷي رﺳﺎﻟﺔ ‪ ،M‬ﺑﺎﻟﺸﻜﻞ اﻟﻌﺎم )‪. h = H(M‬‬ ‫‪.٣‬‬
‫واﻟﺤﺼﻮل ﻋﻠﻰ ‪ h‬ﻻ ﻳﺴﺎﻋﺪ ﻋﻠﻰ اﻟﺤﺼﻮل ﻋﻠﻰ ‪ M‬ﺣﺴﺐ اﻟﺪاﻟﺔ اﻋﻼﻩ‪) .‬ﺧﺎﺻﻴﺔ اﻟﻄﺮﻳﻖ اﻟﻮاﺣﺪ(‬ ‫‪.٤‬‬
‫إذا آﺎن )‪ H(y)=H(x‬ﺣﺴﺐ ﺷﻜﻞ داﻟﺔ اﻟﻬﺎش‪ ،‬ﻓﺈن اﻟﺤﺼﻮل ﻋﻠﻰ ‪ x‬ﻻ ﻳﻌﻨﻲ ﻣﻄﻠﻘﺎ اﻟﻘﺪرة ﻋﻠﻰ إﻳﺠﺎد ‪.y‬‬ ‫‪.٥‬‬
‫إذا آﺎن )‪ H(y)=H(x‬ﻓﺈﻧﻪ ﻣﻦ ﻏﻴﺮ اﻟﻤﺠﺪي اﻟﺤﺼﻮل ﻣﻨﻬﺎ ﻋﻠﻰ ‪ x‬وﻻ ‪.y‬‬ ‫‪.٦‬‬

‫‪MD5,SHA-1 full‬‬ ‫‪١٢‬‬


‫‪٢٠-١٩-١٨ -١٧ -DSS -١٣-١٢-١١-١٠-٩-٧-٦-٥-٤‬‬ ‫‪١٣‬‬
‫‪Kerbrose5‬‬ ‫‪١٤‬‬
‫ﻣﺤﺬوف‬ ‫‪١٥‬‬
‫‪١٦‬‬
‫‪٢١-٢٠-١٩-١٨-١٧-١٦-١٥-١٤-١٣‬‬ ‫‪١٧‬‬
‫اﻟﻔﺼﻞ اﻟﺜﺎﻧﻲ ﻋﺸﺮ‪ :‬ﺧﻮارزﻣﻴﺎت اﻟﻬﺎش ‪Hash Algorithm‬‬
‫ﻗﺪﻣﺖ ﺧﻮارزﻣﻴﺎت اﻟﻬﺎش اﻟﻜﺜﻴﺮ ﻣﻦ اﻟﻤﻴﺰات ﻣﻨﻬﺎ‪:‬‬
‫ـ اﻓﻀﻞ اﻧﻮاع اﻟﺘﺸﻔﻴﺮ ﺑﺎﻟﻘﺎﻟﺐ ‪block cipher‬‬
‫ـ زﻳﺎدة ﻗﻮة ﻣﻘﺎوﻣﺔ اﻟﻬﺠﻤﺎت ﻣﻦ اﻟﻨﻮع ‪ ،brute-force‬واﻟﺘﻲ ﻳﻘﻮم اﺻﺤﺎﺑﻬﺎ ﺑﺈﺟﺮاء ﻋﻤﻠﻴﺎت ﺣﺴ ﺎﺑﻴﺔ ﻟﻔ ﻚ ﺷ ﻔﺮة‬
‫اﻟﺮﺳﺎﻟﺔ ‪.plaintext‬‬
‫ـ ﻟﻬﺎ اﻧﻮاع آﺜﻴﺮة ﻣﻨﻬﺎ‪MD4 , MD5, SHA‐1 , RIPEMD‐160 :‬‬
‫ـ وآﻤﺎ ﻳﺤﺪث ﻓﻲ اﻟﺘﺸﻔﻴﺮ ﺑﺎﻟﻘﺎﻟﺐ‪ ،‬ﺗﺴﺘﺨﺪم اﻟﻄﺮق اﻟﺘﺮآﻴﺒﻴﺔ‪.‬‬
‫ﺧﻮارزﻣﻴﺔ )ﺗﻠﺨﻴﺺ اﻟﺮﺳﺎﻟﺔ( ‪:message digest MD5‬‬
‫ـ ﺻﻤﻤﺖ ﺑﻮاﺳﻄﺔ راﻳﻔﺴﺖ وهﻮ اﺣﺪ اﻟﺜﻼﺛﺔ اﻟﺬﻳﻦ اﺑﺘﻜﺮوا ﺧﻮارزﻣﻴﺔ اﻟـ ‪.RAS‬‬
‫ـ ﺁﺧﺮ اﺷﻜﺎل ﻣﺠﻤﻮﻋﺔ ﺧﻮارزﻣﻴﺎت ‪ MDn‬ﺑﻌﺪ ‪ MD2‬و ‪.MS4‬‬
‫ـ ﺗﻨﺘﺞ داﻟﺔ هﺎش ﺑﻘﻴﻤﺔ )ﺑﺤﺠﻢ( ‪ ١٢٨‬ﺑﺘﺎ‪.‬‬
‫ـ ﺗﻌﺘﺒﺮ ﺣﺘﻰ اﻟﻮﻗﺖ اﻟﺤﺎﻟﻲ اﻟﺨﻮارزﻣﻴﺔ اﻻآﺜﺮ اﺳﺘﺨﺪاﻣﺎ ﻣﻦ ﺧﻮارزﻣﻴﺔ دوال اﻟﻬﺎش‪.‬‬
‫ـ ﻳﻤﻜﻦ اﻻﺳﺘﻔﺴﺎر ﻋﻨﻬﺎ ﻓﻲ اﻟﻨﺖ ﻋﺒﺮ اﻻﺳﺘﻌﻼم )‪.(RFC 1321‬‬
‫ـ ﻃﺮﻳﻘﺔ ﻋﻤﻞ اﻟـ ‪:MD5‬‬
‫‪ -‬ﺗﺤﻮل ﺣﺠﻢ اﻟﺮﺳﺎﻟﺔ إﻟ ﻰ اﺣ ﺪ ﻣﻀ ﺎﻋﻔﺎت اﻟ ـ ‪ ٥١٢‬ﺑﺘ ﺎ‪ ،‬وذﻟ ﻚ ﻋ ﻦ ﻃﺮﻳ ﻖ اﻟ ـ ‪ padding‬وﻳ ﺘﻢ ذﻟ ﻚ ﺑﺈﺿ ﺎﻓﺔ‬
‫أﺻﻔﺎر إﻟﻰ اﻟﺤﺠﻢ اﻻﺻﻠﻲ ﻟﻠﺮﺳﺎﻟﺔ ﺣﺘﻰ ﺗﻜﻮن ﻣﻦ ﻣﻀ ﺎﻋﻔﺎت اﻟ ـ ‪ ٥١٢‬ﺑ ﺖ‪ ،‬ﻋﻠ ﻰ ان ﻳﺨﺼ ﺺ اﻟﺒ ﺖ اﻻﺧﻴ ﺮ ﻟﻘﻴﻤ ﺔ‬
‫اﻟﺤﺠﻢ اﻻﺻﻠﻲ ﻟﻠﺮﺳﺎﻟﺔ‪.‬‬
‫‪ -‬ﻓ ﻲ اﻟﺤﺎﻓﻈ ﺔ ‪ buffer‬اﻟﺨﺎﺻ ﺔ ﺑﺎﻟ ـ ‪ ،MD5‬ﻳ ﺘﻢ ﻋﻤ ﻞ ﻗﻴﻤ ﺔ اﺑﺘﺪاﺋﻴ ﺔ ﺣﺠﻤﻬ ﺎ ‪١٢٨‬ﺑ ﺖ‪ ،‬ﻋﻠ ﻰ ﺻ ﻮرة ارﺑﻌ ﺔ‬
‫آﻠﻤﺎت هﻲ )‪.(A,B,C,D‬‬

‫‪MD5 Overview‬‬

‫‪ -‬وﻋﻠﻰ ذﻟﻚ ﻳﻜﻮن اﻟﻘﺎﻟﺐ اﻟﻮاﺣﺪ ﻣﻦ اﻟﺮﺳﺎﻟﺔ ﻣﻜﻮﻧﺎ ﻣﻦ ‪ ١٦‬آﻠﻤﺔ‪ ،‬ﻷن ﺣﺠﻢ اﻟﻘﺎﻟﺐ آﻤ ﺎ ذآﺮﻧ ﺎ ه ﻮ ‪ ٥١٢‬ﺑﺘ ﺎ‪،‬‬
‫ﻳ ﺘﻢ إدﺧ ﺎل ه ﺬﻩ اﻷﺟ ﺰاء اﻟ ـ ‪ ١٦‬إﻟ ﻰ داﻟ ﺔ اﻟﻀ ﻐﻂ )‪ ،(compression function‬وذﻟ ﻚ ﻧﻔ ﺲ اﻟﻮﻗ ﺖ ﻣ ﻊ اﻟﻘﻴﻤ ﺔ‬
‫اﻻﺑﺘﺪاﺋﻴﺔ اﻟﺠﺎهﺰة ﻓﻲ اﻟﺤﺎﻓﻈﺔ واﻟﺘﻲ ﺣﺠﻤﻬﺎ ‪ ١٢٨‬ﺑﺘﺎ‪.‬‬
‫‪ -‬ﻳﻨﺘﺞ ﻣﻦ دﻣﺞ اﻟﻘﻴﻤﺔ اﻻﺑﺘﺪاﺋﻴﺔ ﻟﻠﺤﺎﻓﻈﺔ ‪ buffer‬ﻣﻊ اﻟﻘﺎﻟﺐ اﻻول ﻗﻴﻤ ﺔ ﺟﺪﻳ ﺪة ﺑﻄﺮﻳﻘ ﺔ ﻣﻌﻴﻨ ﺔ‪ ،‬ﻳﻜ ﻮن ﺣﺠﻤﻬ ﺎ‬
‫‪ibbalyaum.net‬‬
‫ﻧﻔ ﺲ ﺣﺠ ﻢ اﻟﻘﻴﻤ ﺔ اﻻﺑﺘﺪاﺋﻴ ﺔ )‪ (IV0: ini al value‬وه ﻮ ‪ ١٢٨‬ﺑﺘ ﺎ‪ ،‬ﻳ ﺘﻢ ادﺧﺎﻟﻬ ﺎ ﻓ ﻲ داﻟ ﺔ ﺿ ﻐﻂ أﺧ ﺮى ﻣ ﻊ اﻟﻘﺎﻟ ﺐ‬

‫‪fahdalqasem.blogspot.com‬‬
‫اﻟﺜ ﺎﻧﻲ ﻣ ﻦ اﻟﺮﺳ ﺎﻟﺔ ﺑ ﻨﻔﺲ اﻟﻄﺮﻳﻘ ﺔ اﻟﺴ ﺎﺑﻘﺔ‪ ،‬ﺣﺘ ﻰ ﺗﻨﺘﻬ ﻲ ﻗﻮاﻟ ﺐ اﻟﺮﺳ ﺎﻟﺔ )ﻣﻬﻤ ﺎ آ ﺎن ﻋ ﺪدهﺎ‪ ،‬ﺣﺴ ﺐ ﺣﺠ ﻢ اﻟﺮﺳ ﺎﻟﺔ‬
‫ﻧﻔﺴﻬﺎ(‪.‬‬
‫‪ -‬ﺑﻬﺬﻩ اﻟﻄﺮﻳﻘﺔ ﻳﻜﻮن ﻣﺨﺮﺟﺎت اﻟﻌﻤﻠﻴﺔ ﺑﺎﻟﻜﺎﻣﻞ آﻤﺎ هﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺸﻜﻞ أﻋ ﻼﻩ‪ ،‬ﻋﺒ ﺎرة ﻋ ﻦ ﻗﺎﻟ ﺐ واﺣ ﺪ ﺑﺤﺠ ﻢ‬
‫‪ ١٢٨‬ﺑﺖ ﺗﻌﺘﺒﺮ ﺧﻼﺻﺔ )‪ (digest‬ﺧﻮارزﻣﻴﺔ اﻟـ ‪ ،MD5‬ﻳﺘﻢ إﻟﺤﺎﻗﻬﺎ ﺑﺎﻟﺮﺳﺎﻟﺔ اﻟﻤﻤﺪة ‪.pad message‬‬
‫‪ -‬ﻳﻘ ﻮم اﻟﻄ ﺮف اﻟﻤﺴ ﺘﻘﺒﻞ ﻋﻨﺪﺋ ﺬ ﺑﺘﻨﻔﻴ ﺬ ﻧﻔ ﺲ اﻟﻌﻤﻠﻴ ﺎت اﻟﺴ ﺎﺑﻘﺔ ﻋﻠ ﻰ اﻟﺮﺳ ﺎﻟﺔ‪ ،‬وﻳﻘ ﺎرن اﻟﻨ ﺎﺗﺞ ﺑﺎﻟﺨﻼﺻ ﺔ‬
‫)‪ (digest‬اﻟﻤﺮﻓﻘﺔ ﻓﺈذا آﺎﻧﺘﺎ ﻣﺘﻄﺎﺑﻘﺘﻴﻦ‪ ،‬ﺿﻤﻦ ﺳﻼﻣﺔ )‪ (integrity‬اﻟﻤﺤﺘﻮى‪.‬‬

‫داﻟﺔ اﻟﻀﻐﻂ ‪:MD5 Compression FuncƟon‬‬


‫هﻲ اﻟﺪاﻟﺔ اﻟﺘ ﻲ ﺗﺴ ﺘﻘﺒﻞ ﻣ ﺪﺧﻼت اﻟﻘﻴﻤ ﺔ اﻻﺑﺘﺪاﺋﻴ ﺔ اوﻻ ﻣ ﻊ اﻟﻘﺎﻟ ﺐ اﻻول ﻣ ﻦ اﻟﺮﺳ ﺎﻟﺔ‪ ،‬وﺗﺴ ﻤﻰ ﺑﺎﻟ ﺪورة اﻻوﻟ ﻰ‬
‫‪ ،round1‬اﻣﺎ اﻟﺪورة اﻟﺜﺎﻧﻴﺔ ‪ round2‬ﻓﺘﺴﺘﻘﺒﻞ ﻣﺨﺮﺟ ﺎت اﻟ ﺪورة اﻻوﻟ ﻰ ‪ ١٢٨‬ﺑ ﺖ ‪ ،‬وهﻜ ﺬا ﺣﺘ ﻰ اﻟ ﺪورة اﻻﺧﻴ ﺮة‬
‫اﻟﺘﻲ ﺗﺨﺮج ﻟﻨﺎ اﻟﺨﻼﺻﺔ اﻟﻨﻬﺎﺋﻴﺔ‪.‬‬
‫آﻞ دورة ﻣﻦ دورات ﺗﻄﺒﻴﻖ داﻟﺔ اﻟﻀﻐﻂ ﺗﻤﻠﻚ ‪ ١٦‬ﺧﻄﻮة ﻣﻦ اﻟﺸﻜﻞ‪:‬‬
‫)]‪b=b+(( a+ g(a,c,d) + X[k] + T[i‬‬
‫ﺣﻴﺚ ‪ a,b,c,d‬هﻲ اﻟﻜﻠﻤﺎت اﻻرﺑﻊ ﻓ ﻲ اﻟﺤﺎﻓﻈ ﺔ‪ ،‬ﻟﻜﻨﻬ ﺎ ﺗﺴ ﺘﺨﺪم ﺑﻌ ﺪ إﺟ ﺮاء ﺑﻌ ﺾ ﻋﻤﻠﻴ ﺎت اﻟﺘﺒﺎدﻳ ﻞ اﻟﺮﻳﺎﺿ ﻴﺔ‬
‫ﻋﻠﻴﻬﺎ‪ ،‬ﺑﻌﺪ اﻟﺨﻄﻮات اﻟﺴﺖ ﻋﺸﺮ ﺗﻜﻮن اﻟﻜﻠﻤﺔ ﻗﺪ ﺑﺪﻟﺖ او ﺣﺪﺛﺖ ‪ ٤‬ﻣﺮات‪.‬‬
‫اﻣﺎ اﻟﺪاﻟﺔ )‪ g(a,c,d‬ﻓﻬﻲ داﻟﺔ ﻏﻴﺮ ﺧﻄﻴﺔ ﻣﺘﻐﻴﺮة ﻓﻲ آﻞ دورة‪ ،‬اي اﻧﻬﺎ ﻓﻲ اﻟ ﺪورة اﻻوﻟ ﻰ ﺑﺎﻟﺼ ﻴﻐﺔ ‪ ،g‬وﻟﻜﻨﻬ ﺎ‬
‫ﻓﻲ اﻟﺪورات اﻟﺘﺎﻟﻴﺔ ﺗﺘﻐﻴﺮ ﻣﻦ اﻟﺸﻜﻞ )‪.(f,g,h,i‬‬
‫وآﻤﺎ ﻳﻮﺿﺢ اﻟﺸﻜﻞ ادﻧﺎﻩ‪ ،‬ﺗﺤﺘﻮي آ ﻞ دورة ﻣ ﻦ ‪ ١٦‬ﺧﻄ ﻮة ﺗﻄﺒ ﻖ ﻋﻠ ﻰ اﻟﺤ ﺮوف اﻻرﺑﻌ ﺔ ﺑﺎﻻﺿ ﺎﻓﺔ اﻟﻤ ﺪﺧﻠﻴﻦ‬
‫]‪ x[k‬و اﻟﺪاﻟﺔ ]‪ T[i‬اﻟﺘﻲ ﺗﺸﻜﻞ ﻗﻴﻤﺔ ﺛﺎﺗﺒﺔ ﻣﺸﺘﻘﺔ ﻣﻦ داﻟﺔ اﻟﺠﻴﺐ ‪.sin‬‬

‫‪MD5 Compression FuncƟon‬‬


‫ﻗﻮة ﺧﻮرازﻣﻴﺔ اﻟـ ‪:MD5‬‬
‫‪ -‬ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﺟﻤﻴﻊ اﻟﺒﺘﺎت اﻟﻤﻜﻮﻧﺔ ﻟﻠﺮﺳﺎﻟﺔ‪.‬‬
‫‪ -‬ﻳﺪﻋﻲ راﻳﻔﺴﺖ ﻣﺨﺘﺮع اﻟﺨﻮارزﻣﻴﺔ اﻧﻬﺎ ﺗﻘﺪم اﻓﻀﻞ أﻣﻨﻴﺔ ﻣﻤﻜﻨﺔ‪.‬‬
‫‪ -‬وﻟﻜﻨﻬﺎ ﻣﻊ ذﻟﻚ ﺗﻌﺮﺿﺖ ﻟﻤﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻬﺠﻤﺎت اﻟﺸﻬﻴﺮة‪ ،‬اي اﻧﻬﺎ ﻗﺎﺑﻠﺔ ﻟﻺﺧﺘﺮاق‪.‬‬

‫ﺧﻮارزﻣﻴﺔ اﻟﻬﺎش اﻵﻣﻨﺔ )‪:Secure Hash Algorithm (SHA-1‬‬


‫‪ -‬ﻓﻲ اﻟﺒﺪاﻳﺔ ﺗﻢ ﺗﺼﻤﻴﻢ ﺧﻮارزﻣﻴﺔ ‪ SHA‬ﺑﻮاﺳﻄﺔ ﻣﻌﻬﺪ ‪ NIST & NSA‬ﻓﻲ ﻋﺎم ‪١٩٩٣‬م‪ ،‬وﻣﻦ ﺛﻢ ﺗﻢ‬
‫ﻣﺮاﺟﻌﺘﻬﺎ ﻓﻲ ﻋﺎم ‪١٩٩٥‬م ﻟﺘﺨﺮج ﺑﺎﻻﺳﻢ اﻟﺠﺪﻳﺪ ‪.SHA-1‬‬
‫‪ -‬ﺗﻌﺘﺒﺮ اﻟﻤﻘﻴﺎس اﻻﻣﺮﻳﻜﻲ ﻟﻼﺳﺘﺨﺪام ﻣﻊ ﻧﻈﺎم اﻟﺘﻮاﻗﻴﻊ ‪.DSA‬‬
‫‪ -‬ﺗﻘﺪم ﻋﺼﺎرة‪/‬ﺧﻼﺻﺔ رﺳﺎﻟﺔ ﺑﺤﺠﻢ ‪ ١٦٠‬ﺑﺖ‪.‬‬
‫‪ -‬ﺣﺎﻟﻴﺎ هﻲ اﻟﺨﻮارزﻣﻴﺔ اﻟﻤﻔﻀﻠﺔ ﻟﺘﻄﺒﻴﻖ اﻟﻬﺎش‪.‬‬
‫‪ -‬اﻋﺘﻤﺪ ﺗﺼﻤﻴﻤﻬﺎ ﻋﻠﻰ ﺧﻮارزﻣﻴﺔ اﻟـ ‪ ،MD4‬ﻣﻊ ﺑﻌﺾ اﻻﺧﺘﻼﻓﺎت‪.‬‬
‫ﻋﻤﻞ ﺧﻮازﻣﻴﺔ اﻟﻬﺎش اﻻﻣﻦ ‪:SHA-1‬‬
‫‪ -‬آﻤﺎ ﻓﻲ اﻟـ ‪ MD5‬ﺗﻀﻴﻒ هﺬﻩ اﻟﺨﻮارزﻣﻴﺔ ‪ padding‬ﻟﻴﻜﻮن ﺣﺠﻢ اﻟﺮﺳﺎﻟﺔ ﻣﻦ ﻣﻀﺎﻋﻔﺎت ‪٥١٢‬ﺑﺖ‪.‬‬
‫‪ -‬ﺗﺴﺘﺨﺪم ‪ ٥‬آﻠﻤﺎت ﺑﺤﺠﻢ )‪ ١٦٠‬ﺑﺖ(‪ ،‬ﻓﻲ اﻟﺤﺎﻓﻈﺔ اﻟﺘﻲ ﺗﺨﺰن اﻟﻘﻴﻤﺔ اﻻﺑﺘﺪاﺋﻴﺔ ‪. initial value‬‬
‫‪ -‬اﻟﻌﻤﻠﻴﺎت اﻟﺘﻲ ﺗﻨﻔﺬ ﻋﻠﻰ ﺷﻜﻞ دورات ‪ ،‬ﺗﺴﺘﺨﺪم ﺑﻌﺪ اﻟﻘﻴﻤﺔ اﻻﺑﺘﺪاﺋﻴﺔ اﻟﻤﻜﻮﻧﺔ )ﻣﻦ ‪٥‬آﻠﻤﺎت(‪ ١٦ ،‬آﻠﻤﺔ‬
‫ﻃﻮﻟﻬﺎ ‪ ٥١٢‬ﺑﺖ‪:‬‬
‫‪ -‬ﺗﻮﺳﻊ هﺬﻩ اﻟـ ‪ ١٦‬آﻠﻤﺔ إﻟﻰ ‪ ٨٠‬آﻠﻤﺔ‪ ،‬ﻋﻦ اﻟﻄﺮﻳﻖ اﻟﻤﺰج واﻟﺘﺒﺪﻳﻞ )‪.(mixing & shifting‬‬
‫‪ -‬ﺗﻀﻴﻒ اﻟﻤﺨﺮﺟﺎت ﻣﻦ آﻞ دورة إﻟﻰ اﻟﺘﺎﻟﻴﺔ ﻟﺘﻜﻮﻳﻦ ﺣﺎﻓﻈﺔ ‪ buffer‬ﺟﺪﻳﺪة‪.‬‬
‫‪ -‬اﻟﺤﺎﻓﻈﺔ اﻻﺧﻴﺮة اﻟﺘﻲ ﺗﺤﻤﻞ اﻟﻤﺨﺮﺟﺎت اﻟﻨﻬﺎﺋﻴﺔ‪ ،‬هﻲ ﻗﻴﻤﺔ اﻟﻬﺎش اﻟﻤﺴﺘﺨﻠﺼﺔ‪.‬‬
‫داﻟﺔ اﻟﻀﻐﻂ ﻓﻲ ‪:SHA-1‬‬
‫اﻟﻔﺎرق اﻟﺮﺋﻴﺲ ﺑﻴﻦ اﻟﻄﺮﻳﻘﺘﻴﻦ )‪ (MD5‬و )‪ (SHA-1‬هﻮ ﻓﻲ ﺗﻨﻔﻴﺬ داﻟﺔ اﻟﻀﻐﻂ‪ ،‬وﺗﻌﺘﻤﺪ داﻟﺔ اﻟﻀﻐﻂ ﻋﻠﻰ‬
‫ﻋﻤﻠﻴﺎت ﺗﻐﻴﻴﺮ ﻗﻴﻢ اﻟﺤﺮوف ﻣﻦ اﻟﻘﻴﻤﺔ اﻻﺑﺘﺪاﺋﻴﺔ )اﻟﺘﻲ ﺗﻤﺰج ﻣﻊ اول ﻗﺎﻟﺐ ﻣﻦ اﻟﺮﺳﺎﻟﺔ( إﻟﻰ اﻟﺤﺼﻮل ﻋﻠﻰ‬
‫اﻟﻘﻴﻤﺔ اﻟﻨﻬﺎﺋﻴﺔ‪.‬‬
‫آﻞ دورة ﺗﺘﻜﻮن ﻣﻦ ﻋﺸﺮﻳﻦ ﺧﻄﻮة ﺗﻘﻮم آﻞ ﺧﻄﻮة ﺑﺈﺟﺮاء ﻋﻤﻠﻴﺎت ﺗﺒﺪﻳﻞ ﻟﻠﺤﺎﻓﻈﺎت اﻟﺨﻤﺲ ‪،5 buffers‬‬
‫ﺣﺴﺐ اﻟﻘﺎﻋﺪة‪:‬‬
‫)‪(A,B,C,D,E) <-(E+f(t,B,C,D)+(A<<5)+Wt+Kt),A,(B<<30),C,D‬‬
‫ﺣﻴﺚ ان ‪ a,b,c,d‬ﺗﻌﻮد ﻟﻠﻜﻤﺎت اﻻرﺑﻊ اﻟﻤﺸﺎﺑﻬﺔ ﻟﻠﺨﻮارزﻣﻴﺔ اﻟﺴﺎﺑﻘﺔ‪ ،‬و ‪ t‬هﻲ رﻗﻢ اﻟﺨﻄﻮة اﻟﻤﻄﺒﻘﺔ ﻓﻲ اﻟﻤﺮة‬
‫اﻟﻮاﺣﺪة‪.‬‬
‫اﻣﺎ اﻟﺪاﻟﺔ )‪ ،f(t,b,c,d‬ﻓﻬﻲ داﻟﺔ ﻏﻴﺮ ﺧﻄﻴﺔ ﻟﻠﺪورة‪ ،‬و ‪ wt‬ﻓﻬﻲ داﻟﺔ ﻣﺸﺘﻘﺔ ﻣﻦ ﻗﺎﻟﺐ اﻟﺮﺳﺎﻟﺔ اﻟﻤﺪﺧﻞ ﻓﻲ آﻞ‬
‫دورة‪ ،‬و ‪ kt‬ﻓﻬﻲ ﻗﻴﻢ ﺛﺎﺑﺘﺔ ﻣﺸﺘﻘﺔ ﻣﻦ داﻟﺔ اﻟﺠﻴﺐ اﻟﻤﻌﺮوﻓﺔ‪ ،‬ﻣﻦ اﺟﻞ ﻣﺰﻳﺪ ﻣﻦ اﻟﺘﻌﻘﻴﺪ‪.‬‬

‫‪SHA-1 Compression Function‬‬

‫ﻣﻘﺎرﻧﺔ ﺑﻴﻦ اﻟﺨﻮارزﻣﻴﺘﻴﻦ )‪:(SHA-1 vs. MD5‬‬


‫‪ -‬اﻟﻬﺠﻮم اﻟﺸﻬﻴﺮ اﻟﻤﻌﺮوف ﺑﺎﻻﺳﻢ ‪ brute force‬ﻳﻜﻮن ﻓﻲ ‪ SHA-1‬اﻗﻞ اﺛﺮا ﻣﻨﻪ ﻓﻲ ‪ MD5‬ﺑﺴﺒﺐ ﺗﻌﻘﻴﺪ‬
‫اﻻﺣﺘﻤﺎﻟﻴﺔ ﻓﻲ اﻟﺜﺎﻧﻴﺔ )‪ ١٦٠‬ﺑﺘﺎ ﻣﻘﺎﺑﻞ ‪ ١٢٨‬ﻓﻲ اﻻوﻟﻰ(‪.‬‬
‫‪ -‬ﻣﻘﺎرﻧﺔ ﺑـﺎﻻوﻟﻰ ﻓﺈن اﻟﺨﻮرازﻣﻴﺔ اﻟﺜﺎﻧﻴﺔ ﻟﻢ ﺗﺘﻌﺮض ﻟﻬﺠﻤﺎت آﺜﻴﺮة ﻧﺎﺟﺤﺔ‪.‬‬
‫‪ -‬رﻏﻢ ذﻟﻚ ﻓﺈن اﻟﺨﻮارزﻣﻴﺔ اﻟﺜﺎﻧﻴﺔ اآﺜﺮ ﺑﻂء )آﻤﻌﺎﻟﺠﺔ ﺣﺎﺳﻮﺑﻴﺔ( ﻣﻦ اﻻوﻟﻰ )ﺑﺴﺒﺐ ﺗﻌﻘﻴﺪهﺎ‪ :‬ﺣﻴﺚ ﻳﺘﻢ‬
‫ﺗﻨﻔﻴﺬهﺎ ﻓﻲ ‪ ٨٠‬ﺧﻄﻮة ﻣﻘﺎﺑﻞ اﻻوﻟﻰ ‪ MD5‬اﻟﺘﻲ ﺗﺘﻢ ب ‪ ٦٤‬ﺧﻄﻮة(‪.‬‬
‫‪ -‬آﻼ اﻟﺨﻮارزﻣﻴﺘﻴﻦ ﺻﻤﻤﺘﺎ ﺑﺸﻜﻞ ﺑﺴﻴﻂ وﻣﺪﻣﺞ‪.‬‬

‫‪ibbalyaum.net‬‬
‫اﻟﻔﺼﻞ اﻟﺜﺎﻟﺚ ﻋﺸﺮ ‪ :‬اﻟﺘﻮﻗﻴﻊ اﻟﺮﻗﻤﻲ ‪ ،‬وﺑﺮوﺗﻜﻮﻻت اﻟﺘﺤﻘﻖ ﻣﻦ اﻟﻬﻮﻳﺔ‬
‫‪fahdalqasem.blogspot.com‬‬
‫‪Digital signature and authentication protocols‬‬

‫ﺧﺼﺎﺋﺺ ﺑﻨﻴﺔ اﻟﺘﻮﻗﻴﻊ اﻟﺮﻗﻤﻲ ‪:‬‬


‫‪ .١‬ﻳﺠﺐ ان ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﺗﻮﻗﻴﻊ اﻟﺮﺳﺎﻟﺔ‪ ،‬اﻟﻀﺎﻣﻦ ﻟﺴﻼﻣﺘﻬﺎ آﺎﻟـ ‪ MAC‬ﻣﺜﻼ‪.‬‬
‫‪ .٢‬ﻳﺠﺐ ان ﺗﺴﺘﺨﺪم ﻣﻌﻠﻮﻣﺎت وﺣﻴﺪة ﻟﻠﻤﺮﺳﻞ وذﻟﻚ ﻟﻤﻨﻊ اﻟﺘﺰﻳﻴﻒ ﻣﻦ ﺟﻬﺔ اﻟﻤﻬﺎﺟﻤﻴﻦ‪ ،‬واﻻﻧﻜﺎر ﻣﻦ‬
‫ﺟﻬﺔ اﻟﻤﺮﺳﻞ او اﻟﻤﺴﺘﻘﺒﻞ‪.‬‬
‫‪ .٣‬ﻳﺠﺐ ان ﺗﻜﻮن ﺳﻬﻠﺔ اﻻﻧﺘﺎج ﻧﺴﺒﻴﺎ‪.‬‬
‫‪ .٤‬ﻳﺠﺐ ان ﺗﻜﻮن وﺑﺼﻮرة ﻧﺴﺒﻴﺔ اﻳﻈﺎ‪ ،‬ﺳﻬﻠﺔ اﻟﺘﻌﺮف واﻟﻔﺤﺺ ﻟﻠﻤﻘﺎرﻧﺔ‪.‬‬
‫‪ .٥‬آﺬﻟﻚ ﻳﺠﺐ ان ﺗﻜﻮن )ﻏﻴﺮ ﻣﺠﺪﻳﺔ ‪ (infeasible‬ﺑﺎﻟﻨﺴﺒﺔ ﻹﻋﺎدة ﺣﻮﺳﺒﺘﻬﺎ ﻣﻦ ﻗﺒﻞ اﻟﻤﺰورﻳﻦ‪ ،‬وذﻟﻚ‬
‫ﻓﻲ ﺣﺎﻟﺘﻴﻦ هﻤﺎ‪:‬‬
‫‪ .i‬ﺣﺎﻟﺔ اﻧﺸﺎء رﺳﺎﻟﺔ ﺟﺪﻳﺪة ﻣﺰﻳﻔﺔ واﻟﺘﻮﻗﻴﻊ ﻋﻠﻴﻬﺎ‪.‬‬
‫‪ .ii‬ﺣﺎﻟﺔ آﺴﺮ اﻟﺘﻮﻗﻴﻊ ﺑﺎﻟﻨﺴﺒﺔ ﻟﺮﺳﺎﻟﺔ اﺻﻠﻴﺔ ﻣﻮﻗﻊ ﻋﻠﻴﻬﺎ ﻣﺴﺒﻘﺎ‪.‬‬
‫‪ .٦‬ﻳﺠﺐ ان ﻳﻜﻮن ﻣﻦ اﻟﻤﻤﻜﻦ ﻋﻤﻠﻴﺎ ﺗﺨﺰﻳﻦ اﻟﺘﻮﻗﻴﻊ اﻻﻟﻜﺘﺮوﻧﻲ ﻓﻴﺰﻳﺎﺋﻴﺎ‪.‬‬

‫ﺁﻟﻴﺔ اﻟﺘﻮﻗﻴﻊ اﻟﺮﻗﻤﻲ‪:‬‬


‫ﻋﻤﻠﻴﺔ ﻣﺨﺘﺼﺔ ﺑﻴﻦ اﻟﻤﺮﺳﻞ واﻟﻤﺴﺘﻘﺒﻞ‪.‬‬
‫ﺗﻔﺘﺮض ان ﻳﻤﻠﻚ اﻟﻤﺴﺘﻘﺒﻞ اﻟﻤﻔﺘﺎح اﻟﻌﺎم اﻟﺬي ﻟﻠﻤﺮﺳﻞ‪.‬‬
‫ﻳﺘﻢ اﻟﺘﻮﻗﻴﻊ ﻋﻦ ﻃﺮﻳﻖ اﻟﻤﺮﺳﻞ ﺑﻮاﺳﻄﺔ ﻣﻔﺘﺎﺣﻪ اﻟﺨﺎص‪ ،‬وذﻟﻚ ﺑﺘﻄﺒﻴﻖ ﻧﻔﺲ ﻓﻜﺮة اﻟﻬﺎش اﻟﺘﻲ ﺗﻌﺘﻤﺪ ﻋﻠﻰ‬
‫اﺣﺘﻮاء ﺟﻤﻴﻊ ﺑﺘﺎت اﻟﺮﺳﺎﻟﺔ )ﺑﺼﻮرة ﻣﻀﻐﻮﻃﺔ( ﻓﻲ اﻟﺘﻮﻗﻴﻊ‪.‬‬
‫ﻳﻤﻜﻦ ﺑﺎﻻﺿﺎﻓﺔ إﻟﻰ ذﻟﻚ ﺗﺸﻔﻴﺮ اﻟﺮﺳﺎﻟﺔ ﻧﻔﺴﻬﺎ ﺑﻮاﺳﻄﺔ اﻟﻤﻔﺘﺎح اﻟﻌﺎم ﻟﻠﻤﺴﺘﻘﺒﻞ‪.‬‬
‫ﻣﻦ اﻟﻤﻬﻢ اﻟﺘﻮﻗﻴﻊ اوﻻ‪ ،‬وﻣﻦ ﺛﻢ ﺗﺸﻔﻴﺮ اﻟﺮﺳﺎﻟﺔ ﻣﻊ اﻟﺘﻮﻗﻴﻊ ﺑﻌﺪ ذﻟﻚ‪.‬‬
‫ﺗﻌﺘﻤﺪ ﺳﺮﻳﺔ اﻟﺘﻮﻗﻴﻊ وأﻣﻨﻴﺘﻪ اﺳﺎﺳﺎ ﻋﻠﻰ اﻟﻤﻔﺘﺎح اﻟﺨﺎص ﻟﻠﻤﺮﺳﻞ‪.‬‬

‫اﻟﻮﺳﻴﻂ ﻓﻲ اﻟﺘﻮﻗﻴﻊ اﻟﺮﻗﻤﻲ‪:‬‬


‫ﻳﺘﻢ اﻻﺳﺘﻌﺎﻧﺔ ﺑﻮﺳﻴﻂ ‪ arbiter‬وﻟﻴﻜﻦ اﺳﻤﻪ ‪:A‬‬
‫ﻳﻘﻮم اﻟﻮﺳﻴﻂ ﺑﺎﻟﺘﺤﻘﻖ ﻣﻦ أي رﺳﺎﻟﺔ ﻣﻮﻗﻌﺔ‪.‬‬
‫ﻳﺆرخ اﻟﺮﺳﺎﻟﺔ ﻓﻲ ﺣﺎل ﺳﻼﻣﺔ اﻟﺘﻮﻗﻴﻊ‪ ،‬ﺛﻢ ﻳﻮﺟﻬﻬﺎ إﻟﻰ اﻟﻤﺴﺘﻘﺒﻞ‪.‬‬
‫ﻧﺤﺘﺎج ﺑﺎﻟﺘﺄآﻴﺪ إﻟﻰ ﻣﺴﺘﻮى ﻣﻌﻴﻦ ﻣﻦ اﻟﺜﻘﺔ ﻓﻲ هﺬا اﻟﻮﺳﻴﻂ‪.‬‬
‫ﻳﻤﻜﻦ ﺗﻨﻔﻴﺬ ذﻟﻚ اﻣﺎ ﺑﻤﻔﺘﺎح ﻋﺎم ‪ ،‬او ﻣﻔﺘﺎح ﺧﺎص‪.‬‬
‫ﻳﻤﻜﻦ اﻳﻈﺎ ان ﻧﺴﻤﺢ ﻟﻪ ﺑﺮؤﻳﺔ ﻣﺤﺘﻮى اﻟﺮﺳﺎﻟﺔ‪ ،‬وﻳﻤﻜﻦ ان ﻻ ﻳﺨﻮل هﺬﻩ اﻟﺼﻼﺣﻴﺎت‪.‬‬

‫ﺑﺮوﺗﻮآﻮﻻت اﻟﻤﺼﺎدﻗﺔ ﻋﻠﻰ اﻟﻬﻮﻳﺔ‪:‬‬


‫ﺗﺴﺘﺨﺪم ﻟﻌﻤﻠﻴﺎت ﻗﺒﻮل‪/‬اﻟﺘﻌﺮف اﻟﺸﺮآﺎء ﻟﻬﻮﻳﺎت ﺑﻌﻀﻬﻢ اﻟﺒﻌﺾ‪ ،‬وﻣﻦ أﺟﻞ ﺟﻠﺴﺎت ﺗﺒﺎدل اﻟﻤﻔﺎﺗﻴﺢ‪.‬‬
‫ﻳﻤﻜﻦ ان ﺗﻨﻔﺬ ﺑﻄﺮﻳﻘﺔ )اﻟﻄﺮﻳﻖ اﻟﻮاﺣﺪ( او ﺑﻄﺮﻳﻘﺔ ﺗﺒﺎدﻟﻴﺔ‪.‬‬
‫ﻣﻦ اﻟﻘﻀﺎﻳﺎ اﻻﺳﺎﺳﻴﺔ هﻨﺎ وﺟﻮب وﺟﻮد اﻟﺴﺮﻳﺔ ﻟﺤﻤﺎﻳﺔ اﻟﺠﻠﺴﺔ‪ ،‬وﺗﺤﺪﻳﺪ اﻟﺰﻣﻦ ﻣﻦ اﺟﻞ ﺗﺠﻨﺐ ﺣﺼﻮل‬
‫اﻟﻤﻬﺎﺟﻢ ﻋﻠﻰ وﻗﺖ آﺎﻓﻲ ﻳﺴﺎﻋﺪﻩ ﻓﻲ اﻟﺮد ﺑﺪﻻ ﻣﻦ اﺣﺪ اﻟﻄﺮﻓﻴﻦ‪.‬‬
‫اﻟﻤﻬﺎﺟﻢ ﺣﻴﻦ ﻳﺮد ﺑﺪﻻ ﻣﻦ اﻟﻄﺮف اﻟﻤﺘﻮﻗﻊ ان ﻳﺮد‪ ،‬ﺗﺤﺪث ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻻﺣﺘﻤﺎﻻت وﻳﻤﻜﻦ ﺗﺠﻨﺒﻬﺎ ﺑـ‪:‬‬
‫إﺳﺘﺨﺪام ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻻﻋﺪاد اﻟﻤﺘﺴﻠﺴﻠﺔ واﻟﻤﻮﻟﺪة ﺑﻄﺮﻳﻘﺔ ﻋﺸﻮاﺋﻴﺔ‪.‬‬
‫إﺳﺘﺨﺪام ﻃﺎﺑﻊ اﻟﻮﻗﺖ‪ ،‬ﻳﺤﺘﺎج إﻟﻰ ﺳﺎﻋﺔ ﺗﺰاﻣﻦ‪.‬‬
‫اﻟﺘﺤﺪي‪ /‬اﻻﺳﺘﺠﺎﺑﺔ ﻟﻠﺘﺤﺪي ﺗﺤﺘﺎج إﻟﻰ اﺳﺘﺨﺪام ﻧﻈﺎم ﻣﻮﺣﺪ ﻓﻲ اﻟﺘﻌﺎﻣﻞ‪.‬‬

‫إﺳﺘﺨﺪام اﻟﺘﺸﻔﻴﺮ اﻟﺘﻤﺎﺛﻠﻲ ‪: Using Symmetric Encryption‬‬


‫آﻤﺎ هﻮ واﺿﺢ ﻳﻤﻜﻨﻨﺎ اﺳﺘﺨﺪام ﻣﺴﺘﻮﻳﻴﻦ ﻟﻬﻴﻜﻠﺔ ﻟﻠﻤﻔﺎﺗﻴﺢ‪.‬‬
‫ﻏﺎﻟﺒﺎ ﺑﻮاﺳﻄﺔ ﻣﺮآﺰ ﺗﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ ‪ KDC‬اﻟﺬي ﻳﻜﻮن ﻣﻮﺛﻮﻗﺎ ﺑﺎﻟﻄﺒﻊ‪:‬‬
‫آﻞ ﻃﺮف ﻳﺸﺘﺮك ﺑﻤﻔﺘﺎح اﺳﺎﺳﻲ ﻣﻊ اﻟـ ‪ KDC‬ﻟﻠﺘﺮاﺳﻞ‪.‬‬
‫‪ KDC‬ﺗﻮﻟﺪ ﺟﻠﺴﺔ ﻣﻔﺎﺗﻴﺢ ﺗﺴﺘﺨﺪم ﻟﻼﺗﺼﺎل ﺑﻴﻦ اﻟﺸﺮآﺎء‪.‬‬
‫ﺗﺴﺘﺨﺪم اﻟﻤﻔﺎﺗﻴﺢ اﻟﺮﺋﻴﺴﻴﺔ ‪ master keys‬ﻣﻦ اﺟﻞ ﺗﻮزﻳﻊ هﺬﻩ اﻟﻤﻔﺎﺗﻴﺢ ﺑﻴﻦ اﻟﺸﺮآﺎء‪.‬‬
‫ﺑﺮوﺗﻮآﻮل ﻧﻴﺪهﺎم‪-‬ﺳﻜﺮوﻳﺪر‪:‬‬
‫ﺑﺮوﺗﻮآﻮل ﺗﻮزﻳﻊ اﻟﻤﻔﺎﺗﻴﺢ اﻟﺬي ﻳﻤﺜﻞ اﻟﻄﺮف اﻟﺜﺎﻟﺚ اﻻﺻﻠﻲ‪.‬‬
‫ﻣﻦ اﺟﻞ ﺟﻠﺴﺔ ﺗﺒﺎدل ﻣﻔﺎﺗﻴﺢ ﺑﻴﻦ ‪ A‬و ‪ ،B‬ﻋﺒﺮ اﻟﻮﺳﻴﻂ ‪.KDC‬‬
‫ﻓﻜﺮة ﻋﻦ اﻟﺒﺮوﺗﻮآﻮل‪:‬‬
‫‪1. A→KDC: IDA || IDB || N1‬‬
‫‪2. KDC→A: EKa[Ks || IDB || N1 || EKb[Ks||IDA] ] ‬‬
‫‪3. A→B: EKb[Ks||IDA] ‬‬
‫]‪4. B→A: EKs[N2‬‬
‫])‪5. A→B: EKs[f(N2‬‬
‫ﻳﺴﺘﺨﺪم اﻟﺒﺮوﺗﻮآﻮل ﻟﺘﻮزﻳﻊ ﺁﻣﻦ ﻓﻲ ﺟﻠﺴﺔ اﻟﻤﻔﺎﺗﻴﺢ ﺑﻴﻦ اﻟﻄﺮﻓﻴﻦ‪.‬‬
‫ﻧﻘﻄﺔ ﺿﻌﻒ وﺣﻴﺪة هﻲ إﺣﺘﻤﺎل اﻟﺮد ﺑﻮاﺳﻄﺔ اﻟﻤﻬﺎﺟﻢ‪ ،‬ﻓﻲ ﺣﺎﻟﺔ اﻧﺘﻬﺎك اﺣﺪى اﻟﺠﻠﺴﺎت اﻟﻘﺪﻳﻤﺔ‪.‬‬
‫ﻃﺮق اﻟﺤﺎﻟﺔ آﻤﺎ ذآﺮﻧﺎ ﺳﺎﺑﻘﺎ ﺗﻌﺘﻤﺪ ﻓﻜﺮة )ﺧﺘﻢ اﻟﻮﻗﺖ‪ ،‬ﻃﺎﺑﻊ اﻟﻮﻗﺖ( أو ﻧﻈﺎم ﻣﻮﺣﺪ ﻓﻲ اﻟﺘﻌﺎﻣﻞ‪.‬‬

‫اﻟﺘﻮﻗﻴﻊ اﻟﺮﻗﻤﻲ اﻟﻘﻴﺎﺳﻲ ‪:digital signature standard DSS‬‬


‫اﻟﺤﻜﻮﻣﺔ اﻻﻣﺮﻳﻜﻴﺔ ﻗﺪﻣﺖ هﺬﻩ اﻟﻄﺮﻳﻘﺔ ﻟﻨﻈﺎم اﻟﺘﻮﻗﻴﻊ‪.‬‬
‫وذﻟﻚ ﺑﺎﺳﺘﺨﺪام ﺧﻮارزﻣﻴﺔ اﻟﻬﺎش اﻵﻣﻨﺔ ‪.SHA‬‬
‫ﻓﻲ ﺑﺪاﻳﺔ اﻟﺘﺴﻌﻴﻨﻴﺎت ﺻﻤﻤﺖ ﺑﻮاﺳﻄﺔ ‪.NIST&NSA‬‬
‫ﺗﻨﺸﺊ هﺬﻩ اﻟﻄﺮﻳﻘﺔ ‪ ٣٢٠‬ﺑﺖ آﺘﻮﻗﻴﻊ‪ ،‬وﻟﻜﻦ ﺿﻤﻦ رﻗﻢ ﺳﺮي ﺣﺠﻤﻪ ﻣﻦ ‪ ٥١٢‬إﻟﻰ ‪ ١٠٢٤‬ﺑﺖ‪.‬‬
‫ﺗﻌﺘﻤﺪ ﻓﻜﺮة اﻟﻄﺮﻳﻘﺔ ﻋﻠﻰ ﺻﻌﻮﺑﺔ اﻟﺤﺴﺎب اﻟﻤﻨﻔﺼﻞ ﻟﻠﻮﻏﺎرﻳﺘﻤﺎت‪.‬‬

‫ﺗﻮﻟﻴﺪ ﻣﻔﺎﺗﻴﺢ اﻟـ ‪: DSA Key Generation DSA‬‬


‫وﺟﻮد ﻣﻔﺘﺎح ﻋﺎم ﻣﺸﺘﺮك ﻗﻴﻤﺘﻪ )‪:(p,q,g‬‬
‫‪L‬‬
‫ﺣﻴﺚ ‪ p‬ﻋﺪد اوﻟﻲ آﺒﻴﺮ اﻟﺤﺠﻢ ﻣﻦ اﻟﺼﻮرة ‪.p= 2 :‬‬
‫ﺣﻴﺚ ‪ L‬ﻋﺪد ﺑﻴﻦ ‪ ٥١٢‬و ‪ ١٠٢٤‬ﺑﺖ‪.‬‬
‫ﻳﺘﻢ اﺧﺘﻴﺎر ‪ q‬ﻣﻦ ‪ ١٦٠‬ﺑﺖ‪ ،‬آﻌﺪد اوﻟﻲ‪ ،‬ﻣﻦ ﻣﻌﺎﻣﻼت اﻟﻌﺪد ‪.p‐1‬‬
‫ﻳﺘﻢ اﺧﺘﻴﺎر ‪ g‬ﺣﻴﺚ ‪:‬‬
‫‪(p‐1)/q‬‬ ‫‪(p‐1)/q‬‬
‫‪g=h‬‬ ‫‪where h<p‐1, h‬‬ ‫‪(mod p) > 1‬‬
‫ﻳﺨﺘﺎر اﻟﻤﺴﺘﺨﺪم ﻟﻨﻔﺴﻪ ﻣﻔﺘﺎﺣﺎ ﺧﺎﺻﺎ ‪ x‬ﻟﻴﻘﻮم ﺑﺘﻮﻟﻴﺪ اﻟﻤﻔﺘﺎح اﻟﻌﺎم ‪: y‬‬
‫ﻋﻠﻰ ان ﻳﻜﻮن‪:‬‬
‫– ‪ x<q‬و‬
‫‪X‬‬
‫– )‪y = g (mod p‬‬
‫ﻋﻤﻠﻴﺔ اﻧﺸﺎء اﻟﺘﻮﻗﻴﻊ اﻟﺮﻗﻤﻲ ‪:‬‬
‫ﻳﺘﻢ ﺗﻮﻗﻴﻊ اﻟﺮﺳﺎﻟﺔ ‪ M‬ﺑﻮاﺳﻄﺔ اﻟﻤﺮﺳﻞ‪:‬‬
‫ﻳﻨﺸﺊ اﻟﻤﺮﺳﻞ ﻣﻔﺘﺎح ﺗﻮﻗﻴﻊ ﻋﺸﻮاﺋﻲ ‪ ،k‬ﺑﺤﻴﺚ ‪.k<q‬‬
‫ﺛﻢ ﻳﺤﺴﺐ زوﺟﻲ اﻟﺘﻮﻗﻴﻊ ‪ r,s‬ﺣﻴﺚ‪:‬‬
‫‪k‬‬
‫) ‪r = ( g (mod p) ) ( mod q‬‬
‫) ‪s = ( k‐1 .SHA ( M ) + x.r ) ( mod q‬‬
‫ﻳﻘﻮم اﻟﻤﺮﺳﻞ ﺑﻌﺪ ذﻟﻚ ﺑﺈرﺳﺎل اﻟﺘﻮﻗﻴﻊ )‪ (r,s‬ﻣﻊ اﻟﺮﺳﺎﻟﺔ ‪.M‬‬

‫‪ibbalyaum.net‬‬
‫‪fahdalqasem.blogspot.com‬‬
‫اﻟﻄﺮﻳﻘﺔ اﻟﻘﻴﺎﺳﻴﺔ ﻟﻠﺘﻮﻗﻴﻊ اﻟﺮﻗﻤﻲ‬

‫ﻋﻤﻠﻴﺔ اﻟﺘﺤﻘﻖ ﻣﻦ اﻟﺘﻮﻗﻴﻊ ‪: DSA Signature Verification‬‬


‫ﻳﻘﻮم اﻟﻤﺴﺘﻘﺒﻞ ﺑﺎﻟﻔﺼﻞ ﺑﻴﻦ اﻟﺮﺳﺎﻟﺔ ‪ M‬وﺟﺰﺋﻲ اﻟﺘﻮﻗﻴﻊ ‪ r‬و ‪. s‬‬
‫ﻣﻦ اﺟﻞ ﻋﻤﻠﻴﺔ اﻟﺘﺤﻘﻖ ﻳﻘﻮم اﻟﻤﺴﺘﻘﺒﻞ ﺑﺎﻟﺤﺴﺎﺑﺎت اﻟﺘﺎﻟﻴﺔ )آﻤﺎ ﻓﻲ اﻟﺸﻜﻞ اﻋﻼﻩ(‪:‬‬
‫)‪w = s‐1(mod q‬‬
‫)‪u1= (SHA(M).w)(mod q‬‬
‫)‪u2= (r.w)(mod q‬‬
‫)‪v = (gu1.yu2(mod p)) (mod q‬‬
‫‪• if v=r then signature is verified‬‬
‫وﻳﻄﺎﺑﻖ اﻟﻤﺴﺘﻘﺒﻞ ﺑﻌﺪ ذﻟﻚ ﺑﻴﻦ ﻗﻴﻤﺔ ‪ r‬اﻟﺘﻲ وﺻﻠﺘﻪ ﻣﻊ اﻟﺮﺳﺎﻟﺔ‪ ،‬وﻗﻴﻤﺔ ‪ v‬اﻟﺘﻲ ﺣﺴﺒﻬﺎ اﻋﻼﻩ‪ ،‬ﻓﺈذا آﺎﻧﺘﺎ‬
‫ﻣﺘﻄﺎﺑﻘﺘﻴﻦ آﺎن هﺬا ﻳﻌﻨﻲ ان ﻋﻤﻠﻴﺔ اﻟﺘﺤﻘﻖ ﻧﺎﺟﺤﺔ‪.‬‬
‫ﻗﺪ ﻳﺤﺘﺎج اﻟﺒﺎﺣﺚ إﻟﻰ إﺛﺒﺎت ان ‪ r‬و ‪ v‬ﻣﺘﻄﺎﺑﻘﺘﻴﻦ‪ ،‬وﻳﻮﺟﺪ ﻟﺬﻟﻚ ﺑﺮهﺎن رﻳﺎﺿﻲ آﺎﻣﻞ‪.‬‬

‫اﻟﻔﺼﻞ اﻟﺮاﺑﻊ ﻋﺸﺮ ‪ :‬ﺗﻄﺒﻴﻘﺎت اﻟﺘﺤﻘﻖ ﻣﻦ اﻟﻬﻮﻳﺔ‬


‫‪Authentication Applications‬‬
‫ﻃﺮﻳﻘﺔ آﺮﺑﺮوس ‪:KERBEROS‬‬
‫ﻃﺮﻳﻘﺔ ﻣﻮﺛﻮﻗﺔ ﻣﻦ اﺟﻞ ﻧﻈﺎم ﺧﺪﻣﺔ اﻟﻤﻔﺎﺗﻴﺢ ﻣﻦ اﻟﻤﻌﻬﺪ اﻻﻣﺮﻳﻜﻲ ‪.MIT‬‬
‫ﺗﻘﺪم ﻟﻨﺎ ﺧﺪﻣﺔ ﻣﺼﺎدﻗﺔ ﻣﺮآﺰﻳﺔ ﻟﻠﻤﻔﺘﺎح اﻟﺨﺎص ـ آﻄﺮف ﺛﺎﻟﺚ‪ ،‬ﻋﺒﺮ اﻟﺸﺒﻜﺎت اﻟﻤﻮزﻋﺔ‪.‬‬
‫ﺗﺴﻤﺢ ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ اﻟﻮﺻﻮل ﻟﻠﺨﺪﻣﺎت اﻟﻤﻮزﻋﺔ ﻋﺒﺮ اﻟﺸﺒﻜﺔ‪.‬‬
‫وذﻟﻚ دون اﻟﺤﺎﺟﺔ إﻟﻰ ﻣﻮﺛﻮﻗﻴﺔ آﻞ ﻣﺤﻄﺎت اﻟﻌﻤﻞ‪.‬‬
‫ﺗﻮﺟﺪ ﻧﺴﺨﺘﻴﻦ ﻣﻦ هﺬﻩ اﻟﻄﺮﻳﻘﺔ هﻤﺎ ‪ KERBEROS 4 :‬و ‪KERBEROS 5‬‬
‫ﻣﺘﻄﻠﺒﺎت ﻃﺮﻳﻘﺔ آﻴﺮﺑﺮوس‪:‬‬
‫‪ -‬اﻻﻣﻨﻴﺔ‪.‬‬
‫‪ -‬اﻟﻤﻮﺛﻮﻗﻴﺔ‪.‬‬
‫‪ -‬اﻟﺸﻔﺎﻓﻴﺔ‪.‬‬
‫‪ -‬اﻟﻘﺎﺑﻠﻴﺔ ﻟﻠﺘﻮﺳﻊ‪.‬‬
‫ﻳﺘﻢ ﺗﻨﻔﻴﺬهﺎ ﻋﺒﺮ ﺑﺮوﺗﻮآﻮل اﻟﻤﺼﺎدﻗﺔ ﻳﻌﺘﻤﺪ ﻋﻠﻰ ﻃﺮﻳﻘﺔ ﻧﻴﺪهﺎم‪-‬ﺳﻜﺮوﻳﺪر‪.‬‬
‫اﻟﻨﺴﺨﺔ اﻟﺨﺎﻣﺴﺔ ﻣﻦ آﺮﺑﺮوس ‪: Kerberos Version 5‬‬
‫اﻟﺮﺳﻤﺔ أﻋﻼﻩ ﺗﻮﺿﺢ اﻟﻌﻤﻠﻴﺎت اﻟﻤﻨﻔﺬة ﻋﻠﻰ هﺬﻩ اﻟﻄﺮﻳﻘﺔ‪ ،‬ﺑﺎﻻﺿﺎﻓﺔ إﻟﻰ اﻟﺘﺎﻟﻲ‪:‬‬
‫ـ ﻃﻮرت ﻓﻲ ﻣﻨﺘﺼﻒ اﻟﺘﺴﻌﻴﻨﻴﺎت‪.‬‬
‫ـ ﻗﺪﻣﺖ ﺗﻄﻮرات ﻋﻦ اﻟﻨﺴﺨﺔ اﻟﺮاﺑﻌﺔ هﻲ‪:‬‬
‫ﻋﺎﻟﺠﺖ ﻧﻘﺺ اﻟﺒﻴﺌﺔ ﺑـ‪:‬‬
‫ـ ﺧﻮارزﻣﻴﺎت ﺗﺸﻔﻴﺮ‪ ،‬ﺑﺮوﺗﻮآﻮﻻت اﻟﺸﺒﻜﺎت‪ ،‬ﺗﺮﺗﻴﺐ اﻟﺒﺎﻳﺖ‪ ،‬دورة ﺣﻴﺎة اﻟﺘﺬآﺮة‪ ،‬ﺗﻘﺪﻳﻢ اﻟﻤﺼﺎدﻗﺔ‬
‫وﻏﻴﺮﻩ‪.‬‬
‫وآﺬﻟﻚ اﻟﻨﻘﺺ اﻟﺘﻘﻨﻲ ﺑـ‪:‬‬
‫ـ اﻟﺘﺸﻔﻴﺮ اﻟﻤﺰدوج‪ ،‬ﻧﻤﻂ اﻻﺳﺘﺨﺪام اﻟﻐﻴﺮ ﻗﻴﺎﺳﻲ‪ ،‬ﺟﻠﺴﺔ اﻟﻤﻔﺎﺗﻴﺢ‪ ،‬هﺠﻤﺎت آﻠﻤﺎت اﻟﻤﺮور‪.‬‬
‫ـ ﻋﻠﻰ اﻟﻨﺖ ﻳﻤﻜﻦ اﻻﺳﺘﻔﺴﺎر ﻋﻨﻬﺎ ﺑـ ‪.RFC 1510‬‬
‫ﺧﻮارزﻣﻴﺔ آﺮﺑﺮوس ‪: ٥‬‬
‫‪1) C Æ As : IDc || Pc || IDv .‬‬
‫‪2) As Æ C : Ticket.‬‬
‫‪3) C Æ As : IDc || Ticket.‬‬
‫‪where:‬‬
‫]‪Ticket = Ekv[IDc || ADc || IDv‬‬
‫‪C = client‬‬
‫‪As = server of authentication‬‬
‫‪IDc = identifier of user on C‬‬
‫‪IDv = identifier of user on V‬‬
‫‪Pc = password of C‬‬
‫‪ADc = Netowork address of C‬‬
‫‪Kv = security key shard by As & V‬‬
‫…‪|| concatenation‬‬

‫‪ibbalyaum.net‬‬
‫‪fahdalqasem.blogspot.com‬‬
‫اﻟﻔﺼﻞ اﻟﺴﺎﺑﻊ ﻋﺸﺮ ‪ :‬اﻣﻨﻴﺔ اﻟﻮﻳﺐ ‪Web Security‬‬

‫ﺑﺮوﺗﻮآﻮل أﻣﻨﻴﺔ اﻟﻤﻌﺎﻣﻼت اﻻﻟﻜﺘﺮوﻧﻴﺔ )‪: Secure Electronic Transactions (SET‬‬


‫ﻣﻮاﺻﻔﺎت ﻣﻔﺘﻮﺣﺔ ﻟﻸﻣﻨﻴﺔ واﻟﺘﺸﻔﻴﺮ‪.‬‬
‫ﺗﺴﺘﺨﺪم ﻟﺤﻤﺎﻳﺔ ﻣﻌﺎﻣﻼت اﻟـ )‪ (credit card‬ﻋﺒﺮ اﻻﻧﺘﺮﻧﺖ‪.‬‬
‫ﻃﻮرت ﻋﺎم ‪١٩٩٦‬م‪ ،‬ﺑﻮاﺳﻄﺔ ﺷﺮآﺘﻲ ﻣﺴﺘﺮآﺎرد و ﻓﻴﺰا اﻟﻜﺘﺮون‪.‬‬
‫ﻻ ﻳﻌﺘﺒﺮ ﻧﻈﺎم دﻓﻊ اﻟﻜﺘﺮوﻧﻲ‪ ،‬وان آﺎن ﻳﺴﺎﻋﺪ ﻓﻲ ﻋﻤﻠﻴﺎت اﻟﺪﻓﻊ اﻻﻟﻜﺘﺮوﻧﻲ‪.‬‬
‫ﻳﻌﺘﺒﺮ ﺑﺎﻻﺣﺮى ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺑﺮوﺗﻮآﻮﻻت وﺗﻨﺴﻴﻘﺎت اﻻﻣﻨﻴﺔ ‪:‬‬
‫ﺣﻴﺚ ﻳﺪﻋﻢ اﻣﻨﻴﺔ اﻻﺗﺼﺎل ﺑﻴﻦ اﻟﺸﺮآﺎء‪.‬‬
‫ﻣﻮﺛﻮق ﻣﻦ اﺳﺘﺨﺪاﻣﻪ ﻟﻠﻤﻌﺎﻳﻴﺮ آﺸﻬﺎدة ‪. x.509v3‬‬
‫ﻳﺤﻤﻲ اﻟﺨﺼﻮﺻﻴﺔ ﺑﺤﻀﺮاﻟﻤﻌﻠﻮﻣﺎت ﻓﻘﻂ ﻟﻠﻄﺮف اﻟﺬي ﻳﺤﺘﺎﺟﻬﺎ‪.‬‬

‫‪SET Components‬‬

‫ﻣﻌﺎﻣﻼت اﻟـ ‪: SET‬‬


‫‪ .١‬ﻳﻘﻮم اﻟﺰﺑﻮن ﺑﻔﺘﺢ ﺣﺴﺎب ﻟﻪ ﻓﻲ اﻟﺠﻬﺔ اﻟﺘﻲ ﺗﺼﺪر اﻟـ ‪.credit card‬‬
‫‪ .٢‬ﻳﺴﺘﻠﻢ اﻟﺰﺑﻮن وﻓﻖ ذﻟﻚ ﺷﻬﺎدة ‪.certificate‬‬
‫‪ .٣‬ﻳﻘﻮم اﻟﺘﺠﺎر آﻞ واﺣﺪ ﻋﻠﻰ ﺣﺪﻩ ﺑﺎﺳﺘﻼم اﻟﺸﻬﺎدات اﻟﺨﺎﺻﺔ ﺑﻬﻢ‪.‬‬
‫‪ .٤‬ﻳﻘﺪم اﻟﺰﺑﻮن ـ ﻋﻨﺪﻣﺎ ﻳﺤﺘﺎج ذﻟﻚ ـ ﻃﻠﺐ اﻟﺸﺮاء‪.‬‬
‫‪ .٥‬ﻳﻘﻮم اﻟﻮﺳﻴﻂ )‪ (certificate server‬ﺑﻔﺤﺺ اﻟﺘﺎﺟﺮ أوﻻ‪.‬‬
‫‪ .٦‬ﺗﺮﺳﻞ ﻃﻠﺐ اﻟﺸﺮاء وﻃﻠﺐ اﻟﺪﻓﻊ ﺑﻌﺪ ذﻟﻚ‪.‬‬
‫‪ .٧‬ﻳﻘﻮم اﻟﺘﺎﺟﺮ ﺑﻄﻠﺐ اﻟﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺔ اﻟﺪﻓﻊ‪.‬‬
‫‪ .٨‬ﻳﻘﻮم اﻟﺘﺎﺟﺮ اﻳﻈﺎ ﺑﺎﻟﺘﺄآﻴﺪ ﻋﻠﻰ اﻟﻄﻠﺒﻴﺔ‪.‬‬
‫‪ .٩‬ﻳﻘﻮم اﻟﺘﺎﺟﺮ ﺑﺘﻘﺪﻳﻢ اﻟﺨﺪﻣﺔ او اﻟﺒﻀﺎﻋﺔ إﻟﻰ اﻟﺰﺑﻮن‪.‬‬
‫‪ .١٠‬ﻳﻘﻮم اﻟﺘﺎﺟﺮ أﺧﻴﺮا ﺑﻄﻠﺐ اﻟﻤﺒﻠﻎ اﻟﻤﺪﻓﻮع ﻟﻪ‪.‬‬

‫اﻟﺘﻮﻗﻴﻊ اﻟﺜﻨﺎﺋﻲ ‪: dual signature‬‬


‫ﻳﻨﺸﺊ اﻟﺰﺑﻮن رﺳﺎﻟﺔ ﺛﻨﺎﺋﻴﺔ‪ ،‬اﻻوﻟﻰ ﻓﻴﻬﺎ ﻣﻌﻠﻮﻣﺎت ﻃﻠﺐ اﻟﺒﻀﺎﻋﺔ ‪ OI‬ﻣﻮﺟﻬﺔ ﻟﻠﺘﺎﺟﺮ‪ ،‬واﻟﺜﺎﻧﻴﺔ ﻓﻴﻬﺎ ﻣﻌﻠﻮﻣﺎت‬
‫اﻟﺪﻓﻊ ‪ PI‬ﻣﻮﺟﻬﺔ ﻟﻠﺒﻨﻚ‪.‬‬
‫ﻻ ﻳﻘﻮم اي ﻣﻦ اﻟﺘﺎﺟﺮ او اﻟﺒﻨﻚ ﺑﻔﺤﺺ ﻣﻌﻠﻮﻣﺎت اﻵﺧﺮ‪.‬‬
‫‪ibbalyaum.net‬‬ ‫ﻟﻜﻦ ﻳﺠﺐ ان ﻳﻌﺮﻓﺎ ان اﻟﺮﺳﺎﻟﺘﻴﻦ ﻣﺮﺗﺒﻄﺘﻴﻦ‪.‬‬

‫‪fahdalqasem.blogspot.com‬‬
‫ﻳﺴﺘﺨﺪم ﻻﻧﺠﺎز ذﻟﻚ اﻟﺘﻮﻗﻴﻊ اﻟﺜﻨﺎﺋﻲ‪ ،‬ﻳﻘﻮم هﺬا اﻟﺘﻮﻗﻴﻊ ﺑﺪﻣﺞ اﻟـ ‪ PI‬ﻣﻊ اﻟـ ‪ OI‬وذﻟﻚ ﻋﺒﺮ داﻟﺔ اﻟﻬﺎش‬
‫اﻟﻤﺬآﻮرة ﺳﺎﺑﻘﺎ‪.‬‬
‫ﻳﻜﻮن ﺷﻜﻞ اﻟﺘﻮﻗﻴﻊ اﻟﺜﻨﺎﺋﻲ رﻳﺎﺿﻴﺎ‪:‬‬
‫‪DS = Ekr[ H(PI) || H(OI) ] Æ POMD‬‬
‫ﺣﻴﺚ ان ‪ PIMD‬هﻮ ‪ Payment Order Message Digest‬وهﻮ ﻧﺎﺗﺞ دﻣﺞ ﺧﻼﺻﺔ ﻣﻌﻠﻮﻣﺎت اﻟﻄﻠﺐ‬
‫وﻣﻌﻠﻮﻣﺎت اﻟﺪﻓﻊ وﺑﺘﺸﻔﻴﺮﻩ ﺑﺎﻟﻤﻔﺘﺎح اﻟﺨﺎص ﻟﻠﺰﺑﻮن ﻳﻨﺘﺞ اﻟﺘﻮﻗﻴﻊ اﻟﺜﻨﺎﺋﻲ‪.‬‬

‫ﺗﺮآﻴﺒﺔ اﻟﺘﻮﻗﻴﻊ اﻟﺜﻨﺎﺋﻲ‬

‫ﻣﻼﺣﻈﺔ هﺎﻣﺔ‪:‬‬
‫ﺗﻤﺖ اﻟﺘﺮﺟﻤﺔ ﺑﺼﻮرة ﻣﺴﺘﻌﺠﻠﺔ ﻟﺬﻟﻚ ﻳﺮﺟﻰ ﻋﺬر اﻟﻤﺘﺮﺟﻢ‪ ،‬واﻟﺪﻋﺎء ﻟﻪ ﺑﻈﻬﺮ اﻟﻐﻴﺐ‪.‬‬

You might also like