Download as pdf or txt
Download as pdf or txt
You are on page 1of 55

‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪1‬‬

‫ﺗﻘﺮﺮ ﻣﴩوع ﲝﺚ ﺑﻌﻨﻮان ‪:‬‬

‫اﻟﺘﺸﻔﲑ اﻟﻼﻣﺘﻨﺎﻇﺮ‬
‫‪Asymmetric Cryptography‬‬
‫ﺗﻘﺪﱘ اﻟﻄﻼب ‪ :‬ﶊﻮد ﻗﺮﻩ ﻓﻼح – ﺎﺮ ٔدﯾﺐ – ﺎ اﺳﲈﻋﯿﻞ – ﻣﺼﻄﻔﻰ ﻠﯿﻞ‬
‫اﻟﺼﻒ‪ :‬اﳊﺎدي ﻋﴩ – اﻟﺜﺎﱐ ﻋﴩ‬
‫رﱗ ‪2015/5/13 :‬‬
‫ٕاﴍاف‪ :‬اﳌﺪرس ﺣ ﯿﺐ ﴗ‬
‫ﻣﻠﺨﺺ‬
‫ﻧﺪرس ﰲ ﻣﺸﺮوع اﻟﺒﺤﺚ ﻫﺬا ﺧﻮارزﻣﻴﺎت اﻟﺘﺸﻔﲑ اﻟﻼﻣﺘﻨﺎﻇﺮة و آﻟﻴﺔ ﺗﺒﺎدل اﳌﻔﺎﺗﻴﺢ ﰲ ﺷﺒﻜﺔ‪ .‬و ﺳﻨﻘﺪم ﺧﻮارزﻣﻴﺔ ﻻﻣﺘﻨﺎﻇﺮة‬
‫ﻣﻦ ﺗﺼﻤﻴﻢ ﻃﻼب اﳌﺸﺮوع‪ ،‬ﻣﻊ اﻟﺘﻄﺒﻴﻖ اﻟﻌﻤﻠﻲ ﺑﻠﻐﺎت اﻟﱪﳎﺔ‪.‬‬
‫‪2‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫اﻟﻔﻬﺮس‬
‫‪5‬‬ ‫اﻟﻤﻘﺪﻣﺔ ‪:‬‬

‫‪6‬‬ ‫ﻛﯿﻔﺘﺴﺘﺨﺪﻣﮭﺬااﻟﺒﺤﺚ‬

‫‪7‬‬ ‫‪1‬اﻟﻔﺼﻼﻷول ‪ :‬ﺧﻠﻔﯿﺔرﯾﺎﺿﯿﺔ‬

‫‪7‬‬ ‫‪1.1‬ﻣﺒﺎدﺋﻔﯿﻨﻈﺮﯾﺔاﻷﻋﺪاد‬
‫‪7‬‬ ‫‪1.1.1‬ﻗﺎﺑﻠﯿﺔاﻟﻘﺴﻤﺔ‬
‫‪7‬‬ ‫‪1.1.2‬اﻷﻋﺪاداﻷوﻟﯿﺔ‬
‫‪8‬‬ ‫‪1.1.3‬اﻟﻘﺎﺳﻤﺎﻟﻤﺸﺘﺮﻛﺎﻷﻛﺒﺮواﻟﻤﻀﺎﻋﻔﺎﻟﻤﺸﺘﺮﻛﺎﻷﺻﻐﺮ‬
‫‪8‬‬ ‫‪1.1.4‬اﻟﺘﻄﺎﺑﻘﺎﻟﺨﻄﻲ‬
‫‪9 ‬‬ ‫‪1.1.5‬ﺧﻮارزﻣﯿﺔاﻟﻘﺴﻤﺔ ‪ ‬‬
‫‪9 ‬‬ ‫‪1.1.6‬ﻣﺒﺮھﻨﺔأوﻟﺮ ‪ ‬‬
‫‪10 ‬‬ ‫‪ ‬‬ ‫‪1.1.7‬ﻣﺒﺮھﻨﺔاﻟﺒﻮاﻗﯿﺎﻟﺼﯿﻨﯿﺔ‬

‫‪10‬‬ ‫‪1.2‬رﯾﺎﺿﯿﺎﺗﺎﻟﻤﻨﺤﻨﯿﺎﺗﺎﻟﻨﺎﻗﺼﯿﺔ‬
‫‪10 ‬‬ ‫‪ ‬‬ ‫‪1.2.1‬ﻣﻌﺎدﻟﺔﻣﻨﺤﻨﯿﻨﺎﻗﺼﻲ‬
‫‪1.2.2‬ﺗﻌﺮﯾﻔﺎﻟﻤﻨﺤﻨﯿﺎﻟﻨﺎﻗﺼﻲ ‪11‬‬
‫‪12‬‬ ‫‪1.2.3‬اﻟﻌﻤﻠﯿﺎﺗﺎﻟﺰﻣﺮﯾﺔﻋﻠ ﺎﻟﻤﻨﺤﻨﯿﺎﺗﺎﻟﻨﺎﻗﺼﯿﺔ‬

‫‪14‬‬ ‫‪1.3‬ﻣﺴﺎﺋﻸﺳﺎﺳﯿﺔﻓﯿﻨﻈﺮﯾﺔاﻷﻋﺪاد‬
‫‪1.3.1‬ﻣﺴﺄﻟﺔاﻟﺘﺤﻠﯿﻞ ‪14‬‬
‫‪14‬‬ ‫‪1.3.2‬ﻣﺴﺄﻟﺔاﻟﺠﺬوراﻟﺘﺮﺑﯿﻌﯿﺔﺑﺎﻟﻤﻘﺎس ‪n‬‬
‫‪14‬‬ ‫‪1.3.3‬ﻣﺴﺄﻟﺔاﻟﻠﻮﻏﺎرﯾﺘﻤﺎﻟﻤﺘﻘﻄﻊ‬
‫‪14‬‬ ‫‪1.3.4‬ﻣﺴﺄﻟﺔاﻟﻠﻮﻏﺎرﯾﺘﻤﺎﻟﻤﺘﻘﻄﻌﺎﻟﻤﻮﺳﻌﺔ‬
‫‪1.3.5‬ﻣﺴﺄﻟﺔاﻟﻠﻮﻏﺎرﯾﺘﻤﺎﻟﻤﺘﻘﻄﻌﻔﯿﺎﻟﻤﻨﺤﻨﯿﺎﺗﺎﻟﻨﺎﻗﺼﯿﺔ‪14 : ‬‬
‫‪14‬‬ ‫‪1.3.6‬ﻣﺴﺄﻟﺔدﯾﻔﻲ‪ -‬ھﯿﻠﻤﺎن‬
‫‪15‬‬ ‫‪1.3.7‬ﻣﺴﺄﻟﺔدﯾﻔﻲ‪ -‬ھﯿﻠﻤﺎﻧﺎﻟﻤﻮﺳﻌﺔ‬
‫‪15‬‬ ‫‪1.3.8‬ﻣﺴﺄﻟﺔاﻟﻤﺠﻤﻮﻋﺔاﻟﺠﺰﺋﯿﺔ‬

‫‪1.4‬ﻣﺒﺎدﺋﺎﻟﺠﺒﺮاﻟﻤﺠﺮد ‪15‬‬
‫‪15‬‬ ‫‪1.4.1‬اﻟﻌﻼﻗﺎﺗﺎﻟﺜﻨﺎﺋﯿﺔ‬
‫‪16‬‬ ‫‪1.4.2‬ﻗﻮاﻧﯿﻨﺎﻟﺘﺸﻜﯿﻞ‪) ‬اﻟﻌﻤﻠﯿﺎت(‬
‫‪1.4.3‬اﻟﺒﻨ ﺎﻟﺠﺒﺮﯾﺔ ‪16‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪3‬‬

‫‪18‬‬ ‫‪1.4.4‬اﻟﻤﺠﻤﻮﻋﺔاﻟﻤﻮﻟﺪةﻟﺰﻣﺮة‬
‫‪18‬‬ ‫‪1.4.5‬اﻟﺰﻣﺮةاﻟﺪاﺋﺮﯾﺔاﻟﻤﻮﻟﺪةﺑﻤﺠﻤﻮﻋﺔ‬

‫‪1.5‬ﺧﻮارزﻣﯿﺎﺗﺄﺳﺎﺳﯿﺔ ‪18‬‬
‫‪18‬‬ ‫‪1.5.1‬اﻟﺨﻮارزﻣﯿﺔاﻹﻗﻠﯿﺪﯾﺔ‬
‫‪19‬‬ ‫‪1.5.2‬اﻟﺨﻮارزﻣﯿﺔاﻹﻗﻠﯿﺪﯾﺔاﻟﻤﻤﺪدة‬
‫‪21‬‬ ‫‪1.5.3‬ﺣﺴﺎﺑﺎﻷس‪   ‬‬
‫‪22‬‬ ‫‪1.5.4‬ﺣﺴﺎﺑﻤﺠﻤﻮﻋﻨﻘﻄﺔﻓﯿﻤﻨﺤﻨﯿﻨﺎﻗﺼﻲ‬
‫‪22‬‬ ‫‪1.5.5‬اﺧﺘﺒﺎراﺗﺎﻷوﻟﯿﺔ‪   ‬‬
‫‪23‬‬ ‫‪1.5.5.1‬اﺧﺘﺒﺎرﻓﯿﺮﻣﺎ‬
‫‪24‬‬ ‫‪1.5.5.2‬اﺧﺘﺒﺎرﻣﯿﻠﺮ‪ -‬راﺑﯿﻦ‬

‫‪25‬‬ ‫‪2‬اﻟﻔﺼﻼﻟﺜﺎﻧﻲ ‪ :‬ﺑﻌﻀﺎﻟﺨﻮارزﻣﯿﺎﺗﺎﻟﻼﻣﺘﻨﺎظﺮة‬

‫‪25‬‬ ‫‪2.1‬ﺧﻮارزﻣﯿﺔ‪RSA‬‬
‫‪25 ‬‬ ‫‪ ‬‬ ‫‪2.1.1‬ﺗﻮﻟﯿﺪاﻟﻤﻔﺎﺗﯿﺢ‬
‫‪26‬‬ ‫‪2.1.2‬اﻟﺘﺸﻔﯿﺮوﻓﻜﺎﻟﺘﺸﻔﯿﺮ‬
‫‪28‬‬ ‫‪2.1.3‬ﺑﺮھﺎﻧﺼﺤﺔﺧﻮارزﻣﯿﺔ‪RSA‬‬
‫‪29‬‬ ‫‪2.1.4‬ﺗﻘﻨﯿﺎﺗﺘﺴﺮﯾﻌﺘﻨﻔﯿﺬﺧﻮارزﻣﯿﺔ‪RSA‬‬
‫‪29‬‬ ‫‪2.1.4.1‬اﻟﺘﺸﻔﯿﺮاﻟﺴﺮﯾﻌﺒﺎﺳﺘﺨﺪاﻣﺎﻟﻤﻔﺎﺗﯿﺤﺎﻟﻌﺎﻣﺔاﻟﺼﻐﯿﺮة‬
‫‪30‬‬ ‫‪2.1.4.2‬ﻓﻜﺎﻟﺘﺸﻔﯿﺮاﻟﺴﺮﯾﻌﺒﻤﺒﺮھﻨﺔاﻟﺒﻮاﻗﯿﺎﻟﺼﯿﻨﯿﺔ‬
‫‪32‬‬ ‫‪2.1.5‬أﻣﻦ‪RSA‬‬
‫‪32‬‬ ‫‪2.1.5.1‬ﻋﻼﻗﺔاﻷﻣﻨﺒﺎﻟﺘﺤﻠﯿﻞ‬
‫‪32‬‬ ‫‪2.1.5.2‬اﻟﻤﻔﺎﺗﯿﺤﺎﻟﻌﺎﻣﺔواﻟﺮﺳﺎﺋﻼﻟﺼﻐﯿﺮة‬
‫‪33‬‬ ‫‪2.1.5.3‬اﻟﻤﻔﺎﺗﯿﺤﺎﻟﺨﺎﺻﺔاﻟﺼﻐﯿﺮة‬
‫‪33‬‬ ‫‪2.1.5.4‬اﻟﻤﻘﺎﺳﺎﺗﺎﻟﻤﺸﺘﺮﻛﺔ‬
‫‪34‬‬ ‫‪2.1.5.5‬اﻟﺮﺳﺎﺋﻼﻟﻼﻣﺨﻔﯿﺔ‬

‫‪2.2‬ﺗﺒﺎدﻟﻤﻔﺘﺎﺣﺪﯾﻔﻲ‪-‬ھﯿﻠﻤﺎن ‪34‬‬
‫‪2.2.1‬آﻟﯿﺔﻋﻤﻠﺘﺒﺎدﻟﻤﻔﺘﺎﺣﺪﯾﻔﻲ‪-‬ھﯿﻠﻤﺎن ‪34‬‬
‫‪2.2.2‬ﺑﺮھﺎﻧﺼﺤﺔﺗﺒﺎدﻟﻤﻔﺘﺎﺣﺪﯾﻔﯿﮭﯿﻠﻤﺎن ‪35‬‬

‫‪36‬‬ ‫‪2.3‬ﺧﻮارزﻣﯿﺎﺗﺎﻟﻤﻨﺤﻨﯿﺎﺗﺎﻟﻨﺎﻗﺼﯿﺔ‬
‫‪36‬‬ ‫‪2.3.1‬آﻟﯿﺔﺗﺒﺎدﻟﻤﻔﺘﺎﺣﺪﯾﻔﯿـﮭﯿﻠﻤﺎﻧﻔﯿﺎﻟﻤﻨﺤﻨﯿﺎﺗﺎﻟﻨﺎﻗﺼﯿﺔ‬
‫‪37‬‬ ‫‪2.3.2‬ﺑﺮھﺎﻧﺼﺤﺔﺗﺒﺎدﻟﻤﻔﺘﺎﺣﺪﯾﻔﻲ‪-‬ھﯿﻠﻤﺎﻧﻔﯿﺎﻟﻤﻨﺤﻨﯿﺎﻧﺎﻟﻨﺎﻗﺼﯿﺔ‬
‫‪2.3.3‬ﻣﻼﺣﻈﺔﻋﻠ ﺎﻟﺘﻌﻘﯿﺪ ‪38‬‬

‫‪40‬‬ ‫‪3‬اﻟﻔﺼﻼﻟﺜﺎﻟﺜﻨﺘﺎﺟﺎﻟﻤﺸﺮوع‬
‫‪4‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫‪40‬‬ ‫‪3.1‬اﻟﺨﻮارزﻣﯿﺔ‬
‫‪40‬‬ ‫‪3.1.1‬اﻟﺰﻣﺮةاﻟﺪاﺋﺮﯾﺔ‬
‫‪3.1.2‬ﺗﺒﺎدﻟﻤﻔﺘﺎﺣﺪﯾﻔﻲ‪-‬ھﯿﻠﻤﺎﻧﻔﯿﺎﻟﺪواﺋﺮاﻟﻘﻄﺒﯿﺔ ‪41‬‬
‫‪41‬‬ ‫‪3.1.3‬ﺑﺮھﺎﻧﺼﺤﺔﺗﺒﺎدﻟﻤﻔﺘﺎﺣﺪﯾﻔﯿﮭﯿﻠﻤﺎﻧﻔﯿﺎﻟﺪواﺋﺮاﻟﻘﻄﺒﯿﺔ‬
‫‪42‬‬ ‫‪3.1.4‬اﻟﺤﺴﺎﺑﺎﻟﺴﺮﯾﻊ‬

‫‪42‬‬ ‫‪3.2‬اﻟﺒﺮﻧﺎﻣﺞ‬
‫‪42‬‬ ‫‪3.2.1‬ﺷﯿﻔﺮة‪RSA‬‬
‫‪45‬‬ ‫‪3.2.2‬ﺷﯿﻔﺮةاﻟﺪواﺋﺮاﻟﻘﻄﺒﯿﺔ‬
‫‪47‬‬ ‫‪3.2.3‬اﻟﺸﯿﻔﺮةاﻟﻤﺘﻨﺎظﺮة‪Trivium‬‬
‫‪48‬‬ ‫‪ 3.2.3.1‬اﻟﻜﻮد‬
‫‪50‬‬ ‫‪3.2.3.2‬ﺗﻨﻔﯿﺬاﻟﺒﺮﻧﺎﻣﺞ‬

‫‪52‬‬ ‫‪4‬اﻟﺨﺎﺗﻤﺔ‬

‫‪55‬‬ ‫‪5‬اﻟﻤﺮاﺟﻊ ‪:‬‬


‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪5‬‬

‫اﳌﻘﺪﻣﺔ ‪:‬‬
‫اﻧﻄﻠﻖ ﲅ اﻟ ﺸﻔﲑ ﻣ ﺬ ٓﻻف اﻟﺴﻨﲔ‪ ،‬ﻣﻊ اﳉﲊال ﺧﻮﻟﯿﻮس ﻗ ﴫ‪ .‬ﻗﺎد اﳉﲊال ﻗ ﴫ ﻓ ﻮ ﺎت ﻋﻈﳰﺔ ﰲ ٔورو ‪ ،‬و ﰷن‬
‫ﺮاﺳﻞ ﻗﺎدﺗﻪ ﳌﺮاﺳﻼت اﻟﺘﻘﻠﯿﺪﯾﺔ‪ .‬ﻟﻜﻦ وا ﺘﻪ ﻣﺸﳫﺔ‪ .‬ﰲ ﺑﻌﺾ اﳊﺎﻻت‪ ،‬ﻗ ﺾ ٔ ﺪاءﻩ ﲆ رﺳ ‪ ،‬ﻓﻜﺸﻔﻮا ﺑﻌﺾ ﺧﻄﻄﻪ‪،‬‬
‫و ﻣ ﻌﻮا اﻟﺒﻌﺾ ا ٓﺧﺮ ﻣﻦ اﻟﻮﺻﻮل‪ .‬ﻫﺬا ﻣﺎ ﳇﻔﻪ اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﻀ ﺎ و اﳋﺴﺎرات‪ .‬ﻓﻘﺎم اﳉﲊال ﻗ ﴫ ﺑﺘﲀر ﻞ ﻋﺒﻘﺮي‬
‫ﳌﺸﳫﺘﻪ‪ ،‬ﺑﺪل ﰻ ﺣﺮف "‪ "A‬ﰲ رﺳﺎﻟﺘﻪ ﲝﺮف "‪ ،"D‬و ﰻ ﺣﺮف "‪ "B‬ﲝﺮف "‪ "E‬و ﻫﻜﺬا ﺑﺪل ﰻ ﺣﺮف ٔﲜﺪﯾﺔ‬
‫ﳊﺮف ا ي ﯾﻠﯿﻪ ﺑﺜﻼث ﻣﺮاﺗﺐ‪ .‬و ﯾﻘﻮم اﳌﺮﺳﻞ إﻟﯿﻪ ﺑ ﺪﯾﻞ ﰻ ﺣﺮف ﳊﺮف ا ي ﺴﺒﻘﺔ ﺑﺜﻼث ﻣﺮاﺗﺐ ﻟﯿﻘﺮ ٔ اﻟﺮﺳﺎ‬
‫ا ٔﺻﻠﯿﺔ‪ .‬ﻓﻔﻲ ﺎل ﻗ ﺾ ٔ ﺪاﺋﻪ ﲆ رﺳ ‪ ،‬ﻓﻠﻦ ﯾﻔﻬﻤﻮا ٔي ﳾء ﻣﻜ ﻮب ﰲ ﻣﺮاﺳﻼﺗﻪ‪ .‬ﰷن ﻞ ﻗ ﴫ ﻫﻮ اﻧﻄﻼﻗﺔ ﲅ‬
‫اﻟ ﺸﻔﲑ‪ .‬و ا ٓن ﺑﻌﺪ ﻣ ﺎت اﻟﺴﻨﲔ‪ ،‬ﲆ اﻟﺮﰬ ﻣﻦ اﻟﺘﻄﻮرات اﻟﻬﺎﺋ ﰲ ﲅ اﳊﺎﺳﻮب و ﺧﻮارزﻣ ﺎت اﻟ ﺸﻔﲑ‪ ،‬ﳓﻦ ﻻ ﺰال‬
‫ﻧﻮا ﻪ ﻧﻔﺲ ﻣﺸﳫﺔ اﳉﲊال ﻗ ﴫ‪ .‬ﳚﺐ ﻠﯿﻨﺎ ٔن ﺮﺳﻞ رﺳﺎﺋﻞ ﺎﺻﺔ ﲷﻦ وﺳﻂ ﻟ ﺲ ٓﻣ ًﺎ ﻟﱰﺳﻞ ﻓ ﻪ‪ .‬و ﰲ اﻟﻮاﻗﻊ‪ ،‬ﻠﻠﻨﺎ‬
‫ﻣﺸﳫﺘﻨﺎ ﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﺔ اﻟﱵ ﻠﻬﺎ ﻟﻬﺎ اﳉﲊال ﻗ ﴫ‪ .‬ﻓﻈﻬﺮ ﲅ اﻟ ﺸﻔﲑ‪ ،‬و ﻫﻮ اﻟﻌﲅ ا ي ﳞﱲ ﺑﺪراﺳﺔ اﳋﻮارزﻣ ﺎت و اﻟﻄﺮق‬
‫اﻟﺮ ﺿﯿﺔ ﻟ ﺸﻔﲑ و ﻓﻚ ﺸﻔﲑ اﻟﺮﺳﺎﺋﻞ ﲠﺪف إﺧﻔﺎء ﻣﻌﻨﺎﻫﺎ ﻋﻦ ا ٔﻃﺮاف اﻟﻐﲑ اﳌﴫح ﲠﺎ‪.‬‬
‫ﻟﻌﲅ اﻟ ﺸﻔﲑ ٔ ﺮ ﻫﺎﺋﻞ ﰲ ﺣ ﺎﺗﻨﺎ‪ .‬ﻟﻨﺬ ﺮ اﳊﺮب اﻟﻌﺎﳌﯿﺔ اﻟﺜﺎﻧﯿﺔ‪ .‬اﻋﳣﺪ ا ٔﳌﺎن ٓ "إﻧﯿﻐﲈ" ﻟ ﺸﻔﲑ رﺳﺎﺋﻠﻬﻢ و إﺧﻔﺎء ﻣﻌﻨﺎﻫﺎ ﻋﻦ‬
‫اﻟﻌﺪو‪ .‬ﺣﱴ ﺎء اﻟﻌﺒﻘﺮي ٔﻻن ﺗﯿﻮرﯾﻨﻎ‪ ،‬ا ي ﻗﺎم ﺑ ﺎء ا ٓ اﻟﺸﻬﲑة " ﻮﻟﻮﺳ ﺲ" اﻟﱵ ﺑﺪورﻫﺎ ﴪت ﺸﻔﲑ ٓ إﻧﯿﻐﲈ‪ .‬و‬
‫ﲾ ٔة‪ٔ ،‬ﺻﺒﺤﺖ ﲨﯿﻊ ﻣﺮاﺳﻼت ا ٔﳌﺎن ﻣﻔﻀﻮ ﺔ ٔﻣﺎم اﳊﻠﻔﺎء‪ .‬ﻫﺬا ﻣﺎ ﺟﻌﻠﻬﻢ ﳜﴪون ﻣﻌﺮﻛﺔ ﺷﲈل ا ٔﻃﻠﴘ و ﻓ ﺑﻌﺪ‪،‬‬
‫اﳊﺮب اﻟﻌﺎﳌﯿﺔ اﻟﺜﺎﻧﯿﺔ‪.‬‬
‫ﺗﻄﻮرت ﺧﻮارزﻣ ﺎت اﻟ ﺸﻔﲑ ﺸﲁ ﺒﲑ‪ ،‬و ﻛﺬ ﺧﻮارزﻣ ﺎت ﴪ اﻟ ﺸﻔﲑ‪ .‬ﻓﺎﺿﻄﺮر إﱃ ﺑﻨﺎء ﺧﻮارزﻣ ﺎت ﺪﯾﺪة‬
‫ﻣﻀﺎدة ﳋﻮارزﻣ ﺎت اﻟﻜﴪ‪ .‬و ﺑﻌﺪ ﺮاﰼ اﳋﱪات ﰲ اﻟ ﺸﻔﲑ و ﴪ اﻟ ﺸﻔﺮ وﺻﻠﻨﺎ ا ٓن إﱃ ﺪ ﺒﲑ ﻣﻦ ا ٔﻣﺎن ﰲ‬
‫اﳌﺮاﺳﻼت ﱪ ﺷﺒﻜﺔ ﻧﱰﻧﺖ‪ .‬ﻟﻜﻦ‪ ،‬ﻻ ﺰال اﻟﻔﻜﺮة اﻟﻌﺎﻣﺔ ﱔ ﻧﻔﺴﻬﺎ اﻟﱵ اﺳﺘﻌﻤﻠﻬﺎ ﻗ ﴫ و ا ٔﳌﺎن‪ .‬ﯾﻘﻮم اﻟﻄﺮف ا ٔول‬
‫ﺑ ﺸﻔﲑ اﻟﺮﺳﺎ ‪ x‬ﺑﻮاﺳﻄﺔ اﳌﻔ ﺎح ‪ ، k‬و ﺮﺳﻞ ﻫﺬﻩ اﻟﺮﺳﺎ ﰲ اﻟﻮﺳﻂ اﻟﻐﲑ ٓﻣﻦ ﻟﺘﺼﻞ ﻫﺬﻩ اﻟﺮﺳﺎ إﱃ اﻟﻄﺮف ا ٓﺧﺮ‬
‫ﺣ ﺚ ﯾﻘﻮم اﻟﻄﺮف ا ٓﺧﺮ‪ ،‬ﲟﻌﺮﻓﺔ اﳌﻔ ﺎح ‪ k‬ﺑﻔﻚ ﺸﻔﲑ ﻫﺬﻩ اﻟﺮﺳﺎ ﻋﻦ ﻃﺮﯾﻖ ﺗﻨﻔ ﺬ ﺧﻮارزﻣ ﺔ ﻋﻜﺴﯿﺔ‪.‬‬
‫ﺑﻨ ﺖ ﲨﯿﻊ ﺧﻮارزﻣ ﺎت اﻟ ﺸﻔﲑ ﲆ اﻓﱰاض ٔن اﻟﻄﺮﻓﲔ ا ﻦ ﯾ ﺎدﻻن اﻟﺮﺳﺎﺋﻞ ﻣ ﻔﻘﺎن ﲆ اﳌﻔ ﺎح ‪ . k‬و ﻓﻬﻮ ﯾﺪﻋﻰ‬
‫اﻟ ﺸﻔﲑ اﳌﺘﻨﺎﻇﺮ‪ٔ ،‬ن ﻣﻔ ﺎح اﻟ ﺸﻔﲑ ﻫﻮ ﻣﻔ ﺎح ﻓﻚ اﻟ ﺸﻔﲑ ذاﺗﻪ‪ .‬ﻟﻜﻦ‪ ،‬ﯿﻒ ﻣﻦ اﳌﻤﻜﻦ ٔن ﯾﺘﻔﻖ ﻃﺮﻓﺎن ﲆ ﻣﻔ ﺎح‬
‫اﻟ ﺸﻔﲑ؟ ﻓﻘﺪ ﺮاﺳﻞ ﰲ ﺑﻌﺾ اﳊﺎﻻت ٔﺷ ﺎﺻ ًﺎ ﱂ ﳣﻜﻦ و ﻟﻦ ﳣﻜﻦ ﻣﻦ اﻟﺘﻮاﺻﻞ ﻣﻌﻬﻢ إﻻ ﱪ ﺷﺒﻜﺔ ﲑ ٓﻣ ﺔ‪ .‬ﻓﻜ ﻒ‬
‫ﺳ ﻔﻘﺎن ﲆ ﻣﻔ ﺎح ﻣﻦ دون ٔن ﺗﻌﺮﻓﻪ ٔي ٔﻃﺮاف ٔﺧﺮى؟‬
‫‪6‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫ﻫﻨﺎ ﯾ ٔﰐ اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‪ .‬اﺑﺘﻜﺮ ﻫﺬا اﻟﻨﻮع ﻣﻦ اﻟ ﺸﻔﲑ ٔﺳﺎﺳ ًﺎ ﳌﺸﳫﺔ ﺗﺒﺎدل اﳌﻔﺎﺗﯿﺢ‪ ،‬ﻟﻜﻦ ﻓ ﺑﻌﺪ ٔﺻﺒﺢ ﺷﺎﺋﻌ ًﺎ ﻣﻦ ٔ ﻞ‬
‫اﺳﺘ ﺪاﻣﺎت ٔﺧﺮى ﻣ ﻞ اﻟﺒﺼﻤﺔ اﻻٕﻟﻜﱰوﻧﯿﺔ‪ .‬اﻟﻔﻜﺮة ا ٔﺳﺎﺳﯿﺔ ﻠ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ ﱔ ﰲ اﲰﻪ‪ ،‬ﻣﻔ ﺎح اﻟ ﺸﻔﲑ ﳐﺘﻠﻒ ﻋﻦ‬
‫ﻣﻔ ﺎح ﻓﻚ اﻟ ﺸﻔﲑ‪ ،‬و ﻫﺬا ﻣﺎ ﺳﻨﺪرﺳﻪ ﰲ ﲝﺜﻨﺎ ﻫﺬا‪.‬‬
‫ٔو ًﻻ‪ ،‬ﺳﻨﻘﻮم ﻟﺘﻌﺮﯾﻒ ﻋﻦ اﳌﻔﺎﻫﲓ ا ٔﺳﺎﺳﯿﺔ ﻠ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‪ .‬و دراﺳﺔ ٓﻟﯿﺎت و ﻓﻚ ﺸﻔﲑ ﺑﻌﺾ اﳋﻮارزﻣ ﺎت‬
‫اﻟﻼﻣ ﻨﺎﻇﺮة اﳌﻬﻤﺔ ﻟﺘﻔﺼﯿﻞ‪ ،‬ﻣﻊ ﴍح ٔﱒ اﻟﻬﺠﻮﻣﺎت اﻟﱵ ﺪﺛﺖ ﻠﳱﺎ‪ .‬ﻛﺬ ﺳ ﳮﺮ ﺮ ﲆ ﺑﻌﺾ اﳋﻮارزﻣ ﺎت ا ٔﻗﻞ‬
‫ٔﳘﯿﺔ‪ .‬ﰒ ﺳﻨﻘﻮم ﴩح ٓﻟﯿﺔ ﺧﻮارزﻣ ﺘﻨﺎ اﻟﱵ ٔو ﺪ ﻫﺎ ﰲ ﲝﺜﻨﺎ ﻫﺬا‪ ،‬ﻣﻊ ﴍح اﻟﻨﺘﺎج اﻟﻌﻤﲇ ﳌﴩوﻋﻨﺎ‪.‬‬

‫ﯿﻒ ﺴ ﺘ ﺪم ﻫﺬا اﻟﺒﺤﺚ‬


‫ﰲ اﻟﻔﺼﻞ ا ٔول ﺳﻨﻮرد ﻣ ﺎدئ ر ﺿﯿﺔ ﯾﺘﻮﺟﺐ ﲆ اﻟﻘﺎرئ ﻣﻌﺮﻓﳤﺎ ﻟﻔﻬﻢ ﺧﻮارزﻣ ﺎت اﳌﴩوع‪ .‬و ﺑﻌﺪ ذ ﺳ ﺪ ٔ ﲟ ﺎل‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‪ .‬ﻧﻨﺼﺢ اﻟﻘﺎرئ ﺑ ٔن ﯾﺒﺪ ٔ ﺑﻘﺮاءة اﻟﺒﺤﺚ ﻣﻦ اﻟﻔﺼﻞ اﻟﺜﺎﱐ‪ ،‬و ﰲ ﺎل و ﺪ إﲠﺎﻣ ًﺎ ﰲ اﻟﺼﯿﻎ اﻟﺮ ﺿﯿﺔ‬
‫ﻠﺨﻮارزﻣ ﺎت اﻟﻮاردة ﰲ اﻟﴩح‪ٕ ،‬ﻣﲀﻧﻪ اﻟﻌﻮدة إﱃ اﻟﻔﺼﻞ ا ٔول ﻠﺘﻌﺮف ﲆ اﳌﻔﺎﻫﲓ اﻟﻨﺎﻗﺼﺔ‪ ،‬و ﺳﻨﻮرد رﰴ اﳌﻔﻬﻮم‬
‫اﻟﺮ ﴈ ﲠﺪف ﺴﻬﯿﻞ إﳚﺎدﻩ‪.‬‬
‫ٔﻣﺎ ﻟ ﺴ ﺒﺔ ﳋﻮارزﻣ ﺔ اﳌﴩوع‪ ،‬ﻓ ﺠﺐ ﻗﺮاءﲥﺎ ﺑﻌﺪ ﻗﺮاءة اﻟﻔﺼﻞ اﻟﺜﺎﱐ ا ي ﴩح اﳋﻮارزﻣ ﺎت اﻟﻼﻣ ﻨﺎﻇﺮة‪ ،‬ﻧﻈﺮ ًا ٔن‬
‫اﻟﻌﺪﯾﺪ ﻣﻦ اﳌﻔﺎﻫﲓ ﰲ ﺧﻮارزﻣ ﺘﻨﺎ ﺗﻌﳣﺪ ﲆ ﻣﻌﻠﻮﻣﺎت واردة ﰲ اﻟﻔﺼﻞ اﻟﺜﺎﱐ‪.‬‬
‫و ﻟ ﺴﺒﺔ ﻟﱪ ﻣﺞ اﳌﴩوع‪ ،‬ﻓﺴ ﴩ ﻪ ﻣﻊ ﻛﺘﺎﺑﺔ اﻟﻜﻮد‪ .‬ﻟﻜﻦ ﻧﺬ ﺮ ٔن ﻓﻬﻢ ﻫﺬا اﻟﻜﻮد ﯾﺘﻄﻠﺐ ﻣﻌﺮﻓﺔ ﺳﺎﺑﻘﺔ ﺑﻠﻐﺔ ‪ JAVA‬و‬
‫‪.C++‬‬
‫ﺮﺟﻮ ٔن ﺴ ﳣﺘﻌﻮا ﺑﻘﺮاءة ﻫﺬا اﻟﺒﺤﺚ ﺑﻘﺪر ﻣﺎ اﺳ ﳣﺘﻌﻨﺎ ﻜ ﺎﺑﺘﻪ!‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪7‬‬

‫‪ 1‬اﻟﻔﺼﻞ ا ٔول ‪ :‬ﻠﻔ ﺔ ر ﺿﯿﺔ‬


‫ﺳﻨﻘﻮم ﰲ ﻫﺬا اﻟﻔﺼﻞ ﺑﺘﻘﺪﱘ اﳌﻔﺎﻫﲓ اﻟﺮ ﺿﯿﺔ اﻟﱵ ﯾﺘﻮﺟﺐ ﲆ اﻟﻘﺎرئ ﻣﻌﺮﻓﳤﺎ‪ ،‬ﺣ ﺚ ﺗﻌﳣﺪ اﳋﻮارزﻣ ﺎت اﻟﱵ ﺳ ﴩ ﺎ ﻓ‬
‫ﺑﻌﺪ ﲆ ﻫﺬﻩ اﳌﻔﺎﻫﲓ ﺸﲁ ٔو ﺑ ٓﺧﺮ‪ .‬ﲠﺪف اﻟﺴﻬﻮ و اﺧ ﺼﺎر اﻟﻮﻗﺖ‪ ،‬ﺳ ﺎوز ذ ﺮ ﺮﻫﺎن اﻟﻌﺪﯾﺪ ﻣﻦ اﳋﻮاص اﻟﱵ‬
‫ﺳﻨﻮردﻫﺎ ﰲ ﻫﺬا اﻟﻔﺼﻞ‪.‬‬
‫ﻧﻨﺼﺢ اﻟﻘﺎرئ ﺑ ٔن ﺑﺘ ﺎوز ﻫﺬا اﻟﻔﺼﻞ و ﯾﺒﺪ ٔ ﺑﻘﺮاءة اﻟﺒﺤﺚ ﻣﻦ اﻟﻔﺼﻞ اﻟﺜﺎﱐ‪ .‬و ﰲ ﺎل ر ٔى ﻣﻌﻠﻮﻣﺔ ﺪﯾﺪة‪ٕ ،‬ﻣﲀﻧﻪ اﻟﻌﻮدة‬
‫إﱃ ﻫﺬا اﻟﻔﺼﻞ ﻠﺘﻌﺮف ﻠﳱﺎ‪.‬‬
‫‪ 1.1‬ﻣ ﺎدئ ﰲ ﻧﻈﺮﯾﺔ ا ٔ ﺪاد‬
‫‪ 1.1.1‬ﻗﺎﺑﻠﯿﺔ اﻟﻘﺴﻤﺔ‬
‫ﻧﻘﻮل ٔن ‪ a‬ﯾﻘﺴﻢ ‪ b‬و ﻜ ﺐ ‪ a b‬إذا ﻓﻘﻂ إذا و ﺪ ﺪد ﲱﯿﺢ ‪ n‬ﲝﯿﺚ‬ ‫‪a, b‬‬ ‫ﺗﻌﺮﯾﻒ ‪ : 1.1.1‬ﻣﻦ ٔ ﻞ ﺪد ﻦ ﲱﯿ ﲔ‬
‫ﻜﻮن ‪. b  na‬‬
‫ﻣ ﺎل ‪ 6 18 :‬و ‪. 5  30‬‬
‫ﺧﻮاص ﻗﺎﺑﻠﯿﺔ اﻟﻘﺴﻤﺔ ‪:‬‬
‫‪ -‬ﺎﺻﯿﺔ ‪. a  , a 0 : 1‬‬
‫‪ -‬ﺎﺻﯿﺔ ‪ ) a  , a a : 2‬ﻧﻌﲀﺳﯿﺔ( ‪.‬‬
‫‪ -‬ﺎﺻﯿﺔ ‪. a, b  , a b  a  b : 3‬‬
‫‪ -‬ﺎﺻﯿﺔ ‪. n, a, b  : (n a)  (n b)   ,   , n  a   b : 4‬‬
‫‪ -‬ﺎﺻﯿﺔ ‪) a, b, c  , (a b)  (b c)  a c : 5‬اﻟﺘﻌﺪﯾﺔ(‪.‬‬
‫‪ -‬ﺎﺻﯿﺔ ‪. a, b  , (a b)  (b a)  a  b : 6‬‬
‫‪ 1.1.2‬ا ٔ ﺪاد ا ٔوﻟﯿﺔ‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.1.2.1‬ﯾﻘﺎل ﺪد ﲱﯿﺢ ﻣﻮﺟﺐ ‪ٔ p‬ﻧﻪ ٔوﱄ إذا و ﻓﻘﻂ إذا ﰷن ‪ p‬ﻻ ﯾﻘ ﻞ اﻟﻘﺴﻤﺔ إﻻ ﲆ ﻧﻔﺴﻪ و ﲆ اﻟﻮا ﺪ‪.‬‬
‫ﻣ ﺎل ‪ P  3,5, 7, 23, 29,83 :‬ﱔ ﶍﻮ ﺔ ﻣﻦ ا ٔ ﺪاد ا ٔوﻟﯿﺔ‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.1.2.2‬ﯾﻘﺎل ﻋﻦ ﺪد ‪ٔ n  1‬ﻧﻪ ﻣﺮﺐ إذا ﱂ ﻜﻦ ٔوﻟﯿ ًﺎ‪ٔ ،‬ي إذا ﰷن ﯾﻘ ﻞ ﻗﺎﺳﲈً ﲑ ﻧﻔﺴﻪ و اﻟﻮا ﺪ‪.‬‬
‫ﻣﱪﻫﻨﺔ ‪ٔ : 1.1.2.1‬ي ﺪد ﲱﯿﺢ ‪ n  1‬ﯾﻘ ﻞ ﲆ ا ٔﻗﻞ ﻗﺎﺳﲈً ٔوﻟﯿ ًﺎ‪.‬‬
‫‪8‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫‪.‬‬ ‫‪n‬‬ ‫ﻻ ﯾﺘﻌﺪى‬ ‫ﻣﱪﻫﻨﺔ ‪ٔ : 1.1.2.2‬ي ﺪد ﲱﯿﺢ ﻣﺮﺐ ‪ n  1‬ﯾﻘ ﻞ ﲆ ا ٔﻗﻞ ﻗﺎﺳﲈً ٔوﻟﯿ ًﺎ‬
‫‪p‬‬
‫ﻣﱪﻫﻨﺔ ‪ : 1.1.2.3‬ﯾﻮ ﺪ ﺪد ﻻﳖﺎﰄ ﻣﻦ ا ٔ ﺪاد ا ٔوﻟﯿﺔ‪.‬‬
‫ﻣﱪﻫﻨﺔ ‪) 1.1.2.4‬اﳌﱪﻫﻨﺔ ا ٔﺳﺎﺳﯿﺔ ﰲ اﳊﺴﺎب( ‪ :‬ﻣﻦ ٔ ﻞ ﰻ ا ٔ ﺪاد اﻟﺼﺤﯿ ﺔ اﳌﻮﺟ ﺔ ‪ ، n‬ﺗﻮ ﺪ ا ٔ ﺪاد ا ٔوﻟﯿﺔ‬
‫اﻟﻮﺣ ﺪة ‪ p1, p2 ,..., pr‬ﲝﯿﺚ ‪. n  p  p  ... p  :   :‬‬
‫‪1‬‬
‫‪1‬‬
‫‪2‬‬
‫‪2‬‬
‫‪r‬‬
‫‪r‬‬
‫‪i‬‬

‫ﲆ اﻟﺮﰬ ﻣﻦ ﺪم وﺟﻮد ﺻﯿﻐﺔ ﻻٕﳚﺎد ا ٔ ﺪاد ا ٔوﻟﯿﺔ‪ ،‬إﻻ ٔن ﻛﺜﺎﻓﳤﺎ) ٔي ﻣﻌﺪل ﻇﻬﻮرﻫﺎ ﲷﻦ ا ٔ ﺪاد اﻟﺼﺤﯿ ﺔ( ﻣﻌﺮوﻓﺔ‬
‫ﻣ ﺬ ﺣﻮاﱄ اﳌﺌﺔ ﺎم‪.‬‬
‫ﻣﱪﻫﻨﺔ ‪) 1.1.2.5‬ﻣﱪﻫﻨﺔ ا ٔ ﺪاد ا ٔوﻟﯿﺔ( ‪ :‬ﻟﯿﻜﻦ )‪  (n‬ﯾﻌﱪ ﻋﻦ ﺪد ا ٔ ﺪاد ا ٔﺻﻐﺮ ﻣﻦ ‪ . n‬ﻓ ﻜﻮن ‪:‬‬
‫‪  (n) ln n ‬‬
‫‪lim ‬‬ ‫‪  1‬‬
‫‪n ‬‬
‫‪‬‬ ‫‪n‬‬

‫‪ 1.1.3‬اﻟﻘﺎﰟ اﳌﺸﱰك ا ٔﻛﱪ و اﳌﻀﺎﻋﻒ اﳌﺸﱰك ا ٔﺻﻐﺮ‬


‫‪gcd( a , b )  d‬‬ ‫ﺗﻌﺮﯾﻒ ‪ : 1.1.3.1‬ﻟﯿﻜﻦ ﯾﻨﺎ ﺪد ﻦ ﲱﯿ ﲔ ‪ . a, b‬ﻧﻘﻮل ﻋﻦ ﺪد ‪ٔ d‬ﻧﻪ اﻟﻘﺎﰟ اﳌﺸﱰك ا ٔﻛﱪ و ﻜ ﺐ‬
‫إذا و ﻓﻘﻂ إذا ﰷن ‪ٔ d‬ﻛﱪ ﺪد ﲱﯿﺢ ﯾﻘﺴﻢ ﻣﻦ ‪ a‬و ‪. b‬‬
‫ﻣ ﺎل ‪. gcd(28, 7)  7 ، gcd(48, 32)  16 :‬‬
‫ﺧﻮاص اﻟﻘﺎﰟ اﳌﺸﱰك ا ٔﻛﱪ‪:‬‬
‫‪ -‬ﺎﺻﯿﺔ ‪ : 1‬إذا ﰷن ‪ gcd(a, b)  d‬و ‪ a  a ' d , b  b ' d‬ﻓ ﻜﻮن ‪. gcd(a ', b ')  1‬‬
‫‪ -‬ﺎﺻﯿﺔ ‪. gcd(ab, n)  gcd(a, n) gcd(b, n) : 2‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.1.3.2‬ﻟﯿﻜﻦ ﯾﻨﺎ ﺪد ﻦ ﲱﯿ ﲔ ‪ . a, b‬ﻧﻘﻮل ﻋﻦ ﺪد ‪ٔ m‬ﻧﻪ اﳌﻀﺎﻋﻒ اﳌﺸﱰك ا ٔﺻﻐﺮ و ﻜ ﺐ‬
‫‪ lcm(a, b)  m‬إذا و ﻓﻘﻂ إذا ﰷن ‪ٔ m‬ﺻﻐﺮ ﺪد ﲱﯿﺢ ﯾﻘ ﻞ اﻟﻘﺴﻤﺔ ﲆ ﻣﻦ ‪ a‬و ‪. b‬‬
‫ﻣ ﺎل ‪. lcm(27,9)  27 ، lcm(15, 20)  60 :‬‬
‫ﻣﱪﻫﻨﺔ ‪ : 1.1.3.1‬ﻟﯿﻜﻦ ﯾﻨﺎ اﻟﻌﺪد ﻦ اﻟﺼﺤﯿ ﲔ ‪ . a, b‬ﻓ ﻜﻮن ﯾﻨﺎ )‪. ab  gcd(a, b) lcm(a, b‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.1.3.3‬ﻧﻘﻮل ﻋﻦ ﺪد ﻦ ‪ٔ a, b‬ﳖﲈ ٔوﻟﯿﺎن ﻓ ﺑ ﳯﲈ إذا و ﻓﻘﻂ إذا ﰷن ‪. gcd(a, b)  1‬‬
‫‪ 1.1.4‬اﻟﺘﻄﺎﺑﻖ اﳋﻄﻲ‬
‫ﺗﻄﺎﺑﻖ ا ٔ ﺪاد اﻟﺼﺤﯿ ﺔ ﻣﻔﻬﻮم ٔو ﺪﻩ اﻟﺮ ﴈ اﻟﺸﻬﲑ ﯾﻮﻫﺎن ﰷرل ﻓﺮﯾﺪرﯾﻚ ﺎوس‪ ،‬و ﳞﺪف ﻫﺬا اﳌﻔﻬﻮم إﱃ ﺴﻬﯿﻞ ﻣﻔﻬﻮم‬
‫ﻗﺎﺑﻠﯿﺔ اﻟﻘﺴﻤﺔ و ﺑﻮاﰶ اﻟﻘﺴﻤﺔ‪ .‬و ﻫﻮ ﰷ ٓﰐ‪:‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.1.4.1‬ﯾﻘﺎل ﻋﻦ ﺪد ﻦ ﲱﯿ ﲔ ‪ٔ a, b‬ﳖﲈ ﻣ ﻄﺎﺑﻘﺎن ﳌﻘﺎس ‪ n‬و ﻜ ﺐ ‪ a  b mod n‬إذا و ﻓﻘﻂ إذا ﰷن‬
‫‪.n a b‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ 9

. 21  1mod11 ‫ و‬21  6 mod 5 ‫ و‬21  1mod 5 : ‫ﻣ ﺎل‬


.(‫ ) ﻧﻌﲀﺳﯿﺔ‬a, b  , a  b mod n  b  a mod n : 1 ‫ ﺎﺻﯿﺔ‬-
.(‫ )اﻟﺘﻌﺪﯾﺔ‬a, b, c  , (a  b mod n)  (b  c mod n)  a  c mod n : 2 ‫ ﺎﺻﯿﺔ‬-
. a, b, n  , a  b mod n  c  : a  b  cn mod n : 3 ‫ ﺎﺻﯿﺔ‬-
. a, b, c, d , n  , (a  b mod n)  (c  d mod n)  a  c  b  d mod n : 4 ‫ ﺎﺻﯿﺔ‬-
. a, b, c, d , n  , (a  b mod n)  (c  d mod n)  ac  bd mod n : 5 ‫ ﺎﺻﯿﺔ‬-
1
‫ ﺧﻮارزﻣ ﺔ اﻟﻘﺴﻤﺔ‬1.1.5
‫ ﲝﯿﺚ‬q, r ‫ ﯾﻮ ﺪ ﺪد ﻦ ﲱﯿ ﲔ وﺣ ﺪ ﻦ‬a, b ‫ ﻣﻦ ٔ ﻞ ﰻ ﺪد ﻦ ﲱﯿ ﲔ‬: 1.1.5.1‫ﻣﱪﻫﻨﺔ‬
‫ ﰶ اﻟﻘﺴﻤﺔ‬r ‫( و‬quotient) ‫ ﰋ اﻟﻘﺴﻤﺔ‬q ‫ و ﯾﺪﻋﻰ‬. gcd( a, b)  gcd( a  b, b) a  qb  r : 0  r  b
.(remainder-residue)
. 27  14  2  1 ‫ ﯾﻨﺎ‬a  27, b  2 ‫ و ﻣﻦ ٔ ﻞ‬. 63  12  5  3 ‫ ﯾﻨﺎ‬a  63, b  5 ‫ ﻣﻦ ٔ ﻞ‬: ‫ﻣ ﺎل‬
‫ ﻣﱪﻫﻨﺔ ٔوﻟﺮ‬1.1.6
. gcd(n, s)  1 ‫ و‬s  n ‫ اﻟﱵ ﲢﻘﻖ‬s ‫ ﺑ ٔﻧﻪ ﺪد ا ٔ ﺪاد‬ (n) ‫ ﯾﻌﺮف ﺑﻊ ٔوﻟﺮ ا ي رﻣﺰﻩ‬:1.1.6.1. ‫ﺗﻌﺮﯾﻒ‬
.  (23)  22 ‫ و‬ (28)  12 : ‫ﻣ ﺎل‬
:‫ ﻓ ﻜﻮن‬n  p  p  ... p  ‫ إذا ﰷن ﯾﻨﺎ‬: 1.1.6.1 ‫ﻣﱪﻫﻨﺔ‬
1
1
2
2
r
r

r
 (n)   ( pi  pi 1 ) i i

i 1
:‫ ﻟﻨﻜ ﺐ ﺻﯿﻐﺔ ﺑﻊ ٔوﻟﺮ ﻠﻤﺜﺎل اﻟﺴﺎﺑﻖ‬: ‫ﻣ ﺎل‬
:‫ ﻓ ﻜﻮن‬28  2  7 ‫ﲟﺎ ٔن‬
2 1

r
 (28)   i 1 ( pi  pi 1 )  (22  21 )(71  70 )  2  6  12
i i

: ‫ﺪد ٔوﱄ ﻓ ﻜﻮن‬ 23 ‫ٔن‬ ‫ﲟﺎ‬


r
 (23)   i 1 ( pi  pi 1 )  (231  230 )  22
i i

: ‫ اﻟﻌﻼﻗﺔ ا ٓﺗﯿﺔ ﳏﻘﻘﺔ‬، gcd(a, n)  1 ‫ ﲝﯿﺚ‬a, n ‫ ﻣﻦ ٔ ﻞ ﰻ ا ٔ ﺪاد اﻟﺼﺤﯿ ﺔ اﳌﻮﺟ ﺔ‬: (‫ )ﻣﱪﻫﻨﺔ ٔوﻟﺮ‬1.1.6.2 ‫ﻣﱪﻫﻨﺔ‬

1
Titu Andrescu, Dorin Andrica. Number Theory structures, examples and problems. Springer, London, United Kingdom, 2010.
‫‪10‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫‪a ( n )  1mod n‬‬


‫ﻣ ﺎل ‪ :‬ﻣﻦ ٔ ﻞ ‪ ، a  5, n  24‬ﻧﻼﺣﻆ ٔن‪:‬‬
‫‪a ( n )  58  390625  16276  24  1  1mod 24‬‬
‫‪2‬‬
‫‪ 1.1.7‬ﻣﱪﻫﻨﺔ اﻟﺒﻮاﰶ اﻟﺼﯿ ﺔ‬
‫ﻣﱪﻫﻨﺔ‪) 1.1.7.1‬ﻣﱪﻫﻨﺔ اﻟﺒﻮاﰶ اﻟﺼﯿ ﺔ( ‪ :‬ﻟﺘﻜﻦ ‪ ٔ m , m ,..., m‬ﺪاد ﲱﯿ ﺔ ﻣﻮﺟ ﺔ ﲑ ‪1‬و ٔوﻟﯿﺔ ﻓ ﺑ ﳯﺎ ﻣ ﲎ ﻣ ﲎ‪ ،‬و‬
‫‪1‬‬ ‫‪2‬‬ ‫‪n‬‬

‫ﲈ ﻜﻦ ا ٔ ﺪاد اﻟﺼﺤﯿ ﺔ ‪ a , a ,..., a‬ا ﺘﻠﻔﺔ ﻋﻦ ‪ 0‬ﺗﻘ ﻞ ﲨ اﻟﺘﻄﺎﺑﻘﺎت اﳋﻄﯿﺔ‪:‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪r‬‬

‫‪x  ai mod mi : i  1, 2,..., r‬‬


‫ﻠﻮ ًﻻ‪ ،‬و ٔي اﺛﻨﲔ ﻣﻦ ﻫﺬﻩ اﳊﻠﻮل ﻣ ﻄﺎﺑﻘﺎن ﳌﻘﺎس ‪. m  m m ...m‬‬
‫‪1‬‬ ‫‪2‬‬ ‫‪r‬‬

‫ﻣ ﺎل ‪ :‬ﻟﻨ ﺪ ﻠﻮل ﲨ اﻟﺘﻄﺎﺑﻘﺎت اﳋﻄﯿﺔ ا ٓﺗﯿﺔ‪:‬‬


‫‪x  2 mod 3 x  1mod 4 x  3mod 5‬‬
‫ﰲ ﻫﺬﻩ اﳊﺎ ﯾﻨﺎ ‪ٔ ، m  2  3 4  60‬ي ﳚﺐ ٔن ﳒﺪ ًﻼ ﶺ اﻟﺘﻄﺎﺑﻘﺎت اﳋﻄﯿﺔ‪:‬‬
‫‪60‬‬ ‫‪60‬‬ ‫‪60‬‬
‫‪b1  1mod 3‬‬ ‫‪b2  1mod 4‬‬ ‫‪b3  1mod 5‬‬
‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬
‫و ﻫﺬا ﲀ إﳚﺎد ﻞ ﶺ اﻟﺘﻄﺎﺑﻘﺎت اﳋﻄﯿﺔ‪:‬‬
‫‪2b1  1mod 3 3b2  1mod 4 2b3  1mod 5‬‬
‫‪ b‬ﻓ ﻜﻮن‪:‬‬ ‫‪1‬‬ ‫‪ 2, b2  3, b3  3‬‬ ‫ﳓﺼﻞ ﲆ‬
‫‪x0  20  2  2  15  3 1  12  3  3  233‬‬
‫‪ .x‬و‬ ‫‪0‬‬ ‫‪ 53‬‬ ‫و ﲟﻨﺎ ٔن ﲨﯿﻊ اﳊﻠﻮل ﻣ ﻄﺎﺑﻘﺔ ﳌﻘﺎس ‪ ، 60‬ﻜﻔﻲ ٔن ﻧ ٔ ﺬ‬
‫ﺗﻌﻄﻰ ﰻ اﳊﻠﻮل ﻟﺼﯿﻐﺔ ‪. x  53  60k : k ‬‬
‫‪3‬‬
‫‪ 1.2‬ر ﺿﯿﺎت اﳌﻨﺤﻨﯿﺎت اﻟﻨﺎﻗﺼﯿﺔ‬
‫‪ 1.2.1‬ﻣﻌﺎد ﻣ ﺤﲏ ﻗﴢ‬

‫‪2‬‬
‫‪Titu Andrescu, Dorin Andrica. Number Theory structures, examples and problems.Springer, London, United Kingdom, 2010. Page 47.‬‬

‫‪3‬‬
‫‪Christof Paar, Jan Penzel. Understanding Cryptography. Springer, Heidelberg, Berlin, Germany, 2010.‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪11‬‬

‫ﺳ ﺪ ٔ ﻋﻄﺎء ﻣﻘﺪﻣﺔ ﻗﺼﲑة ﺣﻮل اﳌﺒﺪ ٔ اﻟﺮ ﴈ ﻠﻤﻨﺤﲏ اﻟﻨﺎﻗﴢ ﲟﻌﺰل ﻋﻦ ﺗﻄﺒﯿﻘﺎﺗﻪ اﻟ ﺸﻔﲑﯾﺔ‪ .‬ﺳ ﺪ ٔ ﺮﰟ اﳋﻂ اﻟﺒﯿﺎﱐ‬
‫‪2‬‬
‫ﻟﺒﻌﺾ ﻛﺜﲑات اﳊﺪود ﲟﺠﻬﻮﻟﲔ ﲆ اﳊﻘﻞ ‪.‬‬
‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬
‫ﻣ ﺎل ‪x  y  r :‬‬
‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬
‫ﻟﲊﰟ اﳌﻌﺎد ‪ x  y  r‬ﺑﺘﺎﺑﻌﯿﺔ ‪ ، x, y‬ﺳﺘ ﺞ ﯾﻨﺎ دا ﺮة ﻛﲈ ﰲ اﻟﺸﲁ‪:‬‬

‫‪2‬‬
‫ﺛﻮاﺑﺖ‪ ،‬ﺳﯿ ﺞ ﯾﻨﺎ اﻟﻘﻄﻊ اﻟﻨﺎﻗﺺ ﻛﲈ ﰲ‬ ‫‪a, b, c‬‬ ‫‪، ax‬ﺣ ﺚ‬ ‫اﻟﺸﲁ ‪ by 2  c‬‬ ‫ﻟﻨﻌﻤﻢ ﻣﻌﺎد ا ا ﺮة ﲝﯿﺚ ﺗﺼﺒﺢ ﻣﻦ‬
‫اﻟﺸﲁ ‪:‬‬
‫‪ 1.2.2‬ﺗﻌﺮﯾﻒ اﳌﻨﺤﲏ اﻟﻨﺎﻗﴢ‬
‫ﻛﲈ و ﺪ ﰲ اﳌﺜﺎﻟﲔ ٔ ﻼﻩ‪ ،‬ﳝﻜ ﻨﺎ اﳊﺼﻮل ﲆ ٔﻧﻮاع ﳐﺘﻠﻔﺔ ﻣﻦ‬
‫ا ٔﺷﲀل ﺑﺘﻐﯿﲑ ﺷﲁ اﳌﻌﺎد )ﺣ ﺚ ﻧﻌﲏ ﳌﻨﺤﲏ ﶍﻮ ﺔ اﻟﻨﻘﺎط‬
‫اﻟﱵ ﲢﻘﻖ ا ﺪاﺛﯿﺎﲥﺎ ﻣﻌﺎدﻟﺘﻪ( ﺣ ﺚ ﳝﻜ ﻨﺎ ﺑﻮﺿﻮح ﻣﻼﺣﻈﺔ ان‬
‫اﻟﻨﻘﻄﺔ )‪ (r , 0‬ﺗ ﳣﻲ ا ﺮة ٔﻣﺎ اﻟﻨﻘﻄﺔ )‪ (r 2, r 2‬ﻻ ﺗ ﳣﻲ ﻟﻬﺎ‪.‬‬
‫إن اﳌﻨﺤﲏ اﻟﻨﺎﻗﴢ ﻫﻮ ﺷﲁ ﺎص ﲢﺪدﻩ ﻣﻌﺎد ﺳﻨﺬ ﺮﻫﺎ ﰲ ﻫﺬا‬
‫اﻟﻔﺼﻞ‪ ،‬وﻟﻜﻦ ﺴ ﺐ ﺎﺟ ﻨﺎ ﰲ ﳎﺎل اﻟ ﺸﻔﲑ ﻻ ﻧﻌﺮﻓﻪ ﲆ ﺣﻘﻞ‬
‫ا ٔ ﺪاد اﳊﻘ ﻘ ﺔ‪ ،‬وٕاﳕﺎ ﲆ ﺣﻘﻞ ﺎﻟﻮا ﻟ ٔ ﺪاد ا ٔوﻟﯿﺔ )‪، GF ( p‬‬
‫وﻫﻮ اﳊﻘﻞ ا ٔﻛﱶ ﺷﯿﻮ ًﺎ ﻟﻼﺳﺘ ﺪام ﰲ ﳎﺎل اﻟ ﺸﻔﲑ ٔﻧﻪ ﻣﻦ‬
‫اﳌﻤﻜﻦ اﺟﺮاء اﻟﻌﻤﻠﯿﺎت اﳊﺴﺎﺑﯿﺔ ﻓ ﻪ ﳌﻘﺎس ‪. p‬‬
‫ﻫﻮ ﶍﻮ ﺔ اﻟﻨﻘﺎط ‪x, y‬‬ ‫ﺗﻌﺮﯾﻒ‪: 1.2.2.1‬اﳌﻨﺤﲏ اﻟﻨﺎﻗﴢ ﲆ‬
‫‪p‬‬

‫اﻟﱵ ﲢﻘﻖ اﳌﻌﺎد‬


‫‪y 2  x3  ax  b mod p‬‬
‫‪2‬‬ ‫‪2‬‬
‫ﺣ ﺚ ‪. 4a  27b T 0 mod p‬‬
‫ﻫﻨﺪﺳﯿ ًﺎ ‪ ،‬ﻻ ﺗﻌﱪ اﳌﻌﺎد اﳌﻮﺟﻮدة ٔ ﻼﻩ ﻋﻦ ﻣ ﺤﲏ ﻣﺴ ﳣﺮ وٕاﳕﺎ ﲆ ﶍﻮ ﺔ ﻧﻘﺎط ﻣ ﻨﺎ ﺮة‪ ،‬وﻟﻜﻦ ﻫﺬا ﻻ ﳝﻨﻊ ٔﺑﺪ ًا ﻣﻦ رﰟ‬
‫اﳌﻨﺤﲏ ﲆ ﺣﻘﻞ ا ٔ ﺪاد اﳊﻘ ﻘ ﺔ ﻣﻦ ٔ ﻞ ﺗﻨﻔ ﺬ اﻟﻌﻤﻠﯿﺎ ﻟﻬﻨﺪﺳﯿﺔ ﻠﯿﻪ ﺑ ﴪ ﰒ ﲢﻮﯾﻠﻬﺎ إﱃ ﲻﻠﯿﺎت ﱪﯾﺔ ﲤﻬﯿﺪ ًا ﻟﺘﻌﺮﯾﻒ‬
‫اﻟﺰﻣﺮة ا ا ﺮﯾﺔ‪.‬‬
‫ﻣ ﺎل ‪:‬ﻟﲊﰟ اﳌﻨﺤﲏ اﻟﻨﺎﻗﴢ اﳌﻌﺮف ﻟﺸﲁ ‪:‬‬
‫‪y 2  x3  3x  3‬‬
‫‪12‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫ﻻ ﳚﻌ ﺑﻌ ًﺎ وٕاﳕﺎ‬ ‫ﻠﻤﺤﻮر ' ‪xx‬‬ ‫ﳝﻜ ﻨﻨﺎ ﻣﻼﺣﻈﺔ اﻟﻜ ﲑ ﻣﻦ ا ٔﻣﻮر اﳌﺘﻌﻠﻘﺔ ﺮﰟ اﳌﻨﺤﲏ اﻟﻨﺎﻗﴢ‪ٔ .‬و ًﻻ إن ﺗﻨﺎﻇﺮﻩ ﻟ ﺴﺒﺔ‬
‫اﺟ ع ﺑﻌﲔ ﻫﲈ ‪:‬‬
‫‪3‬‬ ‫‪3‬‬
‫‪ y  x  3x  3‬و ‪y   x  3x  3‬‬
‫‪2‬‬ ‫‪1‬‬

‫ﻧﯿ ًﺎ ‪ :‬ﯾﻘﻄﻊ اﳌﻨﺤﲏ اﶈﻮر ' ‪ xx‬ﰲ ﻧﻘﻄﺔ وا ﺪة ﻓﻘﻂ وﻫﺬا ﯾﺪل ٔن ﻠﻤﻌﺎد‬
‫ﻞ ﺣﻘ ﻘﻲ وا ﺪ و ﻼن ﻋﻘﺪ ن‪ ،‬وﻫﲈ ﻟﻄﺒﻊ ﻟﻦ ﯾﻈﻬﺮا ﰲ ﻣﺴﺘﻮي‬
‫ا ٔ ﺪاد اﳊﻘ ﻘ ﺔ‪ ،‬وﻫﺬا ﻣﺎ ﯾﻘ ﻀﯿﻪ اﻟﴩط ‪. 4a  27b T 0 mod p‬‬
‫‪2‬‬ ‫‪2‬‬

‫ﻟﻨﻌﺪ ا ٓن إﱃ ﻫﺪﻓ ﺎ اﻟﺮﺋ ﴘ وﻫﻮ اﳊﺼﻮل ﲆ زﻣﺮة دا ﺮﯾﺔ ﻣﻦ اﳌﻨﺤﻨﯿﺎت‬


‫اﻟﻨﺎﻗﺼﯿﺔ‪ ،‬ﻧﻼﺣﻆ ٔﻧﻨﺎ ﰲ ﻫﺬا اﻟﻘﺴﻢ ﻗﺪ ﳃﻨﺎ ﳌﻬﻤﺔ ا ٔوﱃ وﱔ ﺗﻌﺮﯾﻒ‬
‫ﻋﻨﺎﴏ ا ﻤﻮ ﺔ اﻟﱵ ﻧ ﲏ ﻠﳱﺎ اﻟﺰﻣﺮة‪ .‬واﻟﺴﺆال اﻟﺘﺎﱄ ﻫﻮ‪" ،‬ﻣﺎ ﱔ‬
‫اﻟﻌﻤﻠﯿﺎت اﻟﺰﻣﺮﯾﺔ اﳌﻌﺮﻓﺔ ﲆ ﻫﺬﻩ اﻟﻨﻘﺎط؟"‬
‫‪ 1.2.3‬اﻟﻌﻤﻠﯿﺎت اﻟﺰﻣﺮﯾﺔ ﲆ اﳌﻨﺤﻨﯿﺎت‬
‫اﻟﻨﺎﻗﺼﯿﺔ‬
‫ﻧﻌﺮف ﲻﻠﯿﺔ اﶺﻊ وﻜ ﺐ اﻟﺮﻣﺰ " ‪ "‬ﰷﻟﺘﺎﱄ‪ :‬ﻟﺘﻜﻦ اﻟﻨﻘﻄﺘﺎن‬
‫) ‪ p  ( x , y ), p  ( x , y‬ﻣﻦ اﳌﻨﺤﲏ اﻟﻨﺎﻗﴢ‪ ،‬ﻜﻮن اﻟﻨﻘﻄﺔ‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬

‫‪ P  P  P‬ﻣﻦ اﳌﻨﺤﲏ اﻟﻨﺎﻗﴢ ﻧﻔﺴﻪ‪ ،‬وﻫﺬا ﻣﻦ ﴍوط اﻟﺰﻣﺮة‪.‬‬ ‫‪3‬‬ ‫‪1‬‬ ‫‪2‬‬

‫ﺳﻨﻘﻮم ٕﻋﻄﺎء اﻟﺘﻔﺴﲑ‬ ‫ﻟﻄﺒﻊ‪ ،‬إن ﻫﺬا اﻟﺘﻌﺮﯾﻒ ﻟ ﺲ ﻋﺸﻮاﺋﯿﺎ‪.‬‬


‫اﻟﻬﻨﺪﳼ ﻟﻬﺬﻩ اﻟﻌﻤﻠﯿﺎت ﰒ ﲢﻮﯾﻠﻬﺎ ٕاﱃ ﲻﻠﯿﺎت ﱪﯾﺔ‪.‬‬
‫ﲨﻊ ﻧﻘﻄﺘﲔ ﳐﺘﻠﻔ ﲔ ‪:‬‬
‫ﻋﻨﺪﻣﺎ ﳒﻤﻊ ﻧﻘﻄﺘﲔ ﳐﺘﻠﻔ ﲔ ﻣﻦ اﳌﻨﺤﲏ وﻟﺘﻜﻦ ‪ P, Q‬ﺮﰟ اﻟﻮﺮ ‪PQ‬‬
‫ﻓ ﻘﻄﻊ اﳌﻨﺤﲏ ﰲ ﻧﻘﻄﺔ وﻟﺘﻜﻦ ‪ ، R‬وﻟﺘﻜﻦ اﻟﻨﻘﻄﺔ ' ‪ R‬ﺻﻮرة ‪ R‬وﻓﻖ‬
‫اﻧﻌﲀس ﻟ ﺴﺒﺔ ﻠﻤﺤﻮر ' ‪ ، xx‬إن اﻟﻨﻘﻄﺔ ‪ R‬ﱔ ﰋ اﶺﻊ ‪. P  Q‬‬
‫ﻣﻀﺎﻋﻔﺔ ﻧﻘﻄﺔ ‪:‬‬
‫ﻋﻨﺪﻫﺎ ﻜﻮن ‪ ، P  Q‬ﻫﻨﺪﺳﯿ ًﺎ ﯾﺼﺒﺢ اﻟﻮﺮ ﺑﲔ اﻟﻨﻘﻄﺘﲔ ﳑﺎﺳ ًﺎ ﻣﻦ ﻧﻘﻄﺔ وا ﺪة‪ ،‬ﯾﻘﻄﻊ اﳌﻨﺤﲏ ﰲ ﻧﻘﻄﺔ‪ ،‬ﻧ ٔ ﺬ اﻟﻨﻈﲑة‬
‫ﻟ ﺴﺒﺔ ﻟـ ' ‪ ، xx‬و ﻟﺘﺎﱄ ﻟﺘﻜﻦ ﻫﺬﻩ اﻟﻨﻘﻄﺔ ﱔ ‪ R‬ﻟﺘﺎﱄ ‪. R  2 P‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪13‬‬

‫وﻛﲈ ﻫﻮ ﻣﻌﻠﻮم‪ ،‬ﻻ ﳝﻜ ﻨﺎ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻌﻤﻠﯿﺎت اﻟﻬﻨﺪﺳﯿﺔ ﰲ اﻟﻨﻈﺎم اﻟ ﺸﻔﲑي‪ ،‬إﳕﺎ ﳚﺐ ﲢﻮﯾﻠﻬﺎ إﱃ اﻟﺸﲁ اﳉﱪي‪ ،‬ﰒ ﺗﻌﺮﯾﻔﻬﺎ‬
‫ﲆ ﺣﻘﻞ ﺎﻟﻮا ﻟ ٔ ﺪاد ا ٔوﻟﯿﺔ‪ ،‬وﻫﻮ ﯾﻌﺪ ر ﺿﯿ ًﺎ ٔﻣﺮ ﺳﻬﻞ ﺳﻨﺬ ﺮ اﻟﺼﯿﻐﺔ ﻣ ﺎﴍة وﱔ ﰷﻟﺘﺎﱄ ‪:‬‬
‫اﶺﻊ واﳌﻀﺎﻋﻔﺔ ﰲ زﻣﺮة اﳌﻨﺤﻨﯿﺎت اﻟﺰاﺋﺪﯾﺔ ‪:‬‬
‫ﺣﺚ‪:‬‬ ‫) ‪R  ( xR , yR‬‬ ‫ﻟﺘﻜﻦ ﯾﻨﺎ اﻟﻨﻘﻄﺘﺎن ) ‪ . P  ( x , y ), Q  ( x , y‬ﺎﺻﻞ ﲨﻊ اﻟﻨﻘﻄﺘﲔ ﻫﻮ اﻟﻨﻘﻄﺔ‬
‫‪P‬‬ ‫‪P‬‬ ‫‪Q‬‬ ‫‪Q‬‬

‫‪xR  s 2  xP  xQ mod p‬‬


‫‪yR  s ( xP  xQ )  yP mod p‬‬
‫ﯾﻌﻄﻰ ﻟﺼﯿﻐﺔ ‪:‬‬ ‫‪S‬‬ ‫ﺣﺚ‬
‫‪ yQ  yP‬‬ ‫‪‬‬
‫‪‬‬ ‫‪mod p : P  Q ‬‬
‫‪ xQ  xP‬‬ ‫‪‬‬
‫‪s‬‬ ‫‪‬‬
‫‪3‬‬
‫‪ 3 xP  a mod p : P  Q ‬‬
‫‪ 2y‬‬ ‫‪‬‬
‫‪‬‬ ‫‪P‬‬ ‫‪‬‬

‫وﯾﻌﱪ ﻋﻦ ﻣ ﻞ اﳌﺴﺘﻘﲓ اﻟﻮاﺻﻞ ﺑﲔ اﻟﻨﻘﻄﺘﲔ ﰲ ﺎ اﶺﻊ‪ٔ ،‬و اﳌﲈس‬


‫اﳌﺮﺳﻮم ﻣﻦ اﻟﻨﻘﻄﺔ ﰲ ﺎ اﳌﻀﺎﻋﻔﺔ‪.‬‬
‫اﻟﻌﻨﴫ اﳊﯿﺎدي ‪ :‬ﻫﻮ اﻟﻌﻨﴫ ‪ E‬ا ي ﳛﻘﻖ ‪:‬‬
‫‪PE  P‬‬
‫وﯾﻌﺮف اﻟﻨﻈﲑ ﻛﺬ وﻓﻖ اﻟﻌﻼﻗﺔ ‪:‬‬
‫‪P  ( P)  E‬‬
‫وﺗﻘﻊ ﰲ اﻟﻼﳖﺎﯾﺔ‪.‬‬ ‫' ‪yy‬‬ ‫ﯾﻌﺮف اﻟﻌﻨﴫ اﳊﯿﺎدي ﺑ ٔﻧﻪ اﻟﻨﻘﻄﺔ اﻟﱵ ﺗ ﳣﻲ ﻟـ‬
‫ﻛﲈ ﺗﻌﺮف ﻧﻈﲑة ﻧﻘﻄﺔ وﻓﻖ اﻟﻌﻼﻗﺔ‪:‬‬
‫) ‪P  ( xP , y P )   P  ( x p , p  y p‬‬
‫وﻫﻮ ﻛﲈ ﰲ ﻫﺬا اﻟﺸﲁ‪:‬‬
‫‪ C : y‬ﻣ ﺤﻨﯿ ًﺎ زاﺋﺪ ً‪ .‬ﻣﺎ ﻫﻮ ﰋ ﻣﻀﺎﻋﻔﺔ اﻟﻨﻘﻄﺔ )‪ P  (5,1‬؟‬ ‫‪2‬‬
‫‪ x3‬‬ ‫ﻣ ﺎل ‪:‬ﻟﯿﻜﻦ ‪ 2 x  2 mod17‬‬

‫‪3 x 2  a 3  52  2‬‬
‫‪s‬‬ ‫‪‬‬ ‫‪ 73  21  13mod17‬‬
‫‪2y‬‬ ‫‪2 1‬‬

‫‪ x '  s 2  x  x  132  5  5  16 mod17‬‬


‫‪ y '  s ( x1  x ')  y  6  (5  6)  1  3mod17‬‬
‫وﻣﻪ‪:‬‬
‫‪14‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫)‪2 P  (6,3‬‬
‫وﳝﻜﻦ ﺑ ﺴﺎﻃﺔ اﻟﺘ ٔﻛﺪ ﻣﻦ ﲱﺔ اﳊﺴﺎ ت ﺑﺘﻌﻮﯾﻀﻬﺎ ﰲ اﳌﻌﺎد ا ٔﺳﺎﺳﯿﺔ‪.‬‬
‫ﻣﱪﻫﻨﺔ )ﻣﱪﻫﻨﺔ ﻫﺎس(‪ :‬ﰲ ٔي ﻣ ﺤﲎ ﻗﴢ ‪ C‬ﲆ ا ﻤﻮ ﺔ ‪ ،‬ﺗﺘﺤﻘﻖ اﻟﻌﻼﻗﺔ ‪:‬‬
‫‪p‬‬

‫‪p 1 2 p  #C  p 1 2 p‬‬

‫‪ 1.3‬ﻣﺴﺎﺋﻞ ٔﺳﺎﺳﯿﺔ ﰲ ﻧﻈﺮﯾﺔ ا ٔ ﺪاد‬


‫‪ 1.3.1‬ﻣﺴ ٔ اﻟﺘ ﻠﯿﻞ‬
‫‪1 ,  2 ,...,  r‬‬ ‫إذا ﰷن ﯾﻨﺎ ﺪد ﲱﯿﺢ ‪ٔ ، n‬و ﺪ ﲢﻠﯿ إﱃ ﻋﻮاﻣ ا ٔوﻟﯿﺔ‪ٔ .‬ي‪ٔ ،‬و ﺪ ا ٔ ﺪاد ا ٔوﻟﯿﺔ ‪ p , p ,..., p‬و‬
‫‪1‬‬ ‫‪2‬‬ ‫‪r‬‬

‫‪i‬‬‫ﲝﯿﺚ ﻜﻮن ‪ n  p  p  ... p ‬ﺣ ﺚ ‪ ٔ p‬ﺪاد ٔوﻟﯿﺔ ﳐﺘﻠﻔﺔ و ‪.   0‬‬


‫‪i‬‬ ‫‪1‬‬
‫‪1‬‬
‫‪2‬‬
‫‪2‬‬
‫‪r‬‬
‫‪r‬‬

‫‪n‬‬ ‫‪ 1.3.2‬ﻣﺴ ٔ اﳉﺬور اﻟﱰﺑﯿﻌﯿﺔ ﳌﻘﺎس‬


‫ﳌﻘﺎس ‪ٔ ، n‬ي ٔو ﺪ اﻟﻌﺪد اﻟﺼﺤﯿﺢ ‪ x‬ﲝﯿﺚ‬ ‫ل‪a‬‬ ‫إذا ﰷن ﯾﻨﺎ ﺪد ﲱﯿﺢ ﻣﺮﺐ ‪ a‬و ﻣﻘﺎس ‪ٔ ، n‬و ﺪ اﳉﺬر اﻟﱰﺑﯿﻌﻲ‬
‫‪2‬‬
‫‪. x  a mod n‬‬
‫‪ 1.3.3‬ﻣﺴ ٔ اﻠﻮ ﺎرﯾﱲ اﳌﺘﻘﻄﻊ‬
‫*‬ ‫*‬
‫‪ٔ ، a ‬و ﺪ اﻟﻌﺪد اﻟﺼﺤﯿﺢ ‪ x‬ﲝﯿﺚ‬ ‫‪p‬‬
‫و اﻟﻌﻨﴫ‬ ‫‪p‬‬
‫اﳌﻮ ل‬ ‫اﻟﻌﻨﴫ ‪‬‬ ‫إذا ﰷن ﯾﻨﺎ ﺪد ٔوﱄ ‪ p‬و‬
‫‪x‬‬
‫‪.   a mod p‬‬
‫‪ 1.3.4‬ﻣﺴ ٔ اﻠﻮ ﺎرﯾﱲ اﳌﺘﻘﻄﻊ اﳌﻮﺳﻌﺔ‬
‫إذا ﰷن ﯾﻨﺎ زﻣﺮة دا ﺮﯾﺔ ﻣ ﳤﯿﺔ ‪ G‬ﻣﻦ اﻟﺮﺗﺒﺔ ‪ n‬و اﻟﻌﻨﴫ ‪ ‬اﳌﻮ ل ‪ G‬و اﻟﻌﻨﴫ ‪ٔ ، a  G‬و ﺪ اﻟﻌﺪد اﻟﺼﺤﯿﺢ ‪ x‬ﲝﯿﺚ‬
‫‪x‬‬
‫‪.   a mod n‬‬
‫‪ 1.3.5‬ﻣﺴ ٔ اﻠﻮ ﺎرﯾﱲ اﳌﺘﻘﻄﻊ ﰲ اﳌﻨﺤﻨﯿﺎت اﻟﻨﺎﻗﺼﯿﺔ ‪:‬‬
‫‪ T‬ﻧﻘﻄﺔ ٔﺧﺮى‬ ‫إذا ﰷن اﳌﻨﺤﲏ اﻟﻨﺎﻗﴢ ‪ . C‬وﻟﯿﻜﻦ ‪ #C‬ﻫﻮ رﺗﺒﺔ ﻫﺬا اﳌﻨﺤﲏ‪ .‬وﻟﺘﻜﻦ ‪ P‬ﻧﻘﻄﺔ ﻣﻦ ﻫﺬا اﳌﻨﺤﲏ‪ .‬وﻟﺘﻜﻦ ﻛﺬ‬
‫ﻣﻦ اﳌﻨﺤﲏ‪ٔ .‬و ﺪ اﻟﻌﺪد اﻟﺼﺤﯿﺢ ‪ 1  d  # C‬ﲝﯿﺚ ‪. T  dP‬‬
‫‪ 1.3.6‬ﻣﺴ ٔ دﯾﻔﻲ‪-‬ﻫﯿﻠﲈن‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪15‬‬

‫‪a‬‬ ‫*‬ ‫*‬


‫‪ٔ ‬و ﺪ اﻟﻌﻨﴫ ‪. ‬‬
‫‪ab‬‬
‫‪, b ‬‬ ‫‪p‬‬
‫و اﻟﻌﻨﺎﴏ‬ ‫‪p‬‬
‫إذا ﯾﻨﺎ ﺪد ٔوﱄ ‪ p‬و اﻟﻌﻨﴫ ‪ ‬اﳌﻮ ل‬
‫‪ 1.3.7‬ﻣﺴ ٔ دﯾﻔﻲ‪-‬ﻫﯿﻠﲈن اﳌﻮﺳﻌﺔ‬
‫ٔو ﺪ اﻟﻌﻨﴫ ‪. ‬‬
‫‪ab‬‬
‫‪ a , b  G‬‬ ‫إذا ﰷن ﯾﻨﺎ زﻣﺮة دا ﺮﯾﺔ ﻣ ﳤﯿﺔ ‪ G‬ﻣﻦ اﻟﺮﺗﺒﺔ ‪ n‬و اﻟﻌﻨﴫ ‪ ‬اﳌﻮ ل ‪ G‬واﻟﻌﻨﺎﴏ‬
‫‪ 1.3.8‬ﻣﺴ ٔ ا ﻤﻮ ﺔ اﳉﺰﺋﯿﺔ‬
‫إذا ﰷن ﯾﻨﺎ ﶍﻮ ﺔ ﻣﻦ ا ٔ ﺪاد اﻟﺼﺤﯿ ﺔ ‪ A  a , a ,..., a ‬و اﻟﻌﺪد اﻟﺼﺤﯿﺢ ‪ ، s‬ﺪد ﻣﺎ إذا و ﺪت ﶍﻮ ﺔ ﺟﺰﺋﯿﺔ‬
‫‪1‬‬ ‫‪2‬‬ ‫‪n‬‬

‫‪ A '  A‬ﲝﯿﺚ ﻜﻮن ﶍﻮ ﺔ ﻋﻨﺎﴏ ' ‪ A‬ﺴﺎوي ‪. s‬‬


‫‪ 1.4‬ﻣ ﺎدئ اﳉﱪ ا ﺮد‬
‫ﺗﻠﻌﺐ ﻧﻈﺮﯾﺔ اﻟﺰﻣﺮ دور ًا ﲈً ﰲ اﻟﺮ ﺿﯿﺎت اﻟﺒﺤﺘﺔ واﻟﺘﻄﺒﯿﻘ ﺔ وﺗﺘﺼﻞ ﻛﺬ ﻣﻊ اﻟﻔﲒ ء واﻟﻜﳰﯿﺎء اذ ﺗﻌﺪ اﻟﻮﺳﯿ اﻟﱵ ﳝﻜﻦ‬
‫ﻣﻦ ﻼﻟﻬﺎ ﺮﲨﺔ ٔي ﻓﺮع ﺪﯾﺪ ﰲ اﻟﺮ ﺿﯿﺎت إﱃ ﻣﻮﺿﻮع ﻣﻔﻬﻮم ﳝﻜﻦ ﺴﻬﻮ رﺑﻄﻪ ﻣﻊ ﺑﻘ ﺔ اﳌﻮاﺿﯿﻊ ‪،‬ﺗ ﺴﺐ ﻧﻈﺮﯾﺔ اﻟﺰﻣﺮ‬
‫إﱃ ﻻﻏﺮاﱋ وﻓ ﺪرﻣﻮﻧﺪ ٔﻣﺎ ٔول ﻣﻦ اﺳﺘ ﺪم ﻣﺼﻄﻠﺢ اﻟﺰﻣﺮة ٔو ‪ group‬ﻓﻬﻮ اﻟﻔﺮﴘ اﯾﻔﺮﺳﺖ ﺎﻟﻮا ﺎم ‪.1771‬‬
‫ﺮﺗﺒﻂ ﻧﻈﺮﯾﺔ اﻟﺰﻣﺮ ﻣﻊ اﻟ ﺸﻔﲑ ﺸﲁ ﺒﲑ إذ ٔن ٔي ﻧﻈﺎم ﺸﻔﲑي ﲑ ﻣ ﻨﺎﻇﺮ ﯾ ﲎ ﲆ زﻣﺮة دا ﺮﯾﺔ ﺎﺻﺔ ‪ ،‬ﯾ ﻐﻲ‬
‫دراﺳﺔ ٔﺳﺲ ﻧﻈﺮﯾﺔ اﻟﺰﻣﺮ ﻣﻦ ٔ ﻞ ﻓﻬﻢ ﻼﻗﳤﺎ ﻟ ﺸﻔﲑ وﯿﻔ ﺔ اﳊﺼﻮل ﲆ ﻧﻈﺎم ﺸﻔﲑي ‪.‬‬
‫‪ 1.4.1‬اﻟﻌﻼﻗﺎت اﻟﺜﻨﺎﺋﯿﺔ‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.1.1‬اﻟﻌﻼﻗﺔ اﻟﺜﻨﺎﺋﯿﺔ ﱔ ٔي وﺳﯿ ﺴﺘ ﺪم ﻠﺮﺑﻂ ﺑﲔ ﻋﻨﴫﻦ ﻟﺘﻜﻮن اﻟﻨ ﺔ ﱔ ﻗﻀﯿﺔ ر ﺿﯿﺔ‪ .‬و ﺮﻣﺰ ﻟﻬﺎ‬
‫ﺎدة ﻟﺮﻣﻮز ‪. R, r ,...‬‬
‫ﻣ ﺎل ‪ "  ","  ","  ",... :‬ﳇﻬﺎ ﻼﻗﺎت ﺛﻨﺎﺋﯿﺔ‪.‬‬
‫ﻓ ﯾﲇ ﻧﻮرد اﻟﺼﻔﺎت ا ٔﺳﺎﺳﯿﺔ ﻠﻌﻼﻗﺎت اﻟﺜﻨﺎﺋﯿﺔ‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.1.2‬اﻟﻌﻼﻗﺔ ﻧﻌﲀﺳﯿﺔ ﱔ ﻼﻗﺔ ﲢﻘﻖ ‪. a  A  aRa‬‬
‫ﻣ ﺎل ‪ :‬ﻼﻗﺔ ﻗﺎﺑﻠﯿﺔ اﻟﻘﺴﻤﺔ ﱔ ﻼﻗﺔ اﻧﻌﲀﺳﯿﺔ‪ٔ ،‬ن ‪. a   a a‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.1.3‬اﻟﻌﻼﻗﺔ اﻟﺘﻨﺎﻇﺮﯾﺔ ﱔ ﻼﻗﺔ ﲢﻘﻖ ‪. a, b  A, aRb  bRa‬‬
‫ﻣ ﺎل ‪ :‬ﻼﻗﺔ اﳌﺴﺎواة ﱔ ﻼﻗﺔ ﺗﻨﺎﻇﺮﯾﺔ‪ٔ ،‬ن ‪. a, b  , a  b  b  a‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.1.4‬اﻟﻌﻼﻗﺔ اﳌﺘﻌﺪﯾﺔ ﱔ ﻼﻗﺔ ﲢﻘﻖ )‪. a, b, c  A, (aRb)  (bRc)  (aRc‬‬
‫ﻣ ﺎل ‪ :‬ﻼﻗﺔ اﻟﱰاﰕ ﱔ ﻼﻗﺔ ﻣ ﻌﺪﯾﺔ‪ٔ ،‬ن ‪. x, y, z  , ( x  y)  ( y  z )  x  z‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.1.5‬اﻟﻌﻼﻗﺔ اﻟﺘ ﺎﻟﻔ ﺔ ﱔ ﻼﻗﺔ ﲢﻘﻖ ‪. x, y  A, ( xRy )  ( yRx)  x  y‬‬
‫‪16‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫‪. a, b ‬‬ ‫‪, ( a  b )  (b  a )  a  b‬‬‫ﻣ ﺎل ‪ :‬ﻼﻗﺔ اﻟﱰاﰕ ﱔ ﻼﻗﺔ ﲣﺎﻟﻔ ﺔ‪ٔ ،‬ن‬
‫و ا ٓن ﻧﻮرد ﺑﻌﺾ ٔﻧﻮاع اﻟﻌﻼﻗﺎت اﻟﺜﻨﺎﺋﯿﺔ‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.1.6‬ﻼﻗﺔ اﻟﺘﲀﻓﺆ ﱔ ﻼﻗﺔ اﻧﻌﲀﺳﯿﺔ و ﺗﻨﺎﻇﺮﯾﺔ و ﻣ ﻌﺪﯾﺔ‪.‬‬
‫ﻣ ﺎل ‪ :‬ﻼﻗﺔ اﻟﺘﲀﻓﺆ ﳌﻘﺎس ‪ n‬ﱔ ﻼﻗﺔ ﲀﻓﺆ‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.1.6‬ﻼﻗﺔ اﻟﱰﺗ ﺐ ﱔ ﻼﻗﺔ اﻧﻌﲀﺳﯿﺔ و ﲣﺎﻟﻔ ﺔ و ﻣ ﻌﺪﯾﺔ‪.‬‬
‫ﻣ ﺎل ‪ :‬ﻼﻗﺔ اﻟﱰاﰕ ﱔ ﻼﻗﺔ ﺮﺗ ﺐ‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.1.7‬ﻼﻗﺔ اﻟﱰﺗ ﺐ اﳉﺰﰄ ﱔ ﻼﻗﺔ ﺮﺗ ﺐ ﲆ ﶍﻮ ﺔ ‪ A‬ﲢﻘﻖ ‪. a, b  A, aRb‬‬
‫ﻣ ﺎل ‪ :‬ﻼﻗﺔ " ‪ x‬ﻣﻀﺎﻋﻒ ل ‪ " y‬ﱔ ﻼﻗﺔ ﺮﺗ ﺐ ﺟﺰﰄ ﲆ ا ﻤﻮ ﺔ ‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.1.8‬ﻼﻗﺔ اﻟﱰﺗ ﺐ اﻟﳫﻲ ﱔ ﻼﻗﺔ ﺮﺗ ﺐ ﲆ ﶍﻮ ﺔ ‪ A‬ﲢﻘﻖ )‪. a, b  A, (aRb)  (bRa‬‬
‫ﻣ ﺎل ‪ :‬ﻼﻗﺔ اﻟﱰاﰕ ﱔ ﻼﻗﺔ ﺮﺗ ﺐ ﳇﻲ ﲆ ا ﻤﻮ ﺔ ‪.‬‬
‫‪ 1.4.2‬ﻗﻮاﻧﲔ اﻟ ﺸﻜ ﻞ )اﻟﻌﻤﻠﯿﺎت(‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.2.1‬ﻗﺎﻧﻮن اﻟ ﺸﻜ ﻞ ﻫﻮ ﲻﻠﯿﺔ ﲆ ﻋﻨﴫ ٔو ٔﻛﱶ ﻟﻨﺤﺼﻞ ﲆ ﻋﻨﴫ ﺪﯾﺪ‪ .‬و ﺮﻣﺰ ﻟﻬﺎ ﺎدة ‪. *, T ,...‬‬
‫ﻣ ﺎل ‪ :‬اﻟﻌﻤﻠﯿﺎت ‪ , , ,...‬ﱔ ﻗﻮاﻧﲔ ﺸﻜ ﻞ‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.2.2‬ﻗﺎﻧﻮن اﻟ ﺸﻜ ﻞ ا ا ﲇ ﻫﻮ ﻗﺎﻧﻮن ﺸﻜ ﻞ ﻣﻌﺮف ﲆ ﶍﻮ ﺔ ‪ A‬ﲝﯿﺚ ‪. a, b  A, aTb  A‬‬
‫ﻣ ﺎل ‪ :‬ﻗﺎﻧﻮن اﻟ ﺸﻜ ﻞ " ‪ "‬ﻫﻮ ﻗﺎﻧﻮن ﺸﻜ ﻞ دا ﲇ ﲆ ا ﻤﻮ ﺔ ‪.‬‬
‫ﻣﻦ ا ٓن ﻓﺼﺎ ﺪ ًا ﺳﻨﺪﻋﻮ "ﻗﺎﻧﻮن اﻟ ﺸﻜ ﻞ" ب"اﻟﻌﻤﻠﯿﺔ" ﻠﺴﻬﻮ ‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.2.3‬اﻟﻌﻤﻠﯿﺔ اﻟﺘﺒﺪﯾﻠﯿﺔ ﱔ ﲻﻠﯿﺔ ‪ T‬ﻣﻌﺮﻓﺔ ﲆ ﶍﻮ ﺔ ﲆ ‪ A‬ﲢﻘﻖ ‪. a, b  A, aTb  bTa‬‬
‫ﻣ ﺎل ‪ :‬ﲻﻠﯿﺔ " ‪ "‬اﳌﻌﺮﻓﺔ ﲆ ا ﻤﻮ ﺔ ﱔ ﲻﻠﯿﺔ ﺗﺒﺪﯾﻠﯿﺔ‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.2.3‬اﻟﻌﻤﻠﯿﺔ اﻟﺘﺠﻤﯿﻌﯿﺔ ﱔ ﲻﻠﯿﺔ ‪ T‬ﻣﻌﺮﻓﺔ ﲆ ﶍﻮ ﺔ ﲆ ‪ A‬ﲢﻘﻖ )‪. a, b, c  A, (aTb)Tc  aT (bTc‬‬
‫ﻣ ﺎل ‪ :‬ﲻﻠﯿﺔ " ‪ "‬اﳌﻌﺮﻓﺔ ﲆ ا ﻤﻮ ﺔ ﱔ ﲻﻠﯿﺔ ﲡﻤﯿﻌﯿﺔ‪.‬‬
‫‪ 1.4.3‬اﻟﺒﲎ اﳉﱪﯾﺔ‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.3.1‬اﻟﺒ ﺔ اﳉﱪﯾﺔ ﱔ ﺛﻨﺎﺋﯿﺔ ) ‪ ( A, T‬ﲝﯿﺚ ‪ A‬ﶍﻮ ﺔ و ‪ T‬ﻗﺎﻧﻮن ﺸﻜ ﻞ دا ﲇ ﲆ ‪. A‬‬
‫ﻣ ﺎل ‪ ( , ) :‬ﱔ ﺑ ﺔ ﱪﯾﺔ‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.3.2‬ﻟﺘﻜﻦ ﯾﻨﺎ اﻟﺒ ﺔ اﳉﱪﯾﺔ ) ‪ ، ( A, T‬اﻟﻌﻨﴫ اﳊﯿﺎدي ا ﳰﯿﲏ ﻟ ﺴﺒﺔ ﻠﻌﻤﻠﯿﺔ ‪ T‬ﻫﻮ ﻋﻨﴫ ‪ e  A‬ﳛﻘﻖ‬
‫‪ . a  A, aTe  a‬و ﻛﺬ اﻟﻌﻨﴫ اﳊﯿﺎدي اﻟ ﺴﺎري ﻟ ﺴﺒﺔ ﻠﻌﻤﻠﯿﺔ ‪ T‬ﻫﻮ ﻋﻨﴫ ‪ e  A‬ﳛﻘﻖ ‪. a  A, eTa  a‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪17‬‬

‫و ﻫﻮ ﺣ ﺎدي ﳝﯿﲏ و ﺣ ﺎدي‬ ‫ﺗﻌﺮﯾﻒ ‪ : 1.4.3.3‬ﻟﺘﻜﻦ ﯾﻨﺎ اﻟﺒ ﺔ اﳉﱪﯾﺔ ) ‪ ، ( A, T‬اﻟﻌﻨﴫ اﳊﯿﺎدي ﻫﻮ‬
‫ﻋﻨﴫ ‪e  A‬‬
‫ﺴﺎري‪.‬‬
‫ﻣ ﺎل ‪ :‬اﻟﻌﻨﴫ "‪ "1‬ﻫﻮ ﺣ ﺎدي ﻟ ﺴﺒﺔ ﻠﻌﻤﻠﯿﺔ " ‪ "‬ﰲ اﻟﺒ ﺔ )‪. ( , ‬‬
‫‪ a‬ﳛﻘﻖ‬ ‫‪1‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.3.4‬ﻟﺘﻜﻦ ﯾﻨﺎ اﻟﺒ ﺔ اﳉﱪﯾﺔ ) ‪ ، ( A, T‬ﻧﻈﲑ اﻟﻌﻨﴫ ‪ a‬ﻟ ﺴﺒﺔ ﻠﻌﻤﻠﯿﺔ ‪ T‬ﻫﻮ ﻋﻨﴫ ‪ A‬‬
‫‪1‬‬
‫‪. aTa  e‬‬
‫ﻣ ﺎل ‪ :‬اﻟﻌﻨﴫ "‪ " 7‬ﻫﻮ ﻧﻈﲑ اﻟﻌﻨﴫ ‪ 7‬ﰲ اﻟﺒ ﺔ )‪. ( , ‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.3.5‬اﻟﺰﻣﺮة ) ‪ ( A, T‬ﱔ اﻟﺒ ﺔ ﱪﯾﺔ ) ‪ ( A, T‬اﻟﺘ ﺤﻘﻖ ‪:‬‬
‫‪ T -‬ﲻﻠﯿﺔ ﺗﺒﺪﯾﻠﯿﺔ‪.‬‬
‫‪ T -‬ﲻﻠﯿﺔ ﲡﻤﯿﻌﯿﺔ‪.‬‬
‫‪ -‬ﻟﲁ ﻋﻨﴫ ‪ a  A‬ﻧﻈﲑ ‪ a  A‬ﻟ ﺴﺒﺔ ﻠﻌﻤﻠﯿﺔ ‪. T‬‬
‫‪1‬‬

‫ﻣ ﺎل ‪ ( , ) :‬ﱔ زﻣﺮة‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.3.6‬اﻟﺰﻣﺮة اﻟﺘﺒﺪﯾﻠﯿﺔ ﱔ زﻣﺮة ) ‪ ( A, T‬ﲝﯿﺚ ‪ T‬ﲻﻠﯿﺔ ﺗﺒﺪﯾﻠﯿﺔ‪.‬‬
‫ﻣ ﺎل ‪ ( , ) :‬ﱔ زﻣﺮة ﺗﺒﺪﯾﻠﯿﺔ‪.‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.3.7‬اﻟﺰﻣﺮة اﳌﻨﳤﯿﺔ ﱔ زﻣﺮة ) ‪ ( A, T‬ﻓﳱﺎ ‪. A ‬‬
‫ﺗﻌﺮﯾﻒ ‪ : 1.4.3.8‬رﺗﺒﺔ زﻣﺮة ﱔ ﺪد ﲱﯿﺢ ﻣﻮﺟﺐ ‪. O ( A, T )  A‬‬
‫‪O‬‬
‫)‪(a‬‬
‫‪‬‬
‫‪. aTaT ...Ta  e‬‬ ‫ﺗﻌﺮﯾﻒ ‪ : 1.4.3.9‬ﻟﺘﻜﻦ ﯾﻨﺎ زﻣﺮة ) ‪ . ( A, T‬رﺗﺒﺔ اﻟﻌﻨﴫ ‪ a  A‬ﱔ ٔﺻﻐﺮ ﺪد ﲱﯿﺢ )‪ O(a‬ﳛﻘﻖ‬
‫ﻣ ﺎل ‪ :‬ﻟﺘﻜﻦ ﯾﻨﺎ اﻟﺰﻣﺮة )‪ . (1, 2,...,7 ,  mod 7‬رﺗﺒﺔ اﻟﻌﻨﴫ ‪ a  2‬ﱔ ‪ٔ O(2)  3‬ن ‪. 2  8  1  e mod 7‬‬
‫‪3‬‬

‫‪‬‬
‫‪n‬‬
‫‪‬‬
‫‪. a  A, aTaT ...Ta  e‬‬ ‫ﻣﱪﻫﻨﺔ ‪ : 1.4.3.1‬رﺗﺒﺔ زﻣﺮة ﻣﺎ ) ‪ ( A, T‬ﱔ ٔﺻﻐﺮ ﺪد ﲱﯿﺢ ‪ n‬ﳛﻘﻖ‬
‫ﻣﱪﻫﻨﺔ ‪) 1.4.3.2‬ﻣﱪﻫﻨﺔ ﻻﻏﺮاﱋ( ‪ :‬رﺗﺒﺔ ٔي ﻋﻨﴫ ﰲ زﻣﺮة ﺗﻘﺴﻢ رﺗﺒﺔ اﻟﺰﻣﺮة‪.‬‬
‫) ‪ ( A, T‬و ﻜ ﺐ‬ ‫ﺗﻌﺮﯾﻒ ‪ :‬ﻟﺘﻜﻦ ﯾﻨﺎ اﻟﺰﻣﺮ ن ) ‪ ( A, T‬و ) ‪ . ( B, T‬ﻧﻘﻮل ﻋﻦ اﻟﺰﻣﺮة ) ‪ٔ ( B, T‬ﳖﺎ زﻣﺮة ﺟﺰﺋﯿﺔ ﻣﻦ اﻟﺰﻣﺮة‬
‫‪ A  B‬إذا و ﻓﻘﻂ إذا ‪. B  A‬‬
‫ﺧﻮاص اﻟﺰﻣﺮ اﳉﺰﺋﯿﺔ ‪:‬‬
‫‪ -1‬ﺣ ﺎدي اﻟﺰﻣﺮة ) ‪ ( B, T‬ﻫﻮ ﻧﻔﺴﻪ ﺣ ﺎدي اﻟﺰﻣﺮة ) ‪. ( A, T‬‬
‫‪ -2‬ﻧﻈﲑ ٔي ﻋﻨﴫ ﻣﻦ ‪ B‬ﰲ ) ‪ ( B, T‬ﻫﻮ ذاﺗﻪ ﰲ ) ‪. ( A, T‬‬
‫ﻣ ﺎل ‪ (2 ,  mod n) :‬ﱔ زﻣﺮة ﺟﺰﺋﯿﺔ ﻣﻦ )‪. ( ,  mod n‬‬
‫ﻣﱪﻫﻨﺔ ‪ :‬اﻟﴩط اﻟﻼزم و اﻟﲀﰲ ﻟﺘﻜﻮن ) ‪ ( B, T‬زﻣﺮة ﺟﺰﺋﯿﺔ ﻣﻦ ) ‪ ( A, T‬ﻫﻮ ‪:‬‬
‫‪18‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫)‪(a, b  B, aTb  B )  (a  B, a 1  B‬‬


‫ﻣﱪﻫﻨﺔ ‪ :‬اﻟﴩط اﻟﻼزم و اﻟﲀﰲ ﻟﺘﻜﻮن ) ‪ ( B, T‬زﻣﺮة ﺟﺰﺋﯿﺔ ﻣﻦ ) ‪ ( A, T‬ﻫﻮ ‪:‬‬
‫‪x, y  B, xTy 1  B‬‬

‫‪ 1.4.4‬ا ﻤﻮ ﺔ اﳌﻮ ة ﻟﺰﻣﺮة‬


‫ﺗﻌﺮﯾﻒ ‪ :‬ﻧﻘﻮل ﻋﻦ ا ﻤﻮ ﺔ ' ‪ٔ A‬ﳖﺎ ﶍﻮ ﺔ ﻣﻮ ة ﻠﺰﻣﺮة ) ‪ ( A, T‬إذا ‪:‬‬
‫‪x  A, a1 , a2 ,, ak  A : k  N, n1 , n2 ,, nk  N ‬‬
‫‪x  a1n1 Ta2 n2 T Tak nk‬‬

‫‪ 1.4.5‬اﻟﺰﻣﺮة ا ا ﺮﯾﺔ اﳌﻮ ة ﲟﺠﻤﻮ ﺔ‬


‫ﻟﺘﻜﻦ ﯾﻨﺎ اﻟﺰﻣﺮة ) ‪ . ( A, T‬إذا اﺣ ﻮت ا ﻤﻮ ﺔ ' ‪ A‬اﳌﻮ ة ﻠﺰﻣﺮة ) ‪ ( A, T‬ﲆ ﻋﻨﴫ وا ﺪ وﻫﻮ ‪ٔ ‬ي ٔن ‪:‬‬
‫}‪A  { n : n  N‬‬
‫ﺣ ﺚ اﻟﺰﻣﺮة ) ‪ ( A, T‬ﺗﺒﺪﯾﻠﯿﺔ ﻟﴬورة ‪.‬‬
‫ﻣ ﺎل ‪ :‬ﻟﯿﻜﻦ ‪ ‬ﻣﻮ اﻟﺰﻣﺮة )‪ ، ( ,  mod n‬ﻟﺘﺎﱄ ﳝﻜﻦ ﻛﺘﺎﺑﺔ‬
‫}‪N n  {1,  ,  ,  n 1‬‬

‫‪ 1.5‬ﺧﻮارزﻣ ﺎت ٔﺳﺎﺳﯿﺔ‬
‫‪ 1.5.1‬اﳋﻮارزﻣ ﺔ اﻻٕﻗﻠﯿﺪﯾﺔ‬
‫اﳋﻮارزﻣ ﺔ اﻻٕﻗﻠﯿﺪﯾﺔ ﱔ اﻟﻄﺮﯾﻘﺔ ا ٔﻣ ﻞ و ا ٔﻛﱶ ﻛﻔﺎءة ﳊﺴﺎب اﻟﻘﺎﰟ اﳌﺸﱰك ا ٔﻛﱪ ﻟﻌﺪد ﻦ ﻣﻌﻠﻮﻣﲔ‪ .‬و ﱔ ﻣ ﯿﻨﺔ ﲆ‬
‫اﳊﻘ ﻘﺔ ا ٓﺗﯿﺔ ‪:‬‬
‫ﻣﱪﻫﻨﺔ ‪. gcd(a, b)  gcd(a  b, b) :‬‬
‫ﻜﺮر ﺗﻄﺒﯿﻖ ﻫﺬﻩ اﳋﺎﺻﯿﺔ ﻟﻨﺤﺼﻞ ﲆ ‪:‬‬
‫)‪gcd( a, b)  gcd( a  b, b)  gcd( a  2b, b)  ...  gcd( a  nb, b‬‬
‫ﻃﺎﳌﺎ ‪ٔ ، a  nb‬ي ﳫﲈت ٔﺧﺮى ‪:‬‬
‫)‪gcd( a, b)  gcd( a mod b, b‬‬
‫ﻟﻨﺪﻋﻮ ‪ a mod b‬ب ‪ ، r‬ﻜﺮر اﻟﻌﻤﻠﯿﺔ ﻣﺮة ٔﺧﺮى ‪:‬‬
‫‪1‬‬

‫) ‪gcd(a mod b, b)  gcd(b, r1 )  gcd(b mod r1 , r1‬‬


‫و ﺑﻌﺪ ﺪد ﳖﺎﰄ ﻣﻦ اﻟﻌﻤﻠﯿﺎت اﳌﲈﺛ ﳓﺼﻞ ﲆ ‪:‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪19‬‬

‫‪gcd(a, b)  gcd(rl , 0)  rl‬‬


‫ﻣ ﺎل ‪ :‬ﻟﻨﻮ ﺪ اﻟﻘﺎﰟ اﳌﺸﱰك ا ٔﻛﱪ ﻠﻌﺪ ﻦ ‪. 832, 78‬‬
‫‪a‬‬ ‫‪b‬‬ ‫‪r‬‬
‫‪832‬‬ ‫‪78‬‬ ‫‪52‬‬
‫‪78‬‬ ‫‪52‬‬ ‫‪26‬‬

‫‪52‬‬ ‫‪26‬‬ ‫‪0‬‬

‫اﳋﻮارزﻣ ﺔ ‪ : 1.5.1‬اﳋﻮارزﻣ ﺔ اﻻٕﻗﻠﯿﺪﯾﺔ ‪:‬‬


‫ا ﻞ ‪ :‬اﻟﻌﺪد ﻦ اﻟﺼﺤﯿ ﲔ ‪. a, b‬‬
‫اﳋﺮج ‪. gcd(a, b) :‬‬
‫اﳋﻮارزﻣ ﺔ ‪:‬‬
‫‪1. while a  0 and b  0‬‬
‫‪1.1 if a  b‬‬
‫‪1.1.1 a  a - b‬‬
‫‪1.2 else‬‬
‫‪1.2.1 b  b - a‬‬
‫‪2. if a  0‬‬
‫‪return a‬‬
‫‪3. else‬‬
‫‪return b‬‬

‫‪4‬‬
‫‪ 1.5.2‬اﳋﻮارزﻣ ﺔ اﻻٕﻗﻠﯿﺪﯾﺔ اﳌﻤﺪدة‬
‫اﳋﻮارزﻣ ﺔ اﻻٕﻗﻠﯿﺪﯾﺔ اﳌﻤﺪة ﱔ اﳋﻮارزﳝﺔ ا ٔﻣ ﻞ إذا ٔرد ٔن ﳓﺴﺐ اﳌﻌﻜﻮﺳﺎت اﻟﴬﺑﯿﺔ ﳌﻘﺎس ‪ . n‬ﻓﻬ ﻲ‪ ،‬إﱃ ﺎﻧﺐ‬
‫ﺣﺴﺎب اﻟﻘﺎﰟ اﳌﺸﱰك ﻟﻌﺪد ﻦ ﻣﻌﻠﻮﻣﲔ ‪ ، a, b‬ﺗﻌﱪ ﻋﻨﻪ ﻛﱰﯿﺐ ﺧﻄﻲ ل ‪ a‬و ‪ b‬ﻟﺼﯿﻐﺔ‪:‬‬
‫‪gcd( a, b)   a   b :  ,  ‬‬

‫‪4‬‬
‫‪A. Menezes, P. VanOorschot, S. Vanstone. Handbook of Applied Cryptography. CRC press, Boca Raton, Florida, USA, 1997. Page 67.‬‬
‫‪20‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫اﻟﺴﺆال ﻫﻮ‪ ،‬ﯿﻒ ﻧﻘﻮم ﲝﺴﺎب ا ٔﻣ ﺎل ‪  , ‬؟ اﻟﻔﻜﺮة وراء اﳋﻮارزﻣ ﺔ اﳌﻤﺪة ﱔ ﺗﻨﻔ ﺬ اﳋﻮارزﻣ ﺔ اﻻٕﻗﻠﯿﺪﯾﺔ‪ ،‬ﻟﻜﻦ‪ ،‬ﲁ‬
‫ﻣﺮ ‪ ،‬ﻧﻌﱪ ﻋﻦ اﻟﺒﺎﰶ ‪ r‬ﻛﱰﯿﺐ ﺧﻄﻲ ل ‪ a‬و ‪ b‬ﻟﺼﯿﻐﺔ‪:‬‬ ‫‪i‬‬

‫‪ri   i a   i b‬‬
‫ﻣ ﺎل ‪ :‬ﺳ ﻈﺮ إﱃ ﺗﻨﻔ ﺬ اﳋﻮارزﻣ ﺔ اﻻٕﻗﻠﯿﺪﯾﺔ اﳌﻤﺪة ﺑﻨﻔﺲ اﻟﻘﲓ اﻟﺴﺎﺑﻘﺔ ‪. 832, 78‬‬
‫‪ai‬‬ ‫‪bi‬‬ ‫‪ri‬‬ ‫‪ai  2  qbi 1  ri‬‬ ‫‪ri   i a   i b‬‬

‫‪832‬‬ ‫‪78‬‬ ‫‪52‬‬ ‫‪832  10  78  52‬‬ ‫‪52  a   10  b‬‬

‫‪78‬‬ ‫‪52‬‬ ‫‪26‬‬ ‫‪78  52  26‬‬ ‫‪26  78  52‬‬


‫)‪ b  (a   10 b‬‬
‫‪  1 a  11 b‬‬

‫‪52‬‬ ‫‪26‬‬ ‫‪0‬‬ ‫‪52  2  26  0‬‬ ‫ﻫﻨﺎ ا ﳤ ﻰ ﺗﻨﻔ ﺬ اﳋﻮارزﻣ ﺔ‬

‫اﳋﻮارزﻣ ﺔ ‪ : 1.5.2‬اﳋﻮارزﻣ ﺔ اﻻٕﻗﻠﯿﺪﯾﺔ اﳌﻤﺪدة ‪:‬‬


‫ا ﻞ ‪ :‬ا ٔ ﺪاد اﻟﺼﺤﯿ ﺔ ‪ r , r‬ﺣ ﺚ ‪. r  r‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬

‫اﳋﺮج ‪ :‬ا ٔ ﺪاد اﻟﺼﺤﯿ ﺔ ‪  , ‬ﲝﯿﺚ ‪. gcd(r , r )   r   r‬‬


‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬

‫اﳋﻮارزﻣ ﺔ ‪:‬‬
‫‪1. if b  0‬‬
‫)‪1.1 return (1, 0‬‬
‫‪2. i  1,  0  1,  0  0, 1  0,  1  0‬‬
‫‪3. while b  0‬‬
‫‪3.1 q   a b  , r  a - qb‬‬
‫‪3.2    0  q1 ,    0  q 1‬‬
‫‪3.3 a  b‬‬
‫‪3.4 b  r‬‬
‫‪3.5  0  1 , 1  ‬‬
‫‪3.6  0   1 ,  1  ‬‬
‫‪4.    0 ,    0‬‬
‫) ‪5. return ( , ‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪21‬‬

‫‪5‬‬
‫‪ 1.5.3‬ﺣﺴﺎب ا ٔس‬
‫اﻟﻄﺮﯾﻘﺔ ا ٔ ﺴﻂ ﳊﺴﺎب ا ٔس ﱔ ﰷﻟﺘﺎﱄ ‪:‬‬
‫‪MUL‬‬ ‫‪MUL‬‬ ‫‪MUL‬‬ ‫‪MUL‬‬
‫‪x ‬‬ ‫‪ x 2 ‬‬ ‫‪ x 3 ‬‬ ‫‪ x 4 ‬‬ ‫‪ ...‬‬
‫ﺣ ﺚ ﺗﺪل " ‪ " MUL‬ﲆ ﲻﻠﯿﺔ ﴐب اﻟﻌﺪد اﳊﺎﱄ ٔﺳﺎس ‪ . x‬ﻟﻜﻦ ﺗﺬ ﺮ ٔن ا ٔ ﺪاد اﳌﺴﺘ ﺪﻣﺔ ﰲ اﳋﻮارزﻣ ﺎت‬
‫اﻟﻼﻣ ﻨﺎﻇﺮةﰲ اﳊﺎ اﻟﻌﺎﻣﺔ ٔ ﺪاد ﲻﻼﻗﺔ‪ 1024 ،‬ﺑﺖ و ٔﻛﱶ‪ .‬إذا ٔرد ﺣﺴﺎب ا ٔس اﻟﺴﺎﺑﻖ ﻟﻄﺮﯾﻘﺔ اﻟ ﺴﯿﻄﺔ‪ ،‬ﻓﺴﻨﺤﺘﺎج‬
‫إﱃ ﺣﻮاﱄ ‪ 2‬ﲻﻠﯿﺔ ﴐب‪ .‬ﻟﻬﺎ ﻣﻦ ﻓﻜﺮة ﻣﺮﻋﺒﺔ‪ٔ ،‬ن ﯾﻮ ﺪ ﰲ اﻟﻜﻮن اﳌﻌﺮوف ﺣﻮاﱄ ‪ 2‬ذرة! اﻟﺴﺆال ﻫﻮ‪ ،‬ﻫﻞ ﻫﻨﺎك‬
‫‪300‬‬ ‫‪1024‬‬

‫ﻃﺮﯾﻘﺔ ٔﴎع ﳊﺴﺎب ا ٔس ﺑﺪون ٔن ﻧﻀﻄﺮ إﱃ اﻧﺘﻈﺎر اﻟﺸﻤﺲ ﻟﲄ ﺗﻨﻄﻔﺊ ﻟﻨﳯ ﻲ اﳊﺴﺎب؟ ﳊﺴﻦ اﳊﻆ‪ ،‬ﻧﻌﻢ‪ .‬إﳖﺎ ﺗﺪﻋﻰ‬
‫ﺧﻮارزﻣ ﺔ اﻟﴬب و اﻟﱰﺑﯿﻊ‪.‬‬

‫اﳋﻮارزﻣ ﺔ ‪ : 1.5.3‬ﺧﻮارزﻣ ﺔ اﻟﴬب و اﻟﱰﺑﯿﻊ ‪:‬‬


‫‪r‬‬
‫‪.k  ‬‬ ‫‪i 0‬‬
‫‪ki 2i‬‬ ‫ا ﻞ ‪ :‬ﺪد ﻦ ‪ . x, n ‬ﺪد ‪ k ‬ﳣﺜﯿ اﻟﺜﻨﺎﰄ‬
‫‪k‬‬
‫اﳋﺮج ‪. x mod n :‬‬
‫اﳋﻮارزﻣ ﺔ ‪:‬‬
‫‪1. A  x‬‬
‫‪2. for i  0 to i  r do‬‬
‫‪2.1. A  A2 mod n‬‬
‫‪2.2. if ki  1‬‬
‫‪2.2.1. A  A  x mod n‬‬
‫‪3. return A‬‬
‫‪26‬‬
‫ﻣ ﺎل ‪ :‬ﻟﻨﺤﺴﺐ ‪. x‬‬
‫ﻟﻮ ٔرد ٔن ﳓﺴﺐ ﻫﺬا ا ٔس ﻟﻄﺮﯾﻘﺔ "اﻟﺴﺎذ ﺔ" ﻟﺘﻄﻠﺐ ا ٔﻣﺮ ‪ 28‬ﲻﻠﯿﺔ ﴐب‪ .‬ﻟﻨﺤﺴﺐ ا ٔس ﺑﻄﺮﯾﻘﺔ اﻟﴬب و‬
‫اﻟﱰﺑﯿﻊ‪ٔ .‬وﻻ ﻧﻼﺣﻆ ٔن ‪ . 26  11010‬ﺑﺘﻄﺒﯿﻖ اﳋﻮارزﻣ ﺔ ‪ 2.1‬ﳓﺼﻞ ﲆ اﻟﺴﻠﺴﺔ ا ٓﺗﯿﺔ ﻣﻦ ﲻﻠﯿﺎت اﻟﴬب و اﻟﱰﺑﯿﻊ ‪:‬‬ ‫‪2‬‬

‫‪SQ‬‬
‫‪x ‬‬ ‫‪MUL‬‬
‫‪ x 2 ‬‬ ‫‪SQ‬‬
‫‪ x 3 ‬‬ ‫‪SQ‬‬
‫‪ x 6 ‬‬ ‫‪MUL‬‬
‫‪ x12 ‬‬ ‫‪SQ‬‬
‫‪ x13 ‬‬ ‫‪ x 26‬‬
‫ﻣﺎ ﶍﻮ ﻪ ﲻﻠﯿﺘﺎ ﴐب و ٔرﺑﻊ ﲻﻠﯿﺎت ﺮﺑﯿﻊ‪ .‬ﰲ اﻟﻮاﻗﻊ‪ ،‬ﺗﻌﻘ ﺪ ﲻﻠﯿﺔ اﻟﱰﺑﯿﻊ ﯾﻘﺎرب ﺗﻌﻘ ﺪ ﲻﻠﯿﺔ اﻟﴬب‪ ،‬ﻓ ﺎٕﻣﲀﻧﻨﺎ ٔن ﻧﻘﻮل ٔن‬
‫ﳇﻔﺔ ﻫﺬا اﻟﺘﻨﻔ ﺬ ﱔ ‪ 6‬ﲻﻠﯿﺎت ﴐب ﻓﻘﻂ‪.‬‬
‫‪5‬‬
‫‪Christof Paar, Jan Penzel. Understanding Cryptography. Springer, Heidelberg, Berlin, Germany, 2010. Page 182.‬‬
‫‪22‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫ٔﻣﺎ ﻟ ﺴﺒﺔ ﻟﺘﻌﻘ ﺪ ﺧﻮارزﻣ ﺔ اﻟﴬب و اﻟﱰﺑﯿﻊ‪ .‬ﻧﻼﺣﻆ ٔﻧﻪ ﰲ ﰻ ﻣﺮ ﻣﻦ ﺗﻨﻔ ﺬ ﻠﻘﺔ ‪ for‬ﯾﱲ ﺮﺑﯿﻊ اﻟﻨ ﺔ اﳊﺎﻟﯿﺔ‪ .‬و ﲟﺎ‬
‫ٔن ﻠﻘﺔ ‪ for‬ﺗﺘﻜﺮر ‪ r‬ﻣﺮة ﺣ ﺚ ‪ r‬ﻫﻮ ﻃﻮل ا ٔس ﻟﻨﻈﺎم اﻟﺜﻨﺎﰄ‪ ،‬ﻓ ﯾﻨﺎ ‪ r‬ﲻﻠﯿﺔ ﺮﺑﯿﻊ‪ .‬إﺿﺎف إﱃ ذ ‪ ،‬ﯾﱲ ﴐب‬
‫اﻟﻨ ﺔ اﳊﺎﻟﯿﺔ ٔﺳﺎس ‪ x‬ﻣﻊ ﰻ ‪1‬ﰲ ا ﳣﺜﯿﻞ اﻟﺜﻨﺎﰄ ﻟ ٔس‪ .‬ﺸﲁ ﺎم‪ ،‬ﯾﻨﺎ ﺣﻮاﱄ ‪ r 2‬رﰴ ‪1‬ﰲ ا ﳣﺜﯿﻞ اﻟﺜﻨﺎﰄ ﻟﻌﺪد‬
‫ﻃﻮ ‪ r‬ﺑﺖ‪ .‬ﻓ ﻜﻮن ﺗﻌﻘ ﺪ ﺗﻨﻔ ﺬ اﳋﻮارزﻣ ﺔ ﻫﻮ ‪ . rc  r 2 c‬و ﻛﲈ ﻗﻠﻨﺎ ﺳﺎﺑﻘ ًﺎ‪ ،‬ﺗﻌﻘ ﺪ ﲻﻠﯿﺔ اﻟﱰﺑﯿﻊ ﯾﻘﺎرب ﺗﻌﻘ ﺪ ﲻﻠﯿﺔ‬
‫‪1‬‬ ‫‪2‬‬

‫اﻟﴬب‪ ،‬ﻓ ﺎٕﻣﲀﻧﻨﺎ ٔن ﻧﻘﻮل ٔن ﺗﻌﻘ ﺪ اﳋﻮارزﻣ ﺔ ﻫﻮ ‪ . 3 2 rc‬و ﻫﻮ ٔﻓﻀﻞ ﻜ ﲑ ﻣﻦ ‪ 2 c‬ﻟﻮ ٔرد ﺗﻨﻔ ﺬ اﳋﻮارزﻣ ﺔ‬
‫‪r‬‬
‫‪1‬‬ ‫‪1‬‬

‫ﻟﻄﺮﯾﻘﺔ اﻟﺒﺪاﺋﯿﺔ‪.‬‬

‫‪ 1.5.4‬ﺣﺴﺎب ﶍﻮع ﻧﻘﻄﺔ ﰲ ﻣ ﺤﲏ ﻗﴢ‬


‫ﳌﻘﺎرﻧﺔ ﻣﻊ ﻧﻈﺎم ‪ ،RSA‬ﰎ وﺿﻊ ﺧﻮارزﻣ ﺔ ﻠﻮﺻﻮل إﱃ اﻟﻌﺪد اﳌﻄﻠﻮب ﴪ ﺔ وﱔ ﺧﻮارزﻣ ﺔ اﻟﴬب واﻟﱰﺑﯿﻊ‪ .‬وا ٓن ﳓﻦ‬
‫ٔﯾﻀ ًﺎ ﲝﺎ ﺔ ﳋﻮارزﻣ ﺔ ﺴﺎ ﺪ ﰲ اﻟﻮﺻﻮل إﱃ اﻟﻨﻘﻄﺔ اﳌﻄﻠﻮﺑﺔ ﰲ ﻧﻈﺎم ‪ECC‬وﱔ ﺧﻮارزﻣ ﺔ اﳌﻀﺎﻋﻔﺔ واﶺﻊ‪ .‬وﺳﻨﻌﳣﺪ ﻛﲈ‬
‫ﳃﻨﺎ ﰲ ﺧﻮارزﻣ ﺔ اﻟﴬب واﻟﱰﺑﯿﻊ ﲆ اﻟﻜ ﺎﺑﺔ اﻟﺜﻨﺎﺋﯿﺔ ﻠﻌﺪد ‪. d‬‬

‫اﳋﻮارزﻣ ﺔ ‪ : 1.5.4‬ﺧﻮارزﻣ ﺔ اﶺﻊ و اﳌﻀﺎﻋﻔﺔ ‪:‬‬


‫‪r‬‬
‫‪.d  ‬‬ ‫‪i 0‬‬
‫‪di 2i‬‬ ‫ا ﻞ ‪ :‬ﻧﻘﻄﺔ ‪ P‬ﻣﻦ ﻣ ﺤﲏ ﻗﴢ ‪ . C‬اﻟﻌﺪد‬
‫اﳋﺮج ‪. T  dP :‬‬
‫اﳋﻮارزﻣ ﺔ ‪:‬‬
‫‪1. T  P‬‬
‫‪2. for i  r downto i  0‬‬
‫‪2.1 T  2T‬‬
‫‪2.2 if d i  1‬‬
‫‪2.2.1 T  T  P‬‬
‫‪3.return T‬‬

‫ﻣ ﺎل ‪:‬ﳊﺴﺎب اﻟﻨﻘﻄﺔ ‪ ، 26P‬ﰲ اﻟﺒﺪاﯾﺔ‪ ،‬ﻜ ﺐ اﻟﻌﺪد ‪ 26‬ﺛﻨﺎﺋﯿ ًﺎ ‪ . 26  110010‬ﻓ ﺼﺒﺢ ﺗﻄﺒﯿﻖ اﳋﻮارزﻣ ﺔ ﰷﻟﺘﺎﱄ ‪:‬‬
‫‪2‬‬

‫‪DBL‬‬ ‫‪ADD‬‬ ‫‪DBL‬‬ ‫‪DBL‬‬ ‫‪ADD‬‬ ‫‪DBL‬‬


‫‪T ‬‬ ‫‪ 2T ‬‬ ‫‪ 3T ‬‬ ‫‪ 6T ‬‬ ‫‪12T ‬‬ ‫‪13T ‬‬ ‫‪ 26T‬‬
‫ﻫﺬا ﺸﺎﺑﻪ ﺧﻮارزﻣ ﺔ اﻟﴬب و اﻟﱰﺑﯿﻊ‪ .‬و ٔﯾﻀ ًﺎ‪ ،‬ﻟﻮﻻ ﻫﺬﻩ اﳋﻮارزﻣ ﺔ ﻟﻜ ﺎ ﻗﺪ اﺣ ﺠﻨﺎ ‪ 26‬ﲻﻠﯿﺔ ﲨﻊ‪.‬‬
‫‪ 1.5.5‬اﺧ ﺒﺎرات ا ٔوﻟﯿﺔ‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪23‬‬

‫ﯾﱲ ﺗﻮﻟﯿﺪ ا ٔ ﺪاد ا ٔوﻟﯿﺔ ﺑﻄﺮﯾﻘﺔ ﻏﺮﯾﺒﺔ ﻧﻮ ًﺎ ﻣﺎ‪ ،‬ﯾﱲ اﺧ ﯿﺎر ﺪد ﻋﺸﻮاﰄ ﺑﻄﻮل ﳏﺪد ) ﺎدة ‪ 512‬ﺑﺖ(‪ ،‬ﰒ ﳔﺘﱪ ﻣﺎ إذا ﰷن‬
‫ٔوﻟﯿ ًﺎ ٔم ﻻ‪ .‬و ﳇﻨﺎ ﻧﻌﲅ ٔن ﻛﺜﺎﻓﺔ ا ٔ ﺪاد ا ٔوﻟﯿﺔ ﺗ ﺎﻗﺺ ﳇﲈ ﺰاﯾﺪ اﻟﻌﺪد‪ .‬و ﻫﻨﺎ ﯾ ٔﰐ اﻟ ﺴﺎؤل‪ٔ ،‬ﻻ ﺰال ﻫﻨﺎك اﺣ ل ﻣ ﻄﻘﻲ‬
‫ٔن ﳒﺪ ٔ ﺪاداً ٔوﻟﯿﺔ ﺑﺘ ا ٔﻃﻮال اﻟﻌﻤﻼﻗﺔ ﻋﻦ ﻃﺮﯾﻖ اﻟﺘﺠﺮﯾﺐ؟ ﺣﺴﺐ اﳌﱪﻫﻨﺔ ‪ 1.1.2.5‬اﺣ ل ٔن ﻜﻮن ﺪد ﻣﺎ ﺑﻄﻮل‬
‫‪ r‬ﺑﺖ ٔوﻟﯿ ًﺎ ﻫﻮ ‪:‬‬
‫‪. P(n  is  prime)   (n)  2 ln 2‬‬ ‫‪r‬‬

‫‪n‬‬
‫ٔي ﳓﻦ ﲝﺎ ﺔ ﻟﲄ ﳔﺘﱪ ﺣﻮاﱄ ‪ 177‬ﺪد ﻗ ﻞ ٔن ﳓﺼﻞ ﲆ ﺪد ٔوﱄ ﯾﻄﻮل ‪ 512‬ﺑﺖ‪ .‬ﳊﺴﻦ اﳊﻆ‪ ،‬ﻣﻘﺎم اﻟﻜﴪ ٔ ﻼﻩ‬
‫ﯾﱱاﯾﺪ ﺰاﯾﺪ ًا ﻟﻮ ﺎرﲤﯿ ًﺎ‪ٔ ،‬ي ﺣﱴ ﻣﻊ ﻣﻔﺎﺗﯿﺢ ‪ RSA‬ا ٔﻛﱪ‪ ،‬ﻣ ﻞ ‪ 4096‬ﺑﺖ‪ ،‬ﻻ ﺰال ﻫﻨﺎك ﻓﺮﺻﺔ ﻟﻨ ﺪ ٔ ﺪاد ًا ٔوﻟﯿﺔ‪.‬‬
‫ﺑﻌﺪ اﺧ ﺒﺎر اﻟﻌﺪد اﻟﻌﺸﻮاﰄ‪ ،‬ﯾ ٔﰐ دور اﺧ ﺒﺎرات ا ٔوﻟﯿﺔ‪ .‬اﺧ ﺒﺎر ا ٔوﻟﯿﺔ ﻫﻮ ﺧﻮارزﻣ ﺔ ﲟﺪ ﻠﲔ‪ ،‬ﺪد ' ‪ p‬ﯾﺪﻋﻰ "ﻣﺮﴊ‬
‫ٔوﱄ"‪ .‬و ﻣﻌﺎﻣﻞ ٔﻣﺎن ‪ . s‬و ﺗﻘﻮم اﳋﻮارزﻣ ﺔ ﳊﲂ ﲆ ' ‪ p‬ﻣﺎ إذا ﰷن ٔوﻟﯿ ًﺎ ٔم ﻻ‪ .‬ﯾﻮ ﺪ ﻧﻮ ﲔ ﻻﺧ ﺒﺎرات ا ٔوﻟﯿﺔ ‪:‬‬
‫‪ -1‬اﺧ ﺒﺎرات ا ٔوﻟﯿﺔ اﻟﺼﺤﯿ ﺔ ‪ :‬و ﱔ ﺗﻌﯿﺪ ﻧ ﺔ ﻗﺎﻃﻌﺔ "ﻻ" إذا ﱂ ﻜﻦ ٔوﻟﯿ ًﺎ‪ٔ .‬و ﻧ ﺔ ﻗﺎﻃﻌﺔ "ﻧﻌﻢ" إذا ﰷن ٔوﻟﯿ ًﺎ‪.‬‬
‫‪ -2‬اﺧ ﺒﺎرات ا ٔوﻟﯿﺔ ﺣ ﻟﯿﺔ ‪ :‬و ﱔ ﺗﻌﯿﺪ ﻧ ﺔ ﻗﺎﻃﻌﺔ "ﻻ" إذا ﱂ ﻜﻦ ٔوﻟﯿ ًﺎ‪ٔ .‬و ﻧ ﺔ "ﻧﻌﻢ" ﺣ ل ﺒﲑ إذا ﰷن‬
‫ٔوﻟﯿ ًﺎ‪.‬‬
‫ﺳ ﻌﺎﻣﻞ ا ٓن ﻣﻊ اﺧ ﺒﺎرات ا ٔوﻟﯿﺔ ﺣ ﻟﯿﺔ‪ .‬ﰲ اﻟﻮاﻗﻊ‪ ،‬اﺧ ﺒﺎرات ا ٔوﻟﯿﺔ ﺣ ﻟﯿﺔ ﱔ اﻟﱵ ﯾﱲ اﺳﺘ ﺪا ﺎ ﰲ اﻟﻌﺎﱂ اﻟﻮاﻗﻌﻲ‬
‫ﻧﻈﺮ ًا ﻟﳫﻔﳤﺎ اﳊﺴﺎﺑﯿﺔ اﳌﻨﺨﻔﻀﺔ ﻣﻘﺎرﻧﺔ ﻻﺧ ﺒﺎرات اﻟﺼﺤﯿ ﺔ‪.‬‬
‫اﺧ ﺒﺎر ﻓﲑﻣﺎ‬ ‫‪1.5.5.1‬‬
‫ﯾﻌﳣﺪ اﺧ ﺒﺎر ﻓﲑﻣﺎ ﲆ اﳌﱪﻫﻨﺔ ‪1.1.6.2‬و ﻫﻮ ﰷﻟﺘﺎﱄ ‪:‬‬
‫اﳋﻮارزﻣ ﺔ ‪ : 1.5.5.1‬اﺧ ﺒﺎر ﻓﲑﻣﺎ ‪:‬‬
‫ا ﻞ ‪ :‬ﻣﺮﴊ ٔوﱄ ' ‪ . p‬ﻣﻌﺎﻣﻞ ٔﻣﺎن ‪. s‬‬
‫اﳋﺮج ‪ p ' " :‬ﺪد ﻣﺮﺐ" ٔو " ' ‪ p‬ﺎﻟﺒ ًﺎ ﺪد ٔوﱄ"‪.‬‬
‫اﳋﻮارزﻣ ﺔ ‪:‬‬
‫‪1. for i  1 to i  s‬‬
‫‪1.1 choose random a‬‬
‫)‪1.2 if (a p '-1 mod p '  1‬‬
‫" ‪1.2.1 return " p ' is composite‬‬
‫" ‪2. return " p ' is probably prime‬‬
‫ﻟﻜﻦ‬
‫‪ a‬ﻣﻦ ٔ ﻞ اﻟﻌﺪﯾﺪ ﻣﻦ ﻗﲓ ‪a‬‬ ‫‪p ' 1‬‬
‫‪ 1mod p‬‬ ‫اﻟﱵ ﲢﻘﻖ‬ ‫'‪p‬‬ ‫ﯾﻮ ﺪ ﻋﯿﺐ ﰲ اﺧ ﺒﺎر ﻓﲑﻣﺎ‪ .‬ﺗﻮ ﺪ ﺑﻌﺾ ا ٔ ﺪاد اﻟﺼﺤﯿ ﺔ‬
‫‪24‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫ﻟﻜﳯﺎ ﻟ ﺴﺖ ٔ ﺪاد ٔوﻟﯿﺔ‪ ،‬و ﺗﺪﻋﻰ " ٔ ﺪاد ﰷذﺑﺔ"‪ .‬ﺪد ا ٔ ﺪاد اﻟﲀذﺑﺔ ﲆ اﺧ ﺒﺎر ﻓﲑﻣﺎ ﺒﲑ ﺴ ًﺎ‪ .‬ﰲ اﻟﻮاﻗﻊ‪ ،‬ﺗﻮ ﺪ ٔ ﺪاد‬
‫ﲱﯿ ﺔ ‪ c‬ﺗﺪﻋﻰ " ٔ ﺪاد ﰷرﻣﺎ ﲁ" ﲢﻘﻖ اﻟﻌﻼﻗﺔ ‪ a  1mod c‬ﻣﻦ ٔ ﻞ ﲨﯿﻊ ﻗﲓ ‪ a‬ﻟﻜﳯﺎ ﻟ ﺴﺖ ٔوﻟﯿﺔ‪ .‬ﯾﻮ ﺪ ﺣﻮاﱄ‬
‫‪c 1‬‬

‫‪ 10‬ﺪد ﰷرﻣﺎ ﲁ ٔﺻﻐﺮ ﻣﻦ ‪ ، . 10‬ﻻ ﯾﱲ اﻋ د اﺧ ﺒﺎر ﻓﲑﻣﺎ‪.‬‬


‫‪15‬‬ ‫‪5‬‬

‫اﺧ ﺒﺎر ﻣ ﻠﺮ‪-‬راﺑﲔ‬ ‫‪1.5.5.2‬‬


‫ﯾﻮ ﺪ اﻟﻌﺪﯾﺪ ﻣﻦ ﺧ ﺒﺎرات ﺣ ﻟﯿﺔ ا ٔﺧﺮى‪ ،‬ﻣ ﻞ اﺧ ﺒﺎر ﺳﻮﻟﻮﻓﺎي‪-‬ﺳﱰاﺳﲔ اﻟﺸﻬﲑ‪ .‬ﻟﻜﻦ ﺳﻨﻜ ﻔﻲ ﺧ ﺒﺎر ﻣ ﻠﺮ‪-‬راﺑﲔ‬
‫ﻧﻈﺮ ًا ﻟﻜﻮﻧﻪ ﺧ ﺒﺎر ا ٔﻛﱶ ﻛﻔﺎءة و ﻓﺎ ﻠﯿﺔ‪.‬‬
‫ﯾﻌﳣﺪ اﺧ ﺒﺎر ﻣ ﻠﺮ‪-‬راﺑﲔ ﲆ اﳊﻘ ﻘﺔ ا ٓﺗﯿﺔ ‪:‬‬
‫ﻣﱪﻫﻨﺔ ‪ :1.5.5.2‬ﻟﯿﻜﻦ ‪ p‬ﺪد ٔوﱄ ﻓﺮدي و ‪ p  1  2 r‬ﺣ ﺚ ‪ r‬ﺪد ﻓﺮدي‪ .‬و ﻟﯿﻜﻦ ‪ٔ a‬ي ﺪد ﲱﯿﺢ ﲝﯿﺚ‬
‫‪s‬‬

‫‪2j r‬‬
‫‪ . gcd(a, p)  1‬ﻋﻨﺪﺋﺬ إﻣﺎ ‪ٔ a  1mod p‬و ‪ a  1mod p‬ﻣﻦ ٔ ﻞ ﺪد ﲱﯿﺢ‬
‫‪r‬‬

‫ﻻﻋ د ﲆ اﳌﱪﻫﻦ اﻟﺴﺎﺑﻘﺔ‪ ،‬ﺴﺘﻄﯿﻊ ﺻﯿﺎ ﺔ اﺧ ﺒﺎر ﻣ ﻠﺮ‪-‬راﺑﲔ‪.‬‬


‫اﳋﻮارزﻣ ﺔ ‪ : 1.5.5.2‬اﺧ ﺒﺎر ﻣ ﻠﺮ راﺑﲔ ‪:‬‬
‫ا ﻞ ‪ :‬ﻣﺮﴊ ٔوﱄ ' ‪ . p‬ﻣﻌﺎﻣﻞ ٔﻣﺎن ‪. s‬‬
‫اﳋﺮج ‪ p ' " :‬ﺪد ﻣﺮﺐ" ٔو " ' ‪ p‬ﺎﻟﺒ ًﺎ ﺪد ٔوﱄ"‪.‬‬
‫اﳋﻮارزﻣ ﺔ ‪:‬‬
‫‪1. for i  1 to i  s‬‬
‫‪1.1 choose random a  1, 2, ..., p ' 2‬‬
‫' ‪1.2 x  a t mod p‬‬
‫' ‪1.3 if x T 1mod p ' and x T 1mod p‬‬
‫‪1.3.1 for j  1 to j  t - 1‬‬
‫' ‪1.3.1.1 x  x 2 mod p‬‬
‫' ‪1.3.1.2 if x  1mod p‬‬
‫" ‪1.3.1.2.1 return " p ' is composite‬‬
‫' ‪1.3.1.3 if x T 1mod p‬‬
‫" ‪1.3.1.3.1 return " p ' is composite‬‬
‫" ‪2. return " p ' is probably a prim e‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪25‬‬

‫‪ 2‬اﻟﻔﺼﻞ اﻟﺜﺎﱐ ‪ :‬ﺑﻌﺾ اﳋﻮارزﻣ ﺎت اﻟﻼﻣ ﻨﺎﻇﺮة‬


‫‪ 2.1‬ﺧﻮارزﻣ ﺔ ‪RSA‬‬
‫ﺎﻟﯿ ًﺎ‪ٔ ،‬وﺳﻊ ﻧﻈﻢ اﻟ ﺸﻔﲑ اﺳﺘ ﺪاﻣ ًﺎ ﻫﻮ ﻧﻈﺎم ‪ .RSA‬ﻓﻘﺪ ﰎ اﻋ د ﺧﻮارزﻣ ﺔ ‪ RSA‬ﰲ اﻟﻮﻻ ت اﳌﺘ ﺪة ا ٔﻣﺮﻜ ﺔ‬
‫ﰷﳋﻮارزﻣ ﺔ اﻟﻼﻣ ﻨﺎﻇﺮة اﳌﻌﯿﺎرﯾﺔ ﺣﱴ ﺎم ‪ .2000‬ﻟﻜﻦ ﰲ اﻟﻮﻗﺖ اﳊﺎﱄ‪ ،‬ﺑﺪ ٔت اﳋﻮارزﻣ ﺎت ا ٔﺧﺮى‪ ،‬ﻣ ﻞ ﺧﻮارزﻣ ﺔ‬
‫اﳌﻨﺤﻨﯿﺎت اﻟﻘﻄﻌﯿﺔ ﻛ ﺴﺎب ا ٔﻓﻀﻠﯿﺔ ﲆ ﺧﻮارزﻣ ﺔ ‪.RSA‬‬
‫ﺗﻮ ﺪ اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﺘﻄﺒﯿﻘﺎت ﳋﻮارزﻣ ﺔ ‪ ،RSA‬ﻟﻜﳯﺎ ﺴﺘﻌﻤﻞ ﺎدة ﻣﻦ ٔ ﻞ ‪:‬‬
‫ﺸﻔﲑ ﻛﺘﻞ ﺻﻐﲑة ﻣﻦ اﻟﺒﯿﺎ ت‪ ،‬ﺎﺻﺔ ﰲ ﺗﺒﺎدل اﳌﻔﺎﺗﯿﺢ‪.‬‬
‫اﻟﺒﺼﲈت اﻻٕﻟﻜﱰوﻧﯿﺔ‪ ،‬و ﱔ ﻣﻮﺿﻮع ﻟﻦ ﻧﺘﻄﺮق ﰲ ﻣﴩوﻋﻨﺎ ﻫﺬا‪.‬‬
‫ﰲ ﻗﻠﺐ ﺧﻮارزﻣ ﺔ ‪ RSA‬ﺗﻮ ﺪ اﳌﺴ ٔ ‪ 1.3.1‬ﲢﻠﯿﻞ ا ٔ ﺪاد اﻟﺼﺤﯿ ﺔو ﱔ ﲤﺜﻞ ﺑﻊ اﳉﻬﺔ اﻟﻮا ﺪة ﰲ ﻫﺬﻩ اﳋﻮارزﻣ ﺔ‪ .‬و‬
‫ﺗﻠﻌﺐ ﻣﱪﻫﻨﺔ ٔوﻟﺮ و ﺑﻊ ٔوﻟﺮ دور ًا ﻫﺎﻣ ًﺎ ﰲ ﺗﻨﻔ ﺬ ﻫﺬﻩ اﳋﻮارزﻣ ﺔ‪.‬‬
‫ﰲ ﻫﺬا اﻟﻔﺼﻞ‪ ،‬ﺳ ﴩح ٓﻟﯿﺔ ﲻﻞ ﺸﻔﲑ و ﻓﻚ ﺸﻔﲑ و ﺗﻮﻟﯿﺪ ﻣﻔﺎﺗﯿﺢ ‪ ،RSA‬ﰒ ﺳ ﺪث ﻋﻦ ﺑﻌﺾ اﳉﻮاﻧﺐ اﻟﺘﻄﺒﯿﻘ ﺔ‬
‫ﻟﺘﻨﻔ ﺬ اﳋﻮارزﻣ ﺔ ﰲ اﳊﯿﺎة اﻟﻮاﻗﻌﯿﺔ‪.‬‬
‫‪ 2.1.1‬ﺗﻮﻟﯿﺪ اﳌﻔﺎﺗﯿﺢ‬
‫ﺗﻮ ﺪ ﺎﺻﯿﺔ ﳑﲒة ﶺﯿﻊ ﺧﻮارزﻣ ﺎت اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮة‪ ،‬و ﱔ وﺟﻮد ﻣﺮ ﲢﻀﲑ‪ ،‬ﯾﱲ ٔﺛﻨﺎﲛﺎ ﺣﺴﺎب اﳌﻔ ﺎ ﲔ اﳋﺎص و‬
‫اﻟﻌﺎم‪ .‬و ﻗﺪ ﻜﻮن ﰲ ﺑﻌﺾ اﳋﻮارزﻣ ﺎت ﺷﺪﯾﺪ اﻟﺘﻌﻘ ﺪ‪ .‬ﻧﺬ ﺮ ﻫﻨﺎ ٔن ﺗﻮﻟﯿﺪ اﳌﻔ ﺎح ﻟ ﺲ ﻣﺴ ٔ ﻫﺎﻣﺔ ﰲ اﳋﻮارزﻣ ﺎت‬
‫اﳌﺘﻨﺎﻇﺮة‪ ،‬و ﻫﺬا ٔ ﺪ ٔﺳﺒﺎب ﻮﳖﺎ ٔﴎع ﰲ اﻟﺘﻨﻔ ﺬ ﻣﻦ اﳋﻮارزﻣ ﺎت اﻟﻼﻣ ﻨﺎﻇﺮة‪.‬‬
‫ﺗﻮﻟﯿﺪ اﳌﻔﺎﺗﯿﺢ ﳋﻮارزﻣ ﺔ ‪: RSA‬‬
‫‪ -1‬ا ﱰ ﺪد ﻦ ٔوﻟﯿﲔ ﺒﲑﻦ ‪ ) . p, q‬ﺳﺘ ﺪام اﳋﻮارزﻣ ﺔ ‪ٔ 1.4.4‬و ‪(1.4.5‬‬
‫‪ -2‬اﺣﺴﺐ ‪. n  pq‬‬
‫‪ -3‬اﺣﺴﺐ )‪.  (n)  ( p  1)(q  1‬‬
‫‪ -4‬ا ﱰ اﳌﻔ ﺎح اﻟﻌﺎم ‪ . e  1, 2,..., (n)  1‬ﲝﯿﺚ ‪. gcd(e,  (n))  1‬‬
‫‪ -5‬اﺣﺴﺐ اﳌﻔ ﺎح اﳋﺎص ‪ d‬ﲝﯿﺚ )‪. ed  1mod  (n‬‬
‫‪26‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫ﺳﻨﻘﻮم ﴩح ﯿﻔ ﺔ ﺗﻮﻟﯿﺪ اﻟﻌﺪد ﻦ ا ٔوﻟﯿﲔ ﻓ ﺑﻌﺪ‪ .‬اﻟﻬﺪف ﻣﻦ اﻟﴩط ‪ gcd(e,  (n))  1‬ﰲ اﳋﻄﻮة اﻟﺮاﺑﻌﺔ ﺿﲈن وﺟﻮد‬
‫ﻧﻈﲑ ل ‪ e‬ﻟ ﺴﺒﺔ ﻟﻌﻤﻠﯿﺔ اﻟﴬب ﳌﻘﺎس ‪ . n‬ﰲ اﻟﻮاﻗﻊ‪ٕ ،‬ﻣﲀﻧﻨﺎ ﺣﺴﺎب اﳋﻄﻮﺗﲔ اﻟﺮاﺑﻌﺔ و اﳋﺎﻣﺴﺔ ﰲ اﻟﻮﻗﺖ ﻧﻔﺴﻪ‪ ،‬ﻧﻘﻮم‬
‫ﺧ ﯿﺎر ﺪد ‪ e  1, 2,..., (n)  1‬و ﻧﻨﻔﺬ اﳋﻮارزﻣ ﺔ ‪1.5.2‬ﻣﻦ ٔ ﻞ ا ٔ ﺪاد )‪ . e,  (n‬ﻓ ﺤﺼﻞ ﲆ اﻟﺼﯿﻐﺔ ‪:‬‬
‫)‪. gcd(e,  (n))   e   (n‬‬
‫ﻓﺎٕذا ﰷن ﻓﻌﻼ ‪ gcd(e,  ( n))  1‬ﻜﻮن ﻗﺪ ﺣﺼﻠﻨﺎ ﲆ اﳌﻔ ﺎح اﻟﻌﺎم‪ .‬ﺑﻌﺪ ٔن ﻧ ٔ ﺬ ﻃﺮﰲ اﻟﻌﻼﻗﺔ اﻟﺴﺎﺑﻘﺔ ﳌﻘﺎس )‪ ( n‬‬
‫ﳓﺼﻞ ﲆ اﻟﻌﻼﻗﺔ ‪:‬‬
‫‪ e  1mod n‬‬
‫ﻓ ﻜﻮن ﻗﳰﺔ ‪ d‬ﱔ ﻗﳰﺔ ‪ ‬اﻟﱵ ﺣﺼﻠﻨﺎ ﻠﳱﺎ ﻣﻦ ﺧﺮج اﳋﻮارزﻣ ﺔ اﻻٕﻗﻠﯿﺪﯾﺔ اﳌﻤﺪة‪.‬‬
‫ٔﻣﺎ ﰲ ﺎل ‪ ، gcd(e,  (n))  1‬ﺑ ﺴﺎﻃﺔ ﻧﻌﯿﺪ ﺗﻨﻔ ﺬ اﳋﻮارزﻣ ﺔ ﻣﻦ ٔ ﻞ ﻗﲓ ٔﺧﺮى ل ‪ . e‬ﻧﻼﺣﻆ ٔن ﻗﳰﺔ اﳌﻌﺎﻣﻞ ‪ ‬ا ي‬
‫ﺣﺼﻠﻨﺎ ﻠﯿﻪ ﻣﻦ ﺧﺮج اﳋﻮارزﻣ ﺔ ﻟ ﺴﺖ ذات ﻗﳰﺔ‪ ،‬و ﻟﺘﺎﱄ ٕﻣﲀﻧﻨﺎ ٔن ﻧﺘﺠﻨﺐ ﺣﺴﺎﺑﻪ‪.‬‬
‫ا ٓن ﺳﻨﻘﺪم ﻣ ﺎ ًﻻ ﺴﯿﻄ ًﺎ ﻋﻦ ﺗﻨﻔ ﺬ ﺧﻮارزﻣ ﺔ ‪ RSA‬ﺑ ٔ ﺪاد ﺻﻐﲑة‪.‬‬
‫‪ 2.1.2‬اﻟ ﺸﻔﲑ و ﻓﻚ اﻟ ﺸﻔﲑ‬
‫ﳛﺪث ﺸﻔﲑ و ﻓﻚ ﺸﻔﲑ ‪ RSA‬ﰲ اﳊﻠﻘﺔ )اﳌﻠﺤﻖ ب( و ﺗﻠﻌﺐ اﻟﺘﻄﺎﺑﻘﺎت اﳋﻄﯿﺔ دور ًا ﻫﺎﻣ ًﺎ ﻓﳱﺎ )‪ .(1.1.4‬ﺸﻔﺮ‬
‫‪n‬‬

‫‪ RSA‬اﻟﺒﯿﺎ ت ا ٔﺻﻠﯿﺔ ‪ ، x‬ﺣ ﺚ ‪ x‬ﱔ اﻟﻘﳰﺔ اﻟﻌﺪدﯾﺔ ﻟﺴﻠﺴ ا ٔﺻﻔﺎر و اﻟﻮا ﺪات إذا ﺎﻣﻠﻨﺎﻫﺎ ﻣﻌﺎﻣ ﺪد ﻣﻜ ﻮب‬
‫ﻟﻨﻈﺎم اﻟﺜﻨﺎﰄ‪ ،‬ﻓ ﻜﻮن ‪ . x   1, 2,..., n  1‬ﺴﺘ ﺞ ٔﻧﻪ ﯾﺘﻮﺟﺐ ﲆ ‪ٔ x‬ن ﻜﻮن ﳏﺼﻮر ًا ﰲ ا ﺎل ‪ 1, n‬و‬
‫‪n‬‬

‫ﻛﺬ ا ٔﻣﺮ ﻟ ﺴﺒﺔ ﻠﺒﯿﺎ ت اﳌﺸﻔﺮة ‪. y‬‬


‫ﺳﻨﻮرد ا ٓن ٓﻟﯿﺔ ﺸﻔﲑ ‪ RSA‬ﺑﻮاﺳﻄﺔ اﳌﻔ ﺎح اﻟﻌﺎم‪ ،‬و ٓﻟﯿﺔ ﻓﻚ اﻟ ﺸﻔﲑ ﳌﻔ ﺎح اﳋﺎص‪.‬‬
‫ﺸﻔﲑ ‪: RSA‬‬
‫ﻟﺼﯿﻐﺔ ‪:‬‬ ‫‪e‬‬ ‫‪ k‬و اﻟﻨﺺ ا ٔﺻﲇ ‪ . x‬ﯾﻌﻄﻰ ﺑﻊ اﻟ ﺸﻔﲑ‬ ‫‪pb‬‬ ‫)‪ ( n, e‬‬ ‫ﻟﯿﻜﻦ ﯾﻨﺎ اﳌﻔ ﺎح اﻟﻌﺎم‬
‫‪y  ek pb ( x)  x e mod n‬‬
‫‪. x, y, e ‬‬ ‫‪n‬‬
‫ﺳﺘ ﺪام اﳋﻮارزﻣ ﺔ ‪ 1.5.3‬ﺣ ﺚ‬

‫ٔﻣﺎ ٓﻟﯿﺔ ﻓﻚ اﻟ ﺸﻔﲑ ‪:‬‬


‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪27‬‬

‫ﻓﻚ ﺸﻔﲑ ‪: RSA‬‬


‫ﻟﺼﯿﻐﺔ ‪:‬‬ ‫‪d‬‬ ‫‪ k‬و اﻟﻨﺺ اﳌﺸﻔﺮ ‪ . y‬ﯾﻌﻄﻰ ﺑﻊ ﻓﻚ اﻟ ﺸﻔﲑ‬ ‫‪pr‬‬ ‫‪d‬‬ ‫ﻟﯿﻜﻦ ﯾﻨﺎ اﳌﻔ ﺎح اﳋﺎص‬
‫‪x  d k pr ( y )  y d mod n‬‬
‫‪. x, y , d ‬‬ ‫‪n‬‬
‫ﺳﺘ ﺪام اﳋﻮارزﻣ ﺔ ‪ 1.5.3‬ﺣ ﺚ‬
‫ﺗﻄﺒﯿﻘ ًﺎ‪ ،‬ا ٔ ﺪاد ‪ x, y, d , n‬ﺒﲑة ﺪ ًا‪ ،‬ﺎدة ٔﻛﱶ ﻣﻦ ‪ 1024‬ﺑﺖ‪ .‬و ﺎدة ﻣﺎ ﯾﺪﻋﻰ ‪ e‬ب"ا ٔس اﻟﻌﺎم" ٔو " ٔس اﻟ ﺸﻔﲑ"‪ ،‬و‬
‫ﯾﺪﻋﻰ ‪ d‬ب"ا ٔس اﳋﺎص" ٔو " ٔس ﻓﻚ اﻟ ﺸﻔﲑ"‪.‬‬
‫إذا ٔراد ﻣﺼﻄﻔﻰ ٔن ﺮﺳﻞ رﺳﺎ ‪ x‬إﱃ ﶊﻮد‪ ،‬ﯾ ﻐﻲ ﲆ ﻣﺼﻄﻔﻰ اﳊﺼﻮل ﲆ ﻣﻔ ﺎح ﶊﻮد اﻟﻌﺎم )‪ ، (n, e‬ﰒ ﯾﻘﻮم‬
‫ﲝﺴﺎب ‪ ، y  x mod n‬ﱔ اﻟﺮﺳﺎ اﳌﺸﻔﺮة اﻟﱵ ﺳﲑﺳﻠﻬﺎ ﰲ اﻟﺸﺒﻜﺔ‪ .‬و ﲆ اﳉﻬﺔ ا ٔﺧﺮى ﯾﻘﻮم ﶊﻮد ﺑﻔﻚ اﻟ ﺸﻔﲑ ﻋﻦ‬ ‫‪e‬‬

‫‪d‬‬
‫ﻃﺮﯾﻖ ﺣﺴﺎب ‪. x  y mod n‬‬
‫ﲟﻌﻠﻮﻣﺎﺗﻨﺎ اﶈﺪودة ﻫﺬﻩ‪ ،‬ﺴﺘﻄﯿﻊ ٔن ﺴﺘ ﺞ ﺑﻌﺾ ﻣ ﻄﻠﺒﺎت ﺗﻨﻔ ﺬ اﳋﻮارزﻣ ﺔ ‪:‬‬
‫‪ -1‬ﲟﺎ ٔن ٕﻣﲀن اﳌﻬﺎﰖ اﳊﺼﻮل ﲆ اﳌﻔ ﺎح اﻟﻌﺎم ﻣﻦ اﻟﺸﺒﻜﺔ‪ ،‬ﳚﺐ ٔن ﻜﻮن ﻣﻦ اﳌﺴﺘﺤﯿﻞ ﺣﺴﺎﺑﯿ ًﺎ ﲢﺪﯾﺪ ﻗﳰﺔ‬
‫اﳌﻔ ﺎح اﳋﺎص ‪ d‬ﻣﻦ اﳌﻔ ﺎح اﻟﻌﺎم )‪. (n, e‬‬
‫‪ -2‬ﲟﺎ ٔن اﻟﻨﺺ ا ٔﺻﲇ ‪ x‬ﳑﲒ ﺣﱴ اﻟﻮﺻﻮل إﱃ ﲩﻢ اﳌﻘﺎس ‪ ، n‬ﻓ ﺤﻦ ﻻ ﺴﺘﻄﯿﻊ ٔن ﺸﻔﺮ رﺳﺎ ٔﻃﻮل ﻣﻦ ‪ l‬ﺑﺖ‪،‬‬
‫ﺣ ﺚ ‪ l‬ﻫﻮ ﺪد ﻣ ﺎزل اﻟﻌﺪد ‪ n‬إذا ﻛﺘﺐ ﰲ اﻟﻨﻈﺎم اﻟﺜﻨﺎﰄ‪.‬‬
‫‪ -3‬ﻣﻦ ٔ ﻞ ﻗﳰﺔ ﳏﺪدة ل ‪ ، n‬ﯾﻠﺰم وﺟﻮد ﺪد ﺒﲑ ﻣﻦ ٔزواج اﳌﻔﺎﺗﯿﺢ اﻟﻌﺎﻣﺔو اﳋﺎﺻﺔ‪ .‬و إﻻ ﺳﯿﻘﻮم اﳌﻬﺎﰖ ﺑ ﺴﺎﻃﺔ‬
‫ﺸﻦ ﳗﻮم ﻟﻘﻮة اﻟﻐﺎﴰﺔ و ﳚﺮب ﲨﯿﻊ اﻟﻘﲓ اﳌﻤﻜ ﺔ ﻠﻤﻔﺎﺗﯿﺢ )ﺳﲊى ﻓ ﺑﻌﺪ ٔﻧﻪ ﺴﻬﻞ ﲢﻘ ﻖ ﻫﺬا اﻟﴩط(‪.‬‬
‫ا ٓن ﺳﻨﻘﺪم ﻣ ﺎ ًﻻ ﺴﯿﻄ ًﺎ ﻋﻦ ﺗﻨﻔ ﺬ ﺧﻮارزﻣ ﺔ ‪ RSA‬ﺑ ٔ ﺪاد ﺻﻐﲑة‪.‬‬
‫ﻣ ﺎل ‪ :‬ﺮﯾﺪ ﻣﺼﻄﻔﻰ ٔن ﺮﺳﻞ رﺳﺎ ﻣﺸﻔﺮة إﱃ ﶊﻮد‪.‬‬
‫ٔو ًﻻ ‪ :‬ﯾﻘﻮم ﶊﻮد ﲝﺴﺎب ﻣﻌﺎﻣﻼت ‪ RSA‬ﻋﻦ ﻃﺮﯾﻖ ﺧﻄﻮات ﺧﻮارزﻣ ﺔ ﺗﻮﻟﯿﺪ اﳌﻔ ﺎح ﻣﻦ ‪ 1‬إﱃ ‪ ،5‬ﰒ ﯾ ﴩ ﰲ اﻟﺸﺒﻜﺔ‬
‫اﳌﻔ ﺎح اﻟﻌﺎم ا ي ﳛﺼﻞ ﻠﯿﻪ ﻣﺼﻄﻔﻰ‪ .‬ﯾﻘﻮم ﻣﺼﻄﻔﻰ ﺑ ﺸﻔﲑ رﺳﺎﻟﺘﻪ ‪ ، x  4‬و ﺮﺳﻞ اﻟﻨﺺ اﳌﺸﻔﺮ إﱃ ﶊﻮد ﱪ‬
‫اﻟﺸﺒﻜﺔ‪ ٔ .‬ﲑ ًا‪ ،‬ﯾﻘﻮم ﶊﻮد ﺑﻔﻚ ﺸﻔﲑ رﺳﺎ ﻣﺼﻄﻔﻰ ﺑﻌﺪ ٔن ﺗﺼ ﺑﻮاﺳﻄﺔ ﻣﻔ ﺎ ﻪ اﳋﺎص ‪. d‬‬
‫‪28‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫ﶊﻮد ‪:‬‬ ‫ﻣﺼﻄﻔﻰ ‪:‬‬


‫‪1. p  3, q  11‬‬
‫‪2. n  33‬‬
‫‪x  4 3.  (n)  20‬‬
‫‪4. e  3‬‬
‫‪5. d  7‬‬
‫‪e3‬‬
‫‪‬‬
‫‪y  x e  43  64  31mod 33‬‬
‫‪y  31‬‬
‫‪‬‬ ‫‪‬‬
‫‪x  y d  317  4 mod 33‬‬

‫ﰲ اﻟﻮاﻗﻊ‪ ،‬ا ٔ ﺪاد اﻟﱵ ٔورد ﻫﺎ ﰲ اﳌﺜﺎل اﻟﺴﺎﺑﻖ ﺣﱴ ﻻ ﺗﻘﱰب ﻣﻦ اﻟﻮﺻﻮل إﱃ ﲩﻢ اﳌﻔﺎﺗﯿﺢ اﳌﺴﺘ ﺪﻣﺔ ﰲ اﻟﻮاﻗﻊ‪ .‬ﲆ‬
‫ﺳ ﻞ اﳌﺜﺎل‪ ،‬ﻧﻮرد ﻫﺬﻩ اﳌﻌﺎﻣﻼت اﻟﱵ ﱔ ﻟﻄﻮل اﻟﲀﻣﻞ ‪:‬‬
‫‪E 0 DFD 2C 2 A288 ACEBC 705EFAB30 E 4447541A8C 5 A47 A37185C 5 A9‬‬
‫‪p  CB98389CE 4 DE19199 AA3069 B 404 FD98C801568CB9170 EB712 BF‬‬
‫‪10 B 4955CE 9C 9 DC 8CE 6855C 6123h‬‬
‫‪EBE 0 FCF 21866 FD9 A9 F 0 D72 F 7994875 A8D92 E 67 AEE 4 B515136 B 2‬‬
‫‪q  A778 A8048B149828 AEA30 BD0 BA34 B977982 A3D 42168F 594CA99‬‬
‫‪F 3981DDABFAB 2369 F 229640115h‬‬
‫اﳌﺜﲑ ﻟﻼﻫ م ﰲ ﺗﻨﻔ ﺬ اﳋﻮارزﻣ ﺔ‪ ،‬ﻫﻮ ٔن ﰲ ﲻﻠﯿﺔ اﻟ ﺸﻔﲑ‪ ،‬رﻓﻌﻨﺎ اﻟﺮﺳﺎ ‪ x‬إﱃ ا ٔس ‪ e‬ﻟﺘﻈﻬﺮ ﻣﻌﻨﺎ اﻟﺮﺳﺎ اﳌﺸﻔﺮة ‪ . y‬و‬
‫ﺑﻌﺪ ذ ‪ ،‬ﰲ ﲻﻠﯿﺔ ﻓﻚ اﻟ ﺸﻔﲑ‪ ،‬رﻓﻌﻨﺎ اﻟﺮﺳﺎ اﳌﺸﻔﺮة ‪ y‬إﱃ ا ٔس ‪ d‬ﻓﲀﻧﺖ اﻟﻨ ﺔ ﱔ اﻟﺮﺳﺎ ا ٔﺻﻠﯿﺔ ‪ . x‬ﻟﻨﻜ ﺐ ذ‬
‫ﳌﻌﺎدﻻت ‪:‬‬
‫‪d k pr ( y )  d k pr (e k pb ( x))  ( x e ) d  x de  x mod n‬‬
‫ﻫﺬﻩ اﻟﻌﻼﻗﺔ ﱔ ﺟﻮﻫﺮ ‪ .RSA‬ﻟﻨﱪﻫﻦ ﲱﺔ ﻫﺬﻩ اﻟﻌﻼﻗﺔ‪.‬‬
‫‪ 2.1.3‬ﺮﻫﺎن ﲱﺔ ﺧﻮارزﻣ ﺔ ‪RSA‬‬
‫ﺳﻨﱪﻫﻦ ٔن ﺑﻊ ﻓﻚ اﻟ ﺸﻔﲑ ﻫﻮ اﻟﺘﺎﺑﻊ اﻟﻌﻜﴘ ﻟﺘﺎﺑﻊ اﻟ ﺸﻔﲑ‪ٔ .‬ي ﺳﻨﱪﻫﻦ ﲱﺔ اﻟﻌﻼﻗﺔ ‪:‬‬
‫‪d k pr ( x)  ekpb1 mod n( x)  d k pr (ek pr ( x))  x mod n‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪29‬‬

‫ﻟﱪﻫﺎن ﲱﺔ ﻫﺬﻩ اﻟﻌﻼﻗﺔ‪ ،‬ﻧﻌﻮد إﱃ ﺗﻌﺮﯾﻒ اﳌﻔ ﺎح اﳋﺎص ‪ ، d‬اﻟﱵ ﺗﻘﻮل ٔن )‪ . de  1mod  (n‬ﻣﻦ ﺗﻌﺮﯾﻒ اﻟﺘﻄﺎﺑﻖ‬
‫اﳋﻄﻲ )اﳌﻠﺤﻖ ٔ( ﻫﺬﻩ ﲀ ‪:‬‬
‫)‪de  1  s ( n‬‬
‫ﻣﻦ ٔ ﻞ ﺪد ﲱﯿﺢ ‪ . s‬ﻧﻌﻮض ﰲ اﻟﻌﻼﻗﺔ ا ٔﺳﺎﺳﯿﺔ ‪:‬‬
‫‪d k pr (ek pb ( x))  ( x e )d  x1 s ( n )  x  x s ( n )  x  ( x ( n ) ) s‬‬
‫ﻣﻦ ﻫﻨﺎ ﺳ ﺎﻗﺶ ﺎﻟﺘﲔ ‪:‬‬
‫اﳊﺎ ا ٔوﱃ ‪ . gcd( x, n)  1 :‬ﻧﻄﺒﻖ ﻣﱪﻫﻨﺔ ٔوﻟﺮ )اﳌﻠﺤﻖ ٔ( ﻟﻨﺤﺼﻞ ﲆ اﻟﻌﻼﻗﺔ ‪:‬‬
‫‪x  ( x ( n ) ) s  x 1s  x mod n‬‬
‫و ﻫﻮ اﳌﻄﻠﻮب‪.‬‬
‫اﳊﺎ اﻟﺜﺎﻧﯿﺔ ‪ . gcd( x, n)  1 :‬ﲟﺎ ٔن ‪ ، n  pq‬و ﻣﻦ ‪ ٔ p, q‬ﺪاد ٔوﻟﯿﺔ‪ ،‬ﻓﻼﺑﺪ ٔن ﻜﻮن ﻫﻨﺎك وا ﺪ ﻣﳯﻢ ﯾﻘﺴﻢ ‪. x‬‬
‫ﻟﻨﻔﺮض ﺑﺪون ﻓﻘﺪان اﻟﻌﻤﻮﻣ ﺔ ٔن ‪ ، p x  x  ps‬ﻓ ﻜﻮن ‪ . gcd( x, q)  1‬ﻻﻋ د ﲆ ﻣﱪﻫﻨﺔ ٔوﻟﺮ ‪:‬‬
‫‪t  , ( x ( q ) )t  1mod q‬‬
‫ﯾﻨﺎ ‪:‬‬
‫‪( x ( n ) )t  ( x ( p 1)( q 1) )t  ( x ( q ) )t ( p 1)  1mod q‬‬
‫ﻻﻋ د ﲆ ﺗﻌﺮﯾﻒ اﻟﺘﻄﺎﺑﻖ اﳋﻄﻲ‪ ،‬ﻫﺬا ﲀ ‪:‬‬
‫‪t  , ( x ( n ) )t  1  kq : k ‬‬
‫‪ x( x ( n ) )t  x  xkq‬‬
‫‪ x( x ( n ) )t  x  pskq‬‬
‫‪ x( x ( n ) )t  x  ksn : ks ‬‬
‫‪ x( x ( n ) )t  x mod n‬‬
‫و ﻫﻮ اﳌﻄﻠﻮب‪.‬‬
‫‪ 2.1.4‬ﺗﻘ ﯿﺎت ﴪﯾﻊ ﺗﻨﻔ ﺬ ﺧﻮارزﻣ ﺔ ‪RSA‬‬
‫اﻟ ﺸﻔﲑ اﻟﴪﯾﻊ ﺳﺘ ﺪام اﳌﻔﺎﺗﯿﺢ اﻟﻌﺎﻣﺔ اﻟﺼﻐﲑة‬ ‫‪2.1.4.1‬‬
‫و ﱔ ٕا ﺪى اﻟﻄﺮق اﻟﻔﻌﺎ ﻟ ﴪﯾﻊ ﺗﻨﻔ ﺬ ‪ .RSA‬و ﱔ ﺴﺘ ﺪم ﰲ ﺸﻔﲑ ‪ RSA‬و ﺗ ٔ ﯿﺪ اﻟﺒﺼﲈت اﻻٕﻟﻜﱰوﻧﯿﺔ‪ .‬و ﺑ ﺴﺎﻃﺔ‪،‬‬
‫ﰲ ﻫﺬﻩ اﻟﺘﻘ ﯿﺔ‪ ،‬ﻧﻘﻮم ﺧ ﯿﺎر اﳌﻔ ﺎح اﻟﻌﺎم ‪ e‬ﻟﯿﻜﻮن ﻗﳰﺔ ﺻﻐﲑة‪ .‬ﺗﻄﺒﯿﻘ ًﺎ‪ ،‬ﺎﻟﺒ ًﺎ ﻣﺎ ﺴﺘ ﺪم اﻟﻘﲓ ‪ 2, 7, 2  1,...‬ﻓ ﻜﻮن‬
‫‪16‬‬

‫ﳇﻔﺔ ﲻﻠﯿﺎت اﻟ ﺸﻔﲑ ﰷ ٓﰐ ‪:‬‬


‫‪30‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫‪# SQ  # MUL‬‬ ‫‪e‬‬ ‫ا ﳣﺜﯿﻞ اﻟﺜﻨﺎﰄ ل‬ ‫‪e‬‬ ‫اﳌﻔ ﺎح اﻟﻌﺎم‬


‫‪3‬‬ ‫‪112‬‬ ‫‪3‬‬
‫‪5‬‬ ‫‪100012‬‬ ‫‪17‬‬
‫‪17‬‬ ‫‪100000000000000012‬‬ ‫‪216  1‬‬
‫ﻻﺣﻆ ٔن اﳌﻔﺎﺗﯿﺢ اﻟﻮاردة ٔ ﻼﻩ ذات ﺪد ﻗﻠﯿﻞ ﻣﻦ اﻟﻮا ﺪات ﰲ ا ﳣﺜﯿﻞ اﻟﺜﻨﺎﰄ‪ ،‬و ﻫﺬا ﯾﻔ ﺪ ﰲ ﺗﻘﻠﯿﻞ ﺪد ﲻﻠﯿﺎت اﻟﴬب‬
‫اﳌﻨﻔﺬة‪ .‬ﰲ اﻟﻮاﻗﻊ‪ ،‬اﺧ ﯿﺎر اﳌﻔﺎﺗﯿﺢ اﻟﻌﺎﻣﺔ اﻟﺼﻐﲑة ﻻ ﯾﺆﺮ ﲆ ٔﻣﺎن ﺧﻮارزﻣ ﺔ ‪ ،RSA‬ﻧﻈﺮ ًا ﻟﻜﻮﻧﻪ ﺎﻣ ًﺎ و ﻻ داﻋﻲ ﳉﻌ‬
‫ﻣﳫﻒ ﺣﺴﺎﺑﯿ ًﺎ‪ .‬ﻟﻜﻦ‪ ،‬ﰲ ﻫﺬﻩ اﳊﺎﻻت‪ ،‬ﻻ ﺰال اﳌﻔ ﺎح اﳋﺎص ‪ d‬ﺑﻄﻮ اﻟﲀﻣﻞ‪.‬‬
‫ﻧ ﺔ اﺗﺒﺎع ﻫﺬﻩ اﻟﺘﻘ ﯿﺔ ﱔ ٔن ﲻﻠﯿﺎت اﻟ ﺸﻔﲑ و ﺗ ٔ ﯿﺪ اﻟﺒﺼﲈت اﻻٕﻟﻜﱰوﻧﯿﺔ ﻜﻮن ٔﴎع ﺸﲁ ﻣﻠﺤﻮظ‪ .‬ﰲ اﻟﻮاﻗﻊ‪ ،‬ﱔ‬
‫ﲡﻌﻞ ﺧﻮارزﻣ ﺔ ‪ RSA‬اﳋﻮارزﻣ ﺔ اﻟﻼﻣ ﻨﺎﻇﺮة ا ٔﴎع ﰲ ﻫﺎﺗﲔ اﻟﻌﻤﻠﯿﺘﲔ‪ .‬ﻟﺴﻮء اﳊﻆ‪ ،‬ﻻ ﳝﻜ ﻨﺎ اﺗﺒﺎع ﻫﺬﻩ اﻟﻄﺮﯾﻘﺔ ﻣﻦ ٔ ﻞ‬
‫اﳌﻔ ﺎح اﳋﺎص ‪ٔ ، d‬ي ﻣﻦ ٔ ﻞ ﻓﻚ اﻟ ﺸﻔﲑ و ﺗﻮﻟﯿﺪ اﻟﺒﺼﲈت اﻻٕﻟﻜﱰوﻧﯿﺔ‪ ،‬ﺑﺪون ﺗﻌﺮﯾﺾ ٔﻣﻦ اﳋﻮارزﻣ ﺔ ﻠﺨﻄﺮ‪ .‬و ﻧ ﺔ‬
‫ﺗﻮ ﺪ ﺑﻌﺾ اﳋﻮارزﻣ ﺎت ا ٔﺧﺮى ا ٔﴎع ﻣﻦ ‪ RSA‬ﰲ ﻫﺎﺗﲔ اﻟﻌﻤﻠﯿﺘﲔ )ﻣ ﻞ ﺧﻮارزﻣ ﺎت اﳌﻨﺤﻨﯿﺎت اﻟﻘﻄﻌﯿﺔ(‪.‬‬
‫ﻓﻚ اﻟ ﺸﻔﲑ اﻟﴪﯾﻊ ﲟﱪﻫﻨﺔ اﻟﺒﻮاﰶ اﻟﺼﯿ ﺔ‬ ‫‪2.1.4.2‬‬
‫ﺗﻌﳣﺪ ﻫﺬﻩ اﻟﺘﻘ ﯿﺔ ﲆاﳌﱪﻫﻨﺔ ‪ .1.1.7‬اﻟﻔﻜﺮة ا ٔﺳﺎﺳﯿﺔ ﻫﻨﺎ‪ ،‬ﱔ ٔن اﻟﻄﺮف ا ي ﳝ اﳌﻔ ﺎح اﳋﺎص ‪ٔ ، d‬ﯾﻀ ًﺎ ﳝ‬
‫ا ٔ ﺪاد ‪ . p, q‬ﻓ ﺎٕﻣﲀﻧﻪ ٔن ﯾﻘﻮم ﲝﺴﺎب ا ٔس ﳌﻘﺎس ﲟﻘﺎﺳﲔ ﺻﻐﲑﻦ ﺑﺪ ًﻻ ﻣﻦ ﻣﻘﺎس وا ﺪ ﺒﲑ‪.‬‬
‫اﳋﻄﻮة ‪: 1‬‬
‫ﻧﻘﻮم ٕر ﺎع اﻟﺮﺳﺎ ‪ x‬ﳌﻘﺎﺳﲔ ‪ p, q‬ﻟﻨﺤﺼﻞ ﲆ ‪:‬‬
‫‪y p  y mod p‬‬

‫‪yq  y mod q‬‬


‫‪:‬‬ ‫‪d‬‬ ‫ﻟ ﺴﺒﺔ ﻟ ٔ س‬ ‫و ﻛﺬ‬
‫‪d p  d mod p  1‬‬
‫‪d q  d mod q  1‬‬
‫اﳋﻄﻮة ‪: 2‬‬
‫‪ x‬ﻟﻨﺤﺼﻞ ﲆ‬ ‫ﻧﻘﻮم ﲝﺴﺎب ا ٔﺳﲔ ﻟ ﺴﺦ اﳌﺮﺟﻌﺔ ﻣﻦ اﻟﺮﺳﺎ‬
‫‪d‬‬
‫‪x p  y p p mod p‬‬
‫‪d‬‬
‫‪xq  yq q mod q‬‬
‫ﻧﻼﺣﻆ ٔن ﻣﻦ ا ٔ ﺪاد ‪ x , x , y , y , d , d‬ﳏﺪودة ٔرﻗﺎم ‪ . p, q‬و ﲟﺎ ٔﻧﻨﺎ ﳔﺘﺎر ا ٔ ﺪاد ا ٔوﻟﯿﺔ ‪ p, q‬ﻟﯿﻜﻮن ﻟﻬﺎ‬
‫‪p‬‬ ‫‪q‬‬ ‫‪p‬‬ ‫‪q‬‬ ‫‪p‬‬ ‫‪q‬‬

‫ﺣﻮاﱄ ﻧﻔﺲ اﻟﻄﻮل‪ ،‬ﻓﻠﲁ ﻣﻦ ا ٔ ﺪاد اﻟﺴﺎﺑﻘﺔ ﺣﻮاﱄ ﻧﺼﻒ ﻃﻮل ‪. n‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪31‬‬

‫اﳋﻄﻮة ‪: 3‬‬
‫ﻧﻘﻮم ﳊﺴﺎب اﻟﻨﻈﺎ ﺮ ا ٓﺗﯿﺔ ‪:‬‬
‫‪c p  q 1 mod p‬‬
‫‪cq  p 1 mod q‬‬
‫ﻟﻌﻼﻗﺔ ‪:‬‬ ‫‪y‬‬ ‫‪ . x‬ﺣﺴﺐ ﻣﱪﻫﻨﺔ اﻟﺒﻮاﰶ اﻟﺼﯿ ﺔ‪ ،‬ﺗﻌﻄﻰ اﻟﻨ ﺔ‬ ‫‪p‬‬ ‫‪, xq‬‬ ‫ﻧﻘﻮم ﺑﱰﯿﺐ اﻟﻨ ﺔ ‪ x‬ﻣﻦ ﺴ ﺎﲥﺎ اﳌﺮﺟﻌﺔ‬
‫‪x  qc p x p  pcq xq mod n‬‬
‫ﻣ ﺎل ‪ :‬ﻟﺘﻜﻦ ﻣﻌﺎﻣﻼت ‪ RSA‬ﰷ ٓﰐ ‪:‬‬
‫‪p  11, q  13, n  pq  143‬‬
‫‪e  7, d  e1  103mod120‬‬
‫ﺳﻨﻘﻮم ا ٓن ﺑ ﻔ ﺬ ﻓﻚ اﻟ ﺸﻔﲑ ﺑﺘﻘ ﯿﺔ اﻟﺒﻮاﰶ اﻟﺼﯿ ﺔ ﻣﻦ ٔ ﻞ اﻟﻨﺺ اﳌﺸﻔﺮ ‪. y  15‬‬
‫اﳋﻄﻮة ‪: 1‬‬
‫‪y p  15  4 mod11‬‬
‫‪yq  15  2 mod13‬‬

‫‪d p  103  3 mod10‬‬

‫‪d q  103  7 mod12‬‬


‫اﳋﻄﻮة ‪: 2‬‬
‫‪d‬‬
‫‪x p  y p p  43  64  9 mod11‬‬
‫‪d‬‬
‫‪xq  yq q  27  128  11mod13‬‬
‫اﳋﻄﻮة ‪: 3‬‬
‫‪c p  131  21  6 mod11‬‬
‫‪cq  111  6 mod13‬‬
‫‪x  qc p x p  pcq xq  13  6  9  11 6  11  1428  141mod143‬‬
‫ٔﻣﺎ ﻟ ﺴﺒﺔ ﻟﺘﻌﻘ ﺪ ﲻﻠﯿﺔ ﻓﻚ اﻟ ﺸﻔﲑ ﺑﺘﻘ ﯿﺔ اﻟﺒﻮاﰶ اﻟﺼﯿ ﺔ‪ .‬ﻜﻔﻲ ﳊﺴﺎب ﳇﻔﺔ اﻟﻌﻤﻠﯿﺔ ٔن ﳓﺴﺐ ﳇﻔﺔ اﳋﻄﻮة اﻟﺜﺎﻧﯿﺔ‪ ،‬ﻧﻈﺮ ًا‬
‫ﻟﺴﻬﻮ اﻟﻌﻤﻠﯿﺎت اﳊﺴﺎﺑﯿﺔ ﰲ اﳋﻄﻮات ا ٔﺧﺮى‪ .‬ﻟﻨﻔﺮض ٔن ﻃﻮل ‪ n‬ﳣﺜﯿﻞ اﻟﺜﻨﺎﰄ ﻫﻮ ‪ ، r‬ﻓ ﻜﻮن ﻃﻮل ﰻ ﻣﻦ ‪ p, q‬ﻫﻮ‬
‫‪ . r 2‬ﻓ ﻜﻮن ﳇﻔﺔ ﰻ ﺣﺴﺎب ٔس ﰲ اﳋﻄﻮة اﻟﺜﺎﻧﯿﺔ ﱔ ‪ 3 4  rc‬ﻣﻦ ٔ ﻞ ﺑﺖ ﻣﺎ ‪ . c‬و ﻜﻮن ﳇﻔﺔ اﳋﻄﻮة اﻟﺜﺎﻧﯿﺔ‪ ،‬و‬
‫ﻟﺘﺎﱄ ﺗﻘﺮﯾﺒ ًﺎ ﰻ اﻟﺘﻨﻔ ﺬ ﱔ ‪ . 3 2  rc‬ﻟﻜﻦ‪ ،‬ﺗﺬ ﺮ ٔن ﺗﻌﻘ ﺪ ﲻﻠﯿﺔ اﻟﴬب ﯾﱱاﯾﺪ ﺮﺑﯿﻌﯿ ًﺎ ﻣﻊ ﺪد ﻣ ﺎزل ا ٔ ﺪاد اﳌﴬوﺑﺔ‪ .‬و‬
‫‪32‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫ﲟﺎ ٔن ﰻ ﻣﻦ ا ٔ ﺪاد اﻟﺴﺎﺑﻘﺔ ﲝﻮاﱄ ﻧﺼﻒ ﻃﻮل ‪ ، n‬ﻓ ٔن ﳇﻔﺔ ﺗﻨﻔ ﺬ ﲻﻠﯿﺔ ﻓﻚ اﻟ ﺸﻔﲑ ﺑﺘﻘ ﯿﺔ اﻟﺒﻮاﰶ اﻟﺼﯿ ﺔ ٔﻗﻞ ﺑ ٔرﺑﻊ‬
‫ﻣﺮات ﻣﻦ ﺗﻨﻔ ﺬﻫﺎ ﻟﻄﺮﯾﻘﺔ اﻟﻌﺎدﯾﺔ‪.‬‬
‫‪ٔ 2.1.5‬ﻣﻦ ‪RSA‬‬
‫ﻣﺎ ﴍﺣ ﺎﻩ إﱃ ﺪ ا ٓن ﻋﻦ ﺧﻮارزﻣ ﺔ ‪ RSA‬ﻫﻮ ﻣﺎ ﯾﺪﻋﻰ "اﳋﻮارزﻣ ﺔ اﻟﺘﻌﻠﳰﯿﺔ"‪ .‬ﻟﻜﻦ ﯾﻮ ﺪ ﰲ اﳋﻮارزﻣ ﺔ اﻟﺘﻌﻠﳰﯿﺔ اﻟﻌﺪﯾﺪ‬
‫ﻣﻦ اﻟﻨﻘﺎط اﻟﻀﻌﻒ اﻟﱵ اﺳﺘ ﺪ ﺎ ﻠﲈء اﻟ ﺸﻔﲑ ﻟﺸﻦ ﳗﻮﻣﺎت ﻣ ﻌﺪدة ﲆ ‪ .RSA‬ﺳﻨﻘﻮم ﰲ ﻫﺬﻩ اﻟﻘﺴﻢ ﴩح ﺑﻌﺾ ﻫﺬﻩ‬
‫اﻟﻬﺠﻮﻣﺎت و ﻃﺮق ﺗﻔﺎدﳞﺎ‪.‬‬
‫ﻼﻗﺔ ا ٔﻣﻦ ﻟﺘ ﻠﯿﻞ‬ ‫‪2.1.5.1‬‬
‫ٔراد ﺎﰖ ٔن ﯾﻘﻮم ﲝﺴﺎب اﳌﻔ ﺎح اﳋﺎص ‪ d‬ﻣﻦ اﳌﻔ ﺎح اﻟﻌﺎم ‪ e‬و اﳌﻘﺎس ‪ . n‬اﻋ د ًا ﲆ ﺗﻌﺮﯾﻒ اﳌﻔ ﺎح اﳋﺎص ‪ ، d‬ﻠﯿﻪ‬
‫ٔن ﯾﻘﻮم ﲝﺴﺎب ﻧﻈﲑ ‪ e‬اﻟﴬﰊ ﳌﻘﺎس )‪ .  (n‬و ﻫﻮ ﲝﺎ ﺔ ﳌﻌﺮﻓﺔ )‪  (n‬ﳊﺴﺎﺑﻪ‪ .‬و ﳌﻌﺮﻓﺔ )‪  (n‬ﳚﺐ ﻠﯿﻪ ٔن ﳝ‬
‫اﻟﻌﺪد ﻦ ‪ . p, q‬ﻓ ﺒﺪو ٔن ٕﻣﲀﻧﻪ ٔن ﺸﻦ ﳗﻮم ﲆ ‪ RSA‬ﲟ ﺎو ﲢﻠﯿﻞ اﳌﻘﺎس ‪ . n‬ﺑﻌﺪ ٔن ﯾﻘﻮم ﺑﺬ ‪ ،‬ﯾﻘﻮم ﲝﺴﺎب‬
‫)‪ ،  (n)  ( p  1)(q  1‬و ﻟﺘﺎﱄ ٕﻣﲀﻧﻪ ﺣﺴﺎب ‪ d‬ﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﺔ اﻟﱵ ﺣﺴﺒﻪ ﲠﺎ اﻟﻄﺮف ا ٔوﺳﻂ‪ .‬ﻫﺬا ﻣﺎ ﯾﺪﻋﻰ ﻣﺴ ٔ‬
‫‪.RSA‬‬
‫ﻣﱪﻫﻨﺔ ‪ : 2.1.5.1‬ﻣﺴ ٔ اﳊﺼﻮل ﲆ اﳌﻔ ﺎح اﳋﺎص ‪ d‬ﻣﻦ اﳌﻔ ﺎح اﻟﻌﺎم ‪ e‬و اﳌﻘﺎس ‪) n‬ﻣﺴ ٔ ‪ (RSA‬و ﻣﺴ ٔ ﲢﻠﯿﻞ‬
‫اﳌﻘﺎس ‪ n‬إﱃ ﻋﻮاﻣ ا ٔوﻟﯿﺔ ﻣ ﲀﻓ ﺘﺎن ﺣﺴﺎﺑﯿ ًﺎ‪.‬‬
‫ﺮﻫﺎن ﻫﺬﻩ اﳌﱪﻫﻨﺔ ﯾﺘﻄﻠﺐ ﻣﻌﻠﻮﻣﺎت ﻣ ﻘﺪﻣﺔ ﰲ دراﺳﺔ ﺗﻌﻘ ﺪ اﳋﻮارزﻣ ﺎت‪ ،‬ﺳ ﺎوز ذ ﺮﻩ ﻧﻈﺮ ًا ﻟﻄﻮ ‪.‬‬
‫ﲟﺎ ٔﻧﻨﺎ ا ﱰ اﻟﻌﺪد ﻦ ‪ p, q‬ﺒﲑﻦ ﲝﯿﺚ ٔﻧﻪ ﻣﻦ اﳌﺴﺘﺤﯿﻞ ﺣﺴﺎﺑﯿ ًﺎ ﲢﻠﯿﻞ ‪ n‬إﱃ ﻋﻮاﻣ ا ٔوﻟﯿﺔ‪ ،‬ﳁﻦ اﳌﺴﺘﺤﯿﻞ ﺣﺴﺎﺑﯿ ًﺎ‬
‫ﳒﺎح ﻫﺬﻩ اﻟﻬﺠﻮم‪ .‬ﻟﻜﻦ‪ ،‬ﱂ ﯾﱲ إﺛﺒﺎت ٔن ﴪ ‪ RSA‬و ﲢﻠﯿﻞ ‪ n‬ﲻﻠﯿﺘﺎن ﻣ ﲀﻓ ﺘﺎن ﺣﺴﺎﺑﯿ ًﺎ ﺣﱴ اﻠﺤﻈﺔ ﻫﺬﻩ‪.‬‬
‫اﳌﻔﺎﺗﯿﺢ اﻟﻌﺎﻣﺔ و اﻟﺮﺳﺎﺋﻞ اﻟﺼﻐﲑة‬ ‫‪2.1.5.2‬‬
‫ﻛﲈ ﻗﺸﻨﺎ ﺳﺎﺑﻘ ًﺎ ﰲ ‪ٕ ،1.5.2‬ﻣﲀﻧﻨﺎ ٔن ﴪع ﲻﻠﯿﺔ اﻟ ﺸﻔﲑ ﻋﻦ ﻃﺮﯾﻖ اﺧ ﯿﺎر اﳌﻔ ﺎح اﻟﻌﺎم ‪ e‬ﻟﯿﻜﻮن ﺻﻐﲑ ًا‪ .‬و ﻣﻦ اﳌﺘﻌﺎرف‬
‫ﻠﯿﻪ اﺧ ﯿﺎر ‪ . e  3‬ﻟﯿﻜﻦ ﯾﻨﺎ ﻃﺮف ﺮﯾﺪ إرﺳﺎل اﻟﺮﺳﺎ ‪ x‬إﱃ ﺛﻼﺛﺔ ٔﻃﺮاف ﳐﺘﻠﻔﺔ‪ ،‬و ﺴﺘ ﺪم اﳌﻔ ﺎح ‪ e  3‬ﻣﻦ ٔ ﻞ‬
‫ﲻﻠﯿﺎت اﻟ ﺸﻔﲑ اﻟﺜﻼث‪ .‬ﻓ ﻘﻮم ﻫﺬا اﻟﻄﺮق ٕرﺳﺎل ‪) y  x mod n‬ﳚﺐ ٔن ﻜﻮن اﳌﻘﺎﺳﺎت اﻟﺜﻼث ﳐﺘﻠﻔﺔ(‪ .‬و ﻟﻜﻦ‪،‬‬
‫‪i‬‬
‫‪3‬‬
‫‪i‬‬

‫ٕﻣﲀن ﻣ ﻨﺼﺖ ٔن ﻜ ﺐ ﲨ اﻟﺘﻄﺎﺑﻘﺎت اﳋﻄﯿﺔ ا ٓﺗﯿﺔ ‪:‬‬


‫‪m  y1 mod n1‬‬
‫‪m  y2 mod n2‬‬
‫‪m  y3 mod n3‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪33‬‬

‫‪ ، x‬ﻓﻼﺑﺪ ٔن‬ ‫‪3‬‬


‫و ٕﻣﲀﻧﻪ ٔن ﳛﻞ اﶺ اﻟﺴﺎﺑﻘﺔ اﻋ د ًا ﲆ ﻣﱪﻫﻨﺔ اﻟﺒﻮاﰶ اﻟﺼﯿ ﺔ ﻟﯿﺤﺼﻞ ﲆ ‪ . m‬و ﲟﺎ ٔن‬
‫‪ n1n2 n3‬‬

‫ﻜﻮن ‪ . m  x‬و ﻟﺘﺎﱄ ٕﻣﲀﻧﻪ ٔن ﳛﺼﻞ ﲆ ‪ x‬ﲝﺴﺎب اﳉﺬر اﻟﺘﻜﻌﯿﱯ ل ‪. m‬‬ ‫‪3‬‬

‫ﻟﲄ ﻧﺘﺠﻨﺐ ﺪوث ﻫﺬا اﻟﻬﺠﻮم‪ٕ ،‬ﻣﲀﻧﻨﺎ ٔن ﺰﯾﺪ ﲆ ‪ x‬ﺳﻠﺴﺔ ﺷﺒﻪ ﻋﺸﻮاﺋﯿﺔ ﻣﻦ اﻟﺒﺘﺎت ﻗ ﻞ ﲻﻠﯿﺔ اﻟ ﺸﻔﲑ‪ .‬و ﻣﻦ ٔ ﻞ‬
‫ﰻ ﻃﺮف ﺮﯾﺪ إن ﺮﺳﻞ رﺳﺎ ‪ ،‬ﻧﻮ ﺳﻠﺴﺔ ﳐﺘﻠﻔﺔ ﻣﻦ اﻟﺒﺘﺎت‪ ،‬و ﻫﻮ ﻣﺎ ﯾﺪﻋﻰ ب"ﲤﻠﯿﺢ" اﻟﺮﺳﺎ ‪.‬‬
‫و ﻛﺬ ‪ ،‬ﻻ ﳚﺐ ٔن ﺴﺘ ﺪم ﻣﻔﺎﺗﯿﺢ اﻟ ﺸﻔﲑ اﻟﺼﻐﲑة ﻣﻦ ٔ ﻞ اﻟﺮﺳﺎﺋﻞ اﻟﻘﺼﲑة ﻣﻘﺎرﻧﺔ ﻣﻊ اﳌﻔ ﺎح اﻟﻌﺎم‪ .‬ﻓﺎٕذا ﰷن ‪x  n‬‬
‫‪e‬‬

‫‪ ،‬ﻓ ﺎٕﻣﲀن اﳌﻬﺎﰖ ٔن ﺴﱰﺟﻊ اﻟﺮﺳﺎ ا ٔﺻﻠﯿﺔ ﻋﻦ ﻃﺮﯾﻖ ﺣﺴﺎب ‪ٕ . y‬ﻣﲀﻧﻨﺎ ٔن ﻧﺘﺠﻨﺐ ﻫﺬﻩ اﳌﺸﳫﺔ ﻋﻦ ﻃﺮﯾﻖ "ﲤﻠﯿﺢ"‬
‫‪e‬‬

‫اﻟﺮﺳﺎ ‪.‬‬
‫اﻟﺮﺳﺎﺋﻞ اﻟﻘﺼﲑة ﺑﻐﺾ اﻟﻨﻈﺮ ﻋﻦ اﳌﻔ ﺎح اﻟﻌﺎم ﺸﲁ ﺧﻄﺮ ًا‪ .‬ﻓﺎٕذا ﰷن ﺪد اﻟﺮﺳﺎﺋﻞ اﳌﻤﻜ ﺔ ﻣﻦ ﻃﻮل ﳏﺪد ﻗﺼﲑ ﺴ ًﺎ ٔو‬
‫ﺣﱴ ﻣ ﻮﻗﻊ‪ٕ ،‬ﻣﲀن ﺎﰖ ﺑ ﺴﺎﻃﺔ ٔن ﺸﻔﺮ ﰻ ﺣ ﻻت اﳌﻤﻜ ﺔ ﺣﱴ ﳛﺼﻞ ﲆ اﻟﺮﺳﺎ اﳌﺸﻔﲑ اﻟﱵ ر ٓﻫﺎ ﻟﺸﺒﻜﺔ‪.‬‬
‫ٔﯾﻀ ًﺎ‪ ،‬ﲤﻠﯿﺢ اﻟﺮﺳﺎ ٔ ﺪ ﻃﺮق ﺗﻔﺎدي ﻫﺬﻩ اﳌﺸﳫﺔ‪.‬‬
‫اﳌﻔﺎﺗﯿﺢ اﳋﺎﺻﺔ اﻟﺼﻐﲑة‬ ‫‪2.1.5.3‬‬
‫ﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﺔ اﻟﱵ ﴎﻋﻨﺎ ﻓﳱﺎ ﺗﻨﻔ ﺬ اﳋﻮارزﻣ ﺔ ﻣﻦ ٔ ﻞ ﲻﻠﯿﺔ اﻟ ﺸﻔﲑ‪ٕ ،‬ﻣﲀﻧﻨﺎ ٔن ﴪع ﲻﻠﯿﺔ ﻓﻚ اﻟ ﺸﻔﲑ ﺧ ﯿﺎر ٔس‬
‫‪6‬‬
‫ﻓﻚ اﻟ ﺸﻔﲑ ﺻﻐﲑ ًا‪ .‬ﻟﻜﻦ‪ ،‬ﰲ ﺎل ﰷن )‪ gcd( p  1, q  1‬ﺻﻐﲑا ‪-‬و ﻫﺬﻩ ﱔ اﳊﺎ اﻟﻌﺎﻣﺔ‪ ، -‬و ﰷن ‪ٔ d‬ﻗﴫ ﻣﻦ رﺑﻊ ‪n‬‬
‫ﯾﻨﺼﺢ ﺑ ٔن ﻜﻮن ﻃﻮل‬ ‫ﳣﺜﯿﻞ اﻟﺜﻨﺎﰄ‪ ،‬ﻓ ﻮ ﺪ ﺧﻮارزﻣ ﺔ ﳊﺴﺎب اﳌﻔ ﺎح اﳋﺎص ‪ d‬ﻗﺎم واﯾﲊ ﺑﺪراﺳﳤﺎ ﰲ رﺳﺎﻟﺘﻪ‪.‬‬
‫اﳌﻔ ﺎح اﳋﺎص ﯾﻘﺎرب ﻃﻮل اﳌﻘﺎس ‪. n‬‬
‫اﳌﻘﺎﺳﺎت اﳌﺸﱰﻛﺔ‬ ‫‪2.1.5.4‬‬
‫ﺎدة ﻣﺎ ﯾﱲ اﻗﱰاح وﺟﻮد ﻃﺮف ﻣﻮﺛﻮق ﰲ ﺷﺒﻜﺔ ﻣﺎ‪ ،‬و ﯾﻘﻮم ﻫﺬا اﻟﻄﺮف ﲝﺴﺎب اﳌﻘﺎس ‪ ، n‬و ﻫﺬا اﳌﻘﺎس وا ﺪ ﶺﯿﻊ‬
‫ا ٔﻃﺮاف ﰲ ﻫﺬﻩ اﻟﺸﺒﻜﺔ‪ .‬و ﯾﱲ ﺗﻮزﯾﻊ ﺛﻨﺎﺋﯿﺎت ) ‪ (e , d‬ﻟﲁ ﻃﺮﻓﲔ ﰲ ﻫﺬﻩ اﻟﺸﺒﻜﺔ‪.‬‬
‫‪i‬‬ ‫‪i‬‬

‫ﻟﻜﻦ‪ ،‬ﺗﻮ ﺪ ﻃﺮﯾﻘﺔ ﲤﻜ ﻨﺎ ﻣﻦ ﲢﻠﯿﻞ ‪ n‬ﻋﻦ ﻃﺮﯾﻖ ﻣﻌﺮﻓﺔ اﻟﺜﻨﺎﺋﯿﺔ ) ‪ . (e, d‬و ﻟﺘﺎﱄ‪ ،‬إذا ﻋﺮف ﻃﺮف وا ﺪ ﲢﻠﯿﻞ ‪ ، n‬ﻓﻘﺪ‬
‫ﻋﺮﻓﻪ ﻣﻦ ٔ ﻞ ﲨﯿﻊ ا ٔﻃﺮاف ﰲ ﻫﺬﻩ اﻟﺸﺒﻜﺔ‪.‬‬
‫اﻟﻬﺪف ﻣﻦ ﻫﺬﻩ اﻟﻄﺮﯾﻘﺔ ﻫﻮ ﺟﻌﻞ اﳌﺮاﺳﻼت ﱪ ﺷﺒﻜﺔ ﻣﺎ ٔﻛﱶ ﻛﻔﺎءة و ﴎ ﺔ‪ ،‬ﻟﻜﳯﺎ ﲑ ٓﻣ ﺔ‪ .‬ا ﳚﺐ ﲆ ﰻ ﻃﺮﻓﲔ‬
‫اﲣﺎذ ﻣﻘﺎس ‪ n‬ﺎص ﲠﲈ‪.‬‬ ‫‪i‬‬

‫‪6‬ﻫﻨﺎ ﻧﻘﻮم ﲝﺴﺎب ا ٔس اﳋﺎص ٔو ًﻻ‪ ،‬ﰒ ﳓﺴﺐ ﻧﻈﲑﻩ اﻟﴬﰊ ﳌﻘﺎس ‪ n‬و ﻟ ﺲ ﻟﻌﻜﺲ‪.‬‬
‫‪34‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫اﻟﺮﺳﺎﺋﻞ اﻟﻼﳐﻔ ﺔ‬ ‫‪2.1.5.5‬‬


‫ﯾﻘﺎل ﻋﻦ رﺳﺎ ٔﳖﺎ ﻻﳐﻔ ﺔ إذا ﰷﻧﺖ ﺸﻔﺮ ﻟﺘﻌﻄﻲ اﻟﺮﺳﺎ ﻧﻔﺴﻬﺎ‪ٔ ،‬ي ‪ . x  x mod n‬داﲚ ًﺎ ﺗﻮ ﺪ ﺑﻌﺾ اﻟﺮﺳﺎﺋﻞ اﻟﻼﳐﻔ ﺔ‬
‫‪e‬‬

‫ﰲ ﻧﻈﺎم ‪ RSA‬ﲈ ﰷﻧﺖ ﻣﻌﻤﻼﺗﻪ‪ .‬ﲆ ﺳ ﻞ اﳌﺜﺎل ‪ x  1, x  0, x  1‬ﱔ رﺳﺎﺋﻞ ﻻ ﳐﻔ ﺔ‪ٕ .‬ﻣﲀﻧﻨﺎ ٔن ﻧﻌﺮف ﺪد‬
‫اﻟﺮﺳﺎﺋﻞ اﻟﻼﳐﻔ ﺔ ﰲ ﻧﻈﺎم ‪ RSA‬ﲟﻌﻤﻼت ﻣﺎ ﻟﺼﯿﻐﺔ ‪:‬‬
‫‪1  gcd(e  1, p  1)  1  gcd(e  1, q  1)‬‬
‫ﻓﺪاﲚ ًﺎ ﻜﻮن ﺪد اﻟﺮﺳﺎﺋﻞ اﻟﻼﳐﻔ ﺔ ﻫﻮ ﲆ ا ٔﻗﻞ ‪ . 9‬ﻓﺎٕذا ﰷﻧﺖ ا ٔ ﺪاد ‪ p, q‬ﻋﺸﻮاﺋﯿﺔ‪ ،‬و اﳌﻔ ﺎح اﻟﻌﺎم ﺻﻐﲑ‬
‫‪ ، e  3, e  2  1‬ﻓ ﻜﻮن ﺪد اﻟﺮﺳﺎﺋﻞ اﻟﻼﳐﻔ ﺔ ﺻﻐﲑ و ﻤﻞ ٔﻣﺎم ﺪد اﻟﺮﺳﺎﺋﻞ اﳌﻤﻜ ﺔ‪ .‬و ﻟﺘﺎﱄ ﻻ ﺸﲁ اﻟﺮﺳﺎﺋﻞ‬ ‫‪16‬‬

‫اﻟﻼﳐﻔ ﺔ ﺧﻄﺮ ﲆ ٔﻣﻦ ‪.RSA‬‬


‫‪ 2.2‬ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ‪-‬ﻫﯿﻠﲈن‬
‫ﺎءت ﻫﺬﻩ اﳋﻮارزﻣ ﺔ ﻣﻦ وﯾﺘﻔ دﯾﻔﻲ و ﻣﺎرﻦ ﻫﯿﻠﲈن‪ ،‬و ﻫﲈ ﻣﺆﺳﺴﺎ اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‪ .‬و اﻗﱰ ﺎ ﻫﺬﻩ اﳋﻮارزﻣ ﺔ اﻟﱵ‬
‫ﺗﻌﺘﱪ ٔول ﺧﻮارزﻣ ﺔ ﻻﻣ ﻨﺎﻇﺮة‪.‬‬
‫ﰲ وﻗ ﻨﺎ اﳊﺎﱄ‪ ،‬ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ‪-‬ﻫﯿﻠﲈن ﻫﻮ اﳋﻮارزﻣ ﺔ اﳌﻌﯿﺎرﯾﺔ ﰲ اﻟﻌﺪﯾﺪ ﻣﻦ ﺮوﺗﻮﻮﻻت ﻧﱰﻧﺖ‪ .‬ﻣ ﻞ ) ‪Internet‬‬
‫‪ (Protocol Security‬و )‪ .(Secure Shell‬ﺴﺘ ﺪم ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ‪-‬ﻫﯿﻠﲈن ﻞ ﳌﺸﳫﺔ ﺗﺒﺎدل اﳌﻔﺎﺗﯿﺢ‪ .‬و ﯾﻌﺘﱪﻩ‬
‫اﻟﺒﻌﺾ اﳊﻞ ا ٔﻛﱶ ﻛﻔﺎءة‪ ،‬ﻟﻜﻦ ﻻ ﺰال اﻟﺒﻌﺾ ا ٓﺧﺮ ﯾﻔﻀﻞ ﺧﻮارزﻣ ﺎت ٔﺧﺮى ﻧﻈﺮ ًا ﻟﻜﻮﳖﺎ ٔوﺳﻊ اﺳﺘ ﺪاﻣﺎ ﻣ ﻪ‪ ،‬ﻣ ﻞ‬
‫‪ RSA‬اﻟﱵ ﺴﺘ ﺪم إﱃ ﺎﻧﺐ ﺗﺒﺎدل اﳌﻔﺎﺗﯿﺢ‪ ،‬ﻣﻦ ٔ ﻞ اﻟﺒﺼﲈت اﻻٕﻟﻜﱰوﻧﯿﺔ‪.‬‬
‫ﰲ ﻗﻠﺐ ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ‪-‬ﻫﯿﻠﲈن ﺗﻮ ﺪاﳌﺴ ٔ ‪ 1.3.3‬و ﱔ ﺑﻊ اﳉﻬﺔ اﻟﻮا ﺪة ﻓ ﻪ‪.‬ﺳﻨﻘﻮم ا ٓن ﴩح ٓﻟﯿﺔ ﲻﻞ ﻫﺬا اﻟﺘﺒﺎدل‪.‬‬
‫و ﺳ ﺎﻗﺶ ٔﻣﻦ ﻫﺬﻩ اﳋﻮارزﻣ ﺔ‪.‬‬
‫‪ٓ 2.2.1‬ﻟﯿﺔ ﲻﻞ ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ‪-‬ﻫﯿﻠﲈن‬
‫ﯾﻘﻮم ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ ﻫﯿﻠﲈن ﲆ ﻣﺮ ﻠﺘﲔ‪ .‬اﳌﺮ اﻟﺘﺤﻀﲑﯾﺔ و اﳌﺮ ا ٔﺳﺎﺳﯿﺔ‪.‬‬
‫اﳌﺮ اﻟﺘﺤﻀﲑﯾﺔ ‪:‬‬
‫‪ .1‬ا ﱰ ﺪد ًا ٔوﻟﯿ ًﺎ ﺒﲑ ًا ‪. p‬‬
‫‪ .2‬ا ﱰ ﺪد ًا ﲱﯿ ًﺎ ‪.   2,3,..., p  2‬‬
‫‪ .3‬اﴩ ‪ p‬و ‪. ‬‬
‫ﺎدة ﻣﺎ ﯾﻘﻮم ﳌﺮ اﻟﺘﺤﻀﲑﯾﺔ ﻃﺮف وﺳﻄﻲ ﻣﻮﺛﻮق‪ .‬ﰲ ﺎل ﺣﺼﻞ ﻃﺮﻓﺎن )ﶊﻮد و ﻣﺼﻄﻔﻰ( ﲆ اﳌﻌﺎﻣﻼت اﻟﺴﺎﺑﻘﺔ‪،‬‬
‫ٕﻣﲀﳖﲈ ٔن ﯾ ﺎد ًﻻ ﻣﻔ ﺎ ًﺎ ﻛﲈ ﯾﲇ ‪:‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪35‬‬

‫اﳌﺮ ا ٔﺳﺎﺳﯿﺔ ‪:‬‬


‫ﶊﻮد‬ ‫ﻣﺼﻄﻔﻰ‬
‫‪b  k pr , B  2,3,..., p  2 a  k pr , A  2,3,..., p  2‬‬
‫‪  B  k pub , B   b mod p‬‬ ‫‪  A  k pub , A   a mod p‬‬

‫‪k‬‬
‫‪pb , A‬‬ ‫‪A‬‬
‫‪‬‬
‫‪k‬‬ ‫‪B‬‬
‫‪‬‬
‫‪pb ,B‬‬

‫‪k‬‬ ‫‪k‬‬
‫‪k AB  k pbpr,,AB  Ab mod p k AB  k pbpr,,BA  B a mod p‬‬

‫‪ 2.2.2‬ﺮﻫﺎن ﲱﺔ ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ ﻫﯿﻠﲈن‬


‫ﻗﳰﺔ ‪ k‬اﻟﱵ ﺣﺴﳢﺎ ﶊﻮد ﱔ ‪:‬‬ ‫‪AB‬‬

‫‪k‬‬
‫‪k AB  k pbpr,,BA  B a  ( b ) a mod p‬‬
‫و اﻟﻘﳰﺔ اﻟﱵ ﺣﺴﳢﺎ ﻣﺼﻄﻔﻰ ﱔ ‪:‬‬
‫‪k‬‬
‫‪k AB  k pbpr,,AB  Ab  ( a )b mod p‬‬
‫إذا ﻫﲈ ﻣ ﻔﻘﺎن ﲆ اﳌﻔ ﺎح ﻧﻔﺴﻪ‪ .‬ﻓ ﺑﻌﺪ‪ ،‬ﺳ ﺴﺘ ﺪﻣﺎن ﻫﺬا اﳌﻔ ﺎح ﻣﻦ ٔ ﻞ اﻟ ﺸﻔﲑ اﳌﺘﻨﺎﻇﺮ ب ‪ٔ AES‬و ٔي ﺧﻮارزﻣ ﺔ‬
‫ﻣ ﻨﺎﻇﺮة ٔﺧﺮى‪ .‬و ﻟﻜﻦ‪ ،‬إذا ٔراد ﺎﰖ ﻣﺎ ٔن ﳛﺴﺐ اﳌﻔ ﺎح ﻣﻦ اﳌﻌﻄﯿﺎت اﳌﻮﺟﻮدة ﰲ اﻟﺸﺒﻜﺔ‪ ،‬و ﱔ ‪ A‬و ‪ ، B‬ﻓﻌﻠﯿﻪ ٔن‬
‫ﳛﺴﺐ ‪ ‬ﻣﻦ ‪ ‬و ‪ . ‬و ﻟﻜﻦ ﻫﺬﻩ ﱔ ﻣﺴ ٔ اﻠﻮ ﺎرﯾﱲ‪ ،‬و ﺣﺴﺎﺑﻪ ﺳﯿﻜﻮن ﺷﺪﯾﺪ اﻟﳫﻔﺔ اﳊﺴﺎﺑﯿﺔ‪.‬‬
‫‪b‬‬ ‫‪a‬‬ ‫‪ab‬‬
‫‪36‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫ﻣ ﺎل ‪ :‬ﻟﯿﻜﻦ ‪. p  29,   2‬‬


‫ﶊﻮد‬ ‫ﻣﺼﻄﻔﻰ‬
‫‪               b  k pr , B 12‬‬ ‫‪               a  k pr , A  5‬‬
‫‪B  k pub , B   b  212  7 mod 29 A  k pub , A   a  25  3 mod 29‬‬

‫‪pb , A‬‬‫‪k‬‬ ‫‪ A 3‬‬


‫‪‬‬ ‫‪‬‬
‫‪k‬‬ ‫‪ B7‬‬
‫‪‬‬
‫‪pb , B‬‬
‫‪‬‬
‫‪k‬‬ ‫‪k‬‬
‫‪k AB  k pbpr,,AB  Ab  312  16 mod 29 k AB  k pbpr,,BA  B a  75  mod 29‬‬

‫‪ 2.3‬ﺧﻮارزﻣ ﺎت اﳌﻨﺤﻨﯿﺎت اﻟﻨﺎﻗﺼﯿﺔ‬


‫اﻟ ﺸﻔﲑ ﳌﻨﺤﻨﯿﺎت اﻟﻨﺎﻗﺼﯿﺔ ﻫﻮ اﻟﻌﻀﻮ ا ٔ ﺪث ﰲ ﺎﺋ اﳋﻮارزﻣ ﺎت اﻟﱵ ﺴﺘ ﺪم اﳌﻔ ﺎح اﻟﻌﺎم‪ ،‬وﻗﺪ ﻇﻬﺮت ﰲ ﻣ ﺘﺼﻒ‬
‫اﻟ ﻧ ﺎت‪.‬‬
‫ﺰود ‪ ECC‬ﺑﻨﻔﺲ در ﺔ ا ٔﻣﺎن اﻟﱵ ﺰود ﲠﺎ ‪ٔ RSA‬و ٔﻧﻈﻤﺔ اﻠﻮ ﺎرﯾ ت اﳌﺘﻘﻄﻌﺔ‪ ،‬ﻟ ﺴﺒﺔ ﻠﺴﻼﺳﻞ اﻟﱵ ﯾﱰاوح‬
‫ﻃﻮﻟﻬﺎ ﺑﲔ )‪(3072-160‬ﺑﺖ‪ .‬ﺗ ﲎ اﻟـ ‪ٔ ECC‬ﺳﺎﺳ ًﺎ ﲆ ﻣﺴ ٔ ﻟﻮ ﺎرﯾ ت ﻣ ﻘﻄﻌﺔ ﺗﻨﺠﺰﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ ‪ -‬ﻫﯿﻠﲈن و ﲑﻩ‬
‫ﻋﻦ ﻃﺮﯾﻖ اﳌﻨﺤﻨﯿﺎت اﻟﻨﺎﻗﺼﯿﺔ‪.‬‬
‫وﰲ ﺎﻻت ﻛﺜﲑة ﻜﻮن ﻠـ ‪ ECC‬ﻓﻮاﺋﺪ ﺪﯾﺪة ﻣ ﻞ ﻗ اﳊﺴﺎ ت وﺻﻐﺮ ﻃﻮل ﺳﻠﺴ اﳌﻔﺎﺗﯿﺢ اﻟﻌﺎﻣﺔ واﳋﺎﺻﺔ ﻣﻘﺎرﻧﺔ ﻣﻊ‬
‫ﲑﻫﺎ‪.‬‬
‫إن اﻟﺮ ﺿﯿﺎت اﳌﺘﻌﻠﻘﺔ ﻟـ‪ ECC‬ﺗﻌﺪ ٔﻛﱶ ﺗﻌﻘ ﺪ ًا إذا ﻣﺎ ﻗﻮرﻧﺖ ﺑـ ‪ RSA‬و ‪ ،DL‬ﺣ ﺚ ﺗﺘﻀﻤﻦ ﺑﻌﺾ اﳌﻮاﺿﯿﻊ اﳌﺘﻘﺪﻣﺔ ﻌﺪ‬
‫ﻧﻘﺎط ﻗﻄﻊ ﻗﺺ ﲢﻘﻖ ﺎﺻﺔ ﻣﻌﯿﻨﺔ‪ .‬وﻟﻜ ﻨﺎ ﺳﻨ ﻌﺪ ﻋﻦ اﻟﺮ ﺿﯿﺎت اﳌﻌﻘﺪة إذ ﺮﻛﻨﺎ ﻠﻘﺎرئ ﻓﺮﺻﺔ اﶈﺎو ﻟﺮﺟﻮع إﱃ‬
‫)اﳋﻠﻔ ﺔ اﻟﺮ ﺿﯿﺔ ﻠﻤﴩوع(‪.‬‬
‫‪ٓ 2.3.1‬ﻟﯿﺔ ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ ـ ﻫﯿﻠﲈن ﰲ اﳌﻨﺤﻨﯿﺎت اﻟﻨﺎﻗﺼﯿﺔ‬
‫ﻛﲈ ﰲ ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ‪-‬ﻫﯿﻠﲈن اﻟﻌﺎدي‪ ،‬ﯾﻨﻔﺬ ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ‪-‬ﻫﯿﻠﲈن ﲆ ﻣﺮ ﻠﺘﲔ‪ ،‬ر اﻟﺘﺤﻀﲑ و اﳌﺮ ا ٔﺳﺎﺳﯿﺔ‪.‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪37‬‬

‫اﳌﺮ اﻟﺘﺤﻀﲑﯾﺔ ‪:‬‬


‫‪ .1‬ا ﱰ ﺪد ًا ٔوﻟﯿ ًﺎ ﺒﲑ ًا ‪. p‬‬
‫‪.C : y‬‬ ‫‪2‬‬
‫‪ x3‬‬ ‫‪ .2‬ا ﱰ ﻣ ﺤﻨﯿ ًﺎ ﻗﺼﯿ ًﺎ ‪ ax  b mod p‬‬
‫‪ .3‬ا ﱰ ﻧﻘﻄﺔ اﺑﺘﺪاﺋﯿﺔ ) ‪. P  ( x , y‬‬
‫‪P‬‬ ‫‪P‬‬

‫‪ .4‬اﴩ ‪. p, C, P‬‬
‫وﻟﯿﻜﻦ ﻟﻌﲅ ٔن ﲻﻠﯿﺔ اﺧ ﯿﺎر ﻣ ﺤﻦ ﻗﴢ ﱔ ﲻﻠﯿﺔ ﺻﻌﺒﺔ ﻠﻐﺎﯾﺔ‪ ،‬إذ ﳚﺐ ان ﳣﺘﻊ اﳌﻨﺤﲏ ﺑﺒﻌﺾ اﳋﻮاص ﻟﲄ ﻜﻮن ٔﻛﱶ‬
‫اﻣﺎ ً‪ ،‬وﺳ ﳫﻢ ٔﻛﱶ ﰲ ﻫﺬا اﳌﻮﺿﻮع‪ .‬وا ٓن ﺳ ﴩح ﲻﻠﯿﺔ ﺗﺒﺎدل اﳌﻔ ﺎح ‪. ECDHKE‬‬
‫اﳌﺮ ا ٔﺳﺎﺳﯿﺔ ‪:‬‬
‫ﶊﻮد‬ ‫ﻣﺼﻄﻔﻰ‬
‫‪b  k pr , B  2,3,..., # C  1 a  k pr , A  2, 3,..., # C  1‬‬
‫) ‪B  k pub , B  bP  ( xB , yB ) k pub , A  aP  A  ( x A , y A‬‬

‫‪k‬‬
‫‪pb , A‬‬‫‪A‬‬
‫‪‬‬
‫‪k‬‬ ‫‪B‬‬
‫‪‬‬
‫‪pb ,B‬‬

‫‪k AB  bA k AB  aB‬‬

‫‪ 2.3.2‬ﺮﻫﺎن ﲱﺔ ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ‪-‬ﻫﯿﻠﲈن ﰲ اﳌﻨﺤﻨﯿﺎن اﻟﻨﺎﻗﺼﯿﺔ‬


‫ﺑ ﺴﺎﻃﺔ‪ ،‬اﻟﻘﳰﺔ اﻟﱵ ﺣﺴﳢﺎ ﶊﻮد ﱔ ‪:‬‬
‫)‪aB  a(bP‬‬
‫و اﻟﻘﳰﺔ اﻟﱵ ﺣﺴﳢﺎ ﻣﺼﻄﻔﻰ ‪:‬‬
‫)‪bA  b(aP‬‬
‫و ﻣﻦ ﺧﻮاص اﻟﺰﻣﺮة ا ا ﺮﯾﺔ ‪ a(bP)  b(aP)  abP :‬و ﻫﻮ اﳌﻄﻠﻮب‪.‬‬
‫‪38‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫‪2‬‬
‫‪ C : y‬و )‪. P  (5,1‬‬ ‫‪ x3  2 x  2 mod17‬‬ ‫ﻣ ﺎل ‪ :‬ﻟﯿﻜﻦ ﯾﻨﺎ‬
‫ﶊﻮد‬ ‫ﻣﺼﻄﻔﻰ‬
‫‪        b  k pr , B  10‬‬ ‫‪         a  k pr , A  3‬‬
‫)‪B  k pub , B  10 P  (7,11) A  k pub , A  3P  (10, 6‬‬

‫‪k‬‬
‫‪pb , A‬‬ ‫)‪ A (10,6‬‬
‫‪‬‬ ‫‪‬‬
‫‪k‬‬ ‫)‪ B (7,11‬‬
‫‪‬‬
‫‪pb , B‬‬
‫‪‬‬

‫)‪k AB  bA  10(10, 6)  (13,10) k AB  aB  3(7,11)  (13,10‬‬

‫إن اﻟﺴ ﺐ ا ي ﺟﻌﻠﻨﺎ ﺴﺘ ﺪم ‪ ECC‬ﺨﻮارزﻣ ﺔ ﺸﻔﲑ ﻫﻮ ٔن ‪ ECDLP‬ﺗﻌﺪ ﻣﺴ ٔ ﺟ ﺪة ﻣﻦ ﺣ ﺚ اﻟﺒﺎراﻣﱰات‪ ،‬ﻓﺎٕذا‬


‫ٔراد اﳌﻬﺎﰖ ٔن ﻜﴪ ‪ECDH‬ﻣﻦ ﻼل اﳌﻌﻄﯿﺎت اﳌﺘﻮﻓﺮة‪ ،‬و ﱔ ‪ C , P, A, B‬ﻓﺎٕن ﻠﯿﻪ ٔن ﲝﻞ ٕا ﺪى اﳌﺴ ٔﻟﺘﲔ ‪:‬‬
‫‪b  log P B, a  log P A‬‬
‫ﻓﺎٕذا ﰷن اﳌﻨﺤﲏ ﻗﺪ اﺧ ﲑ ﺑﻌﻨﺎﯾﺔ‪ ،‬ﺳﺘﻜﻮن ٔﻓﻀﻞ ﻃﺮﯾﻘﺔ ﻟﻜﴪ ‪ ECDLP‬ﺿﻌﯿﻔﺔ ٔﻣﺎ ﺎ‪ ،‬وﱔ ﺸﲁ ﺎص ﺗﺼﻨﻒ ﲢﺖ‬
‫اﰟ ﺧﻮارزﻣ ﺎت اﻟﻬﺠﻮم اﻟﺘ ﻠﯿﲇ ﻟﯿﻞ‪ ،‬وﻟﻜﻦ ﰎ ﺗﻄﻮﺮ ﺑﻌﺾ اﻟﻄﺮق ﻣ ﻞ ﻃﺮﯾﻘﺔ ﺷﺎﻧﻚ وﻃﺮﯾﻘﺔ ﺑﻮﻻرد‪.‬‬
‫إن ﺪد اﳋﻄﻮات اﻟﱵ ﳚﺐ اﺗﺒﺎﻋﻬﺎ ﰲ ﳗﻮم ﻣﺎ ﺴﺎوي ﺗﻘﺮﯾﺒ ًﺎ اﳉﺬر اﻟﱰﺑﯿﻌﻲ ﻟﻌﺪد ﻋﻨﺎﴏ اﻟﺰﻣﺮة‪.‬ﻓﺎٕذا ﰷن ﺪد ﻋﻨﺎﴏ اﻟﺰﻣﺮة‬
‫‪ 2‬ﻋﻨﴫ ﻟﺘﺎﱄ ﺑﻨﺎ ًء ﲆ ﻧﻈﺮﯾﺔ ﻫﺎس‪ ،‬ﳓﻦ ﳓﺘﺎج إﱃ ﺪد ٔوﱄ ﻃﻮ ‪ 160‬ﺑﺖ‪ ،‬وﻣ ﻪ ﳛﺘﺎج اﳌﻬﺎﰖ إﱃ ‪2  2‬‬
‫‪160‬‬ ‫‪80‬‬ ‫‪160‬‬

‫ﺧﻄﻮة ﻻٕﲤﺎم اﻟﻬﺠﻮم‪.‬‬


‫ﰲ اﳊﻘ ﻘﺔ ‪ ،‬اﳌﻨﺤﲏ ا ٔﻛﱶ اﺳﺘ ﺪاﻣ ًﺎ ﻃﻮل ﺪدﻩ ا ٔوﱄ ‪ 256‬ﺑﺖ‪ ،‬وﻫﻮ ﯾﻌﻄﻲ در ﺔ ﻣﻦ ا ٔﻣﺎن ﺗﻘﺪر ﺑـ ‪128‬ﺑﺖ‪ .‬وﯾﻮ ﺪ‬
‫ﻣﻌﺎﯾﲑ ﻻﺧ ﯿﺎر ﻫﺬﻩ اﳋﻮارزﻣ ﺎت وﺿﻌﻬﺎ اﳌﻌﻬﺪ اﻟﻮﻃﲏ ﻠﻤﻌﺎﯾﲑ و اﻟﺘﻜ ﻮﻟﻮﺟ ﺎ ‪ NIST‬ﺣ ﺚ وﺿﻊ اﻟﻌﺪﯾﺪ ﻣﻦ اﳌﻨﺤﻨﯿﺎت‬
‫اﳌﻌﯿﺎرﯾﺔ ﲆ ﻫﺬا ا ٔﺳﺎس‪.‬‬
‫‪ 2.3.3‬ﻣﻼﺣﻈﺔ ﲆ اﻟﺘﻌﻘ ﺪ‬
‫ﲟﺎ ٔن ﲷﻦ ﺣﺴﺎ ت ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ‪-‬ﻫﯿﻠﲈن ﰲ اﳌﻨﺤﻨﯿﺎت اﻟﻨﺎﻗﺼﯿﺔ ﺗﻮ ﺪ ﺧﻮارزﻣ ﺔ اﶺﻊ و اﻟﺘﻀﻌﯿﻒ‪ ،‬اﻟﱵ ﱔ ﳑﺎﺛ‬
‫ﳋﻮارزﻣ ﺔ اﻟﴬب و اﻟﱰﺑﯿﻊ ﰲ ‪ RSA‬و ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ ﻫﯿﻠﲈن اﻟﻌﺎدي‪ ،‬ﻓﺎٕن ﺗﻌﻘ ﺪ ﻫﺬﻩ اﳋﻮارزﻣ ﺔ ﺸﺎﺑﻪ ﺗﻌﻘ ﺪ ‪ RSA‬و‬
‫‪ .DHKE‬ﻟﻜﻦ‪ ،‬ﺗﺬ ﺮ ٔن ﻣﻌﺎﻣﻼت ‪ٔ ECDHKE‬ﺻﻐﺮ ﻣﻦ ﻣﻌﺎﻣﻼت‪ RSA‬و ‪ .DHKE‬و ﻫﺬا ﯾﻠﻌﺐ دور ًا ﰲ ﻧﻘﻠﯿﻞ‬
‫ﺗﻌﻘ ﺪ ﻫﺬﻩ اﳋﻮارزﻣ ﺔ‪.‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪39‬‬
‫‪40‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫‪ 3‬اﻟﻔﺼﻞ اﻟﺜﺎﻟﺚ ﻧﺘﺎج اﳌﴩوع‬


‫‪ 3.1‬اﳋﻮارزﻣ ﺔ‬
‫ﺳﻮف ﻧ ﲏ ﺧﻮارزﻣ ﺘﻨﺎ ﲆ ﻣﺴ ٔ ﻟﻮ ﺎرﯾﱲ ﻣ ﻘﻄﻊ‪ٔ .‬ﺳﺎﺳﻬﺎ اﻟﺮ ﴈ ﻫﻮ اﻟﺘ ﺎﰾ ا ي ﻧﻄﺒﻘﻪ ﲆ ﻧﻘﻄﺔ ﻣﺎ ﰲ اﳌﺴﺘﻮي‬
‫اﻟﻘﻄﱯ وﻓﻖ ﺴﺒﺔ ﲢﺎﰾ ﳏﺪدة و ﺰاوﯾﺔ ﳏﺪدة ﰒ ﺳﻨﻄﺎﺑﻖ اﳌﺴﺘﻮي ﻣﻊ ﺣﻘﻞ ﺎﻟﻮا ﻟ ٔ ﺪاد ا ٔوﻟﯿﺔ وﺳﯿﻈﻬﺮ ذ ﰲ ﺗﻌﺮﯾﻔ ﺎ‬
‫ﻠﺰاوﯾﺔ ‪ ‬وﻟﻨﺼﻒ اﻟﻘﻄﺮ ‪ . r‬ﺳﻨﺪﻋﻮ ﻫﺬﻩ اﻟﺰﻣﺮة زﻣﺮة ا وا ﺮ اﻟﻘﻄﺒﯿﺔ‪ ،‬و ﻓ ﯾﲇ ﺳﻨﻮرد ﴍ ًﺎ ﻣﻔﺼ ًﻼ ﻋﳯﺎ‪.‬‬
‫‪ 3.1.1‬اﻟﺰﻣﺮة ا ا ﺮﯾﺔ‬
‫و ٔﻧﺼﺎف ٔﻗﻄﺎرﻫﺎ ﱔ ﶍﻮ ﺔ ا ٔ ﺪاد‬ ‫)‪O  (0,0‬‬ ‫ﲆ ٔﳖﺎ ﶍﻮ ﺔ ﻧﻘﺎط ا وا ﺮ اﳌﳣﺮﻛﺰة ﰲ اﳌﺒﺪ ٔ‬ ‫ﻧﻌﺮف ا ﻤﻮ ﺔ‬
‫‪M‬‬
‫اﻟﺼﺤﯿ ﺔ اﳌﻮﺟ ﺔ‪.‬‬
‫ﻧﻌﺮف اﻟﻌﻤﻠﯿﺔ ا ا ﻠﯿﺔ ‪ R‬ﻛﲈ ﯾﲇ ‪:‬‬
‫‪ . M‬ﻓ ﻜﻮن ‪:‬‬ ‫ﻟﺘﻜﻦ اﻟﻨﻘﻄﺘﺎن ) ‪ P  (r , ), Q  (r ,‬ﺗ ﳣﯿﺎن ﻠﻤﺠﻤﻮ ﺔ‬
‫‪P‬‬ ‫‪P‬‬ ‫‪Q‬‬ ‫‪Q‬‬

‫) ‪PRQ  ( rP  P ) R ( rQ ,  Q )  ( r , ‬‬
‫ﻟﺼﯿﻎ ‪:‬‬ ‫‪‬‬ ‫ﺣ ﺚ ﯾﻌﻄﻰ ‪ r‬و‬
‫‪r  rP  rQ mod p‬‬

‫‪   P   Q mod 2‬‬


‫و ﲟﺎ ٔن اﶺﻊ دا ﲇ ﲆ ﶍﻮ ﺔ ا ٔ ﺪاد اﻟﺼﺤﯿ ﺔ اﳌﻮﺟ ﺔ‪ ،‬ﻓ ٔن )‪ (M , R‬ﱔ ﺑ ﺔ‪.‬‬
‫ﺳﻮف ﻧﺜ ﺖ ا ٓن ٔن )‪ (M , R‬ﱔ زﻣﺮة‪.‬‬
‫‪ -1‬ﴍط اﻟﺘﺠﻤﯿﻌﯿﺔ‪ :‬ﻛﺬ ﯾﻌﺪ واﲵ ًﺎ ٔن اﶺﻊ ﲡﻤﯿﻌﻲ ﲆ ﶍﻮ ﺔ ا ٔ ﺪاد اﻟﺼﺤﯿ ﺔ اﳌﻮﺟ ﺔ‪.‬‬
‫‪ -2‬ﴍط اﳊﯿﺎدي‪ :‬اﳊﯿﺎدي ﻫﻮ اﻟﻨﻘﻄﺔ )‪. (0,0‬‬
‫‪ -3‬ﴍط اﻟﻨﻈﲑ ‪ :‬وﻓﻘ ًﺎ ﻟﺘﻌﺮﯾﻒ اﻟﻨﻈﲑ اﻟﴬﰊ ﳌﻘﺎس ‪ n‬ﯾﻨﺎ ‪:‬‬
‫) ‪p 1  ( rP1 ,  P1 )  ( rP1 mod p,  P1 mod 2‬‬
‫وﺑﺬ ﻜﻮن ﻗﺪ ٔﺛﺒ ﺎ اﻟﴩط ا ٔول ﻠﻨﻈﺎم اﻟ ﺸﻔﲑي‪.‬ﺳﻮف ﻧﺜ ﺖ ا ٓن ٔن )‪ (M , R‬زﻣﺮة دا ﺮﯾﺔ‪.‬‬
‫ﳝﻜ ﻨﺎ ٔن ﻧﻼﺣﻆ ﺑﻮﺿﻮح ٔن ‪:‬‬
‫‪p 1‬‬
‫‪2‬‬ ‫‪‬‬ ‫‪‬‬
‫) ‪PRPR...RP  P 2 p 1  ((2 p  1) rP mod p , (2 p  1) mod 2‬‬
‫‪p‬‬
‫) ‪ (rP , P‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪41‬‬

‫وﻫﻮ ﻣﺎ ﯾﻌﺪ ﺗﻔﻮﻗ ًﺎ ﲆ ‪ECC‬اﻟﱵ ﺗﺒﻠﻎ رﺗ ﳤﺎ ﻓ ﻪ ﺪﻫﺎ ا ٔﻗﴡ ﻋﻨﺪ‬ ‫‪2 p 1‬‬ ‫وﺑﺬ ﳓﺼﻞ ﲆ زﻣﺮة دا ﺮﯾﺔ رﺗ ﳤﺎ ﱔ‬
‫‪ p  p  1‬وﻓﻘ ًﺎ ﻟﻨﻈﺮﯾﺔ ﻫﺎس ‪.‬‬
‫‪ 3.1.2‬ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ‪-‬ﻫﯿﻠﲈن ﰲ ا وا ﺮ اﻟﻘﻄﺒﯿﺔ‬
‫ﺳ ﺴﺘ ﺪم زﻣﺮﺗﻨﺎ ا ا ﺮﯾﺔ ﻣﻦ ٔ ﻞ إﳒﺎز ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ‪-‬ﻫﯿﻠﲈن‪ .‬و ﺳﻨﻘﻮم ﺑﺬ ﺑﻄﺮﯾﻘﺔ ﻣﺸﺎﲠﺔ ﻠﺘﺒﺎدل اﻟﻌﺎدي و اﻟﺘﺒﺎدل‬
‫ﳌﻨﺤﻨﯿﺎت اﻟﻨﺎﻗﺼﯿﺔ‪.‬‬
‫اﳌﺮ اﻟﺘﺤﻀﲑﯾﺔ ‪:‬‬
‫‪ .1‬ا ﱰ ﺪد ًا ٔوﻟﯿ ًﺎ ﺒﲑ ًا ‪. p‬‬
‫‪ .2‬ا ﱰ ﻧﻘﻄﺔ ‪. P  M‬‬
‫‪ .3‬اﴩ ‪. p, P‬‬
‫ﻧﻼﺣﻆ ﰲ اﳌﺮ اﻟﺘﺤﻀﲑﯾﺔ ٔﻧﻪ ﯾﻮ ﺪ ﻣ ﺤﻮل وﺣ ﺪ ﻓﻘﻂ ﻫﻮ اﻟﻌﺪد ا ٔوﱄ ‪ ، p‬و ﻫﺬا ﯾﻌﺘﱪ ٔﻓﻀﻠﯿﺔ ﲆ ‪ ECC‬اﻟﱵ ﺗﻘﻮم‬
‫ﺑ ﴩ ﺛﻼث ﻣ ﺤﻮﻻت ‪ P, a, b‬ﰲ اﻟﺸﺒﻜﺔ‪.‬‬
‫اﳌﺮ ا ٔﺳﺎﺳﯿﺔ ‪:‬‬
‫ﶊﻮد‬ ‫ﻣﺼﻄﻔﻰ‬
‫‪b  k pr , B  2,3,..., 2 p  1 a  k pr , A  2, 3,..., 2 p  1‬‬
‫‪       B  k pub , B  P b‬‬ ‫‪        A  k pub , A  P a‬‬

‫‪k‬‬ ‫‪A‬‬
‫‪‬‬
‫‪pb , A‬‬

‫‪pb ,B‬‬ ‫‪k‬‬ ‫‪B‬‬


‫‪‬‬
‫‪k‬‬ ‫‪k‬‬
‫‪k AB  k pbpr,,AB  Ab k AB  k pbpr,,BA  B a‬‬

‫‪ 3.1.3‬ﺮﻫﺎن ﲱﺔ ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ ﻫﯿﻠﲈن ﰲ ا وا ﺮ اﻟﻘﻄﺒﯿﺔ‬


‫اﻟﻘﳰﺔ اﻟﱵ ﺣﺴﳢﺎ ﶊﻮد ﱔ ‪:‬‬
‫‪a‬‬ ‫‪b a‬‬
‫‪k pb‬‬ ‫) ‪,B  ( P‬‬

‫و اﻟﻘﳰﺔ اﻟﱵ ﺣﺴﳢﺎ ﻣﺼﻄﻔﻰ ﱔ ‪:‬‬


‫‪42‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫‪k bpb, A  ( P a )b‬‬


‫و ﺑ ﺴﺎﻃﺔ‪ ،‬ﺣﺴﺐ ﺧﻮاص زﻣﺮة ا وا ﺮ اﻟﻘﻄﺒﯿﺔ ‪:‬‬
‫‪( P a )b  ( Pb )a  P ab‬‬
‫و ﻫﻮ اﳌﻄﻠﻮب‪.‬‬
‫‪ 3.1.4‬اﳊﺴﺎب اﻟﴪﯾﻊ‬
‫ﻛﲈ ﰲ ‪ RSA‬و ‪ ،ECC‬ﺳ ﺴﺘ ﺪم ﺧﻮارزﻣ ﺔ ﺎﺻﺔ ﻣﻦ ٔ ﻞ ﺣﺴﺎب ‪ P‬ﻜﻔﺎءة ﺎﻟﯿﺔ‪.‬‬
‫‪n‬‬

‫اﳋﻮارزﻣ ﺔ ‪: 3.1.4‬‬
‫‪r‬‬ ‫‪i‬‬
‫ا ﻞ ‪ :‬اﻟﻨﻘﻄﺔ ‪ . P  M‬اﻟﻌﺪد ‪. d   d 2‬‬
‫‪i 0‬‬ ‫‪i‬‬

‫‪n‬‬
‫اﳋﺮج ‪. P :‬‬
‫اﳋﻮارزﻣ ﺔ ‪:‬‬
‫‪1. T  P‬‬
‫‪2. for i  r - 1 downto i  0‬‬
‫‪2.1 T  T 2‬‬
‫‪2.2 if d i  1‬‬
‫‪2.2.1 T  TRP‬‬
‫‪3. return T‬‬

‫‪ 3.2‬اﻟﱪ ﻣﺞ‬
‫‪ 3.2.1‬ﺷﯿﻔﺮة ‪RSA‬‬
‫ﳃﻨﺎ ﻜ ﺎﺑﺔ ﺮ ﻣﺞ ﺑﻠﻐﺔ ‪ JAVA‬ﳛﺎﰾ ﺗﻨﻔ ﺬ ﺧﻮارزﻣ ﺔ ‪ .RSA‬ﻓ ﻪ ﺛﻼث ﺻﻔﻮف‪ .‬اﻟ ٔ ول ﻋﻦ اﳋﻮارزﻣ ﺔ اﻻٕﻗﻠﯿﺪﯾﺔ اﳌﻤﺪدة‪ ،‬و‬
‫اﻟﺜﺎﱐ ﻋﻦ ﻣﻮ ا ٔرﻗﺎم اﻟﻌﺸﻮاﺋﯿﺔ و ا ٔ ﲑ ﻫﻮ اﻟﺘﻨﻔ ﺬ اﻟﻔﻌﲇ ﻠﱪ ﻣﺞ‪.‬‬
‫ﺻﻒ اﳋﻮارزﻣ ﺔ اﻻٕﻗﻠﯿﺪﯾﺔ اﳌﻤﺪدة ‪:‬‬
‫;‪package rsa‬‬

‫;‪import java.math.BigInteger‬‬

‫‪publicclass ExtendedEuclideanAlgorithm‬‬
‫{‬
‫;‪BigInteger alpha, beta‬‬
‫)‪publicvoid getAlphaBeta(BigInteger a, BigInteger b‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ 43

{
BigInteger d = a.gcd(b);
BigInteger x, y;
if(a == BigInteger.ZERO)
{
y = BigInteger.ONE;
this.beta = y;
x = BigInteger.ZERO;
this.alpha = x;
}
elseif(b == BigInteger.ZERO)
{
y = BigInteger.ZERO;
this.beta = y;
x = BigInteger.ONE;
this.alpha = x;
}
else
{
BigInteger x1 = BigInteger.ZERO;
BigInteger x2 = BigInteger.ONE;
BigInteger y1 = BigInteger.ONE;
BigInteger y2 = BigInteger.ZERO;
while(b.compareTo(BigInteger.ZERO) != 0)
{
BigInteger q = a.divide(b);
BigInteger r = a.subtract(q.multiply(b));
x = x2.subtract(q.multiply(x1));
y = y2.subtract(q.multiply(y1));
a = b;
b = r;
x2 = x1;
x1 = x;
y2 = y1;
y1 = y;
}
d = a;
x = x2;
y = y2;
this.alpha = x;
this.beta = y;
}
}
}

: ‫ﺻﻒ ﻣﻮ ا ٔرﻗﺎم اﻟﻌﺸﻮاﺋﯿﺔ‬


package rsa;

import java.util.Random;
import java.math.BigInteger;
import java.security.SecureRandom;

publicclass RNG
{
publicstatic BigInteger generateBigPrime ()
{
SecureRandom sr = new SecureRandom();
Random primeSource = new Random(sr.nextLong());
return BigInteger.probablePrime(1024, primeSource);
}

publicstatic BigInteger generateBigNumber ()


{
SecureRandom sr = new SecureRandom();
44 ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬
Random numberSource = new Random(sr.nextLong());
returnnew BigInteger(1025, numberSource);
}
}
: ‫ﺻﻒ اﻟﱪ ﻣﺞ اﻟﺘﻨﻔ ﺬي‬
package rsa;

import rsa.RNG;
import rsa.ExtendedEuclideanAlgorithm;

import java.math.BigInteger;
import java.util.Random;
import java.util.Scanner;

publicclass RSA
{
publicstaticvoid main(String[] args)
{
// defining vars...

BigInteger p = RNG.generateBigPrime();
BigInteger q = RNG.generateBigPrime();
// BigInteger p = new BigInteger("5");
// BigInteger q = new BigInteger("7");

BigInteger n = p.multiply(q);
BigInteger fn = (p.subtract(BigInteger.ONE)).multiply(q.subtract(BigInteger.ONE));

// outputting p, q, n and fn...

System.out.println("p = " + p + "\n" + "q = " + q + "\n" + "n = "


+ n + "\n" + "fn = " + fn);

// computing e...

Random eSource = new Random();


BigInteger e = new BigInteger(1024, eSource);

while(e.gcd(fn).compareTo(BigInteger.ONE) != 0 || e.compareTo(fn.subtract(BigInteger.ONE)) == 1)
{
e = new BigInteger(5, eSource);
}

// computing alpha and beta...

ExtendedEuclideanAlgorithm eeaImplementation = new ExtendedEuclideanAlgorithm();


eeaImplementation.getAlphaBeta(e, fn);

BigInteger alpha = eeaImplementation.alpha;


BigInteger beta = eeaImplementation.beta;

// outputting e, alpha and beta...

System.out.println("your random exponent is: " + "\n" + e + "\n"


+ "alpha = " + alpha + "\n" + "beta = " + beta);

// inputting integer message...

BigInteger message = new Scanner(System.in).nextBigInteger();

if(message.compareTo(n) == 1)
{
System.out.println("your message is too big");
}

BigInteger constMessage = message;


String eBin = e.toString(2);
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ 45

for (int i = 1; i < eBin.length(); i++)


{
if(eBin.charAt(i) == '1')
{
message = message.pow(2).mod(n);
message = message.multiply(constMessage).mod(n);
}
if(eBin.charAt(i) == '0')
{
message = message.pow(2).mod(n);
}
}

// outputting encrypted message...

System.out.println("your encrypted message is: " + "\n" + message);

// decrypting message...

BigInteger ConstMessage = message;

if(alpha.compareTo(BigInteger.ZERO) == -1)
{
alpha = alpha.add(fn);
}

String alphaBin = alpha.toString(2);

for (int i = 1; i < alphaBin.length(); i++)


{
if(alphaBin.charAt(i) == '1')
{
message = message.pow(2).mod(n);
message = message.multiply(ConstMessage).mod(n);
}
if(alphaBin.charAt(i) == '0')
{
message = message.pow(2).mod(n);
}
}

// outputting decrypted message...


System.out.println("your decrypted message is: " + "\n" + message);

}
}

‫ ﺷﯿﻔﺮة ا وا ﺮ اﻟﻘﻄﺒﯿﺔ‬3.2.2
‫ اﻟﺜﺎﱐ‬،‫ ا ٔول ﻫﻮ ﻣﻮ ا ٔرﻗﺎم اﻟﻌﺸﻮاﰄ‬.‫ ﻓ ﻪ ﺛﻼث ﺻﻔﻮف‬.‫و ﻛﺬ ﳃﻨﺎ ﲝﺎﰷة ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ ﻫﯿﻠﲈن ﰲ ا وا ﺮ اﻟﻘﻄﺒﯿﺔ‬
.‫و ﺻﻒ اﻟﻨﻘﻄﺔ و ا ٔ ﲑ ﻫﻮ اﻟﺘﻨﻔ ﺬ اﻟﻔﻌﲇ‬
: ‫ﺻﻒ ﻣﻮ ا ٔرﻗﺎم اﻟﻌﺸﻮاﰄ‬
package cryptography.prototype;

import java.util.Random;
import java.math.BigInteger;
import java.security.SecureRandom;

publicclass RNG
{

publicstatic BigInteger generateBigPrime ()


46 ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬
{
SecureRandom sr = new SecureRandom();
Random primeSource = new Random(sr.nextLong());
return BigInteger.probablePrime(1024, primeSource);
}

publicstatic BigInteger generateBigNumber ()


{
SecureRandom sr = new SecureRandom();
Random numberSource = new Random(sr.nextLong());
returnnew BigInteger(1025, numberSource);
}

}
: ‫ﺻﻒ اﻟﻨﻘﻄﺔ‬
package cryptography.prototype;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.MathContext;

publicclass Point
{
private BigDecimal radius;
private BigDecimal angle;
privatestatic final BigDecimal bigPi = new BigDecimal("3.141592653589793");
privatestatic final BigDecimal doubleBigPi = new BigDecimal("6.283185307179586476925286766559");

private final BigDecimal one = new BigDecimal("1");


private final BigDecimal two = new BigDecimal("2");

public Point(BigDecimal q)
{
this.radius = new BigDecimal("1");
this.angle = bigPi.divide(q, MathContext.DECIMAL128);
}

public BigDecimal getAngle() {


return angle;
}

public BigDecimal getRadius() {


return radius;
}

publicvoid add()
{
this.angle = this.angle.add(one);
this.radius = this.radius.add(one);

while(this.angle.compareTo(doubleBigPi) == 1)
{
this.angle = this.angle.subtract(doubleBigPi);
}
}
publicvoid addDouble()
{
this.angle = this.angle.add(one);
this.radius = this.radius.add(one);
this.angle = this.angle.multiply(two);
this.radius = this.radius.multiply(two);

while(this.angle.compareTo(doubleBigPi) == 1)
{
this.angle = this.angle.subtract(doubleBigPi);
}
}
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ 47

publicvoid pow(BigInteger power)


{
String pow = power.toString(2);
for (int i = 0; i < pow.length(); i++)
{
if(pow.charAt(i) == '1')
{
this.addDouble();
}
elseif(pow.charAt(i) == '0')
{
this.add();
}
}
}
}
: ‫ﺻﻒ ﺗﻨﻔ ﺬ اﻟﱪ ﻣﺞ‬
package cryptography.prototype;

import cryptography.prototype.RNG;
import cryptography.prototype.Point;

import java.util.Scanner;
import java.util.Random;

import java.math.BigInteger;
import java.math.BigDecimal;

publicclass CryptographyPrototype
{

publicstaticvoid main(String[] args)


{
BigDecimal q = new BigDecimal(RNG.generateBigPrime());

Point p = new Point(q);

BigInteger a = RNG.generateBigNumber();
p.pow(a);

BigInteger b = RNG.generateBigNumber();
p.pow(b);

System.out.println(p.getRadius() + "\n" + p.getAngle());

Trivium ‫ اﻟﺸﯿﻔﺮة اﳌﺘﻨﺎﻇﺮة‬3.2.3


‫ ﺣ ﺚ ﳃﻨﺎ ﺑﺘﻌﺮﯾﻒ ﺛﻼث ﻣﺼﻔﻮﻓﺎت‬.Trivium ‫ ﳛﺎﰾ ﺷﯿﻔﺮة‬C++ ‫ ﳃﻨﺎ ﻜ ﺎﺑﺔ ﺮ ﻣﺞ ﺑﻠﻐﺔ‬،‫ﻓ ﳜﺺ اﻟﺸﯿﻔﺮات اﳌﺘﻨﺎﻇﺮة‬
.flip-flop ‫ ﰒ ﻧﻘﻮم ٕد ﺎل ﻗﳰﺔ ﻟﲁ‬f , f , f . .Shift Register ‫ ﲆ ٔن ﰻ ﻣﺼﻔﻮﻓﺔ ﱔ ﻋﺒﺎرة ﻋﻦ‬،‫ﺛﻨﺎﺋﯿﺔ اﻟﺒﻌﺪ‬
1 2 3

:‫ ﺣ ﺚ‬.flip-flop ‫ ﰒ ﻧﻘﻮم ﲝﺴﺎب ﺧﺮج ﰻ‬.‫ ﺑﺘﺨﺰﻦ ﻗﳰﺘﻪ ي ﯾﻠﯿﻪ‬flip-flop ‫ ﯾﻘﻮم ﰻ‬:‫ ٔوﻻ‬. S ‫ﲦﺘﺒﺪ ٔ ﲻﻠﯿﺔ ﺗﻮﻟﯿﺪ‬
i

S1  ( f192  f191  f190  f165 ) mod 2

S 2  ( f 283  f 282  f 281  f 268 ) mod 2


‫‪48‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫‪S 3  ( f 3110  f 3109  f 3108  f 365 ) mod 2‬‬


‫ﰒ ﻧﻘﻮم ﲝﺴﺎب اﻟﻘﳰﺔ ا ٔوﱃ ﻣﻦ ﰻ ‪: flip-flop‬‬
‫‪f10  ( f168  S 3 ) mod 2‬‬

‫‪f 20  ( f 277  S1 ) mod 2‬‬

‫‪f 30  ( f 386  S 2 ) mod 2‬‬


‫وﻜﺮر ﺗ اﻟﻌﻤﻠﯿﺎت ﺑﻌﺪد ﳏﺎرف اﻟﻨﺺ اﳌﺪ ﻞ‪) .‬ﻓﺮﺿﻨﺎ ﰲ اﻟﱪ ﻣﺞ ٔن اﻟﻨﺺ اﳌﺪ ﻞ ﳛﻮي ‪ 1000‬ﳏﺮف ﲆ ا ٔﻛﱶ(‪.‬ﰒ‬
‫‪10‬‬ ‫‪10‬‬
‫ﻧﻘﻮم ٕد ﺎل اﻟﻨﺺ اﳌﺮاد ﺸﻔﲑﻩ ‪ x‬ﰒ ﻧﻘﻮم ﺑﺘﺨﺰﻦ ﺮﻣﲒ ﰻ ﳏﺮف ﺣﺴﺐ ﺪول ‪ ASCII a‬ﰒ ﻧﻘﻮم ﺑﺘﺤﻮﯾﻞ ‪ a‬إﱃ‬
‫‪i‬‬ ‫‪i‬‬ ‫‪i‬‬

‫‪1‬‬
‫اﻟﻨﻈﺎم اﻟﺜﻨﺎﰄ ‪. a‬‬ ‫‪i‬‬

‫‪2‬‬
‫ﰒ ﻧﻘﻮم ﲝﺴﺎب اﻟﺒﺘﺎت اﳌﺸﻔﺮة ‪ b‬ﺣ ﺚ‪:‬‬‫‪i‬‬

‫‪bi2  si  ai2 mod 2‬‬


‫و ﺑﻌﺪ ذ ﻧﻘﻮم ﺑﺘﺤﻮﯾﻞ اﻟﺒﺘﺎت اﳌﺸﻔﺮة إﱃ ٔ ﺪاد ﻋﴩﯾﺔ ‪ ، b‬و ﻧﻘﻮم ٕﳚﺎد اﶈﺮف اﳌﻮاﻓﻖ ﻟﲁ ﺪد ﻋﴩي ﻣﺸﻔﺮ‪.‬‬
‫‪i‬‬

‫اﻟﻜﻮد‬ ‫‪3.2.3.1‬‬

‫>‪#include<iostream‬‬
‫>‪#include<cmath‬‬
‫>‪#include<string‬‬
‫>‪#include<cstring‬‬

‫;]‪bool a1[8000],b1[8000‬‬
‫;]‪int a[1000],b[1000‬‬
‫;]‪char x[1000‬‬
‫;‪usingnamespace std‬‬
‫{)][‪void bin(int a‬‬
‫;‪int p,e=0‬‬
‫;]‪bool q[8‬‬
‫{)‪for(int i=0;i<strlen(x);i++‬‬
‫{)‪strlen(x);i++‬‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ 49

int t=a[i];
p=0;
while(1){
q[p]=t%2;
t/=2;
if(t==0)
break;
else
p++;
}
while(p<7){
q[p+1]=0;
p++;
}
for(int j=e;j<e+8;j++){
a1[j]=q[p];
p--;
}
e+=8;
}
}

void dec(bool b1[]){


int r=0,t=0;
for(int c=0;c<strlen(x)*8;c+=8){
int sum=0;
int d=7;
for(int i=0;i<8;i++){
sum+=b1[r]*pow(2,(double)d);
d--;
r++;

}
b[t]=sum;
t++;
}

void main(){
bool f1[2][93],f2[2][84],f3[2][111];
bool s1,s2,s3,s[1000];
cout<<"Enter your 288-bit key"<< endl;
for(int i=0;i<93;i++)
cin>>f1[0][i];
for(int i=0;i<84;i++)
cin>>f2[0][i];
for(int i=0;i<111;i++)
cin>>f3[0][i];

for(int j=0;j<1000;j++){
for(int i=0;i<92;i++)
f1[1][i+1]=f1[0][i];
for(int i=0;i<83;i++)
f2[1][i+1]=f2[0][i];
for(int i=0;i<110;i++)
f3[1][i+1]=f3[0][i];

s1=(f1[1][91]*f1[1][90]+f1[1][92]+f1[1][65])%2;
s2=(f2[1][83]+f2[1][82]*f2[1][81]+f2[1][68])%2;
s3=(f3[1][110]+f3[1][109]*f3[1][108]+f3[1][65])%2;

f1[1][0]=(f1[1][68]+s3)%2;
f2[1][0]=(f2[1][77]+s1)%2;
f3[1][0]=(f3[1][86]+s2)%2;

s[j]=(s1+s2+s3)%2;
50 ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

for(int i=0;i<93;i++)
f1[0][i]=f1[1][i];
for(int i=0;i<84;i++)
f2[0][i]=f2[1][i];
for(int i=0;i<111;i++)
f3[0][i]=f3[1][i];

}
cout <<"Enter
"Enter your text : "
"<< endl;
cin>>x;
for(int i=0;i<strlen(x);i++){
a[i]=x[i];
if(a[i]<0) a[i]+=256;
}

bin(a);

for(int i=0;i<strlen(x)*8;i++)
b1[i]=(s[i]+a1[i])%2;

dec(b1);
cout <<"Your
"Your result is : ""<< endl;
for(int i=0;i<strlen(x);i++){
strlen(x);i++){
if(b[i]<0) b[i]+=256;
cout<<(char)b[i];
}
cout<<endl<<endl<<endl;
system("pause");
}

‫ﺗﻨﻔ ﺬ اﻟﱪ ﻣﺞ‬ 3.2.3.2


.“NCD” ‫ﻫﺬﻩ ﱔ ﲻﻠﯿﺔ ﺸﻔﲑ اﻟﻨﺺ‬

.‫ ﻓﻬ ﻲ ﳑﺎﺛ ﻟﺘﻨﻔ ﺬ ﲻﻠﯿﺔ اﻟ ﺸﻔﲑ‬،‫ٔﻣﺎ ﲻﻠﯿﺔ ﻓﻚ ﺸﻔﲑ اﻟﻨﺺ اﳌﺸﻔﺮ‬


‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪51‬‬
‫‪52‬‬ ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫‪ 4‬اﳋﺎﲤﺔ‬
‫ﰲ اﳋﺘﺎم‪ ،‬ﻧﻨﻮﻩ إﱃ ٔﳘﯿﺔ دراﺳﺔ ﲅ اﻟ ﺸﻔﲑ ﳌﺎ ﻣﻦ دور ﺒﲑ ﰲ ﺣﻔﻆ اﳌﻌﻠﻮﻣﺎت وا ٔﴎار اﳌﺘﻌﻠﻘﺔ ﲜﻤﯿﻊ اﳉﻮاﻧﺐ اﻟﻌﻠﻤﯿﺔ‬
‫واﻟﺴﯿﺎﺳﯿﺔ واﻟﻌﺴﻜﺮﯾﺔ‪ ،‬ﻛﲈ ﳚﺐ اﻻٕﺷﺎرة اﱃ ﲨﯿﻊ اﳌﻮاﺿﯿﻊ اﻟﱵ ﰎ ادرا ﺎ ﰲ ﻗﺴﻢ )اﻟﻮا ﺔ اﻟﺮ ﺿﯿﺔ ﻠﻤﴩوع(ﰲ اﳌﻨﺎﱑ‬
‫اﻟﺘﻌﻠﳰﯿﺔ ﻣﻦ ٔ ﻞ ﻓﻬﻢ ٔﻛﱪ ﻠ ﺸﻔﲑ ﲑ اﳌﺘﻨﺎﻇﺮ‪.‬‬
‫ﳃﻨﺎ ﰲ ﻣﴩوع ﲝﺜﻨﺎ ﻫﺬا ﻟﺘﻮﺻﻞ إﱃ زﻣﺮة دا ﺮﯾﺔ ﺪﯾﺪة ﱂ ﻜﻦ ﻣﻜ ﺸﻔﺔ ﻣﻦ ﻗ ﻞ‪ .‬و ﳣﺘﻊ ﻫﺬﻩ اﻟﺰﻣﺮة ﺑﺒﻌﺾ اﳋﺎص اﻟﱵ‬
‫ﺮﻓﻊ ﻣﻦ ﻛﻔﺎءﲥﺎ ﻣﻘﺎرﻧﺔ ﻟﺰﻣﺮ ا ٔﺧﺮى‪ .‬ﻛﲈ ﻛﺘﺒ ﺎ ﺮ ﳎ ًﺎ ﻟﯿ ﺎﰾ ﻫﺬﻩ اﻟﺸﯿﻔﺮة‪ ،‬ﻟﻨﱪﻫﻦ ٔن ﲅ اﻟ ﺸﻔﲑ ﻟ ﺲ ﺑﺒﻌﯿﺪ اﳌﻨﺎل ﻋﻦ‬
‫ٔﻣ ﻨﺎ‪ .‬و ﻧ ٔم ٔن ﻜﻮن ﻫﺬا اﳌﴩوع ﺤﺠﺮ ا ٔﺳﺎس ﻟﺒﺪاﯾﺔ ازدﻫﺎر ﲅ اﻟ ﺸﻔﲑ ﰲ ﺳﻮر ‪.‬‬

‫ﻧﻮرد اﻟﻨﺘﺎﰀ اﻟﺘﺎﻟﯿﺔ‪:‬‬


‫ﳝﻜﻦ اﳊﺼﻮل ﲆ زﻣﺮة دا ﺮﯾﺔ ﻣﻦ ﺣﻘﻞ ﺗﺒﺪﯾﲇ‪.‬‬ ‫‪-1‬‬
‫ﻻ ﯾﺆﺮ ﺗﻌﻘ ﺪ اﻟﻌﻤﻠﯿﺎت ﲆ ﻗﻮة اﻟﻨﻈﺎم اﻟ ﺸﻔﲑي‪.‬‬ ‫‪-2‬‬
‫اﳊﺠﻢ ا ٔﻓﻀﻞ ﻠﻤﻔ ﺎح ﰲ ﲨﯿﻊ اﳋﻮارزﻣ ﺎت ﲑ اﳌﺘﻨﺎﻇﺮة ﻫﻮ ‪256‬ﺑﺖ‪.‬‬ ‫‪-3‬‬
‫اﺳﺘ ﺪام ﺧﻮارزﻣ ﺎت ﺪﯾﺪة ﻻﺧ ﺒﺎر ٔوﻟﯿﺔ ﺪد )وﱔ ﻻ ﺗﻌﲏ اﳊﲂ ﲆ ﺪد ٔﻧﻪ ٔوﱄ ﲤﺎﻣ ًﺎ وٕاﳕﺎ "ﺷﺒﻪ" ٔوﱄ(‬ ‫‪-4‬‬
‫وﻫﻮ ﻣﺎ ﺗﻮﻓﺮﻩ ﻣﻌﺎﯾﲑ ﻣ ﻠﺮ‪-‬راﺑﲔ وﻣﻌﯿﺎر ﻓﲑﻣﺎ‪.‬‬
‫ﺎت اﻟﺘﺎﻟﯿﺔ‪:‬‬ ‫وﺑﻨﺎ ًء ﲆ ﻫﺬﻩ اﻟﻨﺘﺎﰀ ﻧﻮﴆ ﳌﻘﱰ‬
‫ز دة ﻫ م ﺑﻌﲅ اﻟ ﺸﻔﲑ ﰲ اﳉﺎﻣﻌﺎت اﻟﺴﻮرﯾﺔ‪.‬‬ ‫‪-1‬‬
‫دراﺳﺔ ﺧﻮارزﻣ ﺔ ‪ElGamal‬اﻟﻼﻣ ﻨﺎﻇﺮة‪ ,‬و ﱔ ﻣﻦ ا ﱰاع ﺎﱂ اﻟ ﺸﻔﲑ اﳌﴫي ا ٔﺻﻞ‪ ،‬ﻃﺎﻫﺮ اﶺﺎل‪.‬‬ ‫‪-2‬‬
‫دراﺳﺔ إﻣﲀﻧﯿﺔ ﺑﻨﺎء ﻧﻈﻢ ﺸﻔﲑﯾﺔ ﲆ ﺗﻮاﺑﻊ ﺔ وا ﺪة ٔﺧﺮى‪ .‬ﻣ ﻞ ﻣﺴ ٔ ﻛﺜﲑات اﳊﺪود و ﺧﻮارزﻣ ﺎت ﺸﻒ‬ ‫‪-3‬‬
‫ا ٔﺧﻄﺎء‪ .‬ﻓﻘﺪ ﳒﺪ ﰲ ﺗ اﻟﺘﻮاﺑﻊ إﻣﲀﻧﯿﺎت ﻟﺒﻨﺎء ﻧﻈﺎم ﺸﻔﲑي ﻣ ﻔﻮق ﲆ ا ٔﻧﻈﻤﺔ اﳊﺎﻟﯿﺔ‪.‬‬
‫ﻃﻼع ﲆ ا راﺳﺎت اﳉﺪﯾﺪة ﺣﻮل اﳋﻮارزﻣ ﺎت ‪RSA‬و‪ ECC‬ودراﺳﺔ ﻧﻘﺎط ﻗﻮﲥﺎ وﺿﻌﻔﻬﺎ‪.‬‬ ‫‪-4‬‬
‫وﰲ اﳋﺘﺎم ﻧﻘﺪم اﻟﺸﻜﺮ ﻻٕدارة اﳌﺮﻛﺰ اﻟﻮﻃﲏ ﻠﻤﳣﲒﻦ وﰷدرﻩ اﻟﺘﺪرﴘ وﳌﴩف اﳌﴩوع ا ٔﺳﺘﺎذ ﺣ ﯿﺐ ﴗ‪ ،‬وٕاﱃ‬

‫ﻗﺎﺋﺪ اﻟﻮﻃﻦ اﻟﺴﯿﺪ اﻟﺮﺋ ﺲ ﺸﺎر ا ٔﺳﺪ واﻟﺴﯿﺪة ﻋﻘ ﻠﺘﻪ‬


‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ ‫‪53‬‬

‫وا ان ﻗﺪﻣﺎ ﻟﻨﺎ ا ﰪ ا ٔﻛﱪ ﻣﳣﺜ ًﻼ ﳌﺮﻛﺰ اﻟﻮﻃﲏ ﻠﻤﳣﲒﻦ وﻋﴗ ٔن ﻜﻮن ﻗﺪ ﻗﺪﻣ ﺎ ﻣﺎ ﺴﺘﻄﯿﻊ ﰲ ﻫﺬا ا ﺎل ﻟﺘﺼﺒﺢ‬
‫ﺳﻮر ﻣﻦ ا ول اﳌﺘﻘﺪﻣﺔ ﰲ ﻫﺬا ا ﺎل‪.‬‬

‫ٔﻋﻀﺎء اﳌﴩوع‪:‬‬
‫ﺎ ﺮ ٔدﯾﺐ ـ ﻣﺼﻄﻔ ﻠﯿﻞ ـ ﶊﻮد ﻗﺮﻩ ﻓﻼح ـ ﺎ إﺳﲈﻋﯿﻞ‬
54 ‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬

‫ اﳌﺼﻄﻠ ﺎت‬5
English ‫ﻋﺮﰊ‬
CRT Chinese Remainders ‫ﻣﱪﻫﻨﺔ اﻟﺒﻮاﰶ اﻟﺼﯿ ﺔ‬
Theorem
ECC Elliptic Curves ‫اﻟ ﺸﻔﲑ ﳌﻨﺤﻨﯿﺎت اﻟﻨﺎﻗﺼﯿﺔ‬
Cryptography
ECDHKE Elliptic Curves Diffie- ‫ﻫﯿﻠﲈن ﳌﻨﺤﻨﯿﺎت‬-‫ﺗﺒﺎدل ﻣﻔ ﺎح دﯾﻔﻲ‬
Hellman Key Exchange ‫اﻟﻨﺎﻗﺼﯿﺔ‬
DHKE Diffie-Hellman Key ‫ﺗﺒﺎدل ﻣﻔ ﺎح‬
Exchange
RNG Random Number ‫ﻣﻮ ٔرﻗﺎم ﻋﺸﻮاﺋﯿﺔ‬
Generator
RSA Rivest Shamir Adleman ‫ٔﺳﲈء اﻟﻌﻠﲈء راﯾﻔﺖ ﺷﺎﻣﲑ و ٔدﯾﻠﲈن‬
‫اﻟ ﺸﻔﲑ اﻟﻼﻣ ﻨﺎﻇﺮ‬ 55

: ‫اﳌﺮاﺟﻊ‬
1- A. Menezes, P. VanOorschot, S. Vanstone. Handbook of Applied Cryptography.
CRC press, Boca Raton, Florida, USA, 1997.
2- Christof Paar, Jan Penzel. Understanding Cryptography. Springer, Heidelberg,
Berlin, Germany, 2010.
3- Titu Andrescu, Dorin Andrica. Number Theory structures, examples and
problems.Springer, London, United Kingdom, 2010.
4- W. Diffie, M.Hellman. New directions in cryptography. IEEE Transactions on
Information Theory, IT-22:644-644, 1976.
5- T.ElGamal. Apublic-key cryptosystem and a digital signature scheme based on
discrete logarithms, IEEE Transactions on Information Theory, IT-31(4):469-472,
1985.
6- Dan Boneh, Ron Rivest, Adi Shamir, and Len Adelman. Twenty Years of Attacks on
the RSA Cryptosystem. Notices of the AMS, 46:203-213, 1999.

You might also like