Professional Documents
Culture Documents
وان اﻟﻐﺮض ﻣﻦ ھﺬا اﻟﺒﺤﺚ ھﻮ اﻟﺤﻔﺎظ ﻋﻠﻰ اﻣﻦ وﺳﺮﯾﺔ اﻟﻤﻌﻠﻮﻣﺎت ﺿﺪ ﻋﻤﻠﯿﺔ اﺧﺘﺮاق
او ﻛﺴﺮ ﺷﻔﺮة اﻟﺼﻮرة ﺣﯿﺚ اﻧﮫ ﯾﻌﺘﺒﺮ اﺣﺪ ﺗﻄﺒﯿﻘﺎت اﻟﺘﺸﻔﯿﺮ ﺣﯿﺚ ﯾﻘﻮم ﺑﺘﺸﻔﯿﺮ اﻟﺼﻮر
اﻟﺘﻲ ﻧﺮﻏﺐ ﺑﺎﻟﺤﻔﺎظ ﻋﻠﯿﮭﺎ ﻣﻦ ﻋﺒﺚ اﻟﻤﺘﻄﻔﻠﯿﻦ ،وان اﻟﺼﻮرة اﻟﻤﺮاد ﺗﺸﻔﯿﺮھﺎ ھﻲ ﺑﮭﯿﺌﺔ
24bit BMPوﯾﺘﻨﺎول ھﺬا اﻟﺒﺤﺚ ﻃﺮﯾﻘﺔ ﺗﻮﻟﯿﺪ اﻟﻤﻔﺘﺎح وﻣﻦ ﺛﻢ اﺳﺘﺨﺪاﻣﮫ ﻓﻲ ﺗﺸﻔﯿﺮ
اﻟﺼﻮرة اﻟﻤﺤﺪدة وﯾﺘﻢ ﻓﺘﺢ ھﺬه اﻟﺸﻔﺮة ﺑﻨﻔﺲ اﻟﻤﻔﺘﺎح وﻟﻘﺪ ﺗﻢ ﺗﻨﻔﯿﺬ ھﺬه اﻟﻌﻤﻠﯿﺔ ﺑﻮاﺳﻄﺔ ﻟﻐﺔ
اﻟﺒﺮﻣﺠﺔ ﻓﯿﺠﯿﻮل ﺑﯿﺴﻚ دوت ﻧﺖ.
1
-1اﻟﻤﻘﺪﻣﺔ:
ان اﻟﺘﺸﻔﯿﺮھﻮ ﻋﻤﻠﯿﺔ اﻟﺤﻔﺎظ ﻋﻠﻰ ﺳﺮﯾﺔ اﻟﻤﻌﻠﻮﻣﺎت ﺑﺎﺳﺘﺨﺪام ﺑﺮاﻣﺞ ﻟﮭﺎ اﻟﻘﺪرة
ﻋﻠﻰ ﺗﺤﻮﯾﻞ وﺗﺮﺟﻤﺔ ﺗﻠﻚ اﻟﻤﻌﻠﻮﻣﺎت إﻟﻰ رﻣﻮز ﺑﺤﯿﺚ إذا ﻣﺎ ﺗﻢ اﻟﻮﺻﻮل إﻟﯿﮭﺎ ﻣﻦ ﻗﺒﻞ
أﺷﺨﺎص ﻏﯿﺮ ﻣﺨﻮل ﻟﮭﻢ ﺑﺬﻟﻚ ﻻ ﯾﺴﺘﻄﯿﻌﻮن ﻓﮭﻢ أي ﺷﺊ ﻷن ﻣﺎ ﯾﻈﮭﺮ ﻟﮭﻢ ھﻮ ﺧﻠﯿﻂ
ﻣﻦ اﻟﺮﻣﻮز واﻷرﻗﺎم واﻟﺤﺮوف اﻟﻐﯿﺮ ﻣﻔﮭﻮﻣﺔ.
ﻟﺬﻟﻚ ﺗﻌﺒﺮ ﻛﻠﻤﺔ " ﺗﺸﻔﯿﺮ" ﻋﻦ ﺗﺤﻮﯾﻞ أو " ﺑﻌﺜﺮة" اﻟﺒﯿﺎﻧﺎت إﻟﻰ ھﯿﺌﺔ ﻏﯿﺮ ﻗﺎﺑﻠﺔ ﻟﻠﻔﮭﻢ
ﻹرﺳﺎﻟﮭﺎ ﻋﺒﺮ وﺳﻂ ﻧﺎﻗﻞ ﻣﻌﯿﻦ إﻟﻰ ﺟﮭﺔ ﻣﺤﺪدة .ﺑﺤﯿﺚ ﻻﯾﻤﻜﻦ ﻷي ﺟﮭﺔ ﻏﯿﺮ اﻟﺠﮭﺔ
اﻟﻤﻘﺼﻮدة ﺗﻔﺴﯿﺮ ھﺬة اﻟﺒﯿﺎﻧﺎت اﻟﻤﺒﮭﻤﺔ واﺳﺘﺨﻼص اﻟﺒﯿﺎﻧﺎت اﻟﻤﻔﮭﻮﻣﺔ ﻣﻨﮭﺎ وھﺬة اﻟﻌﻤﻠﯿﺔ
ھﻲ أﻋﻠﻰ درﺟﺔ أﻣﺎن ﻣﻤﻜﻨﺔ.
وﻓﻲ ﺑﺤﺜﻨﺎ ھﺬا ﻗﻤﻨﺎ ﺑﺘﻄﺒﯿﻖ ﻣﻔﮭﻮم اﻟﺘﺸﻔﯿﺮ ﻋﻠﻰ اﻟﺼﻮر اﻟﺮﻗﻤﯿﺔ ذات ھﯿﺌﺔ ﻣﻠﻒ)BMP
(bit 24واﻟﻐﺮض ﻣﻦ ﻋﻤﻠﯿﺔ ﺗﺸﻔﯿﺮ اﻟﺼﻮر ھﻮ اﻟﺤﻔﺎظ ﻋﻠﯿﮭﺎ ﻣﻦ اﻟﺴﺮﻗﺔ او اﻟﻌﺒﺚ
وﺧﺼﻮﺻﺎً اذا ﻛﺎﻧﺖ ﺻﻮر ﺧﺎﺻﺔ او ﻣﮭﻤﺔ وﻻﻧﺮﻏﺐ ان ﯾﺮاھﺎ اﺣﺪاً ﺳﻮاﻧﺎ .
واﻟﺼﻮر ھﻨﺎ ﻧﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ ﻋﻠﻰ اﻧﮭﺎ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻻرﻗﺎم اﻟﺜﻨﺎﺋﯿﺔ ﺣﯿﺚ ﻛﻞ رﻗﻢ ﻓﻲ
اﻟﺼﻮرة اﻟﺮﻗﻤﯿﺔ ﯾﻨﺎﻇﺮ ﻣﺴﺎﻓﺔ ﺻﻐﯿﺮة واﺣﺪة ﻓﻲ اﻟﺼﻮر اﻟﻤﺮﺋﯿﺔ وھﺬه اﻟﻤﺴﺎﻓﺔ
اﻟﺼﻐﯿﺮة ﻗﺪ ﺧﺼﺺ ﻟﮭﺎ ﻋﺪد ﺛﺎﺑﺖ ﯾﺴﻤﻰ ) (Pixelوھﻮ ﯾﻤﺜﻞ اﺧﺘﺼﺎراً ﻟﻜﻠﻤﺔ
) (Picture Elementوان ﺣﺠﻢ اﻟﻤﺴﺎﺣﺔ اﻟﻔﯿﺰﯾﺎﺋﯿﺔ ﺑﻮﺣﺪة اﻟﺼﻮرة ) (Pixelﯾﺴﻤﻰ
) (Spatial Resolutionﻟﻮﺣﺪة اﻟﺼﻮرة.
2
اﺧﺎل ﻣﻠﻒ اﻟﺼﻮرة BMP
ﺑﻠﻮك اﻟﺘﺸﻔﯿﺮ
ﺻﻮرة ﻣﺸﻔﺮة
اﻟﻨﮭﺎﯾﺔ
ﺷﻜﻞ )(1
ﺧﻮارزﻣﯿﺔ اﻟﺘﺸﻔﯿﺮ اﻟﻌﺎﻣﺔ
3
وﻟﻘﺪ ﺗﻢ اﺳﺘﺨﺪام ﺧﻮارزﻣﯿﺔ اﻟﺘﺸﻔﯿﺮ RC6ﻓﻲ ھﺬا اﻟﺒﺤﺚ ﻟﺘﺸﻔﯿﺮ اﻟﺼﻮرة ،وھﺬه
اﻟﺨﻮارزﻣﯿﺔ ﺗﻌﻤﻞ ﻋﻠﻰ ﺑﯿﺎﻧﺎت اﻟﺼﻮرة اﻟﻤﺘﻤﺜﻠﺔ ﺑﺎﻟﺒﺘﺎت ﻟﻜﻞ ﺑﻜﺴﻼت اﻟﺼﻮرة ﺣﯿﺚ
ﺗﻘﻮم ھﺬه اﻟﺨﻮارزﻣﯿﺔ ﺑﺘﻘﺴﯿﻢ ﻣﺠﻤﻮﻋﺔ ﺗﻠﻚ اﻟﺒﺘﺎت اﻟﻰ ارﺑﻌﺔ ﻣﺠﺎﻣﯿﻊ ھﻲ A,B,C,D
وﺑﻌﺪ ذﻟﻚ ﺗﻘﻮم ﺑﺎﺟﺮاء ﻋﻤﻠﯿﺎت ﻣﻌﻘﺪة ﻋﻠﻰ ﺗﻠﻚ اﻟﺒﺘﺎت وﻛﻤﺎ وﺿﺤﻨﺎ ﺳﺎﺑﻘﺎ .
ﺷﻜﻞ )(2
ﺧﻮارزﻣﯿﺔ RC6
وﺣﺴﺐ ﻣﺨﻄﻂ RC6ﻓﺎن ﻋﻤﻠﯿﺔ اﻟﺘﺸﻔﯿﺮ ﻓﻲ ھﺬه اﻟﺨﻮارزﻣﯿﺔ ﺗﻤﺮ ﺑﻌﺪة ﻣﺮاﺣﻞ ﺣﯿﺚ ﯾﻤﻜﻦ
ان ﻧﻠﺨﺺ ﻋﻤﻞ ھﺬه اﻟﺨﻮارزﻣﯿﺔ ﺑﺎﻟﺨﻄﻮات اﻟﺘﺎﻟﯿﺔ -:
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-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
7
اﻟﻤﺼﺎدر
1- JONAS, GDMES and LVIZ, VELTIO.
"IMAGE PROSSING FOR COMPUTER GRAPHICS" , 1917 .
4- http://www.vc4arab.com