Assignment1.pdf

‫ﺑﻪ ﻧﺎم ﺧﺪا‬
‫ﺗﻤﺮﻳﻦ ‪1‬‬
‫ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ‪85/12/19 :‬‬
‫اﻣﻨﻴﺖ داده و ﺷﺒﻜﻪ‬
‫در ﭘﺎﺳﺦ ﺑﻪ ﺗﻤﺮﻳﻨﺎت ﺑﻪ ﻧﻜﺎت زﻳﺮ ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ‪:‬‬
‫•‬
‫ﺗﻤﺎم ﺑﺮﻧﺎﻣﻪﻫﺎ و ﻣﺴﺘﻨﺪاﺗﻲ ﻛﻪ در ﭘﺮﺳﺸﻬﺎي زﻳﺮ ﺑﻪ آن ارﺟﺎع داده ﻣﻲﺷﻮد در ﺑﺨـﺶ ‪ Resources‬ﺻـﻔﺤﺔ‬
‫ﺧﺎﻧﮕﻲ درس ﻣﻮﺟﻮدﻧﺪ‪ .‬‬
‫•‬
‫ﺑﺮاي ﻛﻤﻚ ﺑﻪ ﺷﻤﺎ در ﺣﻞ ﻣﺴﺎﺋﻞ‪ ،‬ﺑﺮﻧﺎﻣﻪﻫﺎﻳﻲ ﺑﻪ زﺑﺎن ‪ C# 2.0‬ﻧﻮﺷﺘﻪ ﺷﺪهاﻧﺪ‪ .‬در ﺑﺮﺧﻲ ﻣﻮارد ﻻزم اﺳـﺖ‬
‫ﺑﺮﻧﺎﻣﻪﻫﺎ را ﺳﻔﺎرﺷﻲ ﻛﻨﻴﺪ‪ .‬‬
‫•‬
‫ﺣﺘﻤﺎً ‪ DeliveryGuide.pdf‬را ﻣﻄﺎﻟﻌﻪ ﻛﻨﻴﺪ‪ .‬ﺗﻤﺎرﻳﻨﻲ ﻛﻪ ﺑﺎ اﻳﻦ ﻗﻮاﻧﻴﻦ ﺳﺎزﮔﺎر ﻧﺒﺎﺷﻨﺪ ﺗﺼﺤﻴﺢ ﻧﺨﻮاﻫﻨﺪ ﺷﺪ‪.‬‬
‫‪ ‬‬
‫‪ (1‬ﺑـﺎ ﺗﻮﺟـﻪ ﺑـﻪ ‪ ،RFC 2828‬ﺗﻔـﺎوت دو ﺳـﺮوﻳﺲ اﻣﻨﻴﺘـﻲ ‪ connectionless data integrity‬و‬
‫‐‪connection‬‬
‫‪ orientated data integrity‬را ﺗﻮﺿﻴﺢ دﻫﻴﺪ‪ .‬وﻗﺘﻲ ﺑﻪ ﻃﻮر ﻣﻄﻠﻖ از ‪ integrity‬ﺻﺤﺒﺖ ﻣـﻲﻛﻨـﻴﻢ‪ ،‬ﻣﻘﺼـﻮد‬
‫ﻛﺪام ﻳﻚ از اﻳﻦ دو ﻧﻮع ﺳﺮوﻳﺲ اﺳﺖ؟ ‪ ‬‬
‫‪ (2‬اﻟﮕﻮرﻳﺘﻢ رﻣﺰﻧﮕﺎري ‪ ROT13‬ﭼﻴﺴﺖ؟ ﻣﺰﻳﺖ اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﺑﺮ )‪) ROT(n‬در ﺣﺎﻟﺖ ‪ (n≠13‬را ﺑﻴﺎن ﻛﻨﻴﺪ‪ .‬‬
‫‪ (3‬ﭼﮕﻮﻧﻪ ﻣﻲﺗﻮان ﺑﺎ روش ﻛﺎﺳﻴﺴﻜﻲ‪ ،‬رﻣﺰ وﻳﮋﻧﺮ را ﺑﻪ ﺗﻌﺪادي رﻣﺰ ﺳﺰار ﺗﻘﻠﻴـﻞ داد؟ روش ﺧـﻮد را ﺑـﺮاي‬
‫رﻣﺰ زﻳﺮ ﺑﻪ ﻛﺎر ﺑﮕﻴﺮﻳﺪ و ﺑﺎ ﺷﻤﺮدن ﺳﻪ ﺗﺎﻳﻲﻫﺎﻳﻲ ﻛﻪ ﺗﻜﺮار ﺷﺪهاﻧﺪ و ﺑﺎ ﺑﺪﺳﺖ آوردن ﻓﺎﺻﻠﺔ آﻧﻬـﺎ ﻃـﻮل‬
‫اﺣﺘﻤﺎﻟﻲ ﻛﻠﻴﺪ را ﺑﺪﺳﺖ آورﻳﺪ؛ و ﺳﭙﺲ رﻣﺰ را ﺑﺸﻜﻨﻴﺪ )ﺗﻮﺻﻴﻪ ﻣﻲﺷﻮد ﻛـﻪ ﺑـﺮاي راﺣﺘـﻲ ﻛـﺎر از ﻳـﻚ‬
‫ﺑﺮﻧﺎﻣﺔ ﻛﺎﻣﭙﻴﻮﺗﺮي اﺳﺘﻔﺎده ﻛﻨﻴﺪ(‪ .‬ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ ﻓﺎﺻﻠﻪﻫﺎ ﺗﻨﻬﺎ ﺑﺮاي ﺧﻮاﻧﺎﻳﻲ اﺿﺎﻓﻪ ﺷـﺪهاﻧـﺪ‪ .‬ﻣـﺘﻦ‬
‫اﺻﻠﻲ ﻣﺮﻛﺐ اﺳﺖ از ‪ 26‬ﺣﺮف اﻟﻔﺒﺎي اﻧﮕﻠﻴﺴﻲ )ﺑﺪون ﻓﺎﺻﻠﻪ ﻳﺎ ﻋﻼﺋﻢ ﻧﻘﻄﻪ ﮔﺬاري(‪ .‬‬
‫‪YPOZU TWQOT XBNYX JOUHE XBNLY NZYAB XBUZA TEZOX NUVVK YITJX TNZOX TZEAH UZGJM ‬‬
‫‪NKKHG IWLWK FKZPV JBUAA JWXFT QTZVH TNZLG ‬‬
‫‪ (4‬ﻳﻚ ﻣﺘﻦ دﻟﺨﻮاه )و ﻣﻌﻨﺎ دار!( ‪ P‬ﺑﻪ ﻃﻮل ﺣﺪوداً ‪ 100‬ﺣﺮف را اﻧﺘﺨﺎب و ﺑﺎ روش وﻳﮋﻧﺮ ﺑﺎ ‪ 4‬ﻛﻠﻴﺪ‪ :‬‬
‫‪(This in fact is a Caesar cipher!) ‬‬
‫‪ ‬‬
‫‪K1=I ‬‬
‫‪ ‬‬
‫‪ ‬‬
‫‪ ‬‬
‫‪K2=ME ‬‬
‫‪ ‬‬
‫‪K3=RAN ‬‬
‫‪ ‬‬
‫‪K4=CLUB ‬‬
‫رﻣﺰ ﻛﻨﻴﺪ )راﻫﻨﻤﺎﻳﻲ‪ :‬ﻣﻲﺗﻮاﻧﻴﺪ از ﺑﺮﻧﺎﻣﺔ ‪ Vigener.cs‬اﺳﺘﻔﺎده ﻛﻨﻴﺪ(‪ .‬ﻓﺮﻛﺎﻧﺲ ﺗﻜﺮار ﻫﺮﻳﻚ از ﺣﺮوف اﻟﻔﺒـﺎ‬
‫را در ‪ P‬و ﻣﺘﻮن رﻣﺰ ﺷﺪه ﺷﻤﺮده )راﻫﻨﻤﺎﻳﻲ‪ :‬ﻣﻲﺗﻮاﻧﻴﺪ از ﺑﺮﻧﺎﻣﺔ ‪ GetFrequencies.cs‬اﺳﺘﻔﺎده ﻛﻨﻴـﺪ( و ﺑـﻪ‬
‫ﺳﺆاﻻت زﻳﺮ ﭘﺎﺳﺦ دﻫﻴﺪ )ﻻزم ﻧﻴﺴﺖ ﻣﺘﻦ رﻣﺰ ﺷﺪه ﻳﺎ ﻓﺮﻛﺎﻧﺴﻬﺎ را ارﺳـﺎل ﻛﻨﻴـﺪ؛ ﺗﻨﻬـﺎ ‪ P‬و ﭘﺎﺳـﺨﺘﺎن ﺑـﻪ‬
‫ﺳﺆاﻻت زﻳﺮ ﻣﺪ ﻧﻈﺮ اﺳﺖ(‪ :‬‬
‫‪.i‬‬
‫ﻣﻴﺎﻧﮕﻴﻦ و اﻧﺤﺮاف ﻣﻌﻴﺎر ﻓﺮﻛﺎﻧﺴﻬﺎ در ﻫﺮ ‪ 5‬ﺣﺎﻟﺖ را ﺑﺪﺳﺖ آورﻳﺪ )راﻫﻨﻤﺎﻳﻲ‪ :‬ﺑﺮاي اﻳﻦ ﻣﻨﻈـﻮر‬
‫از ﺗﻮاﺑﻊ ‪ AVERAGE‬و ‪ STDEV‬اﻛﺴﻞ اﺳﺘﻔﺎده ﻛﻨﻴﺪ(‪ .‬‬
‫‪.ii‬‬
‫در ﻣﻮرد ﺗﻐﻴﻴﺮات اﺣﺘﻤﺎﻟﻲ ﻣﻴﺎﻧﮕﻴﻦ و اﻧﺤﺮاف ﻣﻌﻴﺎر و ﻣﻔﻬﻮم آن ﺑﺤﺚ ﻛﻨﻴﺪ‪ .‬‬
‫‪.iii‬‬
‫آﻳﺎ ﻣﻲﺗﻮان ﻛﻠﻴﺪ را ﺑﻪ ﮔﻮﻧﻪاي اﻧﺘﺨﺎب ﻛﺮد ﻛﻪ اﻧﺤﺮاف ﻣﻌﻴﺎر ﺻﻔﺮ ﺷﻮد؟ ‪ ‬‬
‫‪.iv‬‬
‫آﻳﺎ اﻧﺤﺮاف ﻣﻌﻴﺎر ﺑﺎ ‪ diffusion‬راﺑﻄﻪ دارد؟ ‪ ‬‬
‫‪.v‬‬
‫آﻳﺎ ﻣﻲﺗﻮان ﻃﻮل ﻛﻠﻴﺪ را آن ﻗﺪر زﻳﺎد ﻛﺮد ﻛﻪ ﻫﻴﭻ ﻳﻚ ازﺧﻮاص آﻣﺎري ‪ P‬در ‪ C‬دﻳﺪه ﻧﺸﻮد؟ ‪ ‬‬
‫‪ (5‬ﺛﺎﺑﺖ ﻛﻨﻴﺪ ﻛﻪ در ﻣﻌﻤﺎري ﻓﺎﻳﺴﺘﻞ‪ ،‬ﻧﻴﺎزي ﺑﻪ ﻳﻚ ﺑﻪ ﻳﻚ ﺑﻮدن ﺗﺎﺑﻊ ‪ F‬ﻧﻴﺴﺖ‪ .‬‬
‫‪ (6‬ﺛﺎﺑﺖ ﻛﻨﻴﺪ ﺧﺎﺻﻴﺖ زﻳﺮ در ﻣﻮرد ﻋﻤﻠﮕﺮ ‪ XOR‬ﺑﺮ ﻗﺮار اﺳﺖ‪ :‬‬
‫‪ ‬‬
‫‪y‬‬
‫‪x‬‬
‫‪y‬‬
‫‪z‬‬
‫‪x‬‬
‫و از آﻧﺠﺎ راﺑﻄﺔ زﻳﺮ را )ﻛﻪ ﺑﻪ ﺧﺎﺻﻴﺖ ﻣﻜﻤﻠﻴﺖ ﻣﺸﻬﻮر اﺳﺖ( در ﻣﻮرد ‪ DES‬ﺛﺎﺑﺖ ﻛﻨﻴﺪ‪:‬‬
‫‪C‬‬
‫‪P, K‬‬
‫‪,‬‬
‫‪ (7‬ﭼﺮا ﻛﻠﻴﺪ ‪ DES‬اي ﻛﻪ ﻫﺮ ‪ 56‬ﺑﻴﺖ آن ‪ 0‬ﺑﺎﺷﺪ‪ ،‬ﻛﻠﻴﺪ ﺿﻌﻴﻔﻲ ﻣﺤﺴﻮب ﻣﻲﺷﻮد؟ اﻳﻦ ﻛﻠﻴﺪ ‪ DES‬را در ﺑﺮاﺑـﺮ‬
‫ﭼﻪ ﻧﻮع ﺣﻤﻠﻪاي آﺳﻴﺐ ﭘﺬﻳﺮ ﻣﻲﻛﻨﺪ؟ ‪ ‬‬
‫‪ (8‬در ﻣﻮرد ‪ (ANF) Algebraic Normal Form‬ﻣﻄﺎﻟﻌﻪ ﻛﺮده )راﻫﻨﻤﺎﻳﻲ‪ :‬ﻣﻘﺎﻟﺔ ‪ ANF.pdf‬را ﺑﺨﻮاﻧﻴﺪ( و در ﻣﻮرد‬
‫‪ DES‬ﺑﻪ ﭘﺮﺳﺸﻬﺎي زﻳﺮ ﭘﺎﺳﺦ دﻫﻴﺪ )راﻫﻨﻤﺎﻳﻲ‪ :‬از ‪ FIPS46.pdf‬ﻛﻤﻚ ﺑﮕﻴﺮﻳﺪ(‪ :‬‬
‫‪.i‬‬
‫ﺛﺎﺑـﺖ ﻛﻨﻴـﺪ ﻫﻤـﺔ ﺗﻮاﺑـﻊ ‪ ،Rotational Shift ،PC‐2 ،PC‐1 ،P‐Box ،IP‐1 ،IP ،XOR‬و ‪ E‐Box‬ﺧﻄـﻲ‬
‫ﻫﺴﺘﻨﺪ‪ .‬‬
‫‪.ii‬‬
‫ﺑﺎﻗﻴﻤﺎﻧﺪة ﺷﻤﺎرة داﻧﺸﺠﻮﻳﻲ ﺧﻮد را ﺑﺮ ﻋﺪد ‪ 32‬ﻣﺤﺎﺳﺒﻪ ﻛﺮده و آن را ‪ i‬ﺑﻨﺎﻣﻴﺪ‪ .‬ﻓﺮم ﻧﺮﻣﺎل ﺟﺒـﺮي‬
‫ﺗﺎﺑﻌﻲ را ﻛﻪ ‪ 6‬ورودي ‪ S‐Box‬را ﮔﺮﻓﺘﻪ و ﺑﻴﺖ ‪ i‬ام را ﻣﺤﺎﺳـﺒﻪ ﻣـﻲﻛﻨـﺪ ﺑﺪﺳـﺖ آورﻳـﺪ‪ .‬درﺟـﺔ‬
‫ﻏﻴﺮﺧﻄﻲ ﺑﻮدن اﻳﻦ ﺗﺎﺑﻊ را ﺣﺴﺎب ﻛﻨﻴﺪ‪ .‬‬
‫‪.iii‬‬
‫ﺻﺤﺖ اﻳﻦ ﮔﻔﺘﻪ را ﺗﺸﺮﻳﺢ ﻛﻨﻴﺪ‪ S‐Box :‬ﻫﺎ ﺗﻨﻬﺎ ﺑﺨﺶ ﻏﻴﺮ ﺧﻄﻲ ‪ DES‬ﻫﺴﺘﻨﺪ‪ .‬‬
‫‪ (9‬ﻳﻚ ﻣﺘﻦ آﺷﻜﺎر ‪ 64‬ﺑﻴﺘﻲ ﺗﺼﺎدﻓﻲ )‪ (P‬و ﻳﻚ ﻛﻠﻴﺪ ‪ 64‬ﺑﻴﺘﻲ ﺗﺼﺎدﻓﻲ‪ (K) 1‬را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪.‬‬
‫)‪C= DES(P,K‬‬
‫را ﻣﺤﺎﺳﺒﻪ ﻛﻨﻴﺪ )راﻫﻨﻤﺎﻳﻲ‪ :‬از ‪ DES.cs‬ﻛﻤﻚ ﺑﮕﻴﺮﻳﺪ(‪ .‬ﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﻴﻢ‪ Ki :‬ﻫﻤﺎن ‪ K‬اﺳﺖ‪ ،‬اﻣﺎ در ﺑﻴﺖ ‪i‬ام ﺑﺎ‬
‫‪ K‬ﻣﺘﻔﺎوت اﺳﺖ‪ Ci= DES(P,Ki) .‬را ﺑﻪ ازاي ‪ i‬از ‪ 0‬ﺗﺎ ‪ ( i ≠ 8 k − 1) 63‬ﻣﺤﺎﺳﺒﻪ ﻛﺮده و ﻫﺮ ﺑﺎر ﺗﻌﺪاد ﺑﻴﺘﻬﺎﻳﻲ‬
‫را ﻛﻪ در ‪ C‬و ‪ Ci‬ﻳﻜﺴﺎن ﻧﻴﺴﺘﻨﺪ )‪ (Di= # of disagreement bits‬ﺑﺪﺳﺖ آورﻳﺪ‪ .‬ﺧﻮاﺳﺘﺔ ﻣﺴﺌﻠﻪ آن اﺳﺖ ﻛﻪ‬
‫‪ ،K ،P‬و ﺟﺪول ‪ Di‬را ﺑﻨﻮﻳﺴﻴﺪ )ﻻزم ﺑﻪ ﻧﻮﺷﺘﻦ ‪ Ci‬ﻫﺎ ﻧﻴﺴﺖ(‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺟﺪول ‪) Di‬ﻳﺎ ﻫﺮ اﻃﻼع دﻳﮕـﺮي(‬
‫ﺑﺮرﺳﻲ ﻛﻨﻴﺪ ﻛﻪ ‪ DES‬ﺗﺎ ﭼﻪ ﺣﺪ ﺧﺎﺻﻴﺖ زﻳﺮ را ﻛﻪ ﺑﻪ ﺷـﺮط ﺑﻬﻤﻨـﻲ اﻛﻴـﺪ )‪(strict avalanche criterion‬‬
‫ﻣﻌﺮوف اﺳﺖ‪ ،‬ارﺿﺎ ﻣﻲﻛﻨﺪ‪ :‬‬
‫اﺣﺘﻤﺎل ﺗﻐﻴﻴﺮ ﻳﻚ ﺑﻴﺖ در ﺧﺮوﺟﻲ ﺑﺎ ﺗﻐﻴﻴﺮ ﻳﻚ ﺑﻴﺖ ﻛﻠﻴﺪ‪ 50 ،‬درﺻﺪ اﺳﺖ‪.‬‬
‫‪ ‬‬
‫‪ ‬‬
‫‪ 1‬ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ ﻛﻠﻴﺪ ﺣﻘﻴﻘﻲ ‪ 64 ،DES‬ﺑﻴﺘﻲ اﺳﺖ ﻛﻪ ‪ 8‬ﺑﻴﺖ آن را ‪ Odd Parity‬ﺗﺸﻜﻴﻞ ﻣﻲدﻫﺪ؛ ﻛﻪ در ﻧﺘﻴﺠﻪ ﻓﻘﻂ ‪ 56‬ﺑﻴﺖ آن ﺗﺼﺎدﻓﻲ ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬