You are on page 1of 8

‫ﺗﺸﻔﯿﺮ ﺻﻮرة ‪Image Encoding‬‬

‫ﺑﻮاﺳﻄﺔ ﺧﻮارزﻣﯿﺔ ‪RC6‬‬


‫ﻣﯿﻤﻮﻧﺔ اﻟﺤﺪاد‬
‫‪Shrm_4fra@yahoo.com‬‬
‫‪Iraq-computer science‬‬
‫اﻟﺨﻼﺻﺔ‬
‫ﯾﻌﺘﺒﺮ اﻟﺘﺸﻔﯿﺮ ﻣﻦ اﻟﻤﻮاﺿﯿﻊ اﻟﻤﮭﻤﺔ ﻓﻲ ھﺬا اﻟﻌﺼﺮ ﺑﻌﺪ دﺧﻮل اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺎ إﻟﻰ ﻛﺎﻓﺔ‬
‫ﻧﻮاﺣﻲ اﻟﺤﯿﺎة اﻟﻌﻤﻠﯿﺔ وﻛﺎن ﻻﺑﺪ ﻣﻦ وﺟﻮد ﻣﺎ ﯾﺤﻤﻲ ﻣﻤﺘﻠﻜﺎت اﻷﺷﺨﺎص اﻟﻤﺘﻤﺜﻠﺔ ﻓﻲ‬
‫اﻟﻤﻠﻔﺎت اﻟﺨﺎﺻﺔ واﻟﻌﺎﻣﺔ واﻟﺘﻲ ﻧﺴﺘﺨﺪﻣﮭﺎ ﺑﺸﻜﻠﮭﺎ اﻟﻤﻔﮭﻮم ﻣﺜﻞ اﻟﻨﺼﻮص – اﻟﺼﻮر –‬
‫اﻷﺻﻮات – اﻟﻤﺠﻠﺪات وﻏﯿﺮ ذﻟﻚ ﻣﻦ اﻟﻤﻌﻠﻮﻣﺎت‪.‬‬

‫وان اﻟﻐﺮض ﻣﻦ ھﺬا اﻟﺒﺤﺚ ھﻮ اﻟﺤﻔﺎظ ﻋﻠﻰ اﻣﻦ وﺳﺮﯾﺔ اﻟﻤﻌﻠﻮﻣﺎت ﺿﺪ ﻋﻤﻠﯿﺔ اﺧﺘﺮاق‬
‫او ﻛﺴﺮ ﺷﻔﺮة اﻟﺼﻮرة ﺣﯿﺚ اﻧﮫ ﯾﻌﺘﺒﺮ اﺣﺪ ﺗﻄﺒﯿﻘﺎت اﻟﺘﺸﻔﯿﺮ ﺣﯿﺚ ﯾﻘﻮم ﺑﺘﺸﻔﯿﺮ اﻟﺼﻮر‬
‫اﻟﺘﻲ ﻧﺮﻏﺐ ﺑﺎﻟﺤﻔﺎظ ﻋﻠﯿﮭﺎ ﻣﻦ ﻋﺒﺚ اﻟﻤﺘﻄﻔﻠﯿﻦ ‪ ،‬وان اﻟﺼﻮرة اﻟﻤﺮاد ﺗﺸﻔﯿﺮھﺎ ھﻲ ﺑﮭﯿﺌﺔ‬
‫‪ 24bit BMP‬وﯾﺘﻨﺎول ھﺬا اﻟﺒﺤﺚ ﻃﺮﯾﻘﺔ ﺗﻮﻟﯿﺪ اﻟﻤﻔﺘﺎح وﻣﻦ ﺛﻢ اﺳﺘﺨﺪاﻣﮫ ﻓﻲ ﺗﺸﻔﯿﺮ‬
‫اﻟﺼﻮرة اﻟﻤﺤﺪدة وﯾﺘﻢ ﻓﺘﺢ ھﺬه اﻟﺸﻔﺮة ﺑﻨﻔﺲ اﻟﻤﻔﺘﺎح وﻟﻘﺪ ﺗﻢ ﺗﻨﻔﯿﺬ ھﺬه اﻟﻌﻤﻠﯿﺔ ﺑﻮاﺳﻄﺔ ﻟﻐﺔ‬
‫اﻟﺒﺮﻣﺠﺔ ﻓﯿﺠﯿﻮل ﺑﯿﺴﻚ دوت ﻧﺖ‪.‬‬

‫‪1‬‬
‫‪ -1‬اﻟﻤﻘﺪﻣﺔ‪:‬‬
‫ان اﻟﺘﺸﻔﯿﺮھﻮ ﻋﻤﻠﯿﺔ اﻟﺤﻔﺎظ ﻋﻠﻰ ﺳﺮﯾﺔ اﻟﻤﻌﻠﻮﻣﺎت ﺑﺎﺳﺘﺨﺪام ﺑﺮاﻣﺞ ﻟﮭﺎ اﻟﻘﺪرة‬
‫ﻋﻠﻰ ﺗﺤﻮﯾﻞ وﺗﺮﺟﻤﺔ ﺗﻠﻚ اﻟﻤﻌﻠﻮﻣﺎت إﻟﻰ رﻣﻮز ﺑﺤﯿﺚ إذا ﻣﺎ ﺗﻢ اﻟﻮﺻﻮل إﻟﯿﮭﺎ ﻣﻦ ﻗﺒﻞ‬
‫أﺷﺨﺎص ﻏﯿﺮ ﻣﺨﻮل ﻟﮭﻢ ﺑﺬﻟﻚ ﻻ ﯾﺴﺘﻄﯿﻌﻮن ﻓﮭﻢ أي ﺷﺊ ﻷن ﻣﺎ ﯾﻈﮭﺮ ﻟﮭﻢ ھﻮ ﺧﻠﯿﻂ‬
‫ﻣﻦ اﻟﺮﻣﻮز واﻷرﻗﺎم واﻟﺤﺮوف اﻟﻐﯿﺮ ﻣﻔﮭﻮﻣﺔ‪.‬‬
‫ﻟﺬﻟﻚ ﺗﻌﺒﺮ ﻛﻠﻤﺔ " ﺗﺸﻔﯿﺮ" ﻋﻦ ﺗﺤﻮﯾﻞ أو " ﺑﻌﺜﺮة" اﻟﺒﯿﺎﻧﺎت إﻟﻰ ھﯿﺌﺔ ﻏﯿﺮ ﻗﺎﺑﻠﺔ ﻟﻠﻔﮭﻢ‬
‫ﻹرﺳﺎﻟﮭﺎ ﻋﺒﺮ وﺳﻂ ﻧﺎﻗﻞ ﻣﻌﯿﻦ إﻟﻰ ﺟﮭﺔ ﻣﺤﺪدة ‪ .‬ﺑﺤﯿﺚ ﻻﯾﻤﻜﻦ ﻷي ﺟﮭﺔ ﻏﯿﺮ اﻟﺠﮭﺔ‬
‫اﻟﻤﻘﺼﻮدة ﺗﻔﺴﯿﺮ ھﺬة اﻟﺒﯿﺎﻧﺎت اﻟﻤﺒﮭﻤﺔ واﺳﺘﺨﻼص اﻟﺒﯿﺎﻧﺎت اﻟﻤﻔﮭﻮﻣﺔ ﻣﻨﮭﺎ وھﺬة اﻟﻌﻤﻠﯿﺔ‬
‫ھﻲ أﻋﻠﻰ درﺟﺔ أﻣﺎن ﻣﻤﻜﻨﺔ‪.‬‬
‫وﻓﻲ ﺑﺤﺜﻨﺎ ھﺬا ﻗﻤﻨﺎ ﺑﺘﻄﺒﯿﻖ ﻣﻔﮭﻮم اﻟﺘﺸﻔﯿﺮ ﻋﻠﻰ اﻟﺼﻮر اﻟﺮﻗﻤﯿﺔ ذات ھﯿﺌﺔ ﻣﻠﻒ)‪BMP‬‬
‫‪ (bit 24‬واﻟﻐﺮض ﻣﻦ ﻋﻤﻠﯿﺔ ﺗﺸﻔﯿﺮ اﻟﺼﻮر ھﻮ اﻟﺤﻔﺎظ ﻋﻠﯿﮭﺎ ﻣﻦ اﻟﺴﺮﻗﺔ او اﻟﻌﺒﺚ‬
‫وﺧﺼﻮﺻﺎً اذا ﻛﺎﻧﺖ ﺻﻮر ﺧﺎﺻﺔ او ﻣﮭﻤﺔ وﻻﻧﺮﻏﺐ ان ﯾﺮاھﺎ اﺣﺪاً ﺳﻮاﻧﺎ ‪.‬‬
‫واﻟﺼﻮر ھﻨﺎ ﻧﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ ﻋﻠﻰ اﻧﮭﺎ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻻرﻗﺎم اﻟﺜﻨﺎﺋﯿﺔ ﺣﯿﺚ ﻛﻞ رﻗﻢ ﻓﻲ‬
‫اﻟﺼﻮرة اﻟﺮﻗﻤﯿﺔ ﯾﻨﺎﻇﺮ ﻣﺴﺎﻓﺔ ﺻﻐﯿﺮة واﺣﺪة ﻓﻲ اﻟﺼﻮر اﻟﻤﺮﺋﯿﺔ وھﺬه اﻟﻤﺴﺎﻓﺔ‬
‫اﻟﺼﻐﯿﺮة ﻗﺪ ﺧﺼﺺ ﻟﮭﺎ ﻋﺪد ﺛﺎﺑﺖ ﯾﺴﻤﻰ )‪ (Pixel‬وھﻮ ﯾﻤﺜﻞ اﺧﺘﺼﺎراً ﻟﻜﻠﻤﺔ‬
‫)‪ (Picture Element‬وان ﺣﺠﻢ اﻟﻤﺴﺎﺣﺔ اﻟﻔﯿﺰﯾﺎﺋﯿﺔ ﺑﻮﺣﺪة اﻟﺼﻮرة )‪ (Pixel‬ﯾﺴﻤﻰ‬
‫) ‪ (Spatial Resolution‬ﻟﻮﺣﺪة اﻟﺼﻮرة‪.‬‬

‫‪ -4‬ﺧﻮارزﻣﯿﺔ اﻟﺘﺸﻔﯿﺮ اﻟﻌﺎﻣﺔ ‪:‬‬


‫ان ﺧﻮارزﻣﯿﺔ اﻟﺘﺸﻔﯿﺮﺑﺼﻮرة ﻋﺎﻣﺔ ﻟﻠﺼﻮر ﺗﺸﺒﮫ ﻓﻲ ﻣﻀﻤﻮﻧﮭﺎ ﺧﻮارزﻣﯿﺔ ﺗﺸﻔﯿﺮ‬
‫اﻟﻨﺺ وﻟﻜﻨﮭﺎ ﺗﺨﺘﻠﻒ ﻓﻲ اﻟﺘﻌﺎﻣﻞ ﺣﯿﺚ ان ﻣﻠﻒ اﻟﺼﻮرة ﯾﻌﺎﻣﻞ ﺑﺼﻮرة ﻣﺨﺘﻠﻔﺔ ﻋﻦ‬
‫ﻣﻠﻒ اﻟﻨﺺ‪ ،‬ﺣﯿﺚ ﺗﺮﻛﺰ ﻋﻤﻠﯿﺔ اﻟﺘﺸﻔﯿﺮ ﻓﻲ اﻟﺼﻮرة ﻋﻠﻰ ﺗﺸﻔﯿﺮاﻟﺒﺘﺎت ﻟﻜﻞ ﺑﻜﺴﻼت‬
‫اﻟﺼﻮرة وذﻟﻚ ﯾﺘﻢ ﺑﻮاﺳﻄﺔ ﻣﺰج ﺗﻠﻚ اﻟﺒﺘﺎت ﻣﻊ ﺧﻮارزﻣﯿﺔ اﻟﺘﺸﻔﯿﺮ اﻟﻤﺤﺪدة ﻟﯿﻨﺘﺞ ﻟﺪﯾﻨﺎ‬
‫ﺑﻜﺴﻼت ﻣﺒﻌﺜﺮة وﻏﯿﺮ ﻣﻔﮭﻮﻣﺔ وﺑﺎﻟﺘﺎﻟﻲ ﺗﺆدي اﻟﻌﻤﻞ اﻟﻤﻄﻠﻮب وھﻮ اﻟﺤﺼﻮل ﻋﻠﻰ‬
‫ﺻﻮرة ﻣﺸﻔﺮة وﻏﯿﺮ واﺿﺤﺔ اﻟﻤﻌﺎﻧﻲ وﺑﮭﺬا ﯾﺘﻢ اﻟﺤﻔﺎظ ﻋﻠﻰ اﻣﻦ وﺳﺮﯾﺔ اﻟﺼﻮرة ﻣﻦ‬
‫اﻟﻌﺒﺚ ‪.‬‬
‫واﻟﻤﺨﺨﻂ اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ ﻋﻤﻠﯿﺔ اﻟﺘﺸﻔﯿﺮ ﻟﻠﺼﻮرة ﺑﺼﯿﻐﺔ ﻣﻔﺼﻠﺔ وواﺿﺤﺔ ‪.‬‬

‫‪2‬‬
‫اﺧﺎل ﻣﻠﻒ اﻟﺼﻮرة ‪BMP‬‬

‫ﺻﻨﻊ ﻧﺴﺨﺔ اﺧﺮى ﻟﻠﺼﻮرة‬

‫ﻋﺮض ﻣﻠﻒ اﻟﺼﻮرة‬

‫ﺑﻠﻮك اﻟﺘﺸﻔﯿﺮ‬

‫ﺑﺪء ﻋﻤﻠﯿﺔ اﻟﺘﺸﻔﯿﺮ‬


‫وﻓﻚ اﻟﺘﺸﻔﯿﺮ ﻟﻠﺼﻮرة‬
‫اﻟﻤﺤﺪدة ﺑﻮاﺳﻄﺔ‬
‫ﺧﻮارزﻣﯿﺔ اﻟﺘﺸﻔﯿﺮ‬

‫ﻋﺮض اﻟﺼﻮرة ﺑﻌﺪ ﻋﻤﻠﯿﺔ‬


‫اﻟﺘﺸﻔﯿﺮ اي ﺑﻌﺪ اﻟﺘﺮﺗﯿﺐ‬
‫اﻟﺠﺪﯾﺪ ﻟﺒﺘﺎت اﻟﺼﻮرة‬
‫اﻟﻤﺸﻔﺮة‬

‫ﺻﻮرة ﻣﺸﻔﺮة‬

‫ﻓﻚ اﻟﺘﺸﻔﯿﺮ ﻟﻠﺼﻮرة‬ ‫ﺑﻠﻮك ﻓﻚ اﻟﺘﺸﻔﯿﺮ‬

‫اﻟﻨﮭﺎﯾﺔ‬
‫ﺷﻜﻞ )‪(1‬‬
‫ﺧﻮارزﻣﯿﺔ اﻟﺘﺸﻔﯿﺮ اﻟﻌﺎﻣﺔ‬

‫‪3‬‬
‫وﻟﻘﺪ ﺗﻢ اﺳﺘﺨﺪام ﺧﻮارزﻣﯿﺔ اﻟﺘﺸﻔﯿﺮ‪ RC6‬ﻓﻲ ھﺬا اﻟﺒﺤﺚ ﻟﺘﺸﻔﯿﺮ اﻟﺼﻮرة‪ ،‬وھﺬه‬
‫اﻟﺨﻮارزﻣﯿﺔ ﺗﻌﻤﻞ ﻋﻠﻰ ﺑﯿﺎﻧﺎت اﻟﺼﻮرة اﻟﻤﺘﻤﺜﻠﺔ ﺑﺎﻟﺒﺘﺎت ﻟﻜﻞ ﺑﻜﺴﻼت اﻟﺼﻮرة ﺣﯿﺚ‬
‫ﺗﻘﻮم ھﺬه اﻟﺨﻮارزﻣﯿﺔ ﺑﺘﻘﺴﯿﻢ ﻣﺠﻤﻮﻋﺔ ﺗﻠﻚ اﻟﺒﺘﺎت اﻟﻰ ارﺑﻌﺔ ﻣﺠﺎﻣﯿﻊ ھﻲ ‪A,B,C,D‬‬
‫وﺑﻌﺪ ذﻟﻚ ﺗﻘﻮم ﺑﺎﺟﺮاء ﻋﻤﻠﯿﺎت ﻣﻌﻘﺪة ﻋﻠﻰ ﺗﻠﻚ اﻟﺒﺘﺎت وﻛﻤﺎ وﺿﺤﻨﺎ ﺳﺎﺑﻘﺎ ‪.‬‬

‫‪ -5‬ﺧﻮارزﻣﯿﺔ ‪-: RC6‬‬


‫إن اﻟﻤﺨﻄﻂ اﻟﺘﺎﻟﻲ ﯾﻤﺜﻞ ﺧﻮارزﻣﯿﺔ اﻟﺘﺸﻔﯿﺮ‪. RC6‬‬

‫ﺷﻜﻞ )‪(2‬‬
‫ﺧﻮارزﻣﯿﺔ ‪RC6‬‬

‫وﺣﺴﺐ ﻣﺨﻄﻂ ‪ RC6‬ﻓﺎن ﻋﻤﻠﯿﺔ اﻟﺘﺸﻔﯿﺮ ﻓﻲ ھﺬه اﻟﺨﻮارزﻣﯿﺔ ﺗﻤﺮ ﺑﻌﺪة ﻣﺮاﺣﻞ ﺣﯿﺚ ﯾﻤﻜﻦ‬
‫ان ﻧﻠﺨﺺ ﻋﻤﻞ ھﺬه اﻟﺨﻮارزﻣﯿﺔ ﺑﺎﻟﺨﻄﻮات اﻟﺘﺎﻟﯿﺔ ‪-:‬‬

‫‪ -1‬ادﺧﺎل ﺑﻠﻮك اﻟﺒﯿﺎﻧﺎت )ﺣﺠﻤﮫ ‪ 128‬ﺑﺖ( ‪.‬‬

‫‪4‬‬
‫‪ ‬ﺗﻘﺴﯿﻢ اﻟﺒﻠﻮك اﻟﻰ ارﺑﻌﺔ اﺟﺰاء ھﻲ ‪ A,B,C,D‬وﻛﻞ ﺟﺰء ﯾﻜﻮن ﺣﺠﻤﮫ ‪ 32‬ﺑﺖ‪.‬‬
‫‪ -2‬ادﺧﺎل ﻣﻔﺘﺎح اﻟﺘﺸﻔﯿﺮ وﯾﻜﻮن ﺣﺠﻤﮫ ‪ 128‬ﺑﺖ اﯾﻀًﺎ ‪ ،‬وﯾﺒﺪأ دورﺗﮫ ﻣﻦ ]‪.S[0,..,2r+3‬‬
‫‪ -2-1‬ﻧﺎﺧﺬ اﻟﺠﺰء اﻻول ‪ B‬وﻧﺠﺮي ﻋﻠﯿﮫ اول ﺧﻄﻮات اﻟﺘﺸﻔﯿﺮ‪ ،‬ﺣﯿﺚ ﻧﺎﺧﺬ اﻟﺠﺰء ‪B‬‬
‫]‪B=B+S[0‬‬ ‫وﻧﺪﻣﺠﮫ ﻣﻊ اﻟﻤﻔﺘﺎح ]‪ S[0‬وﺣﺴﺐ اﻟﻤﻌﺎدﻟﺔ اﻻﺗﯿﺔ ‪:‬‬

‫‪ -2-2‬ان اﻟﻨﺘﯿﺠﺔ اﻟﺘﻲ ﺗﻢ اﻟﺤﺼﻮل ﻋﻠﯿﮭﺎ ﻣﻦ اﻟﺨﻄﻮة ) ‪ (2-1‬ﺗﺪﺧﻞ اﻟﻰ داﻟﺔ ‪ ، f‬وھﺬه‬
‫اﻟﺪاﻟﺔ ﺗﺠﺮي ﻋﻤﻠﯿﺎت ﻣﻌﻘﺪة ﻋﻠﻰ ﺗﻠﻚ اﻟﻨﺘﯿﺠﺔ ﺣﯿﺚ ﺗﻘﻮم ﺑﺎﺿﺎﻓﺔ ﺗﺼﺮﯾﺢ ﻣﻌﯿﻦ‬
‫اﻟﻰ اﻟﻤﻔﺘﺎح او اﻟﻜﺘﻠﺔ او اﻻﺛﻨﯿﻦ ﻣﻌﺎً وذﻟﻚ ﻟﺰﯾﺎدة ﺷﺪة اﻟﺘﻌﻘﯿﺪ وﯾﻤﻜﻦ ﺗﻮﺿﯿﺢ‬
‫ذﻟﻚ ﺣﺴﺐ اﻟﻤﻌﺎدﻻت اﻻﺗﯿﺔ‪-:‬‬
‫)‪Key =hash(password + salt‬‬
‫‪For 1 to 65000 do‬‬
‫‪Key =hash(key +salt).‬‬

‫‪ -2-3‬ﻧﺎﺧﺬ اﻟﻨﺘﯿﺠﺔ ﻣﻦ اﻟﺨﻄﻮة ) ‪ (2-2‬ﺛﻢ ﻧﺠﺮي ﻋﻠﯿﮭﺎ ﻋﻤﻠﯿﺔ اﻻزاﺣﺔ ﻟﺜﻼﺛﺔ ﻣﺮاﺗﺐ‬
‫ﺣﺴﺐ اﻟﻤﻌﺎدﻟﺔ اﻻﺗﯿﺔ ‪:‬‬
‫‪. t = (B(2B+1)) <<< lgw‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬ﻧﺤﻮل ﻧﺘﯿﺠﺔ ھﺬه اﻟﺨﻄﻮة )‪ (2-3‬اﻟﻰ اﻟﺠﺰء ‪ C‬وﻛﻤﺎ ﻣﻮﺿﺢ ﻓﻲ )ﺷﻜﻞ ‪.( 2‬‬

‫‪ -2-4‬ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ اﺧﺬ اﻟﻜﺘﻠﺔ ‪ A‬ودﻣﺠﮭﺎ ﻣﻊ ﻧﺘﯿﺠﺔ اﻟﺨﻄﻮة) ‪ (2-3‬ﺑﻮاﺳﻄﺔ اﻟﻌﻤﻠﯿﺔ‬
‫‪ xor‬ﺛﻢ ﻧﻀﯿﻒ ﻟﮭﺎ اﻟﻨﺎﺗﺞ اﻟﺬي ﺗﻢ اﻟﺤﺼﻮل ﻋﻠﯿﮫ ﻣﻦ اﻟﺠﺰء ‪ D‬ﻣﻦ ﺧﻼل ﻧﻔﺲ‬
‫اﻟﻌﻤﻠﯿﺔ اﻟﺘﻲ ﺣﺼﻠﺖ ﻟﻠﺠﺰء ‪ B‬ﻓﻲ اﻟﺨﻄﻮات )‪ (2-3...2-1‬ﺛﻢ ﺗﺰﺣﻒ اﻟﺘﻨﯿﺠﺔ‬
‫ﺛﻼﺛﺔ ﻣﺮاﺗﺐ ﻣﺮة اﺧﺮى‪.‬‬

‫‪ -2-5‬ﻧﺎﺧﺬ ﻧﺘﯿﺠﺔ اﻟﺨﻄﻮة )‪ (2-4‬وﻧﺪﻣﺠﮭﺎ ﻣﻊ اﻟﻤﻔﺘﺎح ]‪ S[2i‬ﺑﻮاﺳﻄﺔ ﻋﻤﻠﯿﺔ ‪xor‬‬


‫وﺣﺴﺐ اﻟﻤﻌﺎدﻟﺔ اﻻﺗﯿﺔ ‪:‬‬
‫]‪A= ((A^ t) <<< u) + S[2i‬‬

‫‪ -2-6‬ان ﻧﺘﯿﺠﺔ اﻟﺨﻄﻮات اﻟﺴﺎﺑﻘﺔ ادت اﻟﻰ ﺗﺤﻮل اﻟﺠﺰء ‪ A‬اﻟﻰ ‪ D‬وﺣﺴﺐ )ﺷﻜﻞ ‪(2‬‬
‫‪.‬‬
‫ﻣﻼﺣﻈﺔ ‪ :‬ﻛﻤﺎ ﻻﺣﻈﻨﺎ ﻓﻲ اﻟﻌﻤﻠﯿﺔ اﻟﺘﻲ ﺟﺮت ﻓﻲ اﻟﺨﻄﻮات اﻟﺴﺎﺑﻘﺔ ﻗﺪ اﺧﺘﺼﺮت ﺑﯿﻦ‬
‫اﻟﺠﺰﺋﯿﻦ ‪ A‬و‪ B‬ﻓﻘﻂ ‪.‬‬

‫‪ -3‬ﻧﺠﺮي ﻧﻔﺲ اﻟﻌﻤﻠﯿﺎت اﻟﺴﺎﺑﻘﺔ وﻟﻜﻦ ھﺬه اﻟﻤﺮة ﺑﯿﻦ اﻟﺠﺰﺋﯿﻦ ‪ D‬و ‪ ، C‬ﺣﯿﺚ ﻧﺎﺧﺬ ‪D‬‬
‫وﻧﺠﻤﻌﮫُ ﻣﻊ اﻟﻤﻔﺘﺎح ]‪ S[1‬وﺗﺠﺮي ﻧﻔﺲ اﻟﻌﻤﻠﯿﺎت ﻣﻦ ﺣﯿﺚ اﻟﺘﺰﺣﯿﻒ واﻟﺪاﻟﺔ ‪ f‬وﻟﻜﻦ ﻣﻊ‬
‫اﺧﺘﻼف اﻟﻤﻌﺎدﻻت ‪ ،‬وﻛﻤﺎ ﻧﻼﺣﻆ ﻓﻲ اﻟﻤﻌﺎدﻻت اﻻﺗﯿﺔ ‪:‬‬

‫‪5‬‬
‫‪u =((D (2D+1)) <<< lgw‬‬
‫]‪C=((C ^ u ) <<< t) + S[2i+1‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬ان ھﺬه اﻟﺨﻄﻮات ﺗﺘﻜﺮر ﻓﻲ ﻛﻞ دورة اﻟﻰ ان ﯾﻨﺘﮭﻲ ﻋﺪد اﻟﺪورات اﻟﺘﻲ ﺗﻤﺮ ﺑﮭﺎ‬
‫اﻟﺨﻮارزﻣﯿﺔ وھﻲ ‪ 10‬دورات ‪.‬‬

‫‪ -4‬ان اﻟﻨﺘﺎﺋﺞ اﻟﻨﮭﺎﺋﯿﺔ اﻟﺘﻲ ﻧﺤﺼﻞ ﻋﻠﯿﮭﺎ ﻣﻦ ھﺬه اﻟﺨﻮارزﻣﯿﺔ ھﻲ ﻛﺎﻟﺘﺎﻟﻲ ‪:‬‬

‫‪C‬‬ ‫‪D‬‬ ‫‪،‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪،‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪،‬‬ ‫‪D‬‬ ‫‪A‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬ﻟﻜﻲ ﻧﻘﻮم ﺑﻌﻤﻠﯿﺔ ﻓﻚ اﻟﺸﻔﺮة ﻓﺎﻧﻨﺎ ﻧﺘﺒﻊ ﻧﻔﺲ اﻟﺨﻄﻮات اﻟﺴﺎﺑﻘﺔ وﻟﻜﻦ ﺑﺼﻮرة ﻣﻌﺎﻛﺴﺔ‬
‫)اي ﻋﻜﺲ ﻋﻤﻠﯿﺔ اﻟﺘﺸﻔﯿﺮ (‪.‬‬

‫وﻟﻘﺪ ﻗﻤﻨﺎ ﺑﻜﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺞ ﯾﻮﺿﺢ ﻋﻤﻠﯿﺔ ﺗﺸﻔﯿﺮ اﻟﺼﻮرة ﺑﺸﻜﻞ ﻣﻔﺼﻞ‪ ،‬ﺣﯿﺚ ﺗﺒﯿﻦ‬
‫واﺟﮭﺔ ﺗﻄﺒﯿﻖ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﺼﻤﻤﺔ ﺑﻠﻐﺔ ﻓﯿﺠﻮﯾﻞ ﺑﯿﺴﻚ دوت ﻧﺖ ﻛﯿﻒ ﯾﺘﻢ ﺗﺤﺪﯾﺪ اﺳﻢ‬
‫اﻟﺼﻮرة )‪ (BTISS‬وﻣﺴﺎرھﺎ ﻣﻦ اﻟﺤﻘﻞ ‪ source file‬وﻣﻦ ﺛﻢ وﺿﻊ اﻟﻤﻔﺘﺎح اﻟﻤﺤﺪد‬
‫ﻟﻠﺘﺸﻔﯿﺮﻓﻲ ﺣﻘﻞ ‪ key‬وھﻨﺎ ﺗﻢ اﺧﺘﯿﺎر اﻟﻜﻠﻤﺔ ‪ computer‬ﻛﻤﻔﺘﺎح وﻣﻦ اﻟﻤﻔﺘﺮض ان‬
‫ﺗﻈﮭﺮ ﻛﻠﻤﺔ اﻟﻤﻔﺘﺎح ﺑﯿﺼﻐﺔ ﻧﺠﻮم ﻟﺤﺠﺒﮭﺎ ﻋﻦ اﻟﺸﺨﺺ اﻟﺬي ﯾﺤﺎول ﻛﺴﺮ ﺧﻮارزﻣﯿﺔ‬
‫اﻟﺘﺸﻔﯿﺮ وﻟﻜﻦ ﻟﻠﺘﻮﺿﯿﺢ ﺗﻢ اﻇﮭﺎرھﺎ‪ ،‬واﻣﺎ اﻟﺤﻘﻞ ‪ destination‬ﻓﯿﺘﻢ ﻓﯿﮫ وﺿﻊ اﺳﻢ‬
‫اﻟﺼﻮرة ﺑﻌﺪ ﺗﺸﻔﯿﺮھﺎ ﺑﺤﯿﺚ ﺗﻈﮭﺮ اﻟﺼﻮرة اﻟﻤﺸﻔﺮة ﺑﺎﺳﻢ ﺟﺪﯾﺪ ﻣﺜﻼً )‪،( Btiss111‬‬
‫وﯾﺠﻮز ان ﻧﺒﻘﻲ اﻟﺼﻮرة ﺑﻨﻔﺲ اﻻﺳﻢ وﻟﻜﻦ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﯾﺠﺐ ﺗﻐﯿﺮ ﻣﻮﻗﻊ اﻟﺨﺰن‬
‫ﻟﻜﻲ ﻻﯾﻌﺘﺮض اﻟﻮﯾﻨﺪوز ﻋﻠﯿﮭﺎ ‪.‬‬

‫واﺧﯿﺮًا ﻟﻢ ﯾﺒﻘﻰ ﻟﺪﯾﻨﺎ ﺳﻮى واﺟﮭﺔ اﻟﺒﺮﻧﺎﻣﺞ ﻟﻔﻚ اﻟﺘﺸﻔﯿﺮ ﺣﯿﺚ ﺗﺘﻢ ﻓﯿﮫ ﻧﻔﺲ‬
‫اﻟﻌﻤﻠﯿﺔ اﻟﺴﺎﺑﻘﺔ وﻟﻜﻦ ﯾﺘﻢ اﻟﺘﻌﺎﻣﻞ ھﻨﺎ ﻣﻊ اﺳﻢ اﻟﺼﻮرة اﻟﻤﺸﻔﺮة )‪ ،( Btiss111‬ﺣﯿﺚ‬
‫ﯾُﺴﺘﺨﺪم ﻧﻔﺲ اﻟﻤﻔﺘﺎح اﻟﺬي ﺗﻤﺖ ﻓﯿﮫ ﻋﻤﻠﯿﺔ اﻟﺘﺸﻔﯿﺮ وﯾﺘﻢ اﺳﺘﺪﻋﺎء اﻟﺼﻮرة ﻓﻲ ﺣﻘﻞ‬
‫‪ source file‬وﻧﻌﻄﯿﮭﺎ اﺳﻢ ﺟﺪﯾﺪ وﻟﻨﻔﺮض ﻣﺜﻼً )‪ (Btiss222‬ﻓﻲ‬
‫ﺣﻘﻞ ‪ ، destination‬وھﺬا ﯾﺪل ﻋﻠﻰ ان اﻟﺼﻮرة ﯾﻜﻮن ﻟﮭﺎ ﺛﻼﺛﺔ اﺳﻤﺎء اﺳﻢ ﻗﺒﻞ‬
‫اﻟﺘﺸﻔﯿﺮ وﺑﻌﺪ اﻟﺘﺸﻔﯿﺮواﺳﻢ اﺧﺮﺑﻌﺪ ﻓﻚ اﻟﺘﺸﻔﯿﺮ‪.‬‬

‫‪6‬‬
‫اﻟﺼﻮرة اﻷﺻﻠﯿﺔ )ﻗﺒﻞ ﻋﻤﻠﯿﺔ اﻟﺘﺸﻔﯿﺮ ﺑﺎﺳﻢ ‪(Btiss‬‬

‫اﻟﺼﻮرة اﻟﻤﺸﻔﺮة )ﺑﻌﺪ ﻋﻤﻠﯿﺔ اﻟﺘﺸﻔﯿﺮ ﺑﺎﺳﻢ ‪(Btiss111‬‬

‫‪7‬‬
‫اﻟﻤﺼﺎدر‬
1- JONAS, GDMES and LVIZ, VELTIO.
"IMAGE PROSSING FOR COMPUTER GRAPHICS" , 1917 .

2- BIBER "CIPHER SYSTEM " , 1989 .

3- JEFF PROSISE " THE BMP FORMAT " , 1994 .

4- http://www.vc4arab.com

You might also like