Introduction To Cryptography
Introduction To Cryptography
ﺟﻠﺴﻪی :١ﻣﻘﺪﻣﻪ
ﻧ ﺎرﻧﺪه :ﺳﻬ ﺻﺎﻟﺤﯿﺎن ﻗﻤﺼﺮی ﻣﺪرس :دﮐﺘﺮ ﺷﻬﺮام ﺧﺰاﺋ
١ﻣﻔﺎﻫﯿﻢ اوﻟﯿﻪ
اﻣﺮوزه در رﻣﺰﻧ ﺎری ١ﻣﺴﺎﺋﻞ ﮔﻮﻧﺎﮔﻮﻧ ﻣﺎﻧﻨﺪ ﭘﺮوﺗ ﻞﻫﺎی رﻣﺰﻧ ﺎری ٢ﻣﻄﺮح ﻣ ﺑﺎﺷﺪ وﻟﯿ ﻦ ﻣﻮﺿﻮع اﺻﻠ اﯾﻦ درس
اوﻟﯿﻪﻫﺎی رﻣﺰﻧ ﺎری ٣و درک اﻫﻤﯿﺖ آنﻫﺎﺳﺖ.
ﺗﺎﮐﯿﺪ ﺑﺮ اﯾﻦ ﻧ ﺘﻪ ﮐﻪ رﻣﺰﻧ ﺎری و ﮐﺪﯾﻨ ۴دو اﻣﺮ ﻣﺘﻔﺎوت ﻣ ﺑﺎﺷﻨﺪ ،اﻣﺮی اﻟﺰاﻣ ﺳﺖ .در واﻗﻊ ﮐﺪﯾﻨ ﻗﺴﻤﺘ از
ﻋﻤﻠﯿﺎت اﻧﺘﻘﺎل ﯾ ﭘﯿﺎم اﺳﺖ .دو ﻧﻮع ﮐﺪﯾﻨ وﺟﻮد دارد .ﻧﻮع اول ،ﮐﺪﯾﻨ ﻣﻨﺒﻊ اﺳﺖ ﮐﻪ ﺟﺰﺋ از ﻣﺪل اوﻟﯿﻪ زﯾﺮ
اﺳﺖ ﮐﻪ اﻧﺘﻘﺎل اﻃﻼﻋﺎت را ﻧﺸﺎن ﻣ دﻫﺪ.
ﻣﻨﺒﻊ .
اﻃﻼﻋﺎﺗ ﻣﻨﺒﻊ ﮐﺪﯾﻨ ﮐﺎﻧﺎل ﮐﺪﯾﻨ
دادهﻫﺎی
ﻣﻨﺒﻊ دﮐﺪﯾﻨ ﮐﺎﻧﺎل دﮐﺪﯾﻨ
ارﺳﺎﻟ
در ﺷ ﻞ ﺑﺎﻻ ،ﻣﻨﺒﻊ اﻃﻼﻋﺎﺗ ﻣ ﺗﻮاﻧﺪ ﺷﺎﻣﻞ ﻫﺮ ﻧﻮﻋ از اﻃﻼﻋﺎت از ﻗﺒﯿﻞ :ﺻﻮت ،ﺗﺼﻮﯾﺮ ،ﻣﺘﻦ و ...ﺑﺎﺷﺪ .وﻇﯿﻔﻪ
»ﮐﺪﯾﻨ ﻣﻨﺒﻊ« ﻧﯿﺰ ﻓﺸﺮدهﺳﺎزی اﻃﻼﻋﺎت ﻣﻮﺟﻮد در ﻣﻨﺒﻊ و ﺗﺒﺪﯾﻞ ﮐﺮدنﺷﺎن ﺑﻪ ﺑﯿﺖﻫﺎی ٠و ١اﺳﺖ.
١
cryptography
٢
cryptographic perimitives
٣
cryptographic protocoles
۴
coding
١-١
ﺑﺮای ﮐﺎﻫﺶ اﺣﺘﻤﺎل ﺧﻄﺎی ﮐﺎﻧﺎل ﻧﯿﺎز ﺑﻪ اﺿﺎﻓﻪ ﮐﺮدن ﻧﻮع دوم از ﮐﺪﯾﻨ ،ﯾﻌﻨ »ﮐﺪﯾﻨ ﮐﺎﻧﺎل« ،ﻣﯿﺎن »ﮐﺪﯾﻨ ﻣﻨﺒﻊ«
و »ﮐﺎﻧﺎل ارﺳﺎﻟ « اﺳﺖ Eve .ﯾﺎ ﺣﻤﻠﻪ ﮐﻨﻨﺪه ۵و ﯾﺎ ﻣﻬﺎﺟﻢ ۶ﮐﺎﻣﭙﯿﻮﺗﺮی اﺳﺖ ﮐﻪ ﻗﺼﺪ ﺣﻤﻠﻪ و دزدﯾﺪن اﻃﻼﻋﺎت را
دارد و ﻫﻤﺎن ﻃﻮر ﮐﻪ در ﺷ ﻞ ﻧﺸﺎن داده ﺷﺪه اﺳﺖ ﻫﺪف ﺣﻤﻠﻪﻫﺎﯾﺶ ﮐﺎﻧﺎل ارﺗﺒﺎﻃ اﺳﺖ .در واﻗﻊ ﯾ از اﻫﺪاف رﻣﺰ
ﻧ ﺎری ﻣﺤﺮﻣﺎﻧ ٧و ﺟﻠﻮﮔﯿﺮی از ﭼﻨﯿﻦ ﺣﻤﻼﺗ اﺳﺖ .در رﻣﺰﻧ ﺎری ﺑﺮای رﺳﯿﺪن ﺑﻪ ﻫﺪف »ﻣﺤﺮﻣﺎﻧ « اﻟ ﻮرﯾﺘﻢﻫﺎی
Encو Decرا ﺑﻪ دﯾﺎﮔﺮام ﺑﺎﻻ اﺿﺎﻓﻪ ﻣ ﮐﻨﯿﻢ ﮐﻪ ﻫﺮ دو ﺑﻪ ﮐﻠﯿﺪ رﻣﺰ kواﺑﺴﺘﻪاﻧﺪ:
k
ﻣﻨﺒﻊ .
اﻃﻼﻋﺎﺗ ﻣﻨﺒﻊ ﮐﺪﯾﻨ Enc ﮐﺎﻧﺎل ﮐﺪﯾﻨ
دادهﻫﺎی
ﻣﻨﺒﻊ دﮐﺪﯾﻨ Dec ﮐﺎﻧﺎل دﮐﺪﯾﻨ
ارﺳﺎﻟ
k
در واﻗﻊ ﺗﻨﻬﺎ ﻗﺴﻤﺘ از دﯾﺎﮔﺮام ﺑﺎﻻ ﮐﻪ ﻣﺮﺑﻮط ﺑﻪ اﻟ ﻮرﯾﺘﻢﻫﺎی رﻣﺰﻧ ﺎری اﺳﺖ ،ﻣﺪ ﻧﻈﺮ ﻣﺎ در اﯾﻦ درس ﻣ ﺑﺎﺷﺪ .ﺳﻪ
ﻗﺴﻤﺖ »ﮐﺪﯾﻨ ﮐﺎﻧﺎل«» ،ﮐﺎﻧﺎل« و »دﮐﺪﯾﻨ ﮐﺎﻧﺎل« را ﻣﺠﻤﻮﻋﺎً »ﮐﺎﻧﺎل« ﻣ ﻧﺎﻣﯿﻢ .ﻓﺮض ﻣ ﮐﻨﯿﻢ ﮐﺎﻧﺎلﻫﺎ ﺑﺪون ﺧﻄﺎ
ﺑﻮده و از ﺑﺮرﺳ اﺷﺎن ﺻﺮف ﻧﻈﺮ ﻣ ﮐﻨﯿﻢ.
ﺣﺎل دو ﮐﺎﻣﭙﯿﻮﺗﺮ Aliceو Bobرا در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ ﮐﻪ از ﻃﺮﯾﻖ ﮐﺎﻧﺎﻟ ﮐﻪ ﺗﻮﺳﻂ Eveرﺻﺪ ﻣ ﺷﻮد ،ﻗﺼﺪ ﻣ ﺎﻟﻤﻪ
دارﻧﺪ:
۵
attacker
۶
adversary
٧
confidenciality
١-٢
ﺷ ﻞ Alice :١و Bobﻗﺼﺪ ﻣ ﺎﻟﻤﻪ دارﻧﺪ.
ﺣﺎل ﻓﺮض ﮐﻨﯿﺪ Aliceﻗﺼﺪ ارﺳﺎل ﻣﺘﻦ اﺻﻠ m ٨را ﺑﻪ Bobاز ﻃﺮﯾﻖ اﯾﻦ ﮐﺎﻧﺎل دارد) .ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ ﺑﺨﺶﻫﺎی
ﮐﺪﯾﻨ و دﮐﺪﯾﻨ ﻣﻨﺒﻊ ﻣﻮرد ﺗﻮﺟﻪ ﻣﺎ ﻧﯿﺴﺘﻨﺪ و mرا ﺑﻪ ﺻﻮرت رﺷﺘﻪای از ﺣﺮوف روی ﯾ اﻟﻔﺒﺎ ﻣﺎﻧﻨﺪ اﻟﻔﺒﺎی }{۰, ۱
در ﻧﻈﺮ ﻣ ﮔﯿﺮﯾﻢ( .اﺑﺘﺪا ﺑﺎ اﺳﺘﻔﺎده از اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری Encﻋﻤﻠﯿﺎت رﻣﺰﮐﺮدن ٩ﻣﺘﻦ mو ﺗﺒﺪﯾﻞ آن ﺑﻪ ﻣﺘﻦ رﻣﺰی c ١٠
اﻧﺠﺎم ﻣ ﺷﻮد .ﭘﺲ از ارﺳﺎل ﻣﺘﻦ رﻣﺰی cاز ﻃﺮﯾﻖ ﮐﺎﻧﺎل و درﯾﺎﻓﺖ آن در ﺳﻤﺖ دﯾ ﺮ ،ﻧﻮﺑﺖ ﺑﻪ رﻣﺰﮔﺸﺎﯾ ١١ﻣ رﺳﺪ.
اﯾﻦ ﮐﺎر ﺗﻮﺳﻂ اﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺸﺎﯾ Decاﻧﺠﺎم ﻣ ﺷﻮد و ﭘﺲ از آن ﻣﺘﻦ اﺻﻠ mدر اﺧﺘﯿﺎر Bobﻗﺮار ﻣ ﮔﯿﺮد .ﻫﺮ
دو اﻟ ﻮرﯾﺘﻢ Encو Decﻧﯿﺎزﻣﻨﺪ ﮐﻠﯿﺪ ﻣﺸﺘﺮک kﻫﺴﺘﻨﺪ )ﻣﻌﻤﻮﻻ ٨٠اﻟ ٢۵۶ﺑﯿﺖ( ﮐﻪ ﺑﺎﯾﺪ آن را از ﻃﺮﯾﻖ ﮐﺎﻧﺎل
اﻣﻨ ﮐﻪ Eveﺑﻪ آن دﺳﺘﺮﺳ ﻧﺪارد ،ﺑﻪ اﺷﺘﺮاک ﺑ ﺬارﻧﺪ ١٢ .دﯾﺎﮔﺮام ذﯾﻞ ،ﻋﻤﻠﯿﺎت ﺑﺎﻻ را ﻧﺸﺎن ﻣ دﻫﺪ:
Eve
k k
١-٣
”“L dp d fubswrjudskhu dqg L pdnh vhfuhw frghv
ﺑﺮای ﺗﻌﻤﯿﻢ اﯾﻦ ﺳﯿﺴﺘﻢ رﻣﺰ ﻣ ﺗﻮان ﺑﻪ ﺟﺎی ﺷﯿﻔﺖ ﺳﻪ ﺗﺎﯾ از ﺷﯿﻔﺖ kﺗﺎﯾ ﺣﺮوف اﺳﺘﻔﺎده ﮐﺮد .ﺑﺪﯾﻦ ﻣﻌﻨﺎ ﮐﻪ ﺑﺮای
رﻣﺰ ﮐﺮدن ﻣﺘﻦ اﺻﻠ ،ﻫﺮ ﺣﺮف را ﺑﻪ kﺣﺮف ﺑﻌﺪ از آن ﺷﯿﻔﺖ دﻫﯿﻢ ﮐﻪ در اﯾﻦﺻﻮرت اﻧﺪازه ﻓﻀﺎی ﮐﻠﯿﺪ ) ١۶ﮐﻪ ﺑﺎ
Kﻧﺸﺎن داده ﻣ ﺷﻮد( ﺑﺮاﺑﺮ ﺑﺎ ﺗﻌﺪاد ﺣﺮوف اﻧ ﻠﯿﺴ ﯾﻌﻨ ٢۶ﺧﻮاﻫﺪ ﺑﻮد ،ﯾﻌﻨ .|K| = ۲۶
در اﺻﻠ ﺑﻪ ﻧﺎم اﺻﻞ ﮐﯿﺮﺷﻬﻒ ، ١٧ﻓﺮض را ﺑﺮ ﻋﻤﻮﻣ ﺑﻮدن اﻟ ﻮرﯾﺘﻢﻫﺎی رﻣﺰﻧ ﺎری ﻗﺮار ﺧﻮاﻫﯿﻢ داد و در اﯾﻦﺻﻮرت
ﺗﻤﺎم اﻣﻨﯿﺖ ﺑﻪ ﻋﻬﺪه »ﮐﻠﯿﺪ« ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ .ﺑﻨﺎﺑﺮاﯾﻦ ﻫﺮ ﯾ از ﻣﺎﺷﯿﻦﻫﺎی Encو Decدر اﺧﺘﯿﺎر ﻫﺮ ﯾ از
Bob ،Aliceو Eveﻗﺮار دارد؛ اﻣﺎ ﮐﻠﯿﺪ kﻣﯿﺎن Aliceو Bobﻣﺤﺮﻣﺎﻧﻪ اﺳﺖ و Eveﺑﻪ آن دﺳﺘﺮﺳ ﻧﺪارد.
ﺑﺮای ﺳﯿﺴﺘﻢ رﻣﺰ ﺳﺰار دارﯾﻢ:
Enck (m۱ m۲ . . . mn ) = c۱ c۲ . . . cn
ﮐﻪ ﺑﺮای ﻣﺤﺎﺳﺒﻪ ﻫﺮ ciراﺑﻄﻪ زﯾﺮ ﺑﺮﻗﺮار اﺳﺖ:
و اﯾﻦ ﺑﺪان ﻣﻌﻨﺎﺳﺖ ﮐﻪ ﺑﺮای ﺷ ﺴﺘﻦ رﻣﺰ ﺳﺰار ﮐﺎﻓ ﺳﺖ ٢۶ﮐﻠﯿﺪ )ﺗﻌﺪاد ﺣﺮوف زﺑﺎن اﻧ ﻠﯿﺴ ( را ﺑﺮرﺳ ﮐﻨﯿﻢ و
kرا ﺑﯿﺎﺑﯿﻢ؛ در ﻧﺘﯿﺠﻪ ﻓﻀﺎی ﮐﻠﯿﺪ ٢۶ﻋﻀﻮی ،ﮐﻮﭼ و ﻗﺎﺑﻞ ﺟﺴﺘﺠﻮﺳﺖ.
اﻟ ﻮرﯾﺘﻢﻫﺎی رﻣﺰﻧ ﺎری و رﻣﺰﮔﺸﺎﯾ ﮐﻪ در ﻋﻤﻞ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣ ﮔﯿﺮﻧﺪ ،اﻟ ﻮرﯾﺘﻢﻫﺎﯾ ﺑﺴﯿﺎر ﺳﺮﯾﻊ ﻫﺴﺘﻨﺪ.
در ﺣﺎل ﺣﺎﺿﺮ ،ﯾ ﮐﺎﻣﭙﯿﻮﺗﺮ ﻣﻌﻤﻮﻟ ﺑﺮای ﭼﻨﯿﻦ اﻟ ﻮرﯾﺘﻢﻫﺎﯾ ﺑﻪ راﺣﺘ ﻓﻀﺎﻫﺎی ﮐﻠﯿﺪ ﺑﺎ اﻧﺪازهﻫﺎی ﺣﺪاﮐﺜﺮ ﺣﺪود
١٣
shift
١۴
Julius Caesar
١۵
Caesar cipher
١۶
key space
١٧
???Kerckhoffs
١-۴
۲۵۰را در زﻣﺎن ﻗﺎﺑﻞ ﺗﺤﻤﻠ ﺟﺴﺘﺠﻮ ﻣ ﮐﻨﻨﺪ .ﺑﺪﯾﻦ ﺻﻮرت ﮐﻪ ﺑﺎ ﻓﺮض ﻋﻤﻮﻣ ﺑﻮدن اﻟ ﻮرﯾﺘﻢﻫﺎی Encو Dec
ﻫﻤﻪ ﮐﻠﯿﺪﻫﺎی ﻣﻤ ﻦ را ﺑﺮرﺳ ﮐﺮده و ﮐﻠﯿﺪ ﻣﻮردﻧﻈﺮ را ﻣ ﯾﺎﺑﻨﺪ .اﻟﺒﺘﻪ ﻫﺰﯾﻨﻪ ﺟﺴﺘﺠﻮی ﺗﻤﺎم ﻓﻀﺎی ﮐﻠﯿﺪی ﺑﺎ اﻧﺪازه
۲۸۰در ﺣﺎل ﺣﺎﺿﺮ زﯾﺎد اﺳﺖ و اﯾﻦ اﻧﺪازه ،ﻓﻀﺎی ﮐﻠﯿﺪ ﻣﻨﺎﺳﺒ ﺑﺮای ﺳﯿﺴﺘﻢﻫﺎی رﻣﺰ در ﮐﺎرﺑﺮدﻫﺎﯾ ﮐﻪ ﺣﺴﺎﺳﯿﺖ
زﯾﺎدی ﻧﻤ ﻃﻠﺒﻨﺪ ،ﺧﻮاﻫﺪ ﺑﻮد .در واﻗﻊ ﺑﺮای ﺳﻄﻮح ﺑﺎﻻﺗﺮ اﻣﻨﯿﺖ ﻣ ﺗﻮان از ﮐﻠﯿﺪﻫﺎی ٢۵۶ - ١٢٨ﺑﯿﺘ اﺳﺘﻔﺎده ﻧﻤﻮد.
ﭼ ﻮﻧﻪ ﻓﻀﺎی ﮐﻠﯿﺪ را در رﻣﺰ ﺳﺰار ﺑﯿﺸﺘﺮ ﮐﻨﯿﻢ؟
ﯾ ﭘﺎﺳﺦ ﻣ ﺗﻮاﻧﺪ ﺑﺪﯾﻦﺻﻮرت ﺑﺎﺷﺪ ﮐﻪ mرا ﺑﻪ ﺻﻮرت ذﯾﻞ ﺑﻪ cﺑﻨ ﺎرﯾﻢ:
١٨
redundancy
١-۵
E 12.7% M 2.4%
␣ 12.0% W 2.4%
T 9.8% F 2.2%
A 8.2% G 2.0%
O 7.5% X 2.0%
I 7.0% P 1.9%
N 6.7% B 1.8%
S 6.3% V 1.0%
H 6.1% K 0.8%
R 6.0% J 0.1%
D 4.2% Q 0.1%
L 4.0% Y 0.1%
C 2.8% Z 0.1%
U 2.8%
ﺟﺪول :١ﻓﺮﮐﺎﻧﺲ ﺣﻀﻮر ﺣﺮوف در زﺑﺎن اﻧ ﻠﯿﺴ ﺑﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﺣﺮف ﻓﺎﺻﻠﻪ
رﻣﺰﻧ ﺎری ﺑﺮای دﺳﺘﯿﺎﺑ ﺑﻪ ﻫﺪف ﻣﺤﺮﻣﺎﻧ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣ ﮔﯿﺮد .ﺑﺮای اﻃﻤﯿﻨﺎن از ﺻﺤﺖ و دﺳﺖﻧﺨﻮردﮔ
ﭘﯿﺎم رﻣﺰﺷﺪه ارﺳﺎﻟ از اﺑﺰارﻫﺎی دﯾ ﺮی ﻣﺎﻧﻨﺪ اﻣﻀﺎی دﯾﺠﯿﺘﺎل ٢٢و ٢٣ MACاﺳﺘﻔﺎده ﻣ ﺷﻮد ﮐﻪ در اﯾﻦ درس ﺑﻪ ﻃﻮر
ﻣﻔﺼﻞ ﺑﺎ آنﻫﺎ آﺷﻨﺎ ﺧﻮاﻫﯿﻢ ﺷﺪ.
اﺑﺰارﻫﺎﯾ ﮐﻪ ﺳﻪ ﻫﺪف ﻓﻮق را ﺑﺮآورده ﻣ ﮐﻨﻨﺪ ،اﺑﺰارﻫﺎی ﭘﺎﯾﻪ در رﻣﺰﻧ ﺎری ﻫﺴﺘﻨﺪ ﮐﻪ از آنﻫﺎ ﺑﺮای ﺳﺎﺧﺖ ﭘﺮوﺗ ﻞﻫﺎی
٢۶
ﭘﯿﭽﯿﺪهای ﻣﺎﻧﻨﺪ ﭘﻮل دﯾﺠﯿﺘﺎﻟ ٢۴و رأیﮔﯿﺮی اﻟ ﺘﺮوﻧﯿ ٢۵اﺳﺘﻔﺎده ﻣ ﺷﻮد ﮐﻪ اﻫﺪاف اﻣﻨﯿﺘ دﯾ ﺮی ﻣﺎﻧﻨﺪ ﮔﻤﻨﺎﻣ
را ﻓﺮاﻫﻢ ﻣ ﮐﻨﻨﺪ.
١٩
confidenciality
٢٠
integrity
٢١
authentication
٢٢
digital signature
٢٣
message authentication code
٢۴
digital cash
٢۵
electronic voting
٢۶
anonymity
١-۶
ﺑﻪ ﻧﺎم ﺧﺪا
ﮐﻠﯿﺪ kاز ﻓﻀﺎی ﮐﻠﯿﺪ Kﺗﻮﻟﯿﺪ و ﻓﻀﺎی ﭘﯿﺎم Mرا ﻣﺸﺨﺺ ﻣ ﮐﻨﺪ: • Genاﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ اﺳﺖ ﮐﻪ ﯾ
)(k ← Gen
• Encاﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری اﺳﺖ ﮐﻪ ﻣﺘﻦ اﺻﻠ m ∈ Mو ﮐﻠﯿﺪ k ∈ Kرا ﺑﻪ ﻣﺘﻦ رﻣﺰی cﺗﺒﺪﯾﻞ ﻣ ﮐﻨﺪ.
∈ ⊥ = mﺗﺒﺪﯾﻞ
• Decاﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺸﺎﯾ اﺳﺖ ﮐﻪ ﻫﺮ ﻣﻘﺪار cو ﮐﻠﯿﺪ k ∈ Kرا ﺑﻪ ﻣﺘﻦ اﺻﻠ mﯾﺎ / M
ﻣ ﮐﻨﺪ.
• )ﺷﺮط ﺻﺤﺖ( ﺑﻪ ازای ﻫﺮ k ∈ K ،m ∈ Mو c ∈ Cﮐﻪ ) c = Enck (mدارﯾﻢ Deck (c) = m؛ ﺑﻪ
ﻋﺒﺎرت دﯾ ﺮ:
١
Kerckhoffs’s principle
٢
symmetric cipher
٢-١
∀m ∈ M Pr{k ← Gen() : Deck (Enck (m)) = m} = ۱
دارای • اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری ﻣﻌﻤﻮﻻ ﺗﺼﺎدﻓ اﺳﺖ .اﻣﺎ ﺳﯿﺴﺘﻢﻫﺎﯾ ﮐﻪ در اﺑﺘﺪا ﻣﻌﺮﻓ و ﺑﺮرﺳ ﻣ ﺷﻮﻧﺪ ﻫﻤ
اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری ﻗﻄﻌ ۴ﻫﺴﺘﻨﺪ.
• اﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺸﺎﯾ ﻗﻄﻌ اﺳﺖ .ﻫﻤﭽﻨﯿﻦ در ﺻﻮرﺗ ﮐﻪ اﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺸﺎﯾ ﻧﻤﺎد ⊥ ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟ ﺑﺮای
رﻣﺰ ﮔﺸﺎﯾ ﻣﻘﺪار cﺗﺤﺖ ﮐﻠﯿﺪ kﺗﻮﻟﯿﺪ ﮐﻨﺪ ،ﺑﺪﯾﻦ ﻣﻌﻨﺎﺳﺖ ﮐﻪ ﻣﺘﻦ رﻣﺰی ﻣﻌﺘﺒﺮ ﻧﯿﺴﺖ؛ ﺑﻪ ﻋﺒﺎرت دﯾ ﺮ،
ﻣﻘﺪار cﻧﻤ ﺗﻮاﻧﺪ رﻣﺰﺷﺪهی ﻫﯿﭻ ﻣﺘﻦ اﺻﻠ ﺗﺤﺖ ﮐﻠﯿﺪ kﺑﺎﺷﺪ.
• ﺗﻌﺮﯾﻒ :Dec
در واﻗﻊ ﺳﯿﺴﺘﻢ رﻣﺰ ﺳﺰار ﯾ ﮐﻠﯿﺪ ﺗﺼﺎدﻓ در Kاﻧﺘﺨﺎب ﻣ ﮐﻨﺪ و ﺣﺮوف ﻣﺘﻦ را ﺑﻪ آن اﻧﺪازه ﺷﯿﻔﺖ ﻣ دﻫﺪ.
ﺗﻮﺟﻪ ﮐﻨﯿﺪ اﻟ ﻮرﯾﺘﻢ Encدر اﯾﻦ ﺳﯿﺴﺘﻢ ﻗﻄﻌ ۶اﺳﺖ .ﺣﺎل آﻧ ﻪ در ﺣﺎﻟﺖ ﮐﻠ اﯾﻦ اﻟ ﻮرﯾﺘﻢ ﻣ ﺗﻮاﻧﺪ اﺣﺘﻤﺎﻻﺗ
ﺑﺎﺷﺪ) .ﺑﺪﯾﻦ ﻣﻌﻨﺎ ﮐﻪ ﺑﺮای ﯾ ورودی ﻣﺸﺨّﺺ ،ﺧﺮوﺟ ﯾ ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ ٧اﺳﺖ و ﻣﻘﺎدﯾﺮ ﻣﺨﺘﻠﻔ را ﺑﺎ ﯾ
ﺗﻮزﯾﻊ اﺣﺘﻤﺎﻻﺗ ﻣﻌﯿﻦ اﺧﺘﯿﺎر ﻣ ﮐﻨﺪ(.
٣
probabilistic
۴
determinisitc
۵
Caesar cipher
۶
deterministic
٧
random variable
٢-٢
ﻣﺪلﻫﺎی ﺣﻤﻠﻪ ٣
ﻣﺪلﻫﺎ ﯾﺎ ﺳﻨﺎرﯾﻮﻫﺎی ﺣﻤﻠﻪ ،ﻗﺎﺑﻠﯿﺖﻫﺎی ﻣﻬﺎﺟﻢ را ﺑﺮای ﺣﻤﻠﻪ ﺑﻪ ﯾ ﺳﯿﺴﺘﻢ رﻣﺰ در ﻧﻈﺮ ﻣ ﮔﯿﺮد.
ﻣﺪلﻫﺎ )ﯾﺎ ﺳﻨﺎرﯾﻮﻫﺎی( ﺣﻤﻠﻪ ﻗﺪرت و ﺗﻮان ﻣﻬﺎﺟﻢ را در دﺳﺘﯿﺎﺑ ﺑﻪ اﻃﻼﻋﺎت ﺑﯿﺸﺘﺮ )ﻣﺎﻧﻨﺪ اﺳﺘﻔﺎده از دﺳﺘ ﺎه رﻣﺰﮐﻨﻨﺪه
و دﺳﺘ ﺎه رﻣﺰﮔﺸﺎ( و ﻣﯿﺰان آن ﻣﺪل ﻣ ﮐﻨﺪ.
• ﺣﻤﻠﻪی ﻣﺘﻦ رﻣﺰﺷﺪه :٨در اﯾﻦ ﻣﺪل ،ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﺗﻨﻬﺎ ﯾ ﻣﺘﻦ رﻣﺰ ﺷﺪه را دارد و ﻣ ﺧﻮاﻫﺪ ﻣﺘﻦ اﺻﻠ را
رﻣﺰﮔﺸﺎﯾ ﮐﻨﺪ .اﯾﻦ رﻣﺰﮔﺸﺎﯾ ﺗﻨﻬﺎ زﻣﺎﻧ ﻣﯿﺴﺮ اﺳﺖ ﮐﻪ ﻣﺘﻦ اﺻﻠ دارای اﻓﺰوﻧ ٩ﺑﺎﺷﺪ.
• ﺣﻤﻠﻪی ﻣﺘﻦ اﺻﻠ ﻣﻌﻠﻮم :١٠در اﯾﻦ ﻣﺪل ،ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﯾ ﯾﺎ ﭼﻨﺪ زوج )ﻣﺘﻦ اﺻﻠ ،ﻣﺘﻦ رﻣﺰ ﺷﺪه( ﮐﻪ ﺗﺤﺖ
ﯾ ﮐﻠﯿﺪ ﺣﺎﺻﻞ ﺷﺪهاﻧﺪ را دارد و ﻣ ﺧﻮاﻫﺪ ﻣﺘﻦ اﺻﻠ ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﯾ ﻣﺘﻦ رﻣﺰﺷﺪهی دﯾ ﺮ را ﺑﺪاﻧﺪ.
• ﺣﻤﻠﻪی ﻣﺘﻦ اﺻﻠ اﻧﺘﺨﺎﺑ :١١در اﯾﻦ ﻣﺪل ،ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﻗﺎدر ﺑﻪ ﺑﺪﺳﺖ آوردن ﻣﺘﻦ رﻣﺰﺷﺪهی ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﻫﺮ
ﻣﺘﻦ اﺻﻠ ای ﮐﻪ ﺑﺨﻮاﻫﺪ ﻫﺴﺖ و ﻣ ﺧﻮاﻫﺪ ﻣﺘﻦ اﺻﻠ ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﯾ ﻣﺘﻦ رﻣﺰﺷﺪه را ﺑﺪاﻧﺪ.
• ﺣﻤﻠﻪی ﻣﺘﻦ رﻣﺰی اﻧﺘﺨﺎﺑ :١٢در اﯾﻦ ﻣﺪل ،ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﻣ ﺧﻮاﻫﺪ ﻣﺘﻦ اﺻﻠ ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﯾ ﻣﺘﻦ رﻣﺰﺷﺪه را
ﺑﺪاﻧﺪ و ﻣﻀﺎف ﺑﺮ اﯾﻨ ﻪ ﻗﺎدر اﺳﺖ ﯾ ﻣﺘﻦ رﻣﺰ ﺷﺪه ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﻫﺮ ﻣﺘﻦ اﺻﻠ دﻟﺨﻮاه را ﺑﺪﺳﺖ آورد ،ﻗﺎدر ﺑﻪ
ﺑﺪﺳﺖ آوردن ﻣﺘﻦ اﺻﻠ ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﻫﺮ ﻣﺘﻦ رﻣﺰﺷﺪهای ﮐﻪ ﺑﺨﻮاﻫﺪ ﻧﯿﺰ ﻫﺴﺖ )ﺟﺰ ﻣﺘﻨ ﮐﻪ ﻣ ﺧﻮاﻫﺪ رﻣﺰﮔﺸﺎﯾ
ﮐﻨﺪ(.
۴ﻫﺪف ﺣﻤﻠﻪﮐﻨﻨﺪه
ﻣﺘﻦ رﻣﺰ ﺷﺪه در ﻧﻈﺮ ﮔﺮﻓﺘﯿﻢ. در ﻣﺪلﻫﺎی ﺣﻤﻠﻪی ﺑﺎﻻ ،ﻫﺪف ﺣﻤﻠﻪ ﮐﻨﻨﺪه را ﺑﺪﺳﺖ آوردن ﻣﺘﻦ اﺻﻠ ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﯾ
در ﺣﺎﻟﺖ ﮐﻠ ﺣﻤﻠﻪ ﻣ ﺗﻮاﻧﺪ ﺑﺎ اﻫﺪاف ﻣﺨﺘﻠﻔ ﺻﻮرت ﭘﺬﯾﺮد:
٢-٣
۵ﭼﻨﺪ ﺳﯿﺴﺘﻢ ﺳﺎده و ﺣﻤﻠﻪ ﻣﺘﻦ رﻣﺰ ﺷﺪه ﺑﻪ آﻧﻬﺎ
ﺣﻤﻠﻪ ﺧﻮدﮐﺎر ﺑﻪ رﻣﺰ ﺳﺰار ١.۵
اﯾﺪهی ﺣﻤﻠﻪ ﺑﻪ رﻣﺰ ﺳﺰار اﺳﺘﻔﺎده از ﺗﻮزﯾﻊ ﻏﯿﺮ ﯾ ﻨﻮاﺧﺖ ﺣﺮوف زﺑﺎن اﻧ ﻠﯿﺴ اﺳﺖ ﮐﻪ اﻧﺪازهﮔﯿﺮیﻫﺎی آﻣﺎری ﻧﺸﺎن
ﻣ دﻫﺪ ﺑﻪ ﺷ ﻞ زﯾﺮ اﺳﺖ:
ﺑﺎ ﻋﻠﻢ ﺑﻪ اﯾﻦ ﻣﻮﺿﻮع ،ﺣﻤﻠﻪی ﺧﻮدﮐﺎر ﺑﻪ رﻣﺰ ﺳﺰار را ﻣ ﺗﻮان ﺑﻪ ﺷ ﻞ زﯾﺮ اﻧﺠﺎم داد:
.۱ﻣﺤﺎﺳﺒﻪی ﻓﺮاواﻧ ﺣﺮفﻫﺎی ﻣﺘﻦ رﻣﺰ ﺷﺪه
.۲ﻣﺤﺎﺳﺒﻪی ﺿﺮاﯾﺐ اﻧﻄﺒﺎق :١۴ﺿﺮاﯾﺐ اﻧﻄﺒﺎق را ﺑﻪ ﺷ ﻞ زﯾﺮ ﺗﻌﺮﯾﻒ ﻣ ﮐﻨﯿﻢ:
∑۲۶
= Ij i=۰ fi × pi+j
اﮔﺮ jﺑﺮاﺑﺮ ﺑﺎ kﺑﺎﺷﺪ و ﻣﺘﻦ ﺑﻪ اﻧﺪازهی ﮐﺎﻓ ﺑﺰرگ ﺑﺎﺷﺪ ،اﻧﺘﻈﺎر دارﯾﻢ .Ij ≈ ۰٫ ۰۶۵
.۳ﺣﺪس ﻣﺎ ﺑﺮای kاﻧﺪﯾﺲ jای اﺳﺖ ﮐﻪ ﻋﺒﺎرت | |Ij − ۰٫ ۰۶۵را ﮐﻤﯿﻨﻪ ﮐﻨﺪ.
١۴
coincidence index
٢-۴
ﺗﻮﺟﻪ ﮐﻨﯿﺪ اﯾﻦ روش ،ﻟﺰوﻣﺎ ﺑﻬﺘﺮﯾﻦ روش ﻧﯿﺴﺖ ،اﻣﺎ روﺷ ﺑﺮای ﺣﻤﻠﻪ ﺑﻪ ﺳﯿﺴﺘﻢ رﻣﺰ ﺳﺰار اﺳﺖ .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل
اﺳﺘﻔﺎده از ﺗﻮزﯾﻊ دوﺣﺮﻓ ﻫﺎ ١۵ﯾﺎ ﺳﻪﺣﺮﻓ ﻫﺎ ١۶ﺑﻪ ﺟﺎی ﺗ ﺣﺮﻓ ﻫﺎ ١٧ﻣ ﺗﻮاﻧﺪ ﻣﻨﺠﺮ ﺑﻪ ﺣﻤﻠﻪی ﺑﻬﺘﺮی ﺷﻮد.
• ﺗﻌﺮﯾﻒ :Enc
• ﺗﻌﺮﯾﻒ :Dec
ﺟﻬﺖ ﺣﻤﻠﻪ ﺑﻪ اﯾﻦ ﺳﯿﺴﺘﻢ ﻣ ﺗﻮان ﻓﺮاواﻧ ﺣﺮوف ﻣﺘﻦ رﻣﺰی را ﺑﺪﺳﺖ آورد و ﺣﺮوف را ﺑﺮ ﺣﺴﺐ ﻓﺮاواﻧ ﻣﺮﺗﺐ ﻧﻤﻮد
و ﺣﺮف iام اﯾﻦ ﻟﯿﺴﺖ را رﻣﺰ ﺷﺪهی iاﻣﯿﻦ ﺣﺮف ﭘﺮ ﺗ ﺮار اﻟﻔﺒﺎ در ﻧﻈﺮ ﮔﺮﻓﺖ .اﮔﺮ ﻣﺘﻦ ﺑﻪ اﻧﺪازهی ﮐﺎﻓ ﺑﺰرگ ﺑﺎﺷﺪ
اﯾﻦ روش ،روش ﻣﻨﺎﺳﺒ ﺟﻬﺖ ﺣﻤﻠﻪ اﺳﺖ.
ﻋﻀﻮ ﻣﺎﻧﻨﺪ ) k = (k۰ , k۱ , · · · , kd−۱ﺑﻪﺗﺼﺎدف از ﻓﻀﺎی ﮐﻠﯿﺪ • ﺗﻌﺮﯾﻒ :Genدر اﯾﻦ ﺳﯿﺴﺘﻢ )( Genﯾ
K = {۰, ۱, · · · , ۲۶}dﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ.
• ﺗﻌﺮﯾﻒ :Enc
• ﺗﻌﺮﯾﻒ :Dec
١۵
digrams
١۶
trigrams
١٧
monograms
١٨
substitution cipher
١٩
Vigenère cipher
٢-۵
Deck (c۰ c۱ · · · cℓ−۱ ) = m۰ m۱ · · · mℓ−۱
mi = ci − ki mod d
در واﻗﻊ در اﯾﻦ ﺳﯿﺴﺘﻢ ،ﻣﺘﻦ اﺻﻠ ﺑﻪ ﭘﻨﺠﺮهﻫﺎی dﺗﺎﯾ ﺗﻘﺴﯿﻢ ﺷﺪه و iاﻣﯿﻦ ﺣﺮف ﻫﺮ ﭘﻨﺠﺮه )ki ،(۰ ≤ i ≤ d − ۱
واﺣﺪ ﺟﺎﺑﺠﺎ ﻣ ﺷﻮد .دﻗﺖ ﮐﻨﯿﺪ ﺑﺮای ﺣﻤﻠﻪ ﺑﻪ اﯾﻦ ﺳﯿﺴﺘﻢ ،اﮔﺮ ﻣﻘﺪار ﺣﺪس زده ﺷﺪه ﺑﺮای dرا ˆ dﺑﻨﺎﻣﯿﻢ و ،dˆ = d
آﻧ ﺎه ﺑﺮای ﻣﺘﻦ ﺑﻪ اﻧﺪازهی ﮐﺎﻓ ﻃﻮﻻﻧ ،ﺗﻮزﯾﻊ ﺣﺮوف ﺑﺮای ﺣﺮفﻫﺎی iام ﭘﻨﺠﺮهﻫﺎ ) (۰ ≤ i ≤ dˆ− ۱ﺑﺮاﺑﺮ ﺷﯿﻔﺖ
ﯾﺎﻓﺘﻪی ﺗﻮزﯾﻊ ﺣﺮوف زﺑﺎن اﻧ ﻠﯿﺴ ﻣ ﺷﻮد .اﻣﺎ اﮔﺮ dˆ ̸= dﺗﻮزﯾﻊﻫﺎی ﻓﻮق ﺑﻪ ﺳﻤﺖ ﺗﻮزﯾﻊ ﯾ ﻨﻮاﺧﺖ ﻣ رود .ﭘﺲ
ﺑﺮای ﺣﻤﻠﻪ ﺑﻪ اﯾﻦ ﺳﯿﺴﺘﻢ ﻣ ﺗﻮان ﻣﻌﯿﺎرﻫﺎی Σfi۲را ﺑﺮای ﻋﻨﺎﺻﺮ ﻫﻢﻣ ﺎن در ﭘﻨﺠﺮهﻫﺎ ﺗﻌﺮﯾﻒ ﻧﻤﻮد .ﺳﭙﺲ ﺑﺮای
ﻣﻘﺎدﯾﺮ ﻣﺨﺘﻠﻒ ˆ ،dﻣﻌﯿﺎرﻫﺎ را ﺑﺮرﺳ ﮐﺮد .ﺑﺮای dˆ = dﻣﻘﺪار ﺗﻤﺎم ﻣﻌﯿﺎرﻫﺎ ﻧﺰدﯾ ٠.٠۶۵ﺧﻮاﻫﺪ ﺷﺪ .ﺑﺪﯾﻦ ﺗﺮﺗﯿﺐ
dﺑﺪﺳﺖ ﻣ آﯾﺪ .ﭘﺲ از آن رﻣﺰﮔﺸﺎﯾ ﺑﺮای ﺟﺎﯾ ﺎهﻫﺎی iام ) (۰ ≤ i ≤ d − ۱از ﭘﻨﺠﺮهﻫﺎ ﻣﺎﻧﻨﺪ ﺳﯿﺴﺘﻢ ﺳﺰار اﻧﺠﺎم
ﻣ ﺷﻮد .از ﻣﺰاﯾﺎی اﯾﻦ ﺳﯿﺴﺘﻢ اﯾﻦ اﺳﺖ ﮐﻪ ﺗﻮزﯾﻊ ﺗ ﺣﺮﻓ ﻫﺎ ،دوﺣﺮﻓ ﻫﺎ و ﺳﻪﺣﺮﻓ ﻫﺎ ﺑﺮای dﻫﺎی ﺑﺰرگ ،ﺗﻘﺮﯾﺒﺎ
ﯾ ﻨﻮاﺧﺖ ﺧﻮاﻫﺪ ﺑﻮد.
٢-۶
ﺑﻪ ﻧﺎم ﺧﺪا
ﺳﻪﺗﺎﯾ ) Π = (Gen, Enc, Decﺑﻪ ﻫﻤﺮاه ﻓﻀﺎی ﭘﯿﺎم ﺗﻌﺮﯾﻒ ١ﺳﯿﺴﺘﻢ رﻣﺰ ﺟﺎﯾ ﺸﺘ ،ﯾ
اﺳﺖ ﮐﻪ:
در ﺣﻘﯿﻘﺖ اﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺬاری ﻣﺘﻦ اﺻﻠ mرا ﺑﻪ ﺑﻠﻮﮐﻬﺎی dﺗﺎﯾ ﺗﻘﺴﯿﻢ ﻣ ﮐﻨﺪ و ﺟﺎﯾ ﺸﺖ kرا روی ﻫﺮ ﺑﻠﻮک
اﻋﻤﺎل ﻣ ﮐﻨﺪ.
١
permutation cipher
٢
transposition cipher
٣-١
ﯾﺎدآوری ١روشﻫﺎی ﻣﺨﺘﻠﻔ ﺑﺮای ﻧﻤﺎﯾﺶ ﯾ ﺟﺎﯾ ﺸﺖ روی } {۰, · · · , n − ۱وﺟﻮد دارد؛ در اﯾﻨﺠﺎ ﯾ
ﺟﺎﯾ ﺸﺖ kرا ﺑﺎ )) k = (k(۰) k(۱) · · · k(n − ۱ﻧﺸﺎن ﻣ دﻫﯿﻢ .ﺑﻪ ﻃﻮر ﻣﺜﺎل )k = (۱ ۴ ۳ ۲ ۰
ﺑﯿﺎﻧ ﺮ ﺟﺎﯾ ﺸﺖ k(۰) = ۱ , k(۱) = ۴ , k(۲) = ۳ , k(۳) = ۲ , k(۴) = ۰اﺳﺖ.
hewalk
edupan
ddownt
hepass
agetwo
orthre
etimes
و ﺳﭙﺲ ﺳﺘﻮنﻫﺎ را ﺑﺎ ﺗﺮﺗﯿﺒ ﮐﻪ ﺟﺎﯾ ﺸﺖ kﺗﻌﯿﯿﻦ ﻣ ﮐﻨﺪ ﺑﺎ ﯾ ﺪﯾ ﺮ ﺗﻌﻮﯾﺾ ﻣ ﮐﻨﯿﻢ ،در اﯾﻦ ﻣﺜﺎل ﺳﺘﻮنﻫﺎ ﺑﻪ ﺻﻮرت
زﯾﺮ ﭼﯿﺪه ﺧﻮاﻫﻨﺪ ﺷﺪ
wlehka
uadenp
onddtw
psehsa
ewgaot
trroeh
ietesm
و در ﻧﻬﺎﯾﺖ ﻣﺘﻦ را ﺑﻪ ﺻﻮرت ﺳﻄﺮی ﺑﻪ ﺻﻮرت زﯾﺮ ﮐﻨﺎر ﻫﻢ ﻣ ﻧﻮﯾﺴﯿﻢ و ﻣﺘﻦ رﻣﺰی ﺑﺪﺳﺖ ﺧﻮاﻫﺪ آﻣﺪ.
wlehkauadenponddtwpsehsaewgaottrroehietesm
٣-٢
c۰ c۱ cd−۱
cd cd+۱ c۲d−۱
.. , .. ,..., .. .
. . .
c(ℓ−۱)d c(ℓ−۱)d+۱ )cℓd+(ℓ−۱
ﺣﺎل ﺑﻪ دﻧﺒﺎل اﯾﻦ ﻫﺴﺘﯿﻢ ﮐﻪ ﺳﺘﻮنﻫﺎﯾ ﮐﻪ ﻣﺤﺘﻤﻞﺗﺮ ﻫﺴﺘﻨﺪ ﮐﻪ ﻣﺠﺎور ﺑﺎﺷﻨﺪ ﺗﺸﺨﯿﺺ دﻫﯿﻢ .ﺑﻪﻋﺒﺎرتدﯾ ﺮ ﺑﺮای ﻫﺮ
ﺳﺘﻮن iاز ﺑﯿﻦ ﺳﺘﻮنﻫﺎی ﺑﺎﻗ ﻣﺎﻧﺪه ﺳﺘﻮﻧ را ﺑﺮ ﻣ ﮔﺰﯾﻨﯿﻢ ﮐﻪ وﻗﺘ در ﮐﻨﺎر آن ﻗﺮار ﮔﯿﺮد ﻓﺮﮐﺎﻧﺲ دو ﺣﺮﻓ ﻫﺎ ﺑﯿﺶﺗﺮﯾﻦ
ﺗﻄﺎﺑﻖ را ﺑﺎ ﻓﺮﮐﺎﻧﺲ دو ﺣﺮﻓ ﻫﺎی زﺑﺎن اﻧ ﻠﯿﺴ داﺷﺘﻪ ﺑﺎﺷﺪ ،اﮔﺮ ﻫﻤﻪی ﺣﺪسﻫﺎ درﺳﺖ ﺑﺎﺷﻨﺪ ،ﺑﺪﯾﻦ ﺗﺮﺗﯿﺐ ﯾ
ﺟﺎﯾ ﺸﺖ دوری از ﮐﻠﯿﺪ ﺑﻪدﺳﺖ ﻣ آﯾﺪ ﮐﻪ ﺑﺎ اﻣﺘﺤﺎن ﮐﺮدن dﺣﺎﻟﺖ ﻣﻤ ﻦ ﻣ ﺗﻮان ﺟﺎﯾ ﺸﺖ ﺻﺤﯿﺢ را ﭘﯿﺪا ﮐﺮد.
ﻧ ﺘﻪ ١رﻣﺰ ﺟﺎﯾ ﺸﺘ ﺣﺎﻟﺖ ﺧﺎص رﻣﺰ ﻫﯿﻞ اﺳﺖ ﮐﻪ در آن ﻣﺎﺗﺮﯾﺲ ،Kﯾ ﻣﺎﺗﺮﯾﺲ ﺟﺎﯾ ﺸﺖ )ﻣﺎﺗﺮﯾﺴ ﮐﻪ ﻫﺮ
ﺳﻄﺮ و ﻫﺮ ﺳﺘﻮن آن دﻗﯿﻘﺎً ﯾ ﻋﺪد ١داﺷﺘﻪ ﺑﺎﺷﺪ و ﺑﻘﯿﻪ ﻋﻨﺎﺻﺮ آن ﺻﻔﺮ ﺑﺎﺷﺪ( اﺳﺖ.
ﻧ ﺘﻪ ٢ﺑﯿﺎد ﺑﯿﺎورﯾﺪ ﮐﻪ ﻋﺪد ﺻﺤﯿﺢ aدر ﻫﻨ mدارای ﻣﻌ ﻮس اﺳﺖ )ﯾﻌﻨ ﻣﻌﺎدﻟﻪی ax = b mod mدارای
ﺟﻮاب ﯾ ﺘﺎ اﺳﺖ( ،اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ .gcd(a, m) = ۱اﯾﻦ ﻧﺘﯿﺠﻪ ﻗﺎﺑﻞ ﺗﻌﻤﯿﻢ ﺑﻪ ﺣﺎﻟﺖ ﻣﺎﺗﺮﯾﺴ ﻧﯿﺰ ﻫﺴﺖ :ﻣﺎﺗﺮﯾﺲ
Aروی Zmﻣﻌ ﻮسﭘﺬﯾﺮ اﺳﺖ ﯾﻌﻨ )ﻣﻌﺎدﻟﻪی AX = B mod mدارای ﺟﻮاب ﯾ ﺘﺎ اﺳﺖ( ،اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ
.gcd(det A, m) = ۱ﺑﻨﺎﺑﺮ اﯾﻦ ﻣﺎﺗﺮﯾﺲ Kﮐﻪ ﺑﻪ ﻋﻨﻮان ﮐﻠﯿﺪ ﺑﺮای رﻣﺰ ﻫﯿﻞ ﺗﻮﻟﯿﺪ ﻣ ﺷﻮد ،ﻣﻌ ﻮسﭘﺬﯾﺮ اﺳﺖ اﮔﺮ
و ﻓﻘﻂ اﮔﺮ gcd(det K, ۲۶) = ۱ﺑﺎﺷﺪ.
٣
Hill Cipher, 1929.
٣-٣
ﻧ ﺘﻪ ٣ﺗﻌﺪاد ﻣﺎﺗﺮﯾﺲﻫﺎی ﻣﻌ ﻮسﭘﺬﯾﺮ روی Z۲۶ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ
∏
d
∏ ۱
d
۱
d۲ ۲ ۲
۲۶ (۱ − i ) (۱ − ) ≥ ۲۴٫۷d −۱٫۸ ≥ ۰٫ ۲۹ × ۲۴٫۷d .
۲ ۱۳ i
i=۱ i=۱
ﻣﺎﺗﺮﯾﺲ ﺗﺼﺎدﻓ روی Z۲۶ﻣﻌ ﻮسﭘﺬﯾﺮ ﺑﺎﺷﺪ ﺣﺪاﻗﻞ ۰٫ ۲۹اﺳﺖ. ﺑﻪ ﻋﺒﺎرت دﯾ ﺮ اﺣﺘﻤﺎل اﯾﻨ ﻪ ﯾ
ﺑﺮای اﺛﺒﺎت راﺑﻄﻪ ﻓﻮق ﺿﻤﯿﻤﻪ آ را ﺑﺒﯿﻨﯿﺪ .ﺑﻪ ﻃﻮر ﻣﺜﺎل ﺑﻪ ازای d = ۸اﻧﺪازه ﻓﻀﺎی ﮐﻠﯿﺪ ﺑﺮاﺑﺮ ۲۲۹۹اﺳﺖ ﮐﻪ ﻋﺪد
ﺑﺴﯿﺎر ﺑﺰرﮔ اﺳﺖ .ﻃﻮل ﮐﻠﯿﺪ رﻣﺰﻫﺎی ﻣﺪرن ﻣﻌﻤﻮﻻ ﮐﻤﺘﺮ از ٢۵۶ﺑﯿﺖ اﺳﺖ.
( )
۱۱ ۸
= .Kﺑﺮای رﻣﺰﮔﺬاری ﭘﯿﺎم ﻣﺜﺎل ۵ﻓﺮض ﮐﻨﯿﺪ در ﺳﯿﺴﺘﻢ رﻣﺰ ﻫﯿﻞ داﺷﺘﻪ ﺑﺎﺷﯿﻢ d = ۲و
۳ ۷
،letusflyاﺑﺘﺪا ﻣﺘﻦ اﺻﻠ را ﺑﻪ ﺑﻠﻮکﻫﺎی ﺑﻪ ﻃﻮل d = ۲ﺗﻘﺴﯿﻢ و ﺑﻪ ﺻﻮرت ﺑﺮدارﻫﺎﯾ روی (Z۲۶ )۲ﺑﻪ ﺻﻮرت
زﯾﺮ ﻧﻤﺎﯾﺶ ﻣ دﻫﯿﻢ:
( ( ) ( ) ( ) )
۱۱ ۱۹ ۱۸ ۱۱
, , , .
۴ ۲۰ ۵ ۲۴
( )
۱۱ ۱۹ ۱۸ ۱۱
= Mرا ﺗﺸ ﯿﻞ داده و ﻣﻘﺪار ﺳﭙﺲ ﻣﺎﺗﺮﯾﺲ ﻣﺘﻦ اﺻﻠ
۴ ۲۰ ۵ ۲۴
( )
۲۳ ۵ ۴ ۱
= C = K · M mod ۲۶
۹ ۱۵ ۱۱ ۱۹
C =K ·M
٣-۴
ﺑﻨﺎﺑﺮاﯾﻦ ﮐﺎﻓ اﺳﺖ ﻣﻌ ﻮس ﻣﺎﺗﺮﯾﺲ Mﺑﻪ ﭘﯿﻤﺎﻧﻪ ی ۲۶را ﺣﺴﺎب ﮐﻨﯿﻢ ،ﯾﻌﻨ :
; K = C · M −۱
ﻧ ﺘﻪ ۴روش ﻓﻮق ﺑﻪ ﺷﺮﻃ ﻗﺎﺑﻞ اﺟﺮا اﺳﺖ ﮐﻪ ﻣﺎﺗﺮﯾﺲ Mﻣﻌ ﻮس ﭘﺬﯾﺮ ﺑﺎﺷﺪ ) روی ،(Z۲۶ﯾﻌﻨ
ﺑﻪ ﻃﻮر ﻣﺜﺎل ﺑﻪ ازای d = ۵اﮔﺮ ﭘﯿﺎمﻫﺎ ﺗﺼﺎدﻓ اﻧﺘﺨﺎب ﺷﻮﻧﺪ ،اﺣﺘﻤﺎل ﻣﻮﻓﻘﯿﺖ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧ ﺘﻪ ،٣ﺑﺮاﺑﺮ ۰٫ ۲۹
ﺧﻮاﻫﺪ ﺑﻮد.
در رﻣﺰﻧ ﺎری ﺳﻨﺘ روﻧﺪ ﺑﺎﻻ ﭘ درﭘ در ﺣﺎل اﺟﺮا اﺳﺖ.
ﺳﺎﺧﺘﺎر .٣اراﺋﻪی ﯾ
.۴اﺛﺒﺎت اﻣﻨﯿﺖ ﺗﺤﺖ ﻓﺮﺿﯿﺎت ﻣﻘﺒﻮل )ﻣﺎﻧﻨﺪ ﺗﺠﺰﯾﻪ اﻋﺪاد ،ﻟ ﺎرﯾﺘﻢ ﮔﺴﺴﺘﻪ و (...
در اﯾﻦ روش وﻗﺘ ﯾ ﺳﯿﺴﺘﻢ ﺷ ﺴﺘﻪ ﻣ ﺷﻮد ﮐﺎﻓ اﺳﺖ ﻣﺪل ﯾﺎ ﻓﺮﺿﯿﺎت را اﺻﻼح ﮐﺮد .ﺗﺠﺮﺑﻪ ﻧﺸﺎن داده اﺳﺖ
ﮐﻪ ﺑﺎ ﺗﻤﺮﮐﺰ روی ﻣﺪلﻫﺎ و ﻓﺮﺿﯿﺎت ﻣ ﺗﻮان ﻣﺪلﻫﺎ را ﺑﻪ ﻣﺪل واﻗﻌ ﺑﺴﯿﺎر ﻧﺰدﯾ ﮐﺮد و ﻓﺮﺿﯿﺎت ﻣﻌﻘﻮﻟ را ﻧﯿﺰ
ﭘﺬﯾﺮﻓﺖ.
٣-۵
۴اﻣﻨﯿﺖ
ﺗﻌﺮﯾﻒ رﺳﻤ از اﻣﻨﯿﺖ ﺳﯿﺴﺘﻢ رﻣﺰ ”اﻣﻦ“ دارﯾﻢ و ﭼ ﻮﻧﻪ ﻣ ﺗﻮان ﯾ ﺑﺒﯿﻨﯿﻢ ﺑﻪ ﺻﻮرت ﺷﻬﻮدی ﭼﻪ اﻧﺘﻈﺎراﺗ از ﯾ
ﻣﺒﺘﻨ ﺑﺮ اﯾﻦ اﻧﺘﻈﺎرات ﺣﺪاﻗﻠ اراﺋﻪ ﮐﺮد.
-اﯾﻦ ﺗﻌﺮﯾﻒ ﻧﻤ ﺗﻮاﻧﺪ ﺗﻌﺮﯾﻒ ﺧﻮﺑ ﺑﺎﺷﺪ ،زﯾﺮا ﻣﻤ ﻦ اﺳﺖ ﯾ ﺳﯿﺴﺘﻢ ﺑﻪ اﯾﻦ ﺻﻮرت ﺗﻌﺮﯾﻒ ﮐﻨﯿﻢ ﮐﻪ رﻣﺰ
ﺷﺪهی ﻣﺘﻦ mﺑﺮاﺑﺮ mاﺳﺖ و ﮐﻠﯿﺪ kﯾ رﺷﺘﻪ ﺗﺼﺎدﻓ ﺑﺎ ﺗﻮزﯾﻊ ﯾ ﻨﻮاﺧﺖ روی رﺷﺘﻪﻫﺎی nﺑﯿﺘ ﺑﻪ
۱
۲n
ازای nﻫﺎی ﺑﺰرگ اﺳﺖ ،در اﯾﻦ ﺻﻮرت ﯾﺎﻓﺘﻦ ﮐﻠﯿﺪ در ﻋﻤﻞ ﻏﯿﺮﻣﻤ ﻦ اﺳﺖ زﯾﺮا اﺣﺘﻤﺎل ﻣﻮﻓﻘﯿﺖ
اﺳﺖ درﺣﺎﻟ ﮐﻪ ﻣﺘﻦ رﻣﺰی ﮐﻞ اﻃﻼﻋﺎت راﺟﻊ ﺑﻪ ﻣﺘﻦ اﺻﻠ را ﺑﻪ ﻣﺎ ﻣ دﻫﺪ.
-اﯾﻦ ﺗﻌﺮﯾﻒ ﺧﻮب ﻧﯿﺴﺖ ،ﭼﺮاﮐﻪ اﻣ ﺎن دارد ﻗﺴﻤﺘ از ﻣﺘﻦ اﺻﻠ را ﺑﺪﺳﺖ آورد.
.٣ﺣﻤﻠﻪﮐﻨﻨﺪه ﻧﺘﻮاﻧﺪ ﻫﯿﭻ ﺑﯿﺘ از ﻣﺘﻦ اﺻﻠ را ﺑﺪﺳﺖ آورده ﯾﺎ ﺣﺪس ﺑﺰﻧﺪ.
-اﯾﻦ ﺗﻌﺮﯾﻒ ﺧﻮب ﻧﯿﺴﺖ ،ﭼﺮاﮐﻪ اﻣ ﺎن دارد راﺑﻄﻪ ای ﺑﯿﻦ ﺑﯿﺖﻫﺎی ﻣﺨﺘﻠﻒ ﺑﺪﺳﺖ آورد
.۴ﺣﻤﻠﻪﮐﻨﻨﺪه ﻧﺘﻮاﻧﺪ ﻫﯿﭻ اﻃﻼﻋﺎﺗ )ﺣﺘ ﺟﺰﺋ ( از ﻣﺘﻦ اﺻﻠ را ﺑﺪﺳﺖ آورد.
ﺗﻌﺮﯾﻒ ”ﻗﺎﺑﻞ ﻗﺒﻮل“ از اﻣﻨﯿﺖ ﺑﺎﯾﺪ ﺣﺘ اﻻﻣ ﺎن اﯾﻦ ﺧﻮاﺳﺘﻪ را ﺑﺮآورده ﺳﺎزد. -ﯾ
ﺗﻌﺮﯾﻒ ) ۶اﻣﻨﯿﺖ ﮐﺎﻣﻞ( ﻓﺮض ﮐﻨﯿﺪ Mو Cﺑﻪ ﺗﺮﺗﯿﺐ ﻓﻀﺎی ﻣﺘﻦ اﺻﻠ و ﻓﻀﺎی ﻣﺘﻦ رﻣﺰی ﺑﺎﺷﻨﺪ ،در اﯾﻦ ﺻﻮرت
ﮔﻮﯾﯿﻢ ﺳﯿﺴﺘﻢ رﻣﺰ ) Π = (Gen, Enc, Decروی ﻓﻀﺎی Mدارای اﻣﻨﯿﺖ ﮐﺎﻣﻞ اﺳﺖ اﮔﺮ ﺑﺮای ﻫﺮ ﺗﻮزﯾﻊ اﺣﺘﻤﺎل
دﻟﺨﻮاه روی Mو ﻫﺮ m ∈ Mو ﻫﺮ c ∈ Cداﺷﺘﻪ ﺑﺎﺷﯿﻢ:
دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ آﻧ ﻮﻧﻪ ﮐﻪ ﻣﺎ ﻓﻀﺎی رﻣﺰ ،C ،را ﺗﻌﺮﯾﻒ ﮐﺮدﯾﻢ ،ﺑﻪ ازای ﻫﺮ c ∈ Cدارﯾﻢ Pr{C = c} > ۰و
ﻟﺬا اﺣﺘﻤﺎل ﺷﺮﻃ ﺗﻌﺮﯾﻒ ﺷﺪه اﺳﺖ .اﯾﻦ ﺗﻌﺮﯾﻒ را اوﻟﯿﻦ ﺑﺎر ﺷﺎﻧﻮن ۴در ﺳﺎل ١٩۴٨ﺑﺮای اﻣﻨﯿﺖ اراﺋﻪ ﮐﺮد و ﺗﻨﻬﺎ
ﺣﻤﻠﻪای را ﻣﺪل ﻣ ﮐﻨﺪ ﮐﻪ ﻣﻬﺎﺟﻢ دارای ﺗﻮان ﻣﺤﺎﺳﺒﻪی ﻧﺎﻣﺤﺪود و ﻫﻤﭽﻨﯿﻦ ﺗﻨﻬﺎ ﻗﺎﺑﻠﯿﺖ ﺷﻨﻮد داﺷﺘﻪ و ﻓﻘﻂ ﯾ ﻣﺘﻦ
رﻣﺰی را درﯾﺎﻓﺖ ﮐﺮده اﺳﺖ.
۴
C. E. Shannon: A mathematical theory of communication. Bell System Technical Journal, vol. 27,
pp. 379–423 and 623–656, July and October, 1948
٣-۶
آ ﻓﻀﺎی ﮐﻠﯿﺪ ﺳﯿﺴﺘﻢ رﻣﺰ ﻫﯿﻞ
ﻫﺪف از اﯾﻦ ﻗﺴﻤﺖ ﻣﺤﺎﺳﺒﻪ ﺗﻌﺪاد ﻣﺎﺗﺮﯾﺲﻫﺎی ﻣﻌ ﻮس ﭘﺬﯾﺮ روی m ∈ N ،Zmﺑﺮای ﺣﺎﻟﺖ ﺧﺎﺻ ﮐﻪ m
ﺣﺎﺻﻞﺿﺮب اﻋﺪاد اول ﻣﺘﻤﺎﯾﺰ ﺑﺎﺷﺪ ،اﺳﺖ .ﻧﺘﺎﯾﺞ اﯾﻦ ﺑﺨﺶ را ﻣ ﺗﻮان ﺑﺮای ﺣﺎﻟﺖ ﮐﻠ ﺗﺮ ﻧﯿﺰ اراﺋﻪ ﮐﺮد ،اﻣﺎ ﭘﯿﭽﯿﺪهﺗﺮ
اﺳﺖ.
ﻗﻀﯿﻪ ١اﮔﺮ pﻋﺪدی اول و d ∈ Nدر اﯾﻦ ﺻﻮرت ﺗﻌﺪاد ﻣﺎﺗﺮﯾﺲﻫﺎی ﻣﻌ ﻮس ﭘﺬﯾﺮ d × dروی Zpﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ
∏
d−۱
(pd − pi ).
i=۰
ﺑﺮﻫﺎن .از ﺟﺒﺮﺧﻄ ﻣ داﻧﯿﻢ ﮐﻪ ﯾ ﻣﺎﺗﺮﯾﺲ ﻣﻌ ﻮسﭘﺬﯾﺮ اﺳﺖ اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ ﺳﺘﻮنﻫﺎی آن ﻣﺴﺘﻘﻞ ﺧﻄ ﺑﺎﺷﻨﺪ.
ﺑﻨﺎﺑﺮاﯾﻦ ﻫﺪف ﻣﺎ ﺣﺴﺎب ﮐﺮدن ﺗﻌﺪاد ﻣﺎﺗﺮﯾﺲﻫﺎی d × dاﺳﺖ ﮐﻪ dﺳﺘﻮن آن ﺑﻪ ﭘﯿﻤﺎﻧﻪی pﻣﺴﺘﻘﻞ ﺧﻄ ﺑﺎﺷﻨﺪ.
ﺑﺮای ﺳﺎﺧﺖ اوﻟﯿﻦ ﺳﺘﻮن ﺗﻨﻬﺎ ﻣﺤﺪودﯾﺖ ﻣﺎ اﯾﻦ اﺳﺖ ﮐﻪ ﺗﻤﺎم ﺻﻔﺮ ﻧﺒﺎﺷﺪ )و ﭼﻮن ﻫﺮ ﺳﺘﻮن dدراﯾﻪ دارد و ﺑﺮای
ﻫﺮ دراﯾﻪ pﺗﺎ اﻧﺘﺨﺎب دارﯾﻢ( ،ﺑﻨﺎﺑﺮاﯾﻦ pd − ۱ﺗﺎ اﻧﺘﺨﺎب ﺑﺮای ﺳﺘﻮن اول دارﯾﻢ .ﺣﺎل ﻓﺮض ﮐﻨﯿﺪ ﮐﻪ iﺳﺘﻮن اول
ﻣﺴﺘﻘﻞ ﺧﻄ c۱ c۲ · · · ciﺳﺎﺧﺘﻪاﯾﻢ ،ﺑﺮای ﺳﺎﺧﺖ ﺳﺘﻮن i + ۱ام ،اﯾﻦ ﺳﺘﻮن ﺑﺎﯾﺪ از iﺳﺘﻮن ﻗﺒﻠ ﻣﺴﺘﻘﻞ ﺧﻄ
ﺑﺎﺷﺪ ﯾﺎ ﺑﻪﻋﺒﺎرتدﯾ ﺮ ﺗﺮﮐﯿﺐ ﺧﻄ از iﺳﺘﻮن ﻗﺒﻠ ﻧﺒﺎﺷﺪ )ﯾﺎ ﺑﻪﻋﺒﺎرتدﯾ ﺮ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ α۱ , · · · , αiﮐﻪ
،( ci+۱ = α۱ .c۱ + · · · + αi .ciﭘﺲ ) (pd − piﺣﺎﻟﺖ ﺑﺮای اﻧﺘﺨﺎب ﺳﺘﻮن i + ۱دارﯾﻢ زﯾﺮا ﻫﺮ p ،αiﺣﺎﻟﺖ
∏
دارد؛ ﺑﻨﺎﺑﺮاﯾﻦ ﺗﻌﺪاد ﮐﻞ ﻣﺎﺗﺮﯾﺲﻫﺎی ﻣﻌ ﻮسﭘﺬﯾﺮ d × dروی Zpﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ) i=۰ (p − p
. d−۱ d i
ﻗﻀﯿﻪ ٢اﮔﺮ p۱ , . . . , pℓاﻋﺪاد اول ﻣﺘﻤﺎﯾﺰ و d ∈ Nدر اﯾﻦ ﺻﻮرت ﺗﻌﺪاد ﻣﺎﺗﺮﯾﺲﻫﺎی ﻣﻌ ﻮسﭘﺬﯾﺮ d × dروی
Zmﮐﻪ m = Πℓk=۱ pkﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ
∏ ∏
ℓ d−۱
(pdk − pik ).
k=۱ i=۰
ﺑﺮﻫﺎن .ﻣ ﺗﻮان ﻧﺸﺎن داد ﮐﻪ ﯾ ﯾ ﺮﯾﺨﺘ از ﻣﺠﻤﻮﻋﻪی ﻣﺎﺗﺮﯾﺲﻫﺎی ﻣﻌ ﻮسﭘﺬﯾﺮ روی Zp۱ p۲ ···pℓﺑﻪ -ℓﺗﺎﯾ ﻫﺎی
ﻣﺮﺗﺐ ﮐﻪ ﻣﺆﻟﻔﻪی kام آن ﻣﺎﺗﺮﯾﺲﻫﺎی ﻣﻌ ﻮسﭘﺬﯾﺮ روی Zpkﻣ ﺑﺎﺷﺪ ،وﺟﻮد دارد .اﯾﻦ ﮔﺰاره را ﻣ ﺗﻮان ﺑﺎ اﺳﺘﻔﺎده
از ﻣﻔﻬﻮم ﯾ ﺮﯾﺨﺘ در ﻧﻈﺮﯾﻪ ﮔﺮوهﻫﺎ اﺛﺒﺎت ﮐﺮد ﮐﻪ ﻣﺎ در اﯾﻨﺠﺎ ﺑﺪان ﻧﺨﻮاﻫﯿﻢ ﭘﺮداﺧﺖ .ﺑﻨﺎﺑﺮاﯾﻦ ﺑﻨﺎ ﺑﺮ اﺻﻞ ﺿﺮب
∏ ∏d−۱ d
d−۱اﺳﺖ × · · · × ) i=۰ (p۱ − p۱
d i
وﻟﻢ ١ﺗﻌﺪاد ﻣﺎﺗﺮﯾﺲﻫﺎی ﻣﻌ ﻮسﭘﺬﯾﺮ روی Zp۱ p۲ ···pℓﺑﺮاﺑﺮ ) i=۰ (p۲ − pℓ
i
و ﺣ ﻢ ﺛﺎﺑﺖ اﺳﺖ.
∏
d
∏ ۱
d
۱
d۲
۲۶ (۱ − i ) (۱ − )
۲ ۱۳i
i=۱ i=۱
.
٣-٧
ﺑﻪ ﻧﺎم ﺧﺪا
ﻫﺪف ﻣﺎ در اﯾﻦ ﺟﻠﺴﻪ اراﺋﻪ ﺗﻌﺮﯾﻔ ﺑﺮای ﻣﻔﻬﻮم اﻣﻨﯿﺖ ﮐﺎﻣﻞ ﺑﺮای ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﺘﻘﺎرن ﻣ ﺑﺎﺷﺪ ،ﯾﻌﻨ وﻗﺘ ﺣﻤﻠﻪﮐﻨﻨﺪه
ﻣﺘﻦ رﻣﺰ ﺷﺪه را ﺑﺒﯿﻨﺪ ﻧﺘﻮاﻧﺪ ﻫﯿﭻ اﻃﻼﻋﺎﺗ راﺟﻊ ﺑﻪ ﻣﺘﻦ اﺻﻠ ﮐﺴﺐ ﮐﻨﺪ.
١اﻣﻨﯿﺖ ﮐﺎﻣﻞ
ﺑﻪ ﻃﻮر اﯾﺪهال ،ﻣﺘﻦ رﻣﺰ ﺷﺪه ١ﻧﺒﺎﯾﺪ اﻃﻼﻋﺎت اﺿﺎﻓﻪای درﺑﺎره ﻣﺘﻦ اﺻﻠ ٢ﺑﻪ ﻣﻬﺎﺟﻢ ﺑﺪﻫﺪ .ﺑﻪ ﻋﺒﺎرت دﯾ ﺮ ،وﻗﺘ
ﺷﻨﻮدﮔﺮ ﯾ ﻣﺘﻦ رﻣﺰﺷﺪه را ﺷﻨﻮد ﻣ ﮐﻨﺪ ،ﻧﺒﺎﯾﺪ اﺑﻬﺎم او ﻧﺴﺒﺖ ﺑﻪ ﻣﺘﻦ اﺻﻠ ﮐﺎﻫﺶ ﯾﺎﺑﺪ .ﺗﻌﺮﯾﻒ اﻣﻨﯿﺖ ﮐﺎﻣﻞ ٣ﮐﻪ
در اداﻣﻪ ﻣ آﯾﺪ از اﯾﻦ ﺷﻬﻮد ﺣﺎﺻﻞ ﺷﺪه اﺳﺖ .اﯾﻦ ﺗﻌﺮﯾﻒ ﺑﻪ اﻣﻨﯿﺖ ﺷﺎﻧﻮن ۴ﯾﺎ اﻣﻨﯿﺖ ﺗﺌﻮری اﻃﻼﻋﺎﺗ ۵ﻧﯿﺰ ﻣﻌﺮوف
اﺳﺖ ﮐﻪ اوﻟﯿﻦ ﺑﺎر ﺗﻮﺳﻂ ﺷﺎﻧﻮن ،ﻣﺒﺪع ﺗﺌﻮری اﻃﻼﻋﺎت ،در ﺳﺎل ١٩۴٨اراﺋﻪ ﺷﺪ.
ﺗﻌﺮﯾﻒ ) ١اﻣﻨﯿﺖ ﮐﺎﻣﻞ( ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﺘﻘﺎرن ) Π = (Gen, Enc, Decروی ﻓﻀﺎی ﭘﯿﺎم Mدارای اﻣﻨﯿﺖ ﮐﺎﻣﻞ
اﺳﺖ اﮔﺮ ﺑﺮای ﻫﺮ ﺗﻮزﯾﻊ دﻟﺨﻮاه روی ،Mﻫﺮ ﻣﺘﻦ اﺻﻠ m ∈ Mو ﻫﺮ ﻣﺘﻦ رﻣﺰﺷﺪه c ∈ Cداﺷﺘﻪ ﺑﺎﺷﯿﻢ:
ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﮐﻪ در ﻫﺮ ﺳﯿﺴﺘﻢ رﻣﺰ دﻟﺨﻮاه اﻟ ﻮرﯾﺘﻢﻫﺎی ﺗﻮﻟﯿﺪ ﻛﻠﯿﺪ و رﻣﺰﻧ ﺎری ﺑﻪﻫﻤﺮاه ﻓﻀﺎی ﻣﺘﻦ اﺻﻠ ،M
ﻓﻀﺎﻫﺎی ﻛﻠﯿﺪ و ﻣﺘﻦ رﻣﺰﺷﺪه را ﻣﺸﺨﺺ ﻣ ﻛﻨﻨﺪ .ﺗﻌﺮﯾﻒ ﻓﻮق ﺣﻤﻠﻪای را ﻣﺪل ﻣ ﮐﻨﺪ ﮐﻪ ﻣﻬﺎﺟﻢ ﻓﻘﻂ ﻗﺎﺑﻠﯿﺖ ﺷﻨﻮد
دارد و ﻓﻘﻂ ﯾ ﻣﺘﻦ رﻣﺰ ﺷﺪه ﻣ ﺑﯿﻨﺪ ﮐﻪ ﻃﺒﻖ اﯾﻦ ﺗﻌﺮﯾﻒ ﻣﻬﺎﺟﻢ ﭼﻪ ﻣﺘﻦ رﻣﺰ ﺷﺪه را ﺑﺒﯿﻨﺪ و ﭼﻪ ﻧﺒﯿﻨﺪ ﺑﺎ ﯾ اﺣﺘﻤﺎل
ﻣﺘﻦ اﺻﻠ را ﻣ ﺗﻮاﻧﺪ ﺣﺪس ﺑﺰﻧﺪ.
ﯾ ﺗﻌﺮﯾﻒ ﻣﻌﺎدل از اﻣﻨﯿﺖ ﮐﺎﻣﻞ در ﻟﻢ زﯾﺮ آﻣﺪه اﺳﺖ .ﺑﻪ ﻃﻮر ﺷﻬﻮدی ،اﯾﻦ ﺗﻌﺮﯾﻒ ﺑﯿﺎن ﻣ ﮐﻨﺪ ﻛﻪ اﮔﺮ در ﯾ
ﺳﯿﺴﺘﻢ اﻣﻦ ﮐﺎﻣﻞ ،ﺣﻤﻠﻪﮐﻨﻨﺪه ﺑﺘﻮاﻧﺪ ﺑﺎ دﯾﺪن ﻣﺘﻦ رﻣﺰ ﺷﺪه )ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﭘﯿﺎﻣ ﮐﻪ ﻗﺮار اﺳﺖ ارﺳﺎل ﺷﻮد( اﻃﻼﻋﺎﺗ
ﮐﺴﺐ ﮐﻨﺪ ،ﺑﺪون دﯾﺪن ﻣﺘﻦ رﻣﺰ ﺷﺪه ﻫﻢ ﻣ ﺗﻮاﻧﺪ ﻫﻤﺎن ﻣﯿﺰان اﻃﻼﻋﺎت ﮐﺴﺐ ﮐﻨﺪ.
١
ciphertext
٢
plaintext
٣
perfect secrecy
۴
Shannon
۵
information-theoretic security
۴-١
ﻟﻢ ١ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﺘﻘﺎرن ) Π = (Gen, Enc, Decروی ﻓﻀﺎی ﻣﺘﻦ اﺻﻠ Mدارای اﻣﻨﯿﺖ ﮐﺎﻣﻞ اﺳﺖ ،اﮔﺮ و ﺗﻨﻬﺎ
اﮔﺮ ﺑﺮای ﻫﺮ ﺗﻮزﯾﻊ دﻟﺨﻮاه روی ﻓﻀﺎی ﭘﯿﺎم ،Mﻫﺮ ﻣﺘﻦ اﺻﻠ m ∈ Mو ﻫﺮ ﻣﺘﻦ رﻣﺰﺷﺪه c ∈ Cراﺑﻄﻪ زﯾﺮ ﺑﺮﻗﺮار
ﺑﺎﺷﺪ:
ﺑﺎﺗﻮﺟﻪ ﺑﻪ اﯾﻨ ﻪ در اﻧﺘﻬﺎ ﺑﻪ ﺗﻌﺮﯾﻒ ١رﺳﯿﺪﯾﻢ ،اﻣﻨﯿﺖ ﻛﺎﻣﻞ در اﯾﻦ ﺷﺮاﯾﻂ ﺑﺮﻗﺮار ﻣ ﺑﺎﺷﺪ.
ﺗﻌﺮﯾﻒ ﻣﻌﺎدل دﯾ ﺮی از اﻣﻨﯿﺖ ﮐﺎﻣﻞ در زﯾﺮ آﻣﺪه اﺳﺖ .اﯾﻦ ﺗﻌﺮﯾﻒ از اﯾﻦ ﻣﻨﻈﺮ ﮐﻪ دﯾ ﺮ ﺑﻪ ﺗﻮزﯾﻊ اﺣﺘﻤﺎل روی ﻓﻀﺎی
ﭘﯿﺎم Mاﺷﺎره ﻧﻤ ﮐﻨﺪ ،ﺳﺎدهﺗﺮ اﺳﺖ.
ﻟﻢ ٢ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﺘﻘﺎرن ) Π = (Gen, Enc, Decروی ﻓﻀﺎی ﻣﺘﻦ اﺻﻠ Mدارای اﻣﻨﯿﺖ ﮐﺎﻣﻞ اﺳﺖ ،اﮔﺮ و ﺗﻨﻬﺎ
اﮔﺮ ﺑﺮای ﻫﺮ زوج ﻣﺘﻦ اﺻﻠ m۰ , m۱ ∈ Mو ﻫﺮ ﻣﺘﻦ رﻣﺰﺷﺪه c ∈ Cراﺑﻄﻪ زﯾﺮ ﺑﺮﻗﺮار ﺑﺎﺷﺪ:
ﺑﺮﻫﺎن .اﺑﺘﺪا ﻃﺮف اول را ﺛﺎﺑﺖ ﻣ ﮐﻨﯿﻢ .ﻃﺒﻖ ﻟﻢ ١اﮔﺮ ﺳﯿﺴﺘﻢ اﻣﻦ ﻛﺎﻣﻞ ﺑﺎﺷﺪ ،ﺑﻪ ازای ﻫﺮ زوج ﭘﯿﺎم دﻟﺨﻮاه
m۰ , m۱ ∈ Mدارﯾﻢ:
۴-٢
٢رﻣﺰ ﯾ ﺒﺎر ﻣﺼﺮف
ﺗﻌﺮﯾﻒ ) ٢رﻣﺰ ﯾ ﺒﺎر ﻣﺼﺮف ) (۶ OTPﯾﺎ ورﻧﺎم (٧ﺳﯿﺴﺘﻢ رﻣﺰ رﻣﺰ ﯾ ﺒﺎر ﻣﺼﺮف ﯾ ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﺘﻘﺎران اﺳﺖ
ﻛﻪ در آن ﻓﻀﺎی ﮐﻠﯿﺪ و ﻓﻀﺎی ﻣﺘﻦ اﺻﻠ ﻣﺠﻤﻮﻋﻪی ﻫﻤﻪ رﺷﺘﻪﻫﺎی -nﺑﯿﺘ ﻫﺴﺘﻨﺪ ،ﯾﻌﻨ ،M = K = {۰, ۱}n
و اﻟ ﻮرﯾﺘﻢﻫﺎی ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ ،رﻣﺰﮔﺬاری و رﻣﺰﮔﺸﺎﯾ ﺑﻪ ﺻﻮرت زﯾﺮ ﺗﻌﺮﯾﻒ ﻣ ﺷﻮﻧﺪ.
• Encﭘﯿﺎم اﺻﻠ m ∈ Mو ﻛﻠﯿﺪ k ∈ Kرا ﻣ ﮔﯿﺮد و ﻣﺘﻦ رﻣﺰی c = m ⊕ kرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ.
• Decورودی cو ﻛﻠﯿﺪ kرا ﻣ ﮔﯿﺮد و اﮔﺮ c ∈ C = {۰, ۱}nﻣﺘﻦ اﺻﻠ m = c ⊕ kرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ.
ﺑﺮﻫﺎن .ﻓﺮض ﮐﻨﯿﺪ Mﺑﯿﺎﻧ ﺮ ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ ﺧﺮوﺟ اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ ﺑﺎﺷﺪ .ﺑﻪ ازای ﻫﺮ m ∈ Mو ﻫﺮ c ∈ C
دارﯾﻢ:
ﺑﺮای ارﺳﺎل اﻣﻦ ﯾ ﭘﯿﺎم ﺑﺎ اﺳﺘﻔﺎده از ﺳﯿﺴﺘﻢ رﻣﺰ ورﻧﺎم ،ﺑﺎﯾﺪ دو ﻃﺮف ﯾ ﮐﻠﯿﺪ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﺑﻪ ﻫﻤﺎن ﻃﻮل از ﻗﺒﻞ
ﺑﺎ ﯾ ﺪﯾ ﺮ ﺑﻪ اﺷﺘﺮاک ﺑ ﺬارﻧﺪ .اﯾﻦ اﻣﺮ ﯾ ﻣﺸ ﻞ اﺳﺎﺳ ﺑﺮای اﺳﺘﻔﺎده ﻋﻤﻠ از اﯾﻦ ﺳﯿﺴﺘﻢ ،ﺑﻪ ﺟﺰ در ﻣﻮاﻗﻊ ﺧﺎﺻ
ﮐﻪ اﻣ ﺎن اﺷﺘﺮاک ﮔﺬاری ﮐﻠﯿﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ،ﺑﻪ ﺣﺴﺎب ﻣ آﯾﺪ .ﻻزم ﺑﻪ ﺗﺄﮐﯿﺪ اﺳﺖ ﮐﻪ ﻓﻘﻂ ﯾ ﺒﺎر از ﻫﺮ ﮐﻠﯿﺪی
ﻣ ﺗﻮان ﺑﺮای ارﺳﺎل ﻓﻘﻂ ﯾ ﭘﯿﺎم اﺳﺘﻔﺎده ﮐﺮد .ﺑﺮای درک اﯾﻦ ﻣﻮﺿﻮع ،ﻓﺮض ﻛﻨﯿﺪ ﺷﻨﻮدﮔﺮ ﻣﺘﻦﻫﺎی رﻣﺰی c۲و c۱
را ﻛﻪ رﻣﺰ ﺷﺪه ﭘﯿﺎمﻫﺎی m۲و m۱ﺗﺤﺖ ﮐﻠﯿﺪ ﯾ ﺴﺎن kﻫﺴﺘﻨﺪ ،درﯾﺎﻓﺖ ﻛﺮده ﺑﺎﺷﺪ .رواﺑﻂ
ﻧﺸﺎن ﻣ دﻫﺪ از روی xorﻣﺘﻦﻫﺎی رﻣﺰی ﻣ ﺗﻮان xorﻣﺘﻦﻫﺎی اﺻﻠ را ﺣﺪس ﺑﻪدﺳﺖ آورد:
c۱ ⊕ c۲ = m۱ ⊕ k ⊕ m۲ ⊕ k = m۱ ⊕ m۲
ﻗﻀﯿﻪ ) ۴ﺷﺎﻧﻮن( اﮔﺮ ﺳﯿﺴﺘﻢ رﻣﺰ ) Π = (Gen, Enc, Decروی ﻓﻀﺎی Mدارای اﻣﻨﯿﺖ ﮐﺎﻣﻞ ﺑﺎﺷﺪ ،آنﮔﺎه
| |K| ≥ |Mﮐﻪ Kﻓﻀﺎی ﮐﻠﯿﺪﻫﺎی ﺗﻮﻟﯿﺪﺷﺪه ﺗﻮﺳﻂ Genاﺳﺖ.
۴-٣
آزﻣﺎﯾﺶ ﺗﻤﺎﯾﺰﻧﺎﭘﺬﯾﺮی در ﺑﺮاﺑﺮ ﻣﻬﺎﺟﻢ ﺷﻨﻮدﮔﺮ ٣
ﺑﯿﺎن دﯾ ﺮی از ﻟﻢ ٢را ﺑﺪﯾﻦ ﺻﻮرت ﻣ ﺗﻮان اراﺋﻪ ﮐﺮد .ﻓﺮض ﮐﻨﯿﺪ Kﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ ﺑﯿﺎنﮔﺮ ﺧﺮوﺟ اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ
ﮐﻠﯿﺪ ﺑﺎﺷﺪ .در اﯾﻨﺼﻮرت ) C۰ = EncK (m۰و ) C۱ = EncK (m۱ﺑﻪﺗﺮﺗﯿﺐ ﺑﯿﺎنﮔﺮ ﻣﺘﻐﯿﺮﻫﺎی ﺗﺼﺎدﻓ ﻣﺘﻨﺎﻇﺮ
ﺑﺎ ﻣﺘﻦ رﻣﺰﺷﺪه ﭘﯿﺎمﻫﺎی m۰و m۱ﻫﺴﺘﻨﺪ .دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ اﯾﻦ ﻣﺘﻐﯿﺮﻫﺎی ﺗﺼﺎدﻓ ﺻﺮﻓﺎً ﺑﻪ ﺗﻮزﯾﻊ ) Kﮐﻪ ﺧﻮد ﺑﻪ
ﻣﻘﺎدﯾﺮ ﺗﺼﺎدﻓ ﮐﻪ اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ اﺳﺘﻔﺎده ﻣ ﮐﻨﺪ واﺑﺴﺘﻪ اﺳﺖ( و ﻣﻘﺪار ﺗﺼﺎدﻓ ﮐﻪ )اﺣﯿﺎﻧﺎً( اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری
اﺳﺘﻔﺎده ﻣ ﮐﻨﺪ ﺑﺴﺘ دارد .ﺗﻌﺒﯿﺮ دﯾ ﺮ ﻟﻢ ٢اﯾﻦ اﺳﺖ ﮐﻪ ﺗﻮزﯾﻊ ﻣﺘﻐﯿﺮﻫﺎی ﺗﺼﺎدﻓ C۰و C۱ﯾ ﺴﺎن اﺳﺖ .ﻣﻌﺎدﻻ،
ﺑﯿﻦ ﯾ ﻧﻤﻮﻧﻪ از C۰و ﯾ ﻧﻤﻮﻧﻪ از C۱ﻧﻤ ﺗﻮان ﺗﻤﺎﯾﺰی ﻗﺎﺋﻞ ﺷﺪ .ﯾﻌﻨ اﮔﺮ ﻣﻬﺎﺟﻢ ﻣﺘﻦ رﻣﺰی cرا داﺷﺘﻪ ﺑﺎﺷﺪ و
ﺑﺪاﻧﺪ ﻛﻪ ﺣﺎﺻﻞ رﻣﺰﻛﺮدن ﯾ از دو ﻣﺘﻦ m۰و m۱اﺳﺖ ﮐﻪ ﺑﻪ ﺗﺼﺎدف اﻧﺘﺨﺎب ﺷﺪه اﺳﺖ ،ﻧﻤ ﺗﻮاﻧﺪ ﺑﺎ اﺣﺘﻤﺎل
ﺑﻬﺘﺮ از ۱۲ﺣﺪس ﺑﺰﻧﺪ ﮐﻪ ﻣﺘﻦ اﺻﻠ ﻣﺘﻨﺎﻇﺮ ﮐﺪامﯾ اﺳﺖ .ﻻزم ﺑﻪ ﺗﺄﮐﯿﺪ اﺳﺖ ﮐﻪ اﯾﻦ ﻣﺤﺪودﯾﺖ ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻤ ،
ﺣﺘ ﺑﺎ ﻗﺪرت ﻣﺤﺎﺳﺒﺎﺗ ﻧﺎﻣﺤﺪود ،ﺑﺮ ﻗﺮار اﺳﺖ .ﺑﺮای اراﺋﻪ ﺗﻌﺮﯾﻒ دﯾ ﺮی از اﻣﻨﯿﺖ ﮐﺎﻣﻞ ﺑﺮای ﯾ ﺳﯿﺴﺘﻢ رﻣﺰ ،Π
ﻛﻪ ﻣﻬﺎﺟﻢ را ﺑﻪ ﺻﻮرت ﻣﺸﻬﻮدﺗﺮی در ﺗﻌﺮﯾﻒ ﻟﺤﺎظ ﻣ ﻛﻨﺪ ،از ﯾ ﺑﺎزی ) ٨ﯾﺎ آزﻣﺎﯾﺶ (٩اﺳﺘﻔﺎده ﻣ ﮐﻨﯿﻢ ﮐﻪ ﺑﯿﻦ ﯾ
ﻣﻬﺎﺟﻢ ،١٠ﮐﻪ ﺑﺎ Aﻧﺸﺎن داده ﻣ ﺷﻮد ،و ﯾ ﭼﺎﻟﺸ ﺮ ١١ﻓﺮﺿ اﺟﺮا ﻣ ﺷﻮد .اﯾﻦ آزﻣﺎﯾﺶ ﮐﻪ آزﻣﺎﯾﺶ ﺗﻤﺎﯾﺰﻧﺎﭘﺬﯾﺮی
١٢
PrivKeavﻧﺸﺎن داده ﻣ ﺷﻮد ،ﺑﻪ ﺻﻮرت زﯾﺮ اﺟﺮا ﻣ ﺷﻮد و ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد و ﺑﺎ A,Π ﺗ ﭘﯿﺎﻣ در ﺑﺮاﺑﺮ ﻣﻬﺎﺟﻢ ﺷﻨﻮدﮔﺮ
١٣
ﻣﻬﺎﺟﻤ را ﮐﻪ ﻓﻘﻂ ﻗﺎﺑﻠﯿﺖ ﺷﻨﻮد ﯾ ﻣﺘﻦ رﻣﺰ ﺷﺪه )ﺟﻬﺖ اﻋﻤﺎل ﺣﻤﻠﻪ ﻓﻘﻂ ﻣﺘﻦ رﻣﺰی ( را دارد ،ﻣﺪل ﻣ ﮐﻨﺪ.
.۴ﭼﺎﻟﺸ ﺮ ﺑﺎ اﺳﺘﻔﺎده از اﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺬاری ﭘﯿﺎم mbرا ﺗﺤﺖ ﮐﻠﯿﺪ kرﻣﺰ و ﻣﺘﻦ رﻣﺰی cرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ.
.۵ﭼﺎﻟﺸ ﺮ ﻣﺘﻦ رﻣﺰی cرا ﺑﻪ ﻣﻬﺎﺟﻢ Aﻣ دﻫﺪ و ﻣﻬﺎﺟﻢ ﺑﯿﺖ ̂ bرا ﺑﯿﺮون ﻣ دﻫﺪ.
ﻣﺮاﺣﻞ آزﻣﺎﯾﺶ ﻓﻮق ﺑﻪ ﻃﻮر ﺧﻼﺻﻪ در آزﻣﺎﯾﺶ زﯾﺮ ﺗﻌﺮﯾﻒ ﺷﺪه اﺳﺖ.
[PrivKeavآزﻣﺎﯾﺶ اﻣﻨﯿﺖ ﮐﺎﻣﻞ ﺳﯿﺴﺘﻢ رﻣﺰﻣﺘﻘﺎرن Πدر ﺑﺮاﺑﺮ ﻣﻬﺎﺟﻢ ﺷﻨﻮدﮔﺮ Aﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ:
آزﻣﺎﯾﺶA,Π ].
۴-۴
b̂ ← A(c) .۵
PrivKeavﻧﺸﺎن داده ﻣ ﺷﻮد ﺑﺮاﺑﺮ ﯾ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣ ﺷﻮد اﮔﺮ b̂ = bو ﺻﻔﺮ اﺳﺖ اﮔﺮ
ﺧﺮوﺟ آزﻣﺎﯾﺶ ﮐﻪ ﺑﺎ A,Π
.b̂ ̸= bدﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﺧﺮوﺟ آزﻣﺎﯾﺶ ﯾ ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ اﺳﺖ ﮐﻪ ﺑﻪ ﮐﻠﯿﻪ ﺑﯿﺖﻫﺎی ﺗﺼﺎدﻓ ﮐﻪ در آزﻣﺎﯾﺶ و
اﻟ ﻮرﯾﺘﻢﻫﺎ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣ ﮔﯿﺮد ﺑﺴﺘ دارد ،ﮐﻪ ﻋﺒﺎرﺗﻨﺪ از:
ﺗﻌﺮﯾﻒ ﻣﻌﺎدل از اﻣﻨﯿﺖ ﮐﺎﻣﻞ اراﺋﻪ ﮐﺮد. ﺑﺎ اﺳﺘﻔﺎده از آزﻣﺎﯾﺶ ﻓﻮق ﻣ ﺗﻮان ﯾ
ﻟﻢ ۵ﯾﻚ ﺳﯿﺴﺘﻢ دارای اﻣﻨﯿﺖ ﻛﺎﻣﻞ اﺳﺖ اﮔﺮ ﺑﻪ ازای ﻫﺮ ﻣﻬﺎﺟﻢ Aﻛﻪ در آزﻣﺎﯾﺶ ﺑﺎﻻ ﺷﺮﻛﺖ ﻛﻨﺪ ،اﺣﺘﻤﺎل
۱
ﻣﻮﻓﻘﯿﺖاش دﻗﯿﻘﺎً ﺑﺎﺷﺪ .ﯾﻌﻨ :
۲
۱
Pr{PrivKeav
= }A,Π = ۱ . )(١
۲
ﺑﻪ ﻃﻮر ﺷﻬﻮدی ،ﺗﻔﺴﯿﺮ ﻣﻔﻬﻮم اﻣﻨﯿﺖ ﮐﺎﻣﻞ ﺑﺎ اﺳﺘﻔﺎده از آزﻣﺎﯾﺶ ﻓﻮق ﺑﺪﯾﻦ ﺻﻮرت اﺳﺖ :در ﯾ ﺳﯿﺴﺘﻢ ﺑﺎ اﻣﻨﯿﺖ
ﮐﺎﻣﻞ وﻗﺘ ﻣﻬﺎﺟﻢ ﯾ ﻣﺘﻦ رﻣﺰی را ﻣ ﺑﯿﻨﺪ ،ﺣﺘ اﮔﺮ ﺑﺪاﻧﺪ ﮐﻪ رﻣﺰﺷﺪه ﯾ از دو ﭘﯿﺎﻣ اﺳﺖ ﮐﻪ ﺧﻮد او اﻧﺘﺨﺎب
ﮐﺮده اﺳﺖ ،ﻧﻤ ﺗﻮاﻧﺪ ﺗﺸﺨﯿﺺ دﻫﺪ ﮐﻪ ﻣﺘﻦ رﻣﺰی ،رﻣﺰﺷﺪه ﮐﺪاﻣﯿ از آن دو ﭘﯿﺎم اﺳﺖ .در واﻗﻊ ﺑﻬﺘﺮﯾﻦ ﮐﺎری ﮐﻪ
ﻣﻬﺎﺟﻢ ﺑﺮای ﮐﺴﺐ اﻃﻼﻋﺎت در ﻣﻮرد ﻣﺘﻦ اﺻﻠ ﻣ ﺗﻮاﻧﺪ ﺑ ﻨﺪ ،ﺣﺪس ﯾ از دو ﭘﯿﺎم اﻧﺘﺨﺎب ﺷﺪه ﺑﻪ ﺗﺼﺎدف اﺳﺖ.
ﻧ ﺘﻪ ١اﮔﺮ در ﻟﻢ ۵راﺑﻄﻪ ١را ﺑﺎ ﻧﺎﻣﺴﺎوی زﯾﺮ ﺟﺎﯾ ﺰﯾﻦ ﺷﻮد ﺑﺎز ﻫﻢ ﻟﻢ ﻣﻌﺘﺒﺮ اﺳﺖ:
۱
≤ }A,Π = ۱
Pr{PrivKeav .
۲
۴-۵
ﺑﻪ ﻧﺎم ﺧﺪا
١اﻣﻨﯿﺖ ﮐﺎﻣﻞ
رﻣﺰ دارای اﻣﻨﯿﺖ ﮐﺎﻣﻞ اﺳﺖ اﮔﺮ ﺑﺮای ﻫﺮ زوج ﭘﯿﺎم m۰ , m۱ ∈ Mو ﻫﺮ c ∈ Cداﺷﺘﻪ ﺑﺎﺷﯿﻢ: ﺗﻌﺮﯾﻒ ١ﯾ
ﺑﻪ ﻋﺒﺎرت دﯾ ﺮ اﮔﺮ Kﻣﺘﻐﯿﯿﺮ ﺗﺼﺎدﻓ ﺧﺮوﺟ اﻟ ﻮرﯾﺘﻢ )( Genﺑﺎﺷﺪ و C۰و C۱ﺑﯿﺎﻧ ﺮ ﻣﺘﻐﯿﯿﺮﻫﺎی ﺗﺼﺎدﻓ
) EncK (m۰و ) EncK (m۱ﺑﺎﺷﻨﺪ ،در اﯾﻦ ﺻﻮرت ) C۰ ≡ C۱ﯾﻌﻨ C۰ ،و C۱دارای ﺗﻮزﯾﻊ ﯾ ﺴﺎن ﻫﺴﺘﻨﺪ(.
PrivKeavﻧﻤﺎﯾﺶ داده ﻣ ﺷﻮد ﺗﻌﺮﯾﻒ ﮐﺮد .آزﻣﺎﯾﺶ ،ﻣﯿﺰان ﻣﻮﻓﻘﯿﺖ ﻣ ﺗﻮان اﻣﻨﯿﺖ ﮐﺎﻣﻞ را ﺑﺎ آزﻣﺎﯾﺶ زﯾﺮ ﮐﻪ ﺑﺎ A,Π
ﯾ ﻣﻬﺎﺟﻢ Aدر ﺣﻤﻠﻪ ﺑﻪ ﯾ ﺳﯿﺴﺘﻢ رﻣﺰ Πرا ﻣﺪل ﻣ ﮐﻨﺪ و و ﻣﺮاﺣﻞ اﻧﺠﺎم آن ﺑﻪ ﺗﺮﺗﯿﺐ زﯾﺮ اﺳﺖ:
PrivKeavﻧﺸﺎن داده ﻣ ﺷﻮد ﺑﺮاﺑﺮدر ﺻﻮرﺗ ﮐﻪ ﺣﺪس ﻣﻬﺎﺟﻢ ﺻﺤﯿﺢ ﺑﺎﺷﺪ ،ﯾﻌﻨ ،b̂ = bﺧﺮوﺟ آزﻣﺎﯾﺶ ﮐﻪ ﺑﺎ A,Π
ﯾ ﺧﻮاﻫﺪ ﺷﺪ و در ﻏﯿﺮ اﯾﻦ ﺻﻮرت ﺻﻔﺮ .دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﺧﺮوﺟ آزﻣﺎﯾﺶ ﯾ ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ اﺳﺖ ﮐﻪ ﺑﻪ ﺳ ﻪﻫﺎی
ﺗﺼﺎدﻓ ﮐﻪ اﺣﯿﺎﻧﺎً در اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ ،اﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺬاری و اﻟ ﻮرﯾﺘﻢ ﻣﻬﺎﺟﻢ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣ ﮔﯿﺮﻧﺪ ،ﺑﺴﺘ
دارد .ﺑﺎ اﺳﺘﻔﺎده از اﯾﻦ آزﻣﺎﯾﺶ ﻣ ﺗﻮان ﺗﻌﺮﯾﻒ ﻣﻌﺎدل زﯾﺮ را ﺑﺮای اﻣﻨﯿﺖ ﮐﺎﻣﻞ اراﺋﻪ ﮐﺮد.
ﻟﻢ ١ﯾ ﺳﯿﺴﺘﻢ رﻣﺰ Πدارای اﻣﻨﯿﺖ ﮐﺎﻣﻞ اﺳﺖ اﮔﺮ وﻓﻘﻂ اﮔﺮ ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ Aﮐﻪ در آزﻣﺎﯾﺶ ﻓﻮق ﺷﺮﮐﺖ
ﻣ ﮐﻨﺪ ،داﺷﺘﻪ ﺑﺎﺷﯿﻢ:
۱
Pr{PrivKeav≤ }A,Π = ۱
۲
۵-١
اﺛﺒﺎت ﻗﻀﯿﻪی ﺷﺎﻧﻮن ٢
ﻗﻀﯿﻪ ٢ﻓﺮض ﮐﻨﯿﺪ | |Kﺗﻌﺪاد اﻋﻀﺎی ﻓﻀﺎی ﮐﻠﯿﺪ و | |Mﺗﻌﺪاد اﻋﻀﺎی ﻓﻀﺎی ﻣﺘﻦ ﺑﺎﺷﺪ .ﺑﺮای اﻣﻨﯿﺖ ﮐﺎﻣﻞ ﻻزم
اﺳﺖ |.|K| ≥ |M
m۱ ∈ Mو k ∈ Kدﻟﺨﻮاه ،ﻣﺘﻦ رﻣﺰی cرا ﺑﺮﻫﺎن .ﺑﺮﻫﺎن ﺧﻠﻒ :ﻓﺮض ﻣ ﮐﻨﯿﻢ | |K| < |Mﺑﺎﺷﺪ .ﺑﺮای ﯾ
ﻃﻮری در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ ﮐﻪ ) .c = Enck (m۱ﺑﻪ وﺿﻮح دارﯾﻢ:
∈ ∃m۰
/ S, m۰ ∈ M
Pr{C = c|M = m۰ } = ۰
ﭘﺲ اﮔﺮ ﺗﻌﺪاد اﻋﻀﺎی ﻓﻀﺎی ﮐﻠﯿﺪ ﮐﻤﺘﺮ از ﺗﻌﺪاد اﻋﻀﺎی ﻓﻀﺎی ﻣﺘﻦ ﺑﺎﺷﻨﺪ ،اﻣﻨﯿﺖ ﮐﺎﻣﻞ ﻧﺪارﯾﻢ.
ﻫﻤﭽﻨﯿﻦ در ﺳﯿﺴﺘﻢﻫﺎی ﻋﻤﻠ ﻫﺪف ﻏﯿﺮﻋﻤﻠ اﻣﻨﯿﺖ ﮐﺎﻣﻞ را ﮐﻨﺎر ﮔﺬاﺷﺘﻪ و ﺧﻮد را ﻣﺤﺪود ﺑﻪ اﻣﻨﯿﺖ ﻣﺤﺎﺳﺒﺎﺗ
ﻣ ﮐﻨﯿﻢ ﮐﻪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻓﺮضﻫﺎی زﯾﺮ ﻣﺪل ﻣ ﺷﻮد:
ﺗﻌﺮﯾﻒ ٢ﻣ ﮔﻮﯾﯿﻢ )-(t, ε) ،Π = (Gen, Enc, Decاﻣﻦ اﺳﺖ اﮔﺮ ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ Aﮐﻪ در زﻣﺎن tاﺟﺮا ﻣ ﺷﻮد
داﺷﺘﻪ ﺑﺎﺷﯿﻢ:
۱
Pr{PrivKeav≤ }A,Π = ۱ )(۱ + ε
۲
۵-٢
ﻣﻘﺪار εﻧﺸﺎن دﻫﻨﺪه ﻣﺰﯾﺖ ﻣﻬﺎﺟﻢ ﻧﺴﺒﺖ ﺑﻪ ﻣﻬﺎﺟﻤ اﺳﺖ ﮐﻪ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﻣﻘﺪار ̂ bرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ .در ﻋﻤﻞ اﮔﺮ
ﺑﺮای ﻫﻤﻪ ﻣﻘﺎدﯾﺮ tو εﮐﻪ ،t/ε ≥ ۲۸۰ﺳﯿﺴﺘﻢ رﻣﺰ )-(t, εاﻣﻦ ﺑﺎﺷﺪ ،ﺳﻄﺢ ﻣﻨﺎﺳﺒ از اﻣﻨﯿﺖ دارﯾﻢ .در اﯾﻦ ﺻﻮرت
ﺣﻤﻠﻪﮐﻨﻨﺪهﻫﺎﯾ ﮐﻪ ﺑﻪ ﺗﺮﺗﯿﺐ در زﻣﺎنﻫﺎی t = ۲۴۰ ،t = ۱و t = ۲۸۰اﺟﺮا ﻣ ﺷﻮﻧﺪ دارای ﺣﺪاﮐﺜﺮ ﻣﺰﯾﺖ
ε = ۲−۴۰ ،ε = ۲−۸۰و ε = ۱ﻣ ﺑﺎﺷﻨﺪ .ﯾ ﺳﯿﺴﺘﻢ رﻣﺰ ﮐﻪ ﻃﻮل ﮐﻠﯿﺪ آن ٨٠ﺑﯿﺖ اﺳﺖ ﺑﺎﻟﻘﻮه ﻣ ﺗﻮاﻧﺪ ﭼﻨﯿﻦ
ﺳﻄﺤ از اﻣﻨﯿﺖ ﺑﺮآورده ﮐﻨﺪ .ﻣﻬﺎﺟﻤ را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ ﮐﻪ دو ﭘﯿﺎم دﻟﺨﻮاه ﻣﺘﻔﺎوت m۰و m۱ﺧﺮوﺟ ﻣ دﻫﺪ.
ﺳﭙﺲ ﻣﻬﺎﺟﻢ ﺑﺎ درﯾﺎﻓﺖ ﻣﺘﻦ رﻣﺰی ﭼﺎﻟﺶ cﮐﻪ رﻣﺰﺷﺪه m۰ﯾﺎ m۱اﺳﺖ ،ﺑﻪ ﺻﻮرت زﯾﺮ ﺗﺼﻤﯿﻢ ﻣ ﮔﯿﺮد:
• ﺑﻪازای ﻫﺮ ﮐﻠﯿﺪ ،kiﻣﻬﺎﺟﻢ ﻣﺘﻦ رﻣﺰی ﭼﺎﻟﺶ cرا رﻣﺰ ﮔﺸﺎﯾ ﻣ ﮐﻨﺪ.
از ﮐﻠﯿﺪﻫﺎ Decki (c) = mbﺑﺎﺷﺪ ،ﻣﻬﺎﺟﻢ ﻣﻘﺪار b̂ = bرا ﺑﺮﻣ ﮔﺮداﻧﺪ. • اﮔﺮ ﺑﺮای ﯾ
ﻓﺮض ﮐﻨﯿﻢ ﺳﯿﺴﺘﻢ رﻣﺰ و ﭘﯿﺎمﻫﺎی m۰و m۱و ﻣﺘﻦ رﻣﺰی cﺑﻪﮔﻮﻧﻪای ﻫﺴﺘﻨﺪ ﮐﻪ ﻫﯿﭻ ﮐﻠﯿﺪ اﺷﺘﺒﺎﻫ )ﻫﺮ ﮐﻠﯿﺪی
ﻏﯿﺮ از ﮐﻠﯿﺪ اﻧﺘﺨﺎﺑ ﭼﺎﻟﺸ ﺮ( ﻣﺘﻦ رﻣﺰی cرا ﺑﻪ m۰ﯾﺎ m۱رﻣﺰﮔﺸﺎﯾ ﻧ ﻨﺪ .اﮔﺮ ﻃﻮل ﭘﯿﺎمﻫﺎی m۰و m۱ﺑﻪ اﻧﺪازه
ﮐﺎﻓ ﻃﻮﻻﻧ اﻧﺘﺨﺎب ﺷﻮﻧﺪ )ﻣﺜﻼ ١٠٠ﺑﯿﺖ( ،ﭼﻨﯿﻦ ﻓﺮﺿ ﺑﺎ اﺣﺘﻤﺎل ﺧﯿﻠ زﯾﺎد ﺻﺤﯿﺢ اﺳﺖ .ﭘﯿﺸﺎﻣﺪ اﯾﻨ ﻪ ﮐﻠﯿﺪ
اﻧﺘﺨﺎب ﺷﺪه ﺗﻮﺳﻂ ﭼﺎﻟﺸ ﺮ در ﺑﯿﻦ tﮐﻠﯿﺪ اﻧﺘﺨﺎب ﺷﺪه ﺗﻮﺳﻂ ﻣﻬﺎﺟﻢ ﺑﺎﺷﺪ را ﺑﺎ Eﻧﺸﺎن دﻫﯿﺪ .در اﯾﻨﺼﻮرت ﻣﺰﯾﺖ
،ε = ۲۸۰زﯾﺮا:
t
ﻣﻬﺎﺟﻢ ﮐﻪ در زﻣﺎن tاﺟﺮا ﻣ ﺷﻮد ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ
Pr{PrivKeav
}A,Π = ۱} = Pr{b̂ = b
}= Pr{b̂ = b | E} × Pr{E} + Pr{b̂ = b | E} × Pr{E
= ۱ × ۲۸۰
t
+ ۱۲ × (۱ − ۲۸۰
t
)
۱ t
) = ۲ (۱ + ۲۸۰
۴ﮔﺴﺘﺮش ﮐﻠﯿﺪ
در رﻣﺰﻧ ﺎری ﺑﻪ روش رﻣﺰ ﯾ ﺒﺎر ﻣﺼﺮف ﻧﯿﺎز دارﯾﻢ ﻃﻮل ﮐﻠﯿﺪ ﺑﻪ اﻧﺪازهی ﻃﻮل ﻣﺘﻦ اﺻﻠ ﺑﺎﺷﺪ .اﮔﺮ ﻃﻮل ﮐﻠﯿﺪ ﮐﻮﺗﺎه
ﺑﺎﺷﺪ ﻻزم دارﯾﻢ ﻃﻮل ﮐﻠﯿﺪ ﺑﻪ اﻧﺪازهی ﻣﺘﻦ اﺻﻠ ﮔﺴﺘﺮش ﯾﺎﺑﺪ.
ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ،ﺳﯿﺴﺘﻢ رﻣﺰ ) Π = (Gen, Enc, Decروی ﻓﻀﺎی } M = {۰, ۱را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ ﮐﻪ در آن:
۲n
• )( :Encاﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺬاری ،ﭘﯿﺎم m = m۰ ||m۱ ∈ {۰, ۱}۲nو ﮐﻠﯿﺪ k ∈ {۰, ۱}nرا ﺑﻪ ﻣﺘﻦ رﻣﺰی
) c = (m۰ ⊕ k)||(m۱ ⊕ kﺗﺒﺪﯾﻞ ﻣ ﮐﻨﺪ ﮐﻪ در آن | |m۰ | = |m۱اﺳﺖ.
• )( :Decاﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺸﺎﯾ ،ﻣﺘﻦ رﻣﺰی c = c۰ ||c۱ ∈ {۰, ۱}۲nو ﮐﻠﯿﺪ k ∈ {۰, ۱}nرا ﺑﻪ ﭘﯿﺎم
) m = (c۰ ⊕ k)||(c۱ ⊕ kﺗﺒﺪﯾﻞ ﻣ ﮐﻨﺪ ﮐﻪ در آن | |c۰ | = |c۱اﺳﺖ.
۵-٣
اﻣﺎ اﯾﻦ روش ﺑﺴﯿﺎر ﺳﺎده ﺷ ﺴﺘﻪ ﻣ ﺷﻮد .ﺑﻪ ﻃﻮر ﻣﺜﺎل ﻣﻬﺎﺟﻢ Aدو ﻣﺘﻦ m۰ = ۰۲nو m۱ = ۱n ۰nرا ﺑﻪ ﻋﻨﻮان
ﻣﺘﻦﻫﺎی آزﻣﻮن ﻣ دﻫﺪ .ﺳﭙﺲ دو ﻧﯿﻤﻪی ﻣﺘﻦ رﻣﺰ ﺷﺪه را ﺑﺎ ﯾ دﯾ ﺮ xorﻣ ﮐﻨﺪ .در ﺻﻮرﺗ ﮐﻪ ﺣﺎﺻﻞ ۰nﺷﺪ،
ﻧﺘﯿﺠﻪﮔﯿﺮی ﻣ ﮐﻨﺪ ﮐﻪ ﻣﺘﻦ اول رﻣﺰ ﺷﺪه اﺳﺖ )ﯾﻌﻨ در ﻣﺮﺣﻠﻪ ۵آزﻣﺎﯾﺶ b̂ = ۱را ﺑﻪ ﺧﺮوﺟ ﻣ دﻫﺪ( و در ﺻﻮرﺗ
ﮐﻪ ﺣﺎﺻﻞ ۱nﺑﺎﺷﺪ ،ﻧﺘﯿﺠﻪﮔﯿﺮی ﻣ ﮐﻨﺪ ﮐﻪ ﻣﺘﻦ دوم رﻣﺰ ﺷﺪه اﺳﺖ )ﯾﻌﻨ در ﻣﺮﺣﻠﻪ ۵آزﻣﺎﯾﺶ b̂ = ۰را ﺑﻪ ﺧﺮوﺟ
ﻣ دﻫﺪ( .اﯾﻦ ﻣﻬﺎﺟﻢ دارای ﻣﺰﯾﺖ ε = ۲۱اﺳﺖ زﯾﺮا دارﯾﻢ:
Pr{PrivKeav
A,Π = ۱} = ۱
در ﺟﻠﺴﺎت ﺑﻌﺪ روشﻫﺎی ﻣﻨﺎﺳﺐﺗﺮی ﺑﺮای ﮔﺴﺘﺮش ﮐﻠﯿﺪ ﻣﻌﺮﻓ ﺧﻮاﻫﺪ ﺷﺪ.
۵-۴
ﺑﻪ ﻧﺎم ﺧﺪا
در ﺟﻠﺴﺎت ﻗﺒﻞ ﺳﯿﺴﺘﻢ رﻣﺰ OTPرا ﻣﻌﺮﻓ ﮐﺮدﯾﻢ ﮐﻪ ﺑﺮای رﻣﺰ ﮐﺮدن ﭘﯿﺎم ،mﮐﻠﯿﺪ ﺗﺼﺎدﻓ kرا ﮐﻪ ﻃﻮل آن ﺑﺎ
ﻃﻮل ﭘﯿﺎم ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ﭘﯿﺎم XORﻣ ﮐﻨﺪ و ﻣﺘﻦ رﻣﺰی c = m ⊕ kرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ .ﺣﺎل ﮐﻠﯿﺪ ﺗﺼﺎدﻓ را ﺑﺎ ﮐﻠﯿﺪ
”ﺷﺒﻪﺗﺼﺎدﻓ “ ﺟﺎﯾ ﺰﯾﻦ ﻣ ﮐﻨﯿﻢ؛ ﯾﻌﻨ از ﯾ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎدﻓ )·( Gاﺳﺘﻔﺎده ﻣ ﮐﻨﯿﻢ ﮐﻪ ﮐﻠﯿﺪ kﺑﺎ ﻃﻮل ﮐﻢ )ﻣﺜﻼ
٨٠ﺑﯿﺖ( را ﺑﻪ دﻧﺒﺎﻟﻪ ﺷﺒﻪﺗﺼﺎدﻓ ) z = G(kﺑﺎ ﻃﻮل زﯾﺎد )ﻣﺜﻼ ﭼﻨﺪ ﻣ ﺎﺑﯿﺖ( ﻣ ﺑﺮد و ﺳﭙﺲ از آن ﺑﺮای رﻣﺰ ﮐﺮدن
ﭘﯿﺎم mﺑﻪ ﺻﻮرت c = m ⊕ zاﺳﺘﻔﺎده ﻣ ﮐﻨﯿﻢ.
در اﯾﻦ ﺟﻠﺴﻪ ﻣﻔﺎﻫﯿﻢ ﺷﺒﻪﺗﺼﺎدﻓ و ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎدﻓ را ﺗﻌﺮﯾﻒ ﻣ ﮐﻨﯿﻢ .در اﺑﺘﺪا ﻻزم اﺳﺖ ﮐﻪ ﻣﻔﻬﻮم ﻣﻬﻢ
ﺗﻤﺎﯾﺰﻧﺎﭘﺬﯾﺮی را ﺑﯿﺎن ﮐﻨﯿﻢ.
ﺗﻤﺎﯾﺰﻧﺎﭘﺬﯾﺮی ١
ﺗﻌﺮﯾﻒ ١ﻣ ﮔﻮﯾﯿﻢ ﻣﺘﻐﯿﺮﻫﺎی ﺗﺼﺎدﻓ X۰و -(t, ε) ،X۱ﺗﻤﺎﯾﺰﻧﺎﭘﺬﯾﺮاﻧﺪ ،اﮔﺮ ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ )ﺗﻤﺎﯾﺰﮔﺮ (١ﻣﺎﻧﻨﺪ A
ﮐﻪ در زﻣﺎن tاﺟﺮا ﻣ ﺷﻮد داﺷﺘﻪ ﺑﺎﺷﯿﻢ:
۱
≤ }Pr{b ← {۰, ۱}; x ← Xb : A(x) = b )(۱ + ε )(١
۲
ﻗﻀﯿﻪ زﯾﺮ ﺗﻌﺮﯾﻔ ﻣﻌﺎدل ﺑﺮای ﻣﻔﻬﻮم ﺗﻤﺎﯾﺰﻧﺎﭘﺬﯾﺮی ﺑﯿﺎن ﻣ ﮐﻨﺪ:
ﻗﻀﯿﻪ ١ﻣﺘﻐﯿﺮﻫﺎی ﺗﺼﺎدﻓ X۰و -(t, ε) ،X۱ﺗﻤﺎﯾﺰﻧﺎﭘﺬﯾﺮﻧﺪ ،اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﺑﺮای ﻫﺮ ﺗﻤﺎﯾﺰﮔﺮ Dﮐﻪ در زﻣﺎن tاﺟﺮا
ﻣ ﺷﻮد داﺷﺘﻪ ﺑﺎﺷﯿﻢ:
ﺑﺮﻫﺎن .ﺑﻪ ﻃﻮر ﺷﻬﻮدی ﺗﻌﺮﯾﻒ ١ﻣ ﮔﻮﯾﺪ ﮐﻪ ﻫﯿﭻ ﺗﻤﺎﯾﺰﮔﺮی ﻧﻤ ﺗﻮاﻧﺪ در زﻣﺎن tﺑﺎ اﺣﺘﻤﺎﻟ ﺧﯿﻠ ﺑﻬﺘﺮ از ﯾ ﺣﺪس
ﺗﺼﺎدﻓ ﺗﻌﯿﯿﻦ ﮐﻨﺪ ﮐﻪ xداده ﺷﺪه از ﮐﺪام ﺗﻮزﯾﻊ آﻣﺪه اﺳﺖ .اﯾﻦ ﺗﻌﺮﯾﻒ در واﻗﻊ ﺑﯿﺎن ﻣ ﮐﻨﺪ ﮐﻪ ﻫﺮ ﺗﻤﺎﯾﺰﮔﺮی ﮐﻪ
در زﻣﺎن tاﺟﺮا ﻣ ﺷﻮد ،ﺑﺎ دﯾﺪن ﯾ ﺧﺮوﺟ از ﺗﻮزﯾﻊ X۰و ﯾ ﺧﺮوﺟ از ﺗﻮزﯾﻊ X۱ﺗﻘﺮﯾﺒﺎً ﺑﻪ ﻃﻮر ﯾ ﺴﺎن ﻋﻤﻞ
١
distinguisher
۶-١
ﻣ ﮐﻨﺪ .ﺣﺎل ﭼﻮن اﯾﻦ ﺗﻤﺎﯾﺰﮔﺮ ﯾ ﺑﯿﺖ ﺧﺮوﺟ ﻣ دﻫﺪ” ،ﺗﻘﺮﯾﺒﺎً ﯾ ﺴﺎن ﻋﻤﻞ ﮐﺮدن“ ﺑﻪ ﻣﻌﻨﺎی اﯾﻦ اﺳﺖ ﮐﻪ ١را در
ﻫﺮ ﻣﻮرد ﺑﺎ اﺣﺘﻤﺎل ﺗﻘﺮﯾﺒﺎً ﺑﺮاﺑﺮی ﺧﺮوﺟ ﻣ دﻫﺪ و اﯾﻦ ﻫﻤﺎن ﺗﻌﺮﯾﻒ ٢اﺳﺖ.
ﺑﺮای اﺛﺒﺎت دﻗﯿﻖ اﺑﺘﺪا ﻧﺸﺎن ﻣ دﻫﯿﻢ ﮐﻪ ﺗﻌﺮﯾﻒ ،١ﺗﻌﺮﯾﻒ ٢را ﻧﺘﯿﺠﻪ ﻣ دﻫﺪ .ﻓﺮض ﺧﻠﻒ ﮐﻨﯿﺪ ﮐﻪ ﭼﻨﯿﻦ ﻧﺒﺎﺷﺪ و
ﺗﻤﺎﯾﺰﮔﺮ Dوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ ﺑﺮای آن داﺷﺘﻪ ﺑﺎﺷﯿﻢ:
| Pr{x ← X۰ : D(x) = ۱} − Pr{x ← X۱ : D(x) = ۱}| > ε
ﻣ ﺗﻮان ﻓﺮض ﮐﺮد )ﭼﺮا؟(:
Pr{x ← X۱ : D(x) = ۱} − Pr{x ← X۰ : D(x) = ۱} > ε
ﺣﺎل ﺗﻤﺎﯾﺰﮔﺮ Aرا ﺑﺪﯾﻦ ﺻﻮرت در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ A :ﺑﺎ درﯾﺎﻓﺖ ورودی xآن را ﺑﻪ Dﻣ دﻫﺪ .ﺳﭙﺲ ﺧﺮوﺟ ﺧﻮد را
{ ﺑﺪﯾﻦ ﺻﻮرت ﺑﯿﺮون ﻣ دﻫﺪ:
۱ if D(x) = ۱
= )A(x
۰ if D(x) ̸= ۱
دارﯾﻢ:
۱
= }Pr{b ← {۰, ۱}; x ← Xb : A(x) = b }Pr{x ← X۰ : A(x) = ۰
۲
۱
}+ Pr{x ← X۱ : A(x) = ۱
۲
۱
= }Pr{x ← X۰ : D(x) ̸= ۱
۲
۱
}+ Pr{x ← X۱ : D(x) = ۱
۲
۱
= )}(۱ − Pr{x ← X۰ : D(x) = ۱
۲
۱
}+ Pr{x ← X۱ : D(x) = ۱
۲
۱ ۱
= }+ (Pr{x ← X۱ : D(x) = ۱
۲ ۲
)}− Pr{x ← X۰ : D(x) = ۱
≥ ۱
۲
)(۱ + ε
ﺑﺮای اﺛﺒﺎت اﯾﻨ ﻪ ﺗﻌﺮﯾﻒ ،٢ﺗﻌﺮﯾﻒ ١را ﻧﺘﯿﺠﻪ ﻣ دﻫﺪ ،ﻓﺮض ﺧﻠﻒ ﮐﻨﯿﺪ ﮐﻪ ﭼﻨﯿﻦ ﻧﺒﺎﺷﺪ و ﺗﻤﺎﯾﺰﮔﺮ Aوﺟﻮد داﺷﺘﻪ
ﺑﺎﺷﺪ ﮐﻪ ﺑﺮای آن داﺷﺘﻪ ﺑﺎﺷﯿﻢ:
۱
≥ }Pr{b ← {۰, ۱}; x ← Xb : A(x) = b )(۱ + ε
۲
ﺗﻤﺎﯾﺰﮔﺮ Dﻫﻤﺎن Aدر ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ .دارﯾﻢ:
۶-٢
ﺗﻌﺮﯾﻒ ٢ﻣ ﮔﻮﯾﯿﻢ ﺗﻤﺎﯾﺰﮔﺮ Dﺗﻮزﯾﻊﻫﺎی X۰و X۱را ﺑﺎ اﺣﺘﻤﺎل )ﻣﺰﯾﺖ µ (٢ﺗﻤﺎﯾﺰ ﻣ دﻫﺪ اﮔﺮ:
ﻣﺜﺎل ٣ﻓﺮض ﮐﻨﯿﺪ ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ X۱دارای ﺗﻮزﯾﻊ Pr{X۱ = ۱} = ۳/۴و Pr{X۱ = ۰} = ۱/۴روی
ﻣﺠﻤﻮﻋﻪ } {۰, ۱ﺑﺎﺷﺪ و ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ X۰دارای ﺗﻮزﯾﻊ ﯾ ﻨﻮاﺧﺖ روی ﻫﻤﺎن ﻣﺠﻤﻮﻋﻪ ﺑﺎﺷﺪ .ﻣﺰﯾﺖ ﺗﻤﺎﯾﺰﮔﺮ D۱
۱
ﮐﻪ ﻫﻤﻮاره ﺧﺮوﺟ ١را ﺑﺮﻣ ﮔﺮداﻧﺪ ،ﺻﻔﺮ اﺳﺖ .ﻫﻤﭽﻨﯿﻦ ﺗﻤﺎﯾﺰﮔﺮ ﺗﺼﺎدﻓ D۲ﮐﻪ ﻣﻘﺎدﯾﺮ ۱و ۰را ﺑﺎ اﺣﺘﻤﺎل
۲
۱
ﺑﺮ ﻣ ﮔﺮداﻧﺪ ،ﻧﯿﺰ دارای ﻣﺰﯾﺖ ﺻﻔﺮ اﺳﺖ .اﻣﺎ ﺗﻤﺎﯾﺰﮔﺮ D۳ﮐﻪ ﺑﻪ ﺻﻮرت زﯾﺮ ﺗﺼﻤﯿﻢ ﻣ ﮔﯿﺮد ،دارای ﻣﺰﯾﺖ اﺳﺖ.
۴
{
۱ a=۱
= )D۳ (a
۰ a=۰
ﺗﻤﺎﯾﺰﮔﺮ ﺑﺮای ﺗﻤﺎﯾﺰ دو ﺗﻮزﯾﻊ داده ﺷﺪه X۰و X۱ﻣ ﺗﻮاﻧﺪ داﺷﺘﻪ ﺑﺎﺷﺪ ﺑﺮاﺑﺮ ﻗﻀﯿﻪ ٢ﺑﯿﺸﺘﺮﯾﻦ ﻣﻘﺪار ﻣﺰﯾﺘ ﮐﻪ ﯾ
اﺳﺖ ﺑﺎ:
∑۱
=ε | Pr[X۱ = x] − Pr[X۰ = x]| .
۲ x
ﮐﻪ ﻫﻤﺎن ﻓﺎﺻﻠﻪی آﻣﺎری ٣ﺑﯿﻦ دو ﺗﻮزﯾﻊ ﻣ ﺑﺎﺷﺪ .ﺗﻤﺎﯾﺰﮔﺮ Dاﺳﺖ ﮐﻪ ﺑﻪ ﺻﻮرت زﯾﺮ ﻋﻤﻞ ﻣ ﮐﻨﺪ ،دارای ﻣﺰﯾﺖ
ﺑﯿﺸﯿﻨﻪ اﺳﺖ:
{
}۱ Pr{X۱ = a} ≥ Pr{X۰ = a
= )D(a
۰ oth.
ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎدﻓ )-(t, εاﻣﻦ ۴اﺳﺖ اﮔﺮ: ﺗﻌﺮﯾﻒ ۴ﺗﺎﺑﻊ G : {۰, ۱}n −→ {۰, ۱}lﯾ
• :Genاﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ ،ﮐﻠﯿﺪ kرا ﺑﻪ ﺗﺼﺎدف از {۰, ۱}nاﻧﺘﺨﺎب ﻣ ﮐﻨﺪ.
٢
advantage
٣
statistical distance
۴
Pseudo Random Generator
۶-٣
• :Encاﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری ،ﭘﯿﺎم m ∈ {۰, ۱}lو ﮐﻠﯿﺪ k ∈ {۰, ۱}nرا ﺑﻪ ﻣﺘﻦ رﻣﺰ ﺷﺪه )c = m ⊕ G(k
ﺗﺒﺪﯾﻞ ﻣ ﮐﻨﺪ.
• :Decاﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺸﺎﯾ ،ﻣﺘﻦ رﻣﺰ ﺷﺪه c ∈ {۰, ۱}lو ﮐﻠﯿﺪ k ∈ {۰, ۱}nرا ﺑﻪ ﭘﯿﺎم )m = c ⊕ G(k
ﺗﺒﺪﯾﻞ ﻣ ﮐﻨﺪ.
ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎدﻓ )-(t, ε/۲اﻣﻦ ﺑﺎﺷﺪ رﻣﺰ دﻧﺒﺎﻟﻪای ΠGﯾ ﻗﻀﯿﻪ ٣اﮔﺮ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎدﻓ Gﯾ
ﻣﺘﻘﺎرن )-(t − O(l), εاﻣﻦ اﺳﺖ.
ﺑﺮﻫﺎن .ﻗﺮار ﻣ دﻫﯿﻢ ) t′ = t − O(lﺑﺎ اﺳﺘﻔﺎده از ﺑﺮﻫﺎن ﺧﻠﻒ ،درﺳﺘ ﺣ ﻢ را ﻧﺸﺎن ﻣ دﻫﯿﻢ :ﭘﺲ ﺑﺎﯾﺪ ﻧﺸﺎن دﻫﯿﻢ
اﮔﺮ رﻣﺰ دﻧﺒﺎﻟﻪای )-(t′ , εاﻣﻦ ﻧﺒﺎﺷﺪ آﻧ ﺎه -(t′ + O(l), ε) ،Gاﻣﻦ ﻧﯿﺴﺖ .اﮔﺮ رﻣﺰ دﻧﺒﺎﻟﻪای )-(t′ , εاﻣﻦ ﻧﺒﺎﺷﺪ ﭘﺲ
PrivKeavﻣﻮﻓﻖ
ﻣﻬﺎﺟﻤ ﻣﺎﻧﻨﺪ Aوﺟﻮد دارد ﮐﻪ در زﻣﺎن ﺣﺪاﮐﺜﺮ tﮐﺎر ﻣ ﮐﻨﺪ و ﺑﺎ ﻣﺰﯾﺖ ﺣﺪاﻗﻞ εدر آزﻣﺎﯾﺶ A,ΠG
′
۱
≥ }A,ΠG = ۱
Pr{PrivKeav (۱ + ε) .
۲
ﺣﺎل ﺑﺎ اﺳﺘﻔﺎده از اﯾﻦ ﺣﻤﻠﻪﮐﻨﻨﺪه ﺑﻪ ﺻﻮرت زﯾﺮ ﺗﻤﺎﯾﺰﮔﺮی ﺑﻪ ﻧﺎم Dﻣ ﺳﺎزﯾﻢ.
{
۱ b = b′
= )D(a
۰ b ̸= b′
)D(a .
ﺗﻤﺎﯾﺰﮔﺮ Dﻧﻘﺶ ﭼﺎﻟﺸ ﺮ را ﺑﺮای ﻣﻬﺎﺟﻢ Aﺷﺒﯿﻪﺳﺎزی ﻣ ﮐﻨﺪ .ﺑﻪ اﯾﻦ ﺻﻮرت ﮐﻪ ﺗﻤﺎﯾﺰﮔﺮ Dﭘﺲ از درﯾﺎﻓﺖ رﺷﺘﻪ
lﺑﯿﺘ aﺑﻪ ﻋﻨﻮان ورودی ،ﺣﻤﻠﻪﮐﻨﻨﺪه Aرا اﺟﺮا ﻣ ﮐﻨﺪ و دو ﻣﺘﻦ ﭼﺎﻟﺶ m۰و m۱را از آن ﻣ ﮔﯿﺮد .ﺗﻤﺎﯾﺰﮔﺮ
Dﺳﭙﺲ ﺑﯿﺖ bرا ﺑﻪ ﺗﺼﺎدف اﻧﺘﺨﺎب ﻣ ﮐﻨﺪ و ﺣﺎﺻﻞ mb ⊕ aرا ﺑﻪ ﻋﻨﻮان ﻣﺘﻦ رﻣﺰی ﺑﻪ ﺣﻤﻠﻪﮐﻨﻨﺪه ﻣ دﻫﺪ .در
ﻣﺮﺣﻠﻪ ﺑﻌﺪ ﺣﻤﻠﻪﮐﻨﻨﺪه ﺑﺎﯾﺪ b′را ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟ ﺑﻪ ﺗﻤﺎﯾﺰﮔﺮ ﺑﺪﻫﺪ ،اﮔﺮ b = b′ﺗﻤﺎﯾﺰﮔﺮ ﻋﺪد ١را ﺑﺮ ﻣ ﮔﺮداﻧﺪ درﻏﯿﺮ
اﯾﻦ ﺻﻮرت .٠از ﻃﺮﻓ ورودی aﯾﺎ ﺧﺮوﺟ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎدﻓ اﺳﺖ ﯾﺎ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ اﺳﺖ .اﮔﺮ ورودی aﮐﺎﻣﻼ
ﺗﺼﺎدﻓ ﺑﺎﺷﺪ ،دارﯾﻢ:
۱
= }Pr{a ← Ul : D(a) = ۱
۲
۶-۴
اﮔﺮ ورودی ،aﺧﺮوﺟ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺎﺷﺪ ،در اﯾﻦ ﺻﻮرت ﺧﺮوﺟ ﺗﻤﺎﯾﺰﮔﺮ Dدر واﻗﻊ ﻫﻤﺎن ﺧﺮوﺟ آزﻣﺎﯾﺶ
.PrivKeavﺑﻨﺎﯾﺮاﯾﻦ ﺧﻮاﻫﯿﻢ داﺷﺖ:
A,ΠG
۱
Pr{k ← {۰, ۱}n ; a ← G(k) : D(a) = ۱} = Pr{PrivKeav
≥ }A,ΠG = ۱ )(۱ + ε
۲
ﭘﺲ دارﯾﻢ :
ﭼﻮن Aﺣﺪاﮐﺜﺮ در زﻣﺎن t′اﺟﺮا ﻣ ﺷﻮد ﭘﺲ Dﺣﺪاﮐﺜﺮ در زﻣﺎن ) t′ + O(lاﻧﺠﺎم ﻣ ﺷﻮد ،زﯾﺮا ﺗﻨﻬﺎ ﮐﺎر اﺿﺎﻓﻪﺗﺮی
ﮐﻪ اﻧﺠﺎم ﻣ دﻫﺪ ﻋﻤﻞ xorرﺷﺘﻪ -lﺑﯿﺘ اﺳﺖ .ﺑﻨﺎﺑﺮاﯾﻦ ﻓﺮض ﺧﻠﻒ ﺑﺎﻃﻞ اﺳﺖ و در ﻧﺘﯿﺠﻪ ﺳﯿﺴﺘﻢ رﻣﺰ دﻧﺒﺎﻟﻪای
)-(t − O(l), εاﻣﻦ اﺳﺖ.
ﻣﺜﺎل ۶ﻣﻮﻟﺪ G : {۰, ۱}n → {۰, ۱}۲nرا در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ ﮐﻪ رﺷﺘﻪ -nﺑﯿﺘ kرا ﺑﻪ رﺷﺘﻪ -۲nﺑﯿﺘ k∥kﻣ ﺑﺮد،
اﯾﻦ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎدﻓ ﻧﯿﺴﺖ .ﺗﻤﺎﯾﺰﮔﺮ Dرا ﮐﻪ ﺑﻪ ﺻﻮرت زﯾﺮ ﻋﻤﻞ ﻣ ﮐﻨﺪ در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ ﮐﻪ :z۱ , z۲ ∈ {۰, ۱}n
{
۱ z۱ = z۲
= ) D(z۱ ∥z۲
۰ z۱ ̸= z۲
دارﯾﻢ:
Pr{k ←− Un ; z = G(k) : D(z) = ۱} = ۱
Pr{z ←− U۲n : D(z) = ۱} = ۲−n
ﭘﺲ دارﯾﻢ:
| Pr{k ←− Un ; z ← G(k) : D(z) = ۱} − Pr{z ←− U۲n : D(z) = ۱}| = ۱ − ۲−n
ﺗﻤﺎﯾﺰﮔﺮ ﻣ ﺗﻮاﻧﺪ ﻣﻮﻟﺪ را ﺑﺎ ﻣﺰﯾﺖ ﻗﺎﺑﻞ ﺗﻮﺟﻪ ﺗﻤﺎﯾﺰ دﻫﺪ و در ﻧﺘﯿﺠﻪ اﯾﻦ ﻣﻮﻟﺪ ،ﺷﺒﻪﺗﺼﺎدﻓ ﻧﯿﺴﺖ.
ﺑﺮای ﺳﺎﺧﺖ ﻣﻮﻟﺪﻫﺎی ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺎﯾﺪ از اﯾﺪهﻫﺎﯾ اﺳﺘﻔﺎده ﮐﻨﯿﻢ ﮐﻪ ﺑﯿﺖﻫﺎی ورودی را ﺑﻪ ﻃﻮر ”ﭘﯿﭽﯿﺪه“ای ﺑﺎ ﻫﻢ
ﻣﺨﻠﻮط ﻣ ﮐﻨﻨﺪ .در ﺟﻠﺴﻪ ﺑﻌﺪLFSR ،ﻫﺎ را ﮐﻪ دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ﺷﺎن دارای ﺧﻮاص ﺧﻮﺑ اﺳﺖ ،ﺑﺮرﺳ ﺧﻮاﻫﯿﻢ ﮐﺮد.
ﺳﭙﺲ ﺑﻪ ﻣﻄﺎﻟﻌﻪ روشﻫﺎی ﻃﺮاﺣ ﻣﻮﻟﺪﻫﺎی ﺷﺒﻪ ﺗﺼﺎدﻓ ﺑﺎ اﺳﺘﻔﺎده از LFSRﻫﺎ ﺧﻮاﻫﯿﻢ ﭘﺮداﺧﺖ.
۶-۵
ﺑﻪ ﻧﺎﻡ ﺧﺪﺍ
ﺩﺭ ﺟﻠﺴﻪ ﻗﺒﻞ ،ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﮐﻪ ﯾﮏ ﮐﻠﯿﺪ ﺍﻭﻟﯿﻪ ﺑﺎ ﻃﻮﻝ ﮐﻮﭼﮏ ﺗﺼﺎﺩﻓﯽ ﺭﺍ ﺑﻪ ﯾﮏ ﺩﻧﺒﺎﻟﻪ ﻃﻮﻻﻧﯽﺗﺮ ﺗﺒﺪﯾﻞ ﻣﯽﮐﻨﺪ،
ﻣﻌﺮﻓﯽ ﺷﺪ .ﺩﺭ ﺍﯾﻦ ﺟﻠﺴﻪ LFSR ،ﺑﻪ ﻋﻨﻮﺍﻥ ﯾﮏ ﭘﯿﺸﻨﻬﺎﺩ ﺍﻭﻟﯿﻪ ﺑﺮﺍﯼ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﻣﻌﺮﻓﯽ ﻣﯽﺷﻮﺩ .ﺍﻣﺎ ﺑﻪ ﺩﻻﯾﻠﯽ ﮐﻪ
ﺧﻮﺍﻫﯿﻢ ﺩﯾﺪ ،ﻣﻮﻟﺪ ﺣﺎﺻﻞ ﺭﺍ ﻧﻤﯽﺗﻮﺍﻥ ﯾﮏ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﺍﻣﻦ ﺩﺭ ﻧﻈﺮ ﮔﺮﻓﺖ .ﺩﺭ ﺍﯾﻦ ﺟﻠﺴﻪ ﺍﺑﺘﺪﺍ ﺭ ﻭﺵ ﮐﻠﯽ ﻃﺮﺍﺣﯽ
ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﻭ ﺳﭙﺲ ﻭﯾﮋﮔﯽﻫﺎﯼ LFSRﻣﻌﺮﻓﯽ ﻣﯽﺷﻮﺩ .ﺩﺭ ﺟﻠﺴﻪﯼ ﺁﯾﻨﺪﻩ ﻧﺤﻮﻩﯼ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ LFSRﺑﺮﺍﯼ ﺳﺎﺧﺘﻦ
ﻣﻮﻟﺪﻫﺎﯼ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﺍﻣﻦ ﺭﺍ ﺧﻮﺍﻫﯿﻢ ﺩﯾﺪ.
۲
ﻣﻮﻟﺪﻫﺎﯼ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﺍﺻﻄﻼﺣﺎً ﺭﻣﺰ ﺩﻧﺒﺎﻟﻪﺍﯼ ﻧﯿﺰ ﻧﺎﻣﯿﺪﻩ ﻣﯽﺷﻮﻧﺪ ﻭ ﺑﻪ ﺩﻧﺒﺎﻟﻪ ﺧﺮ ﻭﺟﯽ ﺁﻧﻬﺎ ﺟﺮ ﯾﺎﻥﮐﻠﯿﺪ ۱ﯾﺎ ﮐﻠﯿﺪ ﺍﺟﺮﺍﯾﯽ
ﮔﻔﺘﻪ ﻣﯽﺷﻮﺩ .ﺑﻪ ﻃﻮﺭ ﮐﻠﯽ ﯾﮏ ﺭﻣﺰ ﺩﻧﺒﺎﻟﻪﺍﯼ ﺭﺍ ﻣﯽﺗﻮﺍﻥ ﺑﻪ ﺷﻮﺭﺕ ﯾﮏ ﻣﺎﺷﯿﻦ ﺣﺎﻟﺖ ﻣﺤﺪﻭﺩ ۳ﻃﺮﺍﺣﯽ ﮐﺮﺩ ﮐﻪ ﺣﺎﻟﺖ
ﺍﻭﻟﯿﻪﯼ ﺁﻥ ﺑﻪ ﮐﻠﯿﺪ ﻭﺍﺑﺴﺘﻪ ﺍﺳﺖ .ﯾﮏ ﻣﺎﺷﯿﻦ ﺣﺎﻟﺖ ﻣﺤﺪﻭﺩ ﺑﻪ ﺻﻮﺭﺕ ﺯﯾﺮ ﻗﺎﺑﻞ ﺗﻌﺮ ﯾﻒ ﺍﺳﺖ:
f : FLﺗﺎﺑﻌﯽ ﺍﺳﺖ ﮐﻪ ﺑﺎ ﺩﺭ ﯾﺎﻓﺖ ﯾﮏ ﺣﺎﻟﺖ ﺑﻪ ﻋﻨﻮﺍﻥ ﻭﺭ ﻭﺩﯼ ﯾﮏ ﺑﯿﺖ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺧﺮ ﻭﺟﯽ ﭘﺲ ﻣﯽﺩﻫﺪ .ﺗﻮﺟﻪ ۲ → F۲
T T
ﮐﻨﯿﺪ ﮐﻪ ) St = (st,۰ , st,۱ , ..., st,L−۱ﺑﺮﺩﺍﺭ ﺣﺎﻟﺖ ﺩﺭ ﺯﻣﺎﻥ tﺍﺳﺖ ﻭ ) S۰ = (s۰,۰ , s۰,۱ , ..., s۰,L−۱ﺑﺮﺩﺍﺭ ﺣﺎﻟﺖ ﺍﻭﻟﯿﻪ
ﺍﺳﺖ ﻭ ztﺑﯿﺖ ﮐﻠﯿﺪ ﺍﺟﺮﺍﯾﯽ ﺩﺭ ﺯﻣﺎﻥ tﺍﺳﺖ .ﺑﺪﯾﻦ ﺗﺮﺗﯿﺐ ﻣﯽﺗﻮﺍﻥ ﺭ ﻭﺵ ﮐﻠﯽ ﻃﺮﺍﺣﯽ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﺭﺍ ﺩﺭ ﺷﮑﻞ ﺯﯾﺮ
ﻧﺸﺎﻥ ﺩﺍﺩ.
St F
f
.
zt
۱ keystream
۲ running-key
۳ finite-state machine
۷-۱
�
∑
L
C(X) = ۱ −ﺗﻌﺮ ﯾﻒ ﯾﮏ ﺛﺒﺎﺕ ﺑﺎ ﺑﺎﺯﺧﻮﺭﺩ ﺧﻄﯽ (LFSR) ۴ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﺑﺎﺯﺧﻮﺭﺩ ci X i ∈ Fq [X] ۵
i=۰
(s۰ , s۱ , · · · , sL−۱ ) ∈ FLﺭﺍ )ﮐﻪ ﺣﺎﻟﺖ ﺍﻭﻟﯿﻪ ﻧﺎﻣﯿﺪﻩ ﻣﯽﺷﻮﺩ(
ﻣﯽﺷﻮﺩ ﮐﻪ Lﻃﻮﻝ ﺛﺒﺎﺕ ﻧﺎﻣﯿﺪﻩ ﻣﯽﺷﻮﺩ .ﺍﯾﻦ ﺛﺒﺎﺕ ﺭﺷﺘﻪﯼ q
ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺭﺍﺑﻄﻪﯼ ﺑﺎﺯﮔﺸﺘﯽ ﺯﯾﺮ ﺑﻪ ﯾﮏ ﺩﻧﺒﺎﻟﻪ ﺑﺎ ﻃﻮﻝ ﻧﺎﻣﺘﻨﺎﻫﯽ ﺗﺒﺪﯾﻞ ﻣﯽﮐﻨﺪ.
∑
L
= ∀t ≥ ۰ ، st+L ci st+L−i
i=۱
st+L
st+L−۱ st+L−۲ ... st+۱ st output
ﺩﻧﺒﺎﻟﻪﯼ ﺧﺮ ﻭﺟﯽ ﯾﮏ LFSRﺑﺼﻮﺭﺕ ﯾﮑﺘﺎﯾﯽ ﺑﻮﺳﯿﻠﻪ ﺿﺮﺍﯾﺐ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﺑﺎﺯﺧﻮﺭﺩ ﻭ ﺣﺎﻟﺖ ﺍﻭﻟﯿﻪ ﺗﻌﯿﯿﻦ ﻣﯽﺷﻮﺩ .ﺿﺮﺍﯾﺐ
ﺑﺎﺯﺧﻮﺭﺩ c۱ , c۲ , · · · , cLﯾﮏ LFSRﺑﺎ ﻃﻮﻝ Lﺑﻮﺳﯿﻠﻪﯼ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﺑﺎﺯﺧﻮﺭﺩ ﮐﻪ ﺑﺼﻮﺭﺕ ﺯﯾﺮ ﺗﻌﺮ ﯾﻒ ﻣﯽﺷﻮﺩ ،ﻣﺸﺨﺺ
ﻣﯽﺷﻮﻧﺪ.
∑
L
C(X) = ۱ − ci X i .
i=۱
۷-۲
ﻣﺜﺎﻝ ۱ﺑﺮﺍﯼ ﯾﮏ LFSRﺑﺎ ﻃﻮﻝ ۴ﺩﺭ ﻣﯿﺪﺍﻥ F۲ﻭ ﺿﺮﺍﯾﺐ ﺑﺎﺯﺧﻮﺭﺩ ،c۱ = c۲ = ۰, c۳ = c۴ = ۱ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﺑﺎﺯﺧﻮﺭﺩ
ﻭ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﻣﺸﺨﺼﻪ ﺑﻪ ﺗﺮﺗﯿﺐ ﺑﺼﻮﺭﺕ
]C(X) = ۱ + X ۳ + X ۴ ∈ F۲ [X
ﻭ
]C ∗ (X) = ۱ + X + X ۴ ∈ F۲ [X
ﺍﺳﺖ.
ﺩﻧﺒﺎﻟﻪﯼ ﺧﺮ ﻭﺟﯽ ﺍﯾﻦ LFSRﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺭﺍﺑﻄﻪ ﺑﺎﺯﮔﺸﺘﯽ ﺯﯾﺮ ﺗﻌﯿﯿﻦ ﻣﯽﺷﻮﺩ.
st+۴ = st + st+۱ mod ۲
ﺩﺭ ﺷﮑﻞ ﺯﯾﺮ ﺭ ﻭﻧﺪ ﺗﻮﻟﯿﺪ ﺍﯾﻦ ﺩﻧﺒﺎﻟﻪ ﺭﺍ ﻣﯽﺑﯿﻨﯿﺪ.
st+۴
st+۳ st+۲ st+۱ st
+
.
ﺑﺮﺍﯼ ﻣﺜﺎﻝ ﺍﮔﺮ ﺣﺎﻟﺖ ﺍﻭﻟﯿﻪ ﺭﺍ ﺑﺮﺍﺑﺮ ) (s۰ , s۱ , s۲ , s۳ ) = (۱, ۰, ۱, ۱ﻗﺮﺍﺭ ﺩﻫﯿﻢ ،ﻃﺒﻖ ﺟﺪﻭﻝ ﺯﯾﺮ ﺩﻧﺒﺎﻟﻪﯼ ﺧﺮ ﻭﺟﯽ ﺗﻮﻟﯿﺪ
ﻣﯽﺷﻮﺩ.
t ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵
st ۱ ۰ ۱ ۱ ۱ ۱ ۰ ۰ ۰ ۱ ۰ ۰ ۱ ۱ ۰ ۱
st+۱ ۰ ۱ ۱ ۱ ۱ ۰ ۰ ۰ ۱ ۰ ۰ ۱ ۱ ۰ ۱ ۰
st+۲ ۱ ۱ ۱ ۱ ۰ ۰ ۰ ۱ ۰ ۰ ۱ ۱ ۰ ۱ ۰ ۱
st+۳ ۱ ۱ ۱ ۰ ۰ ۰ ۱ ۰ ۰ ۱ ۱ ۰ ۱ ۰ ۱ ۱
ﺩﻧﺒﺎﻟﻪﯼ (st )t≥۰ﻣﺘﻨﺎﻭﺏ ﻧﺎﻣﯿﺪﻩ ﻣﯽﺷﻮﺩ ﺍﮔﺮ ﻋﺪﺩ ﺻﺤﯿﺤﯽ ﭼﻮﻥ Tﺑﺎﺷﺪ ﻭﺟﻮﺩ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ﺑﻄﻮﺭﯼﮐﻪ ﺑﺮﺍﯼ ﻫﺮ t ≥ ۰
ﺩﺍﺷﺘﻪ ﺑﺎﺷﯿﻢ .st = st+Tﮐﻮﭼﮑﺘﺮ ﯾﻦ ﻋﺪﺩ ﺻﺤﯿﺤﯽ ﮐﻪ ﺑﺮﺍﯼ ﺁﻥ ﺭﺍﺑﻄﻪ ﻓﻮﻕ ﺑﺮﻗﺮﺍﺭ ﺑﺎﺷﺪ ﺩﻭﺭﻩﯼ ﺗﻨﺎﻭﺏ ﺩﻧﺒﺎﻟﻪ ﻧﺎﻣﯿﺪﻩ
ﻣﯽﺷﻮﺩ.
ﺗﻌﺮ ﯾﻒ ۲ﯾﮏ LFSRﺭﺍ ﻏﯿﺮﺗﮑﯿﻦ ﮔﻮﯾﯿﻢ ،ﻫﺮﮔﺎﻩ ﺩﺭ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﻣﺸﺨﺼﻪ cLﻏﯿﺮ ﺻﻔﺮ ﺑﺎﺷﺪ.
ﯾﮏ LFSRﺑﺎ ﻃﻮﻝ Lﺭ ﻭﯼ Fqﺩﺍﺭﺍﯼ q Lﺣﺎﻟﺖ ﻣﺨﺘﻠﻒ ﺍﺳﺖ ﮐﻪ ﺣﺎﻟﺖ ﺗﻤﺎﻡ ﺻﻔﺮ ﻫﻤﻮﺍﺭﻩ ﺑﻪ ﺧﻮﺩﺵ ﺍﻧﺘﻘﺎﻝ ﻣﯽﯾﺎﺑﺪ.
ﺩﻧﺒﺎﻟﻪ ﺧﺮ ﻭﺟﯽ ﻫﺮ LFSRﻏﯿﺮﺗﮑﯿﻦ ﺑﺎ ﻃﻮﻝ Lﺭ ﻭﯼ Fqﻣﺘﻨﺎﻭﺏ ﺍﺳﺖ ﻭ ﺩﻭﺭﻩﯼ ﺗﻨﺎﻭﺏ ﺁﻥ ﺣﺪﺍﮐﺜﺮ q L − ۱ﺍﺳﺖ ،ﯾﻌﻨﯽ
ﺑﻌﺪ ﺍﺯ ﺣﺪﺍﮐﺜﺮ q L − ۱ﺑﺎﺭ ﺍﺟﺮﺍﯼ LFSRﺑﻪ ﺣﺎﻟﺖ ﺍﻭﻟﯿﻪ ﻣﯽﺭﺳﯿﻢ.
ﺗﻌﺮ ﯾﻒ ۳ﻣﺮﺗﺒﻪﯼ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ) C(Xﺑﺮﺍﺑﺮ ﮐﻮﭼﮑﺘﺮ ﯾﻦ ﻋﺪﺩ ﺻﺤﯿﺢ ﻭ ﻣﺜﺒﺖ Tﺍﺳﺖ ﮐﻪ ) .C(X) | (۱ − X T
L
−۱
C(X) | (۱ − X q؛ ﻟﺬﺍ .T ≤ q L − ۱ ﺑﺮﺍﯼ ﻫﺮ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﻏﯿﺮﺗﮑﯿﻦ ] C(X) ∈ Fq [Xﺑﺎ ﺩﺭﺟﻪ Lﻫﻤﻮﺍﺭﻩ ﺩﺍﺭ ﯾﻢ )
ﯾﮏ ﺭ ﻭﺵ ﺑﺮﺍﯼ ﺑﺪﺳﺖ ﺁﻭﺭﺩﻥ ﻣﺮﺗﺒﻪﯼ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ) C(Xﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺭ ﻭﺵ ﺗﻘﺴﯿﻢ ﻃﻮﻻﻧﯽ ﺍﺳﺖ .ﺑﻪ ﺍﯾﻦ ﺻﻮﺭﺕ ﮐﻪ
ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ۱ﺭﺍ ﺑﻪ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ) C(Xﺗﺎ ﺯﻣﺎﻧﯽ ﮐﻪ ﺑﺎﻗﯿﻤﺎﻧﺪﻩ ﺑﺮﺍﺑﺮ X Tﺷﻮﺩ ،ﺗﻘﺴﯿﻢ ﻣﯽﮐﻨﯿﻢ )ﺩﺭ ﻣﯿﺪﺍﻥ (Fq؛ ﯾﻌﻨﯽ
۱ XT
،ﺩﺭ ﺍﯾﻦ ﺻﻮﺭﺕ ﻣﺮﺗﺒﻪﯼ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ) C(Xﺑﺮﺍﺑﺮ Tﺍﺳﺖ .ﺍﻟﺒﺘﻪ ﺍﻟﮕﻮﺭ ﯾﺘﻢﻫﺎﯼ ﮐﺎﺭﺍﺗﺮﯼ ﻧﯿﺰ = Q(X) +
)C(X )C(X
ﺑﺮﺍﯼ ﻣﺤﺎﺳﺒﻪ ﻣﺮﺗﺒﻪﯼ ﭼﻨﺪﺟﻤﻠﻪﺍﯼﻫﺎ ﻭﺟﻮﺩ ﺩﺍﺭﺩ.
ﺗﻌﺮ ﯾﻒ ۴ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ] P (X) ∈ Fq [Xﺗﺤﻮﯾﻞﻧﺎﭘﺬﯾﺮ ﻧﺎﻣﯿﺪﻩ ﻣﯽﺷﻮﺩ ﺍﮔﺮ ﻧﺘﻮﺍﻥ ﺁﻧﺮﺍ ﺭ ﻭﯼ ] Fq [Xﺑﻪ ﺻﻮﺭﺕ ﺣﺎﺻﻞﺿﺮﺏ
ﺩﻭ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﺑﺎ ﺩﺭﺟﻪ ﮐﻤﺘﺮ ﻧﻮﺷﺖ .ﯾﮏ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﺗﺤﻮﯾﻞﻧﺎﭘﺬﯾﺮ ﺩﺭﺟﻪﯼ Lﺭ ﻭﯼ ] Fq [Xﺭﺍ ﺍﻭﻟﯿﻪ ۷ﮔﻮﯾﯿﻢ ،ﻫﺮﮔﺎﻩ
ﻣﺮﺗﺒﻪﯼ ﺁﻥ q L − ۱ﺑﺎﺷﺪ.
۷ primitive
۷-۳
ﻗﻀﯿﻪ ۱ﺍﮔﺮ (st )t≥۰ﺩﻧﺒﺎﻟﻪﯼ ﺗﻮﻟﯿﺪ ﺷﺪﻩ ﺑﻮﺳﯿﻠﻪﯼ ﯾﮏ LFSRﺑﻪ ﻃﻮﻝ Lﺑﺎ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﺑﺎﺯﺧﻮﺭﺩ ﺗﺤﻮﯾﻞﻧﺎﭘﺬﯾﺮ ∈ )C(X
] Fq [Xﺍﺯ ﯾﮏ ﺣﺎﻟﺖ ﺍﻭﻟﯿﻪ ﺗﻤﺎﻡ ﻧﺎﺻﻔﺮ ﺑﺎﺷﺪ ،ﺁﻧﮕﺎﻩ ﺩﻭﺭﻩ ﺗﻨﺎﻭﺏ ﺩﻧﺒﺎﻟﻪ (st )t≥۰ﺑﺎ ﻣﺮﺗﺒﻪﯼ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ) C(Xﺑﺮﺍﺑﺮ ﺍﺳﺖ.
ﻧﺘﯿﺠﻪ ۵ﺩﻧﺒﺎﻟﻪ ﺧﺮ ﻭﺟﯽ ﻫﺮ LFSRﺑﺎ ﻃﻮﻝ Lﻭ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﺑﺎﺯﺧﻮﺭﺩ ﺍﻭﻟﯿﻪ ﺭ ﻭﯼ Fqﺍﺯ ﻫﺮ ﺣﺎﻟﺖ ﺍﻭﻟﯿﻪ ﺗﻤﺎﻡ ﻧﺎﺻﻔﺮ ﺩﺍﺭﺍﯼ
ﺩﻭﺭﻩﯼ ﺗﻨﺎﻭﺏ q L − ۱ﺍﺳﺖ .ﺑﻪﻋﻼﻭﻩ ،ﺗﻤﺎﻡ ﺣﺎﻟﺖﻫﺎﯼ ﺗﻤﺎﻡ ﻧﺎﺻﻔﺮ ﺩﺭ ﻫﺮ ﺩﻭﺭﻩ ﺩﻗﯿﻘﺎً ﯾﮏﺑﺎﺭ ﻇﺎﻫﺮ ﻣﯽﺷﻮﻧﺪ.
ﻟﻢ ۲ﺍﮔﺮ (st )t≥۰ﺩﻧﺒﺎﻟﻪﯼ ﺗﻮﻟﯿﺪ ﺷﺪﻩ ﺑﻮﺳﯿﻠﻪﯼ ﯾﮏ LFSRﺑﻪ ﻃﻮﻝ Lﺑﺎ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﺑﺎﺯﺧﻮﺭﺩ ﺗﺤﻮﯾﻞﻧﺎﭘﺬﯾﺮ ∈ )C(X
] Fq [Xﺍﺯ ﯾﮏ ﺣﺎﻟﺖ ﺍﻭﻟﯿﻪ ﺗﻤﺎﻡ ﻧﺎﺻﻔﺮ ﺑﺎﺷﺪ ،ﺁﻧﮕﺎﻩ ﺍﯾﻦ ﺩﻧﺒﺎﻟﻪ ﺗﻮﺳﻂ ﻫﯿﭻ LFSRﺑﺎ ﻃﻮﻝ ﮐﻤﺘﺮ ﺍﺯ Lﺗﻮﻟﯿﺪ ﻧﻤﯽﺷﻮﺩ.
ﺩﺭ ﺟﻠﺴﻪﯼ ﺁﯾﻨﺪﻩ ﺧﻮﺍﻫﯿﻢ ﺩﯾﺪ ﮐﻪ ﻭﯾﮋﮔﯽ ﺧﻄﯽ LFSRﺑﺎﻋﺚ ﻣﯽﺷﻮﺩ ﮐﻪ ﻧﺘﻮﺍﻥ ﺍﺯ ﺁﻥ ﺑﻪ ﻋﻨﻮﺍﻥ ﯾﮏ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ
ﺍﻣﻦ ﺍﺳﺘﻔﺎﺩﻩ ﮐﺮﺩ .ﺑﻪ ﻋﻼﻭﻩ ﺑﺮ ﺭﺳﯽ ﺧﻮﺍﻫﯿﻢ ﮐﺮﺩ ﮐﻪ ﭼﻪ ﺗﻐﯿﯿﺮﺍﺗﯽ ﺭﺍ ﺑﺎﯾﺪ ﺍﻋﻤﺎﻝ ﮐﻨﯿﻢ ﮐﻪ ﺑﺘﻮﺍﻧﯿﻢ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺁﻥ ﻣﻮﻟﺪ
ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﺍﻣﻦ ﺑﺴﺎﺯﯾﻢ.
ﻫﻤﺎﻧﮕﻮﻧﻪ ﮐﻪ ﻗﺒﻼً ﻣﻄﺮﺡ ﺷﺪ ،ﺍﺯ ﺧﺮ ﻭﺟﯽ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﺑﻪ ﺟﺎﯼ ﮐﻠﯿﺪ ﮐﺎﻣﻼً ﺗﺼﺎﺩﻓﯽ ﺩﺭ ﺳﯿﺴﺘﻢ ﺭﻣﺰ ﯾﮏﺑﺎﺭ ﻣﺼﺮﻑ
) (OTPﺍﺳﺘﻔﺎﺩﻩ ﻣﯽﺷﻮﺩ .ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﺑﻪ ﺍﯾﻦ ﺻﻮﺭﺕ ﻣﺤﺪﻭﺩﯾﺖ ﺍﺻﻠﯽ OTPﺭﺍ ﺩﺍﺭﺍﺳﺖ؛ ﯾﻌﻨﯽ ،ﺍﺯ ﻫﺮ
ﮐﻠﯿﺪ ﻓﻘﻂ ﯾﮑﺒﺎﺭ ﺑﺮﺍﯼ ﺭﻣﺰ ﮐﺮﺩﻥ ﯾﮏ ﭘﯿﺎﻡ ﮐﻪ ﻃﻮﻟﺶ ﺣﺪﺍﮐﺜﺮ ﺑﺮﺍﺑﺮ ﻃﻮﻝ ﺩﻧﺒﺎﻟﻪ ﺧﺮ ﻭﺟﯽ ﻣﻮﻟﺪ ﺍﺳﺖ ﻣﯽﺗﻮﺍﻥ ﺍﺳﺘﻔﺎﺩﻩ ﮐﺮﺩ.
ﺑﺮﺍﯼ ﺭﻓﻊ ﺍﯾﻦ ﻣﺸﮑﻞ ،ﺭﻣﺰﻫﺎﯼ ﺩﻧﺒﺎﻟﻪﺍﯼ ﻣﺪﺭﻥ ﻋﻼﻭﻩ ﺑﺮ ﮐﻠﯿﺪ Kﺍﺯ ﯾﮏ ﻣﻘﺪﺍﺭ ﺍﻭﻟﯿﻪ IV ۸ﻫﻢ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽﮐﻨﻨﺪ .ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ
ﺍﺯ ﺍﻟﮕﻮﺭ ﯾﺘﻢ ﺑﺎﺭﮔﺬﺍﺭﯼ ﮐﻠﯿﺪ ) ۹ﯾﺎ ﺁﻏﺎﺯﺳﺎﺯﯼ ،(۱۰ﺍﺑﺘﺪﺍ ﮐﻠﯿﺪ ﻭ ﻣﻘﺪﺍﺭ ﺍﻭﻟﯿﻪ ﺑﻪ ﯾﮏ ﺣﺎﻟﺖ ﺍﻭﻟﯿﻪ ﻧﮕﺎﺷﺘﻪ ﻣﯽﺷﻮﺩ ﻭ ﺳﭙﺲ ﺑﺎ
ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﺑﻪ ﯾﮏ ﺩﻧﺒﺎﻟﻪ ﻃﻮﻻﻧﯽ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﺗﺒﺪﯾﻞ ﻣﯽﺷﻮﺩ .ﺷﻤﺎﯼ ﮐﻠﯽ ﻃﺮﺍﺣﯽ ﯾﮏ ﺭﻣﺰ ﺩﻧﺒﺎﻟﻪﺍﯼ
ﻣﺪﺭﻥ ﺩﺭ ﺷﮑﻞ ﺯﯾﺮ ﻧﺸﺎﻥ ﺩﺍﺩﻩ ﺷﺪﻩﺍﺳﺖ.
K IV
S۰
St F
f
.
zt
۸ Initial Value
۹ Key/IV setup
۱۰ initialization
۷-۴
�
ﻣﻘﺪﺍﺭ ﺍﻭﻟﯿﻪ ﻣﻌﻤﻮﻻً ﻋﻤﻮﻣﯽ ﺍﺳﺖ ﻭ ﺑﻪ ﻫﻤﺮﺍﻩ ﻣﺘﻦ ﺭﻣﺰﯼ ﺍﺭﺳﺎﻝ ﻣﯽﺷﻮﺩ .ﺑﺪﯾﻦ ﺗﺮﺗﯿﺐ ﻫﺮﭼﻨﺪ ﮐﻪ ﮐﻠﯿﺪ ﺩﺭ ﻃﻮﻝ ﺍﻟﮕﻮﺭ ﯾﺘﻢ
ﺭﻣﺰﻧﮕﺎﺭﯼ ﺛﺎﺑﺖ ﺍﺳﺖ ،ﺍﻣﺎ ﺗﻐﯿﯿﺮ ﻣﻘﺪﺍﺭ ﺍﻭﻟﯿﻪ ﺑﺎﻋﺚ ﻣﯽﺷﻮﺩ ﮐﻪ ﺩﻧﺒﺎﻟﻪﮐﻠﯿﺪ ﺧﺮ ﻭﺟﯽ ﻧﯿﺰ ﺗﻐﯿﯿﺮ ﮐﻨﺪ ﻭ ﺑﺘﻮﺍﻥ ﺍﺯ ﯾﮏ ﮐﻠﯿﺪ ﺑﺮﺍﯼ
ﺭﻣﺰ ﮐﺮﺩﻥ ﭼﻨﺪﯾﻦ ﭘﯿﺎﻡ ﺍﺳﺘﻔﺎﺩﻩ ﮐﺮﺩ .ﺩﺭ ﻭﺍﻗﻊ ﺑﺎ ﺍﯾﻦ ﺭ ﻭﺵ ﺑﻪ ﮐﻤﮏ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﯾﮏ ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ۱۱ﺳﺎﺧﺘﻪﺍﯾﻢ
ﮐﻪ ﻣﻘﺪﺍﺭ ﺍﻭﻟﯿﻪ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﻭﺭ ﻭﺩﯼ ﻣﯽﮔﯿﺮﺩ ﻭ ﯾﮏ ﺭﺷﺘﻪ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺧﺮ ﻭﺟﯽ ﭘﺲ ﻣﯽﺩﻫﺪ .ﺩﺭ ﺍﺩﺍﻣﻪ ﺩﺭﺱ ﺩﺭ ﻣﻮﺭﺩ ﺗﻮﺍﺑﻊ
ﺷﺒﻪﺗﺼﺎﺩﻓﯽ ﻭ ﮐﺎﺭﺑﺮﺩﻫﺎﯼ ﺁﻥﻫﺎ ﺻﺤﺒﺖ ﺧﻮﺍﻫﯿﻢ ﮐﺮﺩ.
۷-۵
ﺑﻪ ﻧﺎم ﺧﺪا
∀a, b ∈ G : a ∗ b ∈ G
.٢ﺷﺮﮐﺖﭘﺬﯾﺮی
)∀a, b, c ∈ G : (a ∗ b) ∗ c = a ∗ (b ∗ c
.٣ﻋﻀﻮ ﻫﻤﺎﻧ
∃e ∈ G ∀a ∈ G : a ∗ e = e ∗ a = a
.۴ﻋﻀﻮ ﻣﻌ ﻮس
ﮔﺮوه اﺳﺖ. ﻣﺜﺎل ٣دوﺗﺎﯾ ) (Z۲ , +ﮐﻪ } Z۲ = {۰, ۱و ﻋﻤﻞ +ﻫﻤﺎن ﻋﻤﻞ ﺟﻤﻊ در ﻣﺒﻨﺎی ٢اﺳﺖ ،ﯾ
ﮔﺮوه اﺳﺖ ) ﻋﻤﻞ ﮔﺮوه ﺟﻤﻊ در ﻣﺒﻨﺎی nاﺳﺖ(. ﺑﺎﺷﺪ (Zn , +) ،ﯾ ﻣﺜﺎل ۴ﺑﻄﻮر ﮐﻠ اﮔﺮ nﻋﺪد ﻃﺒﯿﻌ ﺑﺰرﮔﺘﺮ از ﯾ
ﺣﻠﻘﻪ ٢.١
ﺗﻌﺮﯾﻒ ۵ﻣﺠﻤﻮﻋﻪی Rﻫﻤﺮاه ﺑﺎ دو ﻋﻤﻞ دوﺗﺎﯾ +و ∗ را ﺣﻠﻘﻪ ﻣ ﻧﺎﻣﯿﻢ و ﺑﺎ ﺳﻪﺗﺎﯾ )∗ (R, +,ﻧﻤﺎﯾﺶ ﻣ دﻫﯿﻢ ،ﻫﺮ ﮔﺎه دارای ﺧﻮاص
زﯾﺮ ﺑﺎﺷﺪ:
ﮔﺮوه آﺑﻠ ﺑﺎﺷﺪ. (R, +) .١ﯾ
.٢ﻧﺴﺒﺖ ﺑﻪ ﻋﻤﻞ دوم ﺑﺴﺘﻪ ﺑﺎﺷﺪ.
∀a, b ∈ R : a ∗ b ∈ R
ﻫﻔﺘﻢ١-
.٣ﻧﺴﺒﺖ ﺑﻪ ﻋﻤﻞ دوم ﺷﺮﮐﺖﭘﺬﯾﺮ ﺑﺎﺷﺪ.
)∀a, b, c ∈ R : (a ∗ b) ∗ c = a ∗ (b ∗ c
)∀a, b, c ∈ R : (a + b) ∗ c = (a ∗ c) + (b ∗ c) , a ∗ (b + c) = (a ∗ b) + (a ∗ c
ﺣﻠﻘﻪ اﺳﺖ ﮐﻪ ﺑﺎ )× (Z, +,ﻧﺸﺎن ﻣ دﻫﻨﺪ. ﻣﺜﺎل ۶ﻣﺠﻤﻮﻋﻪی اﻋﺪاد ﺻﺤﯿﺢ ﻫﻤﺮاه ﺑﺎ ﺟﻤﻊ وﺿﺮب ﻣﻌﻤﻮﻟ ﯾ
ﺣﻠﻘﻪ اﺳﺖ ﮐﻪ ﺑﺎ )× (R, +,ﻧﺸﺎن ﻣ دﻫﻨﺪ. ﻣﺜﺎل ٧ﻣﺠﻤﻮﻋﻪی اﻋﺪاد ﺣﻘﯿﻘ ﻫﻤﺮاه ﺑﺎ ﺟﻤﻊ و ﺿﺮب ﻣﻌﻤﻮﻟ ﯾ
٣.١ﻣﯿﺪان
ﮔﺮوه آﺑﻠ ﺑﺎﺷﺪ )ﻣﻨﻈﻮر از ∗ Fﻣﺠﻤﻮﻋﻪی } F − {۰اﺳﺖ ،ﮐﻪ ﺗﻌﺮﯾﻒ ٨ﺣﻠﻘﻪی )∗ (F, +,را ﻣﯿﺪان ﻣ ﻧﺎﻣﯿﻢ ،ﻫﺮﮔﺎه )∗ (F ∗ ,ﻧﯿﺰ ﯾ
۰ﻋﻀﻮ ﺧﻨﺜ ﻋﻤﻞ +اﺳﺖ(.
ﻧ ﺘﻪ ١ﻣﯿﺪان ﻣﺘﻨﺎﻫ qﻋﻀﻮی را ﺑﺎ Fqﻧﺸﺎن ﻣ دﻫﯿﻢ .ﺗﻌﺪاد اﻋﻀﺎی ﻫﺮ ﻣﯿﺪان ﻣﺘﻨﺎﻫ ﺗﻮاﻧ از ﻋﺪدی اول اﺳﺖ؛ ﯾﻌﻨ q = pn ،ﺑﻪازای
ﯾ ﻋﺪد ﻃﺒﯿﻌ nو ﯾ ﻋﺪد اول .p
ﻧ ﺘﻪ ٢ﮐﻮﭼ ﺘﺮﯾﻦ ﻣﯿﺪان (F۲ , +, ·) :ﮐﻪ } ۰ ) F۲ = {۰, ۱ﻋﻀﻮ ﺧﻨﺜ ﻋﻤﻞ +و ۱ﻋﻀﻮ ﺧﻨﺜ ﻋﻤﻞ · اﺳﺖ(.
دﻧﺒﺎﻟﻪ ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد ،ﮐﻪ ﻣﻌﻤﻮﻻ ﺑﻪ ﺻﻮرت ﺣﻠﻘﻪی ﺳﺮیﻫﺎی ﺗﻮاﻧ :ﺑﯿﺎد ﺑﯿﺎورﯾﺪ ﮐﻪ ﺗﺎﺑﻊ ) a : N۰ −→ Fﮐﻪ } (N۰ = N ∪ {۰ﯾ
· · · a۰ , a۱ , a۲ ,ﻧﻤﺎﯾﺶ دادهﻣ ﺷﻮد.
ﻓﺮض ﮐﻨﯿﺪ Fﯾ ﻣﯿﺪان ﺑﺎﺷﺪ و ]] F [[Xﻣﺠﻤﻮﻋﻪی ﺗﻤﺎم دﻧﺒﺎﻟﻪﻫﺎ از ﻋﻨﺎﺻﺮ ﻣﺎﻧﻨﺪ ) · · · (a۰ , a۱ ,از ﻋﻨﺎﺻﺮ Fﺑﺎﺷﻨﺪ F [[X]] .ﺑﺎ ﺟﻤﻊ و
ﺿﺮﺑ ﮐﻪ ﺑﻪ ﺻﻮرت زﯾﺮ ﺗﻌﺮﯾﻒ ﺷﺪهاﻧﺪ ﯾ ﺣﻠﻘﻪ اﺳﺖ ﮐﻪ ﺑﻪ آن ﺣﻠﻘﻪی ﺳﺮی ﺗﻮاﻧ روی ﻣﯿﺪان Fﻣ ﮔﻮﯾﻨﺪ.
و
ﮐﻪ
∑
n
= cn ai bn−i
i=۰
ﭼﻨﺪﺟﻤﻠﻪای ﻣﻮﻟﺪ ١دﻧﺒﺎﻟﻪ ) · · · (a۰ , a۱ , a۲ ,ﮐﻪ ﺑﻪ ﺑﺼﻮرت زﯾﺮ ﺗﻌﺮﯾﻒ ﻣ ﺷﻮد روش دﯾ ﺮی ﺑﺮای ﻧﻤﺎﯾﺶ دﻧﺒﺎﻟﻪﻫﺎ اﺳﺖ:
∞
∑
= · · · A(X) = a۰ + a۱ X + a۲ X ۲ + ak X k .
k=۰
١ generating function
ﻫﻔﺘﻢ٢-
ﭼﻨﺪﺟﻤﻠﻪای ﻣﻮﻟﺪ ﺣﺎﺻﻞﺟﻤﻊ )ﺣﺎﺻﻞﺿﺮب( دو دﻧﺒﺎﻟﻪ ﻫﻤﺎن ﺣﺎﺻﻞﺟﻤﻊ )ﺣﺎﺻﻞﺿﺮب( ﭼﻨﺪﺟﻤﻠﻪایﻫﺎی ﻣﻮﻟﺪ دﻧﺒﺎﻟﻪ اﺳﺖ .ﻟﺬا ﺣﻠﻘﻪی
∞
∑
{ = ]] F [[Xﻧﯿﺰ ﻧﻤﺎﯾﺶ ﻣ دﻫﻨﺪ. ﺳﺮی ﺗﻮاﻧ روی ﻣﯿﺪان Fرا ﺑﺼﻮرت } ai X i | ai ∈ F
i=۰
ﻧ ﺘﻪ ٣در ﺣﻠﻘﻪ ﺳﺮیﻫﺎی ﺗﻮاﻧ ﺗﻨﻬﺎ ﭼﻨﺪﺟﻤﻠﻪایﻫﺎی ﻏﯿﺮﺗ ﯿﻦ )) A(Xﯾﻌﻨ A(۰) ̸= ۰ﯾﺎ ﻣﻌﺎدﻻ (a۰ ̸= ۰ﻣﻌ ﻮسﭘﺰﯾﺮﻧﺪ .زﯾﺮا اﮔﺮ
)) A(X) = a۰ (۱ − B(Xﮐﻪ ) B(Xﯾ ﭼﻨﺪﺟﻤﻠﻪای ﺗ ﯿﻦ اﺳﺖ )ﯾﻌﻨ (B(۰) = ۰در اﯾﻨﺼﻮرت دارﯾﻢ:
∑ ∞
۱ ۱
= A(X)−۱ = = a−۱ ۲ −۱
۰ (۱ + B(X) + B(X) + . . .) = a۰ B(X)k
)A(X ))a۰ (۱ − B(X
k=۰
∑
L
= ∀t ≥ ۰ ، st+L ci st+L−i
i=۱
∑
L
C(X) = ۱ − ci X i .
i=۱
ﻫﻤﭽﻨﯿﻦ اﯾﻦ ﺿﺮاﯾﺐ را ﺑﺎ اﺳﺘﻔﺎده از ﭼﻨﺪﺟﻤﻠﻪای ﻣﺸﺨﺼﻪ ۴ﻣ ﺗﻮان ﺑﺪﺳﺖ آورد:
٢ LinearFeedback Shift Register
٣ Feedback polynomial
۴ Characteristic polynomial
ﻫﻔﺘﻢ٣-
۱ ∑ L
(C ∗ (X) = X L C ) = XL − ci X L−i .
X
i=۱
ﻣﺜﺎل ١٠ﺑﺮای ﯾ LF SRﺑﺎ ﻃﻮل ۴در ﻣﯿﺪان F۲و ﺿﺮاﯾﺐ ﺑﺎزﺧﻮرد ،c۱ = c۲ = ۰, c۳ = c۴ = ۱ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد و
ﭼﻨﺪﺟﻤﻠﻪای ﻣﺸﺨﺼﻪ ﺑﻪ ﺗﺮﺗﯿﺐ ﺑﺼﻮرت
]C(X) = ۱ + X ۳ + X ۴ ∈ F۲ [X
و
]C ∗ (X) = ۱ + X + X ۴ ∈ F۲ [X
اﺳﺖ.
دﻧﺒﺎﻟﻪی ﺧﺮوﺟ اﯾﻦ LF SRﺑﺎ ﺗﻮﺟﻪ ﺑﻪ راﺑﻄﻪ ﺑﺎزﮔﺸﺘ زﯾﺮ ﺗﻌﯿﯿﻦ ﻣ ﺷﻮد.
st+۴ = st + st+۱ mod ۲
در ﺷ ﻞ زﯾﺮ روﻧﺪ ﺗﻮﻟﯿﺪ اﯾﻦ دﻧﺒﺎﻟﻪ را ﻣ ﺑﯿﻨﯿﺪ.
ﺑﺮای ﻣﺜﺎل اﮔﺮ ﺣﺎﻟﺖ اوﻟﯿﻪ را ﺑﺮاﺑﺮ ) (s۰ , s۱ , s۲ , s۳ , s۴ ) = (۱, ۰, ۱, ۱ﻗﺮار دﻫﯿﻢ ،ﻃﺒﻖ ﺟﺪول زﯾﺮ دﻧﺒﺎﻟﻪی ﺧﺮوﺟ ﺗﻮﻟﯿﺪ ﻣ ﺷﻮد.
t ٠ ١ ٢ ٣ ۴ ۵ ۶ ٧ ٨ ٩ ١٠ ١١ ١٢ ١٣ ١۴ ١۵
st ١ ٠ ١ ١ ١ ١ ٠ ٠ ٠ ١ ٠ ٠ ١ ١ ٠ ١
st+۱ ٠ ١ ١ ١ ١ ٠ ٠ ٠ ١ ٠ ٠ ١ ١ ٠ ١ ٠
st+۲ ١ ١ ١ ١ ٠ ٠ ٠ ١ ٠ ٠ ١ ١ ٠ ١ ٠ ١
st+۳ ١ ١ ١ ٠ ٠ ٠ ١ ٠ ٠ ١ ١ ٠ ١ ٠ ١ ١
دﻧﺒﺎﻟﻪی (st )t≥۰ﻣﺘﻨﺎوب ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد اﮔﺮ ﻋﺪ ﺻﺤﯿﺤ ﭼﻮن Tﺑﺎﺷﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﺑﻄﻮریﮐﻪ ﺑﺮای ﻫﺮ t ≥ ۰داﺷﺘﻪ ﺑﺎﺷﯿﻢ
.st = st+Tﮐﻮﭼ ﺘﺮﯾﻦ ﻋﺪد ﺻﺤﯿﺤ ﮐﻪ ﺑﺮای آن راﺑﻄﻪ ﻓﻮق ﺑﺮﻗﺮار ﺑﺎﺷﺪ دورهی ﺗﻨﺎوب دﻧﺒﺎﻟﻪ ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد .ﯾ دﻧﺒﺎﻟﻪی ﻣﺘﻨﺎوب ﺑﺎ
دورهی ﺗﻨﺎوب Tرا ﺑﺼﻮرت:
∞] s۰ , s۱ , · · · , sT −۱ , s۰ , s۱ , · · · = [s۰ , s۱ , · · · , sT −۱
ﻧﻤﺎﯾﺶ ﻣ دﻫﯿﻢ.
LF SRرا ﻏﯿﺮﺗ ﯿﻦ ﮔﻮﯾﯿﻢ ،ﻫﺮﮔﺎه در ﭼﻨﺪﺟﻤﻠﻪای ﻣﺸﺨﺼﻪ cLﻏﯿﺮ ﺻﻔﺮ ﺑﺎﺷﺪ. ﺗﻌﺮﯾﻒ ١١ﯾ
ﯾ LF SRﺑﺎ ﻃﻮل Lروی Fqدارای q Lﺣﺎﻟﺖ ﻣﺨﺘﻠﻒ اﺳﺖ ﮐﻪ ﺣﺎﻟﺖ ﺗﻤﺎم ﺻﻔﺮ ﻫﻤﻮاره ﺑﻪ ﺧﻮدش اﻧﺘﻘﺎل ﻣ ﯾﺎﺑﺪ .دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ﻫﺮ
LF SRﻏﯿﺮﺗ ﯿﻦ ﺑﺎ ﻃﻮل Lروی Fqﻣﺘﻨﺎوب اﺳﺖ و دورهی ﺗﻨﺎوب آن ﺣﺪاﮐﺜﺮ q L − ۱اﺳﺖ ،ﯾﻌﻨ ﺑﻌﺪ از ﺣﺪاﮐﺜﺮ q L − ۱ﺑﺎر اﺟﺮای
LF SRﺑﻪ ﺣﺎﻟﺖ اوﻟﯿﻪ ﻣ رﺳﯿﻢ.
ﺗﻌﺮﯾﻒ ١٢دورهی ﺗﻨﺎوب ﭼﻨﺪﺟﻤﻠﻪای ) C(Xﺑﺮاﺑﺮ ﮐﻮﭼ ﺘﺮﯾﻦ ﻋﺪد ﺻﺤﯿﺢ و ﻣﺜﺒﺖ Tاﺳﺖ ﮐﻪ ) .C(X) | (۱ − X T
ﺑﺮای ﻫﺮ ﭼﻨﺪﺟﻤﻠﻪای ﻏﯿﺮﺗ ﯿﻦ ] C(X) ∈ Fq [Xﺑﺎ درﺟﻪ Lﻫﻤﻮاره دارﯾﻢ دارﯾﻢ ) C(X) | (۱ − X q −۱؛ ﻟﺬا .T ≤ q L − ۱
L
ﯾ روش ﺑﺮای ﺑﺪﺳﺖ آوردن دورهی ﺗﻨﺎوب ﭼﻨﺪﺟﻤﻠﻪای ) C(Xاﺳﺘﻔﺎده از روش ﺗﻘﺴﯿﻢ ﻃﻮﻻﻧ اﺳﺖ .ﺑﻪ اﯾﻦ ﺻﻮرت ﮐﻪ ﭼﻨﺪﺟﻤﻠﻪای ۱را
۱ XN
،در اﯾﻦ = Q(X) + ﺑﻪ ﭼﻨﺪﺟﻤﻠﻪای ) C(Xﺗﺎ زﻣﺎﻧ ﮐﻪ ﺑﺎﻗﯿﻤﺎﻧﺪه ﺑﺮاﺑﺮ X Nﺷﻮد ،ﺗﻘﺴﯿﻢ ﻣ ﮐﻨﯿﻢ )در ﻣﯿﺪان (Fq؛ ﯾﻌﻨ
)C(X )C(X
ﺻﻮرت دورهی ﺗﻨﺎوب ﭼﻨﺪﺟﻤﻠﻪای ) C(Xﺑﺮاﺑﺮ T = Nاﺳﺖ .اﻟﺒﺘﻪ اﻟ ﻮرﯾﺘﻢﻫﺎی ﮐﺎراﺗﺮی ﻧﯿﺰ ﺑﺮای ﻣﺤﺎﺳﺒﻪ دوره ﺗﻨﺎوب ﭼﻨﺪﺟﻤﻠﻪایﻫﺎ
وﺟﻮد دارد.
ﻫﻔﺘﻢ۴-
ﺗﻌﺮﯾﻒ ١٣ﭼﻨﺪﺟﻤﻠﻪای ] P (X) ∈ Fq [Xﺗﺤﻮﯾﻞﻧﺎﭘﺬﯾﺮ ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد اﮔﺮ ﻧﺘﻮان آﻧﺮا روی ] Fq [Xﺑﻪ ﺻﻮرت ﺣﺎﺻﻞﺿﺮب دو ﭼﻨﺪﺟﻤﻠﻪای
ﺑﺎ درﺟﻪ ﮐﻤﺘﺮ ﻧﻮﺷﺖ .ﭼﻨﺪﺟﻤﻠﻪای ﺗﺤﻮﯾﻞﻧﺎﭘﺬﯾﺮ ] P (X) ∈ Fq [Xاز درﺟﻪی Lرا اوﻟﯿﻪ ۵ﮔﻮﯾﯿﻢ ،ﻫﺮﮔﺎه دورهی ﺗﻨﺎوب آن ﺑﺮاﺑﺮ q L − ۱
ﺑﺎﺷﺪ.
ﻗﻀﯿﻪ ١اﮔﺮ (st )t≥۰دﻧﺒﺎﻟﻪی ﺗﻮﻟﯿﺪ ﺷﺪه ﺑﻮﺳﯿﻠﻪی ﯾ LF SRﺑﻪ ﻃﻮل Lﺑﺎ ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد ﺗﺤﻮﯾﻞﻧﺎﭘﺬﯾﺮ ] C(X) ∈ Fq [Xاز ﯾ
ﺣﺎﻟﺖ اوﻟﯿﻪ ﺗﻤﺎم ﻧﺎﺻﻔﺮ ﺑﺎﺷﺪ ،آﻧ ﺎه دوره ﺗﻨﺎوب دﻧﺒﺎﻟﻪ (st )t≥۰ﺑﺎ دوره ﺗﻨﺎوب ﭼﻨﺪﺟﻤﻠﻪای ) C(Xﺑﺮاﺑﺮ اﺳﺖ.
ﺑﺮﻫﺎن .ﺑﺮای اﺛﺒﺎت اﯾﻦ ﻗﻀﯿﻪ اﺑﺘﺪا دو ﻟﻢ زﯾﺮ را ﻣﻄﺮح و اﺛﺒﺎت ﻣ ﮐﻨﯿﻢ.
ﻟﻢ ٢دﻧﺒﺎﻟﻪی (st )t≥۰ﺗﻮﻟﯿﺪ ﺷﺪه ﺑﻮﺳﯿﻠﻪی ﯾ LF SRﺑﻪ ﻃﻮل Lروی ﻣﯿﺪان Fqﺑﺎ ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد ) C(Xاﺳﺖ اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ
وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﭼﻨﺪﺟﻤﻠﻪای ] Q(X) ∈ Fq [Xﺑﺎ deg Q < Lﺑﻄﻮری ﮐﻪ
∑ )Q(X
= st X t .
)C(X
t≥۰
ﻋﻼوه ﺑﺮ اﯾﻦ ﭼﻨﺪﺟﻤﻠﻪای Qﮐﺎﻣﻼ ﺑﻮﺳﯿﻠﻪی ﺿﺮاﯾﺐ Cو ﺣﺎﻟﺖ اوﻟﯿﻪی LF SRﺑﺼﻮرت زﯾﺮ ﻣﺸﺨﺺ ﻣ ﺷﻮد:
∑
L−۱ ∑( j )
Q(X) = − Xj ci sj−i ,
j=۰ i=۰
∑
L
.C(X) = ۱ − ﺟﺎﺋﯿ ﻪ ci X i
i=۱
∑
L
C(X) = −ﮐﻪ c۰ = −۱دراﯾﻦ ﺻﻮرت دارﯾﻢ: و ci X i
i=۰
∞
∑ ∑
L ∑ ∞
∑ L
S(X)C(X) = − sk X k ci X i = − sk ci X k+i
k=۰ i=۰ k=۰ i=۰
∑
L
.ﺑﻨﺎﺑﺮاﯾﻦ: اﻣﺎ ﺑﺮای j ≥ Lدارﯾﻢ ci sj−i = ۰
i=۰
∑( ∑
L−۱ j )
S(X)C(X) = − )ci sj−i X j = Q(X
j=۰ i=۰
∑
j
.qj = − ﺟﺎﺋﯿ ﻪ Q(X) = q۰ + q۱ X + · · · + qL−۱ X L−۱و ci sj−i
i=۰
)Q(X
= ) S(Xﮐﻪ ).deg(Q) < deg(C ﺑﻨﺎﺑﺮاﯾﻦ ﻫﺮ دﻧﺒﺎﻟﻪ LF SRﺗﺒﺪﯾﻞ ﻣ ﺷﻮد ﺑﻪ
)C(X
۵ Primitive
ﻫﻔﺘﻢ۵-
ﻟﻢ ٣اﮔﺮ gcd(C, Q) = ۱و ) ،deg(Q) < deg(Cآﻧ ﺎه دوره ﺗﻨﺎوب ﭼﻨﺪﺟﻤﻠﻪای ) C(Xﺑﺎ دوره ﺗﻨﺎوب دﻧﺒﺎﻟﻪی sﺑﺎ ﺗﺎﺑﻊ ﻣﻮﻟﺪ
)Q(X
= ) S(Xﯾ ﺴﺎن اﺳﺖ.
)C(X
ﺑﺮﻫﺎن .ﻓﺮض ﮐﻨﯿﺪ دورهی ﺗﻨﺎوب ) C(Xﺑﺮاﺑﺮ T ′و دورهی ﺗﻨﺎوب دﻧﺒﺎﻟﻪی sﺑﺮاﺑﺮ Tﺑﺎﺷﺪ.
ﺑﺎ ﺗﻮﺟﻪ ﺗﻨﺎﻇﺮﻫﺎی زﯾﺮ ﺑﯿﻦ ﺗﻮاﺑﻊ ﻣﻮﻟﺪ و دﻧﺒﺎﻟﻪﻫﺎ
∞ ۱
][۱, ۰, ۰, ۰, · · · , ۰ = · · · −→ ۱ + X T + X ۲T + ,
| {z } ۱ − XT
T positions
∞ X
][۰, ۱, ۰, ۰, · · · , ۰ = · · · −→ X + X T +۱ + X ۲T +۱ + ,
| {z } ۱ − XT
T positions
∞ X۲
][۰, ۰, ۱, ۰, · · · , ۰ = · · · −→ X ۲ + X T +۲ + X ۲T +۲ + ,
| {z } ۱ − XT
T positions
s۰ + s۱ X + · · · + sT −۱ X T −۱
= )S(X ﻣ ﺗﻮان ﻧﺘﯿﺠﻪ ﮔﺮﻓﺖ ﮐﻪ ﺗﺎﺑﻊ ﻣﻮﻟﺪ دﻧﺒﺎﻟﻪی ﻣﺘﻨﺎوب ∞] s = [s۰ , s۱ , · · · , sT −۱ﺗﺎﺑﻊ
۱ − XT
اﺳﺖ .ﺑﻨﺎﺑﺮاﯾﻦ
)Q(X s۰ + s۱ X + · · · + sT −۱ X T −۱
= )S(X =
)C(X ۱ − XT
ﮐﻪ ﺑﻪ اﯾﻦ ﺻﻮرت ﻣ ﺗﻮان ﻧﻮﺷﺖ:
)(s۰ + s۱ X + · · · + sT −۱ X T −۱ )C(X) = (۱ − X T )Q(X
اﻣﺎ gcd(C, Q) = ۱ﭘﺲ C(X) | ۱ − X Tو از آﻧﺠﺎ ﮐﻪ T ′دوره ﺗﻨﺎوب Cاﺳﺖ ،ﭘﺲ .T ′ ≤ T
′ ′
ﺣﺎل ﻧﺸﺎن ﻣ دﻫﯿﻢ .T ≤ T ′ﭼﻮن C(X) | ۱ − X Tﭘﺲ ﻣﻮﺟﻮد اﺳﺖ ] P (X) ∈ Fq [Xﮐﻪ .C(X)P (X) = ۱ − X Tدﻗﺖ
ﮐﻨﯿﺪ ﮐﻪ ﭼﻮن ) deg(Q) < deg(Cﻟﺬا .deg(QP ) < deg(CP ) = T ′ﭘﺲ وﺟﻮد دارد ﯾ ) (s′۰ , s′۱ , · · · , s′T ′ −۱ﮐﻪ
′
Q(X)P (X) = s′۰ + s′۱ X + · · · + s′T ′ −۱ X T −۱
.
ﺑﻨﺎﺑﺮاﯾﻦ
′
)Q(X )Q(X)P (X s′۰ + s′۱ X + · · · + s′T ′ −۱ X T −۱
= )S(X = = .
)C(X )C(X)P (X ۱ − XT ′
ﺑﻨﺎﺑﺮاﯾﻦ
s = [s′۰ , s′۱ , · · · , s′T ′ −۱ ]∞ = [s۰ , s۱ , · · · , sT −۱ ]∞ .
ﮐﻪ ﻧﺘﯿﺠﻪ ﻣ دﻫﺪ .st = st+T ′ﭼﻮن دورهی ﺗﻨﺎوب دﻧﺒﺎﻟﻪ sﮐﻮﭼ ﺘﺮﯾﻦ ﻋﺪد ﺻﺤﯿﺢ و ﻣﺜﺒﺖ Nاﺳﺖ ﮐﻪ st = st+Nﺑﺮای ﻫﻤﻪ ﻣﻘﺎدﯾﺮ
،t ≥ ۰ﭘﺲ .T ≤ T ′
ﻧﺘﯿﺠﻪ ١۴اﮔﺮ (st )t≥۰دﻧﺒﺎﻟﻪی ﺗﻮﻟﯿﺪ ﺷﺪه ﺑﻮﺳﯿﻠﻪی ﯾ LF SRﺑﻪ ﻃﻮل Lﺑﺎ ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد ﺗﺤﻮﯾﻞﻧﺎﭘﺬﯾﺮ ] C(X) ∈ Fq [Xاز
ﯾ ﺣﺎﻟﺖ اوﻟﯿﻪ ﺗﻤﺎم ﻧﺎﺻﻔﺮ ﺑﺎﺷﺪ ،آﻧ ﺎه اﯾﻦ دﻧﺒﺎﻟﻪ ﺗﻮﺳﻂ ﻫﯿﭻ LF SRی ﺑﺎ ﻃﻮل ﮐﻤﺘﺮ از Lﺗﻮﻟﯿﺪ ﻧﻤ ﺷﻮد.
LF SRﺑﻪ ﻃﻮل Lﺑﺎ ﺑﺮﻫﺎن .ﻧﺘﯿﺠﻪای ﮐﻪ از ﻟﻢ اول ﻣ ﺗﻮان ﮔﺮﻓﺖ اﯾﻦ اﺳﺖ ﮐﻪ ارﺗﺒﺎﻃ ﯾ ﺑﻪ ﯾ ﺑﯿﻦ دﻧﺒﺎﻟﻪﻫﺎی ﺗﻮﻟﯿﺪ ﺷﺪه ﺗﻮﺳﻂ ﯾ
ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد Cو ﮐﺴﺮﻫﺎی ) Q(X)/C(Xﮐﻪ deg Q < Lﻣﻮﺟﻮد اﺳﺖ.
ﻫﻤﭽﻨﯿﻦ ﻣ ﺗﻮان ﻧﺘﯿﺠﻪ ﮔﺮﻓﺖ ﮐﻪ دﻧﺒﺎﻟﻪی ﺗﻮﻟﯿﺪ ﺷﺪه ﺑﻮﺳﯿﻠﻪی ﯾ LF SRﺑﺎ ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد ) Cو ﻃﻮل ) (deg(Cﺑﺎ ﺗﺎﺑﻊ ﻣﻮﻟﺪ
) Q(X)/C(Xاﮔﺮ gcd(C, Q) ̸= ۱ﺑﺎﺷﺪ ،ﻧﯿﺰ ﺑﻮﺳﯿﻠﻪی ﯾ LF SRﺑﺎ ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد ) C ′و ﻃﻮل )(deg(C ′ ) < deg(C
ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﮐﺴﺮ ) Q′ (X)/C ′ (X) = Q(X)/C(Xﻧﯿﺰ ﺗﻮﻟﯿﺪ ﻣ ﺷﻮد .ﺑﻨﺎﺑﺮاﯾﻦ ﻫﻤﻪی دﻧﺒﺎﻟﻪﻫﺎی ﺗﻮﻟﯿﺪﺷﺪه ﺗﻮﺳﻂ ﯾ LF SRﺑﺎ
ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد Cﺑﻮﺳﯿﻠﻪی LF SRﮐﻮﭼ ﺘﺮی ﺗﻮﻟﯿﺪ ﻣ ﺷﻮﻧﺪ اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ Cدر ﻣﯿﺪان Fqﺗﺤﻮﯾﻞﻧﺎﭘﺬﯾﺮ ﻧﺒﺎﺷﺪ.
ﻫﻔﺘﻢ۶-
ﻧﺘﯿﺠﻪ ١۵دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ﻫﺮ LF SRﺑﺎ ﻃﻮل Lو ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد اوﻟﯿﻪ روی Fqاز ﻫﺮ ﺣﺎﻟﺖ اوﻟﯿﻪ ﺗﻤﺎم ﻧﺎﺻﻔﺮ دارای دورهی ﺗﻨﺎوب
q L − ۱اﺳﺖ .ﺑﻪﻋﻼوه ،ﺗﻤﺎم ﺣﺎﻟﺖﻫﺎی ﺗﻤﺎم ﻧﺎﺻﻔﺮ در ﻫﺮ دوره دﻗﯿﻘﺎً ﯾ ﺑﺎر ﻇﺎﻫﺮ ﻣ ﺷﻮﻧﺪ.
)Q(X
LF SRﺑﺎ ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد ،Cﺑﻮﺳﯿﻠﻪی = ) S(Xﻧﺘﯿﺠﻪ ﻣ ﺷﻮد ﮐﻪ ﻫﺮ دﻧﺒﺎﻟﻪی ﺗﻮﻟﯿﺪ ﺷﺪه ﺗﻮﺳﻂ ﯾ ﻧﺘﯿﺠﻪ ١۶از راﺑﻄﻪ
)C(X
ﻫﺮ LF SRی ﮐﻪ ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد آن ﻣﻀﺮﺑ از Cﺑﺎﺷﺪ ،ﻧﯿﺰ ﺗﻮﻟﯿﺪ ﻣ ﺷﻮد .اﯾﻦ وﯾﮋﮔ در ﺑﻌﻀ از ﺣﻤﻠﻪﻫﺎﯾ ﮐﻪ ﺑﻪ رﻣﺰﻫﺎی دﻧﺒﺎﻟﻪای
ﻣﺒﺘﻨ ﺑﺮ LF SRاﻋﻤﺎل ﻣ ﺷﻮﻧﺪ ،ﻣﺎﻧﻨﺪ ﺣﻤﻠﻪ ﻫﻤﺒﺴﺘ ۶و ﺣﻤﻠﻪ ﻫﻤﺒﺴﺘ ﺳﺮﯾﻊ ،٧ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣ ﮔﯿﺮد.
ﻫﻔﺘﻢ٧-
ﺑﻪ ﻧﺎم ﺧﺪا
١ﯾﺎدآوری
ﺗﻌﺮﯾﻒ ) ١ﻣﺮﺗﺒﻪی ﭼﻨﺪﺟﻤﻠﻪای( ﺑﺮای ﭼﻨﺪﺟﻤﻠﻪای ) P (xﮐﻪ ،P (۰) ̸= ۰ ،ﮐﻮﭼ ﺘﺮﯾﻦ ﻋﺪد ﺻﺤﯿﺢ eﮐﻪ ﭼﻨﺪﺟﻤﻠﻪای
) xe + ۱ ،P (xرا ﻋﺎد ﮐﻨﺪ ،ﻣﺮﺗﺒﻪی ) P (xاﺳﺖ.
ﺗﻌﺮﯾﻒ ) ٢ﭼﻨﺪﺟﻤﻠﻪای اوﻟﯿﻪ( ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎ درﺟﻪ ) nروی ﻣﯿﺪان ﻣﺘﻨﺎﻫ ) (GF (۲ﭼﻨﺪﺟﻤﻠﻪای اوﻟﯿﻪ اﺳﺖ ،ﻫﺮﮔﺎه
ﻣﺮﺗﺒﻪی آن ۲n − ۱ﺑﺎﺷﺪ.
ﻣﺜﺎل ٣ﭼﻨﺪﺟﻤﻠﻪای ۱ + x + x۴اوﻟﯿﻪ اﺳﺖ ،زﯾﺮا اﮔﺮ ﻣﺘﻮاﻟﯿﺎ ١را ﺑﺮ ۱ + x + x۴ﺗﻘﺴﯿﻢ ﮐﻨﯿﻢ ،اوﻟﯿﻦ ﺑﺎری ﮐﻪ
ﺑﺎﻗﯿﻤﺎﻧﺪه ﺑﻪﺻﻮرت xeﺑﺎﺷﺪ ،ﺑﺮای e = ۱۵اﺗﻔﺎق ﻣ اﻓﺘﺪ.
۱. ۱ + x + x۴
۱ + x + x۴
۱ + x + x۲ + x۳ + x۵ + x۷ + x۱۱ + x۸
x + x۴
− x + x۲ + x۵
x۲ + x۴ +. x۵
.
.
x۱۵
ﭼﻨﺪﺟﻤﻠﻪای وﺟﻮد دارد. اﻟﺒﺘﻪ اﻟ ﻮرﯾﺘﻢﻫﺎی ﺳﺮﯾﻊﺗﺮی ﺑﺮای آزﻣﻮدن اوﻟﯿﻪ ﺑﻮدن ﯾ
ﻫﻤﺎنﻃﻮر ﮐﻪ در ﺟﻠﺴﻪ ﭘﯿﺶ دﯾﺪﯾﻢ ،دﻧﺒﺎﻟﻪ ﺧﺮوﺟ LFSRﻫﺎ ،ﻣﺸﺮوط ﺑﺮ اﯾﻨ ﻪ ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد آﻧﻬﺎ اوﻟﯿﻪ اﻧﺘﺨﺎب
ﺷﻮد ،دارای دوره ﺗﻨﺎوب ﺑﺎﻻ وﯾﮋﮔ ﻫﺎی آﻣﺎری ﺧﻮﺑ اﺳﺖ .اﻣﺎ ﺑﻪ ﺧﺎﻃﺮ وﯾﮋﮔ ﺧﻄ ﺑﻮدن LFSRﻫﺎ ،ﻧﺒﺎﯾﺪ آﻧﻬﺎ را
ﻣﺴﺘﻘﯿﻤﺎ ﺑﻪ ﻋﻨﻮان ﯾ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎدﻓ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار داد.
ﻟﻢ ١ﺑﺮای ﻫﺮ LFSRﺑﻪ ﻃﻮل Lو ﺑﺎ ﺣﺎﻟﺖ اوﻟﯿﻪ ) ،(s۰ , s۱ , ..., sL−۱ﺑﻪ ازای ،t ≥ ۰ﺿﺮاﯾﺐ at۰ , at۱ , ..., atL−۱
وﺟﻮد دارﻧﺪ ،ﺑﻪ ﻃﻮری ﮐﻪ:
∑
L−۱
= st ati si .
i=۰
ﻫﺸﺘﻢ١-
∑
ﺑﺮﻫﺎن .ﻓﺮض ﮐﻨﯿﺪ C(x) = ۱ − Li=۱ ci X iﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد LFSRو ) S۰ = (s۰ , s۱ , ..., sL−۱ﺑﺮدار
ﺣﺎﻟﺖ اوﻟﯿﻪ آن ﺑﺎﺷﺪ .ﻣﺎﺗﺮﯾﺲ اﻧﺘﻘﺎل ﺣﺎﻟﺖ LFSRرا ﺑﻪﺻﻮرت زﯾﺮ ﺗﻌﺮﯾﻒ ﻣ ﮐﻨﯿﻢ:
۰ ۰ ۰ ··· ۰ cL
۱ ۰ ۰ · · · ۰ cL−۱
۰ ۱ ۰ · · · ۰ cL−۲
C= .
.. .. ..
··· ··· . . .
۰ ۰ ۰ ··· ۱ c۱
اﮔﺮ ﺑﺮدار ﺣﺎﻟﺖ LFSRرا در زﻣﺎن t ≥ ۰ﺑﺎ ) St = (st , st+۱ , ..., st+L−۱ﻧﺸﺎن دﻫﯿﻢ ،دارﯾﻢ St+۱ = St Cو
ﻟﺬا ﺑﺮای ﺑﯿﺖ tام دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ،st ،دارﯾﻢ:
۱
۰
st = S۰ C t .. .
.
۰
ﻟﺬا ﺿﺮاﯾﺐ at۰ , at۱ , ..., atL−۱از راﺑﻄﻪ زﯾﺮ ﻣﺤﺎﺳﺒﻪ ﻣ ﺷﻮﻧﺪ:
t
a۰ ۱
at ۰
۱
.. = C t .. .
. .
t
aL−۱ ۰
ﻣﺜﺎل ۴ﺑﺮای LFSRﺑﻪ ﻃﻮل ۴و ﺑﺎ ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد ۱ + x + x۴دارﯾﻢ ،s۵ = s۲ + s۱ ،s۴ = s۱ + s۰
s۶ = s۲ + s۳و ﺑﻪ ﻃﻮر ﮐﻠ
t
۰ ۰ ۰ ۰ ۱ ۱
۱ ۰ ۰ ۰ ۱ ۰
st = [s۰ , s۱ , s۲ , s۳ ]
۰ ۱ ۰ ۰ ۰ .
۰ ۰ ۰ ۱ ۰ ۰
ﻧﺘﯿﺠﻪ ۵اﮔﺮ Lﺑﯿﺖ st۱ , st۲ , · · · , stLاز دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ﯾ LFSRﺑﻪ ﻃﻮل Lرا ﺑﺪاﻧﯿﻢ و ﻣﺎﺗﺮﯾﺲ ﺑﺮدار ﺿﺮاﯾﺐ
وارونﭘﺬﯾﺮ ﺑﺎﺷﺪ،ﺣﺎﻟﺖ اوﻟﯿﻪ LFSRﺑﻪ ﺻﻮرت زﯾﺮ ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ اﺳﺖ
−۱
at۰۱ at۰۲ ··· at۰L
at۱۱ at۱۲ ··· at۱L
S۰ = (s۰ , s۱ , · · · , cL−۱ ) = (st۱ , st۲ , · · · , stL )
.. .. .. .
. . ··· .
atL−۱
۱
atL−۱
۲
··· atL−۱
L
ﻣﺎﺗﺮﯾﺲ ﺗﺼﺎدﻓ روی F۲ﻣﻌ ﻮسﭘﺬﯾﺮ ﺑﺎﺷﺪ ﺣﺪاﻗﻞ ﺑﺮاﺑﺮ i=۱ (۱ − ۲i ) ≈ ۰٫ ۲۸۸
∞Π ﻧ ﺘﻪ ١اﺣﺘﻤﺎل اﯾﻨ ﻪ ﯾ
۱
اﺳﺖ.
ﻫﺸﺘﻢ٢-
ﻣﻤ ﻦ اﺳﺖ ﺑﻪﻧﻈﺮ ﺑﺮﺳﺪ ﮐﻪ ﺑﺎ ﻣﺨﻔ ﻧ ﻪ داﺷﺘﻦ ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد LFSRﺑﺘﻮان ﻣﻮﻟﺪ ﻗﻮﯾﺘﺮی ﺳﺎﺧﺖ .اﻣﺎ ﺑﺎ
اﺳﺘﻔﺎده از ﻣﻔﻬﻮم ﭘﯿﭽﯿﺪﮔ ﺧﻄ ١ﮐﻪ در اداﻣﻪ ﻣﻌﺮﻓ ﻣ ﺷﻮد ﻣ ﺗﻮان ﻧﺸﺎن داد ﮐﻪ ﻣﺨﻔ ﻧ ﻪ داﺷﺘﻦ ﭼﻨﺪﺟﻤﻠﻪای
ﺑﺎزﺧﻮرد ﺳﻄﺢ اﻣﻨﯿﺖ را ﺧﯿﻠ ﺑﺎﻻ ﻧﻤ ﺑﺮد.
ﭘﯿﭽﯿﺪﮔ ﺧﻄ ﯾ دﻧﺒﺎﻟﻪ ﻃﻮل ﮐﻮﭼ ﺘﺮﯾﻦ LFSRی اﺳﺖ ﮐﻪ آﻧﺮا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ .اﮔﺮ دﻧﺒﺎﻟﻪ داده ﺷﺪه ،دﻧﺒﺎﻟﻪ ﺧﺮوﺟ
ﯾ LFSRﺑﻪ ﻃﻮل Lﺑﺎ ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد اوﻟﯿﻪ و از ﯾ ﺣﺎﻟﺖ اوﻟﯿﻪ ﻧﺎﺻﻔﺮ ﺑﺎﺷﺪ ،آﻧ ﺎه ﭘﯿﭽﯿﺪﮔ ﺧﻄ آن دﻗﯿﻘﺎ
Lﺧﻮاﻫﺪ ﺑﻮد.
ﺑﺎ اﺳﺘﻔﺎده از اﻟ ﻮرﯾﺘﻢ Berlekamp-Masseyﻣ ﺗﻮان ﺣﺎﻟﺖ اوﻟﯿﻪ و ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد ﮐﻮﭼ ﺘﺮﯾﻦ LFSRی
ﮐﻪ ﯾ رﺷﺘﻪ را ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ ﻣﺤﺎﺳﺒﻪ ﮐﺮد.
ﻗﻀﯿﻪ ٢اﮔﺮ ﭘﯿﭽﯿﺪﮔ ﺧﻄ دﻧﺒﺎﻟﻪای Λﺑﺎﺷﺪ ،ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎزﺧﻮرد و ﺣﺎﻟﺖ اوﻟﯿﻪ ﮐﻮﭼ ﺘﺮﯾﻦ LFSRی ﮐﻪ دﻧﺒﺎﻟﻪ
را ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ ،از روی ﻫﺮ ۲Λﺑﯿﺖ ﻣﺘﻮاﻟ ﺑﻪ ﺻﻮرت ﯾ ﺘﺎ و ﺑﺎ ﭘﯿﭽﯿﺪﮔ ) O(Λ۲ﻣﺤﺎﺳﺒﻪ ﻣ ﺷﻮد.
ﻫﺸﺘﻢ٣-
u۱t
LF SR۱
.
u۲t
LF SR۲ f zt
.
.
.
unt
LF SRn
ﻣﻮﻟﺪ ﺗﺮﮐﯿﺒ ﮐﻪ دﻧﺒﺎﻟﻪ آن ﺷﺒﻪ ﺗﺼﺎدﻓ ﺑﺎﺷﺪ ﺑﺎﯾﺪ ﻃﻮل LFSRﻫﺎ و ﺗﺎﺑﻊ ﺗﺮﮐﯿﺐﮐﻨﻨﺪه fﺑﻪ دﻗﺖ ﺑﺮای ﻃﺮاﺣ ﯾ
اﻧﺘﺨﺎب ﺷﻮﻧﺪ.
ﻗﻀﯿﻪ ٣اﮔﺮ ﻃﻮل ﻫﻤﻪی LFSRﻫﺎ ﮐﻪ ﺑﺎ L۱ , L۲ , .., Lnﻧﻤﺎﯾﺶ ﻣ دﻫﯿﻢ ،ﻣﺘﻤﺎﯾﺰ و ﺑﺰرﮔﺘﺮ از ۲ﺑﺎﺷﻨﺪ و ﻧﯿﺰ
ﺣﺎﻟﺖﻫﺎی اوﻟﯿﻪ ﻧﺎﺻﻔﺮ ﺑﺎﺷﻨﺪ ،ﭘﯿﭽﯿﺪﮔ ﺧﻄ دﻧﺒﺎﻟﻪی ﺧﺮوﺟ ﻋﺒﺎرت اﺳﺖ از:
• ﻣﺘﻌﺎدل ۴ﺑﺎﺷﺪ.
ﺑﺎﯾﺪ ﺑﺰرگ ﺑﺎﺷﻨﺪ. ،٩وزنﻫﺎی ﭼﻨﺪﺟﻤﻠﻪایﻫﺎی ﻓﯿﺪﺑ ﻫﻤﭽﻨﯿﻦ ﺟﻬﺖ دﺷﻮارﺗﺮ ﮐﺮدن اﻋﻤﺎل ﺣﻤﻠﻪ ﻫﻤﺒﺴﺘ
۴
balanced
۵
algebraic degree
۶
correlation-immunity order
٧
non-linear order
٨
algebraic-immunity order
٩
correlation attack
ﻫﺸﺘﻢ۴-
ﻣﻮﻟﺪ ﻓﯿﻠﺘﺮ ﻏﯿﺮﺧﻄ ٢.٣
ﻣﻮﻟﺪ ﻓﯿﻠﺘﺮ ﻏﯿﺮﺧﻄ ١٠ﺑﺠﺎی ﺗﺮﮐﯿﺐ دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ﭼﻨﺪ LFSRﻣﺨﺘﻠﻒ ،اﻧﺘﻘﺎل ﯾﺎﻓﺘﻪﻫﺎی دﻧﺒﺎﻟﻪی ﺧﺮوﺟ ﯾ ﻋﺪد
LFSRرا ﺑﺎ ﻫﻢ ﺗﺮﮐﯿﺐ ﻣ ﮐﻨﺪ .ﺑﺮای ﺳﺎدﮔ ﭘﯿﺎدهﺳﺎزی ،ﺧﺮوﺟ اﯾﻦ ﻣﻮﻟﺪ از اﻋﻤﺎل ﯾ ﻓﯿﻠﺘﺮ ﻏﯿﺮ ﺧﻄ -nﻣﺘﻐﯿﺮه
ﺑﺮ nﺳﻠﻮل از ﺳﻠﻮلﻫﺎی ﯾ LFSRﺑﻪﻃﻮل ) Lﮐﻪ (n ≤ Lﮐﻪ از ﻣﻮﻗﻌﯿﺖﻫﺎی ۰ ≤ γ۱ < γ۲ < γn ≤ L − ۱
ﮔﺮﻓﺘﻪﻣ ﺷﻮﻧﺪ ﺑﻪ دﺳﺖ ﻣ آﯾﺪ .دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ دﻧﺒﺎﻟﻪای ﮐﻪ از ﺳﻠﻮل γiام LFSRﮔﺮﻓﺘﻪ ﻣ ﺷﻮد ،اﻧﺘﻘﺎلﯾﺎﻓﺘﻪ دﻧﺒﺎﻟﻪ
ﺧﺮوﺟ LFSRﺑﻪ اﻧﺪازه γiواﺣﺪ زﻣﺎﻧ اﺳﺖ .ﺑﻪ ﻋﺒﺎرت دﻗﯿﻖﺗﺮ اﮔﺮ utدﻧﺒﺎﻟﻪ ﺧﺮوﺟ LFSRﺑﺎﺷﺪ )،(t ≥ ۰
tاﻣﯿﻦ ﺑﯿﺖ دﻧﺒﺎﻟﻪ ﮐﻠﯿﺪ اﺟﺮاﯾ ،zt ،از راﺑﻄﻪ زﯾﺮ ﻣﺤﺎﺳﺒﻪ ﻣ ﺷﻮد:
zt
f
ﺑﺮای اﯾﻨ ﻪ دﻧﺒﺎﻟﻪ ﮐﻠﯿﺪ اﺟﺮاﯾ ﺷﺒﻪ ﺗﺼﺎدﻓ ﺑﺎﺷﺪ ،ﭼﻨﺪﺟﻤﻠﻪای ﻓﯿﺪﺑ LFSRﺑﺎﯾﺪ ﭼﻨﺪﺟﻤﻠﻪای اوﻟﯿﻪ ﺑﺎﺷﺪ و ﺗﺎﺑﻊ
ﻓﯿﻠﺘﺮ fوﯾﮋﮔ ﻫﺎﯾ را ﮐﻪ ﺑﺮای ﻣﻮﻟﺪ ﺗﺮﮐﯿﺒ ﮔﻔﺘﻪ ﺷﺪ داﺷﺘﻪ ﺑﺎﺷﺪ .ﻫﻤﭽﻨﯿﻦ وزن ﭼﻨﺪﺟﻤﻠﻪای ﻓﯿﺪﺑ ﺑﺎﯾﺪ ﺑﺎﻻ ﺑﺎﺷﺪ و
ﻣﻮﻗﻌﯿﺖ ﺳﻠﻮلﻫﺎ ﺑﺎﯾﺪ ﺑﻪ درﺳﺘ اﻧﺘﺨﺎب ﺷﻮد ﺗﺎ از اﻣ ﺎن اﻋﻤﺎل ﺑﻌﻀ از ﺣﻤﻼت ﺟﻠﻮﮔﯿﺮی ﺷﻮد.
دﻧﺒﺎﻟﻪی ﺧﺮوﺟ ﻣﻮﻟﺪ ﻓﯿﻠﺘﺮ ﯾ دﻧﺒﺎﻟﻪی دورهای اﺳﺖ ﮐﻪ ﭘﯿﭽﯿﺪﮔ ﺧﻄ آن ﺑﻪ ﻃﻮل LFSRو درﺟﻪ ﺟﺒﺮی ﺗﺎﺑﻊ
واﺑﺴﺘﻪاﺳﺖ.
آن ﭼﻨﺪﺟﻤﻠﻪای اوﻟﯿﻪ ﺑﺎﺷﺪ، ﻗﻀﯿﻪ ۴ﺑﺮای ﯾ LFSRﺑﺎﯾﻨﺮی ﺑﻪ ﻃﻮل Lو درﺟﻪی ﺟﺒﺮی dﮐﻪ ﭼﻨﺪﺟﻤﻠﻪای ﻓﯿﺪﺑ
ﻋﺒﺎرت زﯾﺮ ﺑﺮﻗﺮاراﺳﺖ:
) (
∑d L
Λ ≤ k=۰
k
) (
L
ﺻﺎدق اﺳﺖ. ﻫﻤﭽﻨﯿﻦ اﮔﺮ Lﻋﺪد ﺑﺰرﮔ ﺑﺎﺷﺪ ،ﺑﺮای اﮐﺜﺮ ﺗﻮاﺑﻊ ﻓﯿﻠﺘﺮ ﺑﺎ درﺟﻪی ﺟﺒﺮی ،dﮐﺮان ﭘﺎﯾﯿﻦ ≤ Λ
d
ﻫﺸﺘﻢ۵-
١٢
• ﻣﻮﻟﺪ ﮔﺎم ﻣﺘﻨﺎوب
١٣
• ﻣﻮﻟﺪ ﮐﺎﻫﻨﺪه
١۴
• ﻣﻮﻟﺪ ﺧﻮدﮐﺎﻫﻨﺪه
ﻣﻮﻟﺪ ﮔﺎم ﻣﺘﻨﺎوب اﯾﻦ ﻣﻮﻟﺪ از ﺳﻪ LFSRﺗﺸ ﯿﻞ ﺷﺪهاﺳﺖ LF SRB ،LF SRA :و LF SRCﮐﻪ LF SRC
ﮐﻨﺘﺮل ﮐﻨﻨﺪه اﺳﺖ دو LFSRدﯾ ﺮ اﺳﺖ LF SRC .ﺑﻪﻃﻮر ﻣﻨﻈﻢ اﻧﺘﻘﺎل ﻣ ﯾﺎﺑﺪ و ﺧﺮوﺟ آن ﺗﻌﯿﯿﻦ ﻣ ﮐﻨﺪ ﮐﻪ ﮐﺪام
ﯾ از دو LFSRدﯾ ﺮ اﻧﺘﻘﺎل ﯾﺎﺑﺪ :اﮔﺮ ﺧﺮوﺟ LF SRCﯾ ﺑﺎﺷﺪ LF SRAاﻧﺘﻘﺎل ﻣ ﯾﺎﺑﺪ و اﮔﺮ ﺻﻔﺮ ﺑﺎﺷﺪ
LF SRBﮐﻼک ﻣ ﺧﻮرد .ﭘﺲ از ﻫﺮ اﻧﺘﻘﺎل ،ﯾ دﻧﺒﺎﻟﻪ ﮐﻠﯿﺪ اﺟﺮاﯾ ﺗﻮﻟﯿﺪ ﻣ ﺷﻮد ﮐﻪ از ) XORﺟﻤﻊ ﻣﺒﻨﺎی دو(
ﺑﯿﺖﻫﺎی ﺧﺮوﺟ LFSRﻫﺎی ﮐﻨﺘﺮلﺷﻮﻧﺪه ﺑﺪﺳﺖ ﻣ آﯾﺪ.
LF SRB
clock
. LF SRC ⊕ zt
▷
LF SRA
ﻧﺴﺨﻪ دﯾ ﺮی از ﻣﻮﻟﺪ ﮔﺎم ﻣﺘﻨﺎوب وﺟﻮد دارد ﮐﻪ در آن ﺧﺮوﺟ ﺑﻪﺟﺎی XORﮐﺮدن ﺑﯿﺖﻫﺎی ﺧﺮوﺟ LFSRﻫﺎی
ﮐﻨﺘﺮلﺷﻮﻧﺪه ،از ﻫﻤﺎن LFSRی ﮐﻪ اﻧﺘﻘﺎل ﯾﺎﻓﺘﻪ اﺳﺖ ﺑﺪﺳﺖ ﻣ آﯾﺪ .ﺑﻪ ﻋﺒﺎرت دﯾ ﺮ دﻧﺒﺎﻟﻪ ﮐﻠﯿﺪ اﺟﺮاﯾ ،از ﻻی ﻫﻢ
ﻗﺮار دادن ١۵ﺧﺮوﺟ ﻫﺎی ﻣﻨﻈﻢ LFSRﻫﺎی ﮐﻨﺘﺮلﺷﻮﻧﺪه ﺣﺎﺻﻞ ﻣ ﺷﻮد .ﻣ ﺗﻮان ﻧﺸﺎن داد ﮐﻪ اﻣﻨﯿﺖ اﯾﻦ دو ﻧﺴﺨﻪ
از ﻣﻮﻟﺪ ﮔﺎم ﻣﺘﻨﺎوب ﯾ ﺴﺎن اﺳﺖ.
ﺑﺮای داﺷﺘﻦ وﻳﮋﮔ ﺑﻬﺘﺮ دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ﺑﻬﺘﺮ اﺳﺖ ﻃﻮل LFSRﻫﺎ دوﺑﻪدو ﻧﺴﺒﺖ ﺑﻪ ﻫﻢ اول ﺑﺎﺷﻨﺪ ﮐﻪ در اﯾﻨﺼﻮرت،
دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ﻣﻮﻟﺪ ﺑﻪ ﻃﺮز ﻗﺎﺑﻞ اﺛﺒﺎﺗ دارای دورهی ﺑﻠﻨﺪ و ﭘﯿﭽﯿﺪﮔ ﺧﻄ ﺑﺎﻻﺳﺖ .اﮔﺮ ﻃﻮل ﻫﺮ ﺳﻪ LFSRﻣﻮرد
اﺳﺘﻔﺎده ﺗﻘﺮﯾﺒﺎ ﺑﺮاﺑﺮ Lﺑﺎﺷﺪ ،ﭘﯿﭽﯿﺪﮔ ﺑﻬﺘﺮﯾﻦ ﺣﻤﻠﻪی ﺷﻨﺎﺧﺘﻪ ﺷﺪه ﻋﻠﯿﻪ اﯾﻦ ﻣﻮﻟﺪ از ﻣﺮﺗﺒﻪ ) O(۲۲L/۳اﺳﺖ.
ﻣﻮﻟﺪ ﮐﺎﻫﻨﺪه اﯾﻦ ﻣﻮﻟﺪ از دو LFSRﺗﺸ ﯿﻞ ﺷﺪهاﺳﺖ .(LF SRS , LF SRA ) :دﻧﺒﺎﻟﻪ ﮐﻠﯿﺪ اﺟﺮاﯾ از LF SRA
ﮔﺮﻓﺘﻪ ﻣ ﺷﻮد و ﺧﺮوﺟ LF SRSﺗﻌﯿﯿﻦ ﻣ ﮐﻨﺪ ﮐﻪ ﮐﺪام ﺑﯿﺖﻫﺎی LF SRAﺑﻪ ﻋﻨﻮان ﺧﺮوﺟ درﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮﻧﺪ.
ﻣﻮﻟﺪ ﮐﺎﻫﻨﺪه ﺑﻪ اﯾﻦ ﺻﻮرت ﻋﻤﻞ ﻣ ﮐﻨﺪ :اﮔﺮ ﺑﯿﺖ ﺧﺮوﺟ LF SRSﯾ ﺑﺎﺷﺪ ،ﺑﯿﺖ ﺧﺮوﺟ LF SRAﺑﻪ ﻋﻨﻮان
ﯾ ﺑﯿﺖ از دﻧﺒﺎﻟﻪ ﮐﻠﯿﺪ اﺟﺮاﯾ ﻣﻮﻟﺪ ﺑﻪ ﺧﺮوﺟ ﻓﺮﺳﺘﺎده ﻣ ﺷﻮد و اﮔﺮ ﺻﻔﺮ ﺑﺎﺷﺪ ،ﺑﯿﺖ ﺧﺮوﺟ LF SRAدور
اﻧﺪاﺧﺘﻪ ﻣ ﺷﻮد ﯾﻌﻨ ﻫﯿﭻ ﺑﯿﺘ ﺗﻮﻟﯿﺪ ﻧﻤ ﺷﻮد؛ ﺳﭙﺲ ﻫﺮ دو LFSRاﻧﺘﻘﺎل ﻣ ﯾﺎﺑﻨﺪ.
LF SRS
.
st
at
LF SRA selection rule zt
١٢
)Alternating Step Generator(ASG
١٣
)Shrinking Generator(SG
١۴
)Self-Shrinking Generator(SSG
١۵
interleaving
ﻫﺸﺘﻢ۶-
ﺑﻪ ﻋﺒﺎرت دﯾ ﺮ اﮔﺮ دوﺑﯿﺖ ) (st , atﺑﺮاﺑﺮ ١٠ﺑﺎﺷﺪ ،ﺧﺮوﺟ ٠اﺳﺖ ،اﮔﺮ ﺧﺮوﺟ ١١ﺑﺎﺷﺪ ،ﺧﺮوﺟ ١اﺳﺖ .در
ﻏﯿﺮ اﯾﻨﺼﻮرت ﺧﺮوﺟ ﻧﺪارﯾﻢ.
اﮔﺮ ﻃﻮل ﻫﺮ دو LFSRﻣﻮرد اﺳﺘﻔﺎده ﺗﻘﺮﯾﺒﺎ ﺑﺮاﺑﺮ Lﺑﺎﺷﺪ ،ﭘﯿﭽﯿﺪﮔ ﺑﻬﺘﺮﯾﻦ ﺣﻤﻠﻪی ﺷﻨﺎﺧﺘﻪ ﺷﺪه ﻋﻠﯿﻪ اﯾﻦ ﻣﻮﻟﺪ از
ﻣﺮﺗﺒﻪ ) O(۲۲L/۳اﺳﺖ.
ﻣﻮﻟﺪ ﺧﻮدﮐﺎﻫﻨﺪه اﺳﺎس اﯾﻦ ﻣﻮﻟﺪ ﻫﻤﺎن ﻣﻮﻟﺪ ﻗﺒﻠ اﺳﺖ ﮐﻪ در آن از ﯾ LFSRﺑﺎ دﻧﺒﺎﻟﻪ ﺧﺮوﺟ } {atاﺳﺘﻔﺎده
ﻣ ﺷﻮد ﮐﻪ در آن زﯾﺮدﻧﺒﺎﻟﻪ } {a۲tﻧﻘﺶ ﺧﺮوﺟ LF SRSو زﯾﺮدﻧﺒﺎﻟﻪ } {a۲t+۱ﻧﻘﺶ ﺧﺮوﺟ LF SRAرا دارد.
ﺑﻪ ﻃﻮر دﻗﯿﻖﺗﺮ روﯾﻪ زﯾﺮ ﻧﺤﻮه ﮐﺎر ﻣﻮﻟﺪ ﺧﻮدﮐﺎﻫﻨﺪه را ﻧﺸﺎن ﻣ دﻫﺪ.
ﺗﺎ وﻗﺘ ﮐﻪ دﻧﺒﺎﻟﻪ ﮐﻠﯿﺪ اﺟﺮاﯾ ﺑﻪ ﻃﻮل ﮐﺎﻓ ﺗﻮﻟﯿﺪ ﻧﺸﺪه اﺳﺖ:
ﺑﯿﺖ از دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ﺗﻮﻟﯿﺪ ﻣ ﺷﻮد. .٢اﮔﺮ a۲t = ۱ﺑﺎﺷﺪ a۲t+۱ ،ﺑﻪ ﻋﻨﻮان ﯾ
. LF SR A
a۲t
a۲t+۱
zt
selection rule
ﺑﻪ ﻋﺒﺎرت دﯾ ﺮ اﮔﺮ دوﺑﯿﺖ ﺧﺮوﺟ ١٠ﺑﺎﺷﺪ ،ﺧﺮوﺟ ٠اﺳﺖ ،اﮔﺮ ﺧﺮوﺟ ١١ﺑﺎﺷﺪ ،ﺧﺮوﺟ ١اﺳﺖ .در ﻏﯿﺮ
اﯾﻨﺼﻮرت ﺧﺮوﺟ ﻧﺪارﯾﻢ.
ﺑﻬﺘﺮﯾﻦ ﺣﻤﻠﻪی ﺷﻨﺎﺧﺘﻪ ﺷﺪه ﻋﻠﯿﻪ اﯾﻦ ﻣﻮﻟﺪ ﺣﻤﻠﻪ ﺑﺪهﺑﺴﺘﺎن ﺣﺎﻓﻈﻪ-زﻣﺎن-داده اﺳﺖ ﮐﻪ ﺑﻪ ﺣﺎﻓﻈﻪ ،داده )ﻃﻮل دﻧﺒﺎﻟﻪ
ﺧﺮوﺟ ﻣﻮرد ﻧﯿﺎز( و زﻣﺎن از ﻣﺮﺗﺒﻪ ) O(۲L/۲ﻧﯿﺎز دارد .ﭘﯿﺪا ﮐﺮدن ﯾ ﺣﻤﻠﻪ ﺑﻬﺘﺮ ﯾ ﭘﺮﺳﺶ ﺑﺎز ﺟﺎﻟﺐ اﺳﺖ.
ﻫﺸﺘﻢ٧-
ﺑﻪ ﻧﺎم ﺧﺪا
• ﻧﻤﺎﯾﺶ ﻣﻘﺪاری :ﯾ ﺗﺎﺑﻊ ﺑﻮﻟ fﺑﺮ روی {۰, ۱}nرا ﻣ ﺗﻮان ﺑﺎ اﺳﺘﻔﺎده از ﺟﺪول ﺻﺤﺖ ٢ﺑﻪ ﺻﻮرت ﯾ ﺘﺎ
ﻣﺸﺨﺺ ﮐﺮد .ﺟﺪول ﺻﺤﺖ ﺑﺮداری ﺑﻪ ﺻﻮرت ])⟩ ،[f (⟨۰⟩), · · · , f (⟨۲n−۱ﺷﺎﻣﻞ ﻫﻤﻪی ﻣﻘﺎدﯾﺮ ﺗﺎﺑﻊ f
اﺳﺖ ﮐﻪ ⟩ ⟨iﺑﯿﺎنﮔﺮ رﺷﺘﻪ ﺑﺎﯾﻨﺮی ﺑﻪ ﻃﻮل nاﺳﺖ ﮐﻪ ﻧﻤﺎﯾﺶ ﻣﺒﻨﺎی دو ﻋﺪد iاﺳﺖ.
• ﻧﻤﺎﯾﺶ ﺟﺒﺮی :روش دﯾ ﺮی ﮐﻪ ﻣ ﺗﻮان ﺑﺎ اﺳﺘﻔﺎده از آن ﯾ ﺗﺎﺑﻊ ﺑﻮﻟ را ﺑﻪ ﺻﻮرت ﯾ ﺘﺎ ﻣﺸﺨﺺ ﮐﺮد،
اﺳﺘﻔﺎده از ﻓﺮم ﻧﺮﻣﺎل ﺟﺒﺮی ٣اﺳﺖ .ﻓﺮم ﻧﺮﻣﺎل ﺟﺒﺮی ﯾ ﭼﻨﺪﺟﻤﻠﻪای ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ:
∑ ∏
= )f (x aI xi , }I ⊆ {۱, ۲, ۳, · · · , n}, aI ∈ {۰, ۱
i∈I
ﺗﺎﺑﻊ ﺑﻮﻟ دوﻣﺘﻐﯿﺮه ﺑﺎ اﺳﺘﻔﺎده از ﻓﺮم ﻧﺮﻣﺎل ﺟﺒﺮی اﺳﺖ: ﻣﺜﺎل ٢ﻋﺒﺎرت زﯾﺮ ﻧﻤﺎﯾﺶ ﯾ
٩-١
ﻧ ﺘﻪ ١ﺑﯿﻦ دو روش ﺟﺪول ﺻﺤﺖ و ﻓﺮم ﻧﺮﻣﺎل ﺟﺒﺮی ،ﻣ ﺗﻮان ﺑﺎ ﻣﺮﺗﺒﻪی ﭘﯿﭽﯿﺪﮔ n۲nﺗﺒﺪﯾﻞ اﻧﺠﺎم داد.
ﺑﺮای اداﻣﻪی ﺑﺤﺚ ﺑﻪ ﺗﻌﺎرﯾﻔ ﻧﯿﺎز اﺳﺖ ﮐﻪ در اداﻣﻪ ﺑﻪ آﻧﻬﺎ ﺧﻮاﻫﯿﻢ ﭘﺮداﺧﺖ.
ﺗﻌﺮﯾﻒ ٣درﺟﻪی ﺟﺒﺮی ۴ﺗﺎﺑﻊ ﺑﻮﻟ fﮐﻪ ﺑﺎ ) deg(fﻧﻤﺎﯾﺶ داده ﻣ ﺷﻮد ،ﺑﯿﺸﯿﻨﻪی ﺗﻌﺪاد ﻣﺘﻐﯿﺮﻫﺎی ﻣﻮﺟﻮد در
ﻋﺒﺎرتﻫﺎی ﺳﺎزﻧﺪهی ﻓﺮم ﻧﺮﻣﺎل ﺟﺒﺮی اﺳﺖ؛ ﯾﻌﻨ :
ﺑﺎﺷﺪ. ﺗﻌﺮﯾﻒ ۴ﺗﺎﺑﻊ ﻣﺴﺘﻮی ،۵ﺗﺎﺑﻌ اﺳﺖ ﮐﻪ درﺟﻪی ﺟﺒﺮی آن ﮐﻤﺘﺮ ﯾﺎ ﻣﺴﺎوی ﯾ
در ﻋﺒﺎرت ﻓﻮق ،اﮔﺮ a۰ = ۰ﺑﺮﻗﺮار ﺑﺎﺷﺪ ،آﻧ ﺎه ﺗﺎﺑﻊ را ﺧﻄ ۶ﻣ ﮔﻮﯾﻨﺪ.
ﺗﻌﺮﯾﻒ ۵وزن ﻫﻤﯿﻨ ٧ﺗﺎﺑﻊ ،fﺗﻌﺪاد ﻣﻘﺎدﯾﺮ ﻏﯿﺮﺻﻔﺮ ﺗﺎﺑﻊ fﺑﻪ ازای ﺗﻤﺎم ورودیﻫﺎی ﻣﻤ ﻦ اﺳﺖ؛ ﯾﻌﻨ :
ﺗﺎﺑﻊ ،fﺑﺮاﺑﺮ ﺗﻌﺪاد ١ﻫﺎ در ﺟﺪول ﺻﺤﺖ آن اﺳﺖ. در ﺣﻘﯿﻘﺖ وزن ﻫﻤﯿﻨ
در ﺟﺪول ﺻﺤﺖ آن ﺑﺮاﺑﺮ ﺑﺎﺷﺪ. ﺗﻌﺮﯾﻒ ۶ﺗﺎﺑﻊ ﻣﺘﻮازن ،٨ﺗﺎﺑﻌ اﺳﺖ ﮐﻪ ﺗﻌﺪاد ﻣﻘﺎدﯾﺮ ﺻﻔﺮ و ﯾ
ﻧ ﺘﻪ ٢ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺮﯾﻒ ﻓﻮق در ﺗﻮاﺑﻊ ﻣﺘﻮازن راﺑﻄﻪی زﯾﺮ ﺑﺮﻗﺮار اﺳﺖ:
wH (f ) = ۲n−۱
ﻫﻤﭽﻨﯿﻦ دارﯾﻢ:
۱
Pr = }{f (x) = ۰
x←{۰,۱}n ۲
ﺗﻌﺮﯾﻒ ٧ﻓﺎﺻﻠﻪی ﻫﻤﯿﻨ ٩دو ﺗﺎﺑﻊ fو gﮐﻪ ﺑﺎ ) dH (f, gﻧﻤﺎﯾﺶ داده ﻣ ﺷﻮد ،ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ﺗﻌﺪاد ﻣﻘﺎدﯾﺮ ﻣﺘﻔﺎوت
fو gﺑﻪ ازای ﻫﻤﻪی ورودیﻫﺎی ﻣﻤ ﻦ.
٩-٢
ﻧ ﺘﻪ ٣ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺮﯾﻒ ﻓﻮق ﻣ ﺗﻮان ﮔﻔﺖ:
اﮔﺮ ﺗﺎﺑﻌ را ﺑﺎ ﺗﺎﺑﻊ دﯾ ﺮ ﺗﻘﺮﯾﺐ ﺑﺰﻧﯿﻢ ،ﺑﺎ اﺳﺘﻔﺎده از ﻓﺎﺻﻠﻪی ﺑﯿﻦ دو ﺗﺎﺑﻊ ﻣ ﺗﻮان ﺗﻌﯿﯿﻦ ﮐﺮد ﮐﻪ ﺗﻘﺮﯾﺐ ﺗﺎ ﭼﻪ ﺣﺪ
ﺧﻮب اﺳﺖ .اﻣﺎ در ﺑﺴﯿﺎری از ﻣﻮارد ﺗﻘﺮﯾﺐﻫﺎی ﺧﻄ ﻣﻄﻠﻮب ﻣﺎﺳﺖ .ﺑﻪ ﻫﻤﯿﻦ ﺧﺎﻃﺮ ﺗﻌﺮﯾﻒ زﯾﺮ را ﻣﻄﺮح ﻣ ﮐﻨﯿﻢ.
ﺗﻌﺮﯾﻒ ٨ﻣﻘﺪار ﻏﯿﺮﺧﻄ ١٠ﺗﺎﺑﻊ fرا ﺑﺎ Nfﻧﻤﺎﯾﺶ ﻣ دﻫﻨﺪ و ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ﮐﻤﯿﻨﻪی ﻓﺎﺻﻠﻪی fاز ﻣﺠﻤﻮﻋﻪی ﺗﻮاﺑﻊ
ﻣﺴﺘﻮی .ﺑﻪ ﻋﺒﺎرت دﯾ ﺮ ﻣﻘﺪار ﻏﯿﺮﺧﻄ fﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ﻓﺎﺻﻠﻪی آن ﺗﺎ ﻧﺰدﯾ ﺗﺮﯾﻦ ﺗﺎﺑﻊ ﻣﺴﺘﻮی.
١٠
Nonlinearity
٩-٣
ﺑﻪ ﯾﺎد آورﯾﺪ ﮐﻪ راﺑﻄﻪی ﺧﻄ زﯾﺮ ﺑﺮای دﻧﺒﺎﻟﻪی ﺧﺮوﺟ ﺛﺒﺎت ﺧﻄ ﺑﺮای t ≥ Lﺑﺮﻗﺮار اﺳﺖ ﮐﻪ c۰ = ۱در ﻧﻈﺮ
ﮔﺮﻓﺘﻪ ﻣ ﺷﻮد:
∑L
ci st−i = ۰
i=۰
در اداﻣﻪ ﺣﻤﻠﻪی ﺗﻤﺎﯾﺰ و ﺣﻤﻠﻪی ﺣﺎﻟﺖ اوﻟﯿﻪ را ﺑﺮای fﺧﻄ و ﻏﯿﺮﺧﻄ ﺑﺮرﺳ ﻣ ﮐﻨﯿﻢ.
∑
n
= ) f (x۱ , · · · , xnﺑﺎﺷﺪ دارﯾﻢ: ﺑﺮﻫﺎن .ﻓﺮض ﮐﻨﯿﺪ ﺗﺎﺑﻊ ﻓﯿﻠﺘﺮ ﺧﻄ ﺑﻪ ﺻﻮرت aj xj
j=۱
∑
n
= zt aj st+γj
j=۱
∑
L ∑
L ∑
n
= ci zt−i ci aj st−i−γj
i=۰ i=۰ j=۱
∑
n ∑
L
= aj ci st−i−γj
j=۱ i=۰
∑n
= aj (۰) = ۰
j=۱
٩-۴
ﻣﻮﻟﺪ ﻓﯿﻠﺘﺮی ﺑﺎ ﻓﯿﻠﺘﺮ ﻏﯿﺮﺧﻄ ٢.١.٢
ﺗﻘﺮﯾﺐ ﺧﻄ a۱ x۱ + · · · + an xn اﮔﺮ ﺗﺎﺑﻊ fﻏﯿﺮﺧﻄ ﺑﺎﺷﺪ ﻟﻢ ١دﯾ ﺮ ﺑﺮﻗﺮار ﻧﯿﺴﺖ .در اﯾﻦ ﺣﺎﻟﺖ ﺑﺎ داﺷﺘﻦ ﯾ
ﺑﺮای ﺗﺎﺑﻊ ﻏﯿﺮﺧﻄ fﻣ ﺗﻮان ﻧﻮﺷﺖ:
۱
= } Pr {f (x) = a۱ x۱ + · · · + an xn (۱ + ε), ε ̸= ۰
۲
ﺗﻘﺮﯾﺐ ﺧﻄ ﺑﺮای ﺗﺎﺑﻊ ﺧﻮد دارﯾﻢ .ﺑﻨﺎﺑﺮاﯾﻦ ﻣ ﺗﻮان ﻧﻮﺷﺖ: ﯾﻌﻨ ﯾ
ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ ﺑﺎﯾﻨﺮی ﺑﺎ ﺗﻮزﯾﻊ زﯾﺮ اﺳﺖ ﮐﻪ آﻧﺮا ﻧﻮﯾﺰ ﻣ ﻧﺎﻣﯿﻢ: ﮐﻪ eﯾ
۱
= }Pr {e = ۰ )(۱ + ε
۲
ﺑﻨﺎﺑﺮاﯾﻦ:
∑
n
zt = aj st+γj + et
j=۱
∑
L
ci zt−i = et−i۱ + · · · + et−iw
i=۰
ﺑﺮﻫﺎن .دارﯾﻢ:
∑
L ∑
L
= ci zt−i ) ci f (st−i+γ۱ , · · · , st−i+γn
i=۰ i=۰
∑
L ∑n
= ci aj st−i+γj + et−i
i=۰ j=۱
∑
L ∑
n ∑
L
= ci aj st−i+γj + ci et−i
i=۰ j=۱ i=۰
∑
L
=۰+ ci et−i
i=۰
= et−i۱ + · · · + et−iw
٩-۵
ﻟﻢ ) ٣ﻟﻢ (pilling-upﻓﺮض ﮐﻨﯿﺪ nﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ ﺑﺎﯾﻨﺮی ﻣﺴﺘﻘﻞ X۱ , · · · , Xnﺑﺎ ﺗﻮزﯾﻊ اﺣﺘﻤﺎل زﯾﺮ دارﯾﻢ:
۱
= )Pr (Xi = ۱ ) (۱ − εi
۲
۱
= )Pr (Xi = ۰ ) (۱ + εi
۲
در اﯾﻦﺻﻮرت ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ
X = X۱ + · · · + Xn
دارای ﺗﻮﺿﯿﺢ اﺣﺘﻤﺎل زﯾﺮ اﺳﺖ:
۱
= )Pr(X = ۱ ) (۱ − ε۱ · · · εn
۲
۱
= )Pr(X = ۰ ) (۱ + ε۱ · · · εn
۲
ﺑﺮﻫﺎن .اﯾﻦ ﻟﻢ را ﺑﺮای دو ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ اﺛﺒﺎت ﻣ ﮐﻨﯿﻢ .ﺑﺮای ﺗﻌﺪاد ﺑﯿﺸﺘﺮ ﺑﺎ اﺳﺘﻘﺮاء ﺛﺎﺑﺖ ﻣ ﺷﻮد .ﺑﻨﺎﺑﺮاﯾﻦ ﻓﺮض
ﻣ ﮐﻨﯿﻢ ﺣﺎﻟﺖ زﯾﺮ را دارﯾﻢ:
۰ ۱
X۱ ۱
۲
(۱ ) + ε۱ ۱
۲
(۱ ) − ε۱
X۲ ۱
۲
(۱ ) + ε۱ ۱
۲
(۱ ) − ε۲
٩-۶
ﺑﻪ ﻃﻮر ﺧﻼﺻﻪ ﺑﻪ ﻓﺮض ﻣﺴﺘﻘﻞ ﺑﻮدن etﻫﺎ )ﮐﻪ در ﻋﻤﻞ ﺗﺎ ﺣﺪ زﯾﺎدی ﺻﺎدق اﺳﺖ( ،دارﯾﻢ:
{ L }
∑ ۱
Pr ci zt−i = ۰ = ) (۱ + εw
i=۰
۲
ﮐﻪ wﺗﻌﺪاد ﺿﺮاﯾﺐ ﻧﺎﺻﻔﺮ ﭼﻨﺪﺟﻤﻠﻪای ﻣﺸﺨﺼﻪ )ارﺗﺒﺎط( ﺛﺒﺎت ﺧﻄ اﺳﺖ و εﺑﺎﯾﺎس ﺑﻬﺘﺮﯾﻦ ﺗﻘﺮﯾﺐ ﺧﻄ ﺗﺎﺑﻊ
ﻓﯿﻠﺘﺮ اﺳﺖ.
اﮔﺮ Yﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﺑﺎﺷﺪ ،ﺧﻮاﻫﯿﻢ داﺷﺖ:
۱
= )Pr(Y = ۱) = Pr(Y = ۰
۲
ﺑﻨﺎﺑﺮاﯾﻦ ﺑﺎ اﺳﺘﻔﺎده از ﯾ ﻧﻤﻮﻧﻪ ﺑﯿﻦ Xو Yﺑﺎ اﺣﺘﻤﺎل )ﻣﺰﯾﺖ( εwﻣ ﺗﻮاﻧﯿﻢ ﺗﻤﯿﺰ دﻫﯿﻢ.
N = ε۲wﺑﺎﺷﺪ ،ﻣﺰﯾﺖ ﺗﻤﺎﯾﺰﮔﺮ ﺑﻪ ﯾ ﻧﺰدﯾ ﻣ ﺷﻮد. ۱
اﮔﺮ ﺗﻌﺪاد ﻧﻤﻮﻧﻪﻫﺎ
ﻣﺜﺎل ٩
−۳
L = ۱۰۰, w = ۵, ,ε = ۲
۱
≃N ۲w
= ۲۳۰
ε
ﺑﺎ ۲۳۰ﻧﻤﻮﻧﻪ ﻣ ﺗﻮان اﯾﻦ رﻣﺰ دﻧﺒﺎﻟﻪای را از رﺷﺘﻪی ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﺗﻤﯿﺰ داد.
آﻧ ﺎه ﺗﻌﺪاد ﻧﻤﻮﻧﻪﻫﺎی ﻻزم ﺑﺮای ﺗﺸﺨﯿﺺ دو ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ ﺑﻪ ﺻﻮرت زﯾﺮ ﺑﻪ دﺳﺖ ﺧﻮاﻫﺪ آﻣﺪ:
۱
=N
pε۲
.١روش ﺟﺒﺮی
.٢روش ﻫﻤﺒﺴﺘ
ﻧﺨﻮاﻫﯿﻢ ﭘﺮداﺧﺖ .اﯾﻦ ﻗﺴﻤﺖ را ﻧﯿﺰ ﺑﻪ ﺻﻮرت در اﯾﻨﺠﺎ ﺗﻤﺮﮐﺰ ﻣﺎ ﺑﺮ روی روش ﺟﺒﺮی اﺳﺖ و ﺑﻪ روش ﻫﻤﺒﺴﺘ
اﺟﻤﺎﻟ در دو ﺑﺨﺶ ﺗﻮاﺑﻊ ﺧﻄ و ﻏﯿﺮﺧﻄ ﺑﺮرﺳ ﻣ ﮐﻨﯿﻢ.
٩-٧
ﻣﻮﻟﺪ ﻓﯿﻠﺘﺮی ﺑﺎ ﻓﯿﻠﺘﺮ ﺧﻄ ١.٢.٢
اﮔﺮ ﻓﯿﻠﺘﺮ ﺧﻄ ﺑﺎﺷﺪ ،ﻣ ﺗﻮان از روی Lﺑﯿﺖ دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ﻣﻮﻟﺪ L ،ﻣﻌﺎدﻟﻪ ﺑﺮ ﺣﺴﺐ Lﻣﺠﻬﻮل ﺣﺎﻟﺖ اوﻟﯿﻪ ﻧﻮﺷﺖ
و )ﻣﺸﺮوط ﺑﺮ اﯾﻨ ﻪ ﻣﻌﺎدﻻت ﻣﺴﺘﻘﻞ ﺧﻄ ﺑﺎﺷﻨﺪ( ﺑﺎ ﺣﻞ آن ﺣﺎﻟﺖ اوﻟﯿﻪ را ﯾﺎﻓﺖ .در اﯾﻦ ﺣﺎﻟﺖ دﺳﺘ ﺎه ﻣﻌﺎدﻻت ﺑﺎ
اﺳﺘﻔﺎده از روش ﺣﺬﻓ ﮔﺎوس در ) O(L۳ﺣﻞ ﻣ ﺷﻮد.
١١
linearization
٩-٨
ﺑﻪ ﻧﺎم ﺧﺪا
اﯾﻦ ﺟﻠﺴﻪ ﺑﻪ ﻣﻌﺮﻓ ﻣﻮﻟﺪﻫﺎی رﻣﺰ دﻧﺒﺎﻟﻪای ﮐﻪ در ﻋﻤﻞ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣ ﮔﯿﺮﻧﺪ اﺧﺘﺼﺎص دارد .اﻣﺎ ﻗﺒﻞ از آن ﺣﻤﻠﻪ ﺟﺪﯾﺪی را ﺑﻪ رﻣﺰﻫﺎی
دﻧﺒﺎﻟﻪای ﺗﻌﺮﯾﻒ ﻣ ﮐﻨﯿﻢ:
ﺣﺎﻟﺖﻫﺎ ،ﯾﻌﻨ ۲n−tﺣﺎﻟﺖ ،ﻣ ﺗﻮاﻧﻨﺪ tﺑﯿﺖ اول دﻧﺒﺎﻟﻪ ﺧﺮوﺟ داده ﺷﺪه را ﺗﻮﻟﯿﺪ ﮐﻨﻨﺪ .ﺑﻪ ﻃﻮر دﻗﯿﻖﺗﺮ ،ﺑﻪ ﻃﻮر ﻣﺘﻮﺳﻂ ﯾ ﺣﺎﻟﺖ اوﻟﯿﻪ
وﺟﻮد دارد ﮐﻪ ﺑﺎ nﺑﯿﺖ داده ﺷﺪه از دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ﻣﻄﺎﺑﻘﺖ دارد.
در ﺣﻤﻠﻪ ﺑﺪهﺑﺴﺘﺎن زﻣﺎن ،ﺣﺎﻓﻈﻪ و داده ١ﻣﻬﺎﺟﻢ در دو ﻣﺮﺣﻠﻪ ﻋﻤﻞ ﻣ ﮐﻨﺪ .در ﻣﺮﺣﻠﻪ ﭘﯿﺶﭘﺮدازش ،در زﻣﺎن ۲n/۲اﻃﻼﻋﺎﺗ را ﻣﺤﺎﺳﺒﻪ و در
ﯾ ﺣﺎﻓﻈﻪ )ﺟﺪول( ﺑﻪ اﻧﺪازه ۲n/۲ذﺧﯿﺮه ﻣ ﻧﻤﺎﯾﺪ .ﺳﭙﺲ در ﻣﺮﺣﻠﻪ دوم ،ﺑﺎ در دﺳﺖ داﺷﺘﻦ ﺣﺪود ۲n/۲ﺑﯿﺖ ﺧﺮوﺟ از ﻣﻮﻟﺪ ،ﺣﺎﻟﺖ اوﻟﯿﻪ
ﻣﻮﻟﺪ را در زﻣﺎن ﺳﺮﯾﻊﺗﺮ ۲n/۲ﺑﻪ دﺳﺖ ﻣ آورد .ﺑﻪ ﻃﻮر دﻗﯿﻖﺗﺮ ﺗﺎﺑﻊ f : {۰, ۱}n → {۰, ۱}nرا در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ ﮐﻪ nﺑﯿﺖ ﺣﺎﻟﺖ اوﻟﯿﻪ
را ﺑﻪ nﺑﯿﺖ اول از دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ﻣﻮﻟﺪ ﻣ ﻧ ﺎرد .ﻓﺮض ﮐﻨﯿﺪ ﻣﻬﺎﺟﻢ D = ۲n/۲ + n − ۱ﺑﯿﺖ از دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ﺑﻪ ﺻﻮرت z۱ , · · · , zD
ﻣﺸﺎﻫﺪه ﮐﺮده اﺳﺖ .ﻣﻌﺎدﻻ ﻣ ﺗﻮان ﺗﺼﻮر ﮐﺮد ﮐﻪ ﻣﻬﺎﺟﻢ ۲n/۲ﻧﻘﻄﻪ ﺧﺮوﺟ از ﺗﺎﺑﻊ fﺑﻪ ﺻﻮرت ) zi = (zi , zi+۱ , · · · , zi+n−۱
ﺑﺮای i = ۱, ۲, · · · , ۲n/۲در اﺧﺘﯿﺎر دارد .ﻫﺪف ﻣﻬﺎﺟﻢ ﻣﻌ ﻮس ﮐﺮدن ﺗﺎﺑﻊ fدر ﯾ از ﻧﻘﺎط ﺧﺮوﺟ ﻣﺸﺎﻫﺪه ﺷﺪه اﺳﺖ .ﺑﻪ ﻋﺒﺎرت
دﯾ ﺮ ،اﮔﺮ ﻣﻬﺎﺟﻢ ﺑﺘﻮاﻧﺪ ﯾ ﺣﺎﻟﺖ ) s = (s۱ , s۲ , · · · , snﭘﯿﺪا ﮐﻨﺪ ﮐﻪ ) zi = f (sﻣﻮﻓﻖ ﺑﻪ ﺷ ﺴﺘﻦ رﻣﺰ دﻧﺒﺎﻟﻪای ﺷﺪه اﺳﺖ .ﺑﺮای اﯾﻦ
ﻣﻨﻈﻮر ﻣﻬﺎﺟﻢ در ﻓﺎز ﭘﯿﺶﭘﺮدازش ،ﺑﻪ ﺻﻮرت زﯾﺮ ﻋﻤﻞ ﻣ ﮐﻨﺪ:
• ﺑﻪ ﺗﻌﺪاد M = ۲n/۲ﺣﺎﻟﺖ اوﻟﯿﻪ ﺗﺼﺎدﻓ x۱ , · · · , xMاﻧﺘﺨﺎب ﮐﻦ.
• ﻣﻘﺎﯾﺮ ) yi = f (xiرا ﻣﺤﺎﺳﺒﻪ ﮐﻦ )ﯾﻌﻨ ،ﺣﺎﻟﺖ اوﻟﯿﻪ xiرا در ﻣﻮﻟﺪ ﻗﺮار ﺑﺪه و nﺑﯿﺖ اول آن yiرا ﺑﻪدﺳﺖ آور(.
ﺟﺪول ذﺧﯿﺮه ﮐﻦ. • زوجﻫﺎی ) (yi , xiرا ﺑﻪ ﺻﻮرت ﻣﺮﺗﺐ ﺑﺮﺣﺴﺐ ﻣﺆﻟﻔﻪ اول در ﯾ
ﺑﺮای اﻋﻤﺎل ﺣﻤﻠﻪ ،در ﻣﺮﺣﻠﻪ دوم ﻣﻬﺎﺟﻢ ﺑﺎ ﻣﺸﺎﻫﺪه دﻧﺒﺎﻟﻪی ﺧﺮوﺟ z۱ , · · · , zDاز ﻣﻮﻟﺪ ﺑﻪ ﺻﻮرت زﯾﺮ ﻋﻤﻞ ﻣ ﮐﻨﺪ:
• ﻧﻘﺎط ﺧﺮوﺟ ) zi = (zi , zi+۱ , · · · , zi+n−۱را ﺗﺸ ﯿﻞ ﺑﺪه.
• ﺑﻪ ازای i = ۱, ۲, · · · , ۲n/۲اﮔﺮ زوﺟ در ﺟﺪول ذﺧﯿﺮه ﺷﺪه ﺑﺎ ﻣﺆﻟﻔﻪی اول ziوﺟﻮد دارد ،ﻣﺆﻟﻔﻪ دوم آن را ﺑﺮﮔﺮدان.
√
ﺗﻨﺎﻗﺾ روز ﺗﻮﻟﺪ ﺑﯿﺎن ﻣ ﮐﻨﺪ اﮔﺮ از ﻣﺠﻤﻮﻋﻪای ﺷﺎﻣﻞ Nﻋﻀﻮ N ،ﻋﻀﻮ ﺑﻪ ﺗﺼﺎدف و ﺑﺎ ﺟﺎﯾ ﺰﯾﻨ اﻧﺘﺨﺎب ﺷﻮﻧﺪ ،اﺣﺘﻤﺎل ﻣﺸﺎﻫﺪه ﻋﻀﻮ
ﺗ ﺮاری ﻗﺎﺑﻞ ﺗﻮﺟﻪ )ﺣﺪود (۱/۲اﺳﺖ .ﻗﻀﯿﻪ زﯾﺮ ،ﺑﯿﺎن دﯾ ﺮی از ﺗﻨﺎﻗﺾ روز ﺗﻮﻟﺪ اﺳﺖ ﮐﻪ ﻣﻮﻓﻘﯿﺖ ﻣﻬﺎﺟﻢ را ﺗﻀﻤﯿﻦ ﻣ ﮐﻨﺪ.
ﻗﻀﯿﻪ ) ١روز ﺗﻮﻟﺪ( ﻓﺮض ﮐﻨﯿﺪ از ﺑﯿﻦ ﮔﺮداﯾﻪای Nﻋﻀﻮی ،دو ﻟﯿﺴﺖ N۱و N۲ﻋﻀﻮی ﺑﻪ ﺗﺼﺎدف اﻧﺘﺨﺎب ﻣ ﮐﻨﯿﻢ ﮐﻪ ﻟﯿﺴﺖﻫﺎ ﻣ ﺗﻮاﻧﻨﺪ
√ اﯾﻦ ﺻﻮرت اﮔﺮ N۱ · N۲ = Nآﻧ ﺎه ﺑﺎ اﺣﺘﻤﺎل ﺣﺪود ۱/۲ﺣﺪاﻗﻞ ﯾ ﻋﻀﻮ ﻣﺸﺘﺮک در دو ﻟﯿﺴﺖ وﺟﻮد دارای ﻋﻀﻮ ﺗ ﺮاری ﺑﺎﺷﻨﺪ .در
دارد .ﺑﻪ ﻃﻮر ﺧﺎص ،اﮔﺮ N۱ = N۲ = Nاﯾﻦ واﻗﻌﻪ ﺑﺎ اﺣﺘﻤﺎل ﻗﺎﺑﻞ ﺗﻮﺟﻪ ﺣﺪود ۱/۲رخ ﻣ دﻫﺪ.
١ Time-Memory-Data-Tradeoff
١٠-١
ﻣﻮﻟﺪﻫﺎی رﻣﺰ دﻧﺒﺎﻟﻪای ﻣﻌﺮوف ٢
در اداﻣﻪ ﺑﻪ ﻣﻌﺮﻓ رﻣﺰﻫﺎی دﻧﺒﺎﻟﻪای ﮐﻪ در ﻋﻤﻞ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣ ﮔﯿﺮﻧﺪ ﺧﻮاﻫﯿﻢ ﭘﺮداﺧﺖ .اﯾﻦ رﻣﺰﻫﺎی دﻧﺒﺎﻟﻪای ﺑﻪ ﻫﻤﺮاه ﺑﺮﺧ از
ﻣﺸﺨﺼﺎت آنﻫﺎ در ﺟﺪول ١آﻣﺪه اﺳﺖ.
A5/1 ٣
ﻣﻮﻟﺪ رﻣﺰ دﻧﺒﺎﻟﻪای A5/1ﺑﺮای رﻣﺰ ﮐﺮدن ارﺗﺒﺎﻃﺎت در اﺳﺘﺎﻧﺪارد ٢ GSMاﺳﺘﻔﺎده ﻣ ﺷﻮد .اﯾﻦ ﻣﻮﻟﺪ از ﺳﻪ ﺛﺒﺎت ﺧﻄ ٣ﺑﻪ ﻧﺎمﻫﺎی ،R۱
R۲و R۳ﺑﻪ ﻃﻮلﻫﺎی ۲۲ ،۱۹و ۲۳ﺗﺸ ﯿﻞ ﺷﺪه اﺳﺖ ﮐﻪ ﭼﻨﺪﺟﻤﻠﻪایﻫﺎی ﻣﺸﺨﺼﻪ آنﻫﺎ ﺑﻪ ﺗﺮﺗﯿﺐ ،۱ + x + x۲ + x۵ + x۱۹
۱ + x + x۲۲و ۱ + x + x۲ + x۱۵ + x۲۳ﻣ ﺑﺎﺷﻨﺪ .ﺣﺎﻟﺖ اوﻟﯿﻪ اﯾﻦ ﻣﻮﻟﺪ ﺑﻪ ۶۴ﺑﯿﺖ ﮐﻠﯿﺪ ﻣﺤﺮﻣﺎﻧﻪ ۴و ۲۲ﺑﯿﺖ ﺷﻤﺎره ﻗﺎب ۵ﮐﻪ
ﺑﻪ ﻋﻨﻮان ﻣﻘﺪار اوﻟﯿﻪ (IV) ۶اﺳﺘﻔﺎده ﻣ ﺷﻮد واﺑﺴﺘﻪ اﺳﺖ.
در اﯾﻨﺠﺎ -iﻣﯿﻦ ﺑﯿﺖ ﮐﻠﯿﺪ ﻣﺤﺮﻣﺎﻧﻪ را ﺑﺎ -i ،Kiﻣﯿﻦ ﺑﯿﺖ از ﺳﻤﺖ ﭼﭗ از -jﻣﯿﻦ ﺛﺒﺎت ﺧﻄ را ﺑﺎ ] Rj [i − ۱و -iﻣﯿﻦ ﺑﯿﺖ از ﻣﻘﺪار اوﻟﯿﻪ
را ﺑﺎ IViﻧﺸﺎن ﻣ دﻫﯿﻢ.
• ﺑﯿﺖﻫﺎی ] R۲ [۱۰] ،R۱ [۸و ] R۳ [۱۰وارد ﺗﺎﺑﻊ ﻣﺪ ٨ﻣ ﺷﻮﻧﺪ ﮐﻪ ﻣﺪ ) ٩اﮐﺜﺮﯾﺖ( آنﻫﺎ را ﻣ دﻫﺪ.
• ﺳﭙﺲ ،ﻫﺮ ﮐﺪام از ﺛﺒﺎتﻫﺎی ﺧﻄ ﮐﻼک ﻣ ﺧﻮرﻧﺪ اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ ﺑﯿﺖ ورودیﺷﺎن ﺑﻪ ﺗﺎﺑﻊ ﻣﺪ ،ﻣﺴﺎوی ﺧﺮوﺟ ﺗﺎﺑﻊ ﻣﺪ ﺑﺎﺷﺪ.
ﻓﺮم ﻧﺮﻣﺎل ﺟﺒﺮی ﺗﺎﺑﻊ ﻣﺪ ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ:
mahority(x۱ , x۲ , x۳ ) = x۱ x۲ + x۱ x۳ + x۲ x۳
١٠-٢
Algorithm 1 : The key-IV setup of A5/1
for i = 1 to 64 do
]R1 [0] ← Ki ⊕ R1 [0
]R2 [0] ← Ki ⊕ R2 [0
]R3 [0] ← Ki ⊕ R3 [0
clock all 3 LFSRs
for i = 65 to 86 do
]R1 [0] ← IVi−64 ⊕ R1 [0
]R2 [0] ← IVi−64 ⊕ R2 [0
]R3 [0] ← IVi−64 ⊕ R3 [0
clock all 3 LFSRs
for i = 1 to 99 do
Apply update state function
ﻣﻌﺎدﻻ ﻣ ﺗﻮان ﮔﻔﺖ ﮐﻪ ﭘﺲ از اﯾﻨ ﻪ ۸۶ﺑﯿﺖ ﮐﻠﯿﺪ و ﻣﻘﺪار اوﻟﯿﻪ ﺑﻪ ﺻﻮرت ﺧﻄ وارد ﺛﺒﺎتﻫﺎ ﻣ ﺷﻮﻧﺪ )دو ﺣﻠﻘﻪ اول forاﻟ ﻮرﯾﺘﻢ ،(١
اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ اﺟﺮاﯾ ۳۲۸ﺑﯿﺖ ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ ﮐﻪ ۱۰۰ﺑﯿﺖ اول دور اﻧﺪاﺧﺘﻪ ﻣ ﺷﻮﻧﺪ و ۲۲۸ﺑﯿﺖ ﺑﻌﺪ ،دﻧﺒﺎﻟﻪ ﮐﻠﯿﺪ اﺟﺮاﯾ را
ﺗﺸ ﯿﻞ ﻣ دﻫﻨﺪ.
۴.٣ﺗﺤﻠﯿﻞ A5/1
ﺣﻤﻠﻪ ﺟﺴﺘﺠﻮی ﮐﺎﻣﻞ ﻋﻠﯿﻪ A5/1ﺑﺎ در دﺳﺖ داﺷﺘﻦ ۶۴ﺑﯿﺖ از دﻧﺒﺎﻟﻪ ﺧﺮوﺟ ،ﻣ ﺗﻮاﻧﺪ ﺣﺎﻟﺖ اوﻟﯿﻪ ﻣﻮﻟﺪ را در زﻣﺎن ۲۶۴ﺑﻪ دﺳﺖ آورد.
ﺑﺎ اﺳﺘﻔﺎده از ﺣﻤﻠﻪ ﺣﺪس و ﺗﻌﯿﯿﻦ ١٢ﻣ ﺗﻮان ﺣﺎﻟﺖ دروﻧ ﻣﻮﻟﺪ را ﺑﺎ ﺣﺪس ﺣﺪود ۴١ﺑﯿﺖ )ﻫﺮ ﺑﯿﺖ ﺑﯿﺎﻧ ﺮ ﯾ راﺑﻄﻪ ﺧﻄ روی ﺣﺎﻟﺖ
١١ Running Key Generator Algorithm
١٢ guess-and-determine
١٠-٣
دروﻧ ﻣﻮﻟﺪ اﺳﺖ( ﺑﻪ دﺳﺖ آورد .ﺣﻤﻠﻪ ﺑﺪهﺑﺴﺘﺎن ﺣﺎﻓﻈﻪ زﻣﺎن ،داده اﯾﻦ ﮐﺎر را در زﻣﺎن ۲۳۲اﻧﺠﺎم ﻣ دﻫﺪ اﻣﺎ ﺑﻪ ﻫﻤﺎن ﻣﯿﺰان ﺣﺎﻓﻈﻪ و داده
)ﺑﯿﺖ ﺧﺮوﺟ ( ﻧﯿﺎز دارد.
A5/2 ۴
در اﯾﻨﺠﺎ ﺑﻪ ﻣﻌﺮﻓ ﻣﻮﻟﺪ رﻣﺰ دﻧﺒﺎﻟﻪای A5/2ﻣ ﭘﺮدازﯾﻢ .اﯾﻦ ﻣﻮﻟﺪ ،ﻧﺴﺒﺖ ﺑﻪ ﻣﻮﻟﺪ ،A5/1ﯾ ﺛﺒﺎت ﺧﻄ دﯾ ﺮ ﻫﻢ ﺑﻪ ﻧﺎم R۴دارد ،ﮐﻪ
ﭼﻨﺪﺟﻤﻠﻪای ﻣﺸﺨﺼﻪ آن ﻋﺒﺎرت اﺳﺖ از .۱ + x۵ + x۱۷ :در اﯾﻨﺠﺎ ﻧﯿﺰ ﻣﺎﻧﻨﺪ ،A5/1ﻣﻘﺪار دﻫ اوﻟﯿﻪ ﺗﻮﺳﻂ ۶۴ﺑﯿﺖ ﮐﻠﯿﺪ ﻣﺤﺮﻣﺎﻧﻪ و
ﻫﻤﭽﻨﯿﻦ ۲۲ﺑﯿﺖ ﺷﻤﺎره ﻗﺎب ﮐﻪ ﺑﻪ ﻋﻨﻮان ﻣﻘﺪار اوﻟﯿﻪ اﺳﺘﻔﺎده ﻣ ﺷﻮد اﻧﺠﺎم ﻣ ﮔﯿﺮد.
ﻣﺎﻧﻨﺪ ﻗﺴﻤﺖ ﻗﺒﻞ -iﻣﯿﻦ ﺑﯿﺖ ﮐﻠﯿﺪ ﻣﺤﺮﻣﺎﻧﻪ را ﺑﺎ -i ،Kiﻣﯿﻦ ﺑﯿﺖ از ﺳﻤﺖ ﭼﭗ از -jﻣﯿﻦ ﺛﺒﺎت ﺧﻄ را ﺑﺎ ] Rj [i − ۱و -iﻣﯿﻦ ﺑﯿﺖ از
ﮐﻠﯿﺪ آﺷ ﺎر را ﺑﺎ IViﻧﺸﺎن ﻣ دﻫﯿﻢ.
ﺑﯿﺖ از ﻫﺮ ﺛﺒﺎت ﺑﺮاﺑﺮ ۱ﻗﺮار داده ﻧﺤﻮه ﺑﺎرﮔﺬاری ﻣﺸﺎﺑﻪ A5/1اﺳﺖ .ﺗﻔﺎوت ﻗﺎﺑﻞ ﺗﻮﺟﻪ اﯾﻦ اﺳﺖ ﮐﻪ ﻗﺒﻞ از اﻧﺘﻘﺎل ﻧﺎﻣﻨﻈﻢ ﺛﺒﺎتﻫﺎ ﯾ
ﻣ ﺷﻮد ﮐﻪ ﺑﻪ وﺿﻮح ﺑﺎﻋﺚ ﮐﺎﻫﺶ اﻣﻨﯿﺖ ﻣ ﺷﻮد.
١٣ majoriry
١٠-۴
٣.۴اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ اﺟﺮاﯾ
ﺑﯿﺖ ﺧﺮوﺟ ﻣﺸﺎﺑﻪ A5/1ﺑﺮای ﺗﻮﻟﯿﺪ ﯾ ﺑﯿﺖ از دﻧﺒﺎﻟﻪ ﮐﻠﯿﺪ اﺟﺮاﯾ ،اﺑﺘﺪا ﺛﺒﺎتﻫﺎ ﺑﻪروزرﺳﺎﻧ ﻣ ﺷﻮﻧﺪ ﺳﭙﺲ ﺑﺎ اﻋﻤﺎل ﯾ ﺗﺎﺑﻊ ﻓﯿﻠﺘﺮ ،ﯾ
ﺗﻮﻟﯿﺪ ﻣ ﺷﻮد .ﺑﺮﻋ ﺲ ،A5/1ﺗﺎﺑﻊ ﻓﯿﻠﺘﺮ دﯾ ﺮ ﺧﻄ ﻧﯿﺴﺖ؛ ﺑﻠ ﻪ ﯾ ﺗﺎﺑﻊ درﺟﻪ ٢اﺳﺖ ﮐﻪ در ﺷ ﻞ ٢ﻗﺎﺑﻞ ﻣﺸﺎﻫﺪه اﺳﺖ.
۴.۴ﺗﺤﻠﯿﻞ A5/2
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨ ﻪ ﺗﻌﺪاد ﺑﯿﺖﻫﺎی ﻣﻔﯿﺪ ﻧﺎﻣﻌﻠﻮم ﺣﺎﻟﺖ A5/2ﺑﺮاﺑﺮ ﺑﺎ ٧٨ﺑﯿﺖ اﺳﺖ ،ﺣﻤﻠﻪ ﺟﺴﺘﺠﻮی ﮐﺎﻣﻞ ﺑﺎ در دﺳﺖ داﺷﺘﻦ ٧٨ﺑﯿﺖ از دﻧﺒﺎﻟﻪ
ﺧﺮوﺟ ،ﻣ ﺗﻮاﻧﺪ ﺣﺎﻟﺖ اوﻟﯿﻪ ﻣﻮﻟﺪ را در زﻣﺎن ۲۷۸ﺑﻪ دﺳﺖ آورد .ﺑﺎ اﺳﺘﻔﺎده از ﺣﻤﻠﻪ ﺗﻘﺴﯿﻢ و ﺣﻞ ١۴ﻣ ﺗﻮان ﺣﻤﻠﻪ ﺑﻬﺘﺮی ﺑﺎ ﺟﺴﺘﺠﻮی
ﮐﺎﻣﻞ روی ١۶ﺑﯿﺖ ﻣﻔﯿﺪ ﻣﺠﻬﻮل ﺛﺒﺎت ﭼﻬﺎرم اﻧﺠﺎم داد .ﺑﺮای اﯾﻦ ﮐﺎر ﻧﯿﺎز اﺳﺖ ﮐﻪ ﺑﻪازای ﻫﺮ ﺣﺎﻟﺖ اوﻟﯿﻪ ﯾ دﺳﺘ ﺎه ﻣﻌﺎدﻻت درﺟﻪ ٢
را ﺣﻞ ﻧﻤﻮد .اﯾﻦ دﺳﺘ ﺎه ﻏﯿﺮﺧﻄ را ﻣ ﺗﻮان ﺑﺎ اﺳﺘﻔﺎده از ﺗ ﻨﯿ ﺧﻄ ﺳﺎزی ﺑﻪ ﯾ دﺳﺘ ﺎه ﻣﻌﺎدﻻت ﺧﻄ ﺷﺎﻣﻞ
) ( ) ( ) (
۱۸ ۲۲ ۲۱
۱۸ + + ۱۸ + + ۱۸ + = ۶۵۵
۲ ۲ ۲
ﻣﺘﻐﯿﺮ ﺗﺒﺪﯾﻞ ﮐﺮد .ﺗﻌﺪاد ﺑﯿﺖﻫﺎی ﻣﻮرد ﻧﯿﺎز ﺑﺮای اﻋﻤﺎل ﺣﻤﻠﻪ ﻧﯿﺰ ﺑﻪ ﺗﻌﺪاد ﻣﺘﻐﯿﺮﻫﺎی ﺧﻄ ﺳﺎزی ﺷﺪه اﺳﺖ .ﺑﺎ اﺳﺘﻔﺎده از روش ﮔﺎوس ﺑﻪ
زﻣﺎن ۲۱۶ ۶۵۵۳ ≈ ۲۴۴ﻧﯿﺎز اﺳﺖ .در ﻋﻤﻞ زﻣﺎن ﻣﻮرد ﻧﯿﺎز را ﻣ ﺗﻮان ﺑﺎ ﭘﯿﺶﭘﺮدازش از اﯾﻦ ﻫﻢ ﮐﻤﺘﺮ ﮐﺮد .ﺣﻤﻠﻪ ﺑﺪهﺑﺴﺘﺎن ﺣﺎﻓﻈﻪ زﻣﺎن،
داده ﻋﻠﯿﻪ اﯾﻦ ﻣﻮﻟﺪ در زﻣﺎن ۲۴۰٫۵ﻗﺎﺑﻞ اﻋﻤﺎل ﻣ ﺑﺎﺷﺪ اﻣﺎ ﺑﻪ ﻫﻤﺎن ﻣﯿﺰان ﺣﺎﻓﻈﻪ و داده )ﺑﯿﺖ ﺧﺮوﺟ ( ﻧﯿﺎز دارد.
E۰ ۵
ﻣﻮﻟﺪ رﻣﺰ دﻧﺒﺎﻟﻪای E۰ﺑﺮای رﻣﺰﻧ ﺎری در ارﺗﺒﺎﻃﺎت ﺑﻪ وﺳﯿﻠﻪ ﺑﻠﻮﺗﻮث ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣ ﮔﯿﺮد .در اﯾﻨﺠﺎ ﺻﺮﻓﺎً ﺑﻪ ﺗﻮﺻﯿﻒ اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ
ﮐﻠﯿﺪ اﺟﺮاﯾ ﺑﺴﻨﺪه ﻣ ﮐﻨﯿﻢ .ﺷ ﻞ ٣ﻃﺮز ﮐﺎر ﻣﻮﻟﺪ E۰را ﻧﺸﺎن ﻣ دﻫﺪ.
ﻫﻤﺎنﻃﻮر ﮐﻪ در ﺷ ﻞ دﯾﺪه ﻣ ﺷﻮد ،در اﯾﻦ ﻣﻮﻟﺪ ﭼﻬﺎر ﺛﺒﺎت ﺧﻄ ﺑﻪ ﻃﻮلﻫﺎی ۳۳ ،۳۱ ،۲۵و ۳۹وﺟﻮد دارد ﮐﻪ ﭼﻨﺪ ﺟﻤﻠﻪایﻫﺎی
ﻓﯿﺪﺑ آنﻫﺎ ﺑﻪ ﺗﺮﺗﯿﺐ ﺑﻪ ﺻﻮرت زﯾﺮ ﻣ ﺑﺎﺷﺪ:
١۴ divide-and-conquer
١٠-۵
ﺷ ﻞ :٣ﻃﺮز ﮐﺎر ﻣﻮﻟﺪ E۰
١٠-۶
RC4 ۶
اﻟ ﻮرﯾﺘﻢ RC4ﯾ از ﭘﺮﮐﺎرﺑﺮدﺗﺮﯾﻦ اﻟ ﻮرﯾﺘﻢﻫﺎ در زﻣﯿﻨﻪی رﻣﺰﻫﺎی دﻧﺒﺎﻟﻪای ﻣ ﺑﺎﺷﺪ ﮐﻪ از آن در ﭘﺮوﺗ ﻞﻫﺎﯾ ﻣﺎﻧﻨﺪ ﭘﺮوﺗ ﻞ SSLدر اﯾﻨﺘﺮﻧﺖ
اﺳﺘﻔﺎده ﻣ ﺷﻮد RC4 .ﻧﯿﺰ از دو ﺑﺨﺶ اﺻﻠ ﺗﺸ ﯿﻞ ﺷﺪه اﺳﺖ :اﻟ ﻮرﯾﺘﻢ ﺑﺎرﮔﺬاری ﮐﻠﯿﺪ و اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ اﺟﺮاﯾ .ﺣﺎﻟﺖ داﺧﻠ اﯾﻦ
ﻣﻮﻟﺪ ﺷﺎﻣﻞ دو اﺷﺎرهﮔﺮ ﺑﺎﯾﺘ iو jو آراﯾﻪی )] S = (S[۰], S[۱], · · · , S[۲۵۵از ﺑﺎﯾﺖﻫﺎ اﺳﺖ ﮐﻪ در ﻫﺮ ﻟﺤﻈﻪ ﺗﺸ ﯿﻞ ﯾ ﺟﺎﯾ ﺸﺖ
از ﺑﺮدار ) (۰, ۱, · · · , ۲۵۵ﻣ دﻫﻨﺪ.
ﺣﻤﻠﻪ ﺟﺴﺘﺠﻮی ﮐﺎﻣﻞ ﺑﻪ اﯾﻦ ﻣﻮﻟﺪ ﺑﻪ زﻣﺎن ۲۵۶! · ۲۵۶۲ ≃ ۲۱۷۰۰ﻧﯿﺎز دارد .ﺑﻬﺘﺮﯾﻦ ﺣﻤﻠﻪ ﻣﻮﺟﻮد ،ﺣﺎﻟﺖ اوﻟﯿﻪ را در زﻣﺎن ۲۲۴۱ﭘﯿﺪا
ﻣ ﮐﻨﺪ .اﻟﺒﺘﻪ ﺣﻤﻠﻪﻫﺎی ﺗﻤﺎﯾﺰ ﻋﻤﻠ زﯾﺎدی ﻋﻠﯿﻪ اﯾﻦ ﻣﻮﻟﺪ وﺟﻮد دارد ﮐﻪ دﻧﺒﺎﻟﻪ ﺧﺮوﺟ آن را ﺑﻪ راﺣﺘ از ﯾ دﻧﺒﺎﻟﻪ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﺗﺸﺨﯿﺺ
ﻣ دﻫﺪ.
Trivium ٧
رﻣﺰ دﻧﺒﺎﻟﻪای Triviumﺑﺮای اﺳﺘﻔﺎده در ﮐﺎرﺑﺮدﻫﺎی ﺳﺨﺖاﻓﺰاری ﻃﺮاﺣ ﺷﺪه اﺳﺖ و ﯾ از ﻫﻔﺖ اﻟ ﻮرﯾﺘﻢ ﻧﻬﺎﯾ ﻣﺴﺎﺑﻘﻪ eStream
اﺳﺖ .در اﯾﻦ ﻣﻮﻟﺪ ۸۰ﺑﯿﺖ ﮐﻠﯿﺪ ﻣﺤﺮﻣﺎﻧﻪ ﮐﻪ آنﻫﺎ را ﺑﺎ ) (K۱ , · · · K۸۰ﻧﺸﺎن ﻣ دﻫﯿﻢ و ﻫﻤﭽﻨﯿﻦ ۸۰ﺑﯿﺖ ﻣﻘﺪار اوﻟﯿﻪ ﮐﻪ آنﻫﺎ را ﺑﺎ
١٠-٧
) (IV۱ , · · · , IV۸۰ﻧﺸﺎن ﻣ دﻫﯿﻢ ،وﺟﻮد دارد ﮐﻪ دﻧﺒﺎﻟﻪ ﮐﻠﯿﺪ اﺟﺮاﯾ ﺑﺎ اﺳﺘﻔﺎده از آنﻫﺎ ﺗﻌﯿﯿﻦ ﻣ ﺷﻮد .ﺷ ﻞ ۴ﺳﺎﺧﺘﺎر Triviumرا ﮐﻪ
ﺷﺎﻣﻞ ۲۸۸ﺑﯿﺖ ﺣﺎﻟﺖ ) (s۱ , · · · , s۲۸۸ﻣ ﺑﺎﺷﺪ ،ﻧﺸﺎن ﻣ دﻫﺪ.
ﻣﻮﻟﺪ Triviumدارای ﯾ ﺗﺎﺑﻊ اﻧﺘﻘﺎل ﺣﺎﻟﺖ ﻏﯿﺮﺧﻄ و ﯾ ﺗﺎﺑﻊ ﻓﯿﻠﺘﺮ ﺧﻄ ﺑﺮای ﺗﻮﻟﯿﺪ ﺧﺮوﺟ اﺳﺖ .ﺑﯿﺖﻫﺎی ﺣﺎﻟﺖ اﺑﺘﺪا ﺑﺎ اﺳﺘﻔﺎده از
ﺑﯿﺖﻫﺎی ﮐﻠﯿﺪ ،ﻣﻘﺪار اوﻟﯿﻪ و ﺗﻌﺪادی ﺑﯿﺖ ﺛﺎﺑﺖ ﭘﺮ ﻣ ﺷﻮﻧﺪ .ﺳﭙﺲ ﺑﯿﺖﻫﺎی ﺣﺎﻟﺖ ﺑﻪ ﺗﻌﺪاد ۴ × ۲۸۸ﺑﺪون ﺗﻮﻟﯿﺪ ﺧﺮوﺟ ﺑﻪروز رﺳﺎﻧ
ﻣ ﺷﻮد .اﻟ ﻮرﯾﺘﻢ ۵ﻧﺤﻮه ﻣﻘﺪاردﻫ اوﻟﯿﻪ و را اﻟ ﻮرﯾﺘﻢ ۶ﻧﺤﻮه ﺗﻮﻟﯿﺪ دﻧﺒﺎﻟﻪ ﮐﻠﯿﺪ اﺟﺮاﯾ را ﻧﺸﺎن ﻣ دﻫﺪ ﮐﻪ ﻣﻮﻟﺪ ﻣﺠﺎز ﺑﻪ ﺗﻮﻟﯿﺪ ﺣﺪاﮐﺜﺮ
N ≤ ۲۶۴اﺳﺖ ﮐﻪ ﺑﺎ z۱ , · · · , zNﻧﺸﺎن داده ﻣ ﺷﻮﻧﺪ .ﻫﻤﺎﻧﻄﻮر ﮐﻪ ﻣﺸﺎﻫﺪه ﻣ ﺷﻮد ،ﺗﺎﺑﻊ ﻓﯿﻠﺘﺮ ﯾ ﺗﺎﺑﻊ ﺧﻄ اﺳﺖ ﮐﻪ ۶ﺑﯿﺖ ﺣﺎﻟﺖ
داﺧﻠ را ﺑﺮای ﺗﻮﻟﯿﺪ ﯾ ﺑﯿﺖ از دﻧﺒﺎﻟﻪ ﮐﻠﯿﺪ اﺟﺮاﯾ ﺑﺎ xorﻣ ﮐﻨﺪ.
١٠-٨
Algorithm 6 : The Running Key Generator of Trivium
for i = 1 to N do
t1 ← s66 + s93
t2 ← s162 + s177
t3 ← s243 + s288
zi ← t1 + t2 + t3
t1 ← t1 + s91 · s92 + s171
t2 ← t2 + s175 · s176 + s264
t3 ← t3 + s286 · s287 + s69
) (s1 , s2 , · · · , s93 ) ← (t3 , s1 , · · · , s92
) (s94 , s95 , · · · , s177 ) ← (t1 , s94 , · · · , s176
) (s178 , s179 , · · · , s288 ) ← (t2 , s178 , · · · , s287
Grain ٨
رﻣﺰ دﻧﺒﺎﻟﻪای Grainﯾ دﯾ ﺮ از ﻫﻔﺖ اﻟ ﻮرﯾﺘﻢ ﻧﻬﺎﯾ ﻣﺴﺎﺑﻘﻪ eStreamاﺳﺖ ﮐﻪ ﺑﺮای ﻣﺤﯿﻂﻫﺎی ﺳﺨﺖاﻓﺰاری ﺑﺎ ﻣﻨﺎﺑﻊ ﻣﺤﺪود ﻃﺮاﺣ
ﺷﺪه اﺳﺖ .در اﯾﻦ ﻣﻮﻟﺪ ۸۰ﺑﯿﺖ ﮐﻠﯿﺪ ﮐﻪ آنﻫﺎ را ﺑﺎ ) (K۰ , · · · , K۷۹ﻧﺸﺎن ﻣ دﻫﯿﻢ و ﻫﻤﭽﻨﯿﻦ ۶۴ﺑﯿﺖ ﻣﻘﺪار اوﻟﯿﻪ ) (IVﮐﻪ آنﻫﺎ
١۶
را ﺑﺎ ) (IV۰ , · · · , IV۷۹ﻧﻤﺎﯾﺶ ﻣ دﻫﯿﻢ ،وﺟﻮد دارد .اﯾﻦ ﻣﻮﻟﺪ از ﯾ ﺛﺒﺎت ﺧﻄ ،ﯾ ﺛﺒﺎت ﻏﯿﺮﺧﻄ (NFSR) ١۵و ﯾ ﺗﺎﺑﻊ ﻓﯿﻠﺘﺮ
ﺗﺸ ﯿﻞ ﺷﺪه اﺳﺖ.
ﮐﻪ راﺑﻄﻪ ﺑﺎزﮔﺸﺘ زﯾﺮ را ﺑﺮای ﺑﻪروز رﺳﺎﻧ ﺛﺒﺎت ﺧﻄ ﻣﻌﯿﻦ ﻣ ﮐﻨﺪ:
)g(x = ۱ + x۱۷ + x۲۰ + x۲۸ + x۳۵ + x۴۳ + x۴۷ + x۵۲ + x۵۹ + x۶۵ + x۷۱ + x۸۰
+x۱۷ x۲۰ + x۴۳ x۴۷ + x۶۵ x۷۱ + x۲۰ x۲۸ x۳۵ + x۴۷ x۵۲ x۵۹ + x۱۷ x۳۵ x۵۲ x۷۱
+x۲۰ x۲۸ x۴۳ x۴۷ + x۱۷ x۲۰ x۵۹ x۶۵ + x۱۷ x۲۰ x۲۸ x۳۵ x۴۳ + x۴۷ x۵۲ x۵۹ x۶۵ x۷۱
+x۲۸ x۳۵ x۴۳ x۴۷ x۵۲ x۵۹ ,
دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﭼﻨﺪﺟﻤﻠﻪای ﻓﻮق ﺻﺮﻓﺎً ﯾ ﻧﻤﺎﯾﺶ ﻧﻤﺎدﯾﻦ ﺑﺮای ﺗﻌﯿﯿﻦ راﺑﻄﻪ ﺑﺎزﮔﺸﺘ ﺛﺒﺎت ﻏﯿﺮﺧﻄ اﺳﺖ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨ ﻪ ﺑﯿﺖ ﺧﺮوﺟ
ﺛﺒﺎت ﺧﻄ ﺑﺎ ﺑﯿﺖ ورودی ﺛﺒﺎت ﻏﯿﺮﺧﻄ xorﻣ ﺷﻮد ،ﭼﻨﺪﺟﻤﻠﻪای ﻓﻮق ﺑﯿﺎﻧ ﺮ راﺑﻄﻪ ﺑﺎزﮔﺸﺘ زﯾﺮ ﺑﺮای ﺑﻪروز زﺳﺎﻧ ﺣﺎﻟﺖ ﺛﺒﺎت ﻏﯿﺮﺧﻄ
اﺳﺖ:
bi+۸۰ = si + bi+۶۳ + bi+۶۰ + bi+۵۲ + bi+۴۵ + bi+۳۷ + bi+۳۳ + bi+۲۸ + bi+۲۱
+bi+۱۵ + bi+۹ + bi + bi+۶۳ bi+۶۰ + bi+۳۷ bi+۳۳ + bi+۱۵ bi+۹
+bi+۶۰ bi+۵۲ bi+۴۵ + bi+۳۳ bi+۲۸ bi+۲۱ + bi+۶۳ bi+۴۵ bi+۲۸ bi+۹
+bi+۶۰ bi+۵۲ bi+۳۷ bi+۳۳ + bi+۶۳ bi+۶۰ bi+۲۱ bi+۱۵
+bi+۶۳ bi+۶۰ bi+۵۲ bi+۴۵ bi+۳۷ + bi+۳۳ bi+۲۸ bi+۲۱ bi+۱۵ bi+۹
+bi+۵۲ bi+۴۵ bi+۳۷ bi+۳۳ bi+۲۸ bi+۲۱ .
١۵ Nonlinear )Feedback Shift Register (NFSR
١۶ Filter Function
١٠-٩
ﺗﺎﺑﻊ ﻓﯿﻠﺘﺮ ﺑﺮ روی ١٢ﺑﯿﺖ از ﺑﯿﺖﻫﺎی ﺣﺎﻟﺖ ﺣﺎﺻﻞ ﻣ ﺷﻮد .ﺗﺎﺑﻊ ﻓﯿﻠﺘﺮ ﺑﺎ اﺳﺘﻔﺎده از ﺗﺎﺑﻊ ﺑﻮﻟ -۵ﻣﺘﻐﯿﺮه زﯾﺮ ﺗﻌﺮﯾﻒ ﺧﺮوﺟ ﺑﺎ اﻋﻤﺎل ﯾ
ﻣ ﺷﻮد:
h(x) = x۱ + x۴ + x۰ x۳ + x۲ x۳ + x۳ x۴ + x۰ x۱ x۲ + x۰ x۲ x۳ + x۰ x۲ x۴ + x۱ x۲ x۴ + x۲ x۳ x۴
ﮐﻪ در آن x۳ ،x۲ ،x۱ ،x۰و x۴ﺑﻪ ﺗﺮﺗﯿﺐ ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﺑﯿﺖﻫﺎی ﺣﺎﻟﺖ si+۶۴ ،si+۴۶ ،si+۲۵ ،si+۳و bi+۶۳ﻣ ﺑﺎﺷﺪ .ﻫﻔﺖ ﺑﯿﺖ دﯾ ﺮ
ﺣﺎﻟﺖ {bi+j }j∈Aﻫﺴﺘﻨﺪ ﮐﻪ } A = {۱, ۲, ۴, ۱۰, ۳۱, ۴۳, ۵۶ﮐﻪ ﺑﺎ ﺧﺮوﺟ ﺗﺎﺑﻊ ﺑﻮﻟ xorﻣ ﺷﻮﻧﺪ .ﺑﻨﺎﺑﺮاﯾﻦ ﺑﯿﺖ iام دﻧﺒﺎﻟﻪ ﮐﻠﯿﺪ
اﺟﺮاﯾ ﺑﻪ ﺻﻮرت زﯾﺮ ﺗﻮﻟﯿﺪ ﻣ ﺷﻮد:
∑
) zi = j∈A bi+j + h(si+۳ , si+۲۵ , si+۴۶ , si+۶۴ , bi+۶۳
ﺳﭙﺲ ﻣﺎﻧﻨﺪ ﺷ ﻞ ،۶ﻣﻮﻟﺪ ۱۶۰ﺑﺎر ﮐﻼک ﻣ ﺧﻮرد ،ﺑﺪون اﯾﻨ ﻪ ﺧﺮوﺟ ﺗﻮﻟﯿﺪ ﺷﻮد .در واﻗﻊ ﺑﻪ ﺟﺎی ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ اﺟﺮاﯾ ،در اﯾﻦ ﻣﺮﺣﻠﻪ
ﺧﺮوﺟ ﺗﺎﺑﻊ ﻓﯿﻠﺘﺮ ﺧﺮوﺟ ﺑﺎ ورودی ﺛﺒﺎتﻫﺎ xorﻣ ﺷﻮد.
١٠-١٠
ﺷ ﻞ :۶ﻣﻘﺪاردﻫ اوﻟﯿﻪ Grain
١٠-١١
ﺑﻪ ﻧﺎم ﺧﺪا
ﯾﺎدآوری ١
ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﺘﻘﺎرن روی ﻓﻀﺎی Mاﺳﺖ ﮐﻪ: ﺗﻌﺮﯾﻒ ١ﺳﻪﺗﺎﯾ ) Π = (Gen, Enc, Decﯾ
• )(k ← Gen
• )(k ← Gen
• ) c ← Enck (mb
ﺗﻌﺮﯾﻒ ٢ﻣ ﮔﻮﺋﯿﻢ ﺳﯿﺴﺘﻢ رﻣﺰ -(t, ϵ) ،Πاﻣﻦ اﺳﺖ اﮔﺮ ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ Aﮐﻪ در زﻣﺎن tاﺟﺮا ﻣ ﺷﻮد ،داﺷﺘﻪ ﺑﺎﺷﯿﻢ:
۱
≤ }A,Π = ۱
Pr{PrivKeav )(۱ + ε
۲
١١-١
روﯾ ﺮدﻫﺎی ﺗﺤﻠﯿﻞ ﺳﯿﺴﺘﻢﻫﺎی رﻣﺰﻧ ﺎری ٢
ﺳﯿﺴﺘﻢﻫﺎی رﻣﺰﻧ ﺎری را ﻣ ﺗﻮان دو ﻧﻮع ﺗﺤﻠﯿﻞ ﮐﺮد:
• روﯾ ﺮد واﻗﻌ :١در اﯾﻦ روﯾ ﺮد ﻣ ﮔﻮﺋﯿﻢ ﯾ ﺳﯿﺴﺘﻢ )-(t, εاﻣﻦ اﺳﺖ ،در ﺻﻮرﺗ ﮐﻪ ﻫﯿﭻ ﻣﻬﺎﺟﻢ ﺑﺎ ﺣﺪّاﮐﺜﺮ زﻣﺎن
اﺟﺮای tﻧﺘﻮاﻧﺪ ﺑﺎ ﻣﺰﯾﺖ ﺑﯿﺸﺘﺮ از εﺳﯿﺴﺘﻢ را ﺑﺸ ﻨﺪ.
• روﯾ ﺮد ﻣﺠﺎﻧﺒ :٢در اﯾﻦ روﯾ ﺮد ﻣ ﮔﻮﺋﯿﻢ ﯾ ﺧﺎﻧﻮاده از ﺳﯿﺴﺘﻢﻫﺎی رﻣﺰ اﻣﻦ اﺳﺖ ،ﻫﺮﮔﺎه ﻫﯿﭻ ﻣﻬﺎﺟﻢ ﮐﺎراﯾ ﻧﺘﻮاﻧﺪ
ﺑﺎ ﻣﺰﯾﺖ ﻏﯿﺮ ﻧﺎﭼﯿﺰ )ﻗﺎﺑﻞ ﺗﻮﺟﻪ( ﺳﯿﺴﺘﻢ را ﺑﺸ ﻨﺪ.
ﺗﺎﮐﻨﻮن ﻣﺎ اﻣﻨﯿﺖ ﺳﯿﺴﺘﻢﻫﺎ را ﺑﻪ روﯾ ﺮد واﻗﻌ )دﻗﯿﻖ ،ﻋﯿﻨ ﯾﺎ ﺗﺤﻘﯿﻘ ﻫﻢ ﻣ ﺗﻮان ﮔﻔﺖ( ﻣﻄﺮح ﮐﺮدﯾﻢ .اﻣﺎ در اداﻣﻪ از روﯾ ﺮد
ﻣﺠﺎﻧﺒ اﺳﺘﻔﺎده ﻣ ﮐﻨﯿﻢ ﮐﻪ ﺑ ﻧﯿﺎز از tو εو ﺑﻪ دﻧﺒﺎل ﮐﺸﯿﺪن اﯾﻦ ﻣﻘﺎدﯾﺮ در ﺗﻌﺎرﯾﻒ و اﺛﺒﺎتﻫﺎی اﻣﻨﯿﺘ اﺳﺖ .اﻣﺎ ﺑﺎﯾﺪ ﻣﻔﺎﻫﯿﻤ
ﮐﻪ در ﺗﻌﺮﯾﻒ روﯾ ﺮد ﻣﺠﺎﻧﺒ اﺳﺘﻔﺎده ﺷﺪه دﻗﯿﻘﺎً ﺗﻌﺮﯾﻒ ﺷﻮﻧﺪ.
ﺧﺎﻧﻮادهای از ﺳﯿﺴﺘﻢﻫﺎ .در روﯾ ﺮد واﻗﻌ ،ﺻﺮﻓﺎ اﻣﻨﯿﺖ ﯾ ﺳﯿﺴﺘﻢ ﻣﻄﺮح اﺳﺖ در ﺣﺎﻟﯿ ﻪ در روﯾ ﺮد ﻣﺠﺎﻧﺒ اﻣﻨﯿﺖ
ﺧﺎﻧﻮادهای از ﺳﯿﺴﺘﻢﻫﺎ ﻣﻄﺮح اﺳﺖ .اﻋﻀﺎی ﺧﺎﻧﻮاده ﺗﻮﺳﻂ ﯾ ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ ،ﮐﻪ ﺑﺎ nﻧﺸﺎن داده ﻣ ﺷﻮد ،ﺷﺎﺧﺺ ﻣ ﺷﻮﻧﺪ.
ﻣﻬﺎﺟﻢ ﮐﺎرا .در روﯾ ﺮد ﻣﺠﺎﻧﺒ زﻣﺎن اﺟﺮای ﻣﻬﺎﺟﻢ ﺑﺮﺣﺴﺐ ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ ،n ،ﺳﻨﺠﯿﺪه ﻣ ﺷﻮد و ﺑﺮای ﻣﺪل ﮐﺮدن ﻣﺤﺪودﯾﺖ
ﻗﺪرت ﻣﺤﺎﺳﺒﺎﺗ ﻣﻬﺎﺟﻢ ﻓﺮض ﻣ ﺷﻮد ﮐﻪ ﻣﻬﺎﺟﻢ در زﻣﺎن ﭼﻨﺪﺟﻤﻠﻪای ﺑﺮﺣﺴﺐ ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ اﺟﺮا ﻣ ﺷﻮد .ﻫﻤﭽﻨﯿﻦ ﺑﺮای
ﻣﻨﻈﻮر ﮐﺮدن ﻗﺪرت ﻣﻬﺎﺟﻢ در اﺳﺘﻔﺎده از ﺳ ﻪﻫﺎی ﺗﺼﺎدﻓ ﻓﺮض ﻣ ﺷﻮد ﮐﻪ ﻣﻬﺎﺟﻢ ﺗﺼﺎدﻓ اﺳﺖ .ﺑﻨﺎﺑﺮاﯾﻦ ﻣﻬﺎﺟﻢ ﮐﺎرا را
ﻣ ﺗﻮان ،در ﯾ ﻧ ﺎه ﺳﺎده ،اﻟ ﻮرﯾﺘﻢﻫﺎی ﺗﺼﺎدﻓ ﭼﻨﺪﺟﻤﻠﻪای ٣در ﻧﻈﺮ ﮔﺮﻓﺖ .دﻗﺖ ﮐﻨﯿﺪ ﻣﻬﺎﺟﻢ PPTﯾ اﻟ ﻮرﯾﺘﻢ ﺛﺎﺑﺖ
ﺑﺮای ﺣﻤﻠﻪ ﺑﻪ ﻫﻤﻪی اﻋﻀﺎی ﺧﺎﻧﻮاده ﺳﯿﺴﺘﻢ رﻣﺰ دارد .اﮔﺮ ﺑﺨﻮاﻫﯿﻢ ﺑﻪ ﻣﻬﺎﺟﻢ ﻗﺪرت ﺑﯿﺸﺘﺮی در اﻧﺘﺨﺎب اﻟ ﻮرﯾﺘﻢ ﺧﻮد ﺑﺮای
ﺣﻤﻠﻪ ﺑﻪ ﺳﯿﺴﺘﻢ ﺑﺪﻫﯿﻢ ﻣ ﺗﻮان ﻣﻬﺎﺟﻢ را ﺑﻪ ﺻﻮرت دﻧﺒﺎﻟﻪای از ﻣﻬﺎﺟﻢﻫﺎ در ﻧﻈﺮ ﮔﺮﻓﺖ ﮐﻪ ﺑﺮای ﺣﻤﻠﻪ ﺑﻪ ﺳﯿﺴﺘﻢ رﻣﺰ ﺑﺎ ﭘﺎراﻣﺘﺮ
اﻣﻨﯿﺘ nاز nاﻣﯿﻦ اﻟ ﻮرﯾﺘﻢ ﺧﻮد اﺳﺘﻔﺎده ﻣ ﮐﻨﺪ .ﭼﻨﯿﻦ ﻣﻬﺎﺟﻢﻫﺎﯾ ﻏﯿﺮ ﯾ ﻨﻮاﺧﺖ ۴ﻧﺎﻣﯿﺪه ﻣ ﺷﻮﻧﺪ .ﻟﺬا ﻗﻮیﺗﺮﯾﻦ ﻣﺪﻟ ﮐﻪ
ﺑﺮای ﺣﻤﻠﻪﮐﻨﻨﺪه ﮐﺎرا در رﻣﺰﻧ ﺎری ﺗﺼﻮر ﻣ ﺷﻮد ﻣﻬﺎﺟﻢ ﭼﻨﺪﺟﻤﻠﻪای اﺣﺘﻤﺎﻻﺗ ﻏﯿﺮﯾ ﻨﻮاﺧﺖ ۵اﺳﺖ ﮐﻪ ﺑﻪ ﺻﻮرت )· A(۱n ,
ﻧﺸﺎن داده ﻣ ﺷﻮد ﮐﻪ ﻋﻼﻣﺖ ﻧﻘﻄﻪ ﺑﯿﺎﻧ ﺮ ورودیﻫﺎی دﯾ ﺮ اﻟ ﻮرﯾﺘﻢ اﺳﺖ.
ﻣﺰﯾﺖ .در روﯾ ﺮد واﻗﻌ اﺣﺘﻤﺎل ﻣﻮﻓﻘﯿﺖ )ﻣﺰﯾﺖ( ﻣﻬﺎﺟﻢ ﯾ ﻋﺪد ﺛﺎﺑﺖ اﺳﺖ ﮐﻪ اﺳﺘﺮاﺗﮋی ﺣﻤﻠﻪﮐﻨﻨﺪه آﻧﺮا ﺗﻌﯿﯿﻦ ﻣ ﮐﻨﻨﺪ.
در روﯾ ﺮد ﻣﺠﺎﻧﺒ ﻣﺰﯾﺖ ﻣﻬﺎﺟﻢ ﺗﺎﺑﻌ از ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ ،n ،اﺳﺖ ﮐﻪ ﺑﺎز ﻫﻢ اﺳﺘﺮاﺗﮋی ﺣﻤﻠﻪﮐﻨﻨﺪه آﻧﺮا ﺗﻌﯿﯿﻦ ﻣ ﮐﻨﻨﺪ .ﻣﻨﻈﻮر از
ﯾ ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ﺗﺎﺑﻌ اﺳﺖ ﮐﻪ از ﻣﻌ ﻮس ﻫﺮ ﭼﻨﺪﺟﻤﻠﻪای ،ﺑﺮای nﻫﺎی ﺑﻪ اﻧﺪازه ﮐﺎﻓ ﺑﺰرگ ،ﮐﻮﭼ ﺘﺮ ﺑﺎﺷﺪ.
آزﻣﺎﯾﺶ ﺗﻌﺮﯾﻒ ﻣ ﺷﻮد .در روﯾ ﺮد ﻣﺠﺎﻧﺒ ﺧﺎﻧﻮادهای ﺷ ﺴﺘﻦ ﺳﯿﺴﺘﻢ .ﻣﻔﻬﻮم دﻗﯿﻖ ﺷ ﺴﺘﻦ در روﯾ ﺮد واﻗﻌ ﺗﻮﺳﻂ ﯾ
از آزﻣﺎﯾﺶﻫﺎ ﻣﻄﺮح اﺳﺖ ﮐﻪ ﺗﻮﺳﻂ ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ ﺷﺎﺧﺺ ﻣ ﺷﻮﻧﺪ.
اﻧﺘﺨﺎب ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ .در ﻋﻤﻞ ﺑﺮای اﺳﺘﻔﺎده از ﺳﯿﺴﺘﻢ ﺑﺎﯾﺪ از ﺳﯿﺴﺘﻢ ﺑﻪ ازای ﯾ ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ ﺛﺎﺑﺖ اﺳﺘﻔﺎده ﮐﺮد .روﯾ ﺮد
ﻣﺠﺎﻧﺒ ،اﻣﻨﯿﺖ ﺳﯿﺴﺘﻢ را در ﺻﻮرﺗ ﮐﻪ ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ ﺑﻪ اﻧﺪازه ﮐﺎﻓ ﺑﺰرگ اﻧﺘﺨﺎب ﺷﺪهﺑﺎﺷﺪ ،ﺗﻀﻤﯿﻦ ﻣ ﮐﻨﺪ .ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ
nﻟﺰوﻣﺎً ﻧﺸﺎندﻫﻨﺪهی ﺳﻄﺢ اﻣﻨﯿﺖ ۲nﺑﯿﺘ ﻧﯿﺴﺖ.
١ Concrete analysis
٢ Asymptotical analysis
)٣ Probablilistic Polynomial Time (PPT
۴ non-uniform
)۵ Non-uniform probablilistic polynomial time (nuPPT
١١-٢
ﺗﺤﻠﯿﻞ ﻣﺠﺎﻧﺒ ٣
ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ١.٣
n۰ ∈ Nوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﺗﻌﺮﯾﻒ ) ٣ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ( ﺗﺎﺑﻊ ﻧﺎﻣﻨﻔ ε : N → Rرا ﻧﺎﭼﯿﺰ ﻣ ﮔﻮﯾﻨﺪ ﻫﺮﮔﺎه ﺑﻪ ازای ﻫﺮ ،c > ۰ﯾ
ﮐﻪ ﺑﺮای n > n۰داﺷﺘﻪ ﺑﺎﺷﯿﻢ .ε(n) < n۱c
∑
)p(n
ﻧﺎﭼﯿﺰ اﺳﺖ. ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎﺷﺪ و ) ε۱ , · · · , εp(nﺗﻮاﺑﻊ ﻧﺎﭼﯿﺰ ﺑﺎﺷﻨﺪ ،آﻧ ﺎه )εi (n ﻗﻀﯿﻪ ١اﮔﺮ )·( pﯾ
i=۱
• ) k ← Gen(۱n
• ) k ← Gen(۱n
• ) c ← Enck (mb
و در ﻏﯿﺮ اﯾﻦ در ﺻﻮرﺗ ﮐﻪ bو ̂ bﺑﺮاﺑﺮ ﺑﺎﺷﻨﺪ ،ﺧﺮوﺟ آزﻣﺎﯾﺶ ﮐﻪ ﺑﺎ ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ )A,Π (n
PrivKeavﻧﺸﺎن داده ﻣ ﺷﻮد ﺑﺮاﺑﺮ ﯾ
ﺻﻮرت ﺻﻔﺮ ﺗﻌﺮﯾﻒ ﻣ ﺷﻮد.
ﺗﻌﺮﯾﻒ ) ۶اﻣﻨﯿﺖ ﺗ ﭘﯿﺎﻣ ( ﻣ ﮔﻮﺋﯿﻢ ﺳﯿﺴﺘﻢ Πدارای اﻣﻨﯿﺖ ﺗ ﭘﯿﺎﻣ اﺳﺖ اﮔﺮ ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ ﭼﻨﺪﺟﻤﻠﻪایِ اﺣﺘﻤﺎﻻﺗ
ﻏﯿﺮﯾ ﻨﻮاﺧﺖِ ،Aﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ )·( εوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ:
۱
≤ }A,Π (n) = ۱
Pr{PrivKeav )+ ε(n
۲
١١-٣
اﻣﻨﯿﺖ ﭼﻨﺪﭘﯿﺎﻣ ۴.٣
PrivKmultرا ﺑﻪ ﺻﻮرت زﯾﺮ در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ.
آزﻣﺎﯾﺶ )A,Π (n
• ) k ← Gen(۱n
• ) ) ← A(۱n
)p(n )p(n
(m۱۰ , · · · , m۰ , m۱۱ , · · · , m۱
و در ﻏﯿﺮ اﯾﻦ در ﺻﻮرﺗ ﮐﻪ bو ̂ bﺑﺮاﺑﺮ ﺑﺎﺷﻨﺪ ،ﺧﺮوﺟ آزﻣﺎﯾﺶ ﮐﻪ ﺑﺎ ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ )A,Π (n
PrivKmultﻧﺸﺎن داده ﻣ ﺷﻮد ﺑﺮاﺑﺮ ﯾ
ﺻﻮرت ﺻﻔﺮ ﺗﻌﺮﯾﻒ ﻣ ﺷﻮد.
ﺗﻌﺮﯾﻒ ) ٧اﻣﻨﯿﺖ ﭼﻨﺪﭘﯿﺎﻣ ( ﻣ ﮔﻮﺋﯿﻢ ﺳﯿﺴﺘﻢ Πدارای اﻣﻨﯿﺖ ﭼﻨﺪﭘﯿﺎﻣ اﺳﺖ اﮔﺮ ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ ﭼﻨﺪﺟﻤﻠﻪایِ اﺣﺘﻤﺎﻻﺗ
ﻏﯿﺮﯾ ﻨﻮاﺧﺖِ ،Aﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ )·( εوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ:
۱
≤ }A,Π (n) = ۱
Pr{PrivKmult )+ ε(n
۲
ﺗﻌﺮﯾﻒ ) ٩ﺗﻤﺎﯾﺰﻧﺎﭘﺬﯾﺮی ﻣﺤﺎﺳﺒﺎﺗ ( دو ﺧﺎﻧﻮادهی X = {Xn }n∈Nو Y = {Yn }n∈Nرا ﺗﻤﺎﯾﺰﻧﺎﭘﺬﯾﺮ ﻣﺤﺎﺳﺒﺎﺗ ﻣ ﻧﺎﻣﯿﻢ و
ﻣ ﻧﻮﯾﺴﯿﻢ ،X ≃ Yاﮔﺮ ﺑﺮای ﻫﺮ ﺗﻤﺎﯾﺰﮔﺮ nuPPTﻣﺎﻧﻨﺪ Dﯾ ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ﻣﺎﻧﻨﺪ )·( εوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ:
ﺗﻮزﯾﻊ ﺑﺮ روی ) {۰, ۱}l(nﺑﻪ ازای ﯾ ﺗﻌﺮﯾﻒ ) ١٠ﺗﻮزﯾﻊ ﺷﺒﻪﺗﺼﺎدﻓ ( ﺧﺎﻧﻮادهی ﺗﻮزﯾﻊﻫﺎی } {Xnﮐﻪ در آن Xnﯾ
ﭼﻨﺪﺟﻤﻠﻪای )·( lاﺳﺖ ﺷﺒﻪﺗﺼﺎدﻓ ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد ﻫﺮﮔﺎه } ).{Xn } ≃ {Ul(n
ﺗﻌﺮﯾﻒ ) ١١ﻣﻮﻟّﺪ ﺷﺒﻪﺗﺼﺎدﻓ ( ﻓﺮض ﮐﻨﯿﺪ )·( lﯾ ﭼﻨﺪﺟﻤﻠﻪای و ∗} G : {۰, ۱}∗ → {۰, ۱ﯾ اﻟ ﻮرﯾﺘﻢ ﻗﻄﻌ ﺑﺎﺷﺪ ﮐﻪ
ﻫﺮ ورودی -nﺑﯿﺘ sرا ﺑﻪ ﯾ رﺷﺘﻪ )-l(nﺑﯿﺘ ) G(sﺗﺒﺪﯾﻞ ﻣ ﮐﻨﺪ .اﻟ ﻮرﯾﺘﻢ Gﯾ ﻣﻮﻟّﺪ ﺷﺒﻪﺗﺼﺎدﻓ اﺳﺖ اﮔﺮ
ﻣﺜﺎل ١٢ﻓﺮض ﮐﻨﯿﺪ ﻣﻮﻟّﺪ ﺷﺒﻪﺗﺼﺎدﻓ )·( Gﺑﺎ ﭼﻨﺪﺟﻤﻠﻪای ﮔﺴﺘﺮش )·( lدر اﺧﺘﯿﺎر دارﯾﻢ .ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﺘﻘﺎرن Πروی ﻓﻀﺎی
ﭘﯿﺎم ) M = {۰, ۱}l(nرا ﺑﻪ ﺻﻮرت زﯾﺮ در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ:
• ) k ← Gen(۱n
١١-۴
• )Enck (m) = m ⊕ G(k
از ﺳﯿﺴﺘﻢ ﻓﻮق دارای اﻣﻨﯿﺖ ﺗ ﭘﯿﺎﻣ اﺳﺖ اﻣﺎ اﻣﻨﯿﺖ ﭼﻨﺪﭘﯿﺎﻣ ﻧﺪارد .ﺑﺮای ﺣﻤﻠﻪ ﺑﻪ ﺳﯿﺴﺘﻢ ﻓﻮق ،ﺣﻤﻠﻪﮐﻨﻨﺪه ﻣﺘﻦ رﻣﺰیِ ﯾ
دو دﺳﺘﻪ ﭘﯿﺎم زﯾﺮ را درﺧﻮاﺳﺖ و ) (c۱ , c۲را درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ:
ﺣﻤﻠﻪﮐﻨﻨﺪه در ﺻﻮرﺗ ﮐﻪ c۱و c۲ﺑﺎﻫﻢ ﺑﺮاﺑﺮ ﺑﺎﺷﻨﺪ b̂ = ۰ ،و در ﻏﯿﺮ اﯾﻦ ﺻﻮرت b̂ = ۱ﻗﺮار ﻣ دﻫﺪ .ﺣﻤﻠﻪﮐﻨﻨﺪهی ﺗﻮﺻﯿﻒﺷﺪه،
دارای ﻣﺰﯾﺖ ﻏﯿﺮﻧﺎﭼﯿﺰ و ﻗﺎﺑﻞ ﺗﻮﺟﻪ اﺳﺖ ﭼﺮا ﮐﻪ اﺣﺘﻤﺎل ﻣﻮﻓﻘﯿﺖ وی ﯾ ﻣ ﺑﺎﺷﺪ .ﻟﺬا ﺳﯿﺴﺘﻢ Πدارای اﻣﻨﯿﺖ ﭼﻨﺪﭘﯿﺎﻣ ﻧﯿﺴﺖ.
١١-۵
ﺑﻪ ﻧﺎم ﺧﺪا
.٢ﻣﻬﺎﺟﻢ ،Aدو دﺳﺘﻪ ﭘﯿﺎم ﺑﻪ ﺻﻮرت ) (m۱۱ , ..., m۱و ) (m۱۰ , ..., m۰اﻧﺘﺨﺎب ﻣ ﮐﻨﺪ ﮐﻪ = | |mi۰
)p(n )p(n
PrivKmultﻧﺸﺎن داده ﻣ ﺷﻮد ،ﺑﺮاﺑﺮ ﯾ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣ ﺷﻮد اﮔﺮ b̂ = bو ﺻﻔﺮ اﺳﺖ اﮔﺮ
ﺧﺮوﺟ آزﻣﺎﯾﺶ ﮐﻪ ﺑﺎ )Π,A (n
̂ .b ̸= bدﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﺧﺮوﺟ آزﻣﺎﯾﺶ ﯾ ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ اﺳﺖ ﮐﻪ ﺑﻪ ﺗﻤﺎم ﺑﯿﺖﻫﺎی ﺗﺼﺎدﻓ آزﻣﺎﯾﺶ و اﻟ ﻮرﯾﺘﻢﻫﺎ،
ﺑﺴﺘ دارد.
ﺗﻌﺮﯾﻒ ٢ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﺘﻘﺎرن ) Π = (Gen, Enc, Decدارای اﻣﻨﯿﺖ ﭼﻨﺪﭘﯿﺎﻣ در ﺣﻀﻮر ﻣﻬﺎﺟﻢ ﺷﻨﻮدﮔﺮ اﺳﺖ ،اﮔﺮ
ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ ﻏﯿﺮ ﯾ ﻨﻮاﺧﺖ ﺗﺼﺎدﻓ ﭼﻨﺪﺟﻤﻠﻪای-زﻣﺎن ٢ﻣﺎﻧﻨﺪ ،Aﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ) ε(nوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ:
ﻗﻀﯿﻪ ١اﮔﺮ اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری ﺗﺼﺎدﻓ ﻧﺒﺎﺷﺪ ،اﻣﻨﯿﺖ ﭼﻨﺪ ﭘﯿﺎﻣ ﺑﺮﻗﺮار ﻧﯿﺴﺖ.
١
multi-message security expriment
٢
non-uniform problistic polynomial time
١٢-١
PrivKmultﺑﺎ اﺣﺘﻤﺎﻟ ﻗﺎﺑﻞ ﺗﻮﺟﻪ ﭘﯿﺮوز ﺷﻮد .ﻣﻬﺎﺟﻢ ﺑﺎ
ﺑﺮﻫﺎن .ﻣﻬﺎﺟﻢ Aرا ﺑﻪ ﮔﻮﻧﻪای ﻣ ﺳﺎزﯾﻢ ﮐﻪ در آزﻣﺎﯾﺶ )Π,A (n
درﯾﺎﻓﺖ ورودی ۱nدو دﺳﺘﻪ ﭘﯿﺎم ) (m۱۰ , m۲۰ ) = (۰n , ۰nو ) (m۱ , m۱ ) = (۰ , ۱را اﻧﺘﺨﺎب ﻣ ﮐﻨﺪ و آنﻫﺎ
۱ ۲ n n
را ﺑﺮای ﭼﺎﻟﺸ ﺮ ﻣ ﻓﺮﺳﺘﺪ و ﻣﺘﻦﻫﺎی رﻣﺰﺷﺪه ) (c۱ , c۲را درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻦﮐﻪ اﯾﻦ ﺳﯿﺴﺘﻢ رﻣﺰﻧ ﺎری
ﻗﻄﻌ اﺳﺖ ،اﮔﺮ دﺳﺘﻪ اول اﻧﺘﺨﺎب ﺷﺪه ﺑﺎﺷﺪ ،ﻫﻤﻮاره c۱ = c۲و اﮔﺮ دﺳﺘﻪ دوم اﻧﺘﺨﺎب ﺷﺪه ﺑﺎﺷﺪ .c۱ ̸= c۲
ﺑﻨﺎﺑﺮاﯾﻦ ﻣﻬﺎﺟﻢ ﺑﯿﺖ ̂ bرا ﺑﺮاﺑﺮ ﯾ ﻗﺮار ﻣ دﻫﺪ اﮔﺮ و ﻓﻘﻂ اﮔﺮ c۱ = c۲ﺑﺎﺷﺪ .ﺑﻪ وﺿﻮح ﻣﻬﺎﺟﻢ ﺑﺎ اﺣﺘﻤﺎل ﯾ در
آزﻣﺎﯾﺶ ﺑﺎﻻ ﭘﯿﺮوز ﻣ ﺷﻮد.
ﺗﺎﺑﻌ اﺳﺖ ﻣﺎﻧﻨﺪ f : {۰, ۱}n → {۰, ۱}nﮐﻪ از ﻣﺠﻤﻮﻋﻪ RFnﺑﻪ ﺗﺼﺎدف و ﺑﺎ ﺗﻮزﯾﻊ ﯾ ﻨﻮاﺧﺖ اﻧﺘﺨﺎب ﺷﺪه
اﺳﺖ .ﺑﺮای ذﺧﯿﺮه ﯾ ﺗﺎﺑﻊ ﺗﺼﺎدﻓ ﺑﻪ n۲nﺑﯿﺖ ﻧﯿﺎز اﺳﺖ ﮐﻪ ﺣﺘ ﺑﺮای ﻣﻘﺎدﯾﺮ ﮐﻮﭼ nﻧﯿﺰ ﻏﯿﺮ ﻋﻤﻠ اﺳﺖ.
ﻣﺜﻼ اﮔﺮ ﯾ ﺧﺎﻧﻮاده از ﺗﻮاﺑﻊ ﮐﻪ ﺷﺎﻣﻞ ۲nﺗﺎﺑﻊ اﺳﺖ را در ﻧﻈﺮ ﺑ ﯿﺮﯾﻢ ،ﻣ ﺗﻮان ﻫﺮ ﻋﻀﻮ آﻧﺮا ﺑﺎ −nﺑﯿﺖ ذﺧﯿﺮه ﮐﺮد.
واﺿﺢ اﺳﺖ ﮐﻪ وﻗﺘ ﯾ ﻋﻀﻮ از اﯾﻦ ﺧﺎﻧﻮاده ۲nﻋﻀﻮی از ﺑﻪ ﺗﺼﺎدف اﻧﺘﺨﺎب ﺷﻮد دﯾ ﺮ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﻧﯿﺴﺖ.
ﻣﺎ در اﯾﻦ ﺑﺨﺶ ﻣ ﺧﻮاﻫﯿﻢ ﻣﻔﻬﻮم ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ را ﺑﺮای ﯾ ﺧﺎﻧﻮاده از ﺗﻮاﺑﻊ ﺗﻌﺮﯾﻒ ﮐﻨﯿﻢ.
ﺧﺎﻧﻮاده از ﺗﻮاﺑﻊ ﺗﻌﺮﯾﻒ ) ٣ﺧﺎﻧﻮاده ﺗﻮاﺑﻊ( ﻣﺠﻤﻮﻋﻪ ∗} F = {fk : {۰, ۱}|k| → {۰, ۱}|k| }k∈{۰,۱را ﯾ
ﻣ ﻧﺎﻣﯿﻢ.
دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﺑﻪ ازای ﻫﺮ ﮐﻠﯿﺪ -nﺑﯿﺘ ﻣﺎﻧﻨﺪ kﺗﺎﺑﻊ )·( fkﺗﺎﺑﻌ اﺳﺖ ﮐﻪ -nﺑﯿﺖ را ﺑﻪ -nﺑﯿﺖ ﻣ ﺑﺮد .ﺣﺎل ﺳﻮال
اﯾﻦ اﺳﺖ ﮐﻪ ﭼ ﻮﻧﻪ ﻣ ﺗﻮان ﻣﻔﻬﻮم ﺷﺒﻪﺗﺼﺎﻓ ﺑﻮدن را ﺑﺮای ﯾ ﺧﺎﻧﻮاده از ﺗﻮاﺑﻊ ﺗﻌﺮﯾﻒ ﮐﺮد؟
ﺑﺮای ﺟﻮاب دادن ﺑﻪ ﺳﻮال ﺑﺎﻻ ﻣ ﺗﻮان از آزﻣﺎﯾﺶ زﯾﺮ ﮐﻪ ﺑﯿﻦ ﯾ ﭼﺎﻟﺸ ﺮ ﻓﺮﺿ و ﻣﻬﺎﺟﻢ Aاﻧﺠﺎم ﻣ ﺷﻮد اﺳﺘﻔﺎده
ﮐﺮد:
.٢ﭼﺎﻟﺸ ﺮ ﺑﺎ اﺳﺘﻔﺎده از ﺑﯿﺘ ﮐﻪ در ﻣﺮﺣﻠﻪ ی ﻗﺒﻞ ﺗﻮﻟﯿﺪ ﮐﺮده ﺗﺎﺑﻊ fرا ﺑﻪ ﺻﻮرت زﯾﺮ اﻧﺘﺨﺎب ﻣ ﮐﻨﺪ.
اﮔﺮ ،b = ۰ﺗﺎﺑﻊ fاز ﺑﯿﻦ ﺗﻤﺎم ﺗﻮاﺑﻊ ﻣﻤ ﻦ ﺑﻪ ﺗﺼﺎدف اﻧﺘﺨﺎب ﻣ ﺷﻮدf ← RFn :
اﮔﺮ ،b = ۱ﺗﺎﺑﻊ fﺑﻪ ﺗﺼﺎدف از ﻣﺠﻤﻮﻋﻪ } {fk | |k| = nاﻧﺘﺨﺎب ﻣ ﺷﻮد؛ ﯾﻌﻨ ﭼﺎﻟﺸ ﺮ اﺑﺘﺪا ﮐﻠﯿﺪ ﮐﺎﻣﻼ
ﺗﺼﺎدﻓ -nﺑﯿﺘ kرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ و ﺳﭙﺲ ﻗﺮار ﻣ دﻫﺪ.f ← fk :
١٢-٢
.٣ﻣﻬﺎﺟﻢ Aﺑﺎ درﯾﺎﻓﺖ ورودی ۱nﻣ ﺗﻮاﻧﺪ ﺑﻪ ﺗﻌﺪاد ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎر ﭘﺮﺳﻤﺎن ٣ﻫﺎی دﻟﺨﻮاه ﺧﻮد را ﺑﻪ ﺻﻮرت
ﺗﻄﺒﯿﻘ ۴اﻧﺘﺨﺎب و ﺑﺮای ﭼﺎﻟﺸ ﺮ ارﺳﺎل ﮐﻨﺪ .ﭼﺎﻟﺸ ﺮ ﻫﻢ ﺗﺎﺑﻊ fرا روی ﻫﻤﻪ ﭘﺮﺳﻤﺎنﻫﺎ اﻋﻤﺎل و ﭘﺎﺳﺦ را
ﺑﺮای ﻣﻬﺎﺟﻢ ارﺳﺎل ﻣ ﮐﻨﺪ )اﺻﻄﻼﺣﺎً ﮔﻔﺘﻪ ﻣ ﺷﻮد ﻣﻬﺎﺟﻢ ﺑﻪ ﺗﺎﺑﻊ fدﺳﺘﺮﺳ اُراﮐﻠ ۵ﻣ ﯾﺎﺑﺪ(. ﺑ درﻧ
ﺧﺮوﺟ آزﻣﺎﯾﺶ ﮐﻪ ﺑﺎ ) ExpPRFF,A (nﻧﺸﺎن داده ﻣ ﺷﻮد ﺑﺮاﺑﺮ ﯾ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣ ﺷﻮد اﮔﺮ b̂ = bو ﺻﻔﺮ
اﺳﺖ اﮔﺮ ̂ .b ̸= bدﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﺧﺮوﺟ آزﻣﺎﯾﺶ ﯾ ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ اﺳﺖ ﮐﻪ ﺑﻪ ﺗﻤﺎم ﺑﯿﺖﻫﺎی ﺗﺼﺎدﻓ آزﻣﺎﯾﺶ و
اﻟ ﻮرﯾﺘﻢﻫﺎ ،ﺑﺴﺘ دارد.
ﺗﻌﺮﯾﻒ ) ۵ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ( ﻓﺮض ﮐﻨﯿﺪ ∗} F = {fk : {۰, ۱}|k| → {۰, ۱}|k| }k∈{۰,۱ﯾ ﺧﺎﻧﻮاده از ﺗﻮاﺑﻊ
ﺑﺎﺷﺪ ﮐﻪ ﺑﺘﻮان ) fk (xرا از روی kو xدر زﻣﺎن ﭼﻨﺪﺟﻤﻠﻪای ﻣﺤﺎﺳﺒﻪ ﮐﺮد .ﻣ ﮔﻮﯾﯿﻢ Fﺷﺒﻪﺗﺼﺎدﻓ اﺳﺖ اﮔﺮ ﺑﺮای
ﻫﺮ ﻣﻬﺎﺟﻢ ﻏﯿﺮ ﯾ ﻨﻮاﺧﺖ ﺗﺼﺎدﻓ ﭼﻨﺪﺟﻤﻠﻪای-زﻣﺎن ﻣﺎﻧﻨﺪ ،Aﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ) ε(nوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ:
دﺳﺘﺮﺳ اوراﮐﻠ ﯾ اﻟ ﻮرﯾﺘﻢ ﻣﺎﻧﻨﺪ Aﺑﻪ ﺗﺎﺑﻌ ﭼﻮن fرا ﺑﻪ ﺻﻮرت )·( Afﻧﺸﺎن ﻣ دﻫﻨﺪ .ﭼﻨﯿﻦ اﻟ ﻮرﯾﺘﻤ ﯾ
۶
ﻣﺎﺷﯿﻦ اوراﮐﻠ ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد .ﻣ ﺗﻮان ﭼﻨﯿﻦ ﺗﺼﻮر ﻧﻤﻮد ﮐﻪ ﻣﺎﺷﯿﻦ اوراﮐﻠ Aﺑﻪ ﺟﻌﺒﻪای ﮐﻪ اﺻﻄﻼﺣﺎً ﺟﻌﺒﻪﺳﯿﺎه
ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد دﺳﺘﺮﺳ دارد .ﺟﻌﺒﻪ ﺳﯿﺎه ﯾ ﻧﻮار ورودی و ﯾ ﻧﻮار ﺧﺮوﺟ دارد ﺑﻪ ﻃﻮریﮐﻪ ﺑﻪ ﻣﺤﺾ اﯾﻨ ﻪ ﻣﺎﺷﯿﻦ
Aﭘﺮﺳﻤﺎن ﺧﻮد را ﺑﺮ روی ﻧﻮار ورودی ﻗﺮار ﻣ دﻫﺪ ،ﺧﺮوﺟ ﺑﺮ روی ﻧﻮار ﺧﺮوﺟ ﻇﺎﻫﺮ ﻣ ﺷﻮد و ﻣﺎﺷﯿﻦ Aﻣ ﺗﻮاﻧﺪ
از آن اﺳﺘﻔﺎده ﮐﻨﺪ .در ﻣﺤﺎﺳﺒﻪی زﻣﺎن اﺟﺮای اﻟ ﻮرﯾﺘﻢ )ﻣﺎﺷﯿﻦ( اوراﮐﻠ ،Aﻫﺮ ﭘﺮﺳﻤﺎن و درﯾﺎﻓﺖ ﭘﺎﺳﺦ آن ﯾ
واﺣﺪ زﻣﺎﻧ درﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣ ﺷﻮد .ﺑﻨﺎﺑﺮاﯾﻦ ﯾ اﻟ ﻮرﯾﺘﻢ اوراﮐﻠ ﭼﻨﺪﺟﻤﻠﻪای ،ﻓﻘﻂ ﺑﻪ ﺗﻌﺪاد ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎر )ﺑﺮ
ﺣﺴﺐ ﻃﻮل ورودی( ﻣ ﺗﻮاﻧﺪ ﺑﻪ اوراﮐﻞ )ﯾﺎ اوراﮐﻞﻫﺎی( ﺧﻮد دﺳﺘﺮﺳ ﭘﯿﺪا ﮐﻨﺪ .ﺗﻌﺮﯾﻒ زﯾﺮ ﮐﻪ ﺑﺎ اﺳﺘﻔﺎده از ﻣﺎﺷﯿﻦ
)ﻣﻬﺎﺟﻢ( اوراﮐﻠ اراﺋﻪ ﺷﺪه اﺳﺖ ﻣﻌﺎدل ﺗﻌﺮﯾﻒ ﺑﺎﻻ از ﺷﺒﻪﺗﺼﺎدﻓ ﺑﻮدن ﯾ ﺧﺎﻧﻮاده از ﺗﻮاﺑﻊ اﺳﺖ.
ﺧﺎﻧﻮاده از ﺗﻮاﺑﻊ ∗} {fk : {۰, ۱}|k| → {۰, ۱}|k| }k∈{۰,۱ﺷﺒﻪﺗﺼﺎدﻓ اﺳﺖ، ﺗﻌﺮﯾﻒ ) ۶ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ( ﯾ
ﻫﺮﮔﺎه:
fk (x) .١را ﺑﺘﻮان در زﻣﺎن ﭼﻨﺪﺟﻤﻠﻪای از روی kو xﻣﺤﺎﺳﺒﻪ ﮐﺮد.
.٢ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ ﺗﺼﺎدﻓ Aﮐﻪ در زﻣﺎن ﭼﻨﺪ ﺟﻤﻠﻪ ای اﺟﺮا ﺷﻮد ،ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ) ε(nوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ:
)| Pr{f ← RFn : Af (·) (۱n ) = ۱} − Pr{k ← {۰, ۱}n : Afk (·) (۱n ) = ۱}| ≤ ε(n
ﻣﺜﺎل ٧ﺗﺎﺑﻊ fk (x) = k ⊕ xﺷﺒﻪﺗﺼﺎدﻓ ﻧﯿﺴﺖ .ﺑﺮای ﻧﺸﺎن دادن اﯾﻦ ﻣﻮﺿﻮع ﯾ ﻣﻬﺎﺟﻢ Aﻣ ﺳﺎزﯾﻢ ﮐﻪ ﺧﺎﻧﻮاده
ﻓﻮق را از ﺧﺎﻧﻮاده ﺗﻮاﺑﻊ ﺗﺼﺎدﻓ ﺗﺸﺨﯿﺺ دﻫﺪ .ﻣﻬﺎﺟﻢ ﺑﺎ درﯾﺎﻓﺖ ورودی ۱nدو ﭘﺮﺳﻤﺎن x۱ = ۰nو x۲ = ۱n
را اﻧﺘﺨﺎب ﻣ ﮐﻨﺪ و آنﻫﺎ را ﺑﺮای اوراﮐﻞ ﻣ ﻓﺮﺳﺘﺪ و ﭘﺎﺳﺦﻫﺎی y۱و y۲را درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ .اﮔﺮ y۱ ⊕ y۲ = ۱n
ﺑﺎﺷﺪ ،ﻣﻬﺎﺟﻢ ﺧﺮوﺟ ١را ﺑﺮﻣ ﮔﺮداﻧﺪ و در ﻏﯿﺮ اﯾﻦ ﺻﻮرت ﺧﺮوﺟ ٠را ﺑﺮﻣ ﮔﺮداﻧﺪ .اﯾﻦ ﻣﻬﺎﺟﻢ دارای ﻣﺰﯾﺖ
ﻏﯿﺮﻧﺎﭼﯿﺰ | |۱ − ۲−nاﺳﺖ ،زﯾﺮا:
٣
query
۴
addaptive
۵
oracle access
۶
black box
١٢-٣
Pr{f ← RFn : Af (·) (۱n ) = ۱} = Pr{f ← RFn | f (۰n ) ⊕ f (۱n ) = ۱n } = ۲−n
Pr{k ← {۰, ۱}n : Afk (·) (۱n ) = ۱} = Pr{k ← {۰, ۱}n : fk (۰n ) ⊕ fk (۱n ) = ۱n } = ۱
ﻧ ﺘﻪ ١ﺑﺮای ﺳﺎدﮔ ﺗﻌﺮﯾﻒ ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺮای ﺣﺎﻟﺘ ﮐﻪ ﻃﻮل ورودی ،ﻃﻮل ﮐﻠﯿﺪ و ﻃﻮل ﺧﺮوﺟ ﻫﻤ ﺑﺮاﺑﺮ
ﻫﺴﺘﻨﺪ اراﺋﻪ ﺷﺪ .ﻣﻔﻬﻮم ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ را ﻣ ﺗﻮان ﺑﻪ ﺗﻮاﺑﻌ ﮐﻪ ﻃﻮل ورودی ،ﻃﻮل ﮐﻠﯿﺪ و ﻃﻮل ﺧﺮوﺟ آﻧﻬﺎ ﻣﺘﻔﺎوت
اﺳﺖ ﺗﻌﻤﯿﻢ داد.
اﮔﺮ G : {۰, ۱}n → {۰, ۱}nﯾ ﻣﻮاد ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺎﺷﺪ ،ﺗﺎﺑﻊ ) fk (x) = G(k||xﮐﻪ nﺑﯿﺖ را ﺑﻪ ۲nﺑﯿﺖ
ﻣ ﻧ ﺎرد ،ﻟﺰوﻣﺎً ﯾ ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ﻧﯿﺴﺖ .اﻣﺎ روش ﭘﯿﭽﯿﺪهﺗﺮی ﺑﺮای ﺳﺎﺧﺖ ﯾ ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺎ اﺳﺘﻔﺎده از
ﯾ ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎدﻓ وﺟﻮد دارد.
ﻗﻀﯿﻪ ٢ﻣﻮﻟﺪ ﺷﺒﻪﺗﺼﺎدﻓ وﺟﻮد دارد اﮔﺮ وﺗﻨﻬﺎ اﮔﺮ ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ.
ﻗﻀﯿﻪ ٣ﻓﺮض ﮐﻨﯿﺪ ∗} {fk : {۰, ۱}|k| → {۰, ۱}|k| }k∈{۰,۱ﯾ ﺧﺎﻧﻮاده از ﺗﻮاﺑﻊ ﺷﺒﻪ ﺗﺼﺎدﻓ ﺑﺎﺷﺪ .ﺳﯿﺴﺘﻢ
) Π = (Gen, Enc, Decروی ﻓﻀﺎی ﭘﯿﺎم M = {۰, ۱}nﮐﻪ ﺑﻪ ﺻﻮرت زﯾﺮ ﺗﻌﺮﯾﻒ ﻣ ﺷﻮد ،دارای اﻣﻨﯿﺖ
ﭼﻨﺪﭘﯿﺎﻣ اﺳﺖ.
• اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ :Genورودی ۱nرا ﻣ ﮔﯿﺮد و ﮐﻠﯿﺪ ﺗﺼﺎدﻓ k ← {۰, ۱}nرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ.
• اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری :Encﭘﯿﺎم m ∈ {۰, ۱}nو ﮐﻠﯿﺪ k ∈ {۰, ۱}nرا ﻣ ﮔﯿﺮد و ﻣﺘﻦ رﻣﺰی cرا ﺑﻪ اﯾﻦ
ﺻﻮرت ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ ﮐﻪ اﺑﺘﺪا رﺷﺘﻪ ﺗﺼﺎدﻓ r ← {۰, ۱}nاﻧﺘﺨﺎب و ﺳﭙﺲ ⟩) c = ⟨r, m ⊕ fk (rﻣﺤﺎﺳﺒﻪ
ﻣ ﺷﻮد.
• اﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺸﺎﯾ :Decﻣﺘﻦ رﻣﺰی ∗} c ∈ {۰, ۱و ﮐﻠﯿﺪ k ∈ {۰, ۱}nرا درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ؛ ﺳﭙﺲ اﮔﺮ
⟩ c = ⟨r, sﮐﻪ r, s ∈ {۰, ۱}nﻣﺘﻦ اﺻﻠ ) m = s ⊕ fk (rﺑﺮﮔﺮداﻧﺪه ﻣ ﺷﻮد .در ﻏﯿﺮ اﯾﻦ ﺻﻮرت )اﮔﺮ
(|c| ̸= ۲nﻧﻤﺎد ⊥ ﺑﻪ ﻣﻌﻨﺎی ﻧﺎﻣﻌﺘﺒﺮ ﺑﻮدن ﻣﺘﻦ رﻣﺰی ﺑﺮﮔﺮداﻧﺪه ﻣ ﺷﻮد.
ﺷﻬﻮد اﺛﺒﺎت .اﺑﺘﺪا ﺑﺒﯿﻨﯿﻢ ﯾ ﻣﻬﺎﺟﻢ ﻏﯿﺮﭼﻨﺪﺟﻤﻠﻪای ﭼ ﻮﻧﻪ ﻣ ﺗﻮاﻧﺪ ﺑﻪ ﺳﯿﺴﺘﻢ ﺣﻤﻠﻪ ﮐﻨﺪ .ﺑﺎ اﺳﺘﻔﺎده از ﺗﻨﺎﻗﺾ روز
ﺗﻮﻟﺪ ﯾ ﻣﻬﺎﺟﻢ ﻏﯿﺮ ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎ ﻣﺰﯾﺖ ﻗﺎﺑﻞ ﺗﻮﺟﻪ ﺑﺮای آزﻣﺎﯾﺶ اﻣﻨﯿﺖ ﭼﻨﺪﭘﯿﺎﻣ ﻣ ﺳﺎزﯾﻢ .ﻫﺮﯾ از دﺳﺘﻪﻫﺎی
ﻣﺘﻦ اﺻﻠ ) (m۱۰ , · · · , m۰و ) (m۱۱ , · · · , m۱ﮐﻪ ﻣﻬﺎﺟﻢ اﻧﺘﺨﺎب ﻣ ﮐﻨﺪ ﺷﺎﻣﻞ p(n) = ۲n/۲ﻣﺘﻦ اﺳﺖ.
)p(n )p(n
ﻣﻬﺎﺟﻢ ﻫﺮ ﯾ از ) ۲p(nﻣﺘﻦ mijرا ﮐﻪ } j ∈ {۰, ۱و ) i = ۱, · · · , p(nﺑﻪ ﻃﻮر ﮐﺎﻣﻼ ﺗﺼﺎدﻓ از ﻣﺠﻤﻮﻋﻪی
} {۰n , ۱nاﻧﺘﺨﺎب ﻣ ﮐﻨﺪ .ﺳﭙﺲ ﻣﺘﻦﻫﺎی رﻣﺰی ) c۱ , · · · , cp(nرا ﮐﻪ ⟩ ci = ⟨ri , siو ri , si ∈ {۰, ۱}n
درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ .دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ اﮔﺮ iو jﻣﺘﻤﺎﯾﺰی وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ ﮐﻪ
ﻣﻬﺎﺟﻢ ﻣ ﺗﻮاﻧﺪ ﺗﺸﺨﯿﺺ دﻫﺪ ﮐﻪ ciﻫﺎ رﻣﺰﺷﺪهی ﮐﺪام دﺳﺘﻪ ﻫﺴﺘﻨﺪ؛ زﯾﺮا
١٢-۴
در اﯾﻦ ﺣﺎﻟﺖ ﻣﻬﺎﺟﻢ ﺑﯿﺖ bرا ﻣ ﺗﻮاﻧﺪ ﺑﻪ درﺳﺘ ﺣﺪس ﺑﺰﻧﺪ و ﺑﯿﺖ ̂ bرا ﻣﺘﻨﺎﻇﺮاً ﺗﻮﻟﯿﺪ ﮐﻨﺪ .در ﻏﯿﺮ اﯾﻦﺻﻮرت ﺑﯿﺖ
۱
۲
̂ bﺑﻪ ﻃﻮر ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﺗﻮﻟﯿﺪ ﻣ ﺷﻮد .ﺣﺎل اﺣﺘﻤﺎل ﻣﻮﻓﻘﯿﺖ ﻣﻬﺎﺟﻢ را ﻣﺤﺎﺳﺒﻪ ﻣ ﮐﻨﯿﻢ .ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ ﺑﺎ اﺣﺘﻤﺎل
۱
۲
ﭘﯿﺸﺎﻣﺪ ) mi۰ ⊕ mj۰ ̸= mi۱ ⊕ mj۱ﺑﺮای ﻫﺮ i, jدﺧﻮاه ﻣﺘﻤﺎﯾﺰ( اﺗﻔﺎق ﻣ اﻓﺘﺪ و ﻃﺒﻖ ﻗﻀﯿﻪ روز ﺗﻮﻟﺪ ﺑﺎ اﺣﺘﻤﺎل
ﻣﻘﺎدﯾﺮ ﻣﺘﻤﺎﯾﺰ i, jوﺟﻮد دارد ﮐﻪ .ri = rjﺑﻨﺎﺑﺮاﯾﻦ در ﺣﺎﻟﺖ اول ﮐﻪ ﺑﺎ اﺣﺘﻤﺎل ۱۴اﺗﻔﺎق ﻣ اﻓﺘﺪ ﻣﻬﺎﺟﻢ ﺑﺎ اﺣﺘﻤﺎل
ﯾ ﻣﻮﻓﻖ ﻣ ﺷﻮد و در ﺣﺎﻟﺖ دوم ﮐﻪ ﺑﺎ اﺣﺘﻤﺎل ۳۴اﺗﻔﺎق ﻣ اﻓﺘﺪ ﻣﻬﺎﺟﻢ ﺑﺎ اﺣﺘﻤﺎل ۱۲ﻣﻮﻓﻖ ﻣ ﺷﻮد .ﺑﻨﺎﺑﺮاﯾﻦ اﺣﺘﻤﺎل
ﻣﻮﻓﻘﯿﺖ ﻣﻬﺎﺟﻢ ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ
۱ ۳ ۱ ۵
= · ·۱+
۴ ۴ ۲ ۸
ﮐﻪ ﻣﺰﯾﺖ ﻗﺎﺑﻞ ﺗﻮﺟﻬ ﺑﺮای وی ﺑﻪ ﻫﻤﺮاه دارد.
ﺑﻪ ﺻﻮرت ﺷﻬﻮدی ﻣﻬﺎﺟﻢ ﭼﻨﺪﺟﻤﻠﻪای ﮐﻪ ) p(nﺑﺮای وی ﯾ ﭼﻨﺪﺟﻤﻠﻪای اﺳﺖ ،ﺗﻨﻬﺎ زﻣﺎﻧ در آزﻣﺎﯾﺶ اﻣﻨﯿﺖ ﭼﻨﺪ
)(p(n
) ۲
۲n
ﭘﯿﺎﻣ ﻣﻮﻓﻖ ﻣ ﺷﻮد ﮐﻪ ﺧﻮش ﺷﺎﻧﺲ ﺑﺎﺷﺪ و دو ﭘﯿﺎم ﺑﺎ ﻣﻘﺎدﯾﺮ ﺗﺼﺎدﻓ ﯾ ﺴﺎن رﻣﺰ ﺷﻮﻧﺪ .اﺣﺘﻤﺎل اﯾﻦ اﺗﻔﺎق از
ﮐﻤﺘﺮ اﺳﺖ ﮐﻪ ﺑﺮای ﺗﻮاﺑﻊ ﭼﻨﺪﺟﻤﻠﻪای )·( pﻧﺎﭼﯿﺰ اﺳﺖ.
١٢-۵
ﺑﻪ ﻧﺎم ﺧﺪا
ﺗﺎﺑﻊ ﺗﺼﺎدﻓ ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد .در ﻋﻤﻞ ﺑﻪ ﺟﺎی اﺳﺘﻔﺎده از ﺗﻮاﺑﻊ ﺗﺼﺎدﻓ ،از ﺗﻮاﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ اﺳﺘﻔﺎده ﻣ ﮐﻨﯿﻢ زﯾﺮا
ﺑﺮای ﻧﻤﺎﯾﺶ و ﮐﺪ ﮐﺮدن ﯾ ﺗﺎﺑﻊ ﺗﺼﺎدﻓ ﺑﻪ log(۲n۲ ) = n۲nﺑﯿﺖ ﻧﯿﺎز اﺳﺖ ﮐﻪ ﺣﺘ ﺑﺮای ﻣﻘﺎدﯾﺮ ﻧﺴﺒﺘﺎً ﮐﻮﭼ
n
،nﻧﻤ ﺗﻮاﻧﯿﻢ از اﯾﻦ ﺗﻮاﺑﻊ ﺑﻄﻮر ﻋﻤﻠ اﺳﺘﻔﺎده ﮐﻨﯿﻢ .ﯾ ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد اﮔﺮ ﻫﯿﭻ ﻣﻬﺎﺟﻢ ﮐﺎراﯾ
ﻧﺘﻮاﻧﺪ ﺑﺎ دﺳﺘﺮﺳ اوراﮐﻠ ﺑﻪ ﺗﺎﺑﻊ ،آن را از ﯾ ﺗﺎﺑﻊ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﺑﺎ ﻣﺰﯾﺖ ﻗﺎﺑﻞ ﺗﻮﺟﻬ ﺗﻤﯿﺰ دﻫﺪ .ﺑﺮای دﻗﯿﻖ ﮐﺮدن
اﯾﻦ ﻣﻔﻬﻮم ،ﻣ ﺗﻮان از روﯾ ﺮد دﻗﯿﻖ ١و ﻣﺠﺎﻧﺒ ٢اﺳﺘﻔﺎده ﮐﺮد .ﻣﺎ از روﯾ ﺮد دوم اﺳﺘﻔﺎده ﮐﺮدﯾﻢ ﮐﻪ ﺑﺮای اﯾﻦ ﻣﻨﻈﻮر
ﻻزم اﺳﺖ ﺗﻌﺮﯾﻒ ﺑﺮای ﺧﺎﻧﻮادهای از ﺗﻮاﺑﻊ ﻣﻄﺮح ﺷﻮد.
ﺗﻌﺮﯾﻒ ) ١ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ( ﺧﺎﻧﻮادهی ﺗﻮاﺑﻊ ∗} {fk : {۰, ۱}|k| → {۰, ۱}|k| }k∈{۰,۱را ﺷﺒﻪﺗﺼﺎدﻓ ٣ﮔﻮﯾﯿﻢ
اﮔﺮ:
اﻟ ﻮرﯾﺘﻢ ﭼﻨﺪﺟﻤﻠﻪای وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ ﺑﺘﻮاﻧﺪ ) fk (xرا از روی kو xﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ، • ﯾ
• ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ) ε(nوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ:
)| Pr{f ← RFn : Af (·) (۱n ) = ۱} − Pr{k ← {۰, ۱}n : Afk (·) (۱n ) = ۱}| ≤ ε(n
ﯾ روش ﻃﺮاﺣ ﺗﻮاﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ در ﻋﻤﻞ ،اﺳﺘﻔﺎده از رﻣﺰﻫﺎی دﻧﺒﺎﻟﻪای ﻣﺪرن اﺳﺖ ﮐﻪ دارای IVﻫﺴﺘﻨﺪ .ﺑﺎ
اﺳﺘﻔﺎده از ﯾ ﺧﺎﻧﻮاده از ﺗﻮاﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ،ﻣ ﺗﻮان ﺳﯿﺴﺘﻢ رﻣﺰ دﻧﺒﺎﻟﻪای ﺑﻪ ﺻﻮرت زﯾﺮ ﻃﺮاﺣ ﮐﺮد.
ﺗﻌﺮﯾﻒ ) ٢رﻣﺰ دﻧﺒﺎﻟﻪای( ﻓﺮض ﮐﻨﯿﺪ ∗} {fk : {۰, ۱}|k| → {۰, ۱}|k| }k∈{۰,۱ﯾ ﺧﺎﻧﻮاده از ﺗﻮاﺑﻪ ﺷﺒﻪﺗﺼﺎدﻓ
ﺑﺎﺷﺪ .ﺳﯿﺴﺘﻢ رﻣﺰ ) Π = (Gen, Enc, Decروی ﻓﻀﺎی ﭘﯿﺎم M = {۰, ۱}nﮐﻪ ﺑﻪ ﺷ ﻞ زﯾﺮ ﺗﻌﺮﯾﻒ ﻣ ﺷﻮد ﯾ
رﻣﺰ دﻧﺒﺎﻟﻪای اﺳﺖ:
١
concrete
٢
asymptotic
٣
pseudo-random
١٣-١
رﺷﺘﻪ ﺗﺼﺎدﻓ -nﺑﯿﺘ را ﺑﻪ ﻋﻨﻮان ﮐﻠﯿﺪ ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ: • اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ :ﯾ
• اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری :ﺑﺮای رﻣﺰ ﮐﺮدن ﭘﯿﺎم m ∈ {۰, ۱}nﺗﺤﺖ ﮐﻠﯿﺪ ،k ∈ {۰, ۱}nاﺑﺘﺪا رﺷﺘﻪی ﺗﺼﺎدﻓ
r ← {۰, ۱}nرا ﺗﻮﻟﯿﺪ ﮐﺮده و ﺳﭙﺲ ⟩ ⟨r, fk (r) ⊕ mرا ﺑﻪ ﻋﻨﻮان ﻣﺘﻦ رﻣﺰی ﺑﻪ ﺧﺮوﺟ ﻣ دﻫﺪ:
• اﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺸﺎﯾ :ﺑﺮای ﯾﺎﻓﺘﻦ ﭘﯿﺎم mﻣﺘﻨﺎﻇﺮ ﺑﺎ ﻣﺘﻦرﻣﺰی ⟩ c = ⟨r, uﮐﻪ r, u ∈ {۰, ۱}nﺑﻪ ﺻﻮرت
زﯾﺮ ﻋﻤﻞ ﻣ ﮐﻨﺪ:
١٣-٢
ﺗﻌﺮﯾﻒ ) ۴اﻣﻨﯿﺖ ﭼﻨﺪﭘﯿﺎﻣ ( ﺳﯿﺴﺘﻢ رﻣﺰ ) Π = (Gen, Enc, Decدارای اﻣﻨﯿﺖ ﭼﻨﺪﭘﯿﺎﻣ اﺳﺖ ،اﮔﺮ ﺑﺮای ﻫﺮ
ﻣﻬﺎﺟﻢ ﭼﻨﺪﺟﻤﻠﻪای-زﻣﺎن ﺗﺼﺎدﻓ ﻏﯿﺮﯾ ﻨﻮاﺧﺖ ) (٨ nuPPTﻣﺎﻧﻨﺪ ،Aﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ) ε(nﻣﻮﺟﻮد ﺑﺎﺷﺪ ﮐﻪ:
۱
≤ }A,Π (n) = ۱
Pr{PrivKmult )+ ε(n
۲
ﻗﻀﯿﻪ ١ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﻌﺮﻓ ﺷﺪه در ﺗﻌﺮﯾﻒ ،٢دارای اﻣﻨﯿﺖ ﭼﻨﺪﭘﯿﺎﻣ اﺳﺖ.
در اداﻣﻪ ﺑﻪ اﺛﺒﺎت ﺷﻬﻮدی اﯾﻦ ﻣﻮﺿﻮع ﻣ ﭘﺮدازﯾﻢ وﻟ از اﺛﺒﺎت دﻗﯿﻖ آن ﺻﺮفﻧﻈﺮ ﻣ ﮐﻨﯿﻢ.
آزﻣﺎﯾﺶ اﻣﻨﯿﺖ ﭼﻨﺪﭘﯿﺎﻣ را درﻧﻈﺮ ﺑ ﯿﺮﯾﺪ .ﭼﻨﺎﻧﭽﻪ ﻣﻬﺎﺟﻢ در اﯾﻦ آزﻣﺎﯾﺶ دﺳﺘﻪی اول ﭘﯿﺎمﻫﺎ را ﺑﺮﮔﺰﯾﻨﺪ ،ﭼﯿﺰی ﮐﻪ
درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ
⟩) )⟨r۱ , m۰ ⊕ fk (r۱ )⟩, . . . , ⟨rp(n) , m۰ ⊕ fk (rp(n
۱ )p(n
)p(n
⟨r۱ , m۱۱ ⊕ fk (r۱ )⟩, . . . , ⟨rp(n) , m۱ ⟩) )⊕ fk (rp(n
اﺳﺖ .ﻋﺎﻣﻞ اﺻﻠ ﮐﻪ ﻣﻮﺟﺐ ﻣ ﺷﻮد ﻣﻬﺎﺟﻢ ﻧﺘﻮاﻧﺪ دو دﺳﺘﻪ ﻣﺘﻦ رﻣﺰﺷﺪهی ﻣﺬﮐﻮر را از ﻫﻢ ﺗﺸﺨﯿﺺ دﻫﺪ اﯾﻦ اﺳﺖ
ﮐﻪ ﭼﻮن ﺗﺎﺑﻊ fﺷﺒﻪﺗﺼﺎدﻓ اﺳﺖ ،ﻣﻬﺎﺟﻢ ﻧﻤ ﺗﻮاﻧﺪ ﻣﻘﺎدﯾﺮ ) fk (riﻫﺎ را از ﻣﻘﺎدﯾﺮ ﺗﺼﺎدﻓ ﺗﺸﺨﯿﺺ دﻫﺪ .اﻟﺒﺘﻪ اﮔﺮ
ﻣﻬﺎﺟﻢ ﺷﻨﺎس داﺷﺘﻪ ﺑﺎﺷﺪ و دو ﺗﺎ از ﻣﻘﺎدﯾﺮ riﻫﺎ ﯾ ﺴﺎن ﺑﺎﺷﻨﺪ ،ﻗﺎدر ﺑﻪ ﺗﺸﺨﯿﺺ ﻣﺘﻦﻫﺎی رﻣﺰﺷﺪه از ﯾ ﺪﯾ ﺮ ﺧﻮاﻫﺪ
))(p(n
اﺣﺘﻤﺎل ﻧﺎﭼﯿﺰ اﺳﺖ .ﻃﺒﻖ اﺳﺖ ﮐﻪ ﺑﺮای ﻫﺮ ﺗﺎﺑﻊ ﭼﻨﺪﺟﻤﻠﻪای )·( pﯾ ۲
ﺑﻮد .اﻣﺎ اﺣﺘﻤﺎل ﭼﻨﯿﻦ روﯾﺪادی ﺑﺮاﺑﺮ
۲n
p(n) ≈ ۲اﺣﺘﻤﺎل ﻗﺎﺑﻞ ﺗﻮﺟﻬ اﺳﺖ ﮐﻪ ﺑﺮای ﻣﻬﺎﺟﻢﻫﺎی ﭼﻨﺪﺟﻤﻠﻪای ﻗﺎﺑﻞ n/۲
ﻗﻀﯿﻪ روز ﺗﻮﻟﺪ ،اﯾﻦ اﺣﺘﻤﺎل ﺑﺮای
اﺳﺘﻔﺎده ﻧﯿﺴﺖ.
١٣-٣
ﻧ ﺘﻪ ١ﭼﻮن اﻟ ﻮرﯾﺘﻢﻫﺎی رﻣﺰﻧ ﺎری ﺷﺮﮐﺖﮐﻨﻨﺪه در آزﻣﺎﯾﺶ ﺑﺎﻻ ﻣ ﺗﻮاﻧﻨﺪ اﺣﺘﻤﺎﻻﺗ ١٠ﺑﺎﺷﻨﺪ ،اﮔﺮ ﻣﻬﺎﺟﻢ ﺑﻪ ﺗﻌﺪاد
ﭼﻨﺪﺟﻤﻠﻪای ﺑﺎر ﺑﺨﻮاﻫﺪ ﭘﯿﺎﻣ را رﻣﺰ ﮐﻨﺪ ،ﻫﺮ ﺑﺎر ﻣ ﺗﻮاﻧﺪ ﻣﺘﻦ رﻣﺰﺷﺪهی ﻣﺘﻔﺎوﺗ درﯾﺎﻓﺖ ﮐﻨﺪ.
ﺗﻌﺮﯾﻒ ) ۶اﻣﻨﯿﺖ (CPAﺳﯿﺴﺘﻢ رﻣﺰ ) Π = (Gen, Enc, Decدارای اﻣﻨﯿﺖ ﻣﺘﻦ اﺻﻠ اﻧﺘﺨﺎﺑ )ﯾﺎ -CPA
اﻣﻦ (١١اﺳﺖ ،اﮔﺮ ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ ﭼﻨﺪﺟﻤﻠﻪای-زﻣﺎن ﺗﺼﺎدﻓ ﻏﯿﺮﯾ ﻨﻮاﺧﺖ ﻣﺎﻧﻨﺪ ،Aﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ) ε(nوﺟﻮد داﺷﺘﻪ
ﺑﺎﺷﺪ ﮐﻪ:
۱
≤ }A,Π (n) = ۱
Pr{PrivKcpa )+ ε(n
۲
ﻧ ﺘﻪ ٢ﯾ روش ﻋﻤﻠ ﺳﺎﺧﺖ ﺳﯿﺴﺘﻢﻫﺎی رﻣﺰی -CPAاﻣﻦ ،اﺳﺘﻔﺎده از رﻣﺰﻫﺎی دﻧﺒﺎﻟﻪای ١٢ﻣﺪرن اﺳﺖ ﮐﻪ ﻋﻼوه
ﺑﺮ ﮐﻠﯿﺪ ،از ﯾ ﻣﻘﺪار اوﻟﯿﻪ ) (١٣ IVﻧﯿﺰ اﺳﺘﻔﺎده ﻣ ﮐﻨﺪ.
ﺗﻌﺮﯾﻒ ) ٨اﻣﻨﯿﺖ (CCAﺳﯿﺴﺘﻢ رﻣﺰ ) Π = (Gen, Enc, Decدارای اﻣﻨﯿﺖ ﻣﺘﻦ رﻣﺰی اﻧﺘﺨﺎﺑ )ﯾﺎ -CPA
اﻣﻦ (١۴اﺳﺖ ،اﮔﺮ ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ ﭼﻨﺪﺟﻤﻠﻪای-زﻣﺎن ﺗﺼﺎدﻓ ﻏﯿﺮﯾ ﻨﻮاﺧﺖ ﻣﺎﻧﻨﺪ ،Aﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ) ε(nوﺟﻮد داﺷﺘﻪ
ﺑﺎﺷﺪ ﮐﻪ:
۱
≤ }A,Π (n) = ۱
Pr{PrivKcpa )+ ε(n
۲
١٠
probabilistic
١١
chosen plaintext attack secure
١٢
stream cipher
١٣
initial value
١۴
chosen ciphertext attack secure
١٣-۴
ﻣﺜﺎل ٩ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﻌﺮﻓ ﺷﺪه در ﺗﻌﺮﯾﻒ -CCA ،٢اﻣﻦ ﻧﯿﺴﺖ.
ﺑﺮای اﺛﺒﺎت اﯾﻦ ﻣﻮﺿﻮع ،ﮐﺎﻓﯿﺴﺖ ﻧﺸﺎن دﻫﯿﻢ ﻣﻬﺎﺟﻢ ﺗﺼﺎدﻓ ﭼﻨﺪﺟﻤﻠﻪای Aوﺟﻮد دارد ﮐﻪ ﻣ ﺗﻮاﻧﺪ در آزﻣﺎﯾﺶ
۱
ﺣﻤﻠﻪی ﻣﺘﻦ رﻣﺰی اﻧﺘﺨﺎﺑ ﺑﺎ اﺣﺘﻤﺎل ) + µ(nﻣﻮﻓﻖ ﺷﻮد ﮐﻪ ) µ(nﯾ ﺗﺎﺑﻊ ﻏﯿﺮﻧﺎﭼﯿﺰ )ﻗﺎﺑﻞ ﺗﻮﺟﻪ( اﺳﺖ .ﻣﻬﺎﺟﻢ
۲
Aرا ﺑﻪ اﯾﻦ ﺻﻮرت ﻣ ﺳﺎزﯾﻢ ﮐﻪ در ﻣﺮﺣﻠﻪ دوم آزﻣﺎﯾﺶ )ﺑﺪون اﺳﺘﻔﺎده از اوراﻟ ﻞﻫﺎی رﻣﺰﻧ ﺎری و رﻣﺰﮔﺸﺎﯾ (
دو دﺳﺘﻪ ﭘﯿﺎم ﺗﻤﺎم ﺻﻔﺮ m۰ = ۰nو ﺗﻤﺎم ﯾ m۱ = ۱nرا ﺗﻮﻟﯿﺪ ﮐﺮده و در اﺧﺘﯿﺎر ﭼﺎﻟﺸ ﺮ ١۵ﻗﺮار ﻣ دﻫﺪ.
ﻣﻬﺎﺟﻢ ﻣﻨﺘﻈﺮ ﻣ ﻣﺎﻧﺪ ﺗﺎ ﭼﺎﻟﺸ ﺮ ﺑﯿﺖ ﺗﺼﺎدﻓ bرا ﺗﻮﻟﯿﺪ و ﭘﯿﺎم mbرا ﺗﻮﺳﻂ اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری رﻣﺰ ﻧﻤﻮده و ﭘﯿﺎم
رﻣﺰی ⟩ c = ⟨r, uرا در اﺧﺘﯿﺎر او ﻗﺮار دﻫﺪ .ﺳﭙﺲ در ﻣﺮﺣﻠﻪ ۵آزﻣﺎﯾﺶ ،ﻣﻬﺎﺟﻢ ﺑﺎ درﯾﺎﻓﺖ ﻣﺘﻦ رﻣﺰی ⟩c = ⟨r, u
ﺑﺪﯾﻦ ﮔﻮﻧﻪ ﻋﻤﻞ ﻣ ﮐﻨﺪ :ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨ ﻪ ﻣﻬﺎﺟﻢ ﺑﻪ ﺗﻮاﺑﻊ رﻣﺰﻧ ﺎر و رﻣﺰﮔﺸﺎ دﺳﺘﺮﺳ اوراﮐﻠ دارد ،ﻣﻬﺎﺟﻢ ﭘﯿﺎم
ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﻣﺘﻦ رﻣﺰی ⟩ c′ = ⟨r, u ⊕ ۱۰n−۱را از ﺗﺎﺑﻊ رﻣﺰﮔﺸﺎ درﺧﻮاﺳﺖ ﻣ ﮐﻨﺪ و ﭘﺲ از درﯾﺎﻓﺖ ﭘﯿﺎم ﻣﺘﻨﺎﻇﺮ آن،
) ،m′ = Deck (c′ﺑﯿﺖ bbرا ﺑﺼﻮرت زﯾﺮ ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ:
{
= bb ۰ m′ = ۱۰n−۱
۱ m′ = ۰۱n−۱
دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﭼﻮن c′ ̸= cﻣﻬﺎﺟﻢ ﻣﺠﺎز ﺑﻪ درﺧﻮاﺳﺖ رﻣﺰﮔﺸﺎﯾ c′اﺳﺖ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨ ﻪ ) u = m ⊕ fk (rو
) u ⊕ ۱۰n−۱ = m′ ⊕ fk (rدارﯾﻢ .m′ = ۱۰n−۱ ⊕ mbﺑﻨﺎﺑﺮاﯾﻦ ﻫﻤﻮاره b = bbو ﻟﺬا اﺣﺘﻤﺎل ﻣﻮﻓﻘﯿﺖ ﻣﻬﺎﺟﻢ
ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ:
Pr{PrivKcca
A,Π (n) = ۱} = ۱
ﮐﻪ ﻧﺎﭼﯿﺰ ﻧﯿﺴﺖ .ﻟﺬا ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﻮرد ﻧﻈﺮ -CCAاﻣﻦ ﻧﯿﺴﺖ.
ﺑﻪ ﺗﻌﺒﯿﺮ دﯾ ﺮ ﺗﺎﺑﻊ Eرا ﺟﺎﯾ ﺸﺖ ﻣ ﮔﻮﯾﯿﻢ ،اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ ﯾ ﺑﻪ ﯾ ﺑﺎﺷﺪ .ﻣﺸﺎﺑﻪ ﺗﻮاﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ﻣ ﺗﻮان ﻣﻔﻬﻮم
ﺷﺒﻪﺗﺼﺎدﻓ ﺑﻮدن را ﺑﺮای ﺟﺎﯾ ﺸﺖﻫﺎ ﻧﯿﺰ ﻣﻄﺮح ﮐﺮد .ﯾ ﺟﺎﯾ ﺸﺖ ﺷﺒﻪﺗﺼﺎدﻓ ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد اﮔﺮ ﻫﯿﭻ ﻣﻬﺎﺟﻢ
ﮐﺎراﯾ ﻧﺘﻮاﻧﺪ ﺑﺎ دﺳﺘﺮﺳ اوراﮐﻠ ﺑﻪ ﺟﺎﯾ ﺸﺖ و ﻣﻌ ﻮساش ،آن را از ﯾ ﺟﺎﯾ ﺸﺖ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﺑﺎ ﻣﺰﯾﺖ ﻗﺎﺑﻞ
ﺗﻮﺟﻬ ﺗﻤﯿﺰ دﻫﺪ .ﺗﻌﺮﯾﻒ را ﻣ ﺗﻮان ﺑﻪ ﺻﻮرت دﻗﯿﻖ و ﯾﺎ ﻣﺠﺎﻧﺒ اراﺋﻪ ﮐﺮد ﮐﻪ ﻣﺎ از روﯾ ﺮ دوم اﺳﺘﻔﺎده ﻣ ﮐﻨﯿﻢ.
١٣-۵
∗}{Ek : {۰, ۱}|k| → {۰, ۱}|k| }k∈{۰,۱
اﻟ ﻮرﯾﺘﻢ ﭼﻨﺪﺟﻤﻠﻪای وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ ﺑﺘﻮاﻧﺪ ) Ek (mرا از روی kو mﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ. • ﯾ
ﮐﻪ RPnﻣﺠﻤﻮﻋﻪ ﻫﻤﻪ ﺟﺎﯾ ﺸﺖﻫﺎی روی رﺷﺘﻪﻫﺎی -nﺑﯿﺘ اﺳﺖ و اﻧﺪازه آن ! ۲nاﺳﺖ.
ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ﻧﯿﺰ ﻣ ﺑﺎﺷﺪ. ﺟﺎﯾ ﺸﺖ ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺎﺷﺪ ،ﯾ ﮔﺰاره ١اﮔﺮ Eﯾ
ﺟﺎﯾ ﺸﺖﻫﺎی ﺷﺒﻪﺗﺼﺎدﻓ ﮐﺎرﺑﺮدﻫﺎی ﺑﺴﯿﺎر زﯾﺎدی در رﻣﺰﻧ ﺎری دارد و ﺗﺤﺖ ﻋﻨﻮان رﻣﺰﻗﺎﻟﺒ ١٧ﺷﻨﺎﺧﺘﻪ ﻣ ﺷﻮﻧﺪ .از
رﻣﺰﻫﺎی ﻗﺎﺑ ﻣﻌﺮوف ﻣ ﺗﻮان ﺑﻪ DESو AESاﺷﺎره ﮐﺮد .اﯾﻦ ﺟﺎﯾﺸ ﺖﻫﺎ ﺑﺮای ﻃﻮل ورودی )ﻗﺎﻟﺐ( و ﻃﻮل ﮐﻠﯿﺪ
ﺧﺎص ﻃﺮاﺣ ﺷﺪهاﻧﺪ .رﻣﺰ ﻗﺎﻟﺒ DESدارای ﻃﻮل ﻗﺎﻟﺐ ۶۴و ﻃﻮل ﮐﻠﯿﺪ ۵۶ﺑﯿﺖ اﺳﺖ .رﻣﺰ ﻗﺎﻟﺒ AESدارای
ﺳﻪ ﻧﺴﺨﻪ AES-192 ،AES-128و AES-256اﺳﺖ ﮐﻪ ﻋﺪد ﺑ ﺎر رﻓﺘﻪ ﺑﯿﺎﻧ ﺮ ﻃﻮل ﮐﻠﯿﺪ اﺳﺖ؛ ﻃﻮل ﻗﺎﻟﺐ ﻫﺮ ﺳﻪ
ﻧﺴﺨﻪ ١٢٨ﺑﯿﺖ اﺳﺖ .ﻃﻮل ﻗﺎﻟﺐ ﮐﻮﭼ DESآن را ﻣﻨﺎﺳﺐ ﺑﺮای اﺳﺘﻔﺎده ﺑﻪ ﻋﻨﻮان ﯾ ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ﻧﻤ ﮐﻨﺪ
زﯾﺮا ﺑﺎ اﺳﺘﻔﺎده از ﻗﻀﯿﻪ روز ﺗﻮﻟﺪ ﺑﺎ ۲۳۲ﭘﺮﺳﻤﺎن از ﯾ ﺗﺎﺑﻊ ﺗﺼﺎدﻓ ﻗﺎﺑﻞ ﺗﻤﯿﺰ اﺳﺖ .در زﻣﺎن ﻃﺮاﺣ DESﻃﻮل
ﮐﻠﯿﺪ ۵۶ﻣﻨﺎﺳﺐ ﺑﻮد اﻣﺎ اﻣﺮوزه اﯾﻦ ﻃﻮل ﺳﻄﺢ ﻣﻨﺎﺳﺒ از اﻣﻨﯿﺖ ﺑﺮآورده ﻧﻤ ﮐﻨﺪ ،ﺑﻪ ﻃﻮری ﮐﻪ ﺑﺎ ﻫﺰﯾﻨﻪ ﭼﻨﺪﻫﺰار دﻻر
ﻣ ﺗﻮان ﻓﻀﺎی ﮐﻠﯿﺪ را در ﭼﻨﺪ روز ﺟﺴﺘﺠﻮ ﮐﺮد.
رﻣﺰﻫﺎی ﻗﺎﻟﺒ ﺑﺮای اﻋﻤﺎل روی ﻗﺎﻟﺐﻫﺎی داده ﻃﺮاﺣ ﺷﺪهاﻧﺪ .ﯾ روش ﺳﺎده ﺑﺮای رﻣﺰ ﮐﺮدن ﯾ ﭘﯿﺎم mﺑﺎ اﺳﺘﻔﺎده
از ﯾ رﻣﺰ ﻗﺎﻟﺒ ﺑﺎ ﻃﻮل ﻗﺎﻟﺐ nﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ .اﮔﺮ ﻃﻮل ﭘﯿﺎم ﻣﻀﺮب nﻧﺒﺎﺷﺪ ،اﺑﺘﺪا ﺑﻪ روﺷ ﻣﻨﺎﺳﺐ ﮐﻪ
دﻧﺒﺎﻟﻪزﻧ ١٨ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد ،ﻃﻮل ﭘﯿﺎم ﺑﻪ ﻣﻀﺮﺑ از nاﻓﺰاﯾﺶ ﻣ ﯾﺎﺑﺪ .ﺳﭙﺲ ﭘﯿﺎم دﻧﺒﺎﻟﻪزده ﺷﺪه ﺑﻪ ﻗﺎﻟﺐ ﻫﺎی -nﺑﯿﺘ
ﺗﻘﺴﯿﻢ ﻣ ﺷﻮد و ﻫﺮ ﻗﺎﻟﺐ ﺑﻪ ﻃﻮر ﺟﺪاﮔﺎﻧﻪ ﺑﺎ اﻋﻤﺎل رﻣﺰﻗﺎﻟﺒ رﻣﺰ ﻣ ﺷﻮد .ﺑﺮای رﻣﺰﮔﺸﺎﯾ ،ﻧﯿﺰ ﻫﺮ ﻗﺎﻟﺐ ﻣﺘﻦ رﻣﺰﺷﺪه
ﺑﺎ اﻋﻤﺎل ﻣﻌ ﻮس رﻣﺰ ﻗﺎﻟﺒ رﻣﺰﮔﺸﺎﯾ ﻣ ﺷﻮد .ﯾ روش ﻣﻨﺎﺳﺐ و ﻣﺮﺳﻮم دﻧﺒﺎﻟﻪزﻧ اﺿﺎﻓﻪ ﮐﺮدن ﯾ ﺑﯿﺖ ﯾ و
ﺳﭙﺲ ﺑﻪ ﺗﻌﺪاد ﻻزم ﺑﯿﺖ ﺻﻔﺮ در اﻧﺘﻬﺎی ﭘﯿﺎم ﺑﺮای ﮐﺎﻣﻞ ﮐﺮدن آﺧﺮﯾﻦ ﻗﺎﻟﺐ اﺳﺖ .دﻧﺒﺎﻟﻪ اﺿﺎﻓﻪ ﺷﺪه ﭘﺲ از رﻣﺰﮔﺸﺎﯾ
ﻗﺎﺑﻞ ﺗﺸﺨﯿﺺ و ﺣﺬف اﺳﺖ.
١٣-۶
=c c1 c2 c3 ... cb
.
را ﺣﺬف ﮐﺮد و ﻓﻘﻂ ﺑﻪ ﺗﻌﺪاد ﻻزم ﺑﯿﺖ ﺻﻔﺮ اﺿﺎﻓﻪ ﻧﻤﻮد؟ ﺳﺆال ١٢آﯾﺎ ﻣ ﺗﻮان ﺑﺮای دﻧﺒﺎﻟﻪزﻧ ﺑﯿﺖ ﯾ
ﺳﺆال ١٣اﮔﺮ آﺧﺮﯾﻦ ﻗﺎﻟﺐ ﻣﺘﻦ رﻣﺰﮔﺸﺎﯾ ﺷﺪه ﺗﻤﺎمﺻﻔﺮ ﺑﺎﺷﺪ ﺑﻪ ﭼﻪ ﻣﻌﻨﺎﯾ اﺳﺖ؟
ﺳﺆال ١۴اﯾﻦ روش رﻣﺰﻧ ﺎری ﺑﺎ اﺳﺘﻔﺎده از رﻣﺰ ﻗﺎﻟﺒ دارای ﮐﺪام ﻧﻮع از اﻧﻮاع اﻣﻨﯿﺖ اﺳﺖ؟
١٣-٧
ﺑﻪ ﻧﺎم ﺧﺪا
ﯾ از اﺑﺰارﻫﺎی ﻣﻬﻢ ﺑﺮای ﻃﺮاﺣ ﭘﺮوﺗ ﻞﻫﺎی اﻣﻨﯿﺘ را رﻣﺰﻫﺎی ﻗﺎﻟﺒ ١ﺗﺸ ﯿﻞ ﻣ دﻫﻨﺪ .در اﯾﻦ ﺟﻠﺴﻪ اﺑﺘﺪا ﺑﻪ
ﻣﻌﺮﻓ رﻣﺰﻫﺎی ﻗﺎﻟﺒ ﻣ ﭘﺮدازﯾﻢ .ﺳﭙﺲ ﺑﻪ ﻣﻌﺮﻓ دو روش ﻃﺮاﺣ رﻣﺰﻫﺎی ﻗﺎﻟﺒ ﯾﻌﻨ ﺷﺒ ﻪﻫﺎی ﺟﺎﻧﺸﯿﻨ -ﺟﺎﯾ ﺸﺘ
) (٢ SPNو ﺷﺒ ﻪﻫﺎی ﻓﺎﯾﺴﺘﻠ ٣ﻣ ﭘﺮدازﯾﻢ.
١رﻣﺰ ﻗﺎﻟﺒ
رﻣﺰ ﻗﺎﻟﺒ دارای دو ﻣﺆﻟﻔﻪ رﻣﺰﻫﺎی ﻗﺎﻟﺒ ،ﻫﻤﺎنﮔﻮﻧﻪ ﮐﻪ از ﻧﺎﻣﺸﺎن ﭘﯿﺪاﺳﺖ روی ﻗﺎﻟﺐﻫﺎﯾ از داده ﻋﻤﻞ ﻣ ﮐﻨﻨﺪ .ﯾ
ﻣﻬﻢ ﻣ ﺑﺎﺷﺪ:
ﺑﺮای ﯾ ﮐﻠﯿﺪ داده ﺷﺪه ،ﯾ رﻣﺰ ﻗﺎﻟﺒ ﺑﺎ اﻧﺪازه ﻗﺎﻟﺐ ،nﻣﺠﻤﻮﻋﻪ M = {۰, ۱}nاز ۲nورودی را ﺑﻪ ﻫﻤﺎن
ﻣﺠﻤﻮﻋﻪ Mاز ۲nﺧﺮوﺟ ﺗﺒﺪﯾﻞ ﻣ ﮐﻨﺪ ،ﺑﻪﻃﻮری ﮐﻪ ﻫﺮ ﺧﺮوﺟ ﻣﻤ ﻦ ﻓﻘﻂ و ﻓﻘﻂ ﯾ ﺑﺎر ﺗﻮﻟﯿﺪ ﻣ ﺷﻮد .در
واﻗﻊ اﯾﻦ ﻋﻤﻞ ﯾ ﺟﺎﯾ ﺸﺖ ۴از ﻣﺠﻤﻮﻋﻪ ورودیﻫﺎﺳﺖ و ﻫﻨ ﺎﻣ ﮐﻪ ﮐﻠﯿﺪ ﺗﻐﯿﯿﺮ ﮐﻨﺪ ،ﺟﺎﯾ ﺸﺖﻫﺎی ﻣﺘﻔﺎوﺗ
ﺧﻮاﻫﯿﻢ داﺷﺖ .ﺑﻨﺎﺑﺮاﯾﻦ ﯾ رﻣﺰ ﻗﺎﻟﺒ روﺷ ﺑﺮای ﺗﻮﻟﯿﺪ ﺧﺎﻧﻮادهای از ﺟﺎﯾ ﺸﺖﻫﺎﺳﺖ ﮐﻪ ﺗﻮﺳﻂ ﮐﻠﯿﺪ ﻣﺤﺮﻣﺎﻧﻪ )(k
ﻧﺸﺎﻧﻪﮔﺬاری ﻣ ﺷﻮﻧﺪ.
ﺳﺎدهﺗﺮﯾﻦ روش اﺳﺘﻔﺎده از ﯾ رﻣﺰ ﻗﺎﻟﺒ ،اﻋﻤﺎل آن ﺑﻪ ﻗﺎﻟﺐﻫﺎی ﻣﺘﻦ اﺻﻠ اﺳﺖ .ﺑﺮای رﻣﺰﻧ ﺎری ﭘﯿﺎم ،mاﺑﺘﺪا ﺑﺎ
اﺳﺘﻔﺎده از ﯾ دﻧﺒﺎﻟﻪزﻧ ۵ﻣﻨﺎﺳﺐ )ﻣﺜﻼ اﺿﺎﻓﻪ ﮐﺮدن ﯾ ﺑﯿﺖ ﯾ و ﺑﻪ ﺗﻌﺪاد ﻻزم ﺑﯿﺖ ﺻﻔﺮ در اﻧﺘﻬﺎی ﭘﯿﺎم ( ،ﻃﻮل
ﭘﯿﺎم ﺑﻪ ﻣﻀﺮﺑ از ﻃﻮل ﻗﺎﻟﺐ رﺳﺎﻧﺪه ﻣ ﺷﻮد .ﺳﭙﺲ ﻣﺘﻦ اﺻﻠ ﺑﻪ ﻗﺎﻟﺐﻫﺎی miﺗﻔ ﯿ ﻣ ﺷﻮد .رﻣﺰ ﻗﺎﻟﺒ ،ﻗﺎﻟﺒ
از ﯾ ﭘﯿﺎم اﺻﻠ ﻣﺎﻧﻨﺪ miرا ﺑﻪ ﻗﺎﻟﺒ از ﯾ ﭘﯿﺎم رﻣﺰﺷﺪه ﻣﺎﻧﻨﺪ ciﺗﺒﺪﯾﻞ ﻣ ﮐﻨﺪ .اﯾﻦ ﻧﺤﻮه ﺑﻪﮐﺎرﮔﯿﺮی رﻣﺰ ﻗﺎﻟﺒ ،
ﺳﺒ ﮐﺘﺎب اﻟ ﺘﺮوﻧﯿ ۶ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد ﮐﻪ از اﻣﻨﯿﺖ ﻗﺎﺑﻞ ﻗﺒﻮﻟ ﺑﺮﺧﻮردار ﻧﯿﺴﺖ .اﻋﻤﺎل رﻣﺰ ﻗﺎﻟﺒ روی ﻗﺎﻟﺐ iام
١
block ciphers
٢
)Substitution-Permutation Network (SPN
٣
Feistel network
۴
permutation
۵
padding
۶
electronic code book mode
١۴آ١-
ﻧﯿﺰ اﺻﻄﻼﺣﺎً رﻣﺰﮔﺬاری ﻣ ﮔﻮﯾﻨﺪ و ﺑﻪ ﺻﻮرت ci = Ek miﻧﺸﺎن داده ﻣ ﺷﻮد )ﺷ ﻞ .(١ﻋ ﺲ ﻋﻤﻞ رﻣﺰﮔﺬاری،
ﻋﻤﻞ رﻣﺰﮔﺸﺎﯾ اﺳﺖ ﮐﻪ ﺑﻪ ﺻﻮرت ) mi = Dk (ciﻧﺸﺎن داده ﻣ ﺷﻮد )ﺷ ﻞ .(٢
١۴آ٢-
ﺷﺒ ﻪ ﺟﺎﻧﺸﯿﻨ -ﺟﺎﯾ ﺸﺘ ١.٢
اﻟ ﻮی ﭘﺮﯾﺸﺎﻧ -ﭘﺨﺶ ١.١.٢
ﺷﺎﻧﻮن ٧ﯾ ﻃﺮح ﮐﻠ ﺑﺮای ﺳﺎﺧﺖ ﺟﺎﯾ ﺸﺖﻫﺎی ﺷﺒﻪﺗﺼﺎدﻓ ﻣﻌﺮﻓ ﮐﺮد .اﯾﺪهی اﺻﻠ ،ﺳﺎﺧﺖ ﺟﺎﯾ ﺸﺖ ﺷﺒﻪﺗﺼﺎدﻓ
Eﺑﺎ ﻃﻮل ﻗﺎﻟﺐ ﺑﺰرگ از ﺗﻌﺪاد زﯾﺎدی ﺟﺎﯾ ﺸﺖ ﺗﺼﺎدﻓ ﯾﺎ ﺷﺒﻪﺗﺼﺎدﻓ ﮐﻮﭼ ﺘﺮ } {Ekiﺑﺎ ﻃﻮل ﻗﺎﻟﺐ ﮐﻮﭼ ﺗﺮ اﺳﺖ.
ﻓﺮض ﮐﻨﯿﺪ ﺑﺨﻮاﻫﯿﻢ رﻣﺰﻗﺎﻟﺒ Eﺑﺎ ﻃﻮل ﻗﺎﻟﺐ ۱۲۸ﺑﯿﺖ ﺑﺴﺎزﯾﻢ .رﻣﺰﻗﺎﻟﺒ Eرا ﺑﻪ ﺻﻮرت زﯾﺮ ﺗﻌﺮﯾﻒ ﻣ ﮐﻨﯿﻢ:
ﮐﻠﯿﺪ kﺑﺮای ۱۶ ،Eﺟﺎﯾ ﺸﺖ ﺗﺼﺎدﻓ Ek۱ , · · · , Ek۱۶را ﻣﺸﺨﺺ ﻣ ﮐﻨﺪ ﮐﻪ ﻃﻮل ﻗﺎﻟﺐ ﻫﺮ ﯾ ۸ﺑﯿﺖ اﺳﺖ.
ﺳﭙﺲ ورودی x ∈ {۰, ۱}۱۲۸را ﺑﻪ ۱۶ﻗﺴﻤﺖ ۸ﺑﯿﺘ ﻣﺘﻮاﻟ x۱۶ , ..., x۱ﺗﺠﺰﯾﻪ ﻣ ﮐﻨﯿﻢ .دارﯾﻢ:
ﺟﺎﯾ ﺸﺖ از آنﻫﺎ را در ﻧﻈﺮ ﻣ ﮔﯿﺮﯾﻢ .ﺑﻪ اﯾﻦ ﻣﺮﺣﻠﻪ .١ﺑﯿﺖﻫﺎی ﺧﺮوﺟ } {Ekiﻫﺎ را ﺑﺎ ﻫﻢ ﻗﺎﻃ ﮐﺮده و ﯾ
ﭘﺨﺶ ٩ﮔﻔﺘﻪ ﻣ ﺷﻮد.
در ورودی ﺑﺎﻋﺚ اﻋﻤﺎل ﺗﻐﯿﯿﺮات اﺳﺎﺳ اﺳﺘﻔﺎدهی ﻣﺘﻮاﻟ از ﭘﺨﺶ و ﭘﺮﯾﺸﺎﻧ ﺗﻀﻤﯿﻦ ﻣ ﮐﻨﺪ اﻋﻤﺎل ﺗﻐﯿﯿﺮات ﮐﻮﭼ
در ﺧﺮوﺟ ﻣ ﺷﻮد.
١۴آ٣-
• ﺟﺎﻧﺸﯿﻦﺳﺎزی ﻣﻨﺎﺳﺐ ﺑﺎ اﺳﺘﻔﺎده از S-boxﻫﺎ،
ﺗﺒﺪﯾﻞ ﺧﻄ ( ﻣﻨﺎﺳﺐ. ﺟﺎﯾ ﺸﺖ )ﯾﺎ درﺣﺎﻟﺖ ﮐﻠ ﯾ • اﻋﻤﺎل ﯾ
اﻟﺒﺘﻪ ﭘﺲ از آﺧﺮﯾﻦ دور در ﺷﺒ ﻪﻫﺎی ﺟﺎﻧﺸﯿﻨ -ﺟﺎﯾ ﺸﺘ ،ﻫﻤﻮاره ﯾ زﯾﺮ ﮐﻠﯿﺪ دﯾ ﺮ ﻧﯿﺰ اﺿﺎﻓﻪ ﺧﻮاﻫﺪ ﺷﺪ ﮐﻪ
ﺳﻔﯿﺪﺳﺎزی ١۴ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد .اﯾﻦ ﮐﺎر ﺑﺎﻋﺚ ﻣ ﺷﻮد ﺗﺎ ﺟﺎﻧﺸﯿﻦﺳﺎزی و ﺟﺎﯾ ﺸﺖ دور آﺧﺮ در اﻣﻨﯿﺖ ﺳﺎﺧﺘﺎر ﻣﺆﺛﺮ
ﺑﺎﺷﺪ.
١۴آ۴-
ﺷﺒ ﻪﻫﺎی ﻓﺎﯾﺴﺘﻠ ٢.٢
در اﯾﻦ ﺑﺨﺶ ﺑﻪ ﻣﺴﺄﻟﻪ ﻃﺮاﺣ رﻣﺰ ﻗﺎﻟﺒ ﺑﺎ اﺳﺘﻔﺎده از ﯾ ﺗﺎﺑﻊ ﺷﺒﻪ ﺗﺼﺎدﻓ ﻣ ﭘﺮدازﯾﻢ .ﻓﺮض ﮐﻨﯿﺪ ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ
)·( fkرا دارﯾﻢ ﮐﻪ nﺑﯿﺖ را ﺑﻪ ﺻﻮرت زﯾﺮ ﺑﻪ nﺑﯿﺖ ﻣ ﻧ ﺎرد )ﺷ ﻞ .(۴
n
n
k f
.
n
ﻣ ﺧﻮاﻫﯿﻢ رﻣﺰی ﻗﺎﻟﺒ ﻃﺮاﺣ ﮐﻨﯿﻢ ﮐﻪ ﻣﺎﻧﻨﺪ ﺷ ﻞ ۲n ،۵ﺑﯿﺖ را ﺑﻪ ۲nﺑﯿﺖ ﻣ ﻧ ﺎرد و ﻃﻮل ﮐﻠﯿﺪش rnاﺳﺖ.
۲n
rn
k E
.
۲n
ﺑﺮای اﯾﻦ ﻣﻨﻈﻮر ﻣ ﺗﻮان از ﻃﺮاﺣ ﺷﺒ ﻪﻫﺎی ﻓﺎﯾﺴﺘﻠ اﺳﺘﻔﺎده ﮐﺮد ﮐﻪ در اداﻣﻪ ﺑﻪ ﭼ ﻮﻧ آن ﻣ ﭘﺮدازﯾﻢ:
ﯾ رﻣﺰ ﻗﺎﻟﺒ ﺑﺎ اﻧﺪازه ﻗﺎﻟﺐ nﮐﻪ دارای ﺳﺎﺧﺘﺎر ﺷﺒ ﻪﻫﺎی ﻓﺎﯾﺴﺘﻠ ﻣ ﺑﺎﺷﺪ ،از ﺗ ﺮار rدور ﺑﺎ ﺳﺎﺧﺘﺎر ﯾ ﺴﺎن ﺗﺸ ﯿﻞ
ﺷﺪه اﺳﺖ .ﻫﺮ دور ﻧﯿﺰ دارای ﯾ ﺗﺎﺑﻊ دور ١۵و ﯾ ﻋﻤﻞﮔﺮ ﺟﺎﺑﺠﺎﯾ ﻣ ﺑﺎﺷﺪ ﮐﻪ ﻧﯿﻤﻪﻫﺎی ﺳﻤﺖ ﭼﭗ و راﺳﺖ
ورودی ﺧﻮد را ﺟﺎﺑﺠﺎ ﻣ ﮐﻨﺪ )اﻟﺒﺘﻪ در دور آﺧﺮ ﺷﺒ ﻪﻫﺎی ﻓﺎﯾﺴﺘﻠ ﺟﺎﺑﺠﺎﯾ وﺟﻮد ﻧﺪارد( .ﺗﺎﺑﻊ دور n ،ﺑﯿﺖ ﻧﯿﻤﻪی
ﺳﻤﺖ راﺳﺖ را ﺗﺤﺖ ﺗﺄﺛﯿﺮ زﯾﺮﮐﻠﯿﺪ دور ﺑﻪ nﺑﯿﺖ ﺧﺮوﺟ ﻣ ﻧ ﺎرد ﮐﻪ از اﯾﻦ ﺧﺮوﺟ ﺑﺮای ﺗﻐﯿﯿﺮ ﻧﯿﻤﻪ دﯾ ﺮ ﻣﺘﻦ
اﺳﺘﻔﺎده ﻣ ﺷﻮد .ﺑﻪ ﻋﺒﺎرت دﻗﯿﻘﺘﺮ دور -iام ﯾ ﺷﺒ ﻪی ﻓﺎﯾﺴﺘﻠ ﺑﻪ ﺻﻮرت زﯾﺮ اﺟﺮا ﻣ ﺷﻮد:
ﮐﻪ در آن ﻫﻤﺎنﻃﻮر ﮐﻪ در ﺷ ﻞ ۶ﻧﺸﺎن داده ﺷﺪه اﺳﺖ ki ،زﯾﺮﮐﻠﯿﺪ دور Li ،iﻧﯿﻤﻪ ﭼﭗ ﺧﺮوﺟ دور iو Riﻧﯿﻤﻪ
راﺳﺖ ﺧﺮوﺟ دور iﻣ ﺑﺎﺷﻨﺪ .اﯾﻦ ﮐﺎر ﺑﻪ ﺻﻮرت ﺑﺎزﮔﺸﺘ ﺑﺎ ﺷﺮوع از دور اول ،ﺑﻪ ﺗﻌﺪاد rﺑﺎر اﻧﺠﺎم ﻣ ﺷﻮد ﺗﺎ
ﻧﻬﺎﯾﺘﺎ ﺧﺮوﺟ ﺗﻮﻟﯿﺪ ﮔﺮدد .ﻧﻤﻮﻧﻪای از رﻣﺰﻫﺎی ﻗﺎﻟﺒ ﮐﻪ دارای ﭼﻨﯿﻦ ﺳﺎﺧﺘﺎری ﻫﺴﺘﻨﺪ ،رﻣﺰ ﻗﺎﻟﺒ DESﻣ ﺑﺎﺷﺪ.
١۵
round function
١۴آ۵-
Li−۱ Ri−۱
.
⊕ f
ki
Li Ri
ﻧ ﺘﻪ ﻗﺎﺑﻞ ﺗﻮﺟﻪ اﯾﻦ اﺳﺖ ﮐﻪ ﻟﺰوﻣ ﻧﺪارد ﺗﺎﺑﻊ دور ﯾ ﺷﺒ ﻪ ﻓﺎﯾﺴﺘﻠ ،ﺟﺎﯾ ﺸﺖ ﺑﺎﺷﺪ ﺗﺎ ﺧﻮد ﺷﺒ ﻪ ﻓﺎﯾﺴﺘﻠ ﻧﯿﺰ ﯾ
ﺟﺎﯾ ﺸﺖ ﺷﻮد .در واﻗﻊ ﻣﻌ ﻮس ﯾ ﺷﺒ ﻪ ﻓﺎﯾﺴﺘﻠ ﺑﺎ اﺳﺘﻔﺎده از ﻣﻌ ﻮس رواﺑﻂ ﺑﺎﻻ و ﺑ ﺎرﮔﯿﺮی رواﺑﻂ ﺑﺎزﮔﺸﺘ زﯾﺮ
اﻧﺠﺎم ﻣ ﮔﯿﺮد:
Ri−۱ = Li ,
Li−۱ = Ri ⊕ fki (Li ).
ﻧ ﺘﻪ ١ﺗﻌﺪاد ﮐﻞ ﺟﺎﯾ ﺸﺖﻫﺎﯾ ﮐﻪ nﺑﯿﺖ را ﺑﻪ nﺑﯿﺖ ﻣ ﻧ ﺎرﻧﺪ ! ۲nاﺳﺖ؛ در ﺣﺎﻟﯿ ﻪ ﻣﺎ ﺧﺎﻧﻮاده ای از ﺟﺎﯾ ﺸﺖﻫﺎ
اﯾﺠﺎد ﮐﺮدﯾﻢ ﮐﻪ اﯾﻦ ﺗﻌﺪاد را ﺑﻪ ۲rnﮐﺎﻫﺶ ﻣ دﻫﺪ .ﺑﺨﺼﻮص اﮔﺮ rﮐﻮﭼ ﺑﺎﺷﺪ اﯾﻦ ﺗﻌﺪاد ﺑﺴﯿﺎر ﮐﻤﺘﺮ از ﺗﻌﺪاد ﮐﻞ
ﺟﺎﯾ ﺸﺖﻫﺎ اﺳﺖ .در ﻋﻤﻞ ﮐﻠﯿﺪﻫﺎی دور ﺑﺎ اﺳﺘﻔﺎده از ﯾ اﻟ ﻮرﯾﺘﻢ ﻃﺮح ﮐﻠﯿﺪ ،از ﮐﻠﯿﺪ اﺻﻠ اﺳﺘﺨﺮاج ﻣ ﺷﻮﻧﺪ.
ﺳﺆاﻟ ﮐﻪ در اﯾﻨﺠﺎ ﻣﻄﺮح اﺳﺖ اﯾﻦ اﺳﺖ ﮐﻪ ﺗﻌﺪاد دورﻫﺎ در ﺷﺒ ﻪی ﻓﺎﯾﺴﺘﻠ ﭼﻘﺪر ﺑﺎﺷﺪ ،ﺗﺎ ﺑﺎ ﻓﺮض اﯾﻨ ﻪ f
ﺷﺒﻪﺗﺼﺎدﻓ اﺳﺖ ،ﺧﺎﻧﻮاده ﺟﺎﯾ ﺸﺘ ﮐﻪ اﯾﺠﺎد ﮐﺮدﯾﻢ ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺎﺷﺪ؟
ﺷﺒ ﻪﻫﺎی ﻓﺎﯾﺴﺘﻞ ﺗ دوری و دو-دوری ،ﺗﻨﻬﺎ ﺑﺎ دو ﭘﺮﺳﻤﺎن ١۶از Eاز ﯾ ﺟﺎﯾ ﺸﺖ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﻗﺎﺑﻞ ﺗﺸﺨﯿﺺ
ﻫﺴﺘﻨﺪ.
ﺟﺎﯾ ﺸﺖ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﺗﻤﯿﺰ داد؟ ﺳﺆال ١ﭼ ﻮﻧﻪ ﻣ ﺗﻮان ﺷﺒ ﻪ ﻓﺎﯾﺴﺘﻞ ﺳﻪدوری را از ﯾ
ﺟﺎﯾ ﺸﺖ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﺗﻤﯿﺰ داد. ﺷﺒ ﻪ ﻓﺎﯾﺴﺘﻞ ﺳﻪدوری را ﻧﻤ ﺗﻮان ﻓﻘﻂ ﺑﺎ ﭘﺮﺳﻤﺎن از Eاز ﯾ
ﻗﻀﯿﻪ (Luby-Rackoff) ١ﻓﺮض ﮐﻨﯿﺪ ﺗﺎﺑﻊ دور ﺷﺒ ﻪ ﻓﺎﯾﺴﺘﻞ ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺎﺷﺪ .در اﯾﻦﺻﻮرت:
ﺟﺎﯾ ﺸﺖ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﻧﯿﺴﺖ. • ﺷﺒ ﻪ ﻓﺎﯾﺴﺘﻞ ﺳﻪدوری ﺑﺎ دﺳﺘﺮﺳ اوراﮐﻠ ﺑﻪ ﺟﺎﯾ ﺸﺖ ،ﻗﺎﺑﻞ ﺗﻤﺎﯾﺰ از ﯾ
ﻧ ﺘﻪ ٢در ﻋﻤﻞ ،ﺗﻮاﺑﻊ ﺳﺎدهای ﺑﺮای fاﻧﺘﺨﺎب ﻣ ﺷﻮﻧﺪ ﮐﻪ ﺷﺒﻪﺗﺼﺎدﻓ ﻧﯿﺴﺘﻨﺪ؛ در ﻋﻮض ﺗﻌﺪاد دورﻫﺎ را زﯾﺎد
ﻣ ﺷﻮﻧﺪ.
١۶
query
١۴آ۶-
ﺑﻪ ﻧﺎم ﺧﺪا
١ﻣﻘﺪﻣﻪ
در ﺟﻠﺴﻪی ﻗﺒﻞ ﺑﺎ روشﻫﺎی ﮐﻠ ﻃﺮاﺣ رﻣﺰﻫﺎی ﻗﺎﻟﺒ ،از ﺟﻤﻠﻪ ﻃﺮاﺣ ﻣﺒﺘﻨ ﺑﺮ ﺷﺒ ﻪﻫﺎی ﻓﺎﯾﺴﺘﻠ و ﺟﺎﻧﺸﯿﻨ -
ﺟﺎﯾ ﺸﺘ آﺷﻨﺎ ﺷﺪﯾﻢ .در اﯾﻦ ﺟﻠﺴﻪ ﺑﻪ ﺑﺮرﺳ دو اﻟ ﻮرﯾﺘﻢ رﻣﺰ ﻗﺎﻟﺒ ﻣﻌﺮوف ﯾﻌﻨ AESو DESﻣ ﭘﺮدازﯾﻢ.
ﺑﺮای ﺗﻮﺿﯿﺢ اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری AESورودی اﯾﻦ رﻣﺰ ﻗﺎﻟﺒ را ﻣﺎﻧﻨﺪ ﺷ ﻞ ١ﺑﻪ ﺻﻮرت ﯾ ﻣﺎﺗﺮﯾﺲ ﻣﺮﺑﻌ ۴ × ۴
در ﻧﻈﺮ ﻣ ﮔﯿﺮﯾﻢ .ﻫﺮ ﺧﺎﻧﻪ اﯾﻦ آراﯾﻪ )ﺑﺎ ﺷﺮوع از B۰ﮐﻪ ﮐﻢ ارزشﺗﺮﯾﻦ ﺑﺎﯾﺖ ورودی اﺳﺖ( ﻧﺸﺎندﻫﻨﺪه ﯾ ﺑﺎﯾﺖ
١
Advanced Encryption Standard
٢
Rijndael
٣
)Joan Daemen
۴
Vincent Rijmen
١۴ب١-
از ورودی اﺳﺖ .اﯾﻦ ورودی ﻫﻤﺎنﻃﻮر ﮐﻪ در ﺷ ﻞ ٢ﻧﺸﺎن داده ﺷﺪه اﺳﺖ ،ﺗﺤﺖ ﺗﺄﺛﯿﺮ ﻋﻤﻠ ﺮﻫﺎی ،SubBytes
MixColumns ،ShiftRowsو AddRoundKeyﺑﻪ ﻣﺘﻦ رﻣﺰ ﺷﺪه ﺗﺒﺪﯾﻞ ﻣ ﮔﺮدد .در اداﻣﻪ ﺑﻪ ﺗﺸﺮﯾﺢ اﯾﻦ
ﻋﻤﻠ ﺮﻫﺎ ﻣ ﭘﺮدازﯾﻢ .ﻻزم ﺑﻪ ذﮐﺮ اﺳﺖ ﮐﻪ در اﺑﺘﺪای اﯾﻦ رﻣﺰ ﻗﺎﻟﺒ ﻋﻤﻞ ﺳﻔﯿﺪ ﮐﺮدن ﻧﯿﺰ وﺟﻮد دارد )ﺷ ﻞ .(٢
pre-whitening: AddRoundKey
SubBytes
ShiftRows
r − ۱ rounds:
MixColumns
.
AddRoundKey
SubBytes
final round: ShiftRows
AddRoundKey
SubBytes ١.٢
اﯾﻦ ﻋﻤﻠ ﺮ ﻫﺮ ﺑﺎﯾﺖ از ورودی ﺧﻮد را ﺗﺤﺖ ﺗﺄﺛﯿﺮ −Sﺟﻌﺒﻪ ﺑﻪ ﮐﺎر رﻓﺘﻪ در اﻟ ﻮرﯾﺘﻢ ﻗﺮار ﻣ دﻫﺪ )ﺷ ﻞ .(٣ﺑﻪ ﻋﺒﺎرت
دﻗﯿﻘﺘﺮ دارﯾﻢ:
١۴ب٢-
ﺷ ﻞ :٣ﻧﺤﻮه ﮐﺎر ﻋﻤﻠ ﺮ SubBytes
١۴ب٣-
ShiftRows ٢.٢
اﯾﻦ ﻋﻤﻠ ﺮ روی ﺳﻄﺮﻫﺎی ﻣﺎﺗﺮﯾﺲ ورودی ﺧﻮد ﻋﻤﻞ ﻣ ﮐﻨﺪ .در اﯾﻦ ﻣﺮﺣﻠﻪ ﺑﺎﯾﺖﻫﺎی ﻫﺮ ﺳﻄﺮ ﺑﻪ وﺳﯿﻠﻪ ﯾ ﻣﻘﺪار
ﻣﻌﯿﻦ ﺑﻪ ﺻﻮرت ﭼﺮﺧﺸ ﺷﯿﻔﺖ ﻣ ﯾﺎﺑﺪ؛ ﺑﺪﯾﻦ ﺻﻮرت ﮐﻪ ﺳﻄﺮ اول ﺑﺪون ﺗﻐﯿﯿﺮ ﺑﺎﻗ ﻣ ﻣﺎﻧﺪ ،ﺳﻄﺮ دوم ﯾ واﺣﺪ
ﺑﻪ ﺳﻤﺖ ﭼﭗ ﺷﯿﻔﺖ ﻣ ﺧﻮرد و ﺑﻪ ﻫﻤﯿﻦ ﺗﺮﺗﯿﺐ ﺳﻄﺮ nﺑﻪ ﺗﻌﺪاد n − ۱ﺑﺎﯾﺖ ﺑﻪ ﺻﻮرت ﭼﺮﺧﺸ ﺑﻪ ﭼﭗ ﺷﯿﻔﺖ
ﻣ ﯾﺎﺑﺪ )ﺷ ﻞ .(۵
MixColumns ٣.٢
در اﯾﻦ ﻣﺮﺣﻠﻪ ﻫﺮ ﮐﺪام از ﺳﺘﻮنﻫﺎی ﻣﺎﺗﺮﯾﺲ ورودی ،در ﻣﺎﺗﺮﯾﺲ Mﮐﻪ ﯾ ﻣﺎﺗﺮﯾﺲ ۴×۴اﺳﺖ در ﻣﯿﺪان ) ∗GF (۲
ﺿﺮب ﺷﺪه و ﻣﺎﺗﺮﯾﺲ ﺧﺮوﺟ را ﺗﺸ ﯿﻞ ﻣ دﻫﺪ )ﺷ ﻞ .(۶ﻣﺮﺣﻠﻪ ShiftRowsﺑﻪ ﻫﻤﺮاه اﯾﻦ ﻣﺮﺣﻠﻪ ﺧﺎﺻﯿﺖ
آﺷﻔﺘ ۵و ﭘﺨﺶ ۶را در اﯾﻦ رﻣﺰ ﻗﺎﻟﺒ ﻓﺮاﻫﻢ ﻣ آورﻧﺪ.
١۴ب۴-
۰۲ ۰۳ ۰۱ ۰۱
۰۱ ۰۲ ۰۳ ۰۱
M =
۰۱
۰۱ ۰۲ ۰۳
۰۳ ۰۱ ۰۱ ۰۲
AddRoundKey ۴.٢
در اﯾﻦ ﻋﻤﻠ ﺮ ﻣﺎﺗﺮﯾﺲ ورودی ﺑﺎ زﯾﺮﮐﻠﯿﺪ دور ﺗﻮﻟﯿﺪ ﺷﺪه ﺗﻮﺳﻂ اﻟ ﻮرﯾﺘﻢ ﻃﺮح ﮐﻠﯿﺪ ٧ﺗﺮﮐﯿﺐ ﻣ ﺷﻮد .ﺑﺪﯾﻦ ﺻﻮرت
ﮐﻪ ﻫﺮ ﺑﺎﯾﺖ از ﻣﺎﺗﺮﯾﺲ ورودی ﺑﺎ ﺑﺎﯾﺖ ﻣﺘﻨﺎﻇﺮ زﯾﺮﮐﻠﯿﺪ دور XORﺷﺪه و ﻣﺎﺗﺮﯾﺲ ﺧﺮوﺟ را ﺗﺸ ﯿﻞ ﻣ دﻫﻨﺪ )ﺷ ﻞ
.(٧
ﻫﻤﺎنﻃﻮر ﮐﻪ ذﮐﺮ ﺷﺪ اﻧﺪازه ﮐﻠﯿﺪ اﺳﺘﻔﺎده ﺷﺪه در رﻣﺰ ،AESﺗﻌﺪاد دورﻫﺎ را ﺗﻌﯿﯿﻦ ﻣ ﮐﻨﺪ .ﯾﻌﻨ ﺑﺮای ﻣﺜﺎل ﺑﺮای
ﮐﻠﯿﺪ ۱۲۸ﺑﯿﺘ ﻣﺮﺣﻠﻪ ﻣﯿﺎﻧ ۹ﺑﺎر اﺟﺮا ﻣ ﺷﻮد ﮐﻪ ﺑﺎ اﺟﺮای ﻣﺮﺣﻠﻪ ﭘﺎﯾﺎﻧ ۱۰دور ﺗ ﻤﯿﻞ ﻣ ﺷﻮد.
ﺑﺮای رﻣﺰﮔﺸﺎﯾ ﻧﯿﺰ ﻣﺠﻤﻮﻋﻪای از دورﻫﺎی ﻣﻌ ﻮس ﺑﺮای ﺗﺒﺪﯾﻞ ﻣﺘﻦ رﻣﺰ ﺷﺪه ﺑﻪ ﻣﺘﻦ اﺻﻠ ﺑﺎ اﺳﺘﻔﺎده از ﻫﻤﺎن ﮐﻠﯿﺪ
رﻣﺰﻧ ﺎری ﺑﻪ ﮐﺎر ﮔﺮﻓﺘﻪ ﻣ ﺷﻮد.
١۴ب۵-
ﮐﻪ در آن iﺷﻤﺎره دور و ) k(i,۲) ،k(i,۱) ،k(i,۰و ) k(i,۳ﮐﻠﻤﻪﻫﺎی ۳۲ﺑﯿﺘ ﻣ ﺑﺎﺷﻨﺪ .زﯾﺮﮐﻠﯿﺪ ﻫﺮ دور ﺑﺎ اﺳﺘﻔﺎده از
زﯾﺮﮐﻠﯿﺪ دور ﻗﺒﻞ و ﺑﻪ ﺻﻮرﺗ ﮐﻪ در ﺷ ﻞ ٨ﻧﺸﺎن داده ﺷﺪه اﺳﺖ ﺑﻪ دﺳﺖ ﻣ آﯾﺪ.
١۴ب۶-
ﺷ ﻞ :٩ﺳﺎﺧﺘﺎر ﮐﻠ اﻟ ﻮرﯾﺘﻢ رﻣﺰ ﻗﺎﻟﺒ DES
ﻫﻤﺎنﻃﻮر ﮐﻪ در ﺷ ﻞ ٩ﻧﺸﺎن داده ﺷﺪه اﺳﺖ ،ﺗﺎﺑﻊ fدر اﺑﺘﺪا ورودی ۳۲ﺑﯿﺘ ﺧﻮد را ﮔﺮﻓﺘﻪ و آن را ﺗﻮﺳﻂ اﻧﺘﺸﺎر E
ﺑﻪ ۴۸ﺑﯿﺖ ﺗﺒﺪﯾﻞ ﻣ ﮐﻨﺪ .ﺳﭙﺲ ﻣﻘﺪار ﺑﺪﺳﺖ آﻣﺪه را ﺑﺎ زﯾﺮﮐﻠﯿﺪ دور ۴۸ﺑﯿﺘ ﺑﺪﺳﺖ آﻣﺪه در اﻟ ﻮرﯾﺘﻢ ﻃﺮح ﮐﻠﯿﺪ،
XORﮐﺮده و ﺣﺎﺻﻞ ﺑﺪﺳﺖ آﻣﺪه را ﺑﻪ ۸ﻗﺴﻤﺖ ۶ﺑﯿﺘ ﺗﻘﺴﯿﻢ ﻣ ﮐﻨﺪ .ﺣﺎل ﻫﺮ ﮐﺪام از اﯾﻦ ﻗﺴﻤﺖﻫﺎ ﺗﺤﺖ ﺗﺄﺛﯿﺮ
−Sﺟﻌﺒﻪﻫﺎی ﻣﺘﻔﺎوﺗ ﮐﻪ ۶ﺑﯿﺖ را ﺑﻪ ۴ﺑﯿﺖ ﺗﺒﺪﯾﻞ ﻣ ﮐﻨﻨﺪ ،ﻗﺮار ﻣ ﮔﯿﺮﻧﺪ .ﺳﭙﺲ ﺑﺎ ﮐﻨﺎر ﻫﻢ ﮔﺬاﺷﺘﻦ ﺑﯿﺖﻫﺎی
ﺑﺪﺳﺖ آﻣﺪه ﯾ رﺷﺘﻪ ۳۲ﺑﯿﺘ ﺗﻮﻟﯿﺪ ﻣ ﺷﻮد .ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ ﭼﻮن −Sﺟﻌﺒﻪﻫﺎ ۶ﺑﯿﺖ را ﺑﻪ ۴ﺑﯿﺖ ﺗﺒﺪﯾﻞ ﻣ ﮐﻨﻨﺪ،
در ﻧﺘﯿﺠﻪ ﺑﺮﮔﺸﺖﭘﺬﯾﺮ ﻧﻤ ﺑﺎﺷﻨﺪ .ﺑﻌﺪ از اﺛﺮ −Sﺟﻌﺒﻪﻫﺎ ،ﺟﺎﯾ ﺸﺖ Pﺑﺮای ﺟﺎﺑﻪﺟﺎ ﮐﺮدن ﺑﯿﺖﻫﺎ ﺑﺮ روی آنﻫﺎ اﻋﻤﺎل
ﻣ ﺷﻮد .در اداﻣﻪ ﺟﺰﺋﯿﺎت اﻟ ﻮرﯾﺘﻢ رﻣﺰ ﻗﺎﻟﺒ DESرا ﺷﺮح ﻣ دﻫﯿﻢ.
١۴ب٧-
ﺷ ﻞ :١٠ﺟﺎﯾ ﺸﺖ IPو وارون آن
ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺗﺤﺖ اﺛﺮ ،IPﺑﯿﺘ ﮐﻪ در ﻣ ﺎن ۵۸ورودی اﺳﺖ ﺑﻪ ﻣ ﺎن اول آورده ﻣ ﺷﻮد .در اداﻣﻪ ﺑﻪ ﺑﯿﺎن ﺟﺰﺋﯿﺎت
ﺗﺎﺑﻊ دور ﻣ ﭘﺮدازﯾﻢ.
ﻫﻤﺎنﻃﻮر ﮐﻪ در ﺷ ﻞ ١١ﻣﺸﺎﻫﺪه ﻣ ﺷﻮد ۳۲ ،ﺑﯿﺖ ورودی ﺑﻪ ۴۸ﺑﯿﺖ ﮔﺴﺘﺮش ﻣ ﯾﺎﺑﺪ .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺗﺤﺖ اﺛﺮ
،Eﺑﯿﺘ ﮐﻪ در ﻣ ﺎن اول ورودی اﺳﺖ ﺑﻪ ﻣ ﺎنﻫﺎی ۲و ۴۸ﺑﺮده ﻣ ﺷﻮد.
١۴ب٨-
ﺷ ﻞ :١٢ﺗﻌﺮﯾﻒ −Sﺟﻌﺒﻪﻫﺎی رﻣﺰ ﻗﺎﻟﺒ DES
ﻫﻤﺎنﻃﻮر ﮐﻪ ﻣﺸﺎﻫﺪه ﻣ ﺷﻮد ،ﻫﺮ −Sﺟﻌﺒﻪ دارای ۴ﺳﻄﺮ و ۱۶ﺳﺘﻮن اﺳﺖ .از ﺷﺶ ﺑﯿﺖ ورودی ﺑﻪ ﻫﺮ −Sﺟﻌﺒﻪ،
دو ﺑﯿﺖ ﺧﺎرﺟ ﺳﻄﺮ را ﻣﺸﺨﺺ ﻣ ﮐﻨﻨﺪ و ﭼﻬﺎر ﺑﯿﺖ وﺳﻂ ﻣﺸﺨﺺ ﮐﻨﻨﺪه ﺳﺘﻮن ﻣ ﺑﺎﺷﻨﺪ .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ورودی
۱۰۰۰۰۱ﺗﺤﺖ اﺛﺮ S۱ﺑﻪ f=1111ﺗﺼﻮﯾﺮ ﻣ ﺷﻮد.
١۴ب٩-
ﻃﺮح ﮐﻠﯿﺪ DES ۵.٣
در اﯾﻦ ﺑﻪ ﺑﺨﺶ ﺑﻪ ﺗﻮﺿﯿﺢ ﻃﺮح ﮐﻠﯿﺪ رﻣﺰ ﻗﺎﻟﺒ DESﻣ ﭘﺮدازﯾﻢ .در دور ،iزﯾﺮﮐﻠﯿﺪ دور ﻣﺘﻨﺎﻇﺮ ) (kiﺑﻪ ﺻﻮرت زﯾﺮ
از روی ﮐﻠﯿﺪ اوﻟﯿﻪ ﺳﺎﺧﺘﻪ ﻣ ﺷﻮد:
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺷ ﻞ ،١۴از ۶۴ﺑﯿﺖ ﮐﻠﯿﺪ اوﻟﯿﻪ ﺑﯿﺖﻫﺎی ۶۴, ..., ۱۶٫ ۸ﺣﺬف ﻣ ﺷﻮﻧﺪ .ﺳﭙﺲ روی رﺷﺘﻪ ۵۶ﺑﯿﺘ
ﺑﺎﻗﯿﻤﺎﻧﺪه ﺟﺎﯾ ﺸﺖ P C۱ﮐﻪ ﺗﻌﺮﯾﻒ آن در ﺷ ﻞ ١۴آﻣﺪه اﺳﺖ ،اﺛﺮ ﻣ ﮐﻨﺪ و رﺷﺘﻪ ﺣﺎﺻﻞ ﺑﻪ دو ﻧﯿﻤﻪ ۲۸ﺑﯿﺘ
ﺗﻘﺴﯿﻢ ﻣ ﺷﻮد .ﺳﭙﺲ اﯾﻦ دو ﻧﯿﻤﻪ ﺑﻪ اﻧﺪازه riﺑﻪ ﺳﻤﺖ ﭼﭗ دوران ﻣ ﯾﺎﺑﻨﺪ .ﻣﻘﺪار riﺑﻪ ازای دورﻫﺎی ﻣﺨﺘﻠﻒ در
ﺷ ﻞ ١۴آﻣﺪه اﺳﺖ .ﭘﺲ از دوران ،اﯾﻦ دو ﻧﯿﻤﻪ ﺑﻪ ﯾ ﺪﯾ ﺮ اﻟﺤﺎق ٩ﻣ ﺷﻮﻧﺪ .در ﻧﻬﺎﯾﺖ رﺷﺘﻪ ۵۶ﺑﯿﺘ ﺑﻪ دﺳﺖ آﻣﺪه
ﻃﺒﻖ ﺟﺪول P C۲ﺑﻪ ۴۸ﺑﯿﺖ ﺗﺒﺪﯾﻞ ﺷﺪه و زﯾﺮﮐﻠﯿﺪ دور kiرا ﺗﺸ ﯿﻞ ﻣ دﻫﺪ.
١۴ب١٠-
اﻣﻨﯿﺖ رﻣﺰﻫﺎی ﻗﺎﻟﺒ AESو DES ۴
ﺑﺮای رﻣﺰ ﻗﺎﻟﺒ AESﺑﻬﺘﺮﯾﻦ ﺣﻤﻠﻪ ﺗﺎ ﮐﻨﻮن در ﺳﺎل ۲۰۱۱ﺑﺎ اﺳﺘﻔﺎده از ﺣﻤﻠﻪ دوﺑﺨﺸ ١٠اراﺋﻪ ﺷﺪه اﺳﺖ .ﺑﺮای
ﻣﺜﺎل اﯾﻦ ﺣﻤﻠﻪ روی AES-128ﺑﻪ زﻣﺎن ۲۱۲۶٫۱۸و ﺣﺎﻓﻈﻪ ۲۸ﻧﯿﺎز دارد .ﭘﯿﭽﯿﺪﮔ داده ﻧﯿﺰ ۲۸۸ﻣ ﺑﺎﺷﺪ .ﺑﻨﺎﺑﺮاﯾﻦ
AESاز اﻣﻨﯿﺖ ﻗﺎﺑﻞ ﻣﻼﺣﻈﻪای ﺑﺮﺧﻮردار ﻣ ﺑﺎﺷﺪ.
ﺑﺮای رﻣﺰ ﻗﺎﻟﺒ DESاوﻟﯿﻦ ﺣﻤﻠﻪ در ﺳﺎل ۱۹۹۱ﺗﻮﺳﻂ ﺑﯿﻬﺎم ١١و ﺷﺎﻣﯿﺮ ١٢اراﺋﻪ ﺷﺪ ﮐﻪ ﭘﯿﭽﯿﺪﮔ داده آن ۲۴۷
ﺑﻮد .ﺣﻤﻠﻪی دﯾ ﺮی در ﺳﺎل ۱۹۹۳ﺗﻮﺳﻂ ﻣﺎﺗﺴﻮﯾ ١٣ﻣﻄﺮح ﺷﺪ ﮐﻪ ﻧﯿﺎز ﺑﻪ داﻧﺴﺘﻦ ۲۴۳داده داﺷﺖ .ﻋﻼوه ﺑﺮ
اﯾﻦ ﺣﻤﻼت ،ﺣﻤﻠﻪای ﮐﻪ ﻫﻤﻮاره ﺑﺮ اﻟ ﻮرﯾﺘﻢﻫﺎی رﻣﺰﻧ ﺎری ﻋﻤﻞ ﻣ ﮐﻨﺪ ﺟﺴﺘﺠﻮی ﺗﻤﺎﻣ ﮐﻠﯿﺪﻫﺎی ﻣﻤ ﻦ ﻣ ﺑﺎﺷﺪ.
اﻣﺮوزه ﺟﺴﺘﺠﻮی ﻓﻀﺎی ﮐﻠﯿﺪ ۵۶ﺑﯿﺘ ﺑﺎ ﻫﺰﯾﻨﻪ و زﻣﺎن ﻣﻌﻘﻮﻟ ﺑﻪ راﺣﺘ اﻣ ﺎن ﭘﺬﯾﺮ ﻣ ﺑﺎﺷﺪ.
١٠
biclique
١١
Eli Biham
١٢
Adi Shamir
١٣
Mitsuru Matsui
١۴ب١١-
ﺑﻪ ﻧﺎم ﺧﺪا
در اﯾﻦ ﺟﻠﺴﻪ ﺷﯿﻮه اﺳﺘﻔﺎده از رﻣﺰﻫﺎی ﻗﺎﻟﺒ ١را ﻣﻮرد ﺑﺮرﺳ ﻗﺮار ﻣ دﻫﯿﻢ و ﭼﻬﺎر ﻣﻮرد از ﻣﺪﻫﺎی ﻋﻤﻠ ﺮد ٢را ﻣﻌﺮﻓ
و در ﻣﻮرد اﻣﻨﯿﺖ آﻧﻬﺎ ﺑﺤﺚ ﻣ ﮐﻨﯿﻢ .در اﺑﺘﺪا ﺗﻮﺟﻪ ﻣ ﮐﻨﯿﻢ ﮐﻪ اﮔﺮ E : {۰, ۱}n × {۰, ۱}n −→ {۰, ۱}nﯾ
ﺟﺎﯾ ﺸﺖ ﺷﺒﻪ ﺗﺼﺎدﻓ ) (PRPﺑﺎﺷﺪ آﻧ ﺎه ﻫﺮ رﺷﺘﻪ -nﺑﯿﺘ را ﯾ ﻗﺎﻟﺐ ﻣ ﮔﻮﺋﯿﻢ .ﺑﺎ اﯾﻦ اﺻﻄﻼح ﻣ ﺑﯿﻨﯿﻢ ﮐﻪ رﻣﺰ
ﻗﺎﻟﺒ ﻓﻘﻂ روی ﯾ ﺗ ﻗﺎﻟﺐ ﻋﻤﻞ ﻣ ﮐﻨﺪ و اﯾﻦ ﺳﻮال ﺑﻮﺟﻮد ﻣ آﯾﺪ ﮐﻪ ﭼ ﻮﻧﻪ ﭘﯿﺎمﻫﺎی ﺑﺎ ﻃﻮل دﻟﺨﻮاه را رﻣﺰ ﮐﻨﯿﻢ.
ﻧ ﺘﻪ ١ﭘﯿﺎمﻫﺎی ﺑﺎ ﻃﻮل دﻟﺨﻮاه را ﻣ ﺗﻮان ﺑﺎ اﺿﺎﻓﻪ ﮐﺮدن ﯾ ﻋﺪد ۱و ﺑﻪ ﺗﻌﺪاد ﮐﺎﻓ ۰در اﻧﺘﻬﺎی آن ،ﺑﻪ ﻃﻮل
ﻣﻀﺮﺑ از اﻧﺪازه ﻗﺎﻟﺐ ﻣﻄﻠﻮب ﺗﺒﺪﯾﻞ ﮐﺮد .اﯾﻦ ﻋﻤﻞ ﭘﺪﯾﻨ ٣ﻧﺎﻣﯿﺪهﺷﻮد .ﺑﻪ ﻃﻮر دﻗﯿﻖﺗﺮ ،اﮔﺮ ∗} M ∈ {۰, ۱ﯾ
رﺷﺘﻪ دﻟﺨﻮاه ﺑﺎﺷﺪ ،رﺷﺘﻪ ﭘﺪ ﺷﺪه ﺑﻪ ﺻﻮرت M ۱۰tﻣ ﺑﺎﺷﺪ ﮐﻪ ۰ ≤ t ≤ n − ۱ﮐﻮﭼ ﺘﺮﯾﻦ ﻋﺪدی اﺳﺖ ﮐﻪ ﺑﻪ
ازای آن | |M ۱۰tﻣﻀﺮب nاﺳﺖ ﮐﻪ ﻣﺎ آن را ﺑﻪ ﺻﻮرت زﯾﺮ ﻧﺸﺎن ﻣ دﻫﯿﻢ:
١۵-١
m1 m2 mb
اﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺸﺎﯾ اﺑﺘﺪا ﺑﺮرﺳ ﻣ ﮐﻨﺪ ﮐﻪ | |cﻣﻀﺮﺑ از nﺑﺎﺷﺪ .اﮔﺮ ﻧﺒﺎﺷﺪ ⊥ ﺑﺮﻣ ﮔﺮداﻧﺪ؛ در ﻏﯿﺮ اﯾﻦ ﺻﻮرت،
ﻣﺤﺎﺳﺒﺎت زﯾﺮ اﻧﺠﺎم ﻣ ﺷﻮد ﮐﻪ c = c۱ . . . cbو :|ci | = n
Pr{PrivKeav
A,Π = ۱} = ۱ .
ﻗﺎﺑﻞ ﺗﻮﺟﻪ اﺳﺖ ﮐﻪ ﺣﻤﻠﻪ ﻓﻮق ﻋﻠﯿﻪ ﻣﺪ ﮐﺘﺎب اﻟ ﺘﺮوﻧﯿ ECB، ،ﯾ ﻣﺴﺌﻠﻪ ﻧﻈﺮی ﻧﯿﺴﺖ و اﻃﻼﻋﺎت زﯾﺎدی را
ﻣ ﺗﻮان ﺑﺎ ﻣﺸﺎﻫﺪه ﻣﺘﻮن رﻣﺰ ﺷﺪه ﺑﻪ دﺳﺖ آورد ﮐﻪ ﺗﻮﺳﻂ اﯾﻦ روش ﺗﻮﻟﯿﺪ ﺷﺪهاﻧﺪ .ﺑﻨﺎﺑﺮاﯾﻦ روش ECBﻧﺒﺎﯾﺪ اﺳﺘﻔﺎده
ﺷﻮد و ﻣﻌﺮﻓ اﯾﻦ روش ﺻﺮﻓﺎً ﺑﻪ ﺧﺎﻃﺮ اﻫﻤﯿﺖ ﺗﺎرﯾﺨ آن اﺳﺖ.
ﯾ ﻣﺜﺎل ﻗﺎﺑﻞ ﺗﻮﺟﻪ از اﯾﻨ ﻪ ECBﻣﻘﺪاری از اﻃﻼﻋﺎت ﻣﺘﻦ اﺻﻠ را در ﻣﺘﻦ رﻣﺰی ﻓﺎش ﻣ ﮐﻨﺪ ،در ﺣﺎﻟﺘ اﺳﺖ ﮐﻪ
ﺑﺮای رﻣﺰﻧ ﺎری ﯾ ﺗﺼﻮﯾﺮ ﺑﯿﺖﻣﭗ ۶اﺳﺘﻔﺎده ﺷﻮد .در اﯾﻦ ﺣﺎﻟﺖ ﻣﻨﺎﻃﻖ وﺳﯿﻌ از رﻧ ﻫﺎی ﯾ ﻨﻮاﺧﺖ ﺑﻪ ﺻﻮرت
ﻣﺸﺎﺑﻪ رﻣﺰ ﺷﺪه و رﻧ ﻫﺎی ﭘﯿ ﺴﻞﻫﺎی ﺗ ﻧﯿﺰ ﺑﻪ ﺻﻮرت ﺟﺪاﮔﺎﻧﻪ رﻣﺰ ﺷﺪه ،ﯾﻌﻨ ﻫﻤﺎﻧ ﻮﻧﻪ ﮐﻪ ﮔﻔﺘﻪ ﺷﺪ ﻗﺎﻟﺐﻫﺎی
۵
deterministic
۶
bitmap image
١۵-٢
در ﻣﺘﻦ اﺻﻠ در ﻣﺘﻦ رﻣﺰ ﺷﺪه ﯾ ﺴﺎن ﺑﻪ ﻗﺎﻟﺐﻫﺎی ﻣﺸﺎﺑﻪ رﻣﺰ ﻣ ﺷﻮﻧﺪ .اﯾﻦ ﺑﺎﻋﺚ ﻣ ﺷﻮد ﻫﻤﺎن ﺗﻔﺎوتﻫﺎی رﻧ
ﻧﯿﺰ ﻗﺎﺑﻞ دﯾﺪن ﺑﺎﺷﺪ )ﺷ ﻞ .(٢
ﻣﺪ )ﺷ ﻞ وﺳﻂ( و ﯾ ﺗﺼﻮﯾﺮ ﺑﯿﺖﻣﭗ و رﻣﺰ ﺷﺪه آن ﺑﺎ ﻣﺪ ﮐﺘﺎب اﻟ ﺘﺮوﻧﯿ ﭘﺪﯾﺎ[ ﯾ ﺷ ﻞ ] :٢ﺑﺮﮔﺮﻓﺘﻪ از وﯾ
اﻣﻦ )ﺷ ﻞ ﺳﻤﺖ راﺳﺖ(.
IV
٧
Cipher Block Chaining (CBC) mode
١۵-٣
ﺑﺮای ﺑﺎز ﻧﻤﻮدن اﯾﻦ رﻣﺰ ﮐﺎﻓ اﺳﺖ miﻫﺎ را ﺑﻪ ﺻﻮرت زﯾﺮ ﻣﺤﺎﺳﺒﻪ )ﺷ ﻞ (۴
mi = Ek−۱ (ci ) ⊕ ci−۱
ﻣﻌﺘﺒﺮ ﻧﺒﺎﺷﺪ ⊥ ﺑﺮﮔﺮداﻧﺪه ﻣ ﺷﻮد. را ﺣﺬف ﮐﻨﯿﻢ .در ﺻﻮرﺗ ﮐﻪ ﭘﺪﯾﻨ و ﺳﭙﺲ ﭘﺪﯾﻨ
ﺟﺎﯾ ﺸﺖ ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺎﺷﺪ روش رﻣﺰﻧ ﺎری ﺑﻪ روش CBCاﺣﺘﻤﺎﻻﺗ اﺳﺖ و ﻣ ﺗﻮان ﺛﺎﺑﺖ ﮐﺮد ﮐﻪ اﮔﺮ Eﯾ
آﻧ ﺎه روش CBCدارای اﻣﻨﯿﺖ در ﻣﻘﺎﺑﻞ ﺣﻤﻠﻪ ﻣﺘﻦ اﺻﻠ اﻧﺘﺨﺎﺑ ٨اﺳﺖ.
ﺟﺎﯾ ﺸﺖ ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺎﺷﺪ ،آﻧ ﺎه روش CBCدارای اﻣﻨﯿﺖ ﻣﺘﻦ اﺻﻠ اﻧﺘﺨﺎﺑ اﺳﺖ. ﻗﻀﯿﻪ ١اﮔﺮ Eﯾ
ﻣﻬﻤﺘﺮﯾﻦ اﺷ ﺎل اﯾﻦ روش اﯾﻦ اﺳﺖ ﮐﻪ رﻣﺰﻧ ﺎری ﺑﺎﯾﺪ ﺑﻪ ﻃﻮر ﻣﺘﻮاﻟ اﻧﺠﺎم ﺷﻮد و ﻗﺎﺑﻠﯿﺖ ﭘﺮدازش ﻣﻮازی ﻧﺪارد.
زﯾﺮا ﺑﻪ ﺗﺮﺗﯿﺐ ﺑﺮای رﻣﺰ ﮐﺮدن ﻗﺎﻟﺐ ﻣﺘﻦ اﺻﻠ mjﺑﻪ ﻗﺎﻟﺐ ﻣﺘﻦ رﻣﺰی cj−۱ﻧﯿﺎز اﺳﺖ ،و ﻧﯿﺰ ﺑﻪ ﻫﻤﯿﻦ ﻋﻠﺖ ﻗﺎﻟﺐ
ﻫﺎی ﯾ ﺴﺎن در زﻣﯿﻨﻪ ﻫﺎی ﻣﺨﺘﻠﻒ ﺑﻪ ﺷ ﻞ ﻣﺘﻔﺎوﺗ رﻣﺰ ﻣ ﺷﻮﻧﺪ .روش رﻣﺰﻧ ﺎری CBCدارای اﻣﻨﯿﺖ ﺣﻤﻠﻪ ﻣﺘﻦ
رﻣﺰی اﻧﺘﺨﺎﺑ ٩ﻧﻤ ﺑﺎﺷﺪ .ﻣﻬﺎﺟﻢ را ﺑﻪ اﯾﻦ ﺻﻮرت ﻃﺮاﺣ ﻣ ﮐﻨﯿﻢ .در آزﻣﺎﯾﺶ ﺣﻤﻠﻪ ﻣﺘﻦ رﻣﺰی اﻧﺘﺨﺎﺑ ﻣﻬﺎﺟﻢ دو
ﭘﯿﺎم ﺑﻪ ﺻﻮرت M۰ = ۰nو M۱ = ۱nﺑﻪ ﭼﺎﻟﺶﮔﺮ ﻣ دﻫﺪ .ﺳﭙﺲ ﭼﺎﻟﺶﮔﺮ ﻣﺘﻦ رﻣﺰ ﺷﺪه ﯾ از آﻧﻬﺎ را ﺑﻪ
ﺻﻮرت ⟩ c = ⟨c۰ , c۱ , c۲ﺑﻪ ﻣﻬﺎﺟﻢ ﺑﺮﻣ ﮔﺮداﻧﺪ .ﺑﻪ ﯾﺎد آورﯾﺪ ﮐﻪ ﻣﻬﺎﺟﻢ دﺳﺘﺮﺳ اوراﮐﻠ ﺑﻪ اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری
و رﻣﺰﮔﺸﺎﯾ دارد وﻟ ﻣﺠﺎز ﺑﻪ درﺧﻮاﺳﺖ رﻣﺰﮔﺸﺎﯾ ﻣﺘﻦ رﻣﺰی ﭼﺎﻟﺸ cﻧﻤ ﺑﺎﺷﺪ .ﺑﻪ ﻫﻤﯿﻦ ﻋﻠﺖ ﻣﻬﺎﺟﻢ ﺑﺎ ﺗﻐﯿﯿﺮ
اﻧﺪﮐ در آن ،ﻣﺘﻦ رﻣﺰی درﺧﻮاﺳﺘ ⟩ c′ = ⟨c۰ ⊕ ۱n , c۱ , c۲را ﺑﻪ اوراﮐﻞ رﻣﺰﮔﺸﺎ ﻣ ﻓﺮﺳﺘﺪ و ﭘﺲ از درﯾﺎﻓﺖ ﭘﯿﺎم
ﻣﺘﻨﺎﻇﺮ آن ،M ′ ،ﺑﯿﺖ ̂ bرا ﺑﻪ ﺻﻮرت زﯾﺮ ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ:
{
۱ if M ′ = M۰
= ̂b .
۰ if M ′ = M۱
٨
Chosen-Plaintext Attack
٩
Chosen-Ciphertext Attack
١۵-۴
ﻣ ﺑﺎﺷﺪ: ﺑﻨﺎﺑﺮاﯾﻦ ﻫﻤﻮاره ̂ b = bو ﻟﺬا اﺣﺘﻤﺎل ﻣﻮﻓﻘﯿﺖ ﻣﻬﺎﺟﻢ در آزﻣﺎﯾﺶ ﻣﺘﻦ رﻣﺰی اﻧﺘﺨﺎﺑ ﺑﺮاﺑﺮ ﯾ
Pr{PrivKcca
A,Π = ۱} = ۱ .
ﺗﻮﻟﯿﺪ ﻣ ﺷﻮد .در ﻧﻬﺎﯾﺖ ﻫﺮ ﻗﺎﻟﺐ از ﻣﺘﻦ اﺻﻠ ﺑﺎ ﻗﺎﻟﺐ ﻣﺘﻨﺎﻇﺮ از دﻧﺒﺎﻟﻪ ﺑﺮای ﺗﻮﻟﯿﺪ ﻣﺘﻦ رﻣﺰ ﺷﺪه ﺑﻪ ﺻﻮرت زﯾﺮ
XORﻣ ﺷﻮد )ﺷ ﻞ :(۵
ci = mi ⊕ zi , i = ۱, ۲, · · · , b .
و ﺳﺮاﻧﺠﺎم ﻣﺘﻦ رﻣﺰی ﺑﻪ ﺻﻮرت ﻧﻬﺎی زﯾﺮ ﺣﺎﺻﻞ ﻣ ﺷﻮد:
IV
رﻣﺰﮔﺸﺎﯾ ﻧﯿﺰ ﺑﻪ روش ﻣﺸﺎﺑﻪ اﻧﺠﺎم ﻣ ﮔﯿﺮد .در اﯾﻦ روش ﻧﯿﺰ ﻫﻤﺎﻧﻨﺪ روش CBCﺑﺮدار آﻏﺎزﯾﻦ IVﻗﺴﻤﺘ از ﻣﺘﻦ
رﻣﺰی ﻣ ﺑﺎﺷﺪ .در ﻣﻘﺎﯾﺴﻪ ﺑﺎ روش CBCدر اﯾﻨﺠﺎ ﻟﺰوﻣ ﻧﺪارد ﮐﻪ Eوارون ﭘﺬﯾﺮ ﺑﺎﺷﺪ و از ﯾ ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ﻧﯿﺰ
ﺑﻪ ﺟﺎی ﯾ ﯾ ﺸﺖ ﺷﺒﻪﺗﺼﺎدﻓ ﻣ ﺗﻮان اﺳﺘﻔﺎده ﮐﺮد .در اﯾﻦ روش ﻧﯿﺰ ﻫﺮ دو اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری و رﻣﺰﮔﺸﺎﯾ ﺑﺎﯾﺪ
ﺑﻪ ﺻﻮرت ﻣﺘﻮاﻟ اﻧﺠﺎم ﺷﻮﻧﺪ ،در ﻧﺘﯿﺠﻪ اﯾﻦ ﻣﺪ ﻧﯿﺰ ﻗﺎﺑﻠﯿﺖ ﭘﺮدازش ﻣﻮازی را ﻧﺪارد .در ﻧﻬﺎﯾﺖ ﻗﻀﯿﻪ زﯾﺮ را ﺑﺪون
اﺛﺒﺎت ﺑﯿﺎن ﻣ ﮐﻨﯿﻢ.
ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺎﺷﺪ ،آﻧ ﺎه روش OFBدارای اﻣﻨﯿﺖ ﻣﺘﻦ اﺻﻠ اﻧﺘﺨﺎﺑ اﺳﺖ. ﻗﻀﯿﻪ ٢اﮔﺮ Eﯾ
١٠
Output Feedback (OFB) mode
١۵-۵
ﻧ ﺘﻪ ٢در ﻣﺪ OFBﻧﯿﺎزی ﺑﻪ ﭘﺪ ﮐﺮدن ﭘﯿﺎم ﻧﯿﺴﺖ ،زﯾﺮا ﻣ ﺗﻮان ﺑﻪ ﺗﻌﺪاد ﻻزم از ﺑﯿﺖﻫﺎی آﺧﺮﯾﻦ ﻗﺎﻟﺐ دﻧﺒﺎﻟﻪ
ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺮﯾﺪ ١١و ﺑﺮای رﻣﺰ ﮐﺮدن آﺧﺮﯾﻦ ﺑﯿﺖﻫﺎی ﭘﯿﺎم ﮐﻪ ﺗﺸ ﯿﻞ ﯾ ﻗﺎﻟﺐ ﮐﺎﻣﻞ ﻧﻤ دﻫﻨﺪ اﺳﺘﻔﺎده ﮐﺮد.
۴روش ﺷﻤﺎرﮔﺮ
روﺷ را ﮐﻪ ﻣ ﺧﻮاﻫﯿﻢ اراﺋﻪ دﻫﯿﻢ ﻧﺴﺒﺖ ﺑﻪ روش CBCﮐﻤﺘﺮ ﻋﻤﻮﻣﯿﺖ دارد اﻣﺎ ﺗﻌﺪادی ﻣﺰﯾﺖ ﻧﺴﺒﺖ ﺑﻪ آن دارا
ﻣ ﺑﺎﺷﺪ .ﻣﺪ ﺷﻤﺎرﮔﺮ ،١٢ CTR ،را ﻫﻤﺎﻧﻨﺪ روش OFBﻣ ﺗﻮان ﺑﻪ ﺻﻮرت ﯾ ﺗﻮﻟﯿﺪ ﮐﻨﻨﺪهی رﺷﺘﻪ ﺗﺼﺎدﻓ از
ﯾ رﻣﺰ ﻗﺎﻟﺐ در ﻧﻈﺮ ﮔﺮﻓﺖ .اﺑﺘﺪا ﯾ ﺑﺮدار آﻏﺎزﯾﻦ IVﺑﻪ ﺻﻮرت ﺗﺼﺎدف از {۰, ۱}nاﻧﺘﺨﺎب ﻣ ﺷﻮد و ﺳﭙﺲ
ﻣﺤﺎﺳﺒﺎت زﯾﺮ ﺻﻮرت ﻣ ﮔﯿﺮد:
از ﻣﺰﯾﺖ ﻫﺎی روش CTRﻣ ﺗﻮان اﻣﻨﯿﺖ در ﻣﻘﺎﺑﻞ ﺣﻤﻠﻪ ﻣﺘﻦ اﺻﻠ اﻧﺘﺨﺎﺑ ،ﮐﺎﻣﻼ ﻣﻮازی اﻧﺠﺎم ﺷﺪن اﻟ ﻮرﯾﺘﻢﻫﺎی
رﻣﺰﻧ ﺎری و رﻣﺰﮔﺸﺎﯾ ،و ﻋﺪم ﻧﯿﺎز ﺑﻪ ﭘﺪﯾﻨ ﻣﺘﻦ اﺻﻠ را ﻧﺎم ﺑﺮد .ﻫﻤﭽﻨﯿﻦ اﯾﻦ اﻣ ﺎن را دارد ﮐﻪ ﻣ ﺗﻮاﻧﺪ iاﻣﯿﻦ
ﻗﺎﻟﺐ از ﻣﺘﻦ رﻣﺰی را ﺑﺪون رﻣﺰﮔﺸﺎﯾ ﻗﺎﻟﺐﻫﺎی دﯾ ﺮ رﻣﺰﮔﺸﺎﯾ ﮐﻨﺪ .اﯾﻦ وﯾﮋﮔ را دﺳﺘﺮﺳ ﺗﺼﺎدﻓ ﻣ ﻧﺎﻣﻨﺪ.
ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺎﺷﺪ آﻧ ﺎه روش ﺷﻤﺎرﮔﺮ ﺗﺼﺎدﻓ ،دارای اﻣﻨﯿﺖ ﻣﺘﻦ اﺻﻠ اﻧﺘﺨﺎﺑ اﺳﺖ. ﻗﻀﯿﻪ ٣اﮔﺮ Eﯾ
١١
truncate
١٢
Counter (CTR) mode
١۵-۶
ﺑﻪ ﻧﺎم ﺧﺪا
m
S. R
٢
در اﯾﻦ راﺳﺘﺎ اﻣﻨﯿﺖ رﻣﺰ اﺳﺘﻔﺎده ﺷﺪه را در ﺑﺮاﺑﺮ ﺣﻤﻠﻪﻫﺎی ﺷﻨﻮد ١ﺗﺤﺖ ﺳﻨﺎرﯾﻮﻫﺎی ﻣﺨﺘﻠﻒ ﻣﺘﻦ اﺻﻠ اﻧﺘﺨﺎﺑ
و ﻣﺘﻦ اﺻﻠ رﻣﺰی ٣ﺑﺮرﺳ ﮐﺮدهاﯾﻢ .ﻧ ﺘﻪای ﮐﻪ در اﯾﻦ ﻣﯿﺎن وﺟﻮد دارد اﯾﻦ اﺳﺖ ﮐﻪ اﯾﻦ ﺣﻤﻠﻪﻫﺎ از ﻧﻮع ﺣﻤﻠﻪی
ﻣﻨﻔﻌﻞ ۴ﻫﺴﺘﻨﺪ.
ﺗﻌﺮﯾﻒ ١ﺣﻤﻠﻪای ﻣﻨﻔﻌﻞ اﺳﺖ ﮐﻪ در آن ﻣﻬﺎﺟﻢ ﻧﺘﻮاﻧﺪ ﺗﻐﯿﯿﺮی در ﭘﯿﺎم ارﺳﺎﻟ از ﻓﺮﺳﺘﻨﺪه ﺑﻪ ﮔﯿﺮﻧﺪه اﯾﺠﺎد ﮐﻨﺪ و
ﺻﺮﻓﺎ ﺗﻼش ﻣ ﮐﻨﺪ ﺗﺎ اﻃﻼﻋﺎﺗ در ﻣﻮرد ﭘﯿﺎم ﺑﺪﺳﺖ آورد.
ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﻓﻌﺎل ۵ﺑﺎ دﺳﺖﮐﺎری در ﭘﯿﺎمﻫﺎی ارﺳﺎﻟ ﺳﻌ در ﺧﺮابﮐﺎری دارد .ﯾ ﺣﻤﻠﻪی ﻓﻌﺎل ﺗﺤﺖ ﺳﻨﺎرﯾﻮی
ﻣﺘﻦ رﻣﺰی اﻧﺘﺨﺎﺑ ﻋﻠﯿﻪ ﯾ ﺳﯿﺴﺘﻢ رﻣﺰ در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ .اﮔﺮ ﺳﯿﺴﺘﻢ رﻣﺰ دارای اﻣﻨﯿﺖ ﻣﺘﻦ رﻣﺰی اﻧﺘﺨﺎﺑ ﺑﺎﺷﺪ ،ﺣﻤﻠﻪ
ﮐﻨﻨﺪه ﻗﺎدر ﻧﯿﺴﺖ ﻣﺘﻦ رﻣﺰی را ﻃﻮری ﺗﻐﯿﯿﺮ دﻫﺪ ﮐﻪ ﺗﺒﺪﯾﻞ ﺑﻪ ﻣﺘﻦ رﻣﺰ ﺷﺪهی ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﭘﯿﺎم دﻟﺨﻮاﻫﺶ ﺷﻮد .درواﻗﻊ
ﭼﻨﯿﻦ ﺳﯿﺴﺘﻢ رﻣﺰی ،دارای اﻣﻨﯿﺖ ﻗﻮیﺗﺮی اﺳﺖ :ﻣﻬﺎﺟﻢ ﻗﺎدر ﻧﯿﺴﺖ ﻣﺘﻦ رﻣﺰ ﺷﺪه را ﻃﻮری ﺗﻐﯿﯿﺮ دﻫﺪ ،ﺑﻪ ﻃﻮریﮐﻪ
ﺑﺘﻮاﻧﺪ در ﻣﻮرد ﻣﺘﻦ اﺻﻠ ﻣﺘﻨﺎﻇﺮ آن اﻃﻼﻋﺎﺗ ﮐﺴﺐ ﮐﻨﺪ .ﺑﺎ اﯾﻦ وﺟﻮد ﻣﻤ ﻦ اﺳﺖ ﻣﻬﺎﺟﻢ ﺑﺘﻮاﻧﺪ ﻣﺘﻦ رﻣﺰی ﺑﺴﺎزد
ﮐﻪ ﻣﻌﺘﺒﺮ ﺑﺎﺷﺪ و ﮔﯿﺮﻧﺪه ﺑﺘﻮاﻧﺪ آﻧﺮا رﻣﺰﮔﺸﺎﯾ ﮐﻨﺪ .ﭼﻨﯿﻦ وﯾﮋﮔ در ﺑﻌﻀ ﮐﺎرﺑﺮدﻫﺎ ﻣ ﺗﻮاﻧﺪ ﺧﻄﺮﻧﺎک ﺑﺎﺷﺪ.
Enc
m c
١۶-١
ﺳﻮاﻟ ﮐﻪ ﭘﯿﺶ ﻣ آﯾﺪ اﯾﻦ اﺳﺖ ﮐﻪ ﭼﻪ ﮐﺎر ﻣ ﺗﻮان ﮐﺮد ﺗﺎ ﮔﯿﺮﻧﺪه از اﺻﺎﻟﺖ ﭘﯿﺎم درﯾﺎﻓﺘ ﻣﻄﻤﺌﻦ ﺷﻮد.
اوﻟﯿﻦ ﭼﯿﺰی ﮐﻪ ﺑﻪ ذﻫﻦ ﻣ رﺳﺪ اﯾﻦ اﺳﺖ ﮐﻪ ﻓﺮﺳﺘﻨﺪه ﺑﺎﯾﺪ وﯾﮋﮔ ﺧﺎﺻ از ﭘﯿﺎم اﺻﻠ ﺑﺪﺳﺖ آورده و ﯾﺎ ﻣﻘﺪاری را
از روی آن ﺣﺴﺎب ﮐﻨﺪ و ﺑﺠﺎی ﭘﯿﺎم ،ﻣﺠﻤﻮﻋﻪی ﭘﯿﺎم و ﻣﻘﺪار ﻣﺤﺎﺳﺒﻪ ﺷﺪه را ﺑﺮای ارﺳﺎل در ﻧﻈﺮ ﺑ ﯿﺮد ﺗﺎ اﻋﺘﺒﺎر ﭘﯿﺎم
از روی اﯾﻦ ﻣﻘﺪار ﺑﺮرﺳ ﺷﻮد:
⟩)⟨m, f (m
در ﻋﻤﻞ ،ﺗﺎﺑﻊ fﻣ ﺗﻮاﻧﺪ ﯾ parityروی ﺑﯿﺖﻫﺎی mو ﯾﺎ checksumﭘﯿﺎم اﺻﻠ ﺑﺎﺷﺪ .اﻣﺎ در اﯾﻦ ﺣﺎﻻت اﯾﻦ
ﺗﺎﺑﻊ ﻋﻤﻮﻣ ۶اﺳﺖ و ﻣﻬﺎﺟﻢ ﺑﺎ اﻃﻼع از ﺗﺎﺑﻊ fﻗﺎدر اﺳﺖ ،ﺣﻤﻠﻪ ﻣﻨﺎﺳﺒ ﻃﺮاﺣ ﮐﻨﺪ .ﺑﺮای ﺣﻞ اﯾﻦ ﻣﺸ ﻞ در اﯾﻨﺠﺎ
ﻧﯿﺰ از ﯾ ﮐﻠﯿﺪ ﻣﺸﺘﺮک ﺑﯿﻦ ﻓﺮﺳﺘﻨﺪه و ﮔﯿﺮﻧﺪه اﺳﺘﻔﺎده ﻣ ﮐﻨﯿﻢ .ﯾﻌﻨ در ﭘﺎﯾﺎن ﭘﯿﺎم ﯾ ﺑﺮﭼﺴﺐ ٧ﭼﻮن tﺑﻪ ﭘﯿﺎم اﺿﺎﻓﻪ
ﻣ ﮐﻨﯿﻢ ﮐﻪ اﯾﻦ ﺑﺮﭼﺴﺐ ﺗﺎﺑﻌ از ﭘﯿﺎم اﺻﻠ و ﮐﻠﯿﺪ اﺳﺖ:
k
S. R
m ⟩⟨m, t
در ﻧﻬﺎﯾﺖ ﮔﯿﺮﻧﺪه ﺑﺎ درﯾﺎﻓﺖ tﺑﺮرﺳ ﻣ ﮐﻨﺪ ﮐﻪ آﯾﺎ tﺗﺎﺑﻌ ﻣﻌﻠﻮم از ﭘﯿﺎم و ﮐﻠﯿﺪ اﺳﺖ ﯾﺎ ﺧﯿﺮ و ﺑﻪ اﯾﻦ ﺗﺮﺗﯿﺐ ﺻﺤﺖ
و اﺻﺎﻟﺖ ﭘﯿﺎم را ﻣﻼﺣﻈﻪ ﻣ ﮐﻨﺪ.
• :Genاﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ اﺳﺖ ﮐﻪ از روی ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺖ nﮐﻠﯿﺪ kرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ.
) Kرا ﻓﻀﺎی ﮐﻠﯿﺪ ،ﯾﻌﻨ ﻣﺠﻤﻮﻋﻪ ﻫﻤﻪ ﺧﺮوﺟ ﻫﺎی اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ ﺑ ﯿﺮﯾﺪ(.
• :Macاﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﺑﺮﭼﺴﺐ اﺳﺖ و ﭘﯿﺎم m ∈ Mو ﮐﻠﯿﺪ k ∈ Kرا ﺑﻪ ﺑﺮﭼﺴﺐ )t ← Mack (m
ﻣ ﻧ ﺎرد.
• :Vrfyاﻟ ﻮرﯾﺘﻢ ﺗﺎﯾﯿﺪ ﺑﺮﭼﺴﺐ اﺳﺖ و ﭘﯿﺎم ،m ∈ Mﮐﻠﯿﺪ k ∈ Kو ﺑﺮﭼﺴﺐ tرا ﻣ ﮔﯿﺮد و ﺧﺮوﺟ ﯾ
)ﺑﻪ ﻣﻌﻨ ﻣﻌﺘﺒﺮ( ﯾﺎ ﺻﻔﺮ )ﺑﻪ ﻣﻌﻨ ﻧﺎﻣﻌﺘﺒﺮ( ﺑﺮ ﻣ ﮔﺮداﻧﺪ .ﺑﺮای ﻫﺮ ﭘﯿﺎم mو ﻫﺮ ﮐﻠﯿﺪ kدارﯾﻢ:
اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﺑﺮﭼﺴﺐ ﻣ ﺗﻮاﻧﺪ ﻗﻄﻌ ﯾﺎ ﺗﺼﺎدﻓ ﺑﺎﺷﺪ .اﻣﺎ اﻟ ﻮرﯾﺘﻢ ﺗﺎﯾﯿﺪ ﺑﺮﭼﺴﺐ ﻫﻤﻮاره ﻗﻄﻌ اﺳﺖ.
۶
public
٧
tag
٨
Message Authentication Code
١۶-٢
ﭼ ﻮﻧﻪ ﻣ ﺗﻮان ﯾ ﺳﺎﺧﺘﺎر ﮐﺪ اﺻﺎﻟﺖﺳﻨﺠ ﺳﺎﺧﺖ؟ ﺑﺮای ﭘﺎﺳﺦ ﺑﻪ اﯾﻦ ﺳﻮال اﺑﺘﺪا ﻓﺮض ﻣ ﮐﻨﯿﻢ ﮐﻪ ﭘﯿﺎمﻫﺎی
ﻣﺎ ﻃﻮل ﺛﺎﺑﺘ دارﻧﺪ؛ ﻣﺜﻼ .M = {۰, ۱}nاﯾﺪهی اﺑﺘﺪاﯾ اﯾﻦ اﺳﺖ ﮐﻪ ﻣﺸﺎﺑﻪ رﻣﺰﻧ ﺎری از ٩ OTPﺑﺮای ﮐﺪ
اﺻﺎﻟﺖﺳﻨﺠ ﭘﯿﺎم اﺳﺘﻔﺎده ﮐﻨﯿﻢ ،دارﯾﻢ:
آﯾﺎ اﯾﻦ روش ﺑﺮای ﺳﺎﺧﺖ ﺑﺮﭼﺴﺐ اﻣﻦ اﺳﺖ؟ ﺑﺮای ﭘﺎﺳﺦ ﺑﻪ اﯾﻦ ﭘﺮﺳﺶ اﺑﺘﺪا ﻧﯿﺎز دارﯾﻢ ﮐﻪ ﺗﻌﺮﯾﻔ دﻗﯿﻘ از اﻣﻨﯿﺖ
ﮐﺪ اﺻﺎﻟﺖﺳﻨﺠ ﭘﯿﺎم اراﺋﻪ ﮐﻨﯿﻢ ﮐﻪ ﻗﺎﺑﻠﯿﺖﻫﺎی ﺣﻤﻠﻪﮐﻨﻨﺪهﻫﺎی ﻓﻌﺎل را در دﻧﯿﺎی واﻗﻌ ﻣﺪل ﻣ ﮐﻨﺪ.
ﻣﺠﻤﻮﻋﻪی ﭘﺮﺳﻤﺎنﻫﺎی ﻣﻬﺎﺟﻢ ﺑﻪ ﻫﻨ ﺎم ﺑﺮرﺳ را Qﻣ ﻧﺎﻣﯿﻢ .ﺧﺮوﺟ آزﻣﺎﯾﺶ ﮐﻪ ﺑﺎ ﻣﺘﻐﯿﺮ ﺗﺼﺎدﻓ )MacForgeA,Π (n
ﻧﺸﺎن داده ﻣ ﺷﻮد ﯾ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣ ﺷﻮد اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﻣﻬﺎﺟﻢ ﻣﻮﻓﻖ ﺑﻪ ﺟﻌﻞ ﯾ ﺑﺮﭼﺴﺐ ﻣﻌﺘﺒﺮ ﺑﺮای ﭘﯿﺎﻣ ﮐﻪ
ﻗﺒﻼ ﭘﺮﺳﻤﺎن ﻧ ﺮده اﺳﺖ ﺷﻮد .ﺑﻪ ﻃﻮر دﻗﯿﻖﺗﺮ:
{
۱, if m ̸∈ Q ∧ Vrfyk (⟨m, t⟩) = ۱
= )MacForgeA,Π (n
۰, otherwise
٩
One Time Pad
١٠
adversary
١١
challenger
١٢
query
١۶-٣
ﺗﻌﺮﯾﻒ ٣ﯾ ﺳﯿﺴﺘﻢ ﮐﺪ اﺻﺎﻟﺖﺳﻨﺠ ﭘﯿﺎم دارای اﻣﻨﯿﺖ ﺟﻌﻞﻧﺎﭘﺬﯾﺮی ١٣اﺳﺖ ،ﻫﺮﮔﺎه ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ ﺗﺼﺎدﻓ ﭼﻮن
Aﮐﻪ در زﻣﺎن ﭼﻨﺪﺟﻤﻠﻪای اﺟﺮا ﻣ ﺷﻮد ،ﯾ ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ﭼﻮن ) ε(nﯾﺎﻓﺖ ﺷﻮد ﺑﻪ ﻃﻮری ﮐﻪ داﺷﺘﻪ ﺑﺎﺷﯿﻢ:
ﻧ ﺘﻪ ١ﺗﻌﺮﯾﻒ ﻓﻮق ﺣﻤﻠﻪ ﺑﺎزﭘﺨﺶ ١۴را ﻣﺪل ﻧﻤ ﮐﻨﺪ .ﺑﻪ ﻋﺒﺎرت دﯾ ﺮ اﮔﺮ زوج ⟩ ⟨m, tﺗﻮﺳﻂ ﻓﺮﺳﺘﻨﺪه ﻣﺠﺎز ﺑﺮای
ﮔﯿﺮﻧﺪه ارﺳﺎل ﺷﻮد ،ﻣﻬﺎﺟﻢ ﻣ ﺗﻮاﻧﺪ ﺑﻌﺪا ﻫﻤﯿﻦ ﭘﯿﺎم را از ﻃﺮف ﻓﺮﺳﺘﻨﺪه ﺑﺮای ﮔﯿﺮﻧﺪه ارﺳﺎل ﮐﻨﺪ و ﮔﯿﺮﻧﺪه آﻧﺮا ﺑﭙﺬﯾﺮد.
اﯾﻦ ﺑﺪﯾﻦ ﻣﻌﻨ ﻧﯿﺴﺖ ﮐﻪ ﺣﻤﻠﻪ ﺑﺎزﭘﺨﺶ در ﻋﻤﻞ ﻣﻬﻢ ﻧﯿﺴﺖ؛ ﺑﺮﻋ ﺲ ،ﺣﻤﻠﻪ ﺑﺎزﭘﺨﺶ در ﻋﻤﻞ ﻣ ﺗﻮاﻧﺪ ﺑﺴﯿﺎر
ﺧﻄﺮﻧﺎک ﺑﺎﺷﺪ .اﻣﺎ ﺑﺮای ﻣﻘﺎﺑﻠﻪ ﺑﺎ آن ﺑﺎﯾﺪ ﭼﺎرهﻫﺎی دﯾ ﺮی اﻧﺪﯾﺸﯿﺪ )ﻣﺎﻧﻨﺪ اﺳﺘﻔﺎده از ﻣﻬﺮ زﻣﺎﻧ (١۵ﮐﻪ از ﻣﻮﺿﻮع
اﯾﻦ درس ﺧﺎرج اﺳﺖ.
اﮐﻨﻮن ﺑﺎﯾﺪ واﺿﺢ ﺑﺎﺷﺪ ﮐﻪ ﭼﺮا ﭘﯿﺸﻨﻬﺎد ﻗﺴﻤﺖ ﻗﺒﻠ ﺑﺮای ﮐﺪ اﺻﺎﻟﺖﺳﻨﺠ دارای اﻣﻨﯿﺖ ﻻزم ﻧﯿﺴﺖ .ﺑﺮای اﺛﺒﺎت
دﻗﯿﻖ ادﻋﺎ ﻣﻬﺎﺟﻢ Aرا ﺑﻪ ﺻﻮرت زﯾﺮ ﻣ ﺳﺎزﯾﻢ ﮐﻪ در آزﻣﺎﯾﺶ ﻫﻤﻮاره ﺑﺮﻧﺪه ﻣ ﺷﻮد )ﺧﺮوﺟ آزﻣﺎﯾﺶ ﺑﺎ اﺣﺘﻤﺎل ﯾ
ﺑﺮاﺑﺮ ۱ﻣ ﺷﻮد( .ﻣﻬﺎﺟﻢ اﺑﺘﺪا ﭘﺮﺳﻤﺎن داﺧﻮاه m۱را ﺑﻪ اوراﮐﻞ )·( Mackارﺳﺎل ﻣ ﮐﻨﺪ و ﺑﺮﭼﺴﺐ t۱را درﯾﺎﻓﺖ
ﻣ ﮐﻨﺪ .ﺳﭙﺲ زوج ⟩ ⟨m, t⟩ = ⟨m۱ ⊕ ۱n , t۱ ⊕ ۱nرا ﺑﻪ ﺧﺮوﺟ ﻣ دﻫﺪ .ﺑﻪ وﺿﻮح دارﯾﻢ:
ﻣﯿﺪان | |Tﻋﻀﻮی ﻣ ﺗﻮان ﺑﻪ ﭼﻨﺪﺟﻤﻠﻪای درﺟﻪ qروی ﯾ ﺳﺆال ۴ﻧﺸﺎن دﻫﯿﺪ ﭼ ﻮﻧﻪ ﻣ ﺗﻮان ﺑﺎ اﺳﺘﻔﺎده از ﯾ
اﻣﻨﯿﺖ ﺟﻌﻞﻧﺎﭘﺬﯾﺮی ﮐﺎﻣﻞ -qﭘﯿﺎﻣ دﺳﺖ ﯾﺎﻓﺖ.
١۶-۴
ﺑﻪ ﻃﻮر دﻗﯿﻖﺗﺮ:
{
۱, if ⟨m, t⟩ ̸∈ Q′ ∧ Vrfyk (⟨m, t⟩) = ۱
= )SMacForgeA,Π (n
۰, otherwise
ﺗﻌﺮﯾﻒ ۵ﯾ ﺳﯿﺴﺘﻢ ﮐﺪ اﺻﺎﻟﺖﺳﻨﺠ ﭘﯿﺎم دارای اﻣﻨﯿﺖ ﺟﻌﻞﻧﺎﭘﺬﯾﺮی ﻗﻮی ١۶اﺳﺖ ،ﻫﺮﮔﺎه ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ ﺗﺼﺎدﻓ
ﭼﻮن Aﮐﻪ در زﻣﺎن ﭼﻨﺪﺟﻤﻠﻪای اﺟﺮا ﻣ ﺷﻮد ،ﯾ ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ﭼﻮن ) ε(nﯾﺎﻓﺖ ﺷﻮد ﺑﻪ ﻃﻮری ﮐﻪ داﺷﺘﻪ ﺑﺎﺷﯿﻢ:
ﻗﻀﯿﻪ ٢اﮔﺮ اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﺑﺮﭼﺴﺐ ﻗﻄﻌ ﺑﺎﺷﺪ ،اﻣﻨﯿﺖ ﺟﻌﻞﻧﺎﭘﺬﯾﺮی ﻗﻮی و اﻣﻨﯿﺖ ﺟﻌﻞﻧﺎﭘﺬﯾﺮی ﻣﻌﺎدﻟﻨﺪ.
ﻣﻬﺎﺟﻢ ﺑﺮﻫﺎن .از ﺑﺮﻫﺎن ﺧﻠﻒ ﺑﺮای اﺛﺒﺎت ﮐﻤ ﻣ ﮔﯿﺮﯾﻢ .ﻓﺮض ﮐﻨﯿﺪ اﯾﻦ ﺳﯿﺴﺘﻢ ﺟﻌﻞﭘﺬﯾﺮ اﺳﺖ .ﭘﺲ ﯾ
ﭼﻨﺪﺟﻤﻠﻪای ﺗﺼﺎدﻓ ﭼﻮن Aو ﯾ ﺗﺎﺑﻊ ﻗﺎﺑﻞﺗﻮﺟﻪ )ﻏﯿﺮﻧﺎﭼﯿﺰ( ﻣﺜﻞ )·( µﺟﻮد دارد ﮐﻪ:
ﺗﻤﺎﯾﺰﮔﺮ Dﺑﺮای ﺗﻤﺎﯾﺰ ﺗﺎﺑﻊ fkاز ﺗﻮاﺑﻊ ﺗﺼﺎدﻓ ﺳﺎﺧﺖ: اﯾﻦ ﻣﻬﺎﺟﻢ ﯾ در اﯾﻨﺠﺎ ﺑﺎ روش ﮐﺎﻫﺶ ١٧ﻣ ﺗﻮان ﺑﻪ ﮐﻤ
١۶
strong unforgeability
١٧
reduction
١۶-۵
ﭼﺎﻟﺸ ﺮ
D
m۱
m۱
) y۱ = f (m۱ A
= t۱
.. y۱
|m|Q .
m|Q
|y|Q| = f (m|Q |
|t|Q
=y
) ||Q .
در واﻗﻊ ﺗﻤﺎﯾﺰﮔﺮ Dدر آزﻣﺎﯾﺸ ﺷﺮﮐﺖ ﻣ ﮐﻨﺪ ﮐﻪ دﺳﺘﺮﺳ اوراﮐﻠ ﺑﻪ ﺗﺎﺑﻊ fﻣﻮرد آزﻣﻮن دارد و ﺑﺎﯾﺪ ﺗﻌﯿﯿﻦ ﮐﻨﺪ ﮐﻪ
آﯾﺎ اﯾﻦ ﺗﺎﺑﻊ ﻫﻤﺎن fkاﺳﺖ )ﮐﻪ ﮐﻠﯿﺪ kﮐﺎﻣﻼ ﺗﺼﺎدﻓ اﻧﺘﺨﺎب ﺷﺪه اﺳﺖ( ﯾﺎ ﯾ ﺗﺎﺑﻊ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ اﺳﺖ )ﮐﻪ از
ﺑﯿﻦ ﻫﻤﻪ ﺗﻮاﺑﻌ ﮐﻪ nﺑﯿﺖ را ﺑﻪ nﺑﯿﺖ ﻣ ﻧ ﺎرﻧﺪ ﺑﻪ ﺗﺼﺎدف اﻧﺘﺨﺎب ﺷﺪه اﺳﺖ( .ﺑﺮای ﺗﺸﺨﯿﺺ اﯾﻦ ﻣﺴﺎﻟﻪ ﺗﻤﺎﯾﺰﮔﺮ
Dاز ﻣﻬﺎﺟﻢ Aﮐﻤ ﻣ ﮔﯿﺮد و آزﻣﺎﯾﺶ ) MacForgeA,Π (nرا ﺑﺮای او ﺷﺒﯿﻪﺳﺎزی ﻣ ﮐﻨﺪ .ﺗﻤﺎﯾﺰﮔﺮ Dﺑﺎ درﯾﺎﻓﺖ
ﻫﺮ ﭘﯿﺎم ﻣﺎﻧﻨﺪ miاز ﻣﻬﺎﺟﻢ Aﺑﺎﯾﺪ ﺑﺮﭼﺴﺐ ﻣﺘﻨﺎﻇﺮ ﺑﺎ آن ،ti ،را ﺑﻪ وی ﺑﺮﮔﺮداﻧﺪ .ﺑﺪﯾﻦ ﻣﻨﻈﻮر ﺗﻤﺎﯾﺰﮔﺮ Dﮐﻪ ﺧﻮد
در ﺣﺎل اﺟﺮای آزﻣﺎﯾﺶ ﺗﻤﺎﯾﺰ fkاز ﯾ ﺗﺎﺑﻊ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﺑﺎ ﭼﺎﻟﺸ ﺮ ﺧﻮد اﺳﺖ ،ﭘﺮﺳﻤﺎن miرا ﺑﺮای اوراﮐﻞ f
ارﺳﺎل ﻣ ﮐﻨﺪ و ﭘﺎﺳﺦ ) yi = f (miرا درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ .دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﺗﻤﺎﯾﺰﮔﺮ Dﻧﻤ داﻧﺪ ﮐﻪ yiﺧﺮوﺟ ﺗﺎﺑﻊ fk
اﺳﺖ ﯾﺎ ﺧﺮوﺟ ﯾ ﺗﺎﺑﻊ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ .ﺑﺎ اﯾﻦ وﺟﻮد ،ﺗﻤﺎﯾﺰﮔﺮ Dﻣﻘﺪار yiرا ﺑﻪ ﻋﻨﻮان ﺑﺮﭼﺴﺐ tiﺑﺮای ﻣﻬﺎﺟﻢ
Aارﺳﺎل ﻣ ﮐﻨﺪ .در ﻧﻬﺎﯾﺖ ﻧﯿﺰ ﻣﻬﺎﺟﻢ Aزوج ﭘﯿﺎم و ﺑﺮﭼﺴﺐ ﺟﻌﻠ ﻣﺘﻨﺎﻇﺮ را ﺑﻪ ﺻﻮرت ⟩ ⟨m, tﺑﻪ Dﻣ ﮔﺮداﻧﺪ.
ﺣﺎل ﺗﻤﺎﯾﺰﮔﺮ Dﺑﺎﯾﺪ ﯾ ﺑﯿﺖ ̂ bﺗﻮﻟﯿﺪ ﮐﻨﺪ .ﺑﺪﯾﻦ ﻣﻨﻈﻮر ،ﺗﻤﺎﯾﺰﮔﺮ Dﭘﺮﺳﻤﺎن mرا ﺑﺮای اوراﮐﻞ fارﺳﺎل ﻣ ﮐﻨﺪ و
ﭘﺎﺳﺦ ) y = f (mرا درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ .ﺣﺎل ﺗﻤﺎﯾﺰﮔﺮ ) Dﺑﺎ ﭘﯿﺶﻓﺮض اﯾﻨ ﻪ (f = fkﺑﺮرﺳ ﻣ ﮐﻨﺪ ﮐﻪ آﯾﺎ ⟩⟨m, t
ﯾ زوج ﭘﯿﺎم و ﺑﺮﭼﺴﺐ ﻣﻌﺘﺒﺮ اﺳﺖ ﯾﺎ ﺧﯿﺮ .ﺑﻪ ﻃﻮر دﻗﯿﻖﺗﺮ ﺗﻤﺎﯾﺰﮔﺮ Dﺑﯿﺖ ﺧﺮوﺟ ̂ bرا ﺑﺮاﺑﺮ ﯾ ﻗﺮار ﻣ دﻫﺪ اﮔﺮ
و ﻓﻘﻂ اﮔﺮ ﭘﺎﺳﺦ yدرﯾﺎﻓﺘ از اوراﮐﻞ fﺑﺎ ﺑﺮﭼﺴﺐ ﺟﻌﻠ tﺑﺮاﺑﺮ ﺑﺎﺷﺪ و ﻣﻬﺎﺟﻢ Aﻗﺒﻼ درﺧﻮاﺳﺖ ﺑﺮﭼﺴﺐ ﭘﯿﺎم m
را ﻧﺪاده ﺑﺎﺷﺪ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ روﻧﺪ ﻓﻮق و راﺑﻄﻪ ) (١دارﯾﻢ:
| | Pr{k ← {۰, ۱}n : Dfk (·) (۱n ) = ۱} − Pr{f ← RFn : Df (·) (۱n ) = ۱}| = |µ(n) − ۲−n
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻏﯿﺮﻧﺎﭼﯿﺰ ﺑﻮدن )·( ،µاﺣﺘﻤﺎل ﻓﻮق ﻧﯿﺰ ﻏﯿﺮﻧﺎﭼﯿﺰ اﺳﺖ و اﯾﻦ ﯾﻌﻨ ﺗﻤﺎﯾﺰﮔﺮ Dﻣ ﺗﻮاﻧﺪ ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ fk
را از ﺗﻮاﺑﻊ nﺑﯿﺘ ﺗﺼﺎدﻓ ﺗﻤﯿﺰ دﻫﺪ ﮐﻪ اﯾﻦ ﻣﺴﺎﻟﻪ اﻣﺮی اﺳﺖ ﻣﺘﻨﺎﻗﺾ .ﭘﺲ ﺳﯿﺴﺘﻢ ﮐﺪ اﺻﺎﻟﺖﺳﻨﺠ داده ﺷﺪه ،اﻣﻦ
اﺳﺖ.
١۶-۶
۵ﮐﺪ اﺻﺎﻟﺖﺳﻨﺠ روی ﭘﯿﺎمﻫﺎی ﺑﺎ ﻃﻮل ﻣﺘﻐﯿﺮ
ﺗﺎ ﺑﻪ ﺣﺎل ﺳﯿﺴﺘﻢﻫﺎی ﮐﺪ اﺻﺎﻟﺖﺳﻨﺠ را روی ﭘﯿﺎمﻫﺎی ﺑﺎ ﻃﻮل ﺛﺎﺑﺖ در ﻧﻈﺮ ﮔﺮﻓﺘﯿﻢ .اﻣﺎ در واﻗﻌﯿﺖ ﻃﻮل ﭘﯿﺎم ﺛﺎﺑﺖ
ﻧﯿﺴﺖ .ﺑﺎز ﻫﻢ از ﯾ ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ﺑﺎ ﻃﻮل ﮐﻠﯿﺪ ،ﻃﻮل ورودی و ﻃﻮل ﺧﺮوﺟ -nﺑﯿﺖ اﺳﺘﻔﺎده ﻣ ﮐﻨﯿﻢ.
ﺳﯿﺴﺘﻢ ﮐﺪ اﺻﺎﻟﺖﺳﻨﺠ ﭘﯿﺎم ) Π = (Gen, Mac, Vrfyرا روی رﺷﺘﻪﻫﺎی ﺑﻪ ﻃﻮل دﻟﺨﻮاه اﯾﻨ ﻮﻧﻪ ﻣ ﺳﺎزﯾﻢ:
ﺗﻼش اول .ﭘﯿﺎم ورودی Mرا ﺑﻪ ﺑﻠﻮکﻫﺎی nﺑﯿﺘ ﺗﻘﺴﯿﻢ ﮐﺮده و ﺑﺮای آﺧﺮﯾﻦ ﺑﻠﻮک )ﮐﻪ ﻣ ﺗﻮاﻧﺪ ﺗﻬ ﺑﺎﺷﺪ( ﺑﺎ
اﺿﺎﻓﻪ ﮐﺮدن رﺷﺘﻪ ۱۰ · · · ۰ﻃﻮل اﯾﻦ ﺑﺨﺶ را ﺑﻪ nﻣ رﺳﺎﻧﯿﻢ .ﯾﻌﻨ در ﭘﺎﯾﺎن ﭘﯿﺎم رﺷﺘﻪ ۱را ﻗﺮار داده و ﺑﻌﺪ ﺑﺎ
اﻓﺰودن ﺗﻌﺪادی ) ۰ﮐﻤﺘﺮﯾﻦ ﺗﻌﺪاد ﻣﻤ ﻦ( در اﻧﺘﻬﺎ ،ﻃﻮل رﺷﺘﻪ ﺣﺎﺻﻞ را ﺑﻪ ﻣﻀﺮﺑ از nﻣ رﺳﺎﻧﯿﻢ .ﺳﭙﺲ در اﯾﻦ
روش ﮐﺪ ﻣﺮﺑﻮط ﺑﻪ ﻫﺮ ﺑﻠﻮک را ﺑﻪ ﮐﻤ fkﺗﻮﻟﯿﺪ ﻣ ﮐﻨﯿﻢ:
اﻣﺎ در اﯾﻦ روش ﻣﻬﺎﺟﻢ ﺑﺎ داﻧﺴﺘﻦ ﮐﺪ ﻣﺮﺑﻮط ﺑﻪ ﯾ ﭘﯿﺎم ،ﻣ ﺗﻮاﻧﺪ ﺟﺎی دو ﺑﻠﻮک ﭘﯿﺎم را ﻋﻮض ﮐﺮده و ﮐﺪ ﻣﺮﺑﻮط ﺑﻪ
ﭘﯿﺎم دﯾ ﺮی را ﺟﻌﻞ ﮐﻨﺪ .ﺑﻪ ﻃﻮر دﻗﯿﻖﺗﺮ ،ﻣﻬﺎﺟﻢ ﭘﺲ از ﭘﺮﺳﻤﺎن ﭘﯿﺎم M۱و درﯾﺎﻓﺖ ﺑﺮﭼﺴﺐ آن ،ﯾ ﺑﺮﭼﺴﺐ ﺟﻌﻠ
Tﺑﺮای ﭘﯿﺎم Mﺑﻪ ﺻﻮرت زﯾﺮ ﺟﻌﻞ ﻣ ﮐﻨﺪ:
ﺗﻼش دوم .ﺑﺮای ﺣﻞ ﻣﺸ ﻞ روش ﻗﺒﻠ ،ﺑﺮای ﻫﺮ ﺑﻠﻮک ،ﺷﻤﺎرهی ﺑﻠﻮک را ﻧﯿﺰ ﺑﺎ ﭘﯿﺎم اﺻﻠ ﺑﻪ ﻋﻨﻮان ورودی ﺗﺎﺑﻊ
ﺷﺒﻪﺗﺼﺎدﻓ ﻫﻤﺮاه ﻣ ﮐﻨﯿﻢ .ﻧﻤﺎد [i]nﺑﺮای ﻧﻤﺎﯾﺶ ﺑﺎﯾﻨﺮی ﻋﺪد iﺗﻮﺳﻂ ﯾ رﺷﺘﻪ -nﺑﯿﺘ را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ:
n
= | pad(M ) = M ||۱۰ · · · ۰ = m۱ m۲ · · · md , |mi
۲
) ti = fk ([i] n۲ ||mi
) ⟨t۱ , · · · , td ⟩ ← Mack (M
١۶-٧
[۱] n۲ ||m۱ [۲] n۲ ||m۲ [d] n۲ ||md
ﺑﺮای اﯾﻦ ﻃﺮح ،ﺣﻤﻠﻪ ﻗﺒﻠ دﯾ ﺮ ﮐﺎرﺳﺎز ﻧﯿﺴﺖ اﻣﺎ اﯾﻦ روش ﻧﯿﺰ ﺟﻌﻞﭘﺬﯾﺮ اﺳﺖ .ﭘﺮﺳﻤﺎن M۱و ﺑﺮﭼﺴﺐ ﺟﻌﻠ T
ﺑﺮای ﭘﯿﺎم ﺟﻌﻠ Mرا ﺑﻪ ﺻﻮرت زﯾﺮ در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ:
n
⟨M, T ⟩ : M = ۰ ۲ ⟩ ⇒ T = ⟨t۱ , t۲
در اﯾﻦ ﺣﺎﻟﺖ ﻧﯿﺰ اﮔﺮ ﺑﺮﭼﺴﺐ ﺧﺮوﺟ اﻟ ﻮرﯾﺘﻢ Mackﺑﻪ ﺻﻮرت t۱ ⊕ t۲ ⊕ · · · ⊕ tdﺗﻌﺮﯾﻒ ﺷﻮد ،ﺑﺎز ﻫﻢ ﺣﻤﻠﻪ
ﮐﺎر ﻣ ﮐﻨﺪ .ﭘﺮﺳﻤﺎنﻫﺎی M۲ ،M۱و ،M۳و ﺑﺮﭼﺴﺐ ﺟﻌﻠ Tﺑﺮای ﭘﯿﺎم Mرا ﺑﻪ ﺻﻮرت زﯾﺮ در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ:
n
M۲ = ۰ ۲ ⇒ T۲ = t۱ ⊕ t۲
⇒ T۳ = t′۱ ⊕ t۲
n
M۳ = ۱ ۲
ﻣﺸ ﻞ روش ﻓﻮق ﻧﯿﺰ ﺑﺎ اﻓﺰودن ﻃﻮل ﭘﯿﺎم اﺻﻠ ﺑﻪ ورودی ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ ﺣﻞ ﻣ ﺷﻮد: ﺗﻼش ﺳﻮم.
|m| = ℓ
n
= | pad(M ) = M ||۱۰ · · · ۰ = m۱ m۲ · · · md , |mi
۳
) ti = fk ([i] n۳ ||mi ||[ℓ] n۳
) ⟨t۱ , · · · , td ⟩ ← Mack (M
١۶-٨
[۱] n۳ ||m۱ ||[ℓ] n۴ [۲] n۳ ||m۲ ||[ℓ] n۴ [d] n۳ ||md ||[ℓ] n۴
ﭘﯿﺎم دﯾ ﺮ را ﺟﻌﻞ ﮐﺮد .ﮐﺎﻓﯿﺴﺖ دو ﭘﯿﺎم را ﮐﻪ ﻓﻘﻂ در دو ﻣﺘﺄﺳﻔﺎﻧﻪ در اﯾﻨﺠﺎ ﻧﯿﺰ ﺑﺎ دو ﭘﺮﺳﻤﺎن ﻣ ﺗﻮان ﺑﺮﭼﺴﺐ ﯾ
ﺑﻠﻮک اول ﻣﺘﻔﺎوتاﻧﺪ در ﻧﻈﺮ ﺑ ﯿﺮﯾﻢ:
ﺳﯿﺴﺘﻢ ﮐﺪ اﺻﺎﻟﺖﺳﻨﺠ رﺷﺘﻪی ﺗﺼﺎدﻓ ﺑﻪ ﺗﻤﺎم ﺑﻠﻮکﻫﺎ ،ﻣ ﺗﻮان ﯾ ﺗﻼش ﭼﻬﺎرم .در ﻧﻬﺎﯾﺖ ﺑﺎ اﺿﺎﻓﻪ ﮐﺮدن ﯾ
ﭘﯿﺎم ﺑﺎ اﻣﻨﯿﺖ ﺟﻌﻞﻧﺎﭘﺬﯾﺮی اراﺋﻪ ﮐﺮد:
|m| = ℓ
n
= | pad(M ) = M ||۱۰ · · · ۰ = m۱ m۲ · · · md , |mi
۴
n
r ← {۰, ۱} ۴
) ti = fk (r||[i] n۴ ||mi ||[ℓ] n۴
) ⟨t۱ , · · · , td ⟩ ← Mack (M
r r||[۱] n۴ ||m۱ ||[ℓ] n۴ r||[۲] n۴ ||m۲ ||[ℓ] n۴ r||[d] n۴ ||md ||[ℓ] n۴
ﻣ ﺗﻮان ﺛﺎﺑﺖ ﮐﺮد ﮐﻪ ﻃﺮح ﻓﻮق ﯾ ﮐﺪ اﺻﺎﻟﺖﺳﻨﺠ دارای اﻣﻨﯿﺖ ﺟﻌﻞﻧﺎﭘﺬﯾﺮی اﺳﺖ.
ﺑﺪﯾﻦ ﺗﺮﺗﯿﺐ ﺗﻮاﻧﺴﺘﯿﻢ ﺑﺮای ﭘﯿﺎمﻫﺎی ﺑﻪ ﻃﻮل ﻣﺘﻐﯿﺮ ،ﯾ ﺳﯿﺴﺘﻢ ﮐﺪ اﺻﺎﻟﺖﺳﻨﺠ ﭘﯿﺎم ﺑﺎ اﻣﻨﯿﺖ ﺟﻌﻞﻧﺎﭘﺬﯾﺮی ﺑﺴﺎزﯾﻢ.
اﻣﺎ در اﯾﻦ روش ﻃﻮل ﺑﺮﭼﺴﺐ ﺣﺎﺻﻞ ﺷﺪه ﺑﺴﯿﺎر زﯾﺎد و ﭼﻨﺪ ﺑﺮاﺑﺮ ﻃﻮل ﭘﯿﺎم اﺻﻠ اﺳﺖ؛ اﯾﻦ ﻣﺴﺎﻟﻪ ﺑﺎﻋﺚ ﻣ ﺷﻮد ﮐﻪ
١۶-٩
ﻋﻤﻼ اﯾﻦ ﺳﯿﺴﺘﻢ ﺑﺮای درﯾﺎﻓﺖ و ارﺳﺎل ﭘﯿﺎم ﻧﺎﮐﺎرآﻣﺪ ﺑﺎﺷﺪ .راه ﺣﻠ ﮐﻪ ﻣﻤ ﻦ اﺳﺖ ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﺗﻌﺮﯾﻒ ﺑﺮﭼﺴﺐ ﺑﻪ
ﺻﻮرت ) ⟨r, t۱ ⊕ t۲ ⊕ · · · ⊕ td ⟩ ← Mack (mاﺳﺖ .آﯾﺎ ﺑﻪ ﻧﻈﺮ ﺷﻤﺎ اﯾﻦ ﻃﺮح ﺟﺪﯾﺪ اﻣﻦ اﺳﺖ؟ ﺣﺘ در ﺻﻮرت
ﺑﺎر اﺳﺘﻔﺎده از ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ |۴|m
n
ﻣﺜﺒﺖ ﺑﻮدن ﺟﻮاب ،ﻃﺮح ﺑﺎزﻫﻢ ﻧﺎﮐﺎرآﻣﺪ اﺳﺖ زﯾﺮ ﻣﺴﺘﻠﺰم اﺳﺘﻔﺎده از ﺣﺪود
| |mﺑﺎر ﺗﺎﺑﻊ ﺷﺒﻪﺗﺼﺎدﻓ را ﻓﺮاﺧﻮاﻧ ﻣ ﮐﻨﺪ .ﯾ روشn
اﺳﺖ .ﻫﺪف ﻣﺎ دﺳﺘﯿﺎﺑ ﺑﻪ ﻃﺮحﻫﺎی اﻣﻨ اﺳﺖ ﮐﻪ ﺣﺪود
١٨
ﻣﺮﺳﻮم ﻃﺮاﺣ MACﻫﺎی اﻣﻦ اﺳﺘﻔﺎده از ﺗﻮاﺑﻊ ﭼ ﯿﺪهﺳﺎز اﺳﺖ ﮐﻪ در ﺟﻠﺴﺎت آﯾﻨﺪه در ﻣﻮرد آﻧﻬﺎ ﺑﺤﺚ ﺧﻮاﻫﯿﻢ
ﮐﺮد.
١٨
hash functions
١۶-١٠
ﺑﻪ ﻧﺎم ﺧﺪا
ﻫﺪف ﻣﺎ در اﯾﻦ ﺟﻠﺴﻪ اراﺋﻪ اداﻣﻪ ﻣﺒﺤﺚ ﮐﺪ اﺻﺎﻟﺖﺳﻨﺠ ﭘﯿﺎم ١اﺳﺖ و ﻫﻤﭽﻨﯿﻦ ﻣﻌﺮﻓ ﺗﻮاﺑﻊ ﭼ ﯿﺪهﺳﺎز ٢و اﺳﺘﻔﺎده
از آن ﺑﺮای ﺑﻬﺒﻮد ﮐﺪﻫﺎی اﺻﺎﻟﺖﺳﻨﺠ ﭘﯿﺎم ،ﻣﺒﺎﺣﺚ آﺧﺮ اﯾﻦ ﺟﻠﺴﻪ ﺧﻮاﻫﻨﺪﺑﻮد.
ﻣ ﺑﺎﺷﺪ .ﺣﺎل ﻣﺎ ﻣﺸ ﻞ اﯾﻦ ﮐﺪ اﺻﺎﻟﺖﺳﻨﺞ اﯾﻦ اﺳﺖ ﮐﻪ ﻃﻮل MACو ﻫﻤﭽﻨﯿﻦ ﮐﺎراﺋ ﺗﺎﺑﻊ ﺷﺒﻪ ﺗﺼﺎدﻓ
۴ℓ
n
۴ℓﺑﻪ nℓﺑﺮﺳﺎﻧﯿﻢ.
n
ﻣ ﺧﻮاﻫﯿﻢ ﮐﻪ اﯾﻦ ﻣﻘﺪار را از
ﯾ راهﮐﺎر ﺑﺮای ﺣﻞ اﯾﻦ ﻣﺸ ﻞ اﯾﻦ اﺳﺖ ﮐﻪ ﺑﻪ ﺟﺎی اﺳﺘﻔﺎده از ﻣﺪ ﮐﺎری ECBاز ﻣﺪ ﮐﺎری CBCاﺳﺘﻔﺎده ﮐﻨﯿﻢ.
١
Message Authentication Code
٢
Hash Functions
١٧-١
m۱ m۲ mb
IV
⊕ ⊕ b b b
⊕
.١ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﭘﯿﺎم mرا ارﺳﺎل ﮐﺮده و ﺑﺮﭼﺴﺐ ⟩ ⟨IV, tرا درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ.
.٢ﺳﭙﺲ ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﺑﺮﭼﺴﺐ ﻗﺎﺑﻞ ﻗﺒﻮل ⟩⟩ ⟨m ⊕ ∆, ⟨IV ⊕ ∆, tرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ.
ﻫﻤﺎنﮔﻮﻧﻪ ﮐﻪ ﻣﺸﺎﻫﺪه ﻣ ﮐﻨﯿﺪ ﻣﺸ ﻞ اﺻﻠ IVاﺳﺖ .دو راهﮐﺎر ﺑﺮای ﺣﻞ اﯾﻦ ﻣﺸ ﻞ وﺟﻮد دارد ﯾﺎ اﯾﻦ ﮐﻪ ﺧﻮد IV
را ﻧﯿﺰ ﺑﻪ ﺗﺎﺑﻊ ﺷﺒﻪ ﺗﺼﺎدﻓ ﺑﺪﻫﯿﻢ و ﺧﺮوﺟ آن را ﻗﺮار دﻫﯿﻢ و راه ﮐﺎر دوم ﮐﻪ ﻣﺎ آن را ﺗﺮﺟﯿﺢ ﻣ دﻫﯿﻢ اﯾﻦ اﺳﺖ ﮐﻪ
اﺻﻼ IVﻧﺪاﺷﺘﻪ ﺑﺎﺷﯿﻢ .ﺣﺎل ﺳﻮال اﯾﻦ اﺳﺖ ﮐﻪ آﯾﺎ ﺳﺎﺧﺘﺎر ﺑﺎﻻ ﺑﺪون IVاﻣﻦ اﺳﺖ ﯾﺎ ﺧﯿﺮ؟
m۱ m۲ mb
ﺟﻮاب ﺧﯿﺮ اﺳﺖ و اﯾﻦ ﺳﺎﺧﺘﺎر ﻧﯿﺰ دارای اﻣﻨﯿﺖ ﻏﯿﺮﻗﺎﺑﻞ ﺟﻌﻞ ﻧﯿﺴﺖ:
.١ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﭘﯿﺎمﻫﺎی m۱ m۲ ،m۱و m′۱دﻟﺨﻮاه را ارﺳﺎل ﮐﺮده و ﺑﺮﭼﺴﺐﻫﺎی
m۱ −→ t۱
m۱ m۲ −→ t۲
m′۱ −→ t۳
را درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ.
.٢ﺳﭙﺲ ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﺑﺮﭼﺴﺐ ﻗﺎﺑﻞ ﻗﺒﻮل ⟩ ⟨m′۱ ∥ (m۲ ⊕ t۳ ⊕ t۱ ), t۲را ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ.
ﺑﻪ ﻋﻨﻮان راه ﺣﻞ ،ﻣ ﺗﻮان ﻃﻮل ﭘﯿﺎم ) (ℓرا ﺑﻪ ﻋﻨﻮان آﺧﺮﯾﻦ ﺗ ﻪ ﭘﯿﺎم اﺿﺎﻓﻪ ﮐﺮد و MACرا روی آن ﻫﻢ اﻋﻤﺎل ﮐﺮد.
m۱ m۲ mb ][ℓ
١٧-٢
اﻣﺎ اﯾﻦ ﺳﺎﺧﺘﺎر ﻧﯿﺰ ﻗﺎﺑﻞ ﺟﻌﻞ اﺳﺖ:
.٢ﺳﭙﺲ ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﺑﺮﭼﺴﺐ ﻗﺎﺑﻞ ﻗﺒﻮل ⟩ ⟨m۳ ∥ m۳ ∥ [۲n] ∥ m۴ ∥ m۲ , t۲را ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ ﮐﻪ
m۴ = t۱ ⊕ t۲ ⊕ m۲اﺳﺖ.
ﺗﻮاﺑﻊ ﭼ ﯿﺪهﺳﺎز
ﺗﺎﺑﻊ )اﻟ ﻮرﯾﺘﻢ( ﭼ ﯿﺪهﺳﺎز ﻫﺮ ﺗﺎﺑﻌ اﺳﺖ ﮐﻪ ورودی ﺑﺎ ﻃﻮل دﻟﺨﻮاه را ﺑﻪ ﺧﺮوﺟ ﺑﺎ ﻃﻮل ﺛﺎﺑﺖ ﻣ ﻧ ﺎرد ،ﻃﻮری ﮐﻪ
ﺑﺎ ﺗﻐﯿﯿﺮات در ورودی ﻧﺘﻮان ﺧﺮوﺟ را ﮐﻨﺘﺮل ﮐﺮد و ﺗﻐﯿﯿﺮات ﮐﻮﭼ در ورودی ﺑﺎﻋﺚ ﺗﻐﯿﯿﺮات ﺑﺰرگ در ﺧﺮوﺟ
ﺷﻮد .اﯾﻦ ﺗﻮاﺑﻊ در رﻣﺰﻧ ﺎری و ﻫﻤﭽﻨﯿﻦ ﻃﺮاﺣ اﻟ ﻮرﺗﻢﻫﺎ ﮐﺎرﺑﺮد ﮔﺴﺘﺮده دارﻧﺪ .ﺑﻪ ﻃﻮر دﻗﯿﻖﺗﺮ ﯾ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز
ﺗﺎﺑﻌ اﺳﺖ ﻣﺎﻧﻨﺪ H : {۰, ۱}∗ → {۰, ۱}nﮐﻪ nﻃﻮل ﭼ ﯿﺪه ﭘﯿﺎم ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد.
H
n
١٧-٣
ﺑﻪ ﺻﻮرت اﯾﺪهآل ﯾ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﺑﺎﯾﺪ ﻣﺎﻧﻨﺪ ﯾ اوراﮐﻞ ﺗﺼﺎدﻓ ٣ﻋﻤﻞ ﮐﻨﺪ ﮐﻪ ﺑﻪ ﻫﺮ ﭘﯿﺎم دﻟﺨﻮاه ﯾ ﭼ ﯿﺪه
ﮐﺎﻣﻼ ﺗﺼﺎدﻓ nﺑﯿﺘ اﺧﺘﺼﺎص ﻣ دﻫﺪ .اﻣﺎ ﭘﯿﺎدهﺳﺎزی ﭼﻨﯿﻦ ﺗﺎﺑﻌ ﻏﯿﺮ ﻋﻤﻠ اﺳﺖ .در اداﻣﻪ ﻣﻬﻢﺗﺮﯾﻦ وﯾﮋﮔ ﻫﺎی
ﺗﻮاﺑﻊ ﭼ ﯿﺪهﺳﺎز ﮐﻪ ﺑﻪ دﻧﺒﺎل آن ﻫﺴﺘﯿﻢ را ﻣﻌﺮﻓ ﻣ ﮐﻨﯿﻢ.
ﺑﺮﺧﻮردﺗﺎﺑ :اﯾﻦ وﯾﮋﮔ ﮐﻪ ﻣﻘﺎوﻣﺖ در ﺑﺮاﺑﺮ ﺑﺮﺧﻮرد ۴ﻧﯿﺰ ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد ﺑﻪ اﯾﻦ ﻣﻔﻬﻮم اﺳﺖ ﮐﻪ ﯾﺎﻓﺘﻦ زوج m, m′
ﻃﻮری ﮐﻪ m ̸= m′و ) H(m) = H(m′از ﻧﻈﺮ ﻣﺤﺎﺳﺒﺎﺗ ﻏﯿﺮ ﻋﻤﻠ ﺑﺎﺷﺪ .ﺑﻪ ﭼﻨﯿﻦ زوﺟ ﯾ ﺑﺮﺧﻮرد
ﺑﺮای Hﻣ ﮔﻮﯾﯿﻢ .ﻻزم ﺑﻪ ذﮐﺮ اﺳﺖ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻦ ﮐﻪ ﻓﻀﺎی ورودی ﺑﺰرﮔﺘﺮ از ﻓﻀﺎی ﺧﺮوﺟ اﺳﺖ ،ﺑﺮﺧﻮرد
وﺟﻮد دارد و ﻫﺮ ﻣﻬﺎﺟﻤ ﺑﺎ ﻣﺤﺎﺳﺒﻪ ﺣﺪود ۲ ۲ﭘﯿﺎم ﻣﺘﻔﺎوت ﻣ ﺗﻮاﻧﺪ ﺑﺎ اﺣﺘﻤﺎل ﺑﺎﻻﯾ ﯾ ﺑﺮﺧﻮرد ﺑﺮای H
n
ﺑﯿﺎﺑﺪ .ﺑﻨﺎﺑﺮاﯾﻦ ﻋﺪم ﺗﻮاﻧﺎﯾ ﻣﺤﺎﺳﺒﺎﺗ ﻣﻬﺎﺟﻢ ﺑﺮای ﯾﺎﻓﺘﻦ ﺑﺮﺧﻮرد ﺑﻪ ﻣﻌﻨﺎی ﻋﺪم وﺟﻮد ﺑﺮﺧﻮرد ﻧﯿﺴﺖ.
ﭘﯿﺶﺗﺼﻮﯾﺮﺗﺎﺑ :اﯾﻦ وﯾﮋﮔ ﮐﻪ ﻣﻘﺎوﻣﺖ در ﺑﺮاﺑﺮ ﭘﯿﺶﺗﺼﻮﯾﺮ ۵ﻧﯿﺰ ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد ﺑﻪ اﯾﻦ ﻣﻔﻬﻮم اﺳﺖ ﮐﻪ ﺑﻪ ازای ﯾ
رﺷﺘﻪی hاز ﻓﻀﺎی ﺧﺮوﺟ ﺗﺎﺑﻊ ،Hﻧﺘﻮان ورودی mرا ﯾﺎﻓﺖ ﻃﻮری ﮐﻪ .H(m) = hدر اﯾﻦ ﺣﺎﻟﺖ ﺑﻪ m
ﯾ ﭘﯿﺶﺗﺼﻮﯾﺮ ﺑﺮای hﻧﺴﺒﺖ ﺑﻪ ﺗﺎﺑﻊ Hﻣ ﮔﻮﯾﯿﻢ.
ﭘﯿﺶﺗﺼﻮﯾﺮ دومﺗﺎﺑ :اﯾﻦ وﯾﮋﮔ ﮐﻪ ﻣﻘﺎوﻣﺖ در ﺑﺮاﺑﺮ ﭘﯿﺶﺗﺼﻮﯾﺮ دوم ۶ﻧﯿﺰ ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد ﺑﻪ اﯾﻦ ﻣﻔﻬﻮم اﺳﺖ ﮐﻪ ﺑﻪ
ازای ﺑ رﺷﺘﻪی hاز ﻓﻀﺎی ﺧﺮوﺟ و ﯾ رﺷﺘﻪی mاز ﻓﻀﺎی ورودی ﺗﺎﺑﻊ ،Hﻃﻮری ﮐﻪ ،H(m) = h
ﻧﺘﻮان ﯾ رﺷﺘﻪ m′از ﻓﻀﺎی ورودی ﭘﯿﺪا ﮐﺮد ﻃﻮری ﮐﻪ m ̸= m′و .H(m′ ) = H(m) = hﺗﻮﺟﻪ ﺷﻮد
ﮐﻪ ﻣﻘﺎوﻣﺖ در ﺑﺮاﺑﺮ ﭘﯿﺶﺗﺼﻮﯾﺮ دوم ﻗﺎﺑﻞ ﮐﺎﻫﺶ ﺑﻪ ﻣﻘﺎوﻣﺖ در ﺑﺮاﺑﺮ ﭘﯿﺶﺗﺼﻮﯾﺮ اﺳﺖ.
ﻫﻨ ﺎﻣ ﮐﻪ ﺑﺤﺚﻫﺎی ﻣﺮﺑﻮط ﺑﻪ اﻣﻨﯿﺖ ﻣﻄﺮح ﻣ ﺷﻮد ،ﺑﻪ ﺗﻌﺮﯾﻒ ﺧﺎﻧﻮادهای از ﺗﻮاﺑﻊ ﭼ ﯿﺪهﺳﺎز ﻋﻼﻗﻪﻣﻨﺪ ﻣ ﺷﻮﯾﻢ.
ﺑﺮای اﯾﻦ ﻣﻨﻈﻮر ﺧﺎﻧﻮادهی ∗} {Hs }s∈{۰,۱از ﺗﻮاﺑﻊ ﭼ ﯿﺪهﺳﺎز ﺗﻌﺮﯾﻒ ﻣ ﺷﻮد:
در اﯾﻦ ﺗﻌﺮﯾﻒ nﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ اﺳﺖ .ﻣ ﺗﻮان ﺗﺼﻮر ﮐﺮد ﮐﻪ sﯾ ﮐﻠﯿﺪ اﺳﺖ اﻣﺎ ﻗﺮار ﻧﯿﺴﺖ ﻣﺨﻔ ﺑﺎﺷﺪ و ﺗﻨﻬﺎ
ﺑﺮای ﻣﺸﺨﺺ ﮐﺮدن ﯾ ﻋﻀﻮ )· Hs (·) = H(s,از ﺧﺎﻧﻮاده ﺑ ﺎر ﻣ رود .ﻫﻤﭽﻨﯿﻦ ) κ(nو ) λ(nﺗﻮاﺑﻌ ﺑﺮ ﺣﺴﺐ
ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ ﻣ ﺑﺎﺷﻨﺪ ﮐﻪ ﺑﻪ ﺗﺮﺗﯿﺐ ﻃﻮل ﮐﻠﯿﺪ و ﻃﻮل ﭼ ﯿﺪه را ﻣﺸﺨﺺ ﻣ ﮐﻨﻨﺪ .ﺑﺎ اﺳﺘﻔﺎده از اﯾﻦ ﻣﻔﺎﻫﯿﻢ ﻣ ﺗﻮان
ﺑﺎ آزﻣﺎﯾﺶﻫﺎﯾ ﻣﻨﺎﺳﺐ ،وﯾﮋﮔ ﻫﺎی ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز را ﺑﻪ ﻃﻮر دﻗﯿﻖ ﺗﻌﺮﯾﻒ ﮐﺮد.
١٧-۴
در ﻣﻮاردی ﮐﻪ اﻧﺪازه ورودی ﺑﺰرگ ﺑﺎﺷﺪ اﻣ ﺎن اﻧﺠﺎم اﯾﻦ اﻋﻤﺎل ﺑﻪ ﻃﻮر ﻣﺴﺘﻘﯿﻢ ﺑﺮ روی ورودی ﻏﯿﺮ ﻋﻤﻠ اﺳﺖ.
ﺑﻨﺎﺑﺮاﯾﻦ ﺑﺎﯾﺪ ﻃﻮل ورودی را ﺑﻪ ﻧﺤﻮی ﮐﺎﻫﺶ داد .ﺑﺮای اﯾﻦ ﮐﺎر ﺑﻪ ﺟﺎی اﻣﻀﺎ ﮐﺮدن ورودی اﺻﻠ ،اﺑﺘﺪا آن را از ﯾ
ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﻋﺒﻮر ﻣ دﻫﻨﺪ و ﺳﭙﺲ آن را اﻣﻀﺎ ﻣ ﮐﻨﻨﺪ .واﺿﺢ اﺳﺖ ﮐﻪ اﮔﺮ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﻣﻮرد اﺳﺘﻔﺎده ﻫﺮ ﯾ
از ﺳﻪ ﺷﺮط ﺑﺎﻻ را ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ﺳﯿﺴﺘﻢ دﯾ ﺮ دارای اﻣﻨﯿﺖ دﻟﺨﻮاه ﺷﺪه ﻧﺨﻮاﻫﺪ ﺑﻮد.
ﻣﻮرد دﯾ ﺮ ذﺧﯿﺮهﺳﺎزی رﻣﺰ ﻋﺒﻮر اﺳﺖ .در ﺳﺮورﻫﺎی اﯾﻨﺘﺮﻧﺘ ﺑﻪ ﺟﺎی ذﺧﯿﺮهﺳﺎزی رﻣﺰ ﻋﺒﻮر ﮐﺎرﺑﺮان آن را از ﯾ
ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﻋﺒﻮر ﻣ دﻫﻨﺪ و ﺳﭙﺲ ذﺧﯿﺮه ﻣ ﮐﻨﻨﺪ .دﻟﯿﻞ اﯾﻦ ﻣﻮﺿﻮع آن اﺳﺖ ﮐﻪ ﻣﻤ ﻦ اﺳﺖ اﻓﺮاد زﯾﺎدی ﺑﻪ ﺳﺮور
دﺳﺘﺮﺳ داﺷﺘﻪ ﺑﺎﺷﻨﺪ و ﺑﺘﻮاﻧﻨﺪ اﻃﻼﻋﺎت را ﺑﺪﺳﺖ آورﻧﺪ .ﺑﻪ ﻫﻤﯿﻦ دﻟﯿﻞ ذﺧﯿﺮهﺳﺎزی رﻣﺰﻫﺎی ﻋﺒﻮر ﮐﺎر ﻋﺎﻗﻼﻧﻪای
ﻧﺨﻮاﻫﺪ ﺑﻮد .ﺑﻪ اﯾﻦ ﺗﺮﺗﯿﺐ ﻫﻨ ﺎﻣ ﮐﻪ ﮐﺎرﺑﺮ رﻣﺰﻋﺒﻮر ﺧﻮد را وارد ﻣ ﮐﻨﺪ اﯾﻦ رﻣﺰ از ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﻋﺒﻮر داده ﻣ ﺷﻮد
و ﺑﺎ ﻣﻘﺪار ذﺧﯿﺮه ﺷﺪه ﻣﻄﺎﺑﻘﺖ داده ﻣ ﺷﻮد .در اﯾﻦ روش ﻣﻘﺎوﻣﺖ در ﺑﺮاﺑﺮ ﺑﺮﺧﻮرد و ﭘﯿﺶﺗﺼﻮﯾﺮ ﺷﺮط ﻻزم ﺑﺮای
اﻣﻨﯿﺖ اﺳﺖ.
ﺑﻪ ﻋﻨﻮان آﺧﺮﯾﻦ ﻣﺜﺎل ،ﭘﺮوﺗ ﻞ ﺗﻌﻬﺪ را ﺑﯿﺎن ﻣ ﮐﻨﯿﻢ .ﯾ ﭘﺮوﺗ ﻞ ﺗﻌﻬﺪ ﺷﺎﻣﻞ دو ﻣﺮﺣﻠﻪ ﺗﻌﻬﺪ و آﺷ ﺎرﺳﺎزی اﺳﺖ.
در ﻣﺮﺣﻠﻪ ﺗﻌﻬﺪ ،ﻓﺮﺳﺘﻨﺪه ﺧﻮد را ﺑﻪ ﭘﯿﺎﻣ ﻣﺘﻌﻬﺪ ﻣ ﮐﻨﺪ .ﺑﻌﺪاً ،در ﻣﺮﺣﻠﻪ آﺷ ﺎرﺳﺎزی ﻓﺮﺳﺘﻨﺪه ،ﭘﯿﺎم ﺧﻮد را ﺑﺮای
ﮔﯿﺮﻧﺪه آﺷ ﺎر ﻣ ﮐﻨﺪ .ﺑﻪ ﻋﻨﻮان ﮐﺎرﺑﺮد ،ﺗﺼﻮر ﮐﻨﯿﺪ ﺷﺨﺼ ادﻋﺎ ﻣ ﮐﻨﺪ ﮐﻪ ﭘﯿﺮوز ﺟﺎم ﺟﻬﺎﻧ ﺑﻌﺪی را ﻣ داﻧﺪ .ﯾ
روش ﻓﯿﺰﯾ ﺑﺮای اﻧﺠﺎم اﯾﻦ ﮐﺎر ﺑﺪﯾﻦ ﺻﻮرت اﺳﺖ ﮐﻪ آن ﺷﺤﺺ ﻧﺎم ﺗﯿﻢ ﻣﻮرد ﻧﻈﺮ را در درون ﺻﻨﺪوﻗ ﮐﻪ اﻣ ﺎن
ﺑﺎز ﮐﺮدن آن ﺻﺮﻓﺎً ﺑﺮای ﺧﻮدش وﺟﻮد دارد ﺑ ﺬارد و ﺻﻨﺪوق را در اﺧﺘﯿﺎر ﺷﻤﺎ ﻗﺮار دﻫﺪ .اﯾﻦ ﻫﻤﺎن ﻣﺮﺣﻠﻪ ﺗﻌﻬﺪ
اﺳﺖ .ﺑﺪﯾﻦ ﺗﺮﺗﯿﺐ ،ﺷﺨﺺ ﻣﺘﻌﻬﺪﺷﻮﻧﺪه دﯾ ﺮ ﻧﻤ ﺗﻮاﻧﺪ ﻧﺎم ﺗﯿﻢ ﻣﻮرد ﻧﻈﺮ ﺧﻮد را ﺗﻐﯿﯿﺮ دﻫﺪ .ﻫﻤﭽﻨﯿﻦ ﺷﻤﺎ ﻧﻤ ﺗﻮاﻧﯿﺪ
اﻃﻼﻋﺎﺗ در ﻣﻮرد ﻧﺎم ﺗﯿﻢ ﺑﻪدﺳﺖ آورﯾﺪ زﯾﺮا ﻻزﻣﻪ اﯾﻦ ﮐﺎر ﺑﺎز ﮐﺮدن ﺻﻨﺪوق اﺳﺖ .ﺣﺎل ﭘﺲ از ﻣﺸﺨﺺﺷﺪن ﻧﺘﯿﺠﻪ،
ﺷﺨﺺ ﻣﺘﻌﻬﺪﺷﻮﻧﺪه ﺑﺎ ﺑﺎز ﮐﺮدن ﺻﻨﺪوق ﺑﺮای ﺷﻤﺎ ،ﺛﺎﺑﺖ ﻣ ﮐﻨﺪ ﻧﺎم ﺗﯿﻢ ﭘﯿﺮوز را ﻣ داﻧﺴﺘﻪاﺳﺖ )ﯾﺎ ﻣﺸﺨﺺ ﻣ ﺷﻮد
ﮐﻪ اﺷﺘﺒﺎه ﮐﺮدهاﺳﺖ( .اﯾﻦ ﻫﻤﺎن ﻣﺮﺣﻠﻪ آﺷ ﺎرﺳﺎزی اﺳﺖ .در رﻣﺰﻧ ﺎری ،ﭘﺮوﺗ ﻞ ﺗﻌﻬﺪ ﺑﻪ ﺻﻮرت دﯾﺠﯿﺘﺎل اﻧﺠﺎم
ﻣ ﺷﻮد .ﺑﺮای اﯾﻦ ﻣﻨﻈﻮر از ﯾ ﺗﺎﺑﻊ ﺗﻌﻬﺪ اﺳﺘﻔﺎده ﻣ ﺷﻮد ﮐﻪ nﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ اﺳﺖ:
اﯾﻦ ﺗﺎﺑﻊ در زﻣﺎن ﭼﻨﺪﺟﻤﻠﻪای و ﺑﻪ ﺻﻮرت ﻗﻄﻌ ﻋﻤﻞ ﻣ ﮐﻨﺪ .در واﻗﻊ ﭘﺮوﺗ ﻞ ﺗﻌﻬﺪ از دو ﻣﺮﺣﻠﻪ زﯾﺮ ﺑﯿﻦ ﻓﺮﺳﺘﻨﺪه
و ﮔﯿﺮﻧﺪه ﺗﺸ ﯿﻞ ﺷﺪهاﺳﺖ:
ﻣﺮﺣﻠﻪ ﺗﻌﻬﺪ :در اﯾﻦ ﭘﺮوﺗ ﻞ ،ﻓﺮﺳﺘﻨﺪه ﺧﻮد را ﺑﻪ ﻣﻘﺪار ∗} m ∈ {۰, ۱ﻣﺘﻌﻬﺪ ﻣ ﮐﻨﺪ؛ ﺑﺮای اﯾﻦ ﮐﺎر ﺑﺎ اﻧﺘﺨﺎب
ﻣﻘﺪار ﺗﺼﺎدﻓ r ← {۰, ۱}nﻣﻘﺪار ) c = commit(r, mرا ﻣﺤﺎﺳﺒﻪ و ﺑﺮای ﮔﯿﺮﻧﺪه ارﺳﺎل ﻣ ﮐﻨﺪ .ﺣﺎل
ﮔﯿﺮﻧﺪه cرا ذﺧﯿﺮه و ﺑﺮای اﺳﺘﻔﺎده در آﯾﻨﺪه ﻧ ﻪﻣ دارد.
ﻣﺮﺣﻠﻪ آﺷ ﺎرﺳﺎزی :در اﯾﻦ ﭘﺮوﺗ ﻞ ،ﻓﺮﺳﺘﻨﺪه ﺑﺎ ارﺳﺎل ﭘﯿﺎم mو ﻣﻘﺪار ﺗﺼﺎدﻓ rﺑﻪ ﮔﯿﺮﻧﺪه ،ﻋﻤﻼ cرا ﺑﺎز ﻣ ﮐﻨﺪ.
ﮔﯿﺮﻧﺪه ﺑﺎ ﻣﺤﺎﺳﺒﻪی ) commit(r, mو ﻣﻘﺎﯾﺴﻪی آن ﺑﺎ cاز ﺻﺤﺖ mاﻃﻤﯿﻨﺎن ﻣ ﯾﺎﺑﺪ.
ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز Hﺑﻪ ﺻﻮرت ) commit(r, m) = H(r||mاﺳﺖ. روش ﭘﯿﺎدهﺳﺎزی ﺗﺎﺑﻊ ﺗﻌﻬﺪ اﺳﺘﻔﺎده از ﯾ ﯾ
ﺳﺆال ١آﯾﺎ ﺑﻪ ﻧﻈﺮ ﺷﻤﺎ ﺑﺮای اﻣﻦ ﺑﻮدن ﭘﺮوﺗ ﻞ ﺗﻌﻬﺪ ،وﯾﮋﮔ ﻫﺎی ﺳﻪﮔﺎﻧﻪ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﮐﺎﻓ اﺳﺖ؟
١٧-۵
• SHA-1ﺗﻮﺳﻂ NISTﻃﺮاﺣ ﺷﺪه ﮐﻪ ﻃﻮل ﺧﺮوﺟ اش ١۶٠ﺑﯿﺖ اﺳﺖ و ﺗﺎ ﺑﻪ ﺣﺎل ﺑﺮﺧﻮری ﺑﺮای آن ﭘﯿﺪا
ﻧﺸﺪه اﺳﺖ .اﻣﺎ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﭘﯿﺸﺮﻓﺖ ﺗﻮان ﻣﺤﺎﺳﺒﺎﺗ ﺑﻪ ﻧﻈﺮ ﻣ رﺳﺪ ﺑﻪ زودی ﺑﺮای اﯾﻦ ﺗﺎﺑﻊ ﯾ ﺑﺮﺧﻮرد ﭘﯿﺪا
ﺷﻮد.
• SHA-2ﺗﻮﺳﻂ NISTﻃﺮاﺣ ﺷﺪه ﺑﺎ ﻃﻮل ﻣﺘﻐﯿﺮ از ٢۵۶ﺑﯿﺖ ﺗﺎ ۵١٢ﺑﯿﺖ وﻟ ﺧﯿﻠ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار
ﻧﻤ ﮔﯿﺮد.
• SHA-3ﺑﺎ ﻫﻤﺎن ﻃﻮل ٢۵۶ﺗﺎ ۵١٢ﺑﯿﺖ ﮐﻪ در ﻣﺴﺎﺑﻘﻪای ﺑﻪ ﻧﺎم SHA-٣ﮐﻪ ﺗﻮﺳﻂ NISTﺑﺮﮔﺰار ﺷﺪ ﺑﺮﻧﺪه
ﺷﺪ و آن را ﺑﺎ ﻧﺎم Keccakﻫﻢ ﻣ ﺷﻨﺎﺳﻨﺪ.
ﺗﻮاﺑﻊ ﻓﺸﺮده ﺳﺎز ﺗﻮاﺑﻌ ﻫﺴﺘﻨﺪ ﮐﻪ ورودی ﻫﺎی ﺑﺎ ﻃﻮل ﺛﺎﺑﺖ را ﺑﻪ ﺧﺮوﺟ ﺑﺎ ﻃﻮل ﺛﺎﺑﺖ ﮐﻮﭼ ﺘﺮ ﻣ ﻧ ﺎرد .وﯾﮋﮔ
اﯾﻦ ﺗﻮاﺑﻊ اﯾﻦ اﺳﺖ ﮐﻪ ﯾ ﻃﺮﻓﻪ ﻫﺴﺘﻨﺪ .ﺑﻪ اﯾﻦ ﻣﻔﻬﻮم ﮐﻪ ﻣﺤﺎﺳﺒﻪی ورودی آﻧﻬﺎ از روی ﺧﺮوﺟ ﺑﻪ راﺣﺘ اﻣ ﺎن ﭘﺬﯾﺮ
ﻧﯿﺴﺖ .ﺗﻮاﺑﻊ ﻓﺸﺮده ﺳﺎز ﻋﻤﺪﺗﺎ ﺑﻪ وﺳﯿﻠﻪ رﻣﺰﻫﺎی ﺑﻠﻮﮐ ﺳﺎﺧﺘﻪ ﻣ ﺷﻮﻧﺪ و روش ﻫﺎی ﮔﻮﻧﺎﮔﻮﻧ ﺑﺮای ﺳﺎﺧﺖ اﯾﻦ
ﺗﻮاﺑﻊ از روی رﻣﺰ ﻫﺎی ﺑﻠﻮﮐ وﺟﻮد دارد ﮐﻪ در اﻧﺘﻬﺎ ﺑﻪ اﯾﻦ روش ﻫﺎ ﻣ ﭘﺮدازﯾﻢ.
n+t n
f
ﻣﺮﮐﻞ-دﻣ ﺎرد
در ﻣﺪ ﻣﺮﮐﻞ-دﻣ ﺎرد ﺑﺎ اﺳﺘﻔﺎده از ﯾ ﺗﺎﺑﻊ ﻓﺸﺮده ﺳﺎز ﯾ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﺳﺎﺧﺘﻪ ﻣ ﺷﻮد .ﻓﺮض ﮐﻨﯿﺪ fﯾ ﺗﺎﺑﻊ
ﻓﺸﺮدهﺳﺎز ﻣﻘﺎوم درﺑﺮاﺑﺮ ﺑﺮﺧﻮرد ﺑﺎﺷﺪ ﮐﻪ ورودی ﺑﺎ ﻃﻮل n + tرا ﺑﻪ ﺧﺮوﺟ ﺑﺎ ﻃﻮل nﻣ ﻧ ﺎرد .و ﻓﺮض ﮐﻨﯿﻢ
٧
Merkle–Damgård Mode
٨
Sponge Mode
١٧-۶
m۱۰∗ = m۱ m۲ ...mbﮔﺴﺘﺮشﯾﺎﻓﺘﻪی ورودی mﺑﺎﺷﺪ ﻃﻮری ﮐﻪ ﻃﻮل ﻫﺮ miﺑﺮاﺑﺮ tﺑﺎﺷﺪ .اوﻟﯿﻦ ﺳﺎﺧﺘﺎری ﮐﻪ
ﺑﻪ ذﻫﻦ ﻣ رﺳﺪ اﯾﻦ اﺳﺖ ﺑﻪ ﺷ ﻞ زﯾﺮ ﻋﻤﻞ ﮐﻨﯿﻢ.
m۰ m۱ mb
ﮐﻪ IVﯾ ﻣﻘﺪار ﺛﺎﺑﺖ اﺳﺖ .ﺳﻮاﻟ ﮐﻪ ﻣﻄﺮح ﻣ ﺷﻮد اﯾﻦ اﺳﺖ ﮐﻪ اﮔﺮ fﻣﻘﺎوم درﺑﺮاﺑﺮ ﺑﺮﺧﻮرد ﺑﺎﺷﺪ آﯾﺎ HIVﻧﯿﺰ
ﻣﻘﺎوم در ﺑﺮاﺑﺮ ﺑﺮﺧﻮرد اﺳﺖ؟ ﺟﻮاب اﯾﻦ ﺳﻮال ﺧﯿﺮ اﺳﺖ .ﺑﺮای اﯾﻨ ﻪ ﺑﻪ ﯾ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﻣﻘﺎوم درﺑﺮاﺑﺮ ﺑﺮﺧﻮرد
ﺑﺮﺳﯿﻢ ﮐﺎﻓ اﺳﺖ ﯾ ﺗﻐﯿﯿﺮ ﮐﻮﭼ در ﺷ ﻞ ﺑﺎﻻ اﯾﺠﺎد ﮐﻨﯿﻢ .ﻓﺮض ﮐﻨﯿﻢ ℓﻃﻮل ﭘﯿﺎم mﺑﺎﺷﺪ .ﻣﺪ ﻣﺮﮐﻞ-دﻣ ﺎرد ﺑﻪ
ﺷ ﻞ زﯾﺮ ﻋﻤﻞ ﻣ ﮐﻨﺪ.
m۰ m۱ mb ><ℓ
در اﯾﻦ ﺣﺎﻟﺖ ﻣ ﺗﻮان ﺑﺮرﺳ ﮐﺮد ﮐﻪ اﮔﺮ fﻣﻘﺎوم در ﺑﺮاﺑﺮ ﺑﺮﺧﻮرد ﺑﺎﺷﺪ آﻧ ﺎه HIVﻧﯿﺰ ﻣﻘﺎوم درﺑﺮاﺑﺮ ﺑﺮﺧﻮرد اﺳﺖ.
اﺛﺒﺎت اﯾﻦ ﻣﻮﺿﻮع ﺑﻪ ﺧﻮاﻧﻨﺪه واﮔﺬار ﻣ ﺷﻮد)راﻫﻨﻤﺎﯾ :ﮐﺎﻓ اﺳﺖ ﺑﺮ اﺳﺎس ﻃﻮل دو ﭘﯿﺎﻣ ﮐﻪ ﺑﺮﺧﻮرد دارﻧﺪ دو
ﺣﺎﻟﺖ در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ و ﺳﻌ ﮐﻨﯿﺪ در ﯾ از ﺑﻠﻮک ﻫﺎ ﯾ ﺑﺮﺧﻮرد ﺑﺮای fﭘﯿﺪا ﮐﻨﯿﺪ.( .
ﻣﺪ اﺳﻔﻨﺠ
در ﻣﺪ اﺳﻔﻨﺠ ﺑﺎ اﺳﺘﻔﺎده از ﯾ ﺟﺎﯾ ﺸﺖ ﯾ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﯿﻢ .ﻓﺮض ﮐﻨﯿﺪ Πﯾ ﺟﺎﯾ ﺸﺖ ﺑﺎﺷﺪ ﮐﻪ
ﻃﻮل ورودی و ﺧﺮوﺟ آن n + rاﺳﺖ .و ﻓﺮض ﮐﻨﯿﻢ m۱۰∗ = m۱ m۲ ...mbﮔﺴﺘﺮشﯾﺎﻓﺘﻪی ورودی mﺑﺎﺷﺪ
ﻃﻮری ﮐﻪ ﻃﻮل ﻫﺮ miﺑﺮاﺑﺮ rﺑﺎﺷﺪ .ﻣﺪ اﺳﻔﻨﺠ ﺑﻪ اﯾﻦ ﺷ ﻞ ﻋﻤﻞ ﻣ ﮐﻨﺪ.
m۰ m۱ mb h۱ h۲
IV۱
r
⊕ ⊕ ⊕
Π Π b b b b
Π Π Π b b b
IV۲
n
ﻣ ﺗﻮان اﯾﻦ ﻋﻤﻠﯿﺎت را ﺗﺎ ﺣﺪ ﻻزم اداﻣﻪ داد و ﺑﻪ ﻣﯿﺰان ﻻزم ﺧﺮوﺟ ﮔﺮﻓﺖ .ﻣ ﺗﻮان ﺛﺎﺑﺖ ﮐﺮد اﮔﺮ Πﺷﺒﻪ ﺗﺼﺎدﻓ
ﺑﺎﺷﺪ آﻧ ﺎه HIVﻣﻘﺎوم در ﺑﺮاﺑﺮ ﺑﺮﺧﻮرد اﺳﺖ و ﻋﻼوه ﺑﺮ آن ﺷﺒﻪ ﺗﺼﺎدﻓ ﻧﯿﺰ ﻫﺴﺖ و ﺑﻪ ﺷ ﻞ ﯾ اوراﮐﻞ ﺗﺼﺎدﻓ
ﻋﻤﻞ ﻣ ﮐﻨﺪ .در ﻣﻮرد ﺳﺎﺧﺖ ﺟﺎﯾ ﺸﺖﻫﺎی ﺷﺒﻪﺗﺼﺎدﻓ ﻧﯿﺰ ﻗﺒﻼ در ﻣﺒﺤﺚ رﻣﺰ ﻫﺎی ﺑﻠﻮﮐ ﺑﺤﺚ ﺷﺪه اﺳﺖ و ﺑﻪ
ﻋﻨﻮان ﻣﺜﺎل ﻣ ﺗﻮان از AESﺑﺎ ﯾ ﮐﻠﯿﺪ ﺛﺎﺑﺖ اﺳﺘﻔﺎده ﮐﺮد.
١٧-٧
ﺳﺎﺧﺖ ﺗﻮاﺑﻊ ﻓﺸﺮدهﺳﺎز
ﺑﺮای ﺳﺎﺧﺖ ﺗﻮاﺑﻊ ﻓﺸﺮدهﺳﺎز از رﻣﺰﻫﺎی ﺑﻠﻮﮐ اﺳﺘﻔﺎده ﻣ ﮐﻨﯿﻢ .دو روش دﯾﻮﯾﺲ-ﻣﺎﯾﺮ ٩و اُﺳﯿﺲ-ﻣﺎﯾﺮ ١٠را ﺑﺮای
ﺳﺎﺧﺖ ﺗﻮاﺑﻊ ﻓﺸﺮدهﺳﺎز از روی رﻣﺰﻫﺎی ﺑﻠﻮﮐ ﻣﻌﺮﻓ ﻣ ﮐﻨﯿﻢ.
دﯾﻮﯾﺲ-ﻣﺎﯾﺮ
ﺗﺎﺑﻊ ﻓﺸﺮده ﺳﺎز ﻣ ﺳﺎزﯾﻢ ﮐﻪ ورودی m, hi−۱را ﺑﻪ hiﻣ ﻧ ﺎرد .در اﯾﻦ روش ﺑﻪ ﺷ ﻞ زﯾﺮ ﻋﻤﻞ در اﯾﻦ روش ﯾ
ﻣ ﮐﻨﯿﻢ.
hi−۱
m E
⊕
hi
ﻣ ﺗﻮان ﺛﺎﺑﺖ ﮐﺮد اﮔﺮ Eﺷﺒﻪ ﺗﺼﺎدﻓ ﺑﺎﺷﺪ ﺗﺎﺑﻊ ﺗﻮﻟﯿﺪ ﺷﺪه در اﯾﻦ روش ﻣﻘﺎوم در ﺑﺮاﺑﺮ ﺑﺮﺧﻮرد اﺳﺖ.
اُﺳﯿﺲ-ﻣﺎﯾﺮ
ﺗﺎﺑﻊ ﻓﺸﺮده ﺳﺎز ﻣ ﺳﺎزﯾﻢ ﮐﻪ ورودی m, hi−۱را ﺑﻪ hiﻣ ﻧ ﺎرد .در اﯾﻦ روش ﺑﻪ ﺷ ﻞ زﯾﺮ ﻋﻤﻞ در اﯾﻦ روش ﯾ
ﻣ ﮐﻨﯿﻢ.
٩
Davies-Meyer Scheme
١٠
Oasis-Meyer Scheme
١٧-٨
m
hi−۱ E
⊕
hi
ﻣ ﺗﻮان ﺛﺎﺑﺖ ﮐﺮد اﮔﺮ Eﺷﺒﻪ ﺗﺼﺎدﻓ ﺑﺎﺷﺪ ﺗﺎﺑﻊ ﺗﻮﻟﯿﺪ ﺷﺪه در اﯾﻦ روش ﻣﻘﺎوم در ﺑﺮاﺑﺮ ﺑﺮﺧﻮرد اﺳﺖ .در اﯾﻦ روش
ﻧﺴﺒﺖ ﺑﻪ روش دﯾﻮﯾﺲ-ﻣﺎﯾﺮ ﻣﺤﺪودﯾﺘ وﺟﻮد دارد زﯾﺮا ﺑﺎﯾﺪ ﻃﻮل ﮐﻠﯿﺪ و ﻃﻮل ورودی در Eﺑﺮاﺑﺮ ﺑﺎﺷﺪ .ﺑﻨﺎﺑﺮاﯾﻦ ﺗﺎﺑﻊ
ﺗﻮﻟﯿﺪ ﺷﺪه ﻃﻮل ورودی را ﻧﺼﻒ ﻣ ﮐﻨﺪ.
١٧-٩
ﺑﻪ ﻧﺎم ﺧﺪا
ﺗﻮاﺑﻊ ﭼ ﯿﺪهﺳﺎز ﮐﺎرﺑﺮدﻫﺎی ﮔﺴﺘﺮدهای در اﻣﻀﺎی دﯾﺠﯿﺘﺎل ،ﭘﺮوﺗ ﻞﻫﺎی اﺣﺮاز ﻫﻮﯾﺖ ،ﺣﻔﻆ ﯾ ﭙﺎرﭼ ﭘﯿﺎم وﺗﻮﻟﯿﺪ
اﻋﺪاد ﺷﺒﻪ ﺗﺼﺎدﻓ دارﻧﺪ .اﺳﺘﻔﺎده ازﺗﻮاﺑﻊ ﭼ ﯿﺪهﺳﺎز دراﻟ ﻮرﯾﺘﻢ ﻫﺎی اﻣﻀﺎی دﯾﺤﯿﺘﺎل ﺑﻪ اﯾﻦ ﺻﻮرت اﺳﺖ ﮐﻪ اﺑﺘﺪا
ﭼ ﯿﺪه ﭘﯿﺎﻣ ﮐﻪ ﺑﺎﯾﺪ اﻣﻀﺎ ﺷﻮد ﻣﺤﺎﺳﺒﻪ ﻣ ﮔﺮدد وﺳﭙﺲ اﯾﻦ ﭼ ﯿﺪه اﻣﻀﺎ ﻣ ﺷﻮد .ﺟﻬﺖ ﺣﻔﻆ ﯾ ﭙﺎرﭼ ﭘﯿﺎمﻫﺎﯾ
ﮐﻪ ﺑﺮوی ﮐﺎﻧﺎل ﻫﺎی ﻧﺎاﻣﻦ ﻓﺮﺳﺘﺎده ﻣ ﺷﻮﻧﺪ ،ﻋﻤﻮﻣﺎ از ﺗﻮاﺑﻊ ﭼ ﯿﺪهﺳﺎز اﺳﺘﻔﺎده ﻣ ﺷﻮد ،ﺑﺪﯾﻦ ﻣﻨﻈﻮرﭼ ﯿﺪهی ﭘﯿﺎم
ﺑﺎﯾﺪ ﺑﻪ ”ﻧﻮﻋ “ ﺗﺼﻮﯾﺮی ﯾ ﺘﺎ از ﭘﯿﺎم ورودی ﺑﺎﺷﺪ و ﻫﻤﭽﻨﯿﻦ در اﯾﻦ ﺣﺎﻟﺖ ﺑﻪ ﺳﺒﺐ ﮐﻮﺗﺎهﺗﺮ ﺑﻮدن ﻃﻮل ﭼ ﯿﺪه ﻧﺴﺒﺖ
ﺑﻪ ﻃﻮل ورودی ،ﺣﻔﻆ ﯾ ﭙﺎرﭼ ﭘﯿﺎم ﺳﺎدهﺗﺮ ﺧﻮاﻫﺪ ﺑﻮد .ازﮐﺎرﺑﺮدﻫﺎی دﯾ ﺮ ﺗﻮاﺑﻊ ﭼ ﯿﺪهﺳﺎز ،ذﺧﯿﺮه ﺳﺎزی ﮐﻠﻤﺎت
ﻋﺒﻮر در ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ و ﻧﺮم اﻓﺰارﻫﺎ اﺳﺖ ﺑﻪ اﯾﻦ ﺻﻮرت ﮐﻪ ﺑﻪ ﺟﺎی ذﺧﯿﺮه ﮐﻠﻤﻪ ﻋﺒﻮر ،ﭼ ﯿﺪهی آن دﺧﯿﺮه ﻣ ﺷﻮد،
اﯾﻦ ﮐﺎر ﻣﺴﺘﻠﺰم آن اﺳﺖ ﮐﻪ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﺑﻪ ﻧﺤﻮی ﺑﺎﺷﺪ ﮐﻪ ازروی ﺧﺮوﺟ آن ﻧﺘﻮان ورودی را ﻣﺤﺎﺳﺒﻪ ﻧﻤﻮد .ﺑﻪ
ﻃﻮر ﮐﻠ ازﯾ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز اﯾﺪهآل اﻧﺘﻈﺎر ﻣ رود وﯾﮋﮔ ﻫﺎی زﯾﺮ را داﺷﺘﻪ ﺑﺎﺷﺪ.
• ﺑﺮﺧﻮردﺗﺎﺑ :٣ﭘﯿﺪا ﮐﺮدن دوﭘﯿﺎم ﻣﺘﻤﺎﯾﺰ mو m′ﮐﻪ ﭼ ﯿﺪهی ﯾ ﺴﺎﻧ داﺷﺘﻪ ﺑﺎﺷﻨﺪ ﺳﺨﺖ ﺑﺎﺷﺪ؛ ﯾﻌﻨ از ﻧﻈﺮ
ﻣﺤﺎﺳﺒﺎﺗ ﻧﺘﻮان ﭘﯿﺎمﻫﺎی m ̸= m′را ﯾﺎﻓﺖ ﮐﻪ ﺑﺮای آﻧﻬﺎ ) H(m) = H(m′ﺑﺎﺷﺪ.
• ﭘﯿﺶﺗﺼﻮﯾﺮﺗﺎﺑ :۴ﺑﻪ ازای yﺗﺼﺎدﻓ داده ﺷﺪه در ﺑﺮد ﺗﺎﺑﻊ ،Hﭘﯿﺪاﮐﺮدن ﭘﯿﺎم mﮐﻪ ﺑﺮای آن داﺷﺘﻪ ﺑﺎﺷﯿﻢ
،H(m) = yﺳﺨﺖ ﺑﺎﺷﺪ.
• ﭘﯿﺶﺗﺼﻮﯾﺮ دومﺗﺎﺑ :۵ﺑﻪ ازای ﻫﺮ mداده ﺷﺪه ،ﭘﯿﺪا ﮐﺮدن ﭘﯿﺎم m′ ̸= mﮐﻪ ) ،H(m) = H(m′ﺳﺨﺖ
ﺑﺎﺷﺪ.
١
Hash function
٢
message digest
٣
collision-resistant
۴
preimage-resistant
۵
second-preimage-resistant
١٨-١
٢اﻣﻨﯿﺖ ﺗﻮاﺑﻊ درﻫﻢ ﺳﺎز
ﺣﻤﻠﻪ ﺟﺴﺘﺠﻮی ﮐﺎﻣﻞ ﺑﻪ ﺗﻤﺎﻣ ﺗﻮاﺑﻊ ﭼ ﯿﺪه ﺳﺎز ﻗﺎﺑﻞ اﻋﻤﺎل اﺳﺖ .اﻣﻨﯿﺖ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز در ﻣﻘﺎﺑﻞ ﺣﻤﻠﻪ ﺟﺴﺘﺠﻮی
ﮐﺎﻣﻞ ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﻃﻮل ﺧﺮوﺟ آن اﺳﺖ ﺑﻨﺎﺑﺮاﯾﻦ ﻃﻮل ﺧﺮوﺟ ﺑﺎﯾﺪ ﺑﻪ اﻧﺪازه ﮐﺎﻓ ﺑﺰرگ ﺑﺎﺷﺪ ﺗﺎ ﺗﺎﺑﻊ ﭼ ﯿﺪه ﺳﺎز در
ﻣﻘﺎﺑﻞ ﺣﻤﻼت زﯾﺮ اﻣﻦ ﺑﺎﺷﺪ .ﻓﺮض ﮐﻨﯿﻢ Hﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز اﯾﺪهآل ﺑﺎ nﺑﯿﺖ ﺧﺮوﺟ ﺑﺎﺷﺪ.
• ﺣﻤﻠﻪ ﺑﺮﺧﻮرد :ﻣﻬﺎﺟﻢ ﺳﻌ ﻣﯿ ﻨﺪ دوﭘﯿﺎم m ̸= m′راﺑﻪ ﮔﻮﻧﻪ ای ﺑﯿﺎﺑﺪ ﮐﻪ ﺑﺮای آنﻫﺎ ) H(m) = H(m′
ﺑﺎﺷﺪ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻗﻀﯿﻪ ﺗﻨﺎﻗﺾ روزﺗﻮﻟﺪ ،ﺑﺮای آﻧ ﻪ ﻣﻬﺎﺟﻢ ﺑﺘﻮاﻧﺪ ﺑﺎ اﺣﺘﻤﺎل ﺑﯿﺸﺘﺮ از ١/٢ﭼﻨﯿﻦ ﭘﯿﺎمﻫﺎﯾ را
ﺑﯿﺎﺑﺪ ﻧﯿﺎز ﺑﻪ ﻣﺤﺎﺳﺒﻪ ۲n/۲ﭘﯿﺎم ورودی دارد.
• ﺣﻤﻠﻪ ﭘﯿﺶﺗﺼﻮﯾﺮ :ﺑﺮای ﯾ ﭼ ﯿﺪهی nﺑﯿﺘ yوﻗﺘ ﻣﻬﺎﺟﻢ ﭘﯿﺎم دﻟﺨﻮاه mرا اﻣﺘﺤﺎن ﻣ ﮐﻨﺪ ﺑﺎ اﺣﺘﻤﺎل
۲−nوی ﻣ ﺗﻮاﻧﺪ اﻧﺘﻈﺎر داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ H(m) = yﺑﺎﺷﺪ .ﺑﻨﺎﺑﺮاﯾﻦ وی ﻧﯿﺎز ﺑﻪ ﻣﺤﺎﺳﺒﻪی ۲nﭘﯿﺎم ورودی
دارد ﺗﺎ ﺑﺎ اﺣﺘﻤﺎل ﺧﻮﺑ ﯾ از آﻧﻬﺎ ﭘﯿﺶﺗﺼﻮﯾﺮی ﺑﺮای yﺑﺎﺷﺪ.
• ﺣﻤﻠﻪ ﭘﯿﺶﺗﺼﻮﯾﺮ دوم :در اﯾﻦ ﺣﻤﻠﻪ ﻣﻬﺎﺟﻢ ﺳﻌ ﻣ ﮐﻨﺪ ﺑﺮای ﭘﯿﺎم mای ﮐﻪ در اﺧﺘﯿﺎر دارد ،ﭘﯿﺎم m ̸= m′
را ﺑﻪ ﻧﺤﻮی ﭘﯿﺪا ﮐﻨﺪ ﮐﻪ ) H(m) = H(m′ﺑﺎﺷﺪ ،ﻣﻬﺎﺟﻢ ﺑﺮای ﯾﺎﻓﺘﻦ ﭼﻨﯿﻦ ﭘﯿﺎﻣ ﻧﯿﺎز ﺑﻪ ﻣﺤﺎﺳﺒﻪ ۲nﻣﻘﺪار
ورودی دارد.
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨ ﻪ ﻃﻮل ﺧﺮوﺟ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﺛﺎﺑﺖ ،وﻟ ﻃﻮل ورودی آن دﻟﺨﻮاه اﺳﺖ ﺑﺪﯾﻬ اﺳﺖ ﮐﻪ ﺑﺮای ﺗﺎﺑﻊ
ﭼ ﯿﺪهﺳﺎز ،ﻫﻤﻮاره ﻣ ﺗﻮان ﺑﺮﺧﻮرد ﭘﯿﺪا ﮐﺮد .اﻣﻨﯿﺖ ﺗﺎﺑﻊ ﭼ ﯿﺪه ﺑﻪ اﯾﻦ ﻣﻌﻨﺎﺳﺖ ﮐﻪ ﭘﯿﺪاﮐﺮدن ﺑﺮﺧﻮرد ازﻧﻈﺮ ﻣﺤﺎﺳﺒﺎﺗ
ﻣﻤ ﻦ ﻧﺒﺎﺷﺪ .ﮔﻮﯾﯿﻢ ﯾ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﺷ ﺴﺘﻪ ﺷﺪه اﺳﺖ اﮔﺮ اﻟ ﻮرﯾﺘﻤ ﺑﺎ ﭘﯿﭽﯿﺪﮔ ﮐﻢﺗﺮ از اﻟ ﻮرﯾﺘﻢ ﺟﺴﺘﺠﻮی
ﮐﺎﻣﻞ ﺑﺘﻮاﻧﺪ ﺣﺪاﻗﻞ ﯾ از وﯾﮋﮔ ﻫﺎی ﺗﺎﺑﻊ اﯾﺪهآل را ﻧﻘﺾ ﮐﻨﺪ.
١٨-٢
ﮔﻮﯾﯿﻢ .ﺳﺎﺧﺘﺎر ﺗﺎﺑﻊ ﺑﯿﺖ ﺻﻔﺮ ﺑﻪ اﻧﺘﻬﺎی ﭘﯿﺎم ورودی اﺿﺎﻓﻪ ﻣ ﺷﻮد .اﻓﺰودن ﺑﯿﺖ ﻫﺎی اﺿﺎﻓ ،ﺑﻪ اﯾﻦ ﺷﯿﻮه را ﭘﺪﯾﻨ
ﭼ ﯿﺪهﺳﺎز در ﺳﺎﺧﺘﺎر ﻣﺮﮐﻞ-دﻣ ﺎرد را در ﺷ ﻞ ١-١٧ﻣﺸﺎﻫﺪه ﻣ ﮐﻨﯿﻢ.
...
f f f f f
)H(m
h۰ h۱ h۲ hb−۱ hb
.
ﺷ ﻞ :١-١٧ﺳﺎﺧﺘﺎر ﻣﺮﮐﻞ-دﻣ ﺎرد
در اﯾﻦ ﺳﺎﺧﺘﺎر hiﻣﺘﻐﯿﺮ زﻧﺠﯿﺮهای ٧ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد و در ﻣﺮﺣﻠﻪ اول ﺑﺮاﺑﺮ ﺑﺎ ﯾ ﻣﻘﺪار اوﻟﯿﻪ ٨ﺛﺎﺑﺖ ) IVﻣﺜﻼ = IV
(۰nاﺳﺖ .ﭘﯿﺎم ورودی ،mﺑﻌﺪ از اﻋﻤﺎل ﭘﺪﯾﻨ روی آن ﺑﻪ bﻗﺎﻟﺐ tﺑﯿﺘ m۱ , m۲ , .., mbﺗﻘﺴﯿﻢ ﻣ ﺷﻮد ﺳﭙﺲ
ﻣﻘﺪار ﭼ ﯿﺪه ﺑﺮای ﭘﯿﺎم mﺑﻪ ﺻﻮرت زﯾﺮ ﻣﺤﺎﺳﺒﻪ ﻣ ﺷﻮد ﮐﻪ [ℓ]tﻧﻤﺎﯾﺶ دودوﯾ ﻃﻮل ﭘﯿﺎم mﺑﺎ ﯾ رﺷﺘﻪ tﺑﯿﺘ
اﺳﺖ.
• h0 = IV
ﻗﻀﯿﻪ ١اﮔﺮﺗﺎﺑﻊ ﻓﺸﺮدهﺳﺎز fﺑﺮﺧﻮردﺗﺎب ﺑﺎﺷﺪ آﻧ ﺎه ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز Hﻧﯿﺰ ﺑﺮﺧﻮردﺗﺎب اﺳﺖ.
ﺑﺮﻫﺎن .ﻓﺮض ﮐﻨﯿﺪ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز Hﺑﺮﺧﻮردﺗﺎب ﻧﺒﺎﺷﺪ ﺑﻨﺎﺑﺮاﯾﻦ ﭘﯿﺎمﻫﺎی ﻣﺘﻤﺎﯾﺰ mو m′وﺟﻮد دارﻧﺪ ﮐﻪ = )H(m
) H(m′اﺳﺖ .ﻧﺸﺎن ﻣ دﻫﯿﻢ وﺟﻮد ﺑﺮﺧﻮرد ﺑﺮای ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﻣﻨﺠﺮ ﺑﻪ ﯾﺎﻓﺘﻦ ﺑﺮﺧﻮردی ﺑﺮای ﺗﺎﺑﻊ ﻓﺸﺮدهﺳﺎز در
ﺟﺎﯾ از ﺳﺎﺧﺘﺎر ﺗ ﺮاری ﻣ ﺷﻮد .ﻓﺮض ﮐﻨﯿﺪ ﻗﺎﻟﺐﻫﺎی ﭘﯿﺎمﻫﺎی ﭘﺪ ﺷﺪه m۱ , · · · , mbو m′۱ , · · · , m′b′ﺑﺎﺷﻨﺪ.
ﻫﻤﭽﻨﯿﻦ ﻃﻮلﻫﺎی ﭘﯿﺎمﻫﺎ را ﺑﺎ ℓو ℓ′و ﻣﺘﻐﯿﺮﻫﺎی زﻧﺠﯿﺮهای ﻣﺘﻨﺎﻇﺮ را h۰ , h۱ , · · · , hbو h′۰ = h۰ , h′۱ , · · · , h′b′
در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ .ﺑﺪﯾﻦ ﻣﻨﻈﻮر دوﺣﺎﻟﺖ زﯾﺮ را در ﻧﻈﺮ ﻣ ﮔﯿﺮﯾﻢ:
١٨-٣
) H(m) = f (hb , [ℓ]t
) H(m′ ) = f (h′ b , [ℓ′ ]t
اﮔﺮ h′ b ̸= hbﺑﺎﺷﺪ آﻧ ﺎه ﺑﺮﺧﻮردی ﺑﺮای ﺗﺎﺑﻊ fﺑﺪﺳﺖ ﻣ آﯾﺪ .درﻏﯿﺮ اﯾﻨﺼﻮرت ﯾ ﻗﺎﻟﺐ ﺑﻪ ﻋﻘﺐ ﺑﺮ
ﻣ ﮔﺮدﯾﻢ .ﺣﺎل اﮔﺮ ) (h′ b−۱ , m′ b ) ̸= (hb−۱ , mbﺑﺎﺷﺪ آﻧ ﺎه ﺑﺮﺧﻮردی ﯾﺎﻓﺘﻪ اﯾﻢ .در ﻏﯿﺮ اﯾﻦ ﺻﻮرت اﯾﻦ
روﻧﺪ را ﺗﺎ ﯾﺎﻓﺘﻦ ﺑﺮﺧﻮردی ﺑﺮای fاداﻣﻪ ﻣ دﻫﯿﻢ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨ ﻪ دو ﭘﯿﺎم ﻣﺘﻤﺎﯾﺮﻧﺪ ﭘﺲ ﺣﺪاﻗﻞ در ﯾ ﻗﺎﻟﺐ
ﺑﺎ ﻫﻢ ﻣﺘﻔﺎوت ﺧﻮاﻫﻨﺪ ﺑﻮد ﺑﻨﺎﺑﺮاﯾﻦ در روﻧﺪ ﺑﺎزﮔﺸﺘ ﺣﺘﻤﺎ ﺑﺮﺧﻮردی ﺑﺮای fﺧﻮاﻫﯿﻢ ﯾﺎﻓﺖ.
ﻧ ﺘﻪ ١ﻋ ﺲ ﮔﺰاره ﺑﺎﻻ ﻟﺰوﻣﺎﺑﺮﻗﺮار ﻧﯿﺴﺖ و ﺑﻪ ﻃﻮر ﮐﻠ ﻧﻤ ﺗﻮان ﺿﻌﻒﻫﺎی ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز را ﺑﻪ ﺗﺎﺑﻊ ﻓﺸﺮدهﺳﺎز
ﺗﻌﻤﯿﻢ داد.
ﻧ ﺘﻪ ٢وارد ﮐﺮدن ﻃﻮل ﭘﯿﺎم در ﺳﺎﺧﺘﺎر ﻣﺮﮐﻞ-دﻣ ﺎرد ﺿﺮوری اﺳﺖ .در ﻏﯿﺮ اﯾﻨﺼﻮرت ﻣ ﺗﻮان ﺗﻮاﺑﻊ ﻓﺸﺮدهﺳﺎز
ﺑﺮﺧﻮردﺗﺎﺑ ﯾﺎﻓﺖ ﮐﻪ ﺳﺎﺧﺘﺎر ﻣﺮﮐﻞ-دﻣ ﺎرد ﻣﺘﻨﺎﻇﺮ )ﺑﺪون ﻗﺎﻟﺐ ﻃﻮل ﭘﯿﺎم( ﺑﺮﺧﻮردﺗﺎب ﻧﺒﺎﺷﺪ )راﻫﻨﻤﺎﯾ :ﻓﺮض ﮐﻨﯿﺪ
ﺗﺎﺑﻊ ﻓﺸﺮدهﺳﺎز ﻧﻘﻄﻪ ﺛﺎﺑﺘ ﻣﺎﻧﻨﺪ ) IV = f (IV, mداﺷﺘﻪ ﺑﺎﺷﺪ(.
ﻧ ﺘﻪ ٣ﻗﻀﯿﻪ ﻣﺮﮐﻞ-دﻣ ﺎرد ﻧﺸﺎن ﻣ دﻫﺪ اﮔﺮ ﺗﺎﺑﻊ ﻓﺸﺮدهﺳﺎز اﯾﺪهآل ﺑﺎﺷﺪ ﺑﻪ ﻃﻮری ﮐﻪ ﺑﻬﺘﺮﯾﻦ ﺣﻤﻠﻪ ﺑﺮﺧﻮرد ﺑﺮای
آن دارای ﭘﯿﭽﯿﺪﮔ ۲n/۲ﺑﺎﺷﺪ ،ﺑﻬﺘﺮﯾﻦ ﺣﻤﻠﻪ ﺑﺮﺧﻮرد ﻋﻠﯿﻪ ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﻧﯿﺰ دارای ﻫﻤﺎن ﭘﯿﭽﯿﺪﮔ اﺳﺖ .ﺑﺎ اﯾﻦ
وﺟﻮد ﺳﺎﺧﺘﺎر ﻣﺮﮐﻞ-دﻣ ﺎرد ﻧﺴﺒﺖ ﺑﻪ ﭘﯿﺶﺗﺼﻮﯾﺮﺗﺎﺑ اﯾﺪهال ﻋﻤﻞ ﻧﻤ ﮐﻨﺪ؛ زﯾﺮا ﺣﻤﻼﺗ ﺑﺎ ﭘﯿﭽﯿﺪﮔ ﺑﻬﺘﺮی از ۲n
ﻋﻠﯿﻪ آن وﺟﻮد دارد.
١٨-۴
hi
.
hi+۱
ﺷ ﻞ . ٢-١٧
ﺣﺎل ﺳﻮاﻟ ﮐﻪ ﻣﻄﺮح ﻣ ﺷﻮد اﯾﻦ اﺳﺖ ﮐﻪ آﯾﺎ ﺗﺎﺑﻊ ﻓﺸﺮدهﺳﺎز ﺑﺎ ﺳﺎﺧﺘﺎر ﻣﻌﺮﻓ ﺷﺪه ﺑﺮﺧﻮردﺗﺎب اﺳﺖ؟ ﭘﺎﺳﺦ ﺑﻪ
اﯾﻦ ﭘﺮﺳﺶ ﻣﻨﻔ اﺳﺖ .ﻣﻬﺎﺟﻢ ﻣ ﺗﻮاﻧﺪ ﺑﻪ راﺣﺘ ﺑﺮای ﻫﺮ ﺧﺮوﺟ دﻟﺨﻮاه hi+۱از ﺗﺎﺑﻊ ﻓﺸﺮدهﺳﺎز ﺑﻪ ﺗﻌﺪاد دﻟﺨﻮاه
ﭘﯿﺶﺗﺼﻮﯾﺮ ﺑﺴﺎزد ).ﺑﺮای اﯾﻦ ﮐﺎر ﮐﻠﯿﺪ دﻟﺨﻮاه( mi+۱را اﻧﺘﺨﺎب ﻣ ﮐﻨﺪ و ﻣﻘﺪار ) E −۱ mi+۱ (hi+۱را ﻣﺤﺎﺳﺒﻪ
ﻣ ﮐﻨﺪ .ﺑﻪ وﺿﻮح ) mi+۱ , E −۱ mi+۱ (hi+۱ﭘﯿﺶﺗﺼﻮﯾﺮی ﺑﺮای hi+۱اﺳﺖ.
ﺑﺮای ﺳﺎﺧﺘﻦ ﺑﺮﺧﻮرد ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﻣﻬﺎﺟﻢ ﺧﺮوﺟ hi+۱ = ۰nو ﭘﯿﺎمﻫﺎی ﻣﺘﻤﺎﯾﺰ mi+۱ = ۰nو m′ i+۱ = ۱n
را درﻧﻈﺮ ﻣ ﮔﯿﺮد .ﺣﺎل ﺑﺎ ﻣﺤﺎﺳﺒﻪ ورودیﻫﺎی hiو h′iﺑﻪ ﺻﻮرت زﯾﺮ ﺑﺮﺧﻮردی ﺑﺮای ﺗﺎﺑﻊ fﻣ ﯾﺎﺑﺪ.
−۱
hi = E m i+۱
) (hi+۱ ) = E −۱ ۰n (۰n
−۱
h′i = Em ′ ) (hi+۱ ) = E −۱ ۱n (۰n
i+۱ ) =⇒ f (hi , mi+۱ ) = f (h′i , m′i
f (hi , mi+۱ ) = Emi+۱ (hi+۱ ) = ۰n
f (h′i , m′i+۱ ) = Em′i+۱ (h′i+۱ ) = ۰n
در اداﻣﻪ ﺑﻪ ﻣﻌﺮﻓ ﻃﺮحﻫﺎی دﯾﻮﯾﺲ-ﻣﯿﺮ ٩و ﻣﺎﺗﯿﺎس-ﻣﯿﺮ-اوﺳﯿﺎس ١٠ﻣ ﭘﺮدازﯾﻢ ﮐﻪ راهﺣﻞﻫﺎﯾ ﺑﺮای رﻓﻊ ﻣﺸ ﻞ ﻓﻮق
ﻣ ﺑﺎﺷﻨﺪ.
٩
Davies–Meyer
١٠
Matyas–Meyer–Oseas
١٨-۵
ﻃﺮح Davies-Meyer ٢.۴
hi
. ⊕
hi+۱
ﺷ ﻞ :٣-١٧ﻃﺮح دﯾﻮﯾﺲ-ﻣﯿﺮ
رﻣﺰﻗﺎﻟﺒ اﯾﺪهآل ﺑﺎﺷﺪ آﻧ ﺎه ﯾﺎﻓﺘﻦ ﺑﺮﺧﻮرد ﻧﯿﺎز ﺑﻪ ﻣﺤﺎﺳﺒﻪ ۲n/۲ﭘﯿﺎم ورودی دارد. • اﮔﺮ Eﯾ
. ⊕
hi+۱
ﺷ ﻞ :۴-١٧ﻃﺮح ﻣﺎﺗﯿﺎس-ﻣﯿﺮ-اوﺳﯿﺎس
ﺑﺮای ﻣﺤﺎﺳﺒﻪ ﺗﺎﺑﻊ ﻓﺸﺮدهﺳﺎز در اﯾﻦ ﻃﺮح از راﺑﻄﻪ زﯾﺮ اﺳﺘﻔﺎده ﻣ ﺷﻮد.
hi+1 = f (hi , mi+1 ) = Ehi (mi+1 ) ⊕ mi+1
١٨-۶
• در اﯾﻦ ﻃﺮح از رﻣﺰ ﻗﺎﻟﺒ اﺳﺘﻔﺎده ﺷﻮد ﮐﻪ ﻃﻮل ﻗﺎﻟﺐ ورودی و ﻃﻮل ﮐﻠﯿﺪ آن ﯾ ﺴﺎن ﺑﺎﺷﺪ.
رﻣﺰﻗﺎﻟﺒ اﯾﺪهآل ﺑﺎﺷﺪ آﻧ ﺎه ﯾﺎﻓﺘﻦ ﺑﺮﺧﻮرد ﻧﯿﺎز ﺑﻪ ﻣﺤﺎﺳﺒﻪ ۲n/۲ﭘﯿﺎم ورودی دارد. • اﮔﺮ Eﯾ
• درﺻﻮرﺗ ﮐﻪ πﯾ ﺟﺎﯾ ﺸﺖ اﯾﺪهآل ﺑﺎﺷﺪ آﻧ ﺎه ﻣﺸﺮوط ﺑﺮ اﻧﺘﺨﺎب ﻣﻨﺎﺳﺐ ﭘﺎراﻣﺘﺮ ﻇﺮﻓﯿﺖ cﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز
Hاﯾﺪهآل ﺧﻮاﻫﺪ ﺑﻮد.
ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز اﯾﺪهآل و • ﭘﯿﭽﯿﺪﮔ ﻫﺮ ﺣﻤﻠﻪای ﺑﻪ ﺳﺎﺧﺘﺎر اﺳﻔﻨﺠ ﻣﺤﺪود ﺑﻪ ﭘﯿﭽﯿﺪﮔ ﺑﻬﺘﺮﯾﻦ ﺣﻤﻠﻪ ﺑﻪ ﯾ
۲c/۲اﺳﺖ.
• ﺑﻨﺎﺑﺮاﯾﻦ اﮔﺮ n > cﺑﺎﺷﺪ ،ﺑﻬﺘﺮﯾﻦ ﺣﻤﻠﻪ ﺑﺮﺧﻮرد دارای ﭘﯿﭽﯿﺪﮔ ۲c/۲ﺧﻮاﻫﺪ ﺑﻮد )ﭼﻨﯿﻦ ﺣﻤﻠﻪای را ﺑﯿﺎﺑﯿﺪ(.
١١
permutation
١٢
bit-rate
١٣
capacity
١٨-٧
ﺗﻮاﺑﻊ ﭼ ﯿﺪهﺳﺎز ﻣﻬﻢ ۶
• :SHA-1اﯾﻦ اﻟ ﻮرﯾﺘﻢ ﺗﻮﺳﻂ ١۴ NSAدر ﺳﺎﺧﺘﺎر ﻣﺮﮐﻞ-دﻣ ﺎرد ،ﻃﺮاﺣ ﺷﺪه اﺳﺖ و در ﺳﺎل ١٩٩۵
ﺗﻮﺳﻂ ١۵ NISTاﻧﺘﺸﺎر ﯾﺎﻓﺖ .ﻃﻮل ﺧﺮوﺟ اﯾﻦ اﻟ ﻮرﯾﺘﻢ ١۶٠ﺑﯿﺖ وﻃﻮل ﻗﺎﻟﺐ آن ۵١٢ﺑﯿﺖ اﺳﺖ .در ﺳﺎل
٢٠٠۵ﻧﺸﺎن داده ﺷﺪ ﮐﻪ ﺑﺎ ﻣﺤﺎﺳﺒﻪ ۲۶۹ﻣﻘﺪار ورودی ﻣ ﺗﻮان ﺑﺮﺧﻮردی ﺑﺮای اﯾﻦ اﻟ ﻮرﯾﺘﻢ ﭘﯿﺪا ﮐﺮد .ﺑﺎ
وﺟﻮد اﻟ ﻮرﯾﺘﻢﻫﺎی اﻧﺪﮐ ﺑﻬﺘﺮ ﻫﻨﻮز ﺑﺮﺧﻮردی ﺑﺮای اﯾﻦ ﺗﺎﺑﻊ ﭘﯿﺪا ﻧﺸﺪه اﺳﺖ.
ﭘﯿﺶ از ﺳﺎل SHA-1 ،٢٠١٠ﮐﺎرﺑﺮدﻫﺎی ﮔﺴﺘﺮدهای در اﻣﻀﺎی دﯾﺠﯿﺘﺎل DSSو ﭘﺮوﺗ ﻞﻫﺎی TLS ،SSL
و PGPداﺷﺘﻪ اﺳﺖ .در ﺣﺎل ﺣﺎﺿﺮ در ﺑﻌﻀ از ﻣﻮارد SHA-1ﺑﺎ SHA-2ﺟﺎﯾ ﺰﯾﻦ ﮔﺮدﯾﺪه اﺳﺖ.
• :SHA-2ﻣﺆﺳﺴﻪ NISTﭼﻬﺎر ﺗﺎﺑﻊ ﭼ ﯿﺪهﺳﺎز ﮐﻪ ﺑﺮ اﺳﺎس ﻃﻮل ﺧﺮوﺟ ﺷﺎن ﻧﺎﻣ ﺬاری ﺷﺪه ﺑﻮدﻧﺪ ﺑﻪ ﻧﺎم
ﻫﺎی SHA-256 ،SHA-384 ،SHA-512و SHA-224ﻣﻌﺮوف ﺑﻪ ﺧﺎﻧﻮاده SHA-2را ﻣﻌﺮﻓ ﮐﺮد .اﯾﻦ
ﺧﺎﻧﻮاده از ﻟﺤﺎظ ﺳﺎﺧﺘﺎری ﻣﺸﺎﺑﻪ SHA-1ﻫﺴﺘﻨﺪ .اﻣﺎ ﺑﻪ ﻃﻮر ﮐﻠ اﯾﻦ ﺧﺎﻧﻮاده ﺑﺎ اﺳﺘﻘﺒﺎل ﮔﺴﺘﺮدهای روﺑﺮو
ﻧﺸﺪ.
• :MD5اﯾﻦ اﻟ ﻮرﯾﺘﻢ در ﺳﺎل ١٩٩٢ﺗﻮﺳﻂ ران رﯾﻮﺳﺖ ١۶در ﺳﺎﺧﺘﺎر ﻣﺮﮐﻞ-دﻣ ﺎرد ﺑﺎ ﻃﻮل ﻗﺎﻟﺐ ۵١٢ﺑﯿﺖ
وﻃﻮل ﺧﺮوﺟ ١٢٨ﺑﯿﺖ ﻃﺮاﺣ ﮔﺮدﯾﺪ .ﺣﻤﻠﻪ ﺑﺮﺧﻮرد ﺑﻪ ﺗﺎﺑﻊ ﻓﺸﺮدهﺳﺎز اﯾﻦ اﻟ ﻮرﯾﺘﻢ در ﺳﺎل ١٩٩۶اراﯾﻪ
ﺷﺪه اﺳﺖ.
• :SHA-3ﻣﻮﺳﺴﻪ NISTدرﺳﺎل ٢٠٠٧ﻣﺴﺎﺑﻘﻪ ﻃﺮاﺣ اﻟ ﻮرﯾﺘﻢ درﻫﻢ ﺳﺎز ،ﺑﺎ ﻋﻨﻮان SHA-3را ﺑﺮﮔﺰار
ﻧﻤﻮد .از ﻣﯿﺎن ۵١ﮐﺎﻧﺪﯾﺪای اوﻟﯿﻪ ﻧﻬﺎﯾﺘﺎً اﻟ ﻮرﯾﺘﻢ Keccakﮐﻪ در ﺳﺎﺧﺘﺎر اﺳﻔﻨﺠ ،ﻃﺮاﺣ ﺷﺪه ﺑﻮد ﺑﻪ ﻋﻨﻮان
اﻟ ﻮرﯾﺘﻢ ﺑﺮﺗﺮ اﻧﺘﺨﺎب ﮔﺮدﯾﺪ و ﺗﻮﺳﻂ NISTاﺳﺘﺎﻧﺪارد ﺷﺪه اﺳﺖ.
١۴
National Security Agency
١۵
National Institute of Standards and Technology
١۶
Ron Rivest
١٨-٨
ﺑﻪ ﻧﺎم ﺧﺪا
در اﯾﻦ ﺟﻠﺴﻪ ﺳﻌ دارﯾﻢ ﮐﻪ ﺑﻌﻀ از روش ﻫﺎی ﺳﺎﺧﺘﻦ ﯾ ﺗﺎﺑﻊ ﭼ ﯿﺪه ﺳﺎز ١ﻣﻘﺎوم در ﺑﺮاﺑﺮ ﺑﺮﺧﻮرد را ﺑﺮرﺳ
ﮐﻨﯿﻢ .ﺳﺎﺧﺘﺎر ﻫﺎی Merkle-Damgardو اﺳﻔﻨﺠ ٢دو روش ﮐﻠ ﺑﺮای ﻃﺮاﺣ ﺗﻮاﺑﻊ ﭼ ﯿﺪه ﺳﺎز ﻣﻘﺎوم در ﺑﺮاﺑﺮ
ﺑﺮﺧﻮرد ﺑﺎ ﻃﻮل ورودی دﻟﺨﻮاه ﻫﺴﺘﻨﺪ.ﮐﻪ در ﻫﺮ دو روش ﺑﺮای ﺳﺎﺧﺖ ﺗﻮاﺑﻊ ﭼ ﯿﺪه ﺳﺎز از ﺗﺎﺑﻌ ﻓﺸﺮده ﺳﺎز ٣ﺑﺎ
ﻃﻮل ورودی ﺛﺎﺑﺖ اﺳﺘﻔﺎده ﻣ ﺷﻮد.
در واﻗﻊ اﯾﻦ ﺳﺎﺧﺘﺎرﻫﺎ روﺷ ﺑﺮای ﺗﺒﺪﯾﻞ ﯾ ﺗﺎﺑﻊ ﻓﺸﺮده ﺳﺎز ﻣﻘﺎوم در ﺑﺮاﺑﺮ ﺑﺮﺧﻮرد ﺑﺎ ﻃﻮل ورودی ﺛﺎﺑﺖ ،ﺑﻪ ﺗﺎﺑﻊ
ﭼ ﯿﺪه ﺳﺎز ﻣﻘﺎوم در ﺑﺮاﺑﺮ ﺑﺮﺧﻮردی اﺳﺖ ﮐﻪ ﻣ ﺗﻮاﻧﺪ روی ورودی ﺑﺎ ﻫﺮ ﻃﻮﻟ ﻋﻤﻞ ﮐﻨﺪ.
در ﺟﻠﺴﻪ ی ﮔﺬﺷﺘﻪ ﺳﺎﺧﺘﺎر Merkle-Damgardﺑﺮرﺳ ﺷﺪ .در اﯾﻦ ﺟﻠﺴﻪ ﺗﻌﺪادی از ﻣﺪﻫﺎی ﺗﻮاﺑﻊ ﻓﺸﺮده ﺳﺎز
ﺑﺮرﺳ ﻣ ﺷﻮد و ﺳﭙﺲ ﺳﺎﺧﺘﺎر اﺳﻔﻨﺠ را ﻣﻌﺮﻓ ﻣ ﮐﻨﯿﻢ.
،
m۲ = E۱−۱ n
) n (۰
در اﯾﺪه ﻗﺒﻞ ﺗﺎﺑﻊ ﻣﻘﺎوم در ﺑﺮاﺑﺮ ﺑﺮﺧﻮرد ﺧﻮاﻫﺪ ﺷﺪ.ﺑﻪ ﮐﻪ Eﯾ رﻣﺰ ﻗﺎﻟﺒ ﺑﺎ ﮐﻠﯿﺪ hاﺳﺖ .اﻣﺎ ﺑﺎ ﺗﻐﯿﯿﺮ ﮐﻮﭼ
ﺗﻮاﺑﻌ ﮐﻪ در اداﻣﻪ ﻣ آﯾﺪ دﻗﺖ ﮐﻨﯿﺪ.
١
Hash Function
٢
Sponge Construction
٣
Compress Function
۴
block cipher
١٨-١
ﺷ ﻞ :١اﺳﺘﻔﺎده از رﻣﺰ ﻗﺎﻟﺒ
ﺷ ﻞ Oseas-Meyer-Matyas :٢
١٨-٢
ﺗﺎﺑﻊ ﻓﺸﺮده ﺳﺎز Davies- Meyer ٣
اﯾﻦ ﺗﺎﺑﻊ ﻓﺸﺮده ﺳﺎز ﺷﺒﺎﻫﺖ زﯾﺎدی ﺑﺎ ﺗﺎﺑﻊ ﻗﺒﻠ دارد ،ﺗﻨﻬﺎ ﺗﻔﺎوت اﯾﻦ اﺳﺖ ﮐﻪ اﯾﻨﺒﺎر ﻫﺮ ﺑﻼک ورودی ،xi ،ﺑﻪ ﻋﻨﻮان
ورودی ﺑﻪ رﻣﺰ ﻗﺎﻟﺒ EHi−۱داده ﻣ ﺷﻮد ﮐﻪ Hi−۱ﺧﺮوﺟ ﻣﺮﺣﻠﻪ ی ﻗﺒﻞ اﺳﺖ .ﻟﺬا دارﯾﻢ:
و .H۰ = IV
۴ﺳﺎﺧﺘﺎر اﺳﻔﻨﺠ
ﺳﺎﺧﺘﺎر اﺳﻔﻨﺠ ۵ﯾ ﺳﺎﺧﺘﺎر ﺳﺎده ی ﺗ ﺮار ﺷﻮﻧﺪه اﺳﺖ ﮐﻪ ﺑﺮای ﺳﺎﺧﺘﻦ ﯾ ﺗﺎﺑﻊ Fﺑﺎ اﻧﺪازه ی ورودی و ﺧﺮوﺟ
دﻟﺨﻮاه اﺳﺘﻔﺎده ﻣ ﺷﻮد و از ﯾ ﺟﺎﯾ ﺸﺖ fﮐﻪ روی bﺑﯿﺖ ﻋﻤﻞ ﻣ ﮐﻨﺪ ﺳﺎﺧﺘﻪ ﻣ ﺷﻮد .اﯾﻦ ﺳﺎﺧﺘﺎر روی
b = r + cﺑﯿﺖ ﻋﻤﻞ ﻣ ﮐﻨﺪ ﮐﻪ ﺑﻪ اﯾﻦ rﺑﯿﺖ bitrateو ﺑﻪ cﺑﯿﺖ دﯾ ﺮ ﻇﺮﻓﯿﺖ ۶ﮔﻔﺘﻪ ﻣ ﺷﻮد.
در اﺑﺘﺪا ورودی ﯾﺎ ١و ٠ﭘﺪ ﻣ ﺷﻮد ﺗﺎ ﻃﻮل آن ﻣﻀﺮب rﺷﻮد و ﺑﻪ ﺑﻼک ﻫﺎی ﺑﺎ ﻃﻮل rﺗﺠﺰﯾﻪ ﻣ ﺷﻮد.ﺳﭙﺲ bﺑﯿﺖ
،ﺑﺮاﺑﺮ ﺻﻔﺮ ﻣﻘﺪار دﻫ ﻣ ﺷﻮﻧﺪ و ﺳﺎﺧﺘﺎر ﻣﺎ در دو ﻣﺮﺣﻠﻪ ی زﯾﺮ اﻧﺠﺎم ﻣ ﭘﺬﯾﺮد:
• در ﻣﺮﺣﻠﻪ ی ﺟﺬب ،ﺑﻼک ﺑﺎ ﻃﻮل rﺑﺎ rﺑﯿﺖ اوﻟﯿﻪ XORﻣ ﺷﻮد.ﺗﺎ rﺑﯿﺖ ﺟﺪﯾﺪ ﺑﻪ ﻫﻤﺮاه cﺑﯿﺖ ﺻﻔﺮ
اوﻟﯿﻪ ﺑﻪ ﻋﻨﻮان ورودی ﺗﺎﺑﻊ fداده ﺷﻮﻧﺪ .وﻗﺘ ﺑﺮای ﺗﻤﺎم ﺑﻼک ﻫﺎ ﻋﻤﻞ ﺑﺎﻻ ﺻﻮرت ﭘﺬﯾﺮﻓﺖ وارد ﻣﺮﺣﻠﻪ ی
ﺑﻌﺪی ﻓﺸﺮده ﺳﺎزی ﻣ ﺷﻮﯾﻢ.
۵
sponge construction
۶
capacity
١٨-٣
ﺷ ﻞ :۴ﺳﺎﺧﺘﺎر اﺳﻔﻨﺠ
• در ﻣﺮﺣﻠﻪ ی ﻓﺸﺮده ﺳﺎزی r ،ﺑﯿﺖ اوﻟﯿﻪ ﺧﺮوﺟ ﻣﺮﺣﻠﻪ ی ﻗﺒﻞ ﺑﻪ ﻫﻤﺮاه اﻋﻤﺎل ﺗﺎﺑﻊ fﺑﻪ ﺗﻌﺪاد دﻟﺨﻮاه روی
آن ،ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟ داده ﻣ ﺷﻮد .ﻧ ﺘﻪ c :ﺑﯿﺖ ﻫﺎی ﻫﺮ ﻣﺮﺣﻠﻪ ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟ ﻓﺸﺮده ﺳﺎزی اﺳﺘﻔﺎده ﻧﻤ
ﺷﻮﻧﺪ.
ﺗﺎ ﺑﻪ اﯾﻦ ﺟﺎ ﺑﻌﻀ از ﮐﺪﻫﺎی اﺻﺎﻟﺖ ﺳﻨﺠ ﻣﺒﺘﻨ ﺑﺮ رﻣﺰﻫﺎی ﻗﺎﻟﺒ را دﯾﺪه اﯾﻢ.ﯾ روش دﯾ ﺮ ﺑﺮای ﺳﺎﺧﺘﻦ اﯾﻦ ﮐﺪﻫﺎ
اﺳﺘﻔﺎده از ﺗﻮاﺑﻊ ﭼ ﯿﺪه ﺳﺎز اﺳﺖ.ﺑﺮای ﻣﺜﺎل NMACو HMACدو ﺳﺎﺧﺘﺎر ﻫﺴﺘﻨﺪ ﮐﻪ ﺑﺎ اﺳﺘﻔﺎده از Merkle-
Damgradﺳﺎﺧﺘﻪ ﻣ ﺷﻮﻧﺪ ﮐﻪ در ﻗﺴﻤﺖ ﺑﻌﺪ آﻧﻬﺎ را ﺑﺮرﺳ ﻣ ﮐﻨﯿﻢ .ﯾ از ﮐﺎرﺑﺮدﻫﺎی ﺗﻮاﺑﻊ درﻫﻢ ﺳﺎز اﺳﺘﻔﺎده
از آﻧﻬﺎ در ﺳﺎﺧﺘﻦ ﮐﺪﻫﺎی اﺻﺎﻟﺖ ﺳﻨﺠ اﺳﺖ .ﺑﻪ اﺧﺘﺼﺎر دو ﻧﻮع MACﻣﺨﺘﻠﻒ NMACو HMACرا ﮐﻪ از
ﺗﻮاﺑﻊ درﻫﻢ ﺳﺎز اﺳﺘﻔﺎده ﻣ ﮐﻨﻨﺪ را ﺑﺮرﺳ ﻣ ﮐﻨﯿﻢ.
HMAC ۶
ﯾ از اﺷ ﺎﻻت HMACاﯾﻦ اﺳﺖ ﮐﻪ IVﮐﻪ در Hاﺳﺘﻔﺎده ﻣ ﺷﻮد را ﺗﻐﯿﯿﺮ ﻣ دﻫﺪ ﮐﻪ اﯾﻦ ﻣ ﺗﻮاﻧﺪ اﺷ ﺎﻻﺗ
را در ﻣﺮﺣﻠﻪ ی اﺟﺮا ﺑﻮﺟﻮد ﺑﯿﺎورد HMAC.اﯾﻦ ﻣﺸ ﻞ را ﺣﻞ ﻣ ﮐﻨﺪ و ﻧﯿﺰ ﺑﺮﺧﻼف NMACﺑﻪ ﺟﺎی دو ﮐﻠﯿﺪ از
ﯾ ﮐﻠﯿﺪ ﺑﻬﺮه ﻣ ﮔﯿﺮد.
Hو hرا ﻣﺎﻧﻨﺪ ﻗﺴﻤﺖ ﻗﺒﻞ در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ.ﻓﺮض ﮐﻨﯿﺪ ﮐﻪ IVﯾ ﻣﻘﺪار ﺛﺎﺑﺖ ﺑﺎﺷﺪ ﻫﻤﭽﻨﯿﻦ ﻓﺮض ﮐﻨﯿﺪ ﮐﻪ opad
و ipadدو ﻣﻘﺪار ﺛﺎﺑﺖ ﺑﺼﻮرت ﻣﻘﺎﺑﻞ ﺑﺎﺷﻨﺪipad = ox۳۶۳۶..٫ ۳۶ ، opad = ox۵c۵c۵c..٫ ۵c :
١٨-۴
ﺷ ﻞ NMAC :۵
ﺷ ﻞ HMAC :۶
اﻣﺮوزه HMACﺑﻪ ﺻﻮرت ﯾ اﺳﺘﺎﻧﺪارد در آﻣﺪه و ﺑﺼﻮرت ﮔﺴﺘﺮده ای ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣ ﮔﯿﺮد.ﻋﻼوه ﺑﺮ اﯾﻨ ﻪ
ﺑﻪ ﺳﺎدﮔ ﻗﺎﺑﻞ ﭘﯿﺎده ﺳﺎزی اﺳﺖ دارای اﺛﺒﺎت ﺑﺮای اﻣﻨﯿﺖ ﻧﯿﺰ ﻫﺴﺖ.
١٨-۵
ﮐﻠﯿﺪ kﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪk ← Gen() : .١ﭼﺎﻟﺸ ﺮ ﯾ
.٢ﻣﻬﺎﺟﻢ دارای دﺳﺘﺮﺳ اوراﮐﻠ ﭘﯿﺎمﻫﺎی m۰ , m۲ ∈ Mرا اﻧﺘﺨﺎب ﮐﺮده و ﺑﻪ ﭼﺎﻟﺸ ﺮ ﻣ دﻫﺪ:
) m۰ , m۱ ← AEnck (.),Deck (.) (۱n
.۴ﭼﺎﻟﺸ ﺮ ﻣﺘﻦ رﻣﺰی ،cرﻣﺰﺷﺪه mbﺗﺤﺖ ﮐﻠﯿﺪ ،kرا ﻣﺤﺎﺳﺒﻪ ﻣ ﮐﻨﺪ و ﺑﻪ ﻣﻬﺎﺟﻢ ﻣ دﻫﺪc ← Enck (mb ) :
.۵ﻣﻬﺎﺟﻢ Aﺑﯿﺖ ̂ bرا ﺑﯿﺮون ﻣ دﻫﺪb̂ ← AEnck (.),Deck (.) (c) :
دﻗﺖ ﺷﻮد ﮐﻪ ﻣﻬﺎﺟﻢ ﻣﺠﺎز ﺑﻪ درﺧﻮاﺳﺖ رﻣﺰﮔﺸﺎﯾ ﻣﺘﻦ رﻣﺰی cﻧﯿﺴﺖ.
در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣ ﺷﻮد اﮔﺮ b̂ = bو ﺻﻔﺮ اﺳﺖ اﮔﺮ PrivKeavﻧﺸﺎن داده ﻣ ﺷﻮد ﺑﺮاﺑﺮ ﯾ
ﺧﺮوﺟ آزﻣﺎﯾﺶ ﮐﻪ ﺑﺎ A,Π
.b̂ ̸= b
روش ﺑﻪ اﯾﻦ ﺻﻮرت اﺳﺖ ﮐﻪ دو ﮐﻠﯿﺪ ﻣﺤﺮﻣﺎﻧﻪ ﺑﯿﻦ ﻓﺮﺳﺘﻨﺪه و ﮔﯿﺮﻧﺪه ﺑﻪ اﺷﺘﺮاک ﮔﺬاﺷﺘﻪ ﻣ ﺷﻮد.ﯾ از ﮐﻠﯿﺪﻫﺎ
ﻣﺮﺑﻮط ﺑﻪ ﺳﺎﺧﺘﺎر CPAاﻣﻦ و دﯾ ﺮی ﻣﺮﺑﻮط ﯾﻪ ﮐﺪ اﺻﺎﻟﺖ ﺳﻨﺠ اﺳﺖ .ﻓﺮض ﮐﻨﯿﺪ ﮐﻪ Π۱ﯾ ﺳﯿﺴﺘﻢ رﻣﺰ CPA
اﻣﻦ و Π۲ﯾ ﮐﺪ اﺻﺎﻟﺖ ﺳﻨﺠ ﺟﻌﻞ ﻧﺎﭘﺬﯾﺮ ﺑﺎﺷﺪ.آﻧ ﺎه اﮔﺮ ) c = Enck۱ (mو ) t = M ACk۲ (cﺑﺎﺷﺪ ﯾ
ﺳﯿﺴﺘﻢ رﻣﺰﮔﺬاری ﺑﺎ ) < c, t > ← Enck (mbرا ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟ دﻫﺪ آﻧ ﺎه اﯾﻦ ﺳﯿﺴﺘﻢ CCAاﻣﻦ اﺳﺖ .ﮔﯿﺮﻧﺪه
ﺑﻌﺪ از درﯾﺎﻓﺖ > < c, tﭼ ﻣ ﮐﻨﺪ ﮐﻪ آﯾﺎ ﺗ tروی cﻣﻌﺘﺒﺮ اﺳﺖ ﯾﺎ ﺧﯿﺮ و ﺳﭙﺲ اﻗﺪام ﺑﻪ رﻣﺰﮔﺸﺎﯾ ﻣ ﮐﻨﺪ.
ﻧ ﺘﻪ در اﯾﻦ روش اﯾﻦ اﺳﺖ ﮐﻪ ﻫﯿﭻ ﻣﻬﺎﺟﻢ ﭼﻨﺪﺟﻤﻠﻪ ای ﻧﻤ ﺗﻮاﻧﺪ ﯾ ﻣﺘﻦ رﻣﺰی ﻣﻌﺘﺒﺮ را ﺑﺪون داﻧﺴﺘﻦ ﮐﻠﯿﺪﻫﺎ
ﺗﻮﻟﯿﺪ ﮐﻨﺪ و ﺑﻨﺎﺑﺮاﯾﻦ ﺳﺎﺧﺘﺎر دارای اﻣﻨﯿﺖ ﻣﻮرد اﻧﺘﻈﺎر اﺳﺖ.
ﺑﻄﻮر ﺷﻬﻮدی ﻧﯿﺰ ﺑﻨﻈﺮ ﻣ رﺳﺪ اﮔﺮ ﺳﯿﺴﺘﻤ CCAاﻣﻦ ﺑﺎﺷﺪ ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﻧﺒﺎﯾﺪ ﻗﺎﺑﻠﯿﺖ ﺳﺎﺧﺘﻦ ﯾ ﻣﺘﻦ رﻣﺰی ﻣﻌﺘﺒﺮ
را داﺷﺘﻪ ﺑﺎﺷﺪ .ﺑﻨﺎﺑﺮاﯾﻦ آزﻣﺎﯾﺶ ﺟﺎﻣﻌﯿﺖ ﻣﺘﻦ رﻣﺰی را ﺑﺼﻮرت زﯾﺮ ﺗﻌﺮﯾﻒ ﻣ ﮐﻨﯿﻢ:
آزﻣﺎﯾﺶ ﺟﺎﻣﻌﯿﺖ ﻣﺘﻦ رﻣﺰی ):٨ (CI
ﺗﻌﺮﯾﻒ ١ﯾ ﺳﯿﺴﺘﻢ دارای ﺟﺎﻣﻌﯿﺖ ﻣﺘﻦ رﻣﺰی اﺳﺖ اﮔﺮ ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ ﭼﻨﺪﺟﻤﻠﻪ ای اﺣﺘﻤﺎﻟ Aﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ negl
وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ:
)Pr{P rivKA,Π (۱ ) = ۱} ≤ negl(n
CI n
ﺑﺮای ﺳﺎﺧﺘﻦ ﯾ ﺳﯿﺴﺘﻢ CCAاﻣﻦ اﯾﻦ ﮐﺎﻓ ﻧﯿﺴﺖ ﮐﻪ ﺗﻨﻬﺎ ﺟﺎﻣﻌﯿﺖ ﻣﺘﻦ رﻣﺰی داﺷﺘﻪ ﺑﺎﺷﺪ ،درواﻗﻊ ﺷﺮاﯾﻂ ﮐﺎﻓ
ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ:
ﺳﯿﺴﺘﻢ CPAاﻣﻦ ﺑﺎﺷﺪ و ﺟﺎﻣﻌﯿﺖ ﻣﺘﻦ رﻣﺰی داﺷﺘﻪ ﺑﺎﺷﺪ CCA ⇐= .اﻣﻦ اﺳﺖ.
٨
Ciphertext Integrity
١٨-۶
ﺩﺍﻧﺸﮑﺪﻩﯼ ﻋﻠﻮﻡ ﺭ ﯾﺎﺿﯽ
ﺗﺎﺑﻊ ﭼﮑﯿﺪﻩﺳﺎﺯ ﺗﺎﺑﻌﯽ ﺍﺳﺖ ﮐﻪ ﭘﯿﺎﻣﯽ ﺭﺍ ﺑﻪ ﻃﻮﻝ ﺩﻟﺨﻮﺍﻩ ﻓﺸﺮﺩﻩ ﻣﯽﮐﻨﺪ .ﺑﺮﺍﯼ ﮐﺎﺭﺑﺮﺩﻫﺎﯼ ﺭﻣﺰﻧﮕﺎﺭﯼ ،ﯾﮏ ﺗﺎﺑﻊ ﭼﮑﯿﺪﻩﺳﺎﺯ
ﻣﻄﻠﻮﺏ ﺩﺍﺭﺍﯼ ﻭﯾﮋﮔﯽﻫﺎﯼ ﺯﯾﺮ ﺍﺳﺖ:
• ﻣﻘﺎﻭﻡ ﺩﺭ ﻣﻘﺎﺑﻞ ﺑﺮﺧﻮﺭﺩ
ﺩﺭ ﺟﻠﺴﺎﺕ ﻗﺒﻠﯽ ﺑﺎ ﺗﺎﺑﻊ ﭼﮑﯿﺪﻩﺳﺎﺯ ،ﻭﯾﮋﮔﯽﻫﺎﯼ ﺁﻥ ﻭ ﻧﺤﻮﻩ ﺳﺎﺧﺖ ﺁﻥ ﺩﺭ ﺟﻠﺴﺎﺕ ﻗﺒﻠﯽ ﺁﺷﻨﺎ ﺷﺪﯾﻢ .ﺩﺭ ﺍﯾﻦ ﺟﻠﺴﻪ ﺑﺎ
ﺑﻌﻀﯽ ﺍﺯ ﺭ ﻭﺵﻫﺎﯼ ﺳﺎﺧﺖ ﮐﺪ ﺍﺻﺎﻟﺖﺳﻨﺠﯽ ﭘﯿﺎﻡ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﻮﺍﺑﻊ ﭼﮑﯿﺪﻩﺳﺎﺯ ﺑﻪ ﺭ ﻭﺵ ﻣﺮﮐﻞ ﺩﻣﮕﺎﺭﺩ ﺁﺷﻨﺎ ﻣﯽﺷﻮﯾﻢ.
ﺩﺭ ﺍﺩﺍﻣﻪ ﺑﺎ ﻃﺮﺡﻫﺎﯼ ﻣﺨﺘﻠﻒ ﮐﻪ ﻫﻤﻪ ﺑﺮ ﺍﺳﺎﺱ ﺳﺎﺧﺘﺎﺭ ﻣﺮﮐﻞ ﺩﻣﮕﺎﺭﺩ ﻫﺴﺘﻨﺪ ﻣﻮﺍﺟﻪ ﻣﯽﺷﻮﯾﻢ .ﺑﻪ ﺻﻮﺭﺕ ﻣﺮﺣﻠﻪ ﺑﻪ ﻣﺮﺣﻠﻪ
ﺿﻌﻒﻫﺎﯼ ﺳﺎﺧﺘﺎﺭﻫﺎﯼ ﻗﺒﻠﯽ ﺭﺍﺑﺮ ﻃﺮﻑ ﮐﺮﺩﻩ ﺗﺎ ﺩﺭﻧﻬﺎﯾﺖ ﺑﻪ ﯾﮏ ﮐﺪ ﺍﺻﺎﻟﺖﺳﻨﺠﯽ ﺍﻣﻦ ﺑﺮﺳﯿﻢ .ﺍﺯ ۵ﻃﺮﺡ ﭘﯿﺸﺮ ﻭ ،ﻓﻘﻂ ۲
ﻣﻮﺭﺩ ﺍﺯ ﺁﻧﻬﺎ ﻗﺎﺑﻞ ﻗﺒﻮﻝ ﻫﺴﺘﻨﺪ.
ﺍﻭﻟﯿﻦ ﺗﻼﺵ ﺑﺮﺍﯼ ﺑﺪﺳﺖ ﺁﻭﺭﺩﻥ ﮐﺪ ﺍﺻﺎﻟﺖﺳﻨﺠﯽ ﭘﯿﺎﻡ ،ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺳﺎﺧﺘﺎﺭ ﻣﺮﮐﻞ-ﺩﻣﮕﺎﺭﺩ ﻭ ﺟﺎﯾﮕﺰﯾﻨﯽ IVﺑﺎ ﮐﻠﯿﺪ ﺍﺳﺖ.
ﺩﺭ ﺍﯾﻦ ﻃﺮﺡ ،ﺍﺯ ﻃﻮﻝ ﺳﯿﮕﻨﺎﻝ ﺍﺳﺘﻔﺎﺩﻩ ﻧﻤﯽﮐﻨﯿﻢ .ﺩﺭ ﺍﺑﺘﺪﺍ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻻﯾﻪﮔﺬﺍﺭﯼ ،ﭘﯿﺎﻡ ﺩﻟﺨﻮﺍﻩ ﺭﺍ ﺑﻪ bﺑﻠﻮﮎ ﺗﺒﺪﯾﻞ ﮐﺮﺩﻩ
ﻭ ﺑﻪ ﺻﻮﺭﺕ ﺯﯾﺮ ﺑﻪ ﯾﮏ ﮐﺪ ﺍﺻﺎﻟﺖﺳﻨﺠﯽ ﭘﯿﺎﻡ ﻣﯽﺭﺳﯿﻢ.
··· t
k f f f
.
۲۳-۱
ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺣﻤﻠﻪ ﮔﺴﺘﺮﺵ ﭘﯿﺎﻡ ﺑﻪ ﺭﺍﺣﺘﯽ ﻣﯽﺗﻮﺍﻥ ﺑﻪ ﺍﯾﻦ ﻃﺮﺡ ﺣﻤﻠﻪ ﮐﺮﺩ .ﻫﻤﭽﻨﯿﻦ ﻣﻌﻤﻮﻻ ﺩﺭ ﺗﻮﺍﺑﻊ ﭼﮑﯿﺪﻩﺳﺎﺯ ﺩﻭﺳﺖ
ﺩﺍﺭ ﯾﻢ ﻣﻘﺪﺍﺭ ﺍﻭﻟﯿﻪ ﺛﺎﺑﺖ ﺑﺎﺷﺪ ﺗﺎ ﺑﺘﻮﺍﻧﯿﻢ ﺍﺯ ﯾﮏ ﺗﺎﺑﻊ ﭼﮑﯿﺪﻩﺳﺎﺯ ﺛﺎﺑﺖ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﯿﻢ ﻭ ﻧﯿﺎﺯﯼ ﺑﻪ ﺗﻐﯿﯿﺮ ﺗﺎﺑﻊ ﺑﺮﺍﯼ ﺍﺳﺘﻔﺎﺩﻩ ﻣﺠﺪﺩ
ﻧﺪﺍﺷﺘﻪ ﺑﺎﺷﯿﻢ .ﺩﺭ ﺍﯾﻦ ﻃﺮﺡ ﭼﻮﻥ ﺍﺯ ﮐﻠﯿﺪ ﺑﻪ ﻋﻨﻮﺍﻥ ﻣﻘﺪﺍﺭ ﺍﻭﻟﯿﻪ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽﮐﻨﯿﻢ ﺛﺎﺑﺖ ﻧﯿﺴﺖ .ﻭﻟﯽ ﺑﻪ ﻃﻮﺭ ﮐﻠﯽ ﺿﻌﻒ ﺍﯾﻦ
ﻃﺮﺡ ،ﻧﺪﺍﺷﺘﻦ ﺍﻣﻨﯿﺖ ﮐﺎﻓﯽ ﺍﺳﺖ.
ﺩﺭ ﺍﺩﺍﻣﻪ ﺗﻼﺷﻤﺎﻥ ﺑﺮﺍﯼ ﺟﻠﻮﮔﯿﺮﯼ ﺍﺯ ﺣﻤﻠﻪ ﮔﺴﺘﺮﺵ ﻣﺘﻦ ،ﻃﻮﻝ ﭘﯿﺎﻡ ﺭﺍ ﺩﺭ ﺍﻧﺘﻬﺎ ﺍﺿﺎﻓﻪ ﻣﯽﮐﻨﯿﻢ .ﻭﻟﯽ ﺩﻭﺑﺎﺭﻩ ﺍﯾﻦ ﻃﺮﺡ ﻫﻢ
ﺩﺭ ﻣﻘﺎﺑﻞ ﺣﻤﻠﻪ ﮔﺴﺘﺮﺵ ﻣﺘﻦ ﻣﻘﺎﻭﻡ ﻧﯿﺴﺖ.
··· t
k f f f f
.
ﺍﯾﻦ ﻣﺪﻝ ﺑﻪ ﻫﯿﭻ ﻭﺟﻪ ﻣﻄﻠﻮﺏ ﻧﯿﺴﺖ .ﺯﯾﺮﺍ ﺍﻭﻻ ﺍﻣﻨﯿﺖ ﻧﺪﺍﺭﺩ .ﺛﺎﻧﯿﺎ ﺩﺭ ﺗﺎﺑﻊ ﭼﮑﯿﺪﻩ ﺳﺎﺯ ﺩﻭﺳﺖ ﺩﺍﺭ ﯾﻢ ﻗﺴﻤﺖ IVﯾﮏ ﻋﺪﺩ
ﺛﺎﺑﺖ ﺑﺎﺷﺪ ﻧﻪ ﻣﺘﻐﯿﺮ.
ﺩﺭ ﻃﺮﺡ ﻗﺒﻠﯽ ﺩﯾﺪﯾﻢ ﮐﻪ ﻓﻘﻂ ﺑﺎ ﺍﺿﺎﻓﻪ ﮐﺮﺩﻥ ﻃﻮﻝ ﭘﯿﺎﻡ ﻧﻤﯽﺗﻮﺍﻥ ﺩﺭ ﺑﺮﺍﺑﺮ ﺣﻤﻠﻪ ﻣﻘﺎﻭﻡ ﺑﻮﺩ .ﺩﺭ ﺍﯾﻦ ﻃﺮﺡ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺩﻭ
ﮐﻠﯿﺪ k۱ﻭ k۲ﻣﯽﺗﻮﺍﻥ ﺍﻣﻨﯿﺖ ﮐﺎﻓﯽ ﺭﺍ ﺑﺪﺳﺖ ﻣﯽﺁﻭﺭﺩ .ﺍﯾﻦ ﻃﺮﺡ N M ACﻧﺎﻣﯿﺪﻩ ﻣﯽﺷﻮﺩ.
ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻃﺮﺡ ﻗﺒﻠﯽ ﺗﻮﺍﻧﺴﺘﯿﻢ ﺍﻣﻨﯿﺖ ﻻﺯﻡ ﺭﺍ ﺑﺪﺳﺖ ﺁﻭﺭﯾﻢ .ﻭﻟﯽ ﻫﻤﺎﻧﻄﻮﺭ ﮐﻪ ﺩﺭ ﺗﻮﺿﯿﺤﺎﺕ ﻃﺮﺡ ﺍﻭﻝ ﮔﻔﺘﻪ ﺷﺪ .ﺩﻭﺳﺖ
ﺩﺍﺭ ﯾﻢ ﻣﻘﺪﺍﺭ ﺍﻭﻟﯿﻪ ،ﻣﻘﺪﺍﺭ ﺛﺎﺑﺘﯽ ﺑﺎﺷﺪ .ﺑﺮﺍﯼ ﺭﺳﯿﺪﻥ ﺑﻪ ﺍﯾﻦ ﻫﺪﻑ ﻃﺮﺡ ﺯﯾﺮ ﺭﺍ ﭘﯿﺎﺩﻩﺳﺎﺯﯼ ﻣﯽﮐﻨﯿﻢ.
k m۱ ··· mb ||m
··· t
IV f f f f
.
ﻭﻟﯽ ﺑﺎ ﺗﻐﯿﯿﺮﺍﺗﯽ ﮐﻪ ﺩﺭ ﺍﯾﻦ ﻃﺮﺡ ﺩﺍﺩﯾﻢ ﺩﻭﺑﺎﺭﻩ ﺑﺎ ﺣﻤﻠﻪ ﮔﺴﺘﺮﺵ ﻣﺘﻦ ،ﻣﯽﺗﻮﺍﻥ ﺑﻪ ﺍﯾﻦ ﻃﺮﺡ ﺣﻤﻠﻪ ﮐﺮﺩ.
۲۳-۲
ﻃﺮﺡ ﭘﯿﺸﻨﻬﺎﺩﯼ ﭘﻨﺠﻢ ۵.۲
ﺍﯾﻦ ﻃﺮﺡ ﻫﺮ ﺩﻭ ﻭﯾﮋﮔﯽ ﻣﻄﻠﻮﺏ ،ﺍﻣﻨﯿﺖ ﻭ ﻣﻔﺪﺍﺭ ﺍﻭﻟﯿﻪ ﺛﺎﺑﺖ ،ﺭﺍ ﺩﺍﺭﺍ ﺍﺳﺖ .ﺍﯾﻦ ﻣﺪﻝ HM ACﻧﺎﻣﯿﺪﻩ ﻣﯽﺷﻮﺩ.
IV f
ﻫﻤﺎﻧﻄﻮﺭ ﮐﻪ ﺩﺭ ﺟﻠﺴﺎﺕ ﻗﺒﻞ ﺧﻮﺍﻧﺪﯾﻢ ،ﺩﺭ ﺍﻣﻨﯿﺖ ﺟﻌﻞﻧﺎﭘﺬﯾﺮﯼ ﺿﻌﯿﻒ ،ﺑﻪ ﺳﯿﺴﺘﻢ ﮐﺪ ﺍﺻﺎﻟﺖﺳﻨﺠﯽ ﭘﯿﺎﻡ ،ﻧﻤﯽﺗﻮﺍﻥ ﭘﯿﺎﻡ
ﺗﮑﺮﺍﺭﯼ ﺑﺎ ﺑﺮﭼﺴﺐ ﺟﺪﯾﺪ ،ﺩﺍﺩ .ﻭﻟﯽ ﺩﺭ ﺍﻣﻨﯿﺖ ﺟﻌﻞﻧﺎﭘﺬﯾﺮﯼ ﻗﻮﯼ ،ﺳﯿﺴﺘﻢ ﮐﺪ ﺍﺻﺎﻟﺖ ﺳﻨﺠﯽ ﭘﯿﺎﻡ ﺑﺎﯾﺪ ﺍﻣﻨﯿﺖ ﻗﻮﯼ ﺩﺍﺷﺘﻪ
ﺑﺎﺷﺪ ﮐﻪ ﺣﺘﯽ ﺑﺎ ﭘﺮﺳﻤﺎﻥ ﭘﯿﺎﻡ ﺗﮑﺮﺍﺭﯼ ﺑﺎ ﺑﺮﭼﺴﺐ ﺟﺪﯾﺪ ،ﺳﯿﺴﺘﻢ ﺷﮑﺴﺘﻪ ﻧﺸﻮﺩ .ﺁﺯﻣﺎﯾﺶ ﺁﻥ ﺑﻪ ﺻﻮﺭﺕ ﺯﯾﺮ ﺍﺳﺖ:
• ﺣﻤﻠﻪ ﮐﻨﻨﺪﻩ Aﮐﻪ ﻭﺭﻭﺩﯼ ۱nﺩﺭ ﯾﺎﻓﺖ ﻣﯽﮐﻨﺪ ﻭ ﺩﺳﺘﺮﺳﯽ ﺍﻭﺭﺍﮐﻠﯽ ﺑﻪ ) M ack (.ﺩﺍﺭﺩ ﺩﺭ ﻧﻬﺎﯾﺖ ⟩ ⟨m, tﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ
ﺧﺮ ﻭﺟﯽ ﺑﺪﻫﺪ ⟨m, t⟩ .ﺧﺮ ﻭﺟﯽ ﻧﺒﺎﯾﺪ ﻫﻢ ﭘﯿﺎﻡ ﻭ ﻫﻢ ﺑﺮﭼﺴﺐ ﺗﮑﺮﺍﺭﯼ ﺑﺎﺷﺪ .ﻣﺸﮑﻠﯽ ﻧﺪﺍﺭﺩ ﺍﮔﺮ ﭘﯿﺎﻡ ﺗﮑﺮﺍﺭﯼ ﺑﺎﺷﺪ
ﻭﻟﯽ ﺑﺮﭼﺴﺐ ﺗﮑﺮﺍﺭﯼ ﻧﺒﺎﺷﺪ.
• ﺧﺮ ﻭﺟﯽ ﺁﺯﻣﺎﯾﺶ ﺑﺮﺍﺑﺮ ۱ﺍﺳﺖ ﺍﮔﺮ V erf yk (m, t) = ۱ﺩﺭ ﻏﯿﺮ ﺍﯾﻦ ﺻﻮﺭﺕ ﺑﺮﺍﺑﺮ ۰ﺍﺳﺖ.
ﺗﻌﺮ ﯾﻒ M ac ۱ﺩﺍﺭﺍﯼ ﺍﻣﻨﯿﺖ ﺟﻌﻞﻧﺎﭘﺬﯾﺮﯼ ﻗﻮﯼ ﺍﺳﺖ ﻫﺮﮔﺎﻩ ﺑﻪ ﺍﺯﺍﯼ ﻫﺮ ﺣﻤﻠﻪ ﮐﻨﻨﺪﻩ Aﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﺗﺼﺎﺩﻓﯽ ﻏﯿﺮ ﯾﮑﻨﻮﺍﺧﺖ
،ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ) ϵ(nﻭﺟﻮﺩ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ:
۲۳-۳
ﺍﻣﻨﯿﺖ ﻣﺘﻦ ﺭﻣﺰﯼ ﺍﻧﺘﺨﺎﺏﺷﺪﻩ ۴
ﻫﻤﺎﻧﻄﻮﺭ ﮐﻪ ﺩﺭ ﺟﻠﺴﺎﺕ ﻗﺒﻞ ﻣﺸﺎﻫﺪﻩ ﮐﺮﺩﯾﻢ ،ﺁﺯﻣﺎﯾﺶ ﺍﻣﻨﯿﺖ ﻣﺘﻦ ﺭﻣﺰﯼ ﺍﻧﺘﺨﺎﺑﯽ ﺍﺯ ﻗﻮﯼﺗﺮ ﯾﻦ ﺍﻣﻨﯿﺖﻫﺎ ﺩﺭ ﺑﯿﻦ ﺗﻤﺎﻡ
ﺍﻣﻨﯿﺖﻫﺎﯾﯽ ﺍﺳﺖ ﮐﻪ ﻣﻄﺎﻟﻌﻪ ﮐﺮﺩﯾﻢ .ﺁﺯﻣﺎﯾﺶ ﻣﺮﺑﻮﻃﻪ ﺑﻪ ﺻﻮﺭﺕ ﺯﯾﺮ ﺍﺳﺖ:
• ﺣﻤﻠﻪ ﮐﻨﻨﺪﻩ Aﻭﺭﻭﺩﯼ ۱nﺭﺍ ﺩﺭ ﯾﺎﻓﺖ ﻣﯽﮐﻨﺪ .ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺩﺳﺘﺮﺳﯽ ﺍﻭﺭﺍﮐﻠﯽ ﺑﻪ ﺭﻣﺰﮔﺸﺎ ﻭ ﺭﻣﺰﮐﻨﻨﺪﻩ ﺩﻭ ﭘﯿﺎﻡ m۱
ﻭ m۰ﺭﺍ ﮐﻪ ﻃﻮﻝ ﯾﮑﺴﺎﻧﯽ ﺩﺍﺭﻧﺪ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺧﺮ ﻭﺟﯽ ﺑﯿﺮ ﻭﻥ ﻣﯽﺩﻫﺪ.
• ﺑﯿﺖ bﺑﻪ ﺻﻮﺭﺕ ﮐﺎﻣﻼ ﺗﺼﺎﺩﻓﯽ ﺍﺯ } {۰, ۱ﺍﻧﺘﺨﺎﺏ ﻣﯽﺷﻮﺩ.
• ﭘﯿﺎﻡ mbﺭﺍ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ) Enck (mbﺑﻪ ﺭﻣﺰ cﺗﺒﺪﯾﻞ ﮐﺮﺩﻩ ﻭ ﺑﻪ ﺣﻤﻠﻪ ﮐﻨﻨﺪﻩ ﻣﯽﺩﻫﯿﻢ.
• ﺣﻤﻠﻪ ﮐﻨﻨﺪﻩ ﺑﺎ ﺩﺭ ﯾﺎﻓﺖ ﻣﺘﻦ ﺭﻣﺰ ﺷﺪﻩ cﺑﻪ ﻋﻨﻮﺍﻥ ﺧﺮ ﻭﺟﯽ ﻭ ﻫﻤﭽﻨﯿﻦ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻗﺎﺑﻠﯿﺖ ﺩﺳﺘﺮﺳﯽ ﺍﻭﺭﺍﮐﻠﯽ ﺑﻪ ﺭﻣﺰ
ﮐﻨﻨﺪﻩ ﻭ ﺭﻣﺰﮔﺸﺎ ﺑﯿﺖ b′ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺧﺮ ﻭﺟﯽ ﻣﯽﺩﻫﺪ .ﺣﻤﻠﻪ ﮐﻨﻨﺪﻩ ﺣﻖ ﭘﺮﺳﻤﺎﻥ ﻣﺘﻦ ﺭﻣﺰ ﺷﺪﻩ cﺭﺍ ﺍﺯ ﺭﻣﺰﮔﺸﺎ ﻧﺪﺍﺭﺩ.
ﺗﻌﺮ ﯾﻒ ۲ﺳﯿﺴﺘﻢ ﺭﻣﺰ ﻣﺘﻘﺎﺭﻥ ﺩﺍﺭﺍﯼ ﺍﻣﻨﯿﺖ ﻣﺘﻦ ﺭﻣﺰ ﺍﻧﺘﺨﺎﺏﺷﺪﻩ ﺍﺳﺖ ﺍﮔﺮ ﺑﻪ ﺍﺯﺍﯼ ﻫﻤﻪﯼ ﺣﻤﻠﻪ ﮐﻨﻨﺪﻩﻫﺎﯼ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ
ﺗﺼﺎﺩﻓﯽ ﻏﯿﺮ ﯾﮑﻨﻮﺍﺧﺖ ،ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ) ϵ(nﻭﺟﻮﺩ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ :
1
P[P rivKA,π
CCA
(n) = 1] ≤ ϵ(n) + )(4
2
ﺍﻣﻨﯿﺖ ﺟﺎﻣﻌﯿﺖ ﺭﻣﺰﯼ ،ﻗﻮﯼﺗﺮ ﯾﻦ ﻧﻮﻉ ﺍﻣﻨﯿﺖ ﺍﺳﺖ .ﺍﯾﻦ ﺍﻣﻨﯿﺖ ﺍﯾﻦ ﻗﺎﺑﻠﯿﺖ ﺭﺍ ﻣﯽﺩﻫﺪ ﮐﻪ ﺣﻤﻠﻪ ﮐﻨﻨﺪﻩ ﻧﺘﻮﺍﻧﺪ ﻣﺘﻦ ﺭﻣﺰ ﺷﺪﻩ
ﻗﺎﺑﻞ ﻗﺒﻮﻟﯽ ﺗﻮﻟﯿﺪ ﮐﻨﺪ .ﺁﺯﻣﺎﯾﺶ ﺑﻪ ﺻﻮﺭﺕ ﺯﯾﺮ ﺍﺳﺖ:
• ﺣﻤﻠﻪ ﮐﻨﻨﺪﻩ ،Aﻭﺭﻭﺩﯼ ۱nﺭﺍ ﺩﺭ ﯾﺎﻓﺖ ﻣﯽ ﮐﻨﺪ ﻭ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻗﺎﺑﻠﯿﺖ ﺩﺳﺘﺮﺳﯽ ﺍﻭﺭﺍﮐﻠﯽ ﺑﻪ ﺭﻣﺰﮐﻨﻨﺪﻩ ﻭ ﺭﻣﺰﮔﺸﺎ ،ﻣﺘﻦ
ﺭﻣﺰﺷﺪﻩ cﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺧﺮ ﻭﺟﯽ ﻣﯽﺩﻫﺪ.
• ﺧﺮ ﻭﺟﯽ ﺁﺯﻣﺎﯾﺶ ۱ﺍﺳﺖ ﺍﮔﺮ ﻭﺗﻨﻬﺎ ﺍﮔﺮ ۲ﺷﺮﻁ ﺯﯾﺮ ﺑﺮﻗﺮﺍﺭ ﺑﺎﺷﺪ:
ﺗﻌﺮ ﯾﻒ ۳ﺳﯿﺴﺘﻢ ﺭﻣﺰ ﻣﺘﻘﺎﺭﻥ ﺩﺍﺭﺍﯼ ﺍﻣﻨﯿﺖ ﺟﺎﻣﻌﯿﺖ ﺭﻣﺰﯼ ﺍﺳﺖ ﺍﮔﺮ ﺑﻪ ﺍﺯﺍﯼ ﻫﻤﻪﯼ ﺣﻤﻠﻪ ﮐﻨﻨﺪﻩﻫﺎﯼ ﭼﻨﺪﺟﻤﻠﻪﺍﯼ ﺗﺼﺎﺩﻓﯽ
ﻏﯿﺮ ﯾﮑﻨﻮﺍﺧﺖ ،ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ) ϵ(nﻭﺟﻮﺩ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ :
P[P rivKA,π
CI
)(n) = 1] ≤ ϵ(n )(5
۲۳-۴
ﻃﺮﺍﺣﯽ ﺳﯿﺴﺘﻤﯽ ﺑﺎ ﺍﻣﻨﯿﺖ ﻣﺘﻦ ﺭﻣﺰﯼ ﺍﻧﺘﺨﺎﺑﯽ ﻭ ﺟﺎﻣﻌﯿﺖ ﺭﻣﺰﯼ ۶
ﺩﺭ ﺍﯾﻦ ﻗﺴﻤﺖ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺁﻧﭽﻪ ﺗﺎﮐﻨﻮﻥ ﺁﻣﻮﺧﺘﻪﺍﯾﻢ ﻣﯽ ﺧﻮﺍﻫﯿﻢ ﺳﯿﺴﺘﻢ ﺭﻣﺰﯼ ﻣﺘﻘﺎﺭﻥ ﺑﺎ ﺍﻣﻨﯿﺖ ﻣﺘﻦ ﺭﻣﺰﯼ ﺍﻧﺘﺨﺎﺑﯽ ﻭ
ﺟﺎﻣﻌﯿﺖ ﺭﻣﺰﯼ ﻃﺮﺍﺣﯽ ﮐﻨﯿﻢ .ﻓﺮﺽ ﻣﯽﮐﻨﯿﻢ ﮐﻪ ﺳﯿﺴﺘﻢ ﺭﻣﺰ ﻣﺘﻘﺎﺭﻥ πEﺩﺍﺭﺍﯼ ﺍﻣﻨﯿﺖ CP Aﺍﺳﺖ .ﻫﻤﭽﻨﯿﻦ M AC
ﺩﺍﺭ ﯾﻢ ﮐﻪ ﺩﺍﺭﺍﯼ ﺍﻣﻨﯿﺖ ﺟﻌﻞﻧﺎﭘﺬﯾﺮﯼ ﻗﻮﯼ ﺍﺳﺖ .ﺑﺎ ﺗﺮﮐﯿﺐ ﺍﯾﻦ ﺩﻭ ﺳﯿﺴﺘﻢ ﻣﯽﺧﻮﺍﻫﯿﻢ ﯾﮏ ﺳﯿﺴﺘﻢ ﮐﻪ ﺩﺍﺭﺍﯼ ﺍﻣﻨﯿﺖ ﻣﺘﻦ
ﺭﻣﺰﯼ ﺍﻧﺘﺨﺎﺑﯽ ﻭ ﺟﺎﻣﻌﯿﺖ ﺭﻣﺰﯼ ﺍﺳﺖ ،ﻃﺮﺍﺣﯽ ﮐﻨﯿﻢ ۳ .ﺭ ﻭﺵ ﻋﻤﺪﻩ ﺑﺮﺍﯼ ﺍﻧﺠﺎﻡ ﺍﯾﻦ ﮐﺎﺭ ﻭﺟﻮﺩ ﺩﺍﺭﺩ ﮐﻪ ﻓﻘﻂ ﯾﮑﯽ ﺍﺯ ﺁﻧﻬﺎ
ﻣﻄﻠﻮﺏ ﺍﺳﺖ.
۱.۶ﺭ ﻭﺵ ﺍﻭﻝ
ﺩﺭ ﺍﯾﻦ ﺭ ﻭﺵ ﺍﺯ ﻫﺮ ﺩﻭ ﺳﯿﺴﺘﻢ ﺑﻪ ﺻﻮﺭﺕ ﻣﻮﺍﺯﯼ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽﮐﻨﯿﻢ .ﺑﻪ ﺍﯾﻦ ﺭ ﻭﺵ M ac and Encryptﮔﻔﺘﻪ ﻣﯽﺷﻮﺩ .ﺑﻪ
ﺻﻮﺭﺕ ﺟﺪﺍﮔﺎﻧﻪ ﻫﺮ ﮐﺪﺍﻡ ﺍﺯ ﺍﻟﮕﻮﺭﯾﺘﻢﻫﺎ ﺭﺍ ﭘﯿﺎﺩﻩ ﺳﺎﺯﯼ ﻣﯽﮐﻨﯿﻢ:
ﺩﺭ ﻧﺘﯿﺠﻪ ،ﺧﺮ ﻭﺟﯽ ﺍﯾﻦ ﺭ ﻭﺵ ﻣﺘﻦ ﺭﻣﺰﺷﺪﻩ ⟩ c′ = ⟨c, tﻣﯽﺑﺎﺷﺪ .ﺍﯾﻦ ﺭ ﻭﺵ ﺍﻣﻦ ﻧﯿﺴﺖ ﺯﯾﺮﺍ ﺩﺭ ﺍﻟﮕﻮﺭﯾﺘﻢ M acﻣﻤﮑﻦ
ﺍﺳﺖ ﺍﻃﻼﻋﺎﺗﯽ ﺍﺯ ﻣﺘﻦ ﺍﺻﻠﯽ ﻭﺟﻮﺩ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ﻭ ﺣﻤﻠﻪ ﮐﻨﻨﺪﻩ ﺑﻪ ﺭﺍﺣﺘﯽ ﻣﯽﺗﻮﺍﻧﺪ ﺑﻪ ﺁﻥ ﺩﺳﺘﺮﺳﯽ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ.
۲.۶ﺭ ﻭﺵ ﺩﻭﻡ
ﺩﺭ ﺍﯾﻦ ﺭ ﻭﺵ ،ﺍﺯ ﺍﻟﮕﻮﺭﯾﺘﻢ M ACﻗﺒﻞ ﺍﺯ ﺳﯿﺴﺘﻢ ﺭﻣﺰ ﻣﺘﻘﺎﺭﻥ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽﮐﻨﯿﻢ .ﺑﻪ ﺍﯾﻦ ﺭ ﻭﺵ M ac then Encryptﮔﻔﺘﻪ
ﻣﯽﺷﻮﺩ .ﺭ ﻭﺵ ﺑﻪ ﺻﻮﺭﺕ ﺯﯾﺮ ﺍﺳﺖ:
• ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ t ← M ack۲ (m) :M ac
ﺩﺭ ﻧﻬﺎﯾﺖ ﺑﻪ ﺭ ﻭﺵ ﻣﻄﻠﻮﺏ ﻣﯽﺭﺳﯿﻢ .ﺩﺭ ﺍﯾﻦ ﺭ ﻭﺵ ﺍﺯ ﺍﻟﮕﻮﺭﯾﺘﻢ M acﺑﻌﺪ ﺍﺯ ﺳﯿﺴﺘﻢ ﺭﻣﺰ ﻣﺘﻘﺎﺭﻥ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽﮐﻨﯿﻢ .ﺑﻪ ﺍﯾﻦ
ﺭ ﻭﺵ Encrypt then M acﮔﻔﺘﻪ ﻣﯽﺷﻮﺩ .ﺭ ﻭﺵ ﺑﻪ ﺻﻮﺭﺕ ﺯﯾﺮ ﺍﺳﺖ:
ﺧﺮ ﻭﺟﯽ ﺍﯾﻦ ﺭ ﻭﺵ ⟩ c′ = ⟨c, tﺍﺳﺖ .ﻣﯽﺗﻮﺍﻥ ﺍﺛﺒﺎﺕ ﮐﺮﺩ ﮐﻪ ﺍﯾﻦ ﺭ ﻭﺵ ﺍﻣﻨﯿﺖ ﺩﻟﺨﻮﺍﻩ ﻣﺎ ﺭﺍ ﺩﺍﺭﺍ ﺍﺳﺖ).ﺍﺛﺒﺎﺕ ﺍﻣﻨﯿﺖ ﺑﻪ
ﺧﻮﺍﻧﻨﺪﻩ ﻭﺍﮔﺬﺍﺭ ﻣﯽﺷﻮﺩ(.
۲۳-۵
ﺑﻪ ﻧﺎم ﺧﺪا
در ﺟﻠﺴﺎت ﻗﺒﻞ دﯾﺪﯾﻢ ﮐﻪ ﭼ ﻮﻧﻪ ﺑﺎ اﺳﺘﻔﺎده از رﻣﺰﻧ ﺎری ﺗﻮﺳﻂ ﯾ ﮐﻠﯿﺪ ﺧﺼﻮﺻ ،١ﻣ ﺗﻮاﻧﯿﻢ در ﯾ ﮐﺎﻧﺎل ﻧﺎاﻣﻦ،
ﯾ ارﺗﺒﺎط اﻣﻦ داﺷﺘﻪ ﺑﺎﺷﯿﻢ ﮐﻪ ﺗﺤﺖ آن از دادهﻫﺎی ارﺳﺎﻟ ،در ﺑﺮاﺑﺮ ﺣﻤﻼت ﻣﻬﺎﺟﻢ ٢ﻣﺤﺎﻓﻈﺖ ﺷﻮد .اﮐﻨﻮن ،ﻫﺪف،
ﻣﻌﺮﻓ ﺳﯿﺴﺘﻢﻫﺎی رﻣﺰ ﻧﺎﻣﺘﻘﺎرن ٣ﯾﺎ ﻣﺪلﻫﺎی رﻣﺰﻧ ﺎری ﮐﻠﯿﺪ ﻋﻤﻮﻣ ۴اﺳﺖ .در اﯾﻦ راﺳﺘﺎ ،اﺑﺘﺪا ،ﺑﻪ ﻣﻌﺮﻓ ﻣﻔﻬﻮم
ﺗﺒﺎدل ﮐﻠﯿﺪ ۵و ﻃﺮاﺣ ﭘﺮوﺗ ﻞﻫﺎی ﺗﺒﺎدل ﮐﻠﯿﺪ اﻣﻦ ﻣ ﭘﺮدازﯾﻢ.
k۱,۲
M.۱ M۲
k۱,۴ k۲,۳
k۱,۳ k۲,۴
k۳,۴
M۳ M۴
ﻣﺸ ﻞ اﯾﻦ روش ،ﻣﺪﯾﺮﯾﺖ ﺗﻌﺪاد زﯾﺎد ﮐﻠﯿﺪﻫﺎی ﺑﻪ اﺷﺘﺮاک ﮔﺬاﺷﺘﻪ ﺷﺪه اﺳﺖ .در ﺣﻘﯿﻘﺖ ،در ﯾ ﺷﺒ ﻪی -nﮐﺎرﺑﺮه
ﻫﺮ ﮐﺎرﺑﺮ ﺑﺎﯾﺪ ﺑﺮای ﺑﺮﻗﺮاری ارﺗﺒﺎط ﺑﺎ ﺳﺎﯾﺮ ﮐﺎرﺑﺮان O(n) ،ﮐﻠﯿﺪ را ذﺧﯿﺮه ﺳﺎزد ﮐﻪ اﯾﻦ ﺧﻮب ﻧﯿﺴﺖ؛ زﯾﺮا ،ﻫﺮ ﭼﻪ
ﺗﻌﺪاد ﮐﻠﯿﺪﻫﺎ ﺑﯿﺸﺘﺮ ﺑﺎﺷﺪ ،ﻣﺤﺎﻓﻈﺖ از آﻧﻬﺎ دﺷﻮارﺗﺮ ﺑﻮده و اﺣﺘﻤﺎل دﺳﺘﯿﺎﺑ ﺑﻪ ﺗﻌﺪادی از آﻧﻬﺎ ﺑﺮای ﻣﻬﺎﺟﻢ ﺑﯿﺸﺘﺮ
١
secret key
٢
adversary
٣
asymmetric
۴
public-key encryption schemes
۵
key exchange
١٩-١
اﺳﺖ .ﺑﺮای رﻓﻊ اﯾﻦ ﻣﻌﻀﻞ ،روش دﯾ ﺮی را ﻣﻌﺮﻓ ﻣ ﮐﻨﯿﻢ.
روش دوم ﯾ ﺷﺨﺺ ﺛﺎﻟﺚ ﻣﻌﺘﻤﺪ ) (۶ TTPوارد ﻋﻤﻞ ﻣ ﺷﻮد ﮐﻪ ﻧﻘﺶ ﯾ ﻣﺮﮐﺰ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ ) (٧ KDCرا ﺑﺎزی
ﻣ ﮐﻨﺪ .ﺑﻄﻮر ﻣﺜﺎل اﮔﺮ ﭼﻬﺎر ﮐﺎرﺑﺮ داﺷﺘﻪ ﺑﺎﺷﯿﻢ ،ﻫﺮ ﯾ از ﮐﺎرﺑﺮان ،ﺑﺼﻮرت زﯾﺮ ﮐﻠﯿﺪ ﺧﻮد را ﺑﺎ او ﺑﻪ اﺷﺘﺮاک
ﻣ ﮔﺬارﻧﺪ:
.
Alice Bob
kA kB
TTP
kE k۴
Eve M۴
در اﯾﻦ روش ،ﻫﺮ ﮐﺎرﺑﺮ ﺗﻨﻬﺎ ﺑﺎﯾﺪ ﯾ ﮐﻠﯿﺪ را ذﺧﯿﺮه ﺳﺎزد .ﻓﺮض ﮐﻨﯿﻢ ﮐﻪ Aliceﻣ ﺧﻮاﻫﺪ ﺑﺎ Bobارﺗﺒﺎط ﺑﺮﻗﺮار ﮐﻨﺪ.
ﺑﺪﯾﻦ ﻣﻨﻈﻮر ،ﺑﺎﯾﺪ از ﯾ ﭘﺮوﺗ ﻞ ﺗﺒﺎدل ﮐﻠﯿﺪ ﻣﻄﻤﺌﻦ اﺳﺘﻔﺎده ﮐﻨﺪ ،ﺗﺎ ﮐﻠﯿﺪ ﺧﺼﻮﺻ KABرا ﺑﺎ Bobﺑﻪ اﺷﺘﺮاک
ﮔﺬارد .اﯾﻦ ﻋﻤﻞ ،ﺑﻪ ﺷﯿﻮهی زﯾﺮ اﻧﺠﺎم ﻣ ﺷﻮد:
ﻃﺒﻖ ﺷ ﻞ ﺑﺎﻻ kA ،و kBﺑﻪ ﺗﺮﺗﯿﺐ ﮐﻠﯿﺪﻫﺎی ﺧﺼﻮﺻ Aliceو Bobﻫﺴﺘﻨﺪ ،ﮐﻪ ﻫﺮ دو در اﺧﺘﯿﺎر TTPﻗﺮار دارﻧﺪ.
اﺑﺘﺪا Alice ،ﯾ ﭘﯿﺎم ،ﻣﺒﻨ ﺑﺮ اﯾﻨ ﻪ ﺗﻤﺎﯾﻞ دارد ﺑﺎ Bobارﺗﺒﺎط ﺑﺮﻗﺮار ﮐﻨﺪ ،ﺑﺮای TTPارﺳﺎل ﻣ ﮐﻨﺪ .ﺳﭙﺲ TTP
ﮐﻠﯿﺪ ﺗﺼﺎدﻓ kABرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ و ﺑﻌﻨﻮان ﭘﺎﺳﺦ ،ﭘﯿﺎﻣ را ﺑﺮای Aliceﻣ ﻓﺮﺳﺘﺪ ﮐﻪ دارای دو ﻗﺴﻤﺖ اﺳﺖ :ﻗﺴﻤﺖ
اول EnckA (kAB ) ،اﺳﺖ ﮐﻪ ﺑﺎ اﺳﺘﻔﺎده از ﮐﻠﯿﺪ ﺧﺼﻮﺻ ،Aliceﺑﺪﺳﺖ ﻣ آﯾﺪ .ﻗﺴﻤﺖ دوم ﭘﯿﺎﻣ ﮐﻪ TTPﺑﺮای
Aliceارﺳﺎل ﻣ ﮐﻨﺪ ،ﮔﺬراﻧﻪ ٨ﻧﺎﻣﯿﺪه ﻣ ﺷﻮد و ﺑﺎ اﺳﺘﻔﺎده از ﮐﻠﯿﺪ ﺧﺼﻮﺻ ،Bobﺑﺸ ﻞ زﯾﺮ ﻣﺤﺎﺳﺒﻪ ﻣ ﺷﻮد:
ارﺗﺒﺎط Aliceﺑﺎ ،TTPﭘﺲ از درﯾﺎﻓﺖ ﻣﺘﻦ رﻣﺰی ﻣﺨﺼﻮص ﺑﻪ ﺧﻮدش )ﻗﺴﻤﺖ اول ﭘﯿﺎم درﯾﺎﻓﺘ ( و ﯾ ﮔﺬراﻧﻪ
ﺑﺮای ) Bobﻗﺴﻤﺖ دوم ﭘﯿﺎم درﯾﺎﻓﺘ ( ،ﺧﺎﺗﻤﻪ ﻣ ﯾﺎﺑﺪ .ﺳﭙﺲ Alice ،اﺑﺘﺪا ﻗﺴﻤﺖ اول ﭘﯿﺎم را ،ﺑﺎ ﮐﻠﯿﺪ ﺧﺼﻮﺻ اش
رﻣﺰﮔﺸﺎﯾ ﮐﺮده و kABرا ﺑﺪﺳﺖ ﻣ آورد و در اداﻣﻪ ﮔﺬراﻧﻪ را ﺑﺮای Bobارﺳﺎل ﻣ ﮐﻨﺪ Bob .ﻧﯿﺰ ﺑﺎ اﺳﺘﻔﺎده از ﮐﻠﯿﺪ
ﺧﺼﻮﺻ اش ،ﮔﺬراﻧﻪ درﯾﺎﻓﺘ را رﻣﺰﮔﺸﺎﯾ ﮐﺮده و ﮐﻠﯿﺪ kABرا ﺑﺪﺳﺖ ﻣ آورد .ﺣﺎل Alice ،و ،Bobﯾ ﮐﻠﯿﺪ
اﺧﺘﺼﺎﺻ ﻣﺸﺘﺮک و اﻣﻦ دارﻧﺪ ،ﮐﻪ ﺗﻮﺳﻂ آن ﻗﺎدرﻧﺪ ﺑﺎ ﯾ ﺪﯾ ﺮ ارﺗﺒﺎط ﺑﺮﻗﺮار ﮐﻨﻨﺪ .ﺷﻤﺎﯾ از ﮐﻞ ﻋﻤﻠﯿﺎت ﻣﺬﮐﻮر در
ﺷ ﻞ زﯾﺮ ﻧﺸﺎن داده ﺷﺪه اﺳﺖ:
۶
trusted third party
٧
key distribution center
٨
ticket
١٩-٢
I want to talk to Bob
Alice ) EnckA (kAB TTP
.
) ticket = EnckB (kAB
ticket
Bob
اﮔﺮ ﺳﯿﺴﺘﻢ رﻣﺰﻧ ﺎری ﻣﺘﻘﺎرن اﺳﺘﻔﺎده ﺷﺪه دارای اﻣﻨﯿﺖ ﻣﺘﻦ اﺻﻠ اﻧﺘﺨﺎﺑ )-CPAاﻣﻦ( ﺑﺎﺷﺪ ،ﭘﺮوﺗ ﻞ ﺗﺒﺎدل ﮐﻠﯿﺪ
ﻣﻌﺮﻓ ﺷﺪه ،در ﺑﺮاﺑﺮ ﻣﻬﺎﺟﻢ ﻣﻨﻔﻌﻞ ) ٩ﯾﺎ ﺷﻨﻮدﮔﺮ ،(١٠اﻣﻦ اﺳﺖ .ﭼﺮا ﮐﻪ ﺷﻬﻮداً ﻣﻬﺎﺟﻢ ﻣﻨﻔﻌﻞ ،ﺣﺘ ﺑﺎ دﯾﺪن ﭘﯿﺎم
ارﺳﺎﻟ TTPﺑﻪ Aliceﻫﻢ ﻧﻤ ﺗﻮاﻧﺪ ﻣﺘﻦ رﻣﺰی ﮐﻠﯿﺪ kABرا از ﻣﺘﻦ رﻣﺰی ﯾ ﮐﻠﯿﺪ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﺗﻤﯿﯿﺰ دﻫﺪ.
ﺑﻌﺒﺎرﺗ ،ﻧﻤ ﺗﻮاﻧﺪ ﻫﯿﭻ اﻃﻼﻋﺎﺗ در ﻣﻮرد kABﺑﺪﺳﺖ آورد.
ﺣﻤﻠﻪ ﺟﻌﻞ ﻫﻮﯾﺖ اﻣﺎ ﭘﺮوﺗ ﻞ ﻓﻮق در ﺑﺮاﺑﺮ ﻣﻬﺎﺟﻢ ﻓﻌﺎل ١١اﻣﻦ ﻧﯿﺴﺖ .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل در ﭘﺮوﺗ ﻞ ﻣﺬﮐﻮر Eveﺑﻪ
ﻋﻨﻮان ﯾ ﻣﻬﺎﺟﻢ ﻣ ﺗﻮاﻧﺪ ﭘﯿﺎﻣ ﻣﺒﻨ ﺑﺮ اﯾﻨ ﻪ ﺗﻤﺎﯾﻞ دارد ﺑﺎ Bobارﺗﺒﺎط ﺑﺮﻗﺮار ﮐﻨﺪ ،ﺑﺮای TTPارﺳﺎل ﮐﻨﺪ .ﺳﭙﺲ
TTPﮐﻠﯿﺪ ﺗﺼﺎدﻓ kBEرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ و ﭘﯿﺎمﻫﺎی ) EnckE (kBEو ) ticket = EnckB (kBEرا ﺑﺮای Eve
ارﺳﺎل ﻣ ﮐﻨﺪ Eve .ﺑﺎ اﺳﺘﻔﺎده از ﮐﻠﯿﺪ ﺧﺼﻮﺻ اش ﻣ ﺗﻮاﻧﺪ ﮐﻠﯿﺪ kBEرا ﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ .ﺳﭙﺲ Eve ،ﺑﺎ اﺳﺘﻔﺎده از
ﮔﺬراﻧﻪای ﮐﻪ از TTPدرﯾﺎﻓﺖ ﮐﺮدهاﺳﺖ ﺧﻮد را ﺑﻪﺟﺎی Aliceﺑﻪ Bobﻣﻌﺮﻓ ﻣ ﮐﻨﺪ و ﮐﻠﯿﺪ kBEرا ﺑﺎ Bobﺑﻪ
اﺷﺘﺮاک ﻣ ﮔﺬارد .اﯾﻦ ﯾ ﺣﻤﻠﻪ ﻓﻌﺎل ﻣﺤﺴﻮب ﻣ ﺷﻮد ﮐﻪ ﺑﻪ آن ﺣﻤﻠﻪ ﺟﻌﻞ ﻫﻮﯾﺖ ١٢ﮔﻔﺘﻪ ﻣ ﺷﻮد .ﺑﺮای ﻣﻘﺎوم
ﮐﺮدن ﭘﺮوﺗ ﻞ ﻓﻮق در ﺑﺮاﺑﺮ ﺣﻤﻠﻪ ﺟﻌﻞ ﻫﻮﯾﺖ ﻣ ﺗﻮان در ﭘﯿﺎمﻫﺎی رﻣﺰی ارﺳﺎﻟ ﺗﻮﺳﻂ TTPﺑﻪ ﻓﺮد درﺧﻮاﺳﺖ
ﮐﻨﻨﺪه ارﺗﺒﺎط ،ﻫﻮﯾﺖ اﻓﺮادی را ﮐﻪ TTPﺑﺮای آﻧﻬﺎ ﮐﻠﯿﺪ ﻣﺸﺘﺮک ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ وارد ﮐﺮد .ﺷ ﻞ زﯾﺮ ﻧﺤﻮه اﯾﻦ ﻣﺤﺎﺳﺒﻪ
را ﻧﺸﺎن ﻣ دﻫﺪ.
٩
passive
١٠
eavesdropping
١١
active attacks
١٢
impersonation attack
١٩-٣
I want to talk to Bob
Alice ) EnckA (“Alice, Bob”||kAB TTP
.
) ticket = EnckB (“Alice, Bob”||kAB
ticket
Bob
• TTPﻫﻤﻪی ﮐﻠﯿﺪﻫﺎ )ﮐﻠﯿﺪﻫﺎی ﺧﺼﻮﺻ ﮐﺎرﺑﺮان و ﮐﻠﯿﺪﻫﺎی اﻣﻦ ﻣﺸﺘﺮک ﺑﯿﻦ ﻫﺮ دو ﮐﺎرﺑﺮ( را ﻣ داﻧﺪ.
اﯾﻦ ﺧﺼﻮﺻﯿﺎت ﺑﺎﻋﺚ ﻣ ﺷﻮد ﮐﻪ اﮔﺮ TTPﺗﺴﺨﯿﺮ ﺷﻮد ،ﻣﻬﺎﺟﻢ ﺑﻪ راﺣﺘ ﺑﺘﻮاﻧﺪ ﺑﻪ ﺗﻤﺎﻣ ﮐﻠﯿﺪﻫﺎی ﻣﺸﺘﺮک ﺑﯿﻦ
ﮐﺎرﺑﺮان دﺳﺖ ﯾﺎﺑﺪ.
ﺗﺎرﯾﺨﭽﻪ ﺷﺎﯾﺎن ذﮐﺮ اﺳﺖ ﮐﻪ اﻣ ﺎن وﺟﻮد روﺷ ﺑﺮای ﺗﺒﺎدل ﮐﻠﯿﺪ ﺑﻪ ﻫﯿﭻوﺟﻪ ﺑﺪﯾﻬ ﻧﯿﺴﺖ .ﻃﺮح اﯾﻦ ﺳﺆال و
راه ﺣﻞﻫﺎﯾ ﮐﻪ ﺑﻪ دﻧﺒﺎل آن اراﺋﻪ ﺷﺪ ،ﻧﻘﻄﻪ ﻋﻄﻔ در ﺗﺎرﯾﺦ ﻋﻠﻢ رﻣﺰﺷﻨﺎﺳ ﻣﺤﺴﻮب ﻣ ﺷﻮد ﮐﻪ ﻣﻨﺠﺮ ﺑﻪ ﺷ ﻞﮔﯿﺮی
رﻣﺰﻧ ﺎری ﻧﻮﯾﻦ ﺷﺪ .اﯾﻦ ﻣﺴﺄﻟﻪ اوﻟﯿﻦ ﺑﺎر در ﺟﺎﻣﻌﻪ ﻋﻠﻤ ﺗﻮﺳﻂ ﻣﺮﮐﻞ در ﺳﺎل ١٩٧۴ﻫﻨ ﺎﻣ ﮐﻪ داﻧﺸﺠﻮی ﮐﺎرﺷﻨﺎﺳ
ارﺷﺪ ﺑﻮد ﻣﻄﺮح و راه ﺣﻠ ﮐﻪ اﮐﻨﻮن ﺑﻪ ﭘﺎزل ﻣﺮﮐﻞ ﻣﻌﺮف اﺳﺖ ﺑﺮای آن اراﺋﻪ ﺷﺪ .اﻣﺎ راه ﺣﻞ وی در ﺳﺎل ١٩٧٨
ﻣﻨﺘﺸﺮ ﺷﺪ؛ ﭘﺎزل ﻣﺮﮐﻞ دو ﻃﺮﻓ را ﮐﻪ ﻫﺮﮔﺰ ﯾ ﺪﯾ ﺮ را ﻣﻼﻗﺎت ﻧ ﺮدهاﻧﺪ ﻗﺎدر ﻣ ﺳﺎزد ﮐﻪ ﺑﺎ ارﺳﺎل اﻃﻼﻋﺎت در زﻣﺎن
) O(nﮐﻠﯿﺪی را ﺑﻪ اﺷﺘﺮاک ﮔﺬارﻧﺪ .وﻟ ﻣﻬﺎﺟﻤ ﮐﻪ ﻣ ﺎﻟﻤﻪ آﻧﻬﺎ را ﺷﻨﻮد ﮐﺮده اﺳﺖ ،در زﻣﺎن ) O(n۲ﻗﺎدر ﺑﻪ ﮐﺸﻒ
ﮐﻠﯿﺪ ﻣﺸﺘﺮک اﺳﺖ .ﻫﺮﭼﻨﺪ راه ﺣﻞ ﻣﺮﮐﻞ ﭼﻨﺪان ﻋﻤﻠ ﻧﯿﺴﺖ اﻣﺎ ﺳﻮال وی ﭘﺮوﺗ ﻞ دﯾﻔ -ﻫﻠﻤﻦ را در ﺳﺎل ١٩٧۶
ﺑﺮای ﺟﺎﻣﻌﻪ رﻣﺰﻧ ﺎری ﺑﻪ ارﻣﻐﺎن آورد .ﭘﺮوﺗ ﻞ دﯾﻔ -ﻫﻠﻤﻦ ،ﺗﺒﺎدل ﮐﻠﯿﺪ را ﺑﺮای دو ﻃﺮف در در زﻣﺎن ﭼﻨﺪﺟﻤﻠﻪای
اﻣ ﺎن ﭘﺬﯾﺮ ﻣ ﮐﻨﺪ ،اﻣﺎ ﺗﺤﺖ ﻓﺮضﻫﺎﯾ ﮐﺎﻣﻼ ﭘﺬﯾﺮﻓﺘﻪ ﺷﺪه ﻣﻬﺎﺟﻢ ﺑﻪ زﻣﺎن ﻧﻤﺎﯾ ﯾﺎ زﯾﺮﻧﻤﺎﯾ ﺑﺮای ﻣﺤﺎﺳﺒﻪ ﮐﻠﯿﺪ ﻧﯿﺎز
دارد .ﯾ ﺴﺎل ﺑﻌﺪ ،اﯾﺪه ﺳﯿﺴﺘﻢ رﻣﺰ ﮐﻠﯿﺪﻋﻤﻮﻣ و اﻣﻀﺎی دﯾﺠﯿﺘﺎل ﺗﻮﺳﻂ رﯾﻮﺳﺖ ،ﺷﺎﻣﯿﺮ و آدﻟﻤﻦ ﺗﺤﺖ ﺳﯿﺴﺘﻤ ﮐﻪ
١٣
man-in-the-middle attac
١٩-۴
اﮐﻨﻮن ﺑﻪ RSAﻣﻌﺮوف اﺳﺖ ،ﻣﻄﺮح ﺷﺪ .ﺟﺎﻟﺐ اﺳﺖ ﺑﺪاﻧﯿﺪ ﻣﺴﺄﻟﻪ ﺗﺒﺎدل ﮐﻠﯿﺪ و ﺳﯿﺴﺘﻢ رﻣﺰ ﮐﻠﯿﺪ ﻋﻤﻮﻣ از ﺳﺎل
١٩۶٠ذﻫﻦ رﯾﺎﺿﯿﺪاﻧﺎن و رﻣﺰﻧ ﺎران ﺳﺘﺎد ارﺗﺒﺎﻃﺎت دوﻟﺖ اﻧ ﻠﯿﺲ ١۴را ﺑﻪ ﺧﻮد ﻣﺸﻐﻮل ﮐﺮده اﺳﺖ و ﻗﺒﻞ از ﺳﺎل
١٩٧۵ﺑﻪ ﮐﺸﻒ داﺧﻠ ﺳﯿﺴﺘﻢﻫﺎﯾ ﻣﺸﺎﺑﻪ دﯾﻔ -ﻫﻠﻤﻦ و RSAﻣﻨﺠﺮ ﺷﺪه اﺳﺖ .اﺳﻨﺎد ﻣﺮﺑﻮط ﺗﻨﻬﺎ در ﺳﺎل ١٩٩٧
اﻧﺘﺸﺎر ﻋﻤﻮﻣ ﯾﺎﻓﺖ.
ﺳﺮی ﺗﻼشﻫﺎ ﻗﺎﺑﻞ ﺣﻞ اﺳﺖ. ﺗﻌﺮﯾﻒ ١ﭘﺎزل ﻣﺴﺌﻠﻪای اﺳﺖ ﮐﻪ ﺣﻞ آن دﺷﻮار اﺳﺖ ،وﻟ ﺗﻮﺳﻂ ﯾ
ﻣﺜﺎل ٢ﻓﺮض ﮐﻨﯿﺪ )·( ،Enckﯾ اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری ﻣﺘﻘﺎرن دارای اﻣﻨﯿﺖ ﻣﺘﻦ اﺻﻠ اﻧﺘﺨﺎﺑ )-CPAاﻣﻦ( ﺑﺎ ﮐﻠﯿﺪ
١٢٨ﺑﯿﺘ kﺑﺎﺷﺪ .ﮐﻠﯿﺪ اﻧﺘﺨﺎﺑ ﻣﺎ ﺑﺮای اﯾﻦ رﻣﺰ ﻣﺘﻘﺎرن دارای اﯾﻦ وﯾﮋﮔ اﺳﺖ ﮐﻪ ٩۶ﺑﯿﺖ اول آن ﺻﻔﺮ اﺳﺖ
و ٣٢ﺑﯿﺖ آﺧﺮ آن )ﮐﻪ ﺟﻮاب ﭘﺎزل ﻣﺎﺳﺖ و ﺑﺎ Pﻧﺸﺎن داده ﻣ ﺷﻮد( ﺑﻪ ﺷ ﻞ ﺗﺼﺎدﻓ اﻧﺘﺨﺎب ﻣ ﺷﻮد؛ ﯾﻌﻨ :
.k = ۰۹۶ ||Pدر اﯾﻨﺠﺎ ) puzzle = Enck (mﯾ ﭘﺎزل اﺳﺖ و ﻫﺪف ﯾﺎﻓﺘﻦ ﺟﻮاب آن ،P ،ﺑﺎ ﻓﺮض داﺷﺘﻦ
اﻃﻼﻋﺎﺗ در ﺑﺎره ﭘﯿﺎم mو ﺑﺎ ﺑﺮرﺳ ۲۳۲ﺣﺎﻟﺖ ﻣﻤ ﻦ اﺳﺖ .ﺑﺪﯾﻦ ﻣﻨﻈﻮر ﮐﺎﻓ اﺳﺖ ﻣﺘﻦ رﻣﺰی )ﭘﺎزل( puzzle
را ﺗﻮﺳﻂ ﻫﺮ ﯾ از ۲۳۲ﮐﻠﯿﺪ ﻣﻤ ﻦ رﻣﺰﮔﺸﺎﯾ ﮐﻨﯿﻢ و ﻫﺮﮔﺎه ﻧﺘﯿﺠﻪ ﺑﺎ ﻣﺘﻦ اوﻟﯿﻪ ﺳﺎزﮔﺎر ﺷﺪ ،ﮐﻠﯿﺪ را ﯾﺎﻓﺘﻪاﯾﻢ .ﺑﺮای
اﯾﻨ ﻪ ﺗﻨﻬﺎ ﯾ از ۲۳۲ﮐﻠﯿﺪ ﻣﻤ ﻦ ﺑﺎ ﻣﺘﻦ اﺻﻠ ﺳﺎزﮔﺎر ﺑﺎﺷﺪ ،ﭘﯿﺎم mﺑﺎﯾﺪ ﺑﻪ اﻧﺪازهی ﮐﺎﻓ دارای اﻓﺰوﻧ ﺑﺎﺷﺪ.
ﺑﻌﻨﻮان ﻣﺜﺎل ،اﮔﺮ mﭘﯿﺎﻣ ﺑﺎﺷﺪ ﮐﻪ ﺑﺎ tﺗﺎ ﺻﻔﺮ ﺷﺮوع ﺷﺪه ﺑﺎﺷﺪ ،ﺑﻄﻮر ﻣﺘﻮﺳﻂ ﺣﺪود ۱ + ۲۳۲−tﮐﺎﻧﺪﯾﺪا ﺑﺮای
Pﭘﯿﺪا ﺧﻮاﻫﺪ ﺷﺪ .ﺑﻨﺎﺑﺮاﯾﻦ ،اﮔﺮ t = ۱۲۸ﺑﺎﺷﺪ ،ﺑﺎ اﺣﺘﻤﺎل ﺑﺴﯿﺎر زﯾﺎد ﺗﻨﻬﺎ ﯾ ﮔﺰﯾﻨﻪ ﺑﺮای Pﭘﯿﺪا ﺧﻮاﻫﺪ ﺷﺪ ﮐﻪ
ﻫﻤﺎن ﺟﻮاب درﺳﺖ ﭘﺎزل اﺳﺖ.
ﺗﻌﺮﯾﻒ ) ٣ﭘﺎزل ﻣﺮﮐﻞ( ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﺜﺎل ﺑﺎﻻ ،ﺗﺒﺎدل ﮐﻠﯿﺪ ﺑﺎ اﺳﺘﻔﺎده از ﭘﺮوﺗ ﻞ ﭘﺎزل ﻣﺮﮐﻞ ﺑﻪ ﺻﻮرت زﯾﺮ اﻧﺠﺎم ﻣ ﺷﻮد:
• اﺑﺘﺪا ۲۳۲ ،Aliceﭘﺎزل را ﻓﺮاﻫﻢ ﻣ ﮐﻨﺪ .ﻧﺤﻮهی ﺳﺎﺧﺖ ﭘﺎزلﻫﺎ ﺑﻪ اﯾﻦ ﺻﻮرت اﺳﺖ ﮐﻪ ،Aliceﺑﻪ ازای ﻫﺮ
،i = ۱, ..., ۲۳۲رﺷﺘﻪﻫﺎی ﺗﺼﺎدﻓ Pi ∈ {۰, ۱}۳۲و xi , ki ∈ {۰, ۱}۱۲۸را اﻧﺘﺨﺎب ﻣ ﮐﻨﺪ و ﭘﺎزل
-iام را ﺑﻪ ﺷ ﻞ زﯾﺮ ﻣ ﺳﺎزد:
ﮐﻪ xiﻧﺸﺎندﻫﻨﺪهی ﺷﻤﺎرهی ﭘﺎزل و kiﮐﻠﯿﺪ ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﭘﺎزل ﺷﻤﺎره iاﺳﺖ .در ﻧﻬﺎﯾﺖpuzzle۱ , ..., puzzle۲۳۲ ،
ﺑﺮای Bobارﺳﺎل ﻣ ﺷﻮﻧﺪ.
• ۲۳۲ ،Bobﭘﺎزل را درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ .ﺳﭙﺲ ،ﺑﻪ ﺻﻮرت ﺗﺼﺎدﻓ ﭘﺎزل -jام ﯾﻌﻨ puzzlejرا اﻧﺘﺨﺎب ﮐﺮده و
ﺣﻞ ﻣ ﮐﻨﺪ .ﺑﻨﺎﺑﺮاﯾﻦ (xj , kj ) ،را ﺑﺪﺳﺖ ﻣ آورد و در اﻧﺘﻬﺎ xjرا ﺑﺮای Aliceﻣ ﻓﺮﺳﺘﺪ.
١۴
)Government Communications Headquarters (GCHQ
١۵
merkle puzzle
١٩-۵
• Aliceﭘﺎزل ﺷﻤﺎرهی xjرا ﭘﯿﺪا ﻣ ﮐﻨﺪ و از ﮐﻠﯿﺪ ﻣﺘﻨﺎﻇﺮ ﺑﺎ آن ﯾﻌﻨ kjﺑﻪ ﻋﻨﻮان ﮐﻠﯿﺪ ﺧﺼﻮﺻ ﻣﺸﺘﺮک
اﺳﺘﻔﺎده ﻣ ﮐﻨﺪ.
ﻧ ﺘﻪ ٢در ﺣﺎﻟﺖ ﮐﻠ اﮔﺮ n ،Aliceﭘﺎزل ﺑﺴﺎزد ،ﮐﺎری ﮐﻪ اﻧﺠﺎم ﻣ دﻫﺪ از ) O(nاﺳﺖ Bob .ﻧﯿﺰ ﺑﺎﯾﺪ ﯾ از n
ﭘﺎزل درﯾﺎﻓﺘ را اﻧﺘﺨﺎب ﮐﺮده و آن را ﺣﻞ ﮐﻨﺪ .اﮔﺮ ﻫﺮﯾ از ﭘﺎزلﻫﺎ در زﻣﺎن ) O(nﻗﺎﺑﻞ ﺣﻞ ﺑﺎﺷﻨﺪ ،ﮐﺎری ﮐﻪ Bob
اﻧﺠﺎم ﻣ دﻫﺪ ﻫﻢ از ) O(nاﺳﺖ .اﻣﺎ ﻣﻬﺎﺟﻢ ﺷﻨﻮدﮔﺮی ﮐﻪ ﻗﺼﺪ ﺣﻤﻠﻪ ﺑﻪ اﯾﻦ ﭘﺮوﺗ ﻞ را داﺷﺘﻪ ﺑﺎﺷﺪ ،ﭼﻮن ﻧﻤ داﻧﺪ
ﮐﻪ xjﺷﻤﺎرهی ﮐﺪام ﭘﺎزل اﺳﺖ ،ﺑﺎﯾﺪ nﭘﺎزﻟ را ﮐﻪ Aliceﺑﻪ Bobارﺳﺎل ﻣ ﮐﻨﺪ ﺣﻞ ﮐﻨﺪ .ﺑﻨﺎﺑﺮاﯾﻦ ﮐﺎری ﮐﻪ ﻣﻬﺎﺟﻢ
ﺑﺮای ﺣﻤﻠﻪ ﺻﻮرت ﻣ دﻫﺪ ،از ) O(n۲ﺧﻮاﻫﺪ ﺑﻮد .در ﺗﻌﺮﯾﻔ ﮐﻪ در ﺑﺎﻻ اراﺋﻪ دادﯾﻢ n = ۲۳۲اﺳﺖ؛ ﭘﺲ ﻣﻬﺎﺟﻢ
ﺑﺎ ۲۶۴رﻣﺰﮔﺸﺎﯾ ،ﻣ ﺗﻮاﻧﺪ ﺑﻪ ﭘﺮوﺗ ﻞ ﺣﻤﻠﻪ ﮐﻨﺪ ﮐﻪ ﻣ ﺗﻮان ﻓﺮض ﮐﺮد اﻣﺮوزه ﻗﺎﺑﻞ دﺳﺘﺮﺳ ﻧﯿﺴﺖ.
• Aliceﺑﺎ درﯾﺎﻓﺖ ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ ،۱nﻣﻮﻟﺪ ) GroupGen(۱nرا ﺑﺮای ﺑﺪﺳﺖ آوردن ) (G, q, gاﺟﺮا ﻣ ﮐﻨﺪ.
ﺳﭙﺲ x ← Zqرا ﺑﻄﻮر ﯾ ﻨﻮاﺧﺖ و ﺗﺼﺎدﻓ اﻧﺘﺨﺎب ﻣ ﮐﻨﺪ و h۱ = g xرا ﻣﺤﺎﺳﺒﻪ ﻣ ﻧﻤﺎﯾﺪ و ) (G, q, g, h۱
را ﺑﺮای Bobارﺳﺎل ﻣ ﮐﻨﺪ.
• (G, q, g, h۱ ) ،Bobرا درﯾﺎﻓﺖ ﮐﺮده و y ← Zqرا ﺑﻄﻮر ﯾ ﻨﻮاﺧﺖ و ﺗﺼﺎدﻓ اﻧﺘﺨﺎب ﻣ ﮐﻨﺪ .ﺳﭙﺲ،
h۲ = g yرا ﻣﺤﺎﺳﺒﻪ ﮐﺮده و ﺑﻪ Aliceارﺳﺎل ﻣ ﮐﻨﺪ و در ﻧﻬﺎﯾﺖ ،ﮐﻠﯿﺪ kB = hy۱را ﺑﻪ ﺧﺮوﺟ ﻣ دﻫﺪ.
• h۲ ،Aliceرا درﯾﺎﻓﺖ ﮐﺮده و ﮐﻠﯿﺪ kA = hx۲را ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ.
ﻧﺤﻮهی ﺗﺒﺎدل ﮐﻠﯿﺪ در ﭘﺮوﺗ ﻞ دﯾﻔ -ﻫﻠﻤﻦ ،در ﺷ ﻞ زﯾﺮ ﻧﺸﺎن داده ﺷﺪه اﺳﺖ:
Alice Bob
.
x ← Zq
h۱ = g x
y ← Zq
h۲ = g y
ﺑﺮرﺳ اﯾﻦ ﻣﺴﺌﻠﻪ ﮐﻪ اﯾﻦ ﭘﺮوﺗ ﻞ ﺻﺤﯿﺢ اﺳﺖ ﮐﺎر دﺷﻮاری ﻧﯿﺴﺖ؛ ﭼﺮا ﮐﻪ Aliceو Bobﺑﻪ ﺗﺮﺗﯿﺐ ﮐﻠﯿﺪﻫﺎی kB
و kAرا ﺑﻪ ﺷ ﻞ زﯾﺮ ﻣﺤﺎﺳﺒﻪ ﻣ ﮐﻨﻨﺪ:
kB = hy۱ = (g x )y = g xy
و
kA = h۲ = (g y )x = g xy
x
١٩-۶
اﻣﻨﯿﺖ ﭘﺮوﺗ ﻞ دﯾﻔ -ﻫﻠﻤﻦ در ﻧ ﺎه اول ﻣﻤ ﻦ اﺳﺖ ﺑﻪ ﻧﻈﺮ ﺑﺮﺳﺪ ﮐﻪ ﻣﻬﺎﺟﻢ ﻣﻨﻔﻌﻞ ﺑﺮای ﺑﺪﺳﺖ آوردن ﮐﻠﯿﺪ
ﻣﺸﺘﺮک در ﭘﺮوﺗ ﻞ دﯾﻔ -ﻫﻠﻤﻦ ﺑﺎﯾﺪ ﺑﺘﻮاﻧﺪ از روی g xﻣﻘﺪار xرا ﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ .اﯾﻦ ﻣﺴﺄﻟﻪ ﺗﺤﺖ ﻋﻨﻮان ﻣﺴﺄﻟﻪ ﻟ ﺎرﯾﺘﻢ
ﮔﺴﺴﺘﻪ ﺷﻨﺎﺧﺘﻪ ﻣ ﺷﻮد .اﮔﺮ ﻣﺴﺄﻟﻪ ﻟ ﺎرﯾﺘﻢ ﮔﺴﺴﺘﻪ ﺑﺮای ﮔﺮوه ﻣﻮرد اﺳﺘﻔﺎده در ﭘﺮوﺗ ﻞ دﯾﻔ -ﻫﻠﻤﻦ آﺳﺎن ﺑﺎﺷﺪ،
ﭘﺮوﺗ ﻞ در ﺑﺮاﺑﺮ ﻣﻬﺎﺟﻢ ﻣﻨﻔﻌﻞ اﻣﻦ ﻧﯿﺴﺖ زﯾﺮا ﺑﻪ راﺣﺘ ﻣ ﺗﻮاﻧﺪ ﮐﻠﯿﺪ ﻣﺸﺘﺮک را ﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ.
ﺗﻌﺮﯾﻒ ) ۵ﻓﺮض ﻟ ﺎرﯾﺘﻢ ﮔﺴﺴﺘﻪ (١٧ﻣ ﮔﻮﯾﯿﻢ ﻓﺮض ﻟ ﺎرﯾﺘﻢ ﮔﺴﺴﺘﻪ )ﯾﺎ (DLﺑﺮای ﮔﺮوه GroupGenﺑﺮﻗﺮار اﺳﺖ
)ﯾﺎ ﻣﺴﺌﻠﻪی DLﺳﺨﺖ اﺳﺖ( اﮔﺮ ﻫﯿﭻ ﻣﻬﺎﺟﻢ ﮐﺎراﯾ ﻧﺘﻮاﻧﺪ از روی ) (G, q, g, g xﻣﻘﺪار xرا وﻗﺘ ﮐﻪ xﺑﻪ ﺗﺼﺎدف
از Zqﺗﻮﻟﯿﺪ ﺷﺪه ﺑﺎﺷﺪ ،ﺑﺎ اﺣﺘﻤﺎل ﻗﺎﺑﻞ ﺗﻮﺟﻬ ﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ.
اﮔﺮ ﺑﺎ دﻗﺖ ﺑﯿﺸﺘﺮی ﺑﻪ ﭘﺮوﺗ ﻞ دﯾﻔ -ﻫﻠﻤﻦ ﻧ ﺎه ﮐﻨﯿﻢ ﻣﺘﻮﺟﻪ ﺧﻮاﻫﯿﻢ ﺷﺪ ﮐﻪ ﻣﻬﺎﺟﻢ ﻣﻨﻔﻌﻞ ﺑﺮای ﺑﺪﺳﺖ آوردن ﮐﻠﯿﺪ
ﻣﺸﺘﺮک ﻟﺰﻣﺎ ﻧﺒﺎﯾﺪ ﻣﺴﺄﻟﻪ ﻟ ﺎرﯾﺘﻢ ﮔﺴﺴﺘﻪ را ﺣﻞ ﮐﻨﺪ .ﻣﺴﺄﻟﻪای ﮐﻪ ﻣﻬﺎﺟﻢ ﺑﺎ آن ﻣﻮاﺟﻪ اﺳﺖ ﻣﺤﺎﺳﺒﻪ g xyاز روی g x
و g yاﺳﺖ وﻗﺘ ﮐﻪ xو yﺑﻪ ﺗﺼﺎدف از Zqﺗﻮﻟﯿﺪ ﺷﺪه ﺑﺎﺷﺪ .اﯾﻦ ﻣﺴﺄﻟﻪ ﺗﺤﺖ ﻋﻨﻮان ﻣﺴﺄﻟﻪ دﯾﻔ -ﻫﻠﻤﻦ ﻣﺤﺎﺳﺒﺎﺗ
ﺷﻨﺎﺧﺘﻪ ﻣ ﺷﻮد.
ﺗﻌﺮﯾﻒ ) ۶ﻓﺮض دﯾﻔ -ﻫﻠﻤﻦ ﻣﺤﺎﺳﺒﺎﺗ (١٨ﻣ ﮔﻮﯾﯿﻢ ﻓﺮض دﯾﻔ -ﻫﻠﻤﻦ ﻣﺤﺎﺳﺒﺎﺗ )ﯾﺎ (CDHﺑﺮای ﮔﺮوه GroupGen
ﺑﺮﻗﺮار اﺳﺖ )ﯾﺎ ﻣﺴﺌﻠﻪی CDHﺳﺨﺖ اﺳﺖ( اﮔﺮ ﻫﯿﭻ ﻣﻬﺎﺟﻢ ﮐﺎراﯾ ﻧﺘﻮاﻧﺪ از روی ) (G, q, g, g x , g yﻣﻘﺪار g xy
را وﻗﺘ ﮐﻪ xو yﺑﻪ ﺗﺼﺎدف از Zqﺗﻮﻟﯿﺪ ﺷﺪه ﺑﺎﺷﺪ ،ﺑﺎ اﺣﺘﻤﺎل ﻗﺎﺑﻞ ﺗﻮﺟﻬ ﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ.
ﺑﺮای ﺗﻌﯿﯿﻦ اﻣﻨﯿﺖ ﭘﺮوﺗ ﻞ دﯾﻔ -ﻫﻠﻤﻦ در ﺑﺮاﺑﺮ ﻣﻬﺎﺟﻢ ﻣﻨﻔﻌﻞ ﺑﺎﯾﺪ ﻣﻔﻬﻮم اﻣﻨﯿﺖ را ﺑﻪ ﻃﻮر دﻗﯿﻖ ﺑﺮای ﯾ ﭘﺮوﺗ ﻞ
ﺗﺒﺎدل ﮐﻠﯿﺪ ﺗﻌﺮﯾﻒ ﮐﺮد ﮐﻪ اﯾﻦ ﮐﺎر را در ﺑﺨﺶ ﺑﻌﺪی اﻧﺠﺎم ﻣ دﻫﯿﻢ .اﻣﺎ ﺑﻪ ﻃﻮر ﺷﻬﻮدی در ﯾ ﭘﺮوﺗ ﻞ ﺗﺒﺎدل ﮐﻠﯿﺪ
اﻣﻦ )در ﺑﺮاﺑﺮ ﻣﻬﺎﺟﻢ ﻣﻨﻔﻌﻞ( ،ﺣﻤﻠﻪﮐﻨﻨﺪه ﻧﺒﺎﯾﺪ اﻃﻼﻋﺎﺗ درﺑﺎرهی ﮐﻠﯿﺪ ﺑﻪ اﺷﺘﺮاک ﮔﺬاﺷﺘﻪ ﺷﺪه ﮐﺴﺐ ﮐﻨﺪ .ﺑﺮای
اﺛﺒﺎت اﻣﻨﯿﺖ ﭘﺮوﺗ ﻞ دﯾﻔ -ﻫﻠﻤﻦ ﺑﻪ ﻓﺮض زﯾﺮ ﻧﯿﺎز دارﯾﻢ.
ﺗﻌﺮﯾﻒ ) ٧ﻓﺮض دﯾﻔ -ﻫﻠﻤﻦ ﺗﺼﻤﯿﻤ (١٩ﻣ ﮔﻮﯾﯿﻢ ﻓﺮض دﯾﻔ -ﻫﻠﻤﻦ ﺗﺼﻤﯿﻤ )ﯾﺎ (DDHﺑﺮای ﮔﺮوه GroupGen
ﺑﺮﻗﺮار اﺳﺖ )ﯾﺎ ﻣﺴﺌﻠﻪی DDHﺳﺨﺖ اﺳﺖ( اﮔﺮ دو ﺗﻮزﯾﻊ ) (G, q, g, g x , g y , g xyو ) (G, q, g, g x , g y , g zوﻗﺘ
ﮐﻪ x, y, zﺑﻪ ﺗﺼﺎدف از Zqﺗﻮﻟﯿﺪ ﺷﺪه ﺑﺎﺷﺪ ،ﺗﻤﺎﯾﺰﻧﺎﭘﺬﯾﺮﻧﺪ.
١٩-٧
ﻧﯿﺎزﻣﻨﺪ اﯾﻦ اﺳﺖ ﮐﻪ دو ﻃﺮف ﯾ ﮐﻠﯿﺪ ﻣﺤﺮﻣﺎﻧﻪ ﺑﻪ اﺷﺘﺮاک ﺑ ﺬارﻧﺪ .راه ﺣﻞ دﯾ ﺮ اﺳﺘﻔﺎده از اﻣﻀﺎی دﯾﺠﯿﺘﺎل اﺳﺖ
ﮐﻪ در آن ﯾ از دو ﻃﺮف ﺑﺎﯾﺪ ﮐﻠﯿﺪ ﻋﻤﻮﻣ ﻃﺮف ﻣﻘﺎﺑﻞ را ﺑﻪ ﻃﺮﯾﻘ ﺑﻪ دﺳﺖ آورده ﺑﺎﺷﺪ .اﮔﺮ ﮐﺎﻧﺎل ﻗﺎﺑﻞ اﻋﺘﻤﺎد
ﻧﺒﺎﺷﺪ ،ﻣﻬﺎﺟﻢ ﻓﻌﺎل ﻗﺎدر ﺑﻪ اﻋﻤﺎل ﺣﻤﻠﻪ ﻣﺮد ﻣﯿﺎﻧ ﺧﻮاﻫﺪ ﺑﻮد .ﻣﺮد ﻣﯿﺎﻧ ﺧﻮد را ﺑﻪ ﺟﺎی Aliceﺑﺮای Bobﺟﺎ
ﻣ زﻧﺪ و ﺑﺎﻟﻌ ﺲ .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﭘﺮوﺗ ﻞ دﯾﻔ -ﻫﻠﻤﻦ را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ ...
٢١
( )A,Π (n
KEeav ﺗﻌﺮﯾﻒ ) ٨آزﻣﺎﯾﺶ ﺗﺒﺎدل ﮐﻠﯿﺪ
٢٢
روﻧﻮﺷﺖ .١ﻃﺮﻓﯿﻦ ﻣﺒﺎدﻟﻪ ﺑﺎ ﺗﻌﯿﯿﻦ ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ ،۱nﭘﺮوﺗ ﻞ Πرا اﺟﺮا ﻣ ﮐﻨﻨﺪ .ﭘﺲ از اﺟﺮا ،ﺧﺮوﺟ ﯾ
ﻣﺎﻧﻨﺪ transﺷﺎﻣﻞ ﻫﻤﻪی ﭘﯿﺎمﻫﺎی ارﺳﺎﻟ ﻃﺮﻓﯿﻦ ،و ﯾ ﮐﻠﯿﺪ k۰ ∈ {۰, ۱}nاﺳﺖ:
) (trans, k۰ ) ← Π(۱n
.٢ﺑﯿﺖ } b ∈ {۰, ۱و ﮐﻠﯿﺪ k۱ ∈ {۰, ۱}nﺑﻄﻮر ﮐﺎﻣﻼ ﺗﺼﺎدﻓ اﻧﺘﺨﺎب ﻣ ﺷﻮد:
.٣ﻣﻬﺎﺟﻢ ،Aروﻧﻮﺷﺖ transو ﮐﻠﯿﺪ kbرا درﯾﺎﻓﺖ ﮐﺮده و ﺑﯿﺖ ̂ bرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ:
ﺗﻌﺮﯾﻒ ) ٩اﻣﻨﯿﺖ ﭘﺮوﺗ ﻞ ﺗﺒﺎدل ﮐﻠﯿﺪ( ﭘﺮوﺗ ﻞ ﺗﺒﺎدل ﮐﻠﯿﺪ ،Πدر ﺑﺮاﺑﺮ ﻣﻬﺎﺟﻢ ﻣﻨﻔﻌﻞ اﻣﻦ اﺳﺖ ،اﮔﺮ ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ
اﺣﺘﻤﺎﻻﺗ Aﮐﻪ در زﻣﺎن ﭼﻨﺪﺟﻤﻠﻪای ﻋﻤﻞ ﻣ ﮐﻨﺪ ،ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ) ε(nﻣﻮﺟﻮد ﺑﺎﺷﺪ ،ﺑﻄﻮرﯾ ﻪ:
۱
≤ }A,Π (n) = ۱
Pr{KEeav )+ ε(n
۲
اﻣﻨﯿﺖ ﭘﺮوﺗ ﻞ ﺗﺒﺎدل ﮐﻠﯿﺪ در ﺑﺮاﺑﺮ ﻣﻬﺎﺟﻢ ﻓﻌﺎل ﺑﻪ ﺻﻮرت ﭘﯿﭽﯿﺪهﺗﺮی ﺗﻌﺮﯾﻒ ﻣ ﺷﻮد.
ﻗﻀﯿﻪ ١اﮔﺮ ﻣﺴﺌﻠﻪی DDHﻧﺴﺒﺖ ﺑﻪ GroupGenﺳﺨﺖ ﺑﺎﺷﺪ ،آﻧ ﺎه ﭘﺮوﺗ ﻞ ﺗﺒﺎدل ﮐﻠﯿﺪ دﯾﻔ -ﻫﻠﻤﻦ ،Πدر ﺣﻀﻮر
ﻣﻬﺎﺟﻢ ﺷﻨﻮدﮔﺮ اﻣﻦ اﺳﺖ.
٢١
key-exchange experiment
٢٢
transcript
١٩-٨
ﺑﻪ ﻧﺎم ﺧﺪا
ﻫﺪف ﻣﺎ در اﯾﻦ ﺟﻠﺴﻪ اراﺋﻪ ﺗﻌﺮﯾﻔ ﺑﺮای ﻣﻔﻬﻮم رﻣﺰ ﻧﺎﻣﺘﻘﺎرن ١و ﺑﺮﺳ اﻣﻨﯿﺖ آن ﻣ ﺑﺎﺷﺪ .در اداﻣﻪ ﻫﻢ ﺑﻪ ﺑﯿﺎن ﻣﻔﺎﻫﯿﻢ
اوﻟﯿﻪ از ﻧﻈﺮﯾﻪ اﻋﺪاد ﻣ ﭘﺮدازﯾﻢ.
• Genاﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ اﺳﺖ ﮐﻪ ﺑﺎ ورودی ۱nزوج ﻣﺮﺗﺐ ) (pk, skرا ﮐﻪ ﺑﻪ ﺗﺮﺗﯿﺐ ﮐﻠﯿﺪ ﻋﻤﻮﻣ و ﮐﻠﯿﺪ
ﺧﺼﻮﺻ ﻫﺴﺘﻨﺪ ،ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ.
) (pk, sk) ← Gen(۱
n
• Encاﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺬاری اﺳﺖ ﮐﻪ ﺑﺎ داﺷﺘﻦ ﮐﻠﯿﺪ ﻋﻤﻮﻣ pkو ﻣﺘﻦ m ∈ Mﺑﻪ ﻋﻨﻮان ورودی ،ﻣﺘﻦ رﻣﺰ
ﺷﺪه cرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ.
)c ← Encpk (m
• Decاﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺸﺎﯾ اﺳﺖ ﮐﻪ ﻗﻄﻌ اﺳﺖ و ﺑﺎ داﺷﺘﻦ ﮐﻠﯿﺪ ﺧﺼﻮﺻ skو ﻣﺘﻦ رﻣﺰ ﺷﺪه ،cﻣﺘﻦ ∈ m
}⊥{ ∪ Mرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ.
)m ← Decsk (c
١
asymmetric cryptography
٢
public-key cryptography
٣
public-key
۴
private-key
۵
secret-key
۶
probabilistic polynomial time
٢٠-١
• ﺑﻪ ازای ﻫﻤﻪی n ∈ Nو m ∈ M
ﻧ ﺘﻪ ١ﺧﺮوﺟ ﺗﺎﺑﻊ Decدر ﻓﻀﺎی }⊥{ ∪ Mاﺳﺖ ﮐﻪ ⊥ ﺗﻨﻬﺎ وﻗﺘ ﺧﺮوﺟ ﺧﻮاﻫﺪ ﺑﻮد ﮐﻪ ﻣﺘﻦ ورودی cﻧﺎﻣﻌﺘﺒﺮ
ﺑﺎﺷﺪ.
ﻗﻀﯿﻪ ) ١اﻣ ﺎنﻧﺎﭘﺬﯾﺮی اﻣﻨﯿﺖ ﮐﺎﻣﻞ( ﺳﯿﺴﺘﻢ رﻣﺰ ﻧﺎﻣﺘﻘﺎرن ﺑﺎ اﻣﻨﯿﺖ ﮐﺎﻣﻞ وﺟﻮد ﻧﺪارد.
ﺑﺮﻫﺎن .ﯾ زوج ﮐﻠﯿﺪ ﻋﻤﻮﻣ و ﻣﺘﻦ رﻣﺰ ﺷﺪه را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺷﺮط ﺻﺤﺖ رﻣﺰﮔﺸﺎﯾ ،اﻣ ﺎن رﻣﺰﮔﺸﺎﯾ
ﻣﺘﻦ رﻣﺰ ﺷﺪه ﺑﻪ دو ﻣﺘﻦ ﻣﺘﻔﺎوت وﺟﻮد ﻧﺪارد .ﺑﻨﺎﺑﺮاﯾﻦ وﻗﺘ ﯾ ﻣﺘﻦ دﻟﺨﻮاه ﺑﺎ اﺳﺘﻔﺎده از ﯾ ﻣﻘﺎدﯾﺮ ﺗﺼﺎدﻓ ﺗﺤﺖ
ﮐﻠﯿﺪ ﻋﻤﻮﻣ pkﺑﻪ ﯾ ﻣﺘﻦ رﻣﺰ ﺷﺪه cﺗﺒﺪﯾﻞ ﺷﺪه ﺑﺎﺷﺪ ،ﻫﯿﭻ ﻣﺘﻦ اﺻﻠ دﯾ ﺮی ﺗﺤﺖ ﻫﯿﭻ ﻣﻘﺪار ﺗﺼﺎدﻓ ﺑﺎ اﺳﺘﻔﺎده
از ﻫﻤﺎن ﮐﻠﯿﺪ pkﺑﻪ ﻣﺘﻦ رﻣﺰﺷﺪه cﺗﺒﺪﯾﻞ ﻧﺨﻮاﻫﺪ ﺷﺪ .ﻟﺬا ﻣﻬﺎﺟﻢ ﺑﺎ ﻣﻨﺎﺑﻊ ﻧﺎﻣﺤﺪود ٧ﻣ ﺗﻮاﻧﺪ ﺑﻪ راﺣﺘ ﭘﯿﺎم m۰و
m۱را ﺑﺎ ﻫﻤﻪ ﻣﻘﺎدﯾﺮ ﺗﺼﺎدﻓ ﮐﻪ اﻟ ﻮرﯾﺘﻢ Encاﺳﺘﻔﺎده ﻣ ﮐﻨﺪ ﺗﺤﺖ ﮐﻠﯿﺪ ﻋﻤﻮﻣ درﯾﺎﻓﺘ رﻣﺰ ﮐﺮده و ﺑﺎ ﻣﻘﺎﯾﺴﻪ
آﻧﻬﺎ ﺑﺎ ﻣﺘﻦ رﻣﺰی درﯾﺎﻓﺘ ،ﻣﺘﻦ اﺻﻠ ﺻﺤﯿﺢ را ﺗﺸﺨﯿﺺ دﻫﺪ.
ﺑﻨﺎﺑﺮاﯾﻦ ﺑﺮای ﺳﯿﺴﺘﻢ رﻣﺰ ﻧﺎﻣﺘﻘﺎرن ﺑﺎﯾﺪ ﺑﻪ اﻣﻨﯿﺖ ﻣﺤﺎﺳﺒﺎﺗ ﺑﺴﻨﺪه ﮐﺮد .ﻫﻤﺎﻧﻨﺪ ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﺘﻘﺎرن ﻣ ﺗﻮان اﻣﻨﯿﺖ
ﺗ ﭘﯿﺎﻣ ﻣﺤﺎﺳﺒﺎﺗ را ﺑﺮ ﻣﺒﻨﺎی ﺗﻤﺎﯾﺰﻧﺎﭘﺬﯾﺮی ﻣﺤﺎﺳﺒﺎﺗ ﺗﻮزﯾﻊﻫﺎی ) (١و ) (٢ﺗﻌﺮﯾﻒ ﻧﻤﻮد .ﺑﺠﺎی اﯾﻦ ﮐﺎر ،اﻣﻨﯿﺖ
را ﺑﺎ اﺳﺘﻔﺎده از آزﻣﺎﯾﺶ ﮐﻪ ﺑﻪ دﻧﺒﺎل ﻣ آﯾﺪ ﺗﻌﺮﯾﻒ ﻣ ﮐﻨﯿﻢ ﮐﻪ اﻣﻨﯿﺖ ﺗ ﭘﯿﺎﻣ ﻣﺤﺎﺳﺒﺎﺗ را ﻧﺘﯿﺠﻪ ﻣ دﻫﺪ.
٧
unbounded adversary
٢٠-٢
[PubKeavآزﻣﺎﯾﺶ اﻣﻨﯿﺖ ﺗ ﭘﯿﺎﻣ ﺑﺮای ﺳﯿﺴﺘﻢ رﻣﺰ ﻧﺎﻣﺘﻘﺎرن Πدر ﺑﺮاﺑﺮ ﻣﻬﺎﺟﻢ Aﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ:
آزﻣﺎﯾﺶA,Π ].
.١ﭼﺎﻟﺸ ﺮ ﺑﺎ اﺟﺮای اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ ،ﮐﻠﯿﺪ ﻋﻤﻮﻣ pkو ﮐﻠﯿﺪ ﺧﺼﻮﺻ ،skرا ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ.
.٢ﻣﻬﺎﺟﻢ Aﺑﺎ درﯾﺎﻓﺖ ﮐﻠﯿﺪ pkدو ﭘﯿﺎم m۰و m۱از ﻓﻀﺎی ،Mﮐﻪ | ،|m۰ | = |m۱را ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ و ﺑﻪ
ﭼﺎﻟﺸ ﺮ ﺑﺮ ﻣ ﮔﺮداﻧﺪ.
)(m۰ , m۱ ) ← A(pk
.۴ﭼﺎﻟﺸ ﺮ ﻣﺘﻦ رﻣﺰی ،cﮐﻪ رﻣﺰ ﺷﺪه ﻣﺘﻦ اﺻﻠ mbﺗﺤﺖ ﮐﻠﯿﺪ pkاﺳﺖ را ﻣﺤﺎﺳﺒﻪ ﻣ ﮐﻨﺪ و ﺑﺮای ﭼﺎﻟﺸ ﺮ
ﻣ ﻓﺮﺳﺘﺪ.
) c ← Encpk (mb
)b̂ ← A(c
PubKeavﻧﺸﺎن داده ﻣ ﺷﻮد ﺑﺮاﺑﺮ ١اﺳﺖ اﮔﺮ ̂ b = bو ﺻﻔﺮ اﺳﺖ اﮔﺮ .b̂ ̸= b
ﺧﺮوﺟ آزﻣﺎﯾﺶ ﮐﻪ ﺑﺎ )A,Π (n
ﺗﻌﺮﯾﻒ ) ٢اﻣﻨﯿﺖ ﺗ ﭘﯿﺎﻣ در ﺳﯿﺴﺘﻢ رﻣﺰ ﻧﺎﻣﺘﻘﺎرن( ﺳﯿﺴﺘﻢ رﻣﺰ ﻧﺎﻣﺘﻘﺎرن ) Π = (Gen, Enc, Decدارای اﻣﻨﯿﺖ
ﺗ ﭘﯿﺎﻣ اﺳﺖ اﮔﺮ ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ ﭼﻨﺪﺟﻤﻠﻪای اﺣﺘﻤﺎﻻﺗ ﻣﺎﻧﻨﺪ Aﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ) ϵ(nوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ
۱
≤ }A,Π (n) = ۱
Pr{PubKeav )+ ϵ(n
۲
ﺗﻔﺎوت ﺗﻌﺮﯾﻒ ﺑﺎﻻ ،ﺑﺎ ﺗﻌﺮﯾﻒﻫﺎی ﻣﺸﺎﺑﻪ در ﺳﯿﺴﺘﻢ رﻣﺰﻫﺎی ﻣﺘﻘﺎرن ،در اﯾﻦ اﺳﺖ ﮐﻪ ﮐﻠﯿﺪ ﻋﻤﻮﻣ ﺑﻪ ﻣﻬﺎﺟﻢ داده
ﻣ ﺷﻮد ﮐﻪ ﺧﻮدﺑﻪﺧﻮد دﺳﺘﺮﺳ اوراﮐﻠ ﺑﻪ اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری را ﺑﺮای او ﻓﺮاﻫﻢ ﻣ ﺳﺎزد .ﺑﻨﺎﺑﺮاﯾﻦ ،اﻣﻨﯿﺖ ﺗ ﭘﯿﺎﻣ ،
اﻣﻨﯿﺖ ﻣﺘﻦ اﺻﻠ اﻧﺘﺨﺎﺑ را ﻧﯿﺰ ﻧﺘﯿﺠﻪ ﻣ دﻫﺪ .ﻫﻤﺎﻧﻨﺪ ﺳﯿﺴﺘﻢ رﻣﺰﻧ ﺎری ﻣﺘﻘﺎرن ،ﻣ ﺗﻮان ﺗﻌﺎرﯾﻒ را ﺑﻪ اﻣﻨﯿﺖ
ﭼﻨﺪﭘﯿﺎﻣ ﮔﺴﺘﺮش داد .ﻣ ﺗﻮان ﻧﺸﺎن داد دارﯾﻢ در ﺳﯿﺴﺘﻢ رﻣﺰ ﻧﺎﻣﺘﻘﺎرن اﻣﻨﯿﺖ ﭼﻨﺪﭘﯿﺎﻣ ﺑﺎ اﻣﻨﯿﺖ ﺗ ﭘﯿﺎﻣ ﻣﻌﺎدل
اﺳﺖ.
ﻗﻀﯿﻪ ) ٢ﻣﻌﺎدلﺑﻮدن اﻣﻨﯿﺖﻫﺎ( ﺳﯿﺴﺘﻢ رﻣﺰ ﻧﺎﻣﺘﻘﺎرن اﻣﻦ ﺗ ﭘﯿﺎﻣ ،داری اﻣﻨﯿﺖ ﭼﻨﺪﭘﯿﺎﻣ و ﻣﺘﻦ اﺻﻠ اﻧﺘﺨﺎﺑ
اﺳﺖ.
در ﺳﯿﺴﺘﻢﻫﺎی رﻣﺰ ﻧﺎﻣﺘﻘﺎرن ﻧﻤ ﺗﻮان از اﻟ ﻮرﯾﺘﻢﻫﺎی رﻣﺰﻧ ﺎری ﻗﻄﻌ اﺳﺘﻔﺎده ﮐﺮد ،زﯾﺮا اﮔﺮ اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری
ﻗﻄﻌ ﺑﺎﺷﺪ آﻧ ﺎه ﭼﻮن ﻣﻬﺎﺟﻢ ﮐﻠﯿﺪ ﻋﻤﻮﻣ را در اﺧﺘﯿﺎر دارد ،ﻣ ﺗﻮاﻧﺪ رﻣﺰ ﺷﺪهی m۰و m۱را ﺑﺪﺳﺖ آورد و ﺑﺎ ﻣﺘﻦ
رﻣﺰ ﺷﺪه ﻣﻘﺎﯾﺴﻪ ﮐﻨﺪ و ﺑﻪ اﺣﺘﻤﺎل ١ﺟﻮاب ﺻﺤﯿﺢ را ﺑﺮﮔﺮداﻧﺪ.
ﻗﻀﯿﻪ ) ٣ﻟﺰوم رﻣﺰﻧ ﺎریﺗﺼﺎدﻓ ( ﺳﯿﺴﺘﻢ رﻣﺰ ﻧﺎﻣﺘﻘﺎرن ﺑﺎ اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری ﺗﺼﺎدﻓ ،اﻣﻨﯿﺖ ﺗ ﭘﯿﺎﻣ ﻧﺪارد.
٢٠-٣
٢ﻣﻘﺪﻣﻪای ﺑﺮ ﻧﻈﺮﯾﻪ اﻋﺪاد
ﻋﺪد ﺻﺤﯿﺢ ﻣﺜﺒﺖ ﺑﺎﺷﺪ ،اﻋﺪاد ﺻﺤﯿﺢ aو bرا ﻫﻤﻨﺸﺖ ﺑﻪ ﭘﯿﻤﺎﻧﻪ Nﮔﻮﯾﯿﻢ ﺗﻌﺮﯾﻒ ) ٣ﻫﻤﻨﻬﺸﺘ ( اﮔﺮ Nﯾ
ﻫﺮﮔﺎه
N |a − b
ﻫﻤﭽﻨﯿﻦ ﻫﻤﻨﻬﺸﺘ را ﺑﺪﯾﻦ ﮔﻮﻧﻪ ﻧﺸﺎن ﻣ دﻫﯿﻢ:
) a ≡ b (mod N
راﺑﻄﻪ ﻫﻢارزی روی Zاﺳﺖ. ﻗﻀﯿﻪ ۴راﺑﻄﻪ ﻫﻤﻨﻬﺸﺘ ﺑﻪ ﭘﯿﻤﺎﻧﻪ ﻋﺪد ﺻﺤﯿﺢ ﻣﺜﺒﺖ ،Nﯾ
ﻧ ﺘﻪ ٢راﺑﻄﻪ ﻫﻢ ارزی ﺑﻪ ﭘﯿﻤﺎﻧﻪ ،Nﻣﺠﻤﻮﻋﻪ اﻋﺪاد ﺻﺤﯿﺢ ،Zرا ﺑﻪ ﮐﻼسﻫﺎی ﻫﻢارزی اﻓﺮاز ﻣ ﮐﻨﺪ ﮐﻪ ﻣﺠﻤﻮﻋﻪی
اﯾﻦ ﮐﻼسﻫﺎ ﺑﺎ ZNﻧﺸﺎن داده ﻣ ﺷﻮد.
ﻋﺪد ﺻﺤﯿﺢ ﻣﺜﺒﺖ ﺑﺎﺷﺪ ،ﮐﻼسﻫﺎی ﻫﻢارزی Zﺑﻪ ﺻﻮرت زﯾﺮ ﻣ ﺑﺎﺷﺪ: ﻧﺘﯿﺠﻪ ۴اﮔﺮ Nﯾ
ﻧ ﺘﻪ ٣اﮔﺮ Nﯾ ﻋﺪد ﺻﺤﯿﺢ ﻣﺜﺒﺖ -nﺑﯿﺘ ﺑﺎﺷﺪ و ،x, y ∈ ZNآﻧ ﺎه ﺣﺎﺻﻞ ﺟﻤﻊ و ﺣﺎﺻﻞ ﺗﻔﺮﯾﻖ آنﻫﺎ y + x
) (mod Nو ) x − y (mod Nدر ﻣﺮﺗﺒﻪ زﻣﺎﻧ ) O(nﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ اﺳﺖ .ﻫﻤﭽﻨﯿﻦ ﺣﺎﺻﻞﺿﺮب آنﻫﺎ را x · y
) (mod Nدر ﻣﺮﺗﺒﻪ زﻣﺎﻧ ) O(n۲ﻣ ﺗﻮان ﻣﺤﺎﺳﺒﻪ ﮐﺮد .اﻟﺒﺘﻪ ﺑﺎ اﺳﺘﻔﺎده از اﻟ ﻮرﯾﺘﻢ ﮐﺎراﺗﺴﻮﺑﺎ ٨ﻣ ﺗﻮان ﻣﺮﺗﺒﻪ زﻣﺎﻧ
ﻣﺤﺎﺳﺒﻪ آن را ﺑﻪ ) O(nlog۲ ۳ﮐﺎﻫﺶ داد.
• d|xو d|y
٨
karatsuba algorithm
٢٠-۴
• اﮔﺮ c|xو c|yآﻧ ﺎه .c|d
ﻣﺜﺎل ٧ﺑﻪ وﺿﻮح ۶ﺑﺰرﮔﺘﺮﯾﻦ ﻋﺪدی اﺳﺖ ﮐﻪ ﺑﺮ ١٢و ١٨ﺑﺨﺶﭘﺬﯾﺮ اﺳﺖ ،ﭘﺲ:
ﺑﺮای ﻣﺤﺎﺳﺒﻪ ب.م.م .ﻣ ﺗﻮان از اﻟ ﻮرﯾﺘﻢ ﺳﺎده زﯾﺮ اﺳﺘﻔﺎده ﮐﺮد:
ﭘﯿﭽﯿﺪﮔ اﯾﻦ اﻟ ﻮرﯾﺘﻢ در ﺑﺪﺗﺮﯾﻦ ﺣﺎﻟﺖ ﻧﻤﺎﯾ اﺳﺖ ،زﯾﺮا ﻓﺮض ﮐﻨﯿﺪ ﮐﻪ x = ۲n − ۱ﺑﺎﺷﺪ و ،y = ۲آﻧ ﺎه
ﭘﯿﭽﯿﺪﮔ اﻟ ﻮرﯾﺘﻢ از ﻣﺮﺗﺒﻪ ) O(۲nاﺳﺖ.
اﻟ ﻮرﯾﺘﻢ دﯾ ﺮی ﻫﻢ ﺑﺮای ﻣﺤﺎﺳﺒﻪ ب.م.م وﺟﻮد دارد ﮐﻪ ﻧﺴﺒﺖ ﺑﻪ اﻟ ﻮرﯾﺘﻢ ﻗﺒﻠ ﮐﺎراﺗﺮ و از ﻣﺮﺗﺒﻪ زﻣﺎﻧ ) O(n۲
اﺳﺖ .اﯾﻦ اﻟ ﻮرﯾﺘﻢ ﮐﻪ ﺑﻪ اﻟ ﻮرﯾﺘﻢ اﻗﻠﯿﺪس ﻣﻌﺮوف اﺳﺖ ،ﺗﻨﻬﺎ ﺗﻐﯿﯿﺮ ﮐﻮﭼ در اﻟ ﻮرﯾﺘﻢ ﺑﺎﻻ ﻣ دﻫﺪ.
ﻗﻀﯿﻪ ۶ﻓﺮض ﮐﻨﯿﺪ x, yدو ﻋﺪد ﺻﺤﯿﺢ و ﻣﺜﺒﺖ ﺑﺎﺷﻨﺪ آﻧ ﺎه اﻋﺪاد ﺻﺤﯿﺢ |a| ≤ ۲yو |b| ≤ ۲xوﺟﻮد دارﻧﺪ ﮐﻪ
) .ax + by = gcd(x, yﺑﻪ ﻋﻼوه ) gcd(x, yﮐﻮﭼ ﺘﺮﯾﻦ ﻋﺪد ﺻﺤﯿﺢ ﻣﺜﺒﺘ اﺳﺖ ﮐﻪ ﺑﻪ اﯾﻦ ﺻﻮرت ﻗﺎﺑﻞ ﺑﯿﺎن
اﺳﺖ.
٢٠-۵
ﻣﺤﺎﺳﺒﻪ ﺿﺮاﯾﺐ a, bﺑﺎ اﺳﺘﻔﺎده از ﺗﻌﻤﯿﻤ از اﻟ ﻮرﯾﺘﻢ اﻗﻠﯿﺪس ﺑﻪ ﺻﻮرت زﯾﺮ و ﺑﺎ ﻫﻤﺎن ﭘﯿﭽﯿﺪﮔ ) O(n۲اﻣ ﺎنﭘﺬﯾﺮ
اﺳﺖ.
ﺗﻌﺮﯾﻒ ٨ﻣ ﮔﻮﯾﯿﻢ x, yﻧﺴﺒﺖ ﺑﻪ ﻫﻢ اول ﻫﺴﺘﻨﺪ ،اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ .gcd(x, y) = ۱
ﻗﻀﯿﻪ ٧دو ﻋﺪد x, yﻧﺴﺒﺖ ﺑﻪ ﻫﻢ اول ﻫﺴﺘﻨﺪ ،اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ ∃a, b : ax + by = ۱
) x · y = ۱ (mod N
yرا ﺑﻪ ﺻﻮرت x−۱ﻧﯿﺰ ﻧﺸﺎن ﻣ دﻫﯿﻢ .ﻣﻌ ﻮس xدر ﺻﻮرت وﺟﻮد ﯾ ﺘﺎﺳﺖ.
ﻋﺪد ﻓﺮد ﺑﺎﺷﺪ ،در اﯾﻦ ﺻﻮرت ﻣﻌ ﻮس ۲ ∈ ZNﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ . N ۲+۱زﯾﺮا: ﻣﺜﺎل ١٠ﻓﺮض ﮐﻨﯿﺪ Nﯾ
N +۱
(·۲ )=N +۱=۱ ) (mod N
۲
ﻟﻢ x ∈ ZN ٨ﻣﻌ ﻮس دارد ،اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ .gcd(x, N ) = ۱
ﺑﺮﻫﺎن .اﺑﺘﺪا ﻓﺮض ﮐﻨﯿﺪ gcd(x, N ) = ۱ﺑﺎﺷﺪ ،در اﯾﻦ ﺻﻮرت ﺑﻨﺎ ﺑﻪ ﻗﻀﯿﻪ ،۴وﺟﻮد دارد a, bﮐﻪ ax + bN = ۱
ﺑﻨﺎﺑﺮاﯾﻦ ) ax = ۱ (mod Nﭘﺲ ) .x−۱ = a (mod Nدﻗﺖ ﮐﻨﯿﺪ ﺗﻤﺎﻣ ﻣﺮاﺣﻞ اﺳﺘﺪﻻل ﻗﺴﻤﺖ اول ﺑﺮﮔﺸﺖ
ﭘﺬﯾﺮ اﺳﺖ ،ﭘﺲ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ آن ﺣ ﻢ ﺛﺎﺑﺖ ﻣ ﺷﻮد.
ﻧﺘﯿﺠﻪ ١١ﻣﺤﺎﺳﺒﻪ وارون ﺿﺮﺑ ﺑﺎ اﺳﺘﻔﺎده از اﻟ ﻮرﯾﺘﻢ اﻗﻠﯿﺪس در زﻣﺎن ) O(n۲اﻣ ﺎنﭘﺬﯾﺮ اﺳﺖ.
ﺗﻌﺮﯾﻒ ZN∗ ١٢را ﻣﺠﻤﻮﻋﻪ ﺗﻤﺎم اﻋﺪادی از ZNﮐﻪ ﻧﺴﺒﺖ ﺑﻪ Nاول ﺑﺎﺷﺪ ﺗﻌﺮﯾﻒ ﻣ ﮐﻨﯿﻢ ،ﺑﻪ ﻋﺒﺎرت دﯾ ﺮ:
٢٠-۶
ﻫﻤﺎن ﻃﻮر ﮐﻪ ﮔﻔﺘﯿﻢ ) (Z∗N , +ﺗﺸ ﯿﻞ ﯾ ﮔﺮوه را ﻣ دﻫﺪ .ﺣﺎل ﺳﺆاﻟ ﮐﻪ ﻣﻄﺮح ﻣ ﺷﻮد اﯾﻦ اﺳﺖ ﮐﻪ آﯾﺎ )× (Z∗N ,
ﺗﺸ ﯿﻞ ﯾ ﮔﺮوه ﻣ دﻫﻨﺪ؟ ﺟﻮاب ﻣﺜﺒﺖ اﺳﺖ.
ﻣﺜﺎل ١٣ﻓﺮض ﮐﻨﯿﺪ pﻋﺪدی اول ﺑﺎﺷﺪ ،آﻧ ﺎه دارﯾﻢ:
}Z∗p = {x : gcd(x, p) = ۱} = {۱, ۲, ..., p − ۱
ﻣﺜﺎل ١۴
Z∗۱۲ }= {۱, ۵, ۷, ۱۱
ﺗﻌﺮﯾﻒ ١۵ﺗﻌﺪاد اﻋﻀﺎی ﻣﺠﻤﻮﻋﻪ Z∗Nرا ﺑﺎ ) ϕ(Nﻧﺸﺎن ﻣ دﻫﯿﻢ:
) |Z∗N | = ϕ(N
ﻣﺜﺎل ١۶ﻓﺮض ﮐﻨﯿﺪ pﻋﺪدی اول اﺳﺖ ،آﻧ ﺎه
ϕ(p) = p − ۱
ﻣﺜﺎل ١٧ﻓﺮض ﮐﻨﯿﺪ N = pqﺑﺎﺷﺪ ﮐﻪ p, qاﻋﺪادی اول ﻫﺴﺘﻨﺪ ،آﻧ ﺎه
)ϕ(N ) = (p − ۱)(q − ۱
ﮐﺮان ﭘﺎﯾﯿﻦ ﻧﯿﺰ ﺗﻮﺳﻂ ﭼﺒﯿﺸﻒ ٩ﺑﺮای ﺗﻌﺪاد اﻋﺪاد اول ﮐﻮﭼ ﺗﺮ از xداده ﺷﺪه اﺳﺖ:
x
≥ )π(x
۲ logx۲
۲nاﺳﺖ.،ﻟﺬا اﮔﺮ اﻟ ﻮرﯾﺘﻤ ﺑﺮای ﺗﺸﺨﯿﺺ اول ﺑﻮدن ﯾ
۱
ﭘﺲ اﺣﺘﻤﺎل اﯾﻨ ﻪ ﻋﺪد ﺗﺼﺎدﻓ -nﺑﯿﺘ اول ﺑﺎﺷﺪ ،ﺣﺪاﻗﻞ
ﻋﺪد در دﺳﺘﺮس ﺑﺎﺷﺪ ،ﺑﺎﯾﺪ ﺑﻪ ﻃﻮر ﻣﺘﻮﺳﻂ آﻧﺮا ﺑﺮ روی ﺣﺪود ۲nﻋﺪد ﺗﺼﺎدﻓ اﺟﺮا ﮐﺮد ﺗﺎ ﯾ ﻋﺪد اول ﺗﻮﻟﯿﺪ ﮐﻨﺪ.
ﺑﻪ ﻃﻮر دﻗﯿﻖﺗﺮ اﮔﺮ ﭼﻨﯿﻦ اﻟ ﻮرﯾﺘﻤ ۲cnﺑﺎر اﺟﺮا ﺷﻮد ،اﺣﺘﻤﺎل اﯾﻨ ﻪ در ﻫﯿﭻ ﯾ از ﻣﺮاﺣﻞ ﻋﺪد اوﻟ ﺗﻮﻟﯿﺪ ﻧﺸﻮد
ﺣﺪاﮐﺜﺮ ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ:
۱ ۲cn
(۱ − ) ≤ e−c
۲n
٩
Chebyshev
٢٠-٧
آزﻣﻮن اول ﺑﻮدن ﻋﺪد ٢.٣
در اﯾﻦ ﺑﺨﺶ اﻟ ﻮرﯾﺘﻤ ﮐﺎرا ﺑﺮای ﭘﯿﺪا ﮐﺮدن اﻋﺪاد اول ﻣﻌﺮﻓ ﻣ ﺷﻮد.
ﻗﻀﯿﻪ ) ١٠ﻗﻀﯿﻪ ﻓﺮﻣﺎ( اﮔﺮ pﻋﺪدی اول ﺑﺎﺷﺪ ،آﻧ ﺎه ﺑﻪ ازای ﻫﺮ x ∈ Z∗pدارﯾﻢ:
)xp−۱ = ۱ (mod p
ﻣﺜﺎل ١٨ﻓﺮض ﮐﻨﯿﺪ ،p = ۵آﻧ ﺎه:
۳۵−۱ = ۳۴ = ۸۱ = ۱ )(mod ۵
ﻧﺘﯿﺠﻪ ١٩ﺑﻪ ازای ﻫﺮ ،x ∈ Z∗pوارون ﺿﺮﺑ xدر Z∗pﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ .xp−۲
ﺑﺮﻫﺎن .ﺑﻪ ازای ﻫﺮ xﮐﻪ ﻋﻀﻮ Z∗pاﺳﺖ ،دارﯾﻢ ) .xp−۱ = ۱ (mod pﺣﺎل اﮔﺮ اﯾﻦ راﺑﻄﻪ را ﺑﺪﯾﻦ ﺻﻮرت ﺑﻨﻮﯾﺴﯿﻢ
ﮐﻪ ) x · xp−۲ = ۱ (mod pﻧﺸﺎن دﻫﻨﺪه اﯾﻦ اﺳﺖ ﮐﻪ وارون ﺿﺮﺑ ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ .xp−۲
دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﻟﻢ ﻓﻮق ﯾ روش ﺑﺮای ﻣﺤﺎﺳﺒﻪ ﻣﻌ ﻮس ﺿﺮﺑ در ﻫﻨ ﯾ ﻋﺪد اول ﺑﺎ ﭘﯿﭽﯿﺪﮔ ) O(n۳ﭘﯿﺸﻨﻬﺎد
ﻣ ﮐﻨﺪ .ﻟﺬا در ﻋﻤﻞ ﺑﻬﺘﺮ اﺳﺖ از ﺗﻌﻤﯿﻢ اﻟ ﻮرﯾﺘﻢ اﻗﻠﯿﺪس اﺳﺘﻔﺎده ﺷﻮد.
ﺗﻌﺮﯾﻒ ) ٢٠آزﻣﻮن ﻓﺮﻣﺎ( اﮔﺮ mﯾ ﻋﺪد ﺻﺤﯿﺢ ﺑﺎﺷﺪ ،ﮔﻮﯾﯿﻢ mاز آزﻣﻮن ﻓﺮﻣﺎ ﻋﺒﻮر ﻣ ﮐﻨﺪ اﮔﺮ ﺑﻪ ازای ﻫﺮ
۱ ≤ a ≤ m − ۱ﮐﻪ gcd(a, m) = ۱داﺷﺘﻪ ﺑﺎﺷﯿﻢ ).am−۱ = ۱ (mod m
ﻧﺘﯿﺠﻪ ٢١اﮔﺮ ﻋﺪد ﺻﺤﯿﺢ mاز آزﻣﻮن ﻓﺮﻣﺎ ﻋﺒﻮر ﻧ ﻨﺪ ،ﻗﻄﻌﺎً ﻣﺮﮐﺐ اﺳﺖ .وﻟ اﮔﺮ از آزﻣﻮن ﻓﺮﻣﺎ ﻋﺒﻮر ﮐﻨﺪ ،ﻟﺰوﻣﺎً
اول ﻧﯿﺴﺖ.
ﺗﻌﺮﯾﻒ ) ٢٢ﻋﺪد ﮐﺎرﻣﺎﯾﻞ( ﺑﻪ ﻋﺪد ﺻﺤﯿﺢ ﻣﺮﮐﺐ mﮐﻪ از آزﻣﻮن ﻓﺮﻣﺎ ﻋﺒﻮر ﻣ ﮐﻨﺪ ،ﻋﺪد ﮐﺎرﻣﺎﯾﻞ ١٠ﻣ ﮔﻮﯾﯿﻢ ،ﯾﺎ
ﺑﻪ ﻋﺒﺎرت دﯾ ﺮ ﺑﻪ ﻋﺪد ﺻﺤﯿﺢ ﻣﺮﮐﺐ mﮐﺎرﻣﺎﯾﻞ ﻣ ﮔﻮﯾﯿﻢ اﮔﺮ:
)∀a, ۱ ≤ a ≤ m − ۱, gcd(a, m) = ۱ : am−۱ = ۱ (mod m
ﻗﻀﯿﻪ ١١اﮔﺮ ﻋﺪد ﺻﺤﯿﺢ ﻣﺮﮐﺐ mﮐﺎرﻣﺎﯾﻞ ﻧﺒﺎﺷﺪ ،آﻧ ﺎه ﺑﻪ ازای ﺣﺪاﻗﻞ ﻧﺼﻒ ۱ ≤ a ≤ m − ۱ﻫﺎ
am−۱ ̸= ۱
ﻧ ﺘﻪ ۴ﺗﻨﻬﺎ اﻋﺪاد ﻣﺮﮐﺒ ﮐﻪ از آزﻣﻮن ﻓﺮﻣﺎ ﻋﺒﻮر ﻣ ﮐﻨﻨﺪ ،اﻋﺪاد ﮐﺎرﻣﺎﯾ ﻞ ﻫﺴﺘﻨﺪ .ﺑﺎ اﯾﻨ ﻪ ﺗﻌﺪاد اﻋﺪاد ﮐﺎرﻣﺎﯾ ﻞ
ﻧﺎﻣﺘﻨﺎﻫ اﺳﺖ اﻣﺎ ﮐﺴﺮ ﻧﺎﭼﯿﺰی از اﻋﺪاد ﮐﺎرﻣﺎﯾ ﻞ ﻫﺴﺘﻨﺪ .ﮐﺮانﻫﺎی زﯾﺮ در ﻣﻮرد ) ،C(xﺗﻌﺪاد اﻋﺪاد ﮐﺎرﻣﺎﯾ ﻞ
ﮐﻮﭼ ﺘﺮ از ،xوﺟﻮد دارد:
) ( ln x ln ln ln x
x۲/۷ < C(x) < x exp −
ln ln x
ﻋﻼوه ﺑﺮ آزﻣﻮن ﻓﺮﻣﺎ ،آزﻣﻮن دﯾ ﺮی ﺑﻪ ﻧﺎم ﻣﯿﻠﺮ-راﺑﯿﻦ وﺟﻮد دارد ﮐﻪ ﻓﻘﻂ اﻋﺪاد اول از آن ﻋﺒﻮر ﻣ ﮐﻨﻨﺪ و اﻋﺪاد ﻣﺮﮐﺐ
از آن ﻋﺒﻮر ﻧﻤ ﮐﻨﻨﺪ.
در ﻋﻤﻞ ﺑﺮای ﺗﺸﺨﯿﺺ اول ﺑﻮدن ﯾ ﻋﺪد mﻧﻤ ﺗﻮان ﺑﺎ اﻣﺘﺤﺎن ﻫﻤﻪ ﻣﻘﺎدﯾﺮ ۱ ≤ a ≤ m − ۱آزﻣﻮن ﻓﺮﻣﺎ را
اﻋﻤﺎل ﮐﺮد .در ﻋﻮض ،ﺑﺮای ﺗﻌﺪاد ﻣﻌﺪودی aﮐﻪ ﺑﻪ ﺗﺼﺎدف اﻧﺘﺨﺎب ﻣ ﺷﻮﻧﺪ ﺑﺮﻗﺮاری راﺑﻄﻪﻫﺎی gcd(a, m) ̸= ۱
و ) am−۱ = ۱ (mod mﺑﺮرﺳ ﻣ ﺷﻮﻧﺪ .اﮔﺮ ﺑﺮای ﻫﻤﻪ آﻧﻬﺎ اﯾﻦ رواﺑﻂ ﺑﺮﻗﺮار ﺑﺎﺷﺪ ،ﺗﺼﻤﯿﻢ ﺑﺮ اول ﺑﻮدن m
ﮔﺮﻓﺘﻪ ﻣ ﺷﻮد .در ﻏﯿﺮ اﯾﻦﺻﻮرت mﻣﺮﮐﺐ اﺳﺖ .اﮔﻪ ﺑﻪ ﺗﻌﺪاد ۸۰ﺗﺎ ﻣﻘﺪار ﺗﺼﺎدﻓ aاﻣﺘﺤﺎن ﺷﻮد ،اﺣﺘﻤﺎل اﯾﻨ ﻪ
اﻟ ﻮرﯾﺘﻢ ﺑﻪ اﺷﺘﺒﺎه ﯾ ﻋﺪد ﺗﺼﺎدﻓ ﻣﺮﮐﺐ را اول اﻋﻼم ﻧﻤﺎﯾﺪ ﮐﻤﺘﺮ از ۲−۸۰اﺳﺖ.
١٠
Carmichael Number
٢٠-٨
اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﻋﺪد اول ٣.٣
ﻓﺮض ﮐﻨﯿﺪ Aاﻟ ﻮرﯾﺘﻤ ﺗﺼﺎدﻓ ﺑﺎﺷﺪ ﺑﺎ ورودی ﻋﺪد ﺻﺤﯿﺢ mﮐﻪ:
• اﮔﺮ mاول ﺑﺎﺷﺪ ،ﻫﻤﻮراه ١ﺑﺮﻣ ﮔﺮداﻧﺪ.
• اﮔﺮ mﻣﺮﮐﺐ ﺑﺎﺷﺪ ،ﺑﺎ اﺣﺘﻤﺎل ﻧﺎﭼﯿﺰی )ﻣﺜﻼ (۲−۸۰ﺧﺮوﺟ ١ﺑﺮﻣ ﮔﺮداﻧﺪ.
ﻋﺪد اول ﺗﺼﺎدﻓ nﺑﯿﺘ ﺑﻪ ﺻﻮرت زﯾﺮ ﺗﻮﻟﯿﺪ ﺑﺎ اﺳﺘﻔﺎده از ﭼﻨﯿﻦ اﻟ ﻮرﯾﺘﻤ ﺑﺮای آزﻣﻮن اوﻟﯿﻪ ﺑﻮدن اﻋﺪاد ﻣ ﺗﻮان ﯾ
ﮐﺮد.
ﻋﺪد رﺷﺘﻪ n − ۱ﺑﯿﺘ ﺗﺼﺎدﻓ را ﺗﻮﻟﯿﺪ و آﻧﺮا ̂ mﺑﻨﺎﻣﯿﺪ .ﯾﻌﻨ .m̂ ← {۰, ۱}n−۱ : .١ﯾ
.٢ﻗﺮار دﻫﯿﺪ ̂.m ← ۱||m
.٣اﮔﺮ ﺧﺮوﺟ A(m) = ۱ﺑﻮد ،ﻋﺪد mرا ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟ اﻟ ﻮرﯾﺘﻢ ﺑﺮﻣ ﮔﺮداﻧﯿﻢ.
ﺗﻌﺮﯾﻒ ) ٢٣ﻣﺴﺄﻟﻪ ﺗﺠﺰﯾﻪ( در ﻣﺴﺄﻟﻪ ﺗﺠﺰﯾﻪ ﻫﺪف ﭘﯿﺪا ﮐﺮدن ﻋﻮاﻣﻞ اول ﻋﺪد Nاﺳﺖ ﮐﻪ ﺣﺎﺻﻞﺿﺮب دو ﻋﺪد اول
ﺑﯿﺘ ﺗﺼﺎدﻓ ﻫﻢ اﻧﺪازه اﺳﺖ.
( ﻫﺪف ﭘﯿﺪا ﮐﺮدن xاز روی g x mod pاﺳﺖ ﮐﻪ g ﺗﻌﺮﯾﻒ ) ٢۴ﻣﺴﺄﻟﻪ ﻟ ﺎرﯾﺘﻢ ﮔﺴﺴﺘﻪ روی ﮔﺮوه ﺿﺮﺑ ﻫﻨ
ﻋﺎﻣﻞ اول ﺗﻘﺮﯾﺒﺎً ﻫﻢاﻧﺪازه ﺑﺎ pاﺳﺖ. ﻣﻮﻟﺪ ﮔﺮوه ﺿﺮﺑ Z∗pاﺳﺖ و p − ۱دارای ﯾ
١١
ﺑﻪ ﻃﻮر اﻋﺠﺎبآوری ﺑﻬﺘﺮﯾﻦ روشﻫﺎی ﺷﻨﺎﺧﺘﻪ ﺷﺪه ﺣﻞ اﯾﻦ دو ﻣﺴﺄﻟﻪ ﺑﻪﻇﺎﻫﺮ ﻣﺘﻔﺎوت ﻣﺸﺎﺑﻪ ﻫﺴﺘﻨﺪ .اﻟ ﻮرﯾﺘﻢ NFS
ﮐﻪ در ﺳﺎل ١٩٨٨ﺗﻮﺳﻂ ﭘﻮﻻرد ١٢ﺑﺮای ﻣﺴﺄﻟﻪ ﺗﺠﺰﯾﻪ اراﺋﻪ ﺷﺪ دارای ﭘﯿﭽﯿﺪﮔ زﻣﺎﻧ زﯾﺮ اﺳﺖ:
√ (۳ ۶۴ )۲
) L(N ) = O e ۹ ln N (ln ln N
ﻧﺴﺨﻪ ﻟ ﺎرﯾﺘﻢ ﮔﺴﺴﺘﻪ اﯾﻦ اﻟ ﻮرﯾﺘﻢ در زﻣﺎن ) L(pﻣﺴﺄﻟﻪ ﻟ ﺎرﯾﺘﻢ ﮔﺴﺴﺘﻪ روی Z∗pرا ﺣﻞ ﻣ ﮐﻨﺪ .ﺟﺪول زﯾﺮ ﻣﻘﺎدﯾﺮ
ﺗﺎﺑﻊ Lرا ﺑﺮای وﻗﺘ ﮐﻪ Nﯾﺎ pﯾ ﻋﺪد -nﺑﯿﺘ ﺑﺎﺷﺪ ،ﺑﺎ ﺻﺮفﻧﻈﺮ از ﻣﻘﺪار ﺛﺎﺑﺖ ﻣﻮﺟﻮد در )·( Oﻧﺸﺎن ﻣ دﻫﺪ:
١١
)Number Field Sieve (NFS
١٢
Pollard
٢٠-٩
n ) log2 L(2n
256 47
512 64
1024 87
2048 117
ﺑﺰرگﺗﺮﯾﻦ ﻋﺪد ﻣﺮﮐﺐ ﺗﺠﺰﯾﻪ ﺷﺪه ﮐﻪ ﺣﺎﺻﻞﺿﺮب دو ﻋﺪد اول ﻫﻢاﻧﺪازه ﺑﺎﺷﺪ ﯾ ﻋﺪد ٧١٣ﺑﯿﺘ اﺳﺖ ﮐﻪ ﻣﻘﺪار
ﺗﺎﺑﻊ Lﺑﺮای آن ۲۷۴اﺳﺖ ،ﮐﻪ ﺗﺠﺰﯾﻪ آن ﭘﺲ از ٢ﺳﺎل ﻣﺤﺎﺳﺒﻪ ﺑﺎ ﭘﺮدازش ﻣﻮازی روی ﮐﺎﻣﭙﯿﻮﺗﺮﻫﺎی ﭼﻨﺪﯾﻦ ﻣﺮﮐﺰ
داﻧﺸ ﺎﻫ در ﺳﺎل ٢٠١٠اﻧﺠﺎم ﺷﺪ.
ﻧ ﺘﻪ ۵ﻣ ﺗﻮان ﻣﺴﺄﻟﻪ ﻟ ﺎرﯾﺘﻢ ﮔﺴﺴﺘﻪ را ﺑﺮای ﻫﺮ ﮔﺮوه ﻣﺘﻨﺎﻫ Gﻧﯿﺰ درﻧﻈﺮ ﮔﺮﻓﺖ .ﺑﺮ ﺧﻼف ﮔﺮوه ،Z∗pﺑﺮای ﺑﺴﯿﺎری
از ﮔﺮوهﻫﺎ از ﺟﻤﻠﻪ ﮔﺮوهﻫﺎﯾ ﮐﻪ ﻣﺒﺘﻨ ﺑﺮ ﺧﻢﻫﺎی ﺑﯿﻀﻮی ﺗﻌﺮﯾﻒ ﻣ ﺷﻮﻧﺪ ،ﺑﻬﺘﺮﯾﻦ اﻟ ﻮرﯾﺘﻢ ﺷﻨﺎﺧﺘﻪ ﺷﺪه ﻧﻤﺎﯾ ﺑﺎ
√
ﻣﺮﺗﺒﻪ ) O( qاﺳﺖ ﮐﻪ qﺑﺰرﮔﺘﺮﯾﻦ ﻋﺎﻣﻞ اول | |Gاﺳﺖ .اﯾﻦ اﻟ ﻮرﯾﺘﻢ ﻣﺒﺘﻨ ﺑﺮ ﺗﻨﺎﻗﺾ روز ﺗﻮﻟﺪ اﺳﺖ و ﺑﻪ ﺻﻮرت
زﯾﺮ ﮐﺎر ﻣ ﮐﻨﺪ ...
٢٠-١٠
ﺑﻪ ﻧﺎم ﺧﺪا
در اﯾﻦ ﺟﻠﺴﻪ ﻣﻘﺪﻣﺎﺗ از ﻧﻈﺮﯾﻪ ﮔﺮوهﻫﺎ اراﺋﻪ ﮐﺮده ﺳﭙﺲ ﭼﻨﺪ ﻣﺴﺄﻟﻪی ﺳﺨﺖ ﻧﻈﺮﯾﻪ اﻋﺪاد ﻣﺎﻧﻨﺪ ﻣﺴﺄﻟﻪ ﺗﺠﺰﯾﻪ و ﻟ ﺎرﯾﺘﻢ
ﮔﺴﺴﺘﻪ را ﻣﻌﺮﻓ ﻣ ﮐﻨﯿﻢ .اﯾﻦ ﻣﺴﺎﺋﻞ ،اﺻﻮل اوﻟﯿﻪ رﻣﺰﻧ ﺎری را ﺗﺸ ﯿﻞ ﻣ دﻫﻨﺪ ﮐﻪ ﻣ ﺗﻮان ﺑﺎ اﺳﺘﻔﺎده از آﻧﻬﺎ ،اﻣﻨﯿﺖ
ﺳﯿﺴﺘﻢﻫﺎی رﻣﺰﻧ ﺎری را اﺛﺒﺎت ﻧﻤﻮد.
ﻣﻘﺪﻣﺎﺗ از ﮔﺮوه
ﻗﻀﯿﻪ ) ١ﻗﻀﯿﻪ ﻻﮔﺮاﻧﮋ( ﺑﺮای ﻫﺮ ﮔﺮوه ﻣﺘﻨﺎﻫ Gو ﻫﺮ زﯾﺮﮔﺮوه Hاز آن.|H| | |G| ،
ﺗﻌﺮﯾﻒ ١ﻓﺮض ﮐﻨﯿﺪ Gﯾ ﮔﺮوه ﺑﺎ ﻋﻀﻮ ﺧﻨﺜ ۱و aﻋﻀﻮی از Gﺑﺎﺷﺪ .ﻣﺮﺗﺒﻪ ،aﮐﻪ ﺑﺎ ) o(aﻧﻤﺎﯾﺶ ﻣ دﻫﯿﻢ،
ﮐﻮﭼ ﺘﺮﯾﻦ ﻋﺪد ﺻﺤﯿﺢ tاﺳﺖ ﮐﻪ .at = ۱
ﺗﻌﺮﯾﻒ ٢ﺑﺮای ﻫﺮ ﮔﺮوه Gو ﻋﻨﺼﺮ دﻟﺨﻮاه aاز آن ﻣﺠﻤﻮﻋﻪ ﻫﻤﻪی ﺗﻮانﻫﺎی aزﯾﺮ ﮔﺮوه ﺗﻮﻟﯿﺪ ﺷﺪه ﺗﻮﺳﻂ aﻧﺎﻣﯿﺪه
ﻣ ﺷﻮد و ﺑﺎ ⟩ ⟨aﻧﺸﺎن داده ﻣ ﺷﻮد .ﯾﻌﻨ ،
ﺑﺮﻫﺎن .ﻣﺮﺗﺒﻪ ﯾ ﻋﻨﺼﺮ ﻫﻤﻮاره ﺑﺎ ﻣﺮﺗﺒﻪی زﯾﺮﮔﺮوه ﺗﻮﻟﯿﺪ ﺷﺪه ﺗﻮﺳﻂ آن ﺑﺮاﺑﺮ اﺳﺖ ﻟﺬا از ﻗﻀﯿﻪ ﻗﺒﻞ ﻣ ﺗﻮان ﻧﺘﯿﺠﻪ
ﮔﺮﻓﺖ ﻣﺮﺗﺒﻪ ﻋﻨﺼﺮ ،ﻣﺮﺗﺒﻪ ﮔﺮوه را ﻋﺎد ﻣ ﮐﻨﺪ.
ﻧﺘﯿﺠﻪ ) ۴ﻗﻀﯿﻪی اوﯾﻠﺮ( ﺑﺮای ﻫﺮ ﻋﺪد ﻃﺒﯿﻌ Nو aﮐﻪ gcd(a, N ) = ۱راﺑﻄﻪ aφ(N ) ≡ ۱ mod Nﺑﺮﻗﺮار
اﺳﺖ زﯾﺮا ﻣﺠﻤﻮﻋﻪ اﻋﺪاد ﻃﺒﯿﻌ ﮐﻤﺘﺮ از Nﮐﻪ ﻧﺴﺒﺖ ﺑﻪ Nاوﻟﻨﺪ ﺑﺎ ﻋﻤﻞ ﺿﺮب ﯾ ﮔﺮوه از ﻣﺮﺗﺒﻪ ) φ(Nﺗﺸ ﯿﻞ
ﻣ دﻫﻨﺪ.
ﻓﺮﻣﺎ( ﺑﺮای ﻫﺮ ﻋﺪد اول pو ﻫﺮ ﻋﺪد ﻃﺒﯿﻌ aراﺑﻄﻪ ap−۱ ≡ ۱ mod pﺑﺮﻗﺮار اﺳﺖ ﻧﺘﯿﺠﻪ ) ۵ﻗﻀﯿﻪی ﮐﻮﭼ
زﯾﺮا .φ(p) = p − ۱
٢١-١
ﺗﻌﺮﯾﻒ ) ۶ﮔﺮوه دوری و ﻣﻮﻟﺪ ﮔﺮوه( ﻓﺮض ﮐﻨﯿﻢ ﮔﺮوه ﻣﺘﻨﺎﻫ Gدارای ﻋﻨﺼﺮی ﻣﺜﻞ gﺑﺎﺷﺪ ﮐﻪ زﯾﺮﮔﺮوه ﺗﻮﻟﯿﺪ ﺷﺪه
ﺗﻮﺳﻂ gﺑﺎ ﮔﺮوه Gﺑﺮاﺑﺮ ﺷﻮد؛ ﯾﻌﻨ ⟩ .G = ⟨gدر اﯾﻦ ﺻﻮرت ﮔﺮوه را دوری و gرا ﻣﻮﻟﺪ ﮔﺮوه ﻣ ﻧﺎﻣﯿﻢ.
ﻣﻮﻟﺪ ﺑﺮای Gاﺳﺖ اﮔﺮ وﺗﻨﻬﺎ اﮔﺮ |.o(g) = |G ﻧ ﺘﻪ ١ﻋﻨﺼﺮ gﯾ
ﻗﻀﯿﻪ ۴اﮔﺮ ﮔﺮوه Gدوری ﺑﺎﺷﺪ ،آﻧ ﺎه ﮔﺮوه Gدارای )| φ(|Gﻣﻮﻟﺪ ﻣﺘﻤﺎﯾﺰ اﺳﺖ.
ﺗﻌﺮﯾﻒ ٩ﻋﻨﺼﺮ y ∈ Z∗Nرا ﻣﺎﻧﺪه ﻣﺮﺑﻌ ﻣ ﻧﺎﻣﯿﻢ ﻫﺮﮔﺎه x ∈ Z∗Nﻣﻮﺟﻮد ﺑﺎﺷﺪ ﺑﻪ ﻃﻮری ﮐﻪ .x۲ = y mod N
زﯾﺮ را دارﯾﻢ: ﻋﻨﺼﺮ ﻣﺤ در Z∗pﺑﺮای ﺗﺸﺨﯿﺺ ﻣﺎﻧﺪه ﻣﺮﺑﻌ ﺑﻮدن ﯾ
ﻓﻮق ﺻﺮﻓﺎ وﺟﻮدی اﺳﺖ و روﺷ ﺑﺮای ﻣﺤﺎﺳﺒﻪ رﯾﺸﻪ اراﺋﻪ ﻧﻤ ﮐﻨﺪ .ﺑﺮای اﯾﻦ ﻣﻨﻈﻮر از دﻗﺖ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﮐﻪ ﻣﺤ
ﻗﻀﯿﻪ زﯾﺮ اﺳﺘﻔﺎده ﻣ ﮐﻨﯿﻢ:
p+۱
.x = y ۴ ﻣﺎﻧﺪه ﻣﺮﺑﻌ ﺑﺎﺷﺪ آﻧ ﺎه رﯾﺸﻪ دوم yﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ﻗﻀﯿﻪ ۶اﮔﺮ p = ۴k + ۳و yﯾ
ﺑﺮﻫﺎن .دارﯾﻢ:
p+۱ p+۱ p−۱
x۲ = (y ۴ )۲ = y ۲ =y ۲ y=y
رﯾﺸﻪ دوم ﺑﺮای yﯾﺎﻓﺖ .ﭘﯿﺪا ﮐﺮدن اﮔﺮ ،p = ۴k + ۱ﺑﺎز ﻫﻢ ﻣ ﺗﻮان ﺑﺎ ﯾ اﻟ ﻮرﯾﺘﻢ ﺗﺼﺎدﻓ ﭼﻨﺪﺟﻤﻠﻪای ،ﯾ
ﯾ اﻟ ﻮرﯾﺘﻢ ﻗﻄﻌ ﺑﺮای اﯾﻦ ﺣﺎﻟﺖ ﯾ ﻣﺴﺄﻟﻪ ﺑﺎز اﺳﺖ.
٢١-٢
ﺣﺎل اﮔﺮ y ∈ Z∗Nدﻟﺨﻮاه ﺑﺎﺷﺪ ﭼ ﻮﻧﻪ ﻣ ﺗﻮان ﻣﺎﻧﺪه ﻣﺮﺑﻌ ﺑﻮدن yرا ﺗﺸﺨﯿﺺ داد؟ ﭼ ﻮﻧﻪ ﻣ ﺗﻮان رﯾﺸﻪ ای ﺑﺮای
آن ﯾﺎﻓﺖ؟
ﻓﺮض ﮐﻨﯿﻢ ﺗﺠﺰﯾﻪ Nﺑﻪ ﺻﻮرت ﺣﺎﺻﻞﺿﺮب ﻋﻨﺎﺻﺮ اول را در اﺧﺘﯿﺎر دارﯾﻢ .ﺑﺮای ﺳﺎدﮔ ﻓﺮض ﮐﻨﯿﻢ N = pqﮐﻪ
pو qاول و ﻣﺘﻤﺎﯾﺰﻧﺪ .اﮔﺮ yدر Z∗pو Z∗qﻣﺎﻧﺪه ﻣﺮﺑﻌ ﺑﺎﺷﺪ ﻧﺸﺎن ﻣ دﻫﯿﻢ yدر ∗ ZNﻧﯿﺰ ﻣﺎﻧﺪه ﻣﺮﺑﻌ اﺳﺖ .ﺑﺮای
اﯾﻦ ﻣﻨﻈﻮر ﺑﻪ ﺗﺮﺗﯿﺐ x۱و x۲را رﯾﺸﻪﻫﺎﯾ ﺑﺮای yدر Z∗pو Z∗qﻣ ﮔﯿﺮﯾﻢ .ﺑﺎ اﺳﺘﻔﺎده از ﻗﻀﯿﻪ ﺑﺎﻗﯿﻤﺎﻧﺪه ﭼﯿﻨ ﻋﻨﺼﺮ
z ∈ Nرا ﻃﻮری ﻣ ﯾﺎﺑﯿﻢ ﮐﻪ در ﻣﻌﺎدﻻت زﯾﺮ ﺻﺪق ﮐﻨﺪ:
در ﻧﺘﯿﺠﻪ z ۲ ≡ y mod Nﭘﺲ yدر Z∗Nﻣﺎﻧﺪه ﻣﺮﺑﻌ اﺳﺖ .ﺑﺮﻋ ﺲ اﮔﺮ y ∈ Z∗Nﻣﺎﻧﺪه ﻣﺮﺑﻌ ﺑﺎﺷﺪ ﺑﻪ وﺿﻮح
yدر Z∗pو Z∗qﻧﯿﺰ ﻣﺎﻧﺪه ﻣﺮﺑﻌ ﺧﻮاﻫﺪ ﺑﻮد.
ﻧﺘﯿﺠﻪ ١٠اﮔﺮ y ∈ Z∗Nﻣﺎﻧﺪه ﻣﺮﺑﻌ ﺑﺎﺷﺪ ،آﻧ ﺎه دﻗﯿﻘﺎً ﭼﻬﺎر رﯾﺸﻪ ﻣﺘﻤﺎﯾﺰ در Z∗Nدارد.
ﺳﺆال ١١ﺑﻪ ﻧﻈﺮ ﺷﻤﺎ ﺗﺸﺨﯿﺺ ﻣﺎﻧﺪه ﻣﺮﺑﻌ ﺑﻮدن در y ∈ Z∗Nدﻟﺨﻮاه ﺑﺪون داﺷﺘﻦ ﺗﺠﺰﯾﻪ Nآﺳﺎن اﺳﺖ؟
ﻋﺪد اول را ﭼ ﻮﻧﻪ ﻣ ﺗﻮان ﺣﻞ ﮐﺮد؟ ﺗﻮاﻧ از ﯾ ﺳﺆال ١٢ﻣﺴﺄﻟﻪ ﭘﯿﺪا ﮐﺮدن رﯾﺸﻪ در ﻫﻨ
ﻧﺘﯿﺠﻪ اﯾﻨ ﻪ ﺑﺎ اﺳﺘﻔﺎده از ﺗﺠﺰﯾﻪ در ،Zﻣ ﺗﻮان ﻣﺴﺄﻟﻪ ﻣﺤﺎﺳﺒﻪ رﯾﺸﻪ دوم در Z∗Nرا ﺣﻞ ﮐﺮد.
ﺑﺮﻋ ﺲ ،ﻣ ﺧﻮاﻫﯿﻢ ﺑﻪ ﮐﻤ ﻣﺤﺎﺳﺒﻪ رﯾﺸﻪ دوم ،ﻣﺴﺄﻟﻪ ﺗﺠﺰﯾﻪ را ﺣﻞ ﮐﻨﯿﻢ .ﻓﺮض ﮐﻨﯿﻢ ﻋﺪد ﻃﺒﯿﻌ Nدﻟﺨﻮاه ﺑﺎﺷﺪ؛
ﻋﻨﺼﺮی ﺑﻪ ﺗﺼﺎدف ﻣﺜﻞ zاﻧﺘﺨﺎب ﻣ ﮐﻨﯿﻢ .ﻋﻨﺼﺮ y = z ۲ mod Nﻣﺎﻧﺪه ﻣﺮﺑﻌ اﺳﺖ ﭘﺲ رﯾﺸﻪ ای ﭼﻮن x
دارد .از اﯾﻦ رو
)x۲ = z ۲ mod N ⇒ N |x۲ − z ۲ ⇒ N |(x + z)(x − z
ﭘﺲ Nﺑﺎ ) (x − zﯾﺎ ) (x + zﻋﺎﻣﻞ ﻣﺸﺘﺮک دارد ﮐﻪ ﺑﻪ ﺻﻮرت ﮐﺎراﯾ ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ اﺳﺖ؛ ﭘﺲ ﯾ ﺗﺠﺰﯾﻪ ﺑﺮای N
ﺑﻪ ﺻﻮرت ﺣﺎﺻﻞﺿﺮب ﻋﻮاﻣﻞ ﮐﻮﭼ ﺘﺮ ﭘﯿﺪا ﻣ ﮐﻨﯿﻢ ﮐﻪ ﺑﺎ اداﻣﻪ اﯾﻦ روﻧﺪ ﺗﺠﺰﯾﻪ Nﺑﻪ ﻋﻮاﻣﻞ اوﻟﺶ ﺑﺪﺳﺖ ﻣ آﯾﺪ.
ﻧﺘﯿﺠﻪ ١٣ﻣﺴﺄﻟﻪ ﺗﺠﺰﯾﻪ در ،Zﺑﺎ ﻣﺴﺄﻟﻪ ﻣﺤﺎﺳﺒﻪ رﯾﺸﻪ دوم در Z∗Nﻣﻌﺎدل اﺳﺖ.
ﺳﺆال ١۴در ﻣﻮرد ﻣﻌﺎدل ﺑﻮدن ﺗﺠﺰﯾﻪ در Zو ﻣﺴﺄﻟﻪ ﻣﺤﺎﺳﺒﻪ رﯾﺸﻪ −eام در Z∗Nﭼﻪ ﻣ ﺗﻮان ﮔﻔﺖ؟
رﯾﺸﻪ −eام ﯾ ﺘﺎ ﺑﻪ ﺻﻮرت y dاﺳﺖ ﮐﻪ ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ اﮔﺮ gcd(e, φ(n)) = ۱ﺑﺎﺷﺪ ،ﻫﺮ y ∈ Z∗Nدارای ﯾ
).d = e−۱ mod φ(n
٢١-٣
ﻓﺮﺿﯿﺎت رﻣﺰﻧ ﺎری
• ﻓﺮض ﺗﺠﺰﯾﻪ :اﮔﺮ pو qدوﻋﺪد اول ﺗﺼﺎدﻓ ﻫﻢاﻧﺪازه ﺑﺎﺷﻨﺪ ،ﻣﺤﺎﺳﺒﻪ pﯾﺎ qاز روی N = pqﺳﺨﺖ اﺳﺖ.
• ﻓﺮض ) RSAﻓﺮض رﯾﺸﻪ −eام( :ﻣﺤﺎﺳﺒﻪ xاز روی xe mod Nﮐﻪ Nﺣﺎﺻﻠﻀﺮب دو ﻋﺪد اول
ﺗﺼﺎدﻓ ﻫﻢاﻧﺪازه اﺳﺖ و gcd(e, φ(N )) = ۱ﺑﺮای xﺗﺼﺎدﻓ ﺳﺨﺖ اﺳﺖ.
• ﻓﺮض ﻟ ﺎرﯾﺘﻢ ﮔﺴﺴﺘﻪ :در ﮔﺮوه Gﺑﺎ ﻣﻮﻟﺪ ،gﻣﺤﺎﺳﺒﻪ xاز روی g xﺑﺮای xﺗﺼﺎدﻓ ﺳﺨﺖ اﺳﺖ.
• ﻓﺮض دﯾﻔ ﻫﻠﻤﻦ ﻣﺤﺎﺳﺒﺎﺗ :در ﮔﺮوه Gﺑﺎ ﻣﻮﻟﺪ ،gﻣﺤﺎﺳﺒﻪ g xyاز روی g xو g yﺑﺮای xو yﺗﺼﺎدﻓ
ﺳﺨﺖ اﺳﺖ.
• ﻓﺮض دﯾﻔ ﻫﻠﻤﻦ ﺗﺼﻤﯿﻤ :در ﮔﺮوه Gﺑﺎ ﻣﻮﻟﺪ ،gﺗﻤﺎﯾﺰ ) (g, g x , g y , g xyاز ) (g, g x , g y , g rﺑﺮای x،yو
rﺗﺼﺎدﻓ ﺳﺨﺖ اﺳﺖ.
ﻓﺮضﻫﺎی ﻟ ﺎرﯾﺘﻢ ﮔﺴﺴﺘﻪ ،دﯾﻔ ﻫﻠﻤﻦ ﻣﺤﺎﺳﺒﺎﺗ و دﯾﻔ ﻫﻠﻤﻦ ﺗﺼﻤﯿﻤ ﺑﺮای ﻫﻤﻪ ﮔﺮوهﻫﺎ درﺳﺖ ﻧﯿﺴﺘﻨﺪ وﺑﺮای ﻫﺮ
ﯾ ،ﺑﺎﯾﺪ ﮔﺮوﻫ ﻣﻨﺎﺳﺐ اﺧﺘﯿﺎر ﺷﻮد.
ﺑﺮای ﻣﺜﺎل ﺑﺎور ﻋﻤﻮﻣ ﺑﺮ اﯾﻦ اﺳﺖ ﮐﻪ در Zpﻣﺴﺎﻟﻪ ﻟ ﺎرﯾﺘﻢ ﮔﺴﺴﺘﻪ و ﻣﺴﺎﻟﻪ دﯾﻔ ﻫﻠﻤﻦ ﻣﺤﺎﺳﺒﺎﺗ ﻣﺴﺎﺋﻠ ﺳﺨﺖ
⋆
ﻫﺴﺘﻨﺪ .اﻣﺎ در ﻫﻤﯿﻦ Z⋆pﻓﺮض دﯾﻔ ﻫﻠﻤﻦ ﺗﺼﻤﯿﻤ ﺑﺮﻗﺮار ﻧﯿﺴﺖ زﯾﺮا ﺑﺮای ) (u, v, w, zداده ﺷﺪه ﻣ ﺗﻮان ﺗﻤﺎﯾﺰﮔﺮ
Dرا ﮐﻪ ﺑﻪ ﺻﻮرت زﯾﺮ ﺗﺼﻤﯿﻢ ﻣ ﮔﯿﺮد اراﺋﻪ ﮐﺮد:
{
اﮔﺮ zﻣﺎﻧﺪه ﻣﺮﺑﻌ ﺑﺎﺷﺪ ۱
= )D(u, v, w, z
۰ درﻏﯿﺮاﯾﻨﺼﻮرت
اﺳﺖ. ۱
۴
ﺗﻤﺎﯾﺰﮔﺮ Dداری ﻣﺰﯾﺖ ﻏﯿﺮ ﻧﺎﭼﯿﺰ
ﭘﺎﺳﺦ .ﺗﻤﺎﯾﺰﮔﺮی ﮐﻪ ﺑﺮای ﻣﺴﺄﻟﻪ دﯾﻔ ﻫﻠﻤﻦ ﺗﺼﻤﯿﻤ روی Z∗pاراﺋﻪ ﮐﺮدﯾﻢ از اﯾﺪه ﻣﺎﻧﺪه ﻣﺮﺑﻌ ﺑﺮای ﺗﻤﺎﯾﺰ اﺳﺘﻔﺎده
ﮐﺮد .ﭘﺲ اﮔﺮ ﺑﻪ ﻧﺤﻮی ﺑﺘﻮاﻧﯿﻢ اﯾﻦ ﺷﺮط را ﺣﺬف ﮐﻨﯿﻢ اﺣﺘﻤﺎﻻ ﻓﺮض دﯾﻔ ﻫﻠﻤﻦ ﺗﺼﻤﯿﻤ ﺑﺮﻗﺮار ﺧﻮاﻫﺪ ﺑﻮد .ﻋﺪد
اول pرا ﻃﻮری اﻧﺘﺨﺎب ﻣ ﮐﻨﯿﻢ ﮐﻪ p = ۲q + ۱و qﺧﻮد اول ﺑﺎﺷﺪ .ﻣ ﺗﻮان ﻧﺸﺎن داد ﻣﺠﻤﻮﻋﻪی ﻣﺎﻧﺪهﻫﺎی ﻣﺮﺑﻌ
در ﻫﻨ ،pﯾﻌﻨ ﻣﺠﻤﻮﻋﻪ
∗
QR = {x | x ∈ Zp } ,
۲
ﺧﻮد ﯾ ﮔﺮوه از ﻣﺮﺗﺒﻪ qﺗﺸ ﯿﻞ ﻣ دﻫﻨﺪ .ﺑﺎور ﻋﻤﻮﻣ ﺑﺮ اﯾﻦ اﺳﺖ ﮐﻪ ﻓﺮض دﯾﻔ ﻫﻠﻤﻦ ﺗﺼﻤﯿﻤ ﺑﺮای اﯾﻦ ﮔﺮوه
ﺳﺨﺖ اﺳﺖ.
ﻧ ﺘﻪ ٣اﮔﺮ gﻣﻮﻟﺪی ﺑﺮای Z∗pﺑﺎﺷﺪ ،آﻧ ﺎه g ۲ﻣﻮﻟﺪی ﺑﺮای ﮔﺮوه ﻣﺎﻧﺪهﻫﺎی ﻣﺮﺑﻌ Z∗pاﺳﺖ ،ﯾﻌﻨ ⟩ .QR = ⟨g ۲
٢١-۴
ﺑﻪ ﻧﺎم ﺧﺪا
.١ﻓﺮض ﺗﺠﺰﯾﻪ :اﮔﺮ pو qدو ﻋﺪد اول ﺗﺼﺎدﻓ nﺑﯿﺘ ﺑﺎﺷﻨﺪ ،آنﮔﺎه ﻣﺤﺎﺳﺒﻪ pﻳﺎ qاز روى ﺣﺎﺻﻞﺿﺮب
N = pqﺳﺨﺖ اﺳﺖ.
.٢ﻓﺮض :RSAﻣﺤﺎﺳﺒﻪ xاز روى xe mod Nﮐﻪ Nﺣﺎﺻﻠﻀﺮب دو ﻋﺪد ﺗﺼﺎدﻓ nﺑﯿﺘ اﺳﺖ و eﺑﻪ
ﺗﺼﺎدف از ) Z∗ϕ(Nاﻧﺘﺨﺎب ﻣ ﺷﻮد ،ﺳﺨﺖ اﺳﺖ.
.٣ﻓﺮض ﻟ ﺎرﯾﺘﻢ ﮔﺴﺴﺘﻪ :١در ﮔﺮوه Gﺑﺎ ﻣﻮﻟﺪ gﻣﺤﺎﺳﺒﻪ logg hاز روى ﻋﻨﺼﺮ ﺗﺼﺎدﻓ h ∈ Gﺳﺨﺖ اﺳﺖ.
.۴ﻓﺮض دﯾﻔ -ﻫﻠﻤﻦ ﻣﺤﺎﺳﺒﺎﺗ ) :(٢ CDHدر ﮔﺮوه Gﺑﺎ ﻣﻮﻟﺪ gو ﻣﺮﺗﺒﻪ ،qوﻗﺘ xو yﺑﻪ ﺗﺼﺎدف از Zq
اﻧﺘﺨﺎب ﺷﻮﻧﺪ ،ﻣﺤﺎﺳﺒﻪی g xyاز روی g xو g yﺳﺨﺖ اﺳﺖ.
.۵ﻓﺮض دﻳﻔ -ﻫﻠﻤﻦ ﺗﺼﻤﻴﻤ ) :(٣ DDHدر ﮔﺮوه Gﺑﺎ ﻣﻮﻟﺪ gو ﻣﺮﺗﺒﻪ ،qدو ﺗﻮزﻳﻊ ) (g x , g y , g xyو
) (g x , g y , g rوﻗﺘ ﻛﻪ x, y, rﺑﻪ ﺗﺼﺎدف از Zqﺗﻮﻟﻴﺪ ﺷﻮد ،ﺗﻤﺎﻳﺰﻧﺎﭘﺬﻳﺮﻧﺪ.
.۶ﻓﺮض دﻳﻔ -ﻫﻠﻤﻦ ﭼ ﻴﺪهاى ) :(۴ HDHدر ﮔﺮوه Gﺑﺎ ﻣﻮﻟﺪ gو ﻣﺮﺗﺒﻪ ،qوﻗﺘ xو yﺑﻪ ﺗﺼﺎدف از Zq
اﻧﺘﺨﺎب ﺷﻮﻧﺪ ،دو ﺗﻮزﻳﻊ )) (g x , g y , H(g xyو ) (g x , g y , rﺗﻤﺎﻳﺰﻧﺎﭘﺬﻳﺮﻧﺪ ﮐﻪ ﺗﺎﺑﻊ درﻫﻢﺳﺎزى Hﯾ اوراﻛﻞ
ﺗﺼﺎدﻓ و rﻳﻚ ﻣﻘﺪار ﺗﺼﺎدﻓ از ﺑﺮد Hاﺳﺖ.
ﻧ ﺘﻪ ١ﻓﺮض RSAﺑﺮاى ﺣﺎﻟﺘ ﺑﯿﺎن ﺷﺪه اﺳﺖ ﻛﻪ eﺑﻪ ﺗﺼﺎدف از ) Z∗ϕ(Nاﻧﺘﺨﺎب ﺷﺪه ﺑﺎﺷﺪ ،وﻟ ﻣ ﺗﻮان RSA
را ﺑﺮاى eﺛﺎﺑﺖ ﻧﻴﺰ ﻣﻄﺮح ﻛﺮد .ﻣﺜﻼ ﻣ ﺗﻮان ﻓﺮض ﻛﺮد ﻣﺤﺎﺳﺒﻪ رﻳﺸﻪ ﺳﻮم وﻗﺘ ﻛﻪ gcd(۳, ϕ(N )) = ۱ﻣﺴﺌﻠﻪ
ﺳﺨﺘ اﺳﺖ.
١
Discrete Logarithm Assumption
٢
Computational Diffie-Hellman Assumption
٣
Decisional Diffie-Hellman Assumption
۴
Hash Diffie-Hellman Assumption
٢٢-١
ﻓﺮﺿﻴﺎت ﻓﻮق ﺑﻪ ﺻﻮرت ﻏﻴﺮ رﺳﻤ اراﺋﻪ ﺷﺪه اﻧﺪ ،اﻣﺎ ﻫﻤﻪ آﻧﻬﺎ را ﻣ ﺗﻮان ﺑﻪ ﺻﻮرت رﺳﻤ ﺑﻴﺎن ﻛﺮد .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل
ﺑﺮاى رﺳﻤ ﻛﺮدن ﻓﺮض ﺗﺠﺰﻳﻪ ﻣ ﺗﻮان آزﻣﺎﻳﺶ زﻳﺮ را ﺗﻌﺮﻳﻒ ﻛﺮد:
ﺗﻌﺮﯾﻒ ١آزﻣﺎﻳﺶ ﺗﺠﺰﻳﻪ ) FactorA (nﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ:
.١اﻋﺪاد اول ﺗﺼﺎدﻓ -nﺑﯿﺘ pو qﺗﻮﻟﻴﺪ ﻣ ﺷﻮﻧﺪ و N = pqﻣﺤﺎﺳﺒﻪ ﻣ ﺷﻮد.
p′ ← A(N ) .٢
ﺧﺮوﺟ اﻳﻦ آزﻣﺎﻳﺶ ،ﻛﻪ ﺑﺎ ) FactorA (nﻧﺸﺎن داده ﻣ ﺷﻮد ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ،١اﮔﺮ } p′ ∈ {p, qو در ﻏﻴﺮ اﻳﻦ ﺻﻮرت،
ﺧﺮوﺟ آزﻣﺎﻳﺶ ٠اﺳﺖ.
ﺗﻌﺮﯾﻒ ) ٢ﻓﺮض ﺗﺠﺰﻳﻪ( ﺑﺮاى ﻫﺮ ﻣﻬﺎﺟﻢ ﭼﻨﺪﺟﻤﻠﻪاى ﺗﺼﺎدﻓ ،Aﺗﺎﺑﻊ ﻧﺎﭼﻴﺰ ) ε(nوﺟﻮد دارد ﻛﻪ:
ﻧ ﺘﻪ ٢ﻣﻤ ﻦ اﺳﺖ ﻣﺴﺌﻠﻪ ﺗﺠﺰﻳﻪ ﺳﺨﺖ ﺑﺎﺷﺪ وﻟ RSAآﺳﺎن ﺑﺎﺷﺪ؛ درواﻗﻊ ﻧﻤ داﻧﻴﻢ ﻛﻪ ﻣﺴﺌﻠﻪ ﺗﺠﺰﻳﻪ و RSA
ﻣﻌﺎدل ﻫﻢ ﻫﺴﺘﻨﺪ ﻳﺎ ﻧﻪ.
ﺑﺮﻫﺎن .اﮔﺮ ﺑﺘﻮاﻧﻴﻢ ﻣﺴﺌﻠﻪ دﻳﻔ -ﻫﻠﻤﻦ ﻣﺤﺎﺳﺒﺎﺗ را ﺣﻞ ﻛﻨﻴﻢ )ﻳﻌﻨ از روى g xو g yﺑﺘﻮاﻧﻴﻢ g xyرا ﺑﺪﺳﺖ آورﻳﻢ(،
ﻳﻘﻴﻨﺎ ﻣ ﺗﻮاﻧﻴﻢ دو ﺗﻮزﻳﻊ ) (g, g x , g y , g xyو ) (g, g x , g y , g rرا ﺗﻤﺎﻳﺰ دﻫﻴﻢ و در ﻧﺘﻴﺠﻪ ﻣ ﺗﻮاﻧﻴﻢ ﻣﺴﺌﻠﻪ DDHرا
ﺣﻞ ﻛﻨﻴﻢ.
ﻟﻢ ٣ﻓﺮض DDHروى Z∗pﺑﺮﻗﺮار ﻧﻴﺴﺖ.
ﺑﺮﻫﺎن .ﺑﺎ آزﻣﺎﻳﺶ زﻳﺮ ﻣ ﺗﻮاﻧﻴﻢ ﺗﺸﺨﻴﺺ دﻫﻴﻢ ﻛﻪ y ∈ Z∗pﻣﺎﻧﺪه ﻣﺮﺑﻌ ﻫﺴﺖ ﻳﺎ ﻧﻪ:
p−۱
اﮔﺮ y ۲ = ۱ mod pﺑﺎﺷﺪ y ،ﻣﺎﻧﺪه ﻣﺮﺑﻌ اﺳﺖ.
p−۱
اﮔﺮ y ۲ = −۱ mod Nﺑﺎﺷﺪ y ،ﻣﺎﻧﺪه ﻧﺎﻣﺮﺑﻌ اﺳﺖ.
از روى اﻳﻦ ﻧ ﺘﻪ ﻣ ﺗﻮاﻧﻴﻢ ﻳﻚ ﺗﻤﺎﻳﺰﮔﺮ ﺑﺮاى ﺗﺸﺨﻴﺺ ﺗﻮزﻳﻊﻫﺎى ) D۱ = (g x , g y , g xyو ) D۰ = (g x , g y , g r
ﺑﺴﺎزﻳﻢ.
اﮔﺮ ﺣﺪاﻗﻞ ﻳ از xو yﻣﺎﻧﺪه ﻣﺮﺑﻌ ﺑﺎﺷﻨﺪ )ﻛﻪ ﺑﺎ اﺣﺘﻤﺎل ۴اﻳﻦ اﺗﻔﺎق ﻣ اﻓﺘﺪ( g ،ﺣﺘﻤﺎ ﻣﺎﻧﺪه ﻣﺮﺑﻌ اﺳﺖ ،وﻟ
xy ۳
g rﺑﺎ اﺣﺘﻤﺎل ۱۲ﻣﺎﻧﺪه ﻣﺮﺑﻌ اﺳﺖ .ﺣﺎل ﻣ ﺗﻮاﻧﻴﻢ ﺗﻤﺎﻳﺰﮔﺮ Dرا ﺑﻪ ﺻﻮرت زﻳﺮ ﺑﺴﺎزﻳﻢ:
{ p−۱
۱, w ۲ = ۱
= )D(u, v, w p−۱
۰ , w ۲ = −۱
دارﻳﻢ| Pr{D(D۰ ) = ۱} − Pr{D(D۱ ) = ۱}| = |۱/۲ − ۳/۴| = ۱/۴ :
ﺗﻤﺎﻳﺰﮔﺮ ﻣﺎ دارای ﻣﺰﯾﺖ ﻗﺎﺑﻞﺗﻮﺟﻪ اﺳﺖ ،ﭘﺲ ﻓﺮض DDHﺑﺮاى Z∗pﺑﺮﻗﺮار ﻧﻴﺴﺖ.
٢٢-٢
ﻓﺮﺿﯿﻪ ٣ﻓﺮض CDHروى Z∗pﺑﺮﻗﺮار اﺳﺖ.
ﻓﺮﺿﯿﻪ ۴اﮔﺮ Gزﻳﺮﮔﺮوه ﺑﺎ ﻣﺮﺗﺒﻪ qاز Z∗۲q+۱ﺑﺎﺷﺪ )ﻛﻪ qو ۲q + ۱اوﻟﻨﺪ( ،ﻓﺮض DDHﺑﺮاى Gﺑﺮﻗﺮار اﺳﺖ.
ﮔﻔﺘﻴﻢ اﻳﻦ ﺳﻴﺴﺘﻢ رﻣﺰ اﻣﻨﻴﺖ CPAﻧﺪارد ،ﭼﻮن اﻟ ﻮرﻳﺘﻢ رﻣﺰﻧ ﺎرى ﺗﺼﺎدﻓ ﻧﻴﺴﺖ.
٢٢-٣
(N, e, d) ← GenRSA(۱n ) .١
)pk = (N, e
)sk = (N, d
Encpk (m) .٢ﭘﻴﺎم ) m ∈ {۰, ۱}l(nرا ﻣ ﮔﻴﺮد ،ﺳﭙﺲ ﻳﻚ رﺷﺘﻪ ﺗﺼﺎدﻓ r ∈ {۰, ۱}|N |−l(n)−۱ﺗﻮﻟﻴﺪ
ﻣ ﻛﻨﺪ و در ﻧﻬﺎﻳﺖ ﻣﺘﻦ رﻣﺰ ﺷﺪه cرا ﺑﺮﻣ ﮔﺮداﻧﺪ ﻛﻪ cﺑﻪ ﺻﻮرت زﻳﺮ ﻣﺤﺎﺳﺒﻪ ﻣ ﺷﻮد:
x = r||m
c = xe mod N
ﻃﻮل ﻣﻘﺪار اﻓﺰوده ﺷﺪهی rﺗﺎﺛﯿﺮ ﻣﺴﺘﻘﯿﻢ ﺑﺮ اﻣﻨﯿﺖ ﺳﯿﺴﺘﻢ دارد .اﮔﺮ اﯾﻦ ﻃﻮل ﻧﺴﺒﺖ ﺑﻪ ﻃﻮل ﮐﻞ ﭘﯿﺎم ﻧﺎﭼﯿﺰ ﺑﺎﺷﺪ
)ﻣﺜﻼ )) (|r| = O(log(nآنﮔﺎه ﻣﻬﺎﺟﻢ ٧ﻣ ﺗﻮاﻧﺪ ﺑﺎ ﺟﺴﺘﺠﻮی ﮐﺎﻣﻞ روی ﺗﻤﺎم rﻫﺎ ﺑﻪ ﺳﯿﺴﺘﻢ ﺣﻤﻠﻪ ﮐﻨﺪ.
در ﺣﺎﻟﺘ ﮐﻪ ﺑﻪ ازاى ﻳﻚ ﺛﺎﺑﺖ l(n) = c · n ،c < ۱ﺑﺎﺷﺪ ،ﮔﺮﭼﻪ ﺗﺎﺑﻪﺣﺎل ﮐﺴ ﻣﻮﻓﻖ ﺑﻪ ﺷ ﺴﺘﻦ ﺳﯿﺴﺘﻢ ﻧﺸﺪه ،اﻣﺎ
اﺛﺒﺎﺗ ﻧﯿﺰ )ﺗﺤﺖ ﻓﺮض (RSAﺑﺮ اﻣﻨﯿﺖ ﺳﯿﺴﺘﻢ اراﺋﻪ ﻧﺸﺪه اﺳﺖ .در ﺣﺎﻻﺗ ﮐﻪ ﻃﻮل ﭘﯿﺎم mاز ﻣﺮﺗﺒﻪی ﻟ ﺎرﯾﺘﻤ
ﺑﺮﺣﺴﺐ ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺘ ﺑﺎﺷﺪ ،ﺳﯿﺴﺘﻢ ﺗﺤﺖ ﻓﺮض RSAدارای اﻣﻨﯿﺖ CPAاﺳﺖ.
ﻗﻀﯿﻪ ۴ﺳﻴﺴﺘﻢ رﻣﺰ RSAﭘﺪ ﺷﺪه ﺑﺎ )) ،l(n) = O(log(nﺗﺤﺖ ﻓﺮض RSAداراى اﻣﻨﻴﺖ CPAاﺳﺖ.
ﺗﻌﺮﻳﻒ اﻣﻨﻴﺖ CCAدر ﺳﻴﺴﺘﻢﻫﺎى رﻣﺰ ﻧﺎﻣﺘﻘﺎرن ﻣﺸﺎﺑﻪ اﻣﻨﻴﺖ CPAاﺳﺖ ،ﺑﺎ اﻳﻦ ﺗﻔﺎوت ﻛﻪ ﻣﻬﺎﺟﻢ ﻋﻼوه ﺑﺮ
دﺳﺘﺮﺳ ﺑﻪ ﮐﻠﯿﺪ ﻋﻤﻮﻣ ،ﺑﻪ اﻟ ﻮرﻳﺘﻢ رﻣﺰﮔﺸﺎﻳ ﻧﻴﺰ دﺳﺘﺮﺳ اوراﻛﻠ دارد .در اداﻣﻪ آزﻣﺎﻳﺶ ﺣﻤﻠﻪ ﻣﺘﻦ رﻣﺰﺷﺪه
ﻣﻨﺘﺨﺐ و اﻣﻨﻴﺖ CCAرا ﺑﺮاى ﺳﻴﺴﺘﻢﻫﺎى رﻣﺰ ﻧﺎﻣﺘﻘﺎرن ﺗﻌﺮﻳﻒ ﻣ ﻛﻨﻴﻢ:
٨
ﺗﻌﺮﯾﻒ ۶آزﻣﺎﯾﺶ ﺣﻤﻠﻪی ﻣﺘﻦ رﻣﺰﺷﺪه ﻣﻨﺘﺨﺐ )A,Π (n
PubKcca
PubKccaﻧﺸﺎن داده ﻣ ﺷﻮد ،ﺑﺮاﺑﺮﺳﺖ ﺑﺎ ،١اﮔﺮ ،b̂ = bدر ﻏﻴﺮ اﻳﻦ ﺻﻮرت ﺧﺮوﺟ
ﺧﺮوﺟ آزﻣﺎﯾﺶ ﻛﻪ ﺑﺎ )A,Π (n
آزﻣﺎﻳﺶ ٠اﺳﺖ.
٧
Adversary
٨
Chosen Ciphertext Attack
٢٢-۴
ﺗﻌﺮﯾﻒ ٧ﺳﯿﺴﺘﻢ رﻣﺰ ﻧﺎﻣﺘﻘﺎرن ) Π = (Gen, Enc, Decرا ،دارای اﻣﻨﯿﺖ ﻣﺘﻦ رﻣﺰﺷﺪه اﻧﺘﺨﺎﺑ )ﯾﺎ -CCAاﻣﻦ (٩
ﮔﻮﯾﯿﻢ ،اﮔﺮ ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ ﭼﻨﺪﺟﻤﻠﻪاى و ﺗﺼﺎدﻓ Aﻛﻪ در آزﻣﺎﻳﺶ ﻓﻮق ﺷﺮﻛﺖ ﻣ ﻛﻨﺪ ،ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ ) ε(nوﺟﻮد
داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ:
۱
≤ }A,Π (n) = ۱
Pr{PubKcca )+ ε(n
۲
روﺷ ﻣﺸﺎﺑﻪ رﻣﺰﻧ ﺎری RSAﭘﺪ ﺷﺪه در ﻋﻤﻞ ﻧﯿﺰ در ﺳﻴﺴﺘﻢ رﻣﺰى ﺑﻪ ﻧﺎم PKCS#1ﮐﻪ ﻧﺴﺨﻪی ﻧﺨﺴﺖ آن در
httpsﺑﻪ ﮐﺎر رﻓﺘﻪ ،ﭘﯿﺎده ﺷﺪه اﺳﺖ .ﻧﺤﻮهی اﻓﺰودن ﻣﻘﺪار ﺗﺼﺎدﻓ rدر اﯾﻦ روش در ﺷ ﻞ زﯾﺮ آورده ﺷﺪه اﺳﺖ.
در اﺑﺘﺪای ﭘﯿﺎم ﺑﺎﯾﺖ 02ﻗﺮار دارد ،ﺳﭙﺲ ﻣﻘﺪار ﺗﺼﺎدﻓ rﮐﻪ در آن ﺑﺎﻳﺖ ffﺑﻪ ﮐﺎر ﻧﺮﻓﺘﻪ اﺳﺖ ،ﺳﭙﺲ ﺑﺎﻳﺖ ffو
ﻧﻬﺎﯾﺘﺎ ﭘﯿﺎم .m
x = 02 r ff m
c = xe
ﺳﻴﺴﺘﻢ رﻣﺰ PKCS#1دارای اﻣﻨﯿﺖ CCAﻧﯿﺴﺖ .ﻳﻚ ﺣﻤﻠﻪ واﻗﻌ ﺑﻪ اﻳﻦ ﺳﻴﺴﺘﻢ وﺟﻮد دارد ﻛﻪ در آن ﻣﻬﺎﺟﻢ ﺑﺮای
ﯾﺎﻓﺘﻦ ﭘﯿﺎم اﺻﻠ ١٠ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﯾ ﻣﺘﻦ رﻣﺰﺷﺪه ،١١ﺗﻌﺪادی ﻣﺘﻦ رﻣﺰﺷﺪه ﺑﻪ ﭼﺎﻟﺸ ﺮ ﻓﺮﺳﺘﺎده و ﺑﺎ اﺳﺘﻔﺎده از ﭘﺎﺳﺦ وی
ﻣﻮﻓﻖ ﺑﻪ ﺷ ﺴﺘﻦ ﺳﯿﺴﺘﻢ ﻣ ﺷﻮد .اﮔﺮ در اﺑﺘﺪای ﯾ از ﭘﺮﺳﺶﻫﺎی ﻣﻬﺎﺟﻢ ﺑﺎﻳﺖ 02ﻧﺒﺎﺷﺪ ،ﭼﺎﻟﺸ ﺮ ﭘﻴﻐﺎﻣ ﻣﺒﻨ ﺑﺮ
ﻧﺎﻣﻌﺘﺒﺮ ﺑﻮدن ﻣﺘﻦ رﻣﺰﺷﺪه ﺑﻪ ﻣﻬﺎﺟﻢ ﻣ ﻓﺮﺳﺘﺪ و ﻣﻬﺎﺟﻢ ﻣﺘﻮﺟﻪ ﻧﺎﻣﻌﺘﺒﺮ ﺑﻮدن ﭘﯿﺎم رﻣﺰﺷﺪهی اوﻟﯿﻪ ﻣ ﺷﻮد .ﺑﺪﯾﻦﺗﺮﺗﯿﺐ
ﺑﺎ ارﺳﺎل ﺗﻌﺪاد ﺑﯿﺶﺗﺮ ﭘﯿﺎم رﻣﺰﺷﺪه و ﺑﺮرﺳ اﻋﺘﺒﺎر آنﻫﺎ ﺑﻪ ﻧﺘﯿﺠﻪ ﻣﻮردﻧﻈﺮ ﻣ رﺳﺪ.
⟨y, Ek (m)⟩ ← Encpk (m) .٢ﻛﻪ yو kﺑﻪ ﺻﻮرت زﻳﺮ ﻣﺤﺎﺳﺒﻪ ﻣ ﺷﻮﻧﺪ:
r) r ← Z∗Nﺑﻪ ﺗﺼﺎدف از Z∗Nاﻧﺘﺨﺎب ﻣ ﺷﻮد(.
)k = HN (r
y = re mod N
٩
chosen ciphertext attack secure
١٠
Plaintext
١١
Ciphertext
١٢
Hash Function
٢٢-۵
Dk (c۲ ) ← Decsk ⟨c۱ , c۲ ⟩ .٣ﻛﻪ kﺑﻪ ﺻﻮرت زﻳﺮ ﻣﺤﺎﺳﺒﻪ ﻣ ﺷﻮد:
r = cd۱ mod N
)k = HN (r
اﻳﻦ اﺳﺘﺎﻧﺪاردى اﺳﺖ ﺑﻪ ﻧﺎم ISOﻛﻪ در ﻋﻤﻞ ﺧﻴﻠ از آن اﺳﺘﻔﺎده ﻧﻤ ﺷﻮد.
١٣
ﺑﻮده و ﺗﺎﺑﻊ درﻫﻢﺳﺎزی ﻧﯿﺰ اوراﮐﻞ ﺛﺎﺑﺖ ﻣ ﺷﻮد اﮔﺮ ﺳﯿﺴﺘﻢ رﻣﺰ ﻣﺘﻘﺎرن اﺳﺘﻔﺎده ﺷﺪه دارای اﻣﻨﯿﺖ اﺻﺎﻟﺖﺳﻨﺠ
ﺗﺼﺎدﻓ ﺑﺎﺷﺪ ،ﺳﻴﺴﺘﻢ رﻣﺰ ﻋﻤﻮﻣ ﺗﻮﻟﯿﺪﺷﺪه دارای اﻣﻨﯿﺖ CCAﺧﻮاﻫﺪ ﺑﻮد .در اﯾﻦﺟﺎ ﻓﺮض ﺑﺮ اﯾﺪهآل ﺑﻮدن ﺗﺎﺑﻊ
درﻫﻢﺳﺎزی اﺳﺖ ﮐﻪ ﻣﺼﺪاﻗ ﻧﺪارد؛ درﻧﺘﯿﺠﻪ ﺑﺮای ﺣﻞ اﯾﻦ ﻣﺸ ﻞ از ﺗﻮاﺑﻊ درﻫﻢﺳﺎزی ﻣﻌﺮوف اﺳﺘﻔﺎده ﻣ ﺷﻮد ﮐﻪ
ﻧﻤ ﺗﻮان اﻣﻨﯿﺘﺶ را اﺛﺒﺎت ﮐﺮد ،اﻣﺎ ﺗﺎﺑﻪﺣﺎل ﻧﻴﺰ ﺷ ﺴﺘﻪ ﻧﺸﺪه اﺳﺖ.
روﺷ دﯾ ﺮ ﮐﻪ اﺳﺘﺎﻧﺪارد ﺑﻮده و اﻣﺮوزه ﭘﺮﮐﺎرﺑﺮد ﮔﺸﺘﻪ روﺷ اﺳﺖ ﺑﻪ ﻧﺎم .OAEPدر زﯾﺮ ﺑﻪ ﻋﻨﻮان ﻧﻤﻮﻧﻪای از اﯾﻦ
روش ،ﻧﺴﺨﻪی OAEP PKCS 1 v.2.ﺗﺸﺮﯾﺢ ﻣ ﺷﻮد:
در اﯾﻦ ﺳﯿﺴﺘﻢ دو ﺗﺎﺑﻊ درﻫﻢﺳﺎزی Hو Gاﺳﺘﻔﺎده ﻣ ﺷﻮد .ﭘﯿﺎم اوﻟﯿﻪ ﺑﺎ اﻓﺰوده ﺷﺪن ۰۱و ﺗﻌﺪاد ﻣﺸﺨﺼ ﺻﻔﺮ ﺑﻪ
اﻧﺘﻬﺎی ﺳﻤﺖ راﺳﺖ آن ﺑﺎ ) xor ،H(rﺷﺪه ) rﭘﯿﺎﻣ ﺗﺼﺎدﻓ اﺳﺖ( و ﺣﺎﺻﻞ ،ﻧﯿﻤﻪی اول ﺧﺮوﺟ ،xﻳﻌﻨ x۱را
ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ ،x۲ .ﻧﯿﻤﻪی دوم ،xﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ) .r ⊕ G(x۱ﻧﻬﺎﯾﺘﺎ ﭘﯿﺎم رﻣﺰﺷﺪه ﺑﺮاﺑﺮ c = xe mod Nﺧﻮاﻫﺪ
ﺑﻮد .ﻧﻤﻮدار اﻳﻦ ﺳﻴﺴﺘﻢ در زﻳﺮ آﻣﺪه اﺳﺖ:
.
m ۰۱ ۰···۰ r
⊕ H
G ⊕
در اﯾﻨﺠﺎ ﻧﯿﺰ اﮔﺮ ﺳﯿﺴﺘﻢ رﻣﺰ -CCAاﻣﻦ ﺑﺎﺷﺪ و دو ﺗﺎﺑﻊ درﻫﻢﺳﺎزى اﯾﺪهآل ﺑﺎﺷﻨﺪ ،ﻧﻬﺎﯾﺘﺎ ﺳﯿﺴﺘﻢ ﺗﺤﺖ ﻓﺮض RSA
دارای اﻣﻨﯿﺖ CCAﺧﻮاﻫﺪ ﺑﻮد .ﻧﺴﺨﻪﻫﺎی ﻣﺸﺎﺑﻪ ﺑﺎ ﯾ ﺗﺎﺑﻊ درﻫﻢﺳﺎزی ﻧﯿﺰ وﺟﻮد دارﻧﺪ ،اﻣﺎ ﮐﺎرﺑﺮد ﭼﻨﺪاﻧ ﻧﺪارﻧﺪ.
٢٢-۶
) Π = (G, E, Dﻣﻌﺮﻓ ﻣ ﻛﻨﻴﻢ:
) (G, q, g) ← GroupGen(۱n ) .١ﻳﻚ ﮔﺮوه دورى Gﺑﺎ ﻣﺮﺗﺒﻪ qو ﻣﻮﻟﺪ gﺗﻮﻟﻴﺪ ﻣ ﻛﻨﺪ(.
x)x ← Zqرا ﺑﻪ ﺗﺼﺎدف از Zqاﻧﺘﺨﺎب ﻣ ﻛﻨﺪ(.
h = gx
)pk = (G, q, g, h
)sk = (G, q, g, x
⟨u, c⟩ ← Encpk (m) .٢ﻛﻪ uو cﺑﻪ ﺻﻮرت زﻳﺮ ﻣﺤﺎﺳﺒﻪ ﻣ ﺷﻮﻧﺪ:
) r ← Zqﻳﻚ ﻋﺪد ﺗﺼﺎدﻓ rاز Zqاﻧﺘﺨﺎب ﻣ ﺷﻮد(.
u = g r , v = hr
)k = H(u, v
)c = Ek (m
ﻟﻢ ۵اﮔﺮ ﺗﺎﺑﻊ درﻫﻢﺳﺎزى Hاوراﻛﻞ ﺗﺼﺎدﻓ ﺑﺎﺷﺪ و اﮔﺮ ﺳﻴﺴﺘﻢ رﻣﺰ ﻣﺘﻘﺎرن Πداراى اﻣﻨﻴﺖ CCAﺑﺎﺷﺪ ،ﺗﺤﺖ
ﻓﺮض دﻳﻔ -ﻫﻠﻤﻦ ﻣﺤﺎﺳﺒﺎﺗ ﻧﺘﻴﺠﻪ ﻣ ﮔﻴﺮﻳﻢ اﻳﻦ ﺳﻴﺴﺘﻢ رﻣﺰ داراى اﻣﻨﻴﺖ CPAاﺳﺖ .ﻫﻤﭽﻨﯿﻦ اﮔﺮ ﺳﻴﺴﺘﻢ رﻣﺰ
ﻣﺘﻘﺎرن Πداراى اﻣﻨﻴﺖ CCAﺑﺎﺷﺪ ،ﺗﺤﺖ ﻓﺮض HDHﺳﻴﺴﺘﻢ رﻣﺰ اﻟ ﻤﺎل ﺑﺎ ﺗﺎﺑﻊ درﻫﻢﺳﺎزى ،داراى اﻣﻨﻴﺖ CPA
اﺳﺖ.
ﻧ ﺘﻪ ٣ﺗﺤﺖ ﻓﺮض HDHﻧﻤ ﺗﻮاﻧﻴﻢ اﻣﻨﻴﺖ CCAرا ﺑﺮاى ﺳﻴﺴﺘﻢ رﻣﺰ اﻟ ﻤﺎل ﺑﺎ ﺗﺎﺑﻊ درﻫﻢﺳﺎزى اﺛﺒﺎت ﻛﻨﻴﻢ.
١۵
ﻣ ﺗﻮان ﺛﺎﺑﺖ ﻛﺮد ﻛﻪ اﻳﻦ ﺳﻴﺴﺘﻢ رﻣﺰ ﺗﺤﺖ ﻓﺮض دﻳ ﺮى ﺑﻪ ﻧﺎم ﻓﺮض دﻳﻔ -ﻫﻠﻤﻦ ﭼ ﯿﺪهای ﺗﻌﺎﻣﻠ )(IHDH
داراى اﻣﻨﻴﺖ CCAاﺳﺖ.
) (G, q, g) ← GroupGen(۱n ) .١ﻳﻚ ﮔﺮوه دورى Gﺑﺎ ﻣﺮﺗﺒﻪ qو ﻣﻮﻟﺪ gﺗﻮﻟﻴﺪ ﻣ ﻛﻨﺪ(.
) x ← Zqﺑﻪ ﺗﺼﺎدف xرا از Zqاﻧﺘﺨﺎب ﻣ ﻛﻨﺪ(.
h = gx
١۵
Interactive Hash Diffie-Hellman
٢٢-٧
)pk = (G, q, g, h
)sk = (G, q, g, x
ﻟﻢ ۶ﺳﻴﺴﺘﻢ رﻣﺰ اﻟ ﻤﺎل ﺗﺤﺖ ﻓﺮض ،DDHاﻣﻨﻴﺖ ﻣﺘﻦ اﺻﻠ ﻣﻨﺘﺨﺐ دارد.
D
m۰ , m ۱
ﺑﺎ ﻓﺮض DDHﺑﻪ ﺗﻨﺎﻗﺾ رﺳﻴﺪﻳﻢ .ﭘﺲ ﻓﺮض ﺧﻠﻒ ﺑﺎﻃﻞ و ﺣ ﻢ ﺑﺮﻗﺮار اﺳﺖ.
٢٢-٨
از دﻻﻳﻞ آن اﻳﻦ اﺳﺖ ﻛﻪ اﻳﻦ ﺳﻴﺴﺘﻢ ﻧ ﺘﻪ ۴اﻳﻦ ﺳﻴﺴﺘﻢ ﺗﺤﺖ ﻓﺮض ،DDHاﻣﻨﻴﺖ ﻣﺘﻦ رﻣﺰﺷﺪه ﻣﻨﺘﺨﺐ ﻧﺪارد .ﻳ
داراى ﺧﺎﺻﻴﺖ ﻫﻤﻮﻣﻮرﻓﻴﻚ اﺳﺖ.
ﺗﻌﺮﯾﻒ ٨ﻣ ﮔﻮﻳﻴﻢ ﻳﻚ ﺳﻴﺴﺘﻢ رﻣﺰ داراى ﺧﺎﺻﻴﺖ ﻫﻤﻮﻣﻮرﻓﻴﻚ اﺳﺖ ،اﮔﺮ ﺑﺮاى ﻫﺮ ﭘﻴﺎم m۱و m۲در ﻓﻀﺎى ﭘﻴﺎم
ﺑﺎ ﻣﺘﻦﻫﺎى رﻣﺰﺷﺪه c۱و ،c۲راﺑﻄﻪ ) c۱ · c۲ = Enck (m۱ · m۲ﺑﺮﻗﺮار ﺑﺎﺷﺪ.
ﻗﻀﯿﻪ ٧اﮔﺮ ﻳﻚ ﺳﻴﺴﺘﻢ رﻣﺰ ﻛﻠﻴﺪ ﻋﻤﻮﻣ داراى وﻳﮋﮔ ﻫﻤﻮﻣﻮرﻓﻴﻚ ﺑﺎﺷﺪ ،داراى اﻣﻨﻴﺖ CCAﻧﻴﺴﺖ.
٢٢-٩
ﺑﻪ ﻧﺎم ﺧﺪا
در اﯾﻦ ﺟﻠﺴﻪ اﺑﺘﺪا ﺳﯿﺴﺘﻢ رﻣﺰی را ﻣﺒﺘﻨ ﺑﺮ ﻓﺮض دﯾﻔ -ﻫﻠﻤﻦ ﺗﺼﻤﯿﻤ ﻃﺮاﺣ ﻣ ﮐﻨﯿﻢ ﮐﻪ cpaاﻣﻦ اﺳﺖ )اﻣﻨﯿﺖ
ﻣﺘﻦ اﻧﺘﺨﺎب ﺷﺪه( و ﺳﭙﺲ ﺑﻪ ﺳﺮاغ ﺑﺤﺚ اﻣﻀﺎی دﯾﺠﯿﺘﺎل ﻣ روﯾﻢ.
ﮐﻪ در اﯾﻦ ﺟﺎ rﯾ ﻋﺪد ﺗﺼﺎدﻓ اﺳﺖ .ﯾﺎ ﺑﻪ ﻋﺒﺎرﺗ دﯾ ﺮ ﻣ ﮔﻮﯾﯿﻢ DDHﻧﺴﺒﺖ ﺑﻪ Gﺳﺨﺖ اﺳﺖ اﮔﺮ ﺑﻪ ازای
ﻫﺮ اﻟ ﻮرﯾﺘﻢ ﺗﺼﺎدﻓ Aﮐﻪ در زﻣﺎن ﭼﻨﺪﺟﻤﻠﻪ ای اﺟﺮا ﻣ ﺷﻮد داﺷﺘﻪ ﺑﺎﺷﯿﻢ:
ﮔﺮوه دوری Gﺑﺎ ﻣﺮﺗﺒﻪ ی qو ﻣﻮﻟﺪ gﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ( • ) ) (G, q, g) ← GroupGen(۱nﯾ
• h = gx
٢٣-١
• )sk = (G, q, g, x
اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری روی ورودی ﮐﻠﯿﺪ ﻋﻤﻮﻣ ) pk = (G, q, g, hو ﭘﯿﺎم :m ∈ G
اﻟ ﻮرﯾﺘﻢ رﻣﺰ ﮔﺸﺎﯾ روی ورودی ﮐﻠﯿﺪ ﺧﺼﻮﺻ ) sk = (G, q, g, xو ﻣﺘﻦ رﻣﺰ ﺷﺪه ⟩ :⟨c۱ , c۲
• m = c۲ /c۱ x
ﻣﺘﻦ ﺗﺼﺎدﻓ ﻣ دﻫﺪ .ب ﯾﺎد دارﯾﺪ واﺿﺢ اﺳﺖ ﮐﻪ اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری ﺗﺼﺎدﻓ اﺳﺖ و ﻫﺮ ﺑﺎر ﮐﻪ رﻣﺰ ﻣ ﮐﻨﯿﻢ ﯾ
ﮐﻪ اﮔﺮ اﻟ ﻮرﯾﺘﻢ رﻣﺰﻧ ﺎری ﺗﺼﺎدﻓ ﻧﺒﺎﺷﺪ cpaاﻣﻦ ﻧﯿﺴﺖ.
ﺑﺮای اﯾﻦ ﮐﻪ ﺑﺮرﺳ ﮐﻨﯿﻢ ﮐﻪ اﻟ ﻮرﯾﺘﻢ رﻣﺰﮔﺸﺎﯾ درﺳﺖ ﮐﺎر ﻣ ﮐﻨﺪ ﻓﺮض ﮐﻨﯿﺪ:
⟨c۱ , c۲ ⟩ = ⟨g , h · m⟩ ، h = g x .
r r
ﻗﻀﯿﻪ ١اﮔﺮ ﻣﺴﺌﻠﻪ ی دﯾﻔ -ﻫﻠﻤﻦ ﻣﺤﺎﺳﺒﺎﺗ ﻧﺴﺒﺖ ﺑﻪ Gﺳﺨﺖ ﺑﺎﺷﺪ آﻧ ﺎه ﺳﯿﺴﺘﻢ رﻣﺰ اﻟﺠﻤﺎل در ﻣﻘﺎﺑﻞ ﺣﻤﻠﻪ ی
ﻣﺘﻦ اﻧﺘﺨﺎب ﺷﺪه ،اﻣﻦ اﺳﺖ.
ﺣﻤﻠﻪ ﮐﻨﻨﺪه ی ﻏﯿﺮﻓﻌﺎل ﺑﺮﻫﺎن .ﻓﺮض ﮐﻨﯿﻢ Πﯾ ﻃﺮح ﺳﯿﺴﺘﻢ اﻟﺠﻤﺎل ﺑﺎﺷﺪ .ﺛﺎﺑﺖ ﻣ ﮐﻨﯿﻢ ﮐﻪ Πدر ﺣﻀﻮر ﯾ
)ﺷﻨﻮﻧﺪه( دارای اﻣﻨﯿﺖ cpaﻣ ﺑﺎﺷﺪ.
ﻓﺮض ﮐﻨﯿﺪ Aﯾ ﺣﻤﻠﻪ ﮐﻨﻨﺪه ی ﭼﻨﺪﺟﻤﻠﻪ ای ﺗﺼﺎدﻓ ﺑﺎﺷﺪ و ﺗﻌﺮﯾﻒ ﮐﻨﯿﺪ:
ﺣﺎل ﺳﯿﺴﺘﻢ رﻣﺰ ﺗﻐﯿﯿﺮ ﯾﺎﻓﺘﻪ ی Π′را در ﻧﻈﺮ ﻣ ﮔﯿﺮﯾﻢ ﮐﻪ اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ آن ) (Genﻫﻤﺎن اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ
Πاﺳﺖ وﻟ اﻟ ﻮرﯾﺘﻢ رﻣﺰ ﮐﺮدن آن روی ﭘﯿﺎم mو ﮐﻠﯿﺪ ﻋﻤﻮﻣ ) pk = (G, q, g, hﺑﻪ اﯾﻦ ﺻﻮرت اﺳﺖ:
• r ) r ← Zqرا ﺑﻪ ﺗﺼﺎدف از Zqاﻧﺘﺨﺎب ﻣ ﮐﻨﺪ(
• z ) z ← Zqرا ﺑﻪ ﺗﺼﺎدف از Zqاﻧﺘﺨﺎب ﻣ ﮐﻨﺪ(
• ⟩ ⟨g r , g z · mرا ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟ ﺑﺪه
آزﻣﺎﯾﺶ )′ (n اﮔﺮ ﭼﻪ Π′در واﻗﻊ ﯾ ﻃﺮح رﻣﺰ ﻧﯿﺴﺖ )ﭼﻮن راﻫ ﺑﺮای رﻣﺰ ﮔﺸﺎﯾ وﺟﻮد ﻧﺪارد( وﻟ
eav
P ubKA,Π
ﻫﻨﻮز ﻣﻌﺘﺒﺮ اﺳﺖ ﭼﻮن ﻓﻘﻂ ﺑﻪ اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ و رﻣﺰ ﮐﺮدن ﻣﺮﺑﻮط اﺳﺖ .ﻗﺴﻤﺖ دوم ﻣﺘﻦ رﻣﺰ ﺷﺪه در Π′ﺑﻪ
ﺻﻮرت ﯾ ﻨﻮاﺧﺖ ﺗﻮزﯾﻊ ﺷﺪه اﺳﺖ و ﺑﻪ ﭘﯿﺎم mواﺑﺴﺘﻪ ﻧﯿﺴﺖ )ﭼﻮن zﺑﻪ ﻃﻮر ﺗﺼﺎدﻓ اﻧﺘﺨﺎب ﺷﺪه و g zﯾ ﻋﻨﺼﺮ
ﺗﺼﺎدﻓ از Gاﺳﺖ(.ﻗﺴﻤﺖ اول ﻣﺘﻦ رﻣﺰ ﺷﺪه ﻫﻢ ﺑﻪ وﺿﻮح ﺑﻪ ﭘﯿﺎم mرﺑﻄ ﻧﺪارد ﺑﻨﺎﺑﺮاﯾﻦ ﮐﻞ ﻣﺘﻦ رﻣﺰ ﺷﺪه رﺑﻄ
ﺑﻪ mﻧﺪارد:
٢٣-٢
.Pr[P ubKA,Π
eav
]′ (n) = ۱/۲
ﺣﺎل اﻟ ﻮرﯾﺘﻢ ﭼﻨﺪﺟﻤﻠﻪ ای اﺣﺘﻤﺎﻟ Dزﯾﺮ را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ ﮐﻪ ﺗﻼش ﻣ ﮐﻨﺪ ﺗﺎ ﻣﺴﺌﻠﻪ ی دﯾﻔ -ﻫﻠﻤﻦ ﺗﺼﻤﯿﻤ را
ﻧﺴﺒﺖ ﺑﻪ Gﺣﻞ ﮐﻨﺪ:
ﻣ داﻧﯿﻢ ﮐﻪ Dﺑﻪ ﻋﻨﻮان ورودی ) (G, q, g, g۱ , g۲ , g۳را درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ ﮐﻪ g۱ = gو g۲ = gو g۳ﺑﺮاﺑﺮ ﺑﺎ
r x
• ﻗﺮار ﺑﺪه ) pk = (G, q, g, g۱ , g۲ , g۳و ) A(pkرا اﺟﺮا ﮐﻦ ﺗﺎ دو ﭘﯿﺎم m۱ , m۲را ﺑﻪ دﺳﺖ ﺑﯿﺎورد.
ﺣﺎﻟﺖ textbfاول :ﻓﺮض ﮐﻨﯿﻢ ورودی ) (G, q, g, g۱ , g۲ , g۳ﺑﻪ Dداده ﺷﺪه ﺑﺎﺷﺪ ﮐﻪ g۱ = g xو g۲ = g r
و g۳ﺑﺮاﺑﺮ ﺑﺎ g zﺑﺎﺷﺪ ،آﻧ ﺎه A ، Dرا روی ﮐﻠﯿﺪ ﻋﻤﻮﻣ ) pk = (G, q, g, g xاﺟﺮا ﻣ ﮐﻨﺪ و ﻣﺘﻦ رﻣﺰ ﺷﺪه ی
⟩ ⟨c۱ , c۲ ⟩ = ⟨g r , g z · mbرا ﺑﻪ دﺳﺖ ﻣ آورد .در اﯾﻦ ﺟﺎ اﮔﺮ ﺧﺮوﺟ b′ﻣﺮﺑﻮط ﺑﻪ Aﺑﺮاﺑﺮ ﺑﺎ bﺑﻮد Dﯾ را ﺑﻪ
ﺧﺮوﺟ ﻣ دﻫﺪ و ﺑﻨﺎ ﺑﺮاﯾﻦ دارﯾﻢ:
۱
.Pr[D(G, q, g, g x , g r , g z ) = ۱] = Pr[P ubKA,Π
eav
= ]′ (n) = ۱
۲
ﺣﺎﻟﺖ textbfدوم :ﻓﺮض ﮐﻨﯿﻢ ورودی ) (G, q, g, g۱ , g۲ , g۳ﺑﻪ Dداده ﺷﺪه ﺑﺎﺷﺪ ﮐﻪ g۱ = g xو g۲ = g r
و g۳ﺑﺮاﺑﺮ ﺑﺎ g xrﺑﺎﺷﺪ ،آﻧ ﺎه A ، Dرا روی ﮐﻠﯿﺪ ﻋﻤﻮﻣ ) pk = (G, q, g, g xاﺟﺮا ﻣ ﮐﻨﺪ و ﻣﺘﻦ رﻣﺰ ﺷﺪه ی
⟩ ⟨c۱ , c۲ ⟩ = ⟨g r , g xr · mbرا ﺑﻪ دﺳﺖ ﻣ آورد .در اﯾﻦ ﺟﺎ اﮔﺮ ﺧﺮوﺟ b′ﻣﺮﺑﻮط ﺑﻪ Aﺑﺮاﺑﺮ ﺑﺎ bﺑﻮد Dﯾ را ﺑﻪ
ﺧﺮوﺟ ﻣ دﻫﺪ و ﺑﻨﺎ ﺑﺮاﯾﻦ دارﯾﻢ:
ﭼﻮن ﻣﺴﺌﻠﻪ ی دﯾﻔ -ﻫﻠﻤﻦ ﺗﺼﻤﯿﻤ ﺳﺨﺖ اﺳﺖ ﭘﺲ ﺑﺎﯾﺪ داﺷﺘﻪ ﺑﺎﺷﯿﻢ:
۱
| = ].negl(n) ≥ Pr[D(G, q, g, g x , g y , g xy ) = ۱] − Pr[D(G, q, g, g x , g y , g z ) = ۱ |)− ϵ(n
۲
۱
≤ ) ϵ(nو ﺑﻪ اﯾﻦ ﺗﺮﺗﯿﺐ اﺛﺒﺎت ﮐﺎﻣﻞ ﻣ ﺷﻮد. و ﺑﻨﺎ ﺑﺮاﯾﻦ دارﯾﻢ )+ negl(n
۲
٢٣-٣
ﻣﻘﺎوﻣﺖ در ﺑﺮاﺑﺮ ﺣﻤﻠﻪ ی ﻣﺘﻦ رﻣﺰی اﻧﺘﺨﺎﺑ ٢.١
ﺣﺎل اﯾﻦ ﺳﻮال ﭘﯿﺶ ﻣ آﯾﺪ ﮐﻪ آﯾﺎ اﻟﺠﻤﺎل ﺗﺤﺖ ﺣﻤﻠﻪ ی ccaاﻣﻦ اﺳﺖ ﯾﺎ ﻧﻪ؟
ﺗﻌﺮﯾﻒ ٢ﺧﺎﺻﯿﺖ ﻫﻤﻮﻣﻮرﻓﯿ ﯾ ﺳﯿﺴﺘﻢ رﻣﺰ ﺑﺎ ﮐﻠﯿﺪ ﻋﻤﻮﻣ دارای ﺧﺎﺻﯿﺖ ﻫﻤﻮﻣﻮرﻓﯿ اﺳﺖ اﮔﺮ ﺑﺮای ﻫﺮ n
و ﺑﺮای ﻫﺮ ) (sk،pkﮐﻪ ﺑﻪ وﺳﯿﻠﻪ ی اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟ داده ﻣ ﺷﻮﻧﺪ ،ﺑﺘﻮان ﮔﺮوه ﻫﺎی Mو C
را ﺗﻌﺮﯾﻒ ﮐﺮد ﮐﻪ:
• ﻓﻀﺎی ﭘﯿﺎم Mاﺳﺖ و ﻫﻤﻪ ی ﻣﺘﻦ ﻫﺎی رﻣﺰی ﮐﻪ ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟ اﻟ ﻮرﯾﺘﻢ Encpkداده ﻣ ﺷﻮﻧﺪ ﻋﻀﻮ C
ﺑﺎﺷﻨﺪ.
ﭘﯿﺎم ﺑﺎﺷﺪ ،ﻣ ﺗﻮان از روی آن ﺗﻌﺮﯾﻒ ٣رﻣﺰﮔﺬاری ﻣﺠﺪد اﮔﺮ ﯾ ﻣﺘﻦ رﻣﺰ ﺷﺪه داﺷﺘﻪ ﺑﺎﺷﯿﻢ ﮐﻪ رﻣﺰ ﺷﺪه ی ﯾ
دوﺑﺎره ﻣﺘﻦ را رﻣﺰ ﮐﺮد و ﻣﺘﻦ رﻣﺰی ﺟﺪﯾﺪی ﺑﺪﺳﺖ آورد.
در ﺳﯿﺴﺘﻢ رﻣﺰ اﻟﺠﻤﺎل دارﯾﻢ:
ﺑﻪ ﻋﺒﺎرﺗ دﯾ ﺮ ﻣﺘﻦ رﻣﺰ ﺷﺪه ی Cرا در ) Encsk (۱ﺿﺮب ﻣ ﮐﻨﯿﻢ و ﻣﺘﻦ رﻣﺰ ﺷﺪه ی ﺟﺪﯾﺪی ﺑﺪﺳﺖ ﻣ آﯾﺪ.
ﺑﻨﺎﺑﺮاﯾﻦ ﺑﻪ وﺿﻮح ﺳﯿﺴﺘﻢ رﻣﺰ اﻟﺠﻤﺎل ccaاﻣﻦ ﻧﯿﺴﺖ ).ﺣﻤﻠﻪ ﮐﻨﻨﺪه دو ﭘﯿﺎم ﻣﻮرد ﭼﺎﻟﺶ m۱ , m۲را ﺑﻪ ﭼﺎﻟﺸ ﺮ
ﻣ دﻫﺪ و ﭼﺎﻟﺸ ﺮ ﯾ ﻣﺘﻦ رﻣﺰ ﺷﺪه ی cﺑﺮﻣ ﮔﺮداﻧﺪ ﮐﻪ ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﺑﺎﯾﺪ ﺑ ﻮﯾﺪ ﻣﺘﻦ رﻣﺰ ﺷﺪه ی ﮐﺪام ﭘﯿﺎم اﺳﺖ.
ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﻣﺘﻦ m۳را ﺑﻪ ﭼﺎﻟﺸ ﺮ ﻣ دﻫﺪ و ﻣﺘﻦ رﻣﺰی c۳را درﯾﺎﻓﺖ ﻣ ﮐﻨﺪ و ﺳﭙﺲ ﻣﺘﻦ رﻣﺰ ﺷﺪه ی c.c۳را ﺑﻪ
ﭼﺎﻟﺸ ﺮ ﻣ دﻫﺪ و ﭼﺎﻟﺸ ﺮ ﺑﻪ ﺣﻤﻠﻪ ﮐﻨﻨﺪه m۳ .mbرا ﺑﺮﻣ ﮔﺮداﻧﺪ و ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﺑﺎ اﺳﺘﻔﺎده از اﯾﻦ bﻣ ﺗﻮاﻧﺪ ﺑﻪ راﺣﺘ
ﺑﻔﻬﻤﺪ ﮐﻪ cﻣﺘﻦ رﻣﺰ ﺷﺪه ی ﮐﺪام ﭘﯿﺎم ﺑﻮده اﺳﺖ(
ﺳﯿﺴﺘﻢ اﻟﺠﻤﺎل ﺑﺎ اﺳﺘﻔﺎده از ﺗﺎﺑﻊ درﻫﻢ ﺳﺎزی و رﻣﺰ ﻣﺘﻘﺎرن ﻣ ﺗﻮاﻧﺪ اﻣﻨﯿﺖ ccaرا ﺑﺮای ﻣﺎ ﻓﺮاﻫﻢ ﮐﻨﺪ و دو ﻧﻮع رﻣﺰ
RSAی درﻫﻢ ﺳﺎزی ﺷﺪه و اﻟ ﻮی درﻫﻢ ﺳﺎزی-ﺑﻌﺪ-اﻣﻀﺎ در ﻋﻤﻞ اﯾﻦ ﻧﻮع اﻣﻨﯿﺖ را ﺑﺮای ﻣﺎ ﻓﺮاﻫﻢ ﻣ ﮐﻨﻨﺪ.
٢٣-۴
٢اﻣﻀﺎی دﯾﺠﯿﺘﺎل
در اﯾﻦ ﻗﺴﻤﺖ اﻣﻀﺎی دﯾﺠﯿﺘﺎل ١را ﺗﻮﺿﯿﺢ ﻣ دﻫﯿﻢ ﮐﻪ دارای وﯾﮋﮔ ﻫﺎی زﯾﺮ اﺳﺖ:
ﮐﻠﯿﺪ ﺧﺼﻮﺻ داﺷﺘﻪ ﺑﺎﺷﯿﻢ ﺗﺎ ﺑﺘﻮاﻧﯿﻢ آن را اﺛﺒﺎت • ﺑﻪ ﻃﻮر ﻋﻤﻮﻣ ﻗﺎﺑﻞ اﺛﺒﺎت اﺳﺖ :۴ﻻزم ﻧﯿﺴﺖ ﺣﺘﻤﺎ ﯾ
ﮐﻨﯿﻢ.
ﭘﯿﺎم ﺑﻪ ﻣﺎ ﺑﺪﻫﻨﺪ ﻣ ﺗﻮان آن را ﺑﻪ ﻧﺰدﺷﺨﺺ دﯾ ﺮ ﺑﺮد و ﻧﺸﺎن داد ﮐﻪ ﻣﺜﻼ اﻣﻀﺎی • ﻗﺎﺑﻞ اﻧﺘﻘﺎل اﺳﺖ :۵اﮔﺮ ﯾ
ﮐﺴ اﺳﺖ.
ﺳﻪ ﺗﺎﯾ از ﺳﻪ اﻟ ﻮرﯾﺘﻢ ﭼﻨﺪﺟﻤﻠﻪ ای اﺣﺘﻤﺎﻟ ) (Gen, Sign, Vrfyاﺳﺖ ﮐﻪ دارای ﺗﻌﺮﯾﻒ ۴ﯾ ﻃﺮح اﻣﻀﺎ ﯾ
ﺷﺮاﯾﻂ زﯾﺮ اﺳﺖ:
.١اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ ) (Genﺑﻪ ﻋﻨﻮان ورودی ﭘﺎراﻣﺘﺮ اﻣﻨﯿﺖ ۱nرا ﻣ ﮔﯿﺮﯾﺪ و دو ﮐﻠﯿﺪ ) (pk, skﺑﺎ ﻃﻮل nرا
ﺑﻪ ﺧﺮوﺟ ﻣ دﻫﺪ ﮐﻪ pkﮐﻠﯿﺪ ﻋﻤﻮﻣ و skﮐﻠﯿﺪ ﺧﺼﻮﺻ اﺳﺖ.
.٢اﻟ ﻮرﯾﺘﻢ اﻣﻀﺎ ) (Signﺑﻪ ﻋﻨﻮان ورودی ﮐﻠﯿﺪ ﺧﺼﻮﺻ skو ﭘﯿﺎم mرا ﻣ ﮔﯿﺮد و ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟ اﻣﻀﺎی
σرا ﺑﯿﺮون ﻣ دﻫﺪ ﮐﻪ ﺑﺎ ) σ ← Signsk (mﻧﻤﺎﯾﺶ ﻣ دﻫﯿﻢ
.٣اﻟ ﻮرﯾﺘﻢ ﻣﻌﯿﻦ ﺗﺼﺪﯾﻖ ) (Vrfyﺑﻪ ﻋﻨﻮان ورودی ﮐﻠﯿﺪ ﻋﻤﻮﻣ pkو ﭘﯿﺎم mو اﻣﻀﺎی σرا ﻣ ﮔﯿﺮد و ﺧﺮوﺟ
آن ﯾ ﺑﯿﺖ bاﺳﺖ اﮔﺮ b = ۱ﺑﺎﺷﺪ ﯾﻌﻨ اﻣﻀﺎ ﻣﻌﺘﺒﺮ اﺳﺖ و اﮔﺮ b = ۰ﺑﺎﺷﺪ اﻣﻀﺎ ﻧﺎﻣﻌﺘﺒﺮ اﺳﺖ .اﯾﻦ را
ﺑﺎ ) b = Vrfypk (m, σﻧﻤﺎﯾﺶ ﻣ دﻫﯿﻢ.
آزﻣﺎﯾﺶ ﻃﺮاﺣ ﻣ ﮐﻨﯿﻢ: ﺣﺎل اﻣﻨﯿﺖ را ﺑﺮای اﯾﻦ ﺳﯿﺴﺘﻢ ﺗﻌﺮﯾﻒ ﻣ ﮐﻨﯿﻢ .ﺑﺮای اﯾﻦ ﮐﺎر اﺑﺘﺪا ﯾ
• ) (sk, pk) ← Gen(۱nﺑﻪ وﺳﯿﻠﻪ ی اﻟ ﻮرﯾﺘﻢ Genدو ﮐﻠﯿﺪ sk, pkرا ﺗﻮﻟﯿﺪ ﮐﻦ
١
Digital Signature
٢
Integrity
٣
Non-repudation
۴
Publicly verifiable
۵
Transferable
٢٣-۵
• )=Q ، (m, σ) ← ASignsk (pkﻣﺠﻤﻮﻋﻪ ی ﻫﻤﻪ ی ﭘﯿﺎم ﻫﺎﯾ ﮐﻪ اﻣﻀﺎی آن ﻫﺎ ﺑﻪ وﺳﯿﻠﻪ ی Aدر ﻃﻮل اﺟﺮا
درﺧﻮاﺳﺖ ﺷﺪه اﻧﺪ
• ﺧﺮوﺟ ١را ﺑﺪه اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ Vrfypk (m, σ) = ۱و / Q
∈m
اﺑﺘﺪا اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ ،ﮐﻠﯿﺪ ﻋﻤﻮﻣ و ﺧﺼﻮﺻ را ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ .ﺳﭙﺲ ﺑﻪ ﺣﻤﻠﻪ ﮐﻨﻨﺪه دﺳﺘﺮﺳ اوراﮐﻠ ﺑﻪ
اﻟ ﻮرﯾﺘﻢ اﻣﻀﺎ ﻣ دﻫﯿﻢ ﯾﻌﻨ ﻫﺮ ﭘﯿﺎﻣ را ﮐﻪ ﺑﺨﻮاﻫﺪ ﺑﺮاﯾﺶ رﻣﺰ ﻣ ﮐﻨﯿﻢ و در ﻧﻬﺎﯾﺖ ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﯾ ﭘﯿﺎم را ﮐﻪ ﻗﺒﻼ
اﻣﻀﺎی آن را از ﻣﺎ ﻧﭙﺮﺳﯿﺪه اﺳﺖ ﺑﻪ ﻫﻤﺮاه اﻣﻀﺎﯾﺶ ﺑﻪ ﻣﺎ)ﭼﺎﻟﺸ ﺮ( ﻣ دﻫﺪ و اﮔﺮ اﻣﻀﺎی ﻣﻌﺘﺒﺮی ﺑﺮای ﭘﯿﺎم ﺑﺎﺷﺪ
ﺣﻤﻠﻪ ﮐﻨﻨﺪه ﭘﯿﺮوز ﻣ ﺷﻮد.
ﺗﻌﺮﯾﻒ ۵اﻣﻨﯿﺖ ﺟﻌﻞ ﻧﺎﭘﺬﯾﺮی اﻣﻀﺎ :ﻣ ﮔﻮﯾﯿﻢ ﺳﯿﺴﺘﻢ اﻣﻀﺎی دﯾﺠﯿﺘﺎل Πداراری اﻣﻨﯿﺖ ﺟﻌﻞ ﻧﺎﭘﺬﯾﺮی اﺳﺖ اﮔﺮ
ﺑﺮای ﻫﺮ ﻣﻬﺎﺟﻢ ﭼﻨﺪﺟﻤﻠﻪ ای اﺣﺘﻤﺎﻟ ،ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ )( ϵوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ :
Pr{SignforgeΠ,A (n) = ۱} ≤ ϵ(n).
ﺳﯿﺴﺘﻢ اﻣﻀﺎی دﯾﺠﯿﺘﺎل اﻣﻦ ﻃﺮاﺣ ﮐﻨﯿﻢ؟ ﺣﺎل ﺑﺎ ﺳﻮال ﺑﻌﺪ رو ﺑﻪ رو ﻣ ﺷﻮﯾﻢ :ﭼﻄﻮر ﯾ
اﻟ ﻮرﯾﺘﻢ ﺗﺼﺪﯾﻖ اﻣﻀﺎ را اراﺋﻪ ﺑﺪﻫﯿﻢ: اﻟ ﻮرﯾﺘﻢ اﻣﻀﺎ و ﯾ اﻟ ﻮرﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ ،ﯾ ﺑﺮای ﻃﺮاﺣ ﺳﯿﺴﺘﻢ ﺑﺎﯾﺪ ﯾ
• : Genروی ورودی ۱nاﻟ ﻮرﯾﺘﻢ ) GenRSA(۱nرا اﺟﺮا ﮐﻦ ﺗﺎ ) (N, e, dرا ﺑﺪﺳﺖ آوری .ﮐﻠﯿﺪ ﻋﻤﻮﻣ
ﺑﺮاﺑﺮ ﺑﺎ ⟩ ⟨N, eاﺳﺖ و ﮐﻠﯿﺪ ﺧﺼﻮﺻ ﺑﺮاﺑﺮ ﺑﺎ ⟩ ⟨N, dﻣ ﺑﺎﺷﺪ.
• : Signروی ورودی ﮐﻠﯿﺪ ﺧﺼﻮﺻ ⟩ sk = ⟨N, dو ﭘﯿﺎم ∗ ZNاﻣﻀﺎ را ﻣﺤﺎﺳﺒﻪ ﮐﻦ:
• : Vrfyروی ورودی ﮐﻠﯿﺪ ﻋﻤﻮﻣ ⟩ pk = ⟨N, eو ﭘﯿﺎم ∗ m ∈ ZNو اﻣﻀﺎی ∗ σ ∈ ZNﺧﺮوﺟ ١را ﺑﺪه
اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ :
] m = [σ e mod N
اﯾﻦ ﺳﯿﺴﺘﻢ دارای اﻣﻨﯿﺖ ﺟﻌﻞ ﻧﺎﭘﺬﯾﺮی ﻧﯿﺴﺖ ﭼﻮن ﺧﺎﺻﯿﺖ ﻫﻤﻮﻣﻮرﻓﯿ دارد.
ﺑﺮای اﻣﻦ ﮐﺮدن اﯾﻦ ﺳﯿﺴﺘﻢ از ﺗﺎﺑﻊ درﻫﻢ ﺳﺎزی اﺳﺘﻔﺎده ﻣ ﮐﻨﯿﻢ ﮐﻪ دو وﯾﮋﮔ ﻣﻬﻢ دارد:
• اﻣﻨﯿﺖ ﺟﻌﻞ ﻧﺎﭘﺬﯾﺮی را ﺑﺮای ﻣﺎ ﻓﺮاﻫﻢ ﻣ ﮐﻨﺪ
• اﮔﺮ ﻃﻮل ﭘﯿﺎم ﺧﯿﻠ ﺑﺰرگ ﺑﺎﺷﺪ ﺧﻮد اﻣﻀﺎ ﻫﻢ ﺧﯿﻠ ﺑﺰرگ ﻣ ﺷﻮد وﻟ ﺑﺎ اﺳﺘﻔﺎده از ﺗﺎﺑﻊ درﻫﻢ ﺳﺎزی ﻣ ﺗﻮاﻧﯿﻢ
ﻃﻮل اﻣﻀﺎ را ﮐﺎﻫﺶ دﻫﯿﻢ.
۶
Textbook RSA digital signature
٢٣-۶
اﻣﻀﺎی دﯾﺠﯿﺘﺎل ﺑﺎ RSAو ﺗﺎﺑﻊ درﻫﻢ ﺳﺎزی ٢.٢
ﺣﺎل از ﺗﺎﺑﻊ درﻫﻢ ﺳﺎزی در اﻟ ﻮرﯾﺘﻢ RSAاﺳﺘﻔﺎده ﻣ ﮐﻨﯿﻢ:
• : Genروی ورودی ۱nاﻟ ﻮرﯾﺘﻢ ) GenRSA(۱nرا اﺟﺮا ﮐﻦ ﺗﺎ ) (N, e, dرا ﺑﺪﺳﺖ آوری .ﮐﻠﯿﺪ ﻋﻤﻮﻣ
ﺑﺮاﺑﺮ ﺑﺎ ⟩ ⟨N, eاﺳﺖ و ﮐﻠﯿﺪ ﺧﺼﻮﺻ ﺑﺮاﺑﺮ ﺑﺎ ⟩ ⟨N, dﻣ ﺑﺎﺷﺪ.
• : Signروی ورودی ﮐﻠﯿﺪ ﺧﺼﻮﺻ ⟩ sk = ⟨N, dو ﭘﯿﺎم ∗ ZNاﻣﻀﺎ را ﻣﺤﺎﺳﺒﻪ ﮐﻦ:
• : Vrfyروی ورودی ﮐﻠﯿﺪ ﻋﻤﻮﻣ ⟩ pk = ⟨N, eو ﭘﯿﺎم ∗ m ∈ ZNو اﻣﻀﺎی ∗ σ ∈ ZNﺧﺮوﺟ ١را ﺑﺪه
اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ :
در اﯾﻦ ﻣﺪل ﺗﺎﺑﻊ درﻫﻢ ﺳﺎزی ﺑﺎﯾﺪ ﮐﺎﻣﻼ ﺗﺼﺎدﻓ ﺑﺎﺷﺪ ﮐﻪ در ﻣﺪل اوراﮐﻞ ﺗﺼﺎدﻓ ﻣﺤﻘﻖ ﻣ ﺷﻮد.
٧
ﺳﯿﺴﺘﻢ دﯾ ﺮی ﮐﻪ اﺳﺘﺎﻧﺪارد اﺳﺖ و در ﻋﻤﻞ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣ ﮔﯿﺮد ﺳﯿﺴﺘﻢ اﻣﻀﺎی دﯾﺠﯿﺘﺎل اﺳﺘﺎﻧﺪارد ﻣ ﺑﺎﺷﺪ :
• : Genروی ورودی ۱nاﻟ ﻮرﯾﺘﻢ Gرا اﺟﺮا ﮐﻦ ﺗﺎ ) (p, q, gرا ﺑﺪﺳﺖ آوری .ﻓﺮض ﮐﻨﯿﻢ → ∗}H : {۰, ۱
Zqﯾ ﺗﺎﺑﻊ ﺑﺎﺷﺪ .ﯾ x ← Zqﺑﻪ ﻃﻮر ﯾ ﻨﻮاﺧﺖ و ﺗﺼﺎدﻓ اﻧﺘﺨﺎب ﮐﻦ و ﻗﺮار ﺑﺪه ].y = [g x mod p
ﮐﻠﯿﺪ ﻋﻤﻮﻣ ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ⟩ ⟨H, p, q, g, yو ﮐﻠﯿﺪ ﺧﺼﻮﺻ ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ⟩.⟨H, p, q, g, x
• : Signروی ورودی ﮐﻠﯿﺪ ﺧﺼﻮﺻ ⟩ ⟨H, p, q, g, xو ﭘﯿﺎم ∗} k ← Zq ∗ ، m ∈ {o, ۱را ﺑﻪ ﻃﻮر ﯾ ﻨﻮاﺧﺖ
و ﺗﺼﺎدﻓ اﻧﺘﺨﺎب ﮐﻦ و ﻗﺮار ﺑﺪه ] s = [(H(m) + xr).k −۱ mod q] .r = [[g k mod p] mod qرا
ﻣﺤﺎﺳﺒﻪ ﮐﻦ و اﻣﻀﺎی ) (r, sرا ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟ ﺑﺪه.
• : Vrfyروی ورودی ﮐﻠﯿﺪ ﻋﻤﻮﻣ ⟩ ⟨H, p, q, g, yو ﭘﯿﺎم ∗} m ∈ {o, ۱و اﻣﻀﺎی ) (r, sﮐﻪ r ∈ Zqو
∗ s ∈ Zqاﺳﺖ ،ﻣﻘﺎدﯾﺮ ] u۱ = [H(m).s−۱ mod qو ] u۲ = [r.s−۱ mod qرا ﻣﺤﺎﺳﺒﻪ ﮐﻦ .ﺧﺮوﺟ
١ﺑﺪه اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ :
٧
Digital Signature Standard
٢٣-٧
ﺑﻪ ﻧﺎﻡ ﺧﺪﺍ
۱ﻣﻘﺪﻣﻪ
ﺑﺮﮔﺰﺍﺭﯼ ﺍﻧﺘﺨﺎﺑﺎﺕ ﺍﺯ ﻣﻬﻤﺘﺮ ﯾﻦ ﻭﻇﺎﯾﻒ ﻫﺮ ﺩﻭﻟﺖ ﻣﺮﺩﻡﺳﺎﻻﺭ ﺍﺳﺖ .ﺍﺯ ﺳﻮﯼ ﺩﯾﮕﺮ ﺍﻣﺎ ﺑﻪ ﺩﺭﺳﺘﯽ ﺍﻧﺠﺎﻡ ﺩﺍﺩﻥ ﺍﯾﻦ ﻭﻇﯿﻔﻪ،
ﺑﺮﺍﯼ ﻫﺮ ﺩﻭﻟﺘﯽ ﻣﯽﺗﻮﺍﻧﺪ ﯾﻚ ﭼﺎﻟﺶ ﻣﻬﻢ ﻧﯿﺰ ﻣﺤﺴﻮﺏ ﺷﻮﺩ؛ ﭼﻪ ﺍﯾﻨﻜﻪ ﺑﺮﺁﻭﺭﺩﻩ ﺳﺎﺧﺘﻦ ﻣﻠﺰ ﻭﻣﺎﺕ ﻭ ﺭﻋﺎﯾﺖ ﻣﺤﺪﻭﺩﯾﺖﻫﺎﯼ
ﺁﻥ ﺑﻪ ﺳﺎﺩﮔﯽ ﻣﯿﺴﺮ ﻧﯿﺴﺖ .ﻣﻤﻜﻦ ﺍﺳﺖ ﺩﺭ ﻧﮕﺎﻩ ﺍﻭﻝ ﭼﻨﯿﻦ ﺑﻪ ﻧﻈﺮ ﺁﯾﺪ ﻛﻪ ﺑﺮﮔﺰﺍﺭﯼ ﺭﺃﯼﮔﯿﺮﯼ ﺑﺎ ﺩﺳﺘﮕﺎﻩﻫﺎﯼ ﺭﺃﯼﮔﯿﺮﯼ
ﻣﺴﺘﻘﯿﻢ ﺍﻟﻜﺘﺮ ﻭﻧﯿﻜﯽ ،۱ DRE ،ﻣﺸﻜﻼﺕ ﻭ ﻣﺤﺪﻭﺩﯾﺖﻫﺎﯼ ﻣﻮﺭﺩ ﺑﺤﺚ ﺭﺍ ﺑﻪ ﺳﺎﺩﮔﯽ ﻣﺮﺗﻔﻊ ﻣﯽﺳﺎﺯﺩ ﻭ ﺩﺭ ﻋﯿﻦ ﺣﺎﻝ ﺳﺮﻋﺖ
ﺍﻧﺠﺎﻡ ﻋﻤﻠﯿﺎﺕ ﺭﺍ ﻧﯿﺰ ﺑﻬﺒﻮﺩ ﻣﯽﺑﺨﺸﺪ .ﺍﻣﺎ ﺭﺃﯼﮔﯿﺮﯼ ﺍﻟﻜﺘﺮ ﻭﻧﯿﻜﯽ ﻧﯿﺰ ﻣﻠﺰ ﻭﻣﺎﺕ ﺍﻣﻨﯿﺘﯽ ﺧﺎﺹ ﺧﻮﺩ ﺭﺍ ﺩﺍﺭﺩ ﻛﻪ ﺑﺴﯿﺎﺭ ﻣﺘﻨﻮﻉ
ﻭ ﮔﺎﻫﯽ ﺣﺘﯽ ﻣﺘﻨﺎﻗﺾ ﻫﺴﺘﻨﺪ .ﺑﺮﺍﯼ ﻧﻤﻮﻧﻪ ،ﻫﺮ ﺭﺃﯼﺩﻫﻨﺪﻩ ﺑﺎﯾﺪ ﺍﯾﻦ ﺍﻣﻜﺎﻥ ﺭﺍ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ﺗﺎ ﻣﻄﻤﺌﻦ ﺷﻮﺩ ﺭﺃﯼﺍﺵ ﺑﻪ ﺩﺭﺳﺘﯽ
ﻭ ﭼﻨﺎﻥ ﻛﻪ ﻣﻮﺭﺩ ﻧﻈﺮﺵ ﺑﻮﺩﻩ ﺛﺒﺖ ﺷﺪﻩ ﺍﺳﺖ .ﺍﻣﺎ ﺩﺭ ﻋﯿﻦ ﺣﺎﻝ ﺑﺮﺍﯼ ﺟﻠﻮﮔﯿﺮﯼ ﺍﺯ ﺧﺮ ﯾﺪ ﻭ ﻓﺮ ﻭﺵ ﺭﺃﯼ ،ﻫﻤﯿﻦ ﺭﺃﯼﺩﻫﻨﺪﻩ
ﻧﺒﺎﯾﺪ ﺑﺘﻮﺍﻧﺪ ﺑﻪ ﺩﯾﮕﺮﺍﻥ ﺛﺎﺑﺖ ﻛﻨﺪ ﻛﻪ ﭼﻪ ﺭﺃﯾﯽ ﺩﺍﺩﻩ ﺍﺳﺖ .ﺑﻪﻛﺎﺭﮔﯿﺮﯼ ﺗﻜﻨﯿﻚﻫﺎﯼ ﺭﻣﺰﻧﮕﺎﺭﯼ ﺩﺭ ﺭﺃﯼﮔﯿﺮﯼ ﺍﻟﻜﺘﺮ ﻭﻧﯿﻜﯽ
ﺑﺮﺍﯼ ﭘﺎﺳﺦﮔﻮﯾﯽ ﺑﻪ ﭼﻨﯿﻦ ﺩﻏﺪﻏﻪﻫﺎﯾﯽ ﺍﺳﺖ.
ﺩﺭ ﺍﺩﺍﻣﻪ ﺑﻪ ﺑﺮ ﺭﺳﯽ ﺍﺻﻮﻝ ﻛﻠﯽ ﺭﺃﯼﮔﯿﺮﯼ ﺍﻟﻜﺘﺮ ﻭﻧﯿﻜﯽ ﺧﻮﺍﻫﯿﻢ ﭘﺮﺩﺍﺧﺖ .ﺩﺭ ﺣﺎﻟﺖ ﻛﻠﯽ ﺩﺭ ﺍﯾﻦ ﺑﺤﺚ ﺩﻭ ﻣﻮﺿﻮﻉ ﺩﺭ ﻛﺎﻧﻮﻥ
ﺗﻮﺟﻪ ﻗﺮﺍﺭ ﻣﯽﮔﯿﺮﺩ :ﺻﺤﺖ ۲ﺭﺃﯼﮔﯿﺮﯼ ﻭ ﺣﻔﻆ ﺣﺮ ﯾﻢ ﺧﺼﻮﺻﯽ .۳
ﺩﺭ ﺍﯾﻨﺠﺎ ﻗﺼﺪ ﺩﺍﺭ ﯾﻢ ﺗﺎ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺳﺎﺩﻩﺗﺮ ﯾﻦ ﻓﺮﺽﻫﺎﯼ ﻣﻤﻜﻦ ،ﻃﺮﺣﯽ ﻣﻘﺪﻣﺎﺗﯽ ﺑﺮﺍﯼ ﺍﻧﺠﺎﻡ ﯾﻚ ﺭﺃﯼﮔﯿﺮﯼ ﺍﻟﻜﺘﺮ ﻭﻧﯿﻜﯽ
ﺍﺭﺍﺋﻪ ﻛﻨﯿﻢ .ﺩﺭ ﺍﺩﺍﻣﻪ ﺑﻪ ﺑﺮ ﺭﺳﯽ ﻣﻼﺣﻈﺎﺕ ﺍﻣﻨﯿﺘﯽ ﻣﻬﻤﯽ ﺧﻮﺍﻫﯿﻢ ﭘﺮﺩﺍﺧﺖ ﻛﻪ ﻣﯽﺗﻮﺍﻧﺪ ﺍﯾﻦ ﻃﺮﺡ ﻣﻘﺪﻣﺎﺗﯽ ﺭﺍ ﻣﻮﺭﺩ ﭼﺎﻟﺶ
ﻗﺮﺍﺭ ﺩﻫﺪ .ﻓﺮﺽ ﻣﯽﻛﻨﯿﻢ ﺩﺭ ﺳﯿﺴﺘﻢ ﺭﺃﯼﮔﯿﺮﯼ ﻣﻮﺭﺩ ﻧﻈﺮ N ،ﺭﺃﯼﺩﻫﻨﺪﻩ ﺩﺍﺭ ﯾﻢ ﻭ ﺭﺃﯼ ﻫﺮ ﯾﻚ ﺍﺯ ﺁﻧﺎﻥ ﻧﯿﺰ ﺗﻨﻬﺎ ﻣﯽﺗﻮﺍﻧﺪ
ﺻﻔﺮ ﯾﺎ ﯾﻚ ﺑﺎﺷﺪ .ﭼﻨﯿﻦ ﻓﺮﺿﯽ ﺑﻪ ﻃﻮﺭ ﺧﺎﺹ ﺩﺭ ﻫﻤﻪﭘﺮﺳﯽﻫﺎﯾﯽ ﺑﺮﻗﺮﺍﺭ ﺍﺳﺖ ﻛﻪ ﺑﻪ ﺻﻮﺭﺕ ﺑﻠﯽ ﻭ ﺧﯿﺮ ﺑﺮﮔﺰﺍﺭ ﻣﯽﮔﺮﺩﻧﺪ.
ﺭﺃﯼ ﺷﺨﺺ iﺍﻡ ﺭﺍ ﺑﺎ viﻧﺸﺎﻥ ﻣﯽﺩﻫﯿﻢ ﻛﻪ } vi ∈ {۰, ۱ﺑﺮﺍﯼ .i = ۱, ۲, . . . , N
۱ Direct Record Electronic
۲ Correctness
۳ Privacy
ﺑﯿﺴﺖﻭﭼﻬﺎﺭﻡ۱-
ﻣﯽﺧﻮﺍﻫﯿﻢ ﺍﺯ ﺳﯿﺴﺘﻢ ﺭﻣﺰ ﺍﻟﮕﻤﺎﻝ ۴ﺩﺭ ﻃﺮﺡ ﺭﺃﯼﮔﯿﺮﯼ ﺍﺳﺘﻔﺎﺩﻩ ﻧﻤﺎﯾﯿﻢ .ﺑﺎ ﺍﯾﻦ ﺳﯿﺴﺘﻢ ﺭﻣﺰ ﺩﺭ ﺟﻠﺴﺎﺕ ﮔﺬﺷﺘﻪ ﺁﺷﻨﺎ ﺷﺪﻩﺍﯾﻢ.
ﺑﻪ ﻃﻮﺭ ﻣﺨﺘﺼﺮ ﺍﯾﻦ ﺳﯿﺴﺘﻢ ﺭﻣﺰ ﺭﺍ ﻣﺮ ﻭﺭ ﻣﯽﻛﻨﯿﻢ.
x ← Zq
h = gx
)pk = (G, q, g, h
)sk = (G, q, g, x
ﺍﻟﮕﻮﺭ ﯾﺘﻢ ﺭﻣﺰﮔﺬﺍﺭﯼ:
r ← Zq
)⟨g r , m · hr ⟩ = Encpk (m
ﺍﻟﮕﻮﺭ ﯾﺘﻢ ﺭﻣﺰﮔﺸﺎﯾﯽ:
c۲
)⟩ = Decsk (⟨c۱ , c۲
cx۱
ﺩﺭ ﺍﯾﻦ ﺳﯿﺴﺘﻢ ﺭﻣﺰ ،ﻓﺮﺽ ﺑﺮ ﺍﯾﻦ ﺍﺳﺖ ﻛﻪ ﻣﺴﺎﻟﻪ ﺩﯾﻔﯽ-ﻫﻠﻤﻦ ﺗﺼﻤﯿﻤﯽ ۵ﺑﺮﺍﯼ ﮔﺮ ﻭﻩ ﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﺳﺨﺖ ﺍﺳﺖ.
ﺑﺮﺍﯼ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺳﯿﺴﺘﻢ ﺍﻟﮕﻤﺎﻝ ﺩﺭ ﺍﯾﻦ ﻃﺮﺡ ﺑﺎﯾﺪ ﺗﻐﯿﯿﺮ ﻣﺨﺘﺼﺮﯼ ﺩﺭ ﺳﯿﺴﺘﻢ ﺍﻟﮕﻤﺎﻝ ﺍﻋﻤﺎﻝ ﻛﻨﯿﻢ؛ ﺑﺪﯾﻦ ﺻﻮﺭﺕ ﻛﻪ ﺑﻪ ﺟﺎﯼ
ﺁﻧﻜﻪ ﻫﺮ ﭘﯿﺎﻡ ) (miﺭﺍ ﺑﺮﺍﺑﺮ ﺑﺎ ﺭﺃﯼ ﻣﺘﻨﺎﻇﺮ ) (viﻗﺮﺍﺭ ﺩﻫﯿﻢ ،ﺁﻥ ﺭﺍ ﺑﺮﺍﺑﺮ ﺑﺎ g viﻗﺮﺍﺭ ﻣﯽﺩﻫﯿﻢ .ﯾﻌﻨﯽ:
ﺑﺪﯾﻦ ﺗﺮﺗﯿﺐ ﺭﺃﯼﺩﻫﻨﺪﻩﻫﺎ ﻣﺘﻦﻫﺎﯼ ﺭﻣﺰﺷﺪﻩ ﺯﯾﺮ ﺭﺍ ﺗﻮﻟﯿﺪ ﻭ ﻣﻨﺘﺸﺮ ﻣﯽﻛﻨﻨﺪ ،ﺑﻪ ﻃﻮﺭﯼ ﻛﻪ ﻋﻤﻮﻡ ﺍﻓﺮﺍﺩ ﻣﯽﺗﻮﺍﻧﻨﺪ ﺑﺮ ﺭﺳﯽ ﻛﻨﻨﺪ
ﻛﻪ ﻫﺮ ﺷﺨﺺ ﭼﻪ ﺭﺃﯼ ﺭﻣﺰﺷﺪﻩﺍﯼ ﺭﺍ ﺍﺭﺳﺎﻝ ﻛﺮﺩﻩ ﺍﺳﺖ.
ﺩﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺍﻣﻨﯿﺖ ﺳﯿﺴﺘﻢ ﺭﻣﺰ ﺍﻟﮕﻤﺎﻝ ،ﺭﺃﯼﻫﺎﯼ ﺭﻣﺰﺷﺪﻩ ﺍﻃﻼﻋﺎﺗﯽ ﺩﺭ ﻣﻮﺭﺩ ﻣﻘﺪﺍﺭ ﺭﺃﯼ ﻧﺸﺖ ﻧﻤﯽﺩﻫﻨﺪ.
ﻫﻤﭽﻨﯿﻦ ﺑﺎ ﺗﻐﯿﯿﺮ ﻛﻮﭼﻜﯽ ﻛﻪ ﺩﺭ ﺳﯿﺴﺘﻢ ﺭﻣﺰ ﺍﻟﮕﻤﺎﻝ ﺣﺎﺻﻞ ﻛﺮﺩﻩﺍﯾﻢ ،ﺧﺎﺻﯿﺖ ﻫﻤﻮﻣﻮﺭﻓﯿﻚ ﺿﺮﺑﯽ ﺁﻥ ﺭﺍ ﺑﻪ ﺧﺎﺻﯿﺖ
ﻫﻤﻮﻣﻮﺭﻓﯿﻚ ﺟﻤﻌﯽ ﺗﺒﺪﯾﻞ ﻛﺮﺩﯾﻢ .ﺯﯾﺮﺍ:
ﺑﻨﺎﺑﺮﺍﯾﻦ ﺑﺎ ﺩﺍﻧﺴﺘﻦ ﺁﺭﺍﯼ ﺭﻣﺰﺷﺪﻩ ﺧﻮﺍﻫﯿﻢ ﺗﻮﺍﻧﺴﺖ ﺣﺎﺻﻞﺿﺮﺏ ﺁﻥﻫﺎ ﺭﺍ ﻣﺤﺎﺳﺒﻪ ﻭ ﺭﻣﺰﮔﺸﺎﯾﯽ ﻛﻨﯿﻢ ﺗﺎ ﺑﻪ ﻣﺠﻤﻮﻉ ﺁﺭﺍء ﻣﻮﺍﻓﻖ
)ﺑﺮﺍﺑﺮ ﺑﺎ ﯾﻚ( ﺩﺳﺖ ﭘﯿﺪﺍ ﻛﻨﯿﻢ .ﺩﺭ ﻋﻤﻞ ﺍﯾﻦ ﻛﺎﺭ ﺗﻮﺳﻂ ﯾﻚ ﻧﻬﺎﺩ ﻣﻌﺘﻤﺪ ﻛﻪ ﺳﺮ ﻭﺭ ۶ﻧﯿﺰ ﻧﺎﻣﯿﺪﻩ ﻣﯽﺷﻮﺩ ﺍﻧﺠﺎﻡ ﻣﯽﮔﺮﺩﺩ.
۴ El Gamal
۵ Decisional Diffie-Hellman
۶ Server
ﺑﯿﺴﺖﻭﭼﻬﺎﺭﻡ۲-
⟩ C۱ = ⟨g r۱ , g v۱ · hr۱
ﺳﺮ ﻭﺭ
ﻣﺠﻤﻮﻉ ﺁﺭﺍء = v۱ + v۲ + · · · + vN
)ﺑﺮﮔﺰﺍﺭﻛﻨﻨﺪﻩ ﺭﺃﯼﮔﯿﺮﯼ(
⟩ CN = ⟨g rN , g vN · hrN
.
ﺩﺭ ﻃﺮﺡ ﻣﻌﺮﻓﯽ ﺷﺪﻩ ﺑﺮﺍﯼ ﺭﺃﯼﮔﯿﺮﯼ ﻣﺸﻜﻼﺕ ﻣﺘﻌﺪﺩﯼ ﻭﺟﻮﺩ ﺩﺍﺭﺩ ﻛﻪ ﺑﺎﯾﺪ ﺑﺮﻃﺮﻑ ﮔﺮﺩﻧﺪ .ﻓﻬﺮﺳﺖ ﺑﺮﺧﯽ ﺍﺯ ﺍﯾﻦ ﻣﺸﻜﻼﺕ
ﺩﺭ ﺫﯾﻞ ﺁﻣﺪﻩ ﺍﺳﺖ.
• � ﺍﻣﻜﺎﻥ ﺗﻘﻠﺐ ﻧﻬﺎﺩ ﺑﺮﮔﺰﺍﺭﻛﻨﻨﺪﻩ :ﺩﺭ ﺍﯾﻦ ﺳﯿﺴﺘﻢ ﺷﺎﯾﺪ ﻧﻬﺎﺩ ﺑﺮﮔﺰﺍﺭﻛﻨﻨﺪﻩ ﺭﺃﯼﮔﯿﺮﯼ ،ﺁﺭﺍء ﺭﺍ ﺑﻪ ﺩﺭﺳﺘﯽ ﺭﻣﺰﮔﺸﺎﯾﯽ ﻧﻜﻨﺪ.
• � ﺍﻣﻜﺎﻥ ﺗﻘﻠﺐ ﺭﺃﯼﺩﻫﻨﺪﻩ ﺑﺎ ﺍﺭﺳﺎﻝ ﺭﺃﯼ ﻏﯿﺮ ﺻﻔﺮ ﯾﺎ ﯾﮏ :ﻣﻤﻜﻦ ﺍﺳﺖ ﺭﺃﯼﺩﻫﻨﺪﻩ ﺑﻪ ﺟﺎﯼ ﺻﻔﺮ ﯾﺎ ﯾﻚ ﻋﺪﺩ ﺩﯾﮕﺮﯼ
ﺭﺍ ﺭﻣﺰ ﻛﻨﺪ .ﺩﺭ ﺍﯾﻦ ﺣﺎﻟﺖ ﺍﮔﺮ ﺷﺨﺼﯽ ﻋﺪﺩ ﻣﺜﺒﺖ nﺭﺍ ﺭﻣﺰ ﻛﻨﺪ ،ﺩﺭ ﺣﻘﯿﻘﺖ nﺑﺎﺭ ﺭﺃﯼ ﻣﻮﺍﻓﻖ )ﺑﺮﺍﺑﺮ ﯾﻚ( ﺩﺍﺩﻩ ﻭ
ﺍﮔﺮ ﻋﺪﺩ ﻣﻨﻔﯽ nﺭﺍ ﺭﻣﺰ ﻛﻨﺪ ،ﺩﺭ ﺣﻘﯿﻘﺖ nﺗﺎ ﺍﺯ ﺁﺭﺃﯼ ﻣﻮﺍﻓﻖ ﺭﺍ ﺣﺬﻑ ﮐﺮﺩﻩ ﺍﺳﺖ .ﺍﯾﻦ ﺩﺭﺣﺎﻟﯽﺍﺳﺖ ﮐﻪ ﺗﻌﺪﺍﺩ ﻛﻞ
ﺭﺃﯼﺩﻫﻨﺪﻩﻫﺎ ﺛﺎﺑﺖ ﻣﺎﻧﺪﻩ ﺍﺳﺖ.
• � ﺍﻣﻜﺎﻥ ﺍﻓﺸﺎﯼ ﺣﺮ ﯾﻢ ﺧﺼﻮﺻﯽ ﺭﺃﯼﺩﻫﻨﺪﮔﺎﻥ ﺗﻮﺳﻂ ﻧﻬﺎﺩ ﺑﺮﮔﺰﺍﺭﮐﻨﻨﺪﻩ :ﺩﺭ ﺍﯾﻦ ﺳﯿﺴﺘﻢ ﻧﻬﺎﺩ ﺑﺮﮔﺰﺍﺭﻛﻨﻨﺪﻩ ﻋﻤﻼً ﺑﻪ
ﻣﺤﺘﻮﺍﯼ ﯾﻜﺎﯾﻚ ﺁﺭﺍء ﺩﺳﺘﺮﺳﯽ ﺧﻮﺍﻫﺪ ﺩﺍﺷﺖ ﻭ ﺗﻮﺍﻧﺪ ﺗﺸﺨﯿﺺ ﺩﻫﺪ ﻛﻪ ﻫﺮ ﺭﺃﯼﺩﻫﻨﺪﻩ ﭼﻪ ﺭﺃﯾﯽ ﺩﺍﺩﻩ ﺍﺳﺖ.
• � ﺍﻣﻜﺎﻥ ﺍﺭﺳﺎﻝ ﺭﺃﯼ ﻣﺸﺎﺑﻪ ﺍﺯ ﻃﺮﻑ ﺭﺃﯼﺩﻫﻨﺪﻩ :ﭼﻨﺎﻧﭽﻪ ﺭﺃﯼﮔﯿﺮﯼ ﻣﻄﺎﺑﻖ ﺳﯿﺴﺘﻢ ﻣﻌﺮﻓﯽ ﺷﺪﻩ ﺑﺮﮔﺰﺍﺭ ﮔﺮﺩﺩ ،ﺍﻓﺮﺍﺩ
ﻣﯽﺗﻮﺍﻧﻨﺪ ﺭﺃﯼ ﺷﺨﺼﯽ ﺩﯾﮕﺮ )ﻣﺜﻼ ﺷﺨﺼﯽ ﻣﻬﻢ ﯾﺎ ﻣﻌﺮ ﻭﻑ( ﺭﺍ ﻋﯿﻨﺎً ﺗﻘﻠﯿﺪ ﻛﻨﻨﺪ ﺑﺪﻭﻥ ﺁﻧﻜﻪ ﺍﺯ ﻣﺤﺘﻮﺍﯼ ﺁﻥ ﺁ ﮔﺎﻫﯽ
ﺩﺍﺷﺘﻪ ﺑﺎﺷﻨﺪ .ﺩﻟﯿﻞ ﺍﯾﻦ ﻛﺎﺭ ﻣﯽﺗﻮﺍﻧﺪ ﺳﺮﺳﭙﺮﺩﮔﯽ ،۷ﻋﻼﻗﻪ ﺷﺨﺼﯽ ﻭ ﯾﺎ ﻫﺮ ﻣﻮﺭﺩ ﺩﯾﮕﺮﯼ ﺑﺎﺷﺪ .ﻗﺎﺑﻞ ﺗﻮﺟﻪ ﺍﺳﺖ ﻛﻪ
ﺩﺭ ﺣﺎﻟﺖ ﺧﺎﺻﯽ ﻛﻪ ﺗﻨﻬﺎ ﺳﻪ ﺭﺃﯼﺩﻫﻨﺪﻩ ﺩﺍﺷﺘﻪ ﺑﺎﺷﯿﻢ ،ﺍﯾﻦ ﺍﻣﺮ ﻣﯽﺗﻮﺍﻧﺪ ﺑﻪ ﻓﺎﺵ ﺷﺪﻥ ﺁﺭﺍﯼ ﺩﻭ ﺷﺨﺺ ﺩﯾﮕﺮ ﺑﺮﺍﯼ
ﻫﺮ ﯾﻚ ﺍﺯ ﺭﺃﯼﺩﻫﻨﺪﻩﻫﺎ ﻣﻨﺠﺮ ﺷﻮﺩ.
ﺍﺯ ﻣﯿﺎﻥ ﻣﺸﻜﻞﻫﺎﯼ ﯾﺎﺩﺷﺪﻩ ،ﻣﻮﺍﺭﺩ ﺍﻭﻝ ﻭ ﺩﻭﻡ ﺑﻪ ﻣﺴﺎﻟﻪ ﺻﺤﺖ ﺭﺃﯼﮔﯿﺮﯼ ﻣﺮﺑﻮﻁ ﻫﺴﺘﻨﺪ .ﺳﻪ ﻣﻮﺭﺩ ﺩﯾﮕﺮ ﺍﻣﺎ ﺑﻪ ﻣﺴﺎﻟﻪ
ﺣﻔﻆ ﺣﺮ ﯾﻢ ﺧﺼﻮﺻﯽ ﺭﺃﯼﺩﻫﻨﺪﮔﺎﻥ ﺑﺎﺯ ﻣﯽﮔﺮﺩﺩ .ﺍﯾﻦ ﺳﯿﺴﺘﻢ ﯾﮏ ﻣﺸﮑﻞ ﺩﯾﮕﺮ ﻧﯿﺰ ﺩﺍﺭﺩ ﮐﻪ ﺍﻟﺒﺘﻪ ﻭﯾﮋﮔﯽ ﮐﻠﯽ ﺳﯿﺴﺘﻢﻫﺎﯼ
ﺭﺃﯼﮔﯿﺮﯼ ﺍﻟﮑﺘﺮ ﻭﻧﯿﮑﯽ ﺍﺳﺖ:
• � ﺍﻣﻜﺎﻥ ﺑﺮ ﻭﺯ ﺍﺟﺒﺎﺭ ،ﺗﻬﺪﯾﺪ ﻭ ﺗﻄﻤﯿﻊ ﺭﺃﯼﺩﻫﻨﺪﻩ :ﺩﺭ ﺍﯾﻦ ﺳﯿﺴﺘﻢ ﺟﻠﻮﯼ ﺍﺟﺒﺎﺭ ﻭ ﺗﻬﺪﯾﺪ ﻭ ﻓﺮ ﻭﺵ ﺭﺃﯼ ﮔﺮﻓﺘﻪ ﻧﻤﯽﺷﻮﺩ؛
ﭼﺮﺍ ﻛﻪ ﻋﺪﺩ ﺗﺼﺎﺩﻓﯽ rﻛﻪ ﻫﻨﮕﺎﻡ ﺭﻣﺰﻛﺮﺩﻥ ﺭﺃﯼ ﻫﺮ ﺭﺃﯼﺩﻫﻨﺪﻩ ﺍﻧﺘﺨﺎﺏ ﻣﯽﮔﺮﺩﺩ ،ﻋﻤﻼً ﻣﻤﻜﻦ ﺍﺳﺖ ﺑﻪ ﻋﻨﻮﺍﻥ ﯾﻚ
۷ Devotion
ﺑﯿﺴﺖﻭﭼﻬﺎﺭﻡ۳-
ﺭﺳﯿﺪ ﺍﺯ ﺳﻮﯼ ﻫﻤﺎﻥ ﺭﺃﯼﺩﻫﻨﺪﻩ ﺑﻪ ﻛﺎﺭ ﺭ ﻭﺩ .ﺩﺭ ﺣﻘﯿﻘﺖ ﺍﺯ ﺍﯾﻦ ﻃﺮ ﯾﻖ ،ﻫﺮ ﺭﺃﯼﺩﻫﻨﺪﻩ ﻣﯽﺗﻮﺍﻧﺪ ﺛﺎﺑﺖ ﻛﻨﺪ ﻛﻪ ﺑﻪ ﭼﻪ
ﻛﺴﯽ ﺭﺃﯼ ﺩﺍﺩﻩ ﺍﺳﺖ .ﺑﺎ ﺍﯾﻦ ﺣﺴﺎﺏ ،ﻣﻤﻜﻦ ﺍﺳﺖ ﺭﺃﯼﺩﻫﻨﺪﻩ ﻣﻮﺭﺩ ﺗﻬﺪﯾﺪ ﻗﺮﺍﺭ ﮔﺮﻓﺘﻪ ﻭ ﯾﺎ ﭘﯿﺸﺎﭘﯿﺶ ﺍﻗﺪﺍﻡ ﺑﻪ ﻓﺮ ﻭﺵ
ﺭﺃﯼ ﺧﻮﺩ ﺑﻨﻤﺎﯾﺪ.
ﺁﻧﭽﻪ ﺩﺭ ﭘﯽ ﻣﯽﺁﯾﺪ ﺭﺍﻩﺣﻞﻫﺎﯾﯽ ﻛﻠﯽ ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺮﺍﯼ ﺑﺮﻃﺮﻑ ﺳﺎﺧﺘﻦ ﻣﺸﻜﻼﺕ ﻣﺮﺑﻮﻁ ﺑﻪ ﺻﺤﺖ ﻭ ﺣﺮ ﯾﻢ ﺧﺼﻮﺻﯽ،
ﻣﯽﺗﻮﺍﻧﻨﺪ ﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﻗﺮﺍﺭ ﮔﯿﺮﻧﺪ .ﻣﺸﮑﻞ ﻣﺮﺑﻮﻁ ﺑﻪ ﺍﻣﻜﺎﻥ ﺑﺮ ﻭﺯ ﺍﺟﺒﺎﺭ ،ﺗﻬﺪﯾﺪ ﻭ ﺗﻄﻤﯿﻊ ﺭﺃﯼﺩﻫﻨﺪﻩ ﺑﺎﯾﺪ ﺑﻪ ﻧﺤﻮ ﺩﯾﮕﺮﯼ
ﺣﻞ ﺷﻮﺩ ﮐﻪ ﻣﻮﺿﻮﻉ ﺍﯾﻦ ﺑﺤﺚ ﻧﯿﺴﺖ.
ﭼﻨﺎﻥﻛﻪ ﮔﻔﺘﻪ ﺷﺪ ﻣﻤﻜﻦ ﺍﺳﺖ ﺭﺃﯼﺩﻫﻨﺪﻩﺍﯼ ﺑﺨﻮﺍﻫﺪ ﺭﺃﯼ ﺷﺨﺺ ﻣﻬﻤﯽ ﺭﺍ ﻣﺴﺘﻘﯿﻤﺎً ﻛﭙﯽ ﻛﻨﺪ ﺑﺪﻭﻥ ﺁﻧﻜﻪ ﺍﺯ ﻣﺤﺘﻮﺍﯼ ﺁﻥ
ﺁ ﮔﺎﻫﯽ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ .ﻣﻤﻜﻦ ﺍﺳﺖ ﺑﻪ ﻧﻈﺮ ﺑﺮﺳﺪ ﻛﻪ ﺑﺎ ﺣﺬﻑ ﺁﺭﺍﯼ ﺭﻣﺰﺷﺪﻩ ﺗﻜﺮﺍﺭﯼ ،ﻣﯽﺗﻮﺍﻥ ﺟﻠﻮﯼ ﺍﯾﻦ ﻣﺴﺎﻟﻪ ﺭﺍ ﮔﺮﻓﺖ .ﺍﻣﺎ
ﺣﺘﯽ ﺑﺎ ﺍﺿﺎﻓﻪ ﻛﺮﺩﻥ ﺍﯾﻦ ﻣﺮﺣﻠﻪ ﻧﯿﺰ ﺑﺎﺯ ﺩﺭ ﺳﯿﺴﺘﻢ ﯾﺎﺩﺷﺪﻩ ﭼﻨﯿﻦ ﻋﻤﻠﯽ ﺍﻣﻜﺎﻥﭘﺬﯾﺮ ﺍﺳﺖ؛ ﭼﺮﺍ ﻛﻪ ﺳﯿﺴﺘﻢ ﺭﻣﺰ ﺍﻟﮕﻤﺎﻝ ﻗﺎﺑﻠﯿﺖ
ﺭﻣﺰﮔﺬﺍﺭﯼ ﻣﺠﺪﺩ ۸ﺭﺍ ﺩﺍﺭﺍ ﺍﺳﺖ ﻭ ﺩﺭ ﺻﻮﺭﺗﯽ ﻛﻪ ﺭﺃﯼﺩﻫﻨﺪﻩﺍﯼ ﻣﺘﻦ ﺭﻣﺰﺷﺪﻩ ﯾﻚ ﺭﺃﯼﺩﻫﻨﺪﻩ ﺩﯾﮕﺮ ﺭﺍ ﻣﺠﺪﺩﺍً ﺭﻣﺰﮔﺬﺍﺭﯼ
ﻛﻨﺪ ،ﻣﺘﻦ ﺭﻣﺰﺷﺪﻩ ﺗﻐﯿﯿﺮ ﻣﯽﻛﻨﺪ ،ﺍﻣﺎ ﺭﺃﯼ ﺩﺍﺩﻩ ﺷﺪﻩ ﻋﻮﺽ ﻧﻤﯽﮔﺮﺩﺩ.
ﺑﺮﺍﯼ ﺣﻞ ﻣﺸﻜﻞ ﺍﻣﻜﺎﻥ ﺍﺭﺳﺎﻝ ﺭﺃﯼ ﻣﺸﺎﺑﻪ ،ﺭﺃﯼﺩﻫﻨﺪﻩ ﺑﺎﯾﺪ ﺑﺘﻮﺍﻧﺪ ﺩﺍﻧﺶ ﺧﻮﺩ ﺭﺍ ﺩﺭ ﻣﻮﺭﺩ ﻣﺤﺘﻮﺍﯼ ﺭﺃﯼ ﺩﺍﺩﻩ ﺷﺪﻩ ﺛﺎﺑﺖ
ﻛﻨﺪ .ﺍﯾﻦ ﺍﺛﺒﺎﺕ ﺑﺎﯾﺪ ﻧﺎﺗﺮﺍﻭﺍ ۹ﺑﺎﺷﺪ .ﯾﻌﻨﯽ ﺭﺃﯼﺩﻫﻨﺪﻩ ﺩﺭ ﻋﯿﻦ ﺣﺎﻝ ﻛﻪ ﺩﺍﻧﺶ ﺧﻮﺩ ﺭﺍ ﺩﺭﺑﺎﺭﻩ ﺭﺃﯾﯽ ﻛﻪ ﺩﺍﺩﻩ ﺛﺎﺑﺖ ﻣﯽﻛﻨﺪ،
ﻧﺒﺎﯾﺪ ﻫﯿﭻ ﺍﻃﻼﻋﺎﺕ ﺍﺿﺎﻓﯽ ﺩﺭ ﻣﻮﺭﺩ ﻣﺤﺘﻮﺍﯼ ﺭﺃﯼ ﺑﺮ ﻭﺯ ﺩﻫﺪ .ﺩﺭ ﺍﯾﻦ ﻣﻮﺭﺩ ﻛﺎﻓﯽ ﺍﺳﺖ ﺗﺎ ﺭﺃﯼﺩﻫﻨﺪﻩ iﺍﻡ ﺑﻪ ﺟﺎﯼ ﺍﺛﺒﺎﺕ
ﺩﺍﻧﺶ ﺩﺭ ﻣﻮﺭﺩ ،miﺩﺍﻧﺶ ﺧﻮﺩ ﺭﺍ ﺩﺭ ﻣﻮﺭﺩ riﺛﺎﺑﺖ ﻛﻨﺪ .ﭼﺮﺍ ﻛﻪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺭﺍﺑﻄﻪ ﺯﯾﺮ ،ﺩﺍﻧﺶ ﺩﺭ ﻣﻮﺭﺩ riﺑﯿﺎﻧﮕﺮ ﺩﺍﻧﺶ
ﺩﺭ ﻣﻮﺭﺩ miﺍﺳﺖ.
g ri
= mi
hri
۱۱ ۱۰
ﺑﺎ ﻭﺭ ﻭﺩﯼ hﺩﺭ ﻧﻈﺮ ﺑﺎ ﻭﺭ ﻭﺩﯼ xﻭ ﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ ﺑﺮﺍﯼ ﺍﯾﻦ ﻣﻨﻈﻮﺭ ﺑﺎ ﻓﺮﺽ h = g xﭘﺮ ﻭﺗﻜﻞ ﺯﯾﺮ ﺭﺍ ﺑﯿﻦ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ
ﺑﮕﯿﺮ ﯾﺪ.
Pﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ Vﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ
)P (h; x )V (h
a ← Zq
A
A = ga
b
}b ← {۰, ۱
{
a �b=۰ z ?
=z
a+x �b=۱ g z = A · hb
.
۸ Re-encryption
۹ Zero-knowledge
۱۰ Prover
۱۱ Verifier
ﺑﯿﺴﺖﻭﭼﻬﺎﺭﻡ۴-
ﺩﺭ ﺍﯾﻦ ﺁﺯﻣﻮﻥ ،ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﻗﺮﺍﺭ ﺍﺳﺖ ﻧﺸﺎﻥ ﺩﻫﺪ ﻛﻪ ﻣﻘﺪﺍﺭ xﺭﺍ ﻣﯽﺩﺍﻧﺪ .ﺑﺮﺍﯼ ﺍﯾﻦ ﻣﻨﻈﻮﺭ ﻋﺪﺩ ﺗﺼﺎﺩﻓﯽ aﺭﺍ ﺍﺯ Zqﺍﻧﺘﺨﺎﺏ
ﻣﯽﻛﻨﺪ ﻭ ﺳﭙﺲ ﻣﻘﺪﺍﺭ g aﺭﺍ ﺑﺮﺍﯼ ﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ ﻣﯽﻓﺮﺳﺘﺪ .ﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ ﺑﯿﺖ ﺗﺼﺎﺩﻓﯽ bﺭﺍ ﺗﻮﻟﯿﺪ ﻛﺮﺩﻩ ﻭ ﺑﺮﺍﯼ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﺍﺭﺳﺎﻝ
ﻣﯽﻛﻨﺪ .ﺑﺮ ﺍﺳﺎﺱ ﻣﻘﺪﺍﺭ ﺑﯿﺖ ،bﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﻣﻘﺪﺍﺭ zﺭﺍ ﻣﺤﺎﺳﺒﻪ ﻛﺮﺩﻩ ﻭ ﺁﻥ ﺭﺍ ﺑﻪ ﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ ﺑﺎﺯﻣﯽﮔﺮﺩﺍﻧﺪ .ﻧﻬﺎﯾﺘﺎً ﻛﺎﻓﯽ
ﺍﺳﺖ ﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ ﻛﻪ ﻣﻘﺎﺩﯾﺮ b ،h ،Aﻭ zﺭﺍ ﻣﯽﺩﺍﻧﺪ ،ﺑﺮ ﺍﺳﺎﺱ ﺍﯾﻦ ﻣﻘﺎﺩﯾﺮ A · hb ،ﺭﺍ ﻣﺤﺎﺳﺒﻪ ﻛﺮﺩﻩ ﻭ ﺑﺎ ﻣﻘﺪﺍﺭ g zﻣﻘﺎﯾﺴﻪ
ﻛﻨﺪ.
ﺩﺭ ﺍﯾﻦ ﺁﺯﻣﺎﯾﺶ ﺣﺎﻟﺖ b = ۰ﺑﻪ ﺍﯾﻦ ﺩﻟﯿﻞ ﺗﻌﺒﯿﻪ ﺷﺪﻩ ﺍﺳﺖ ﻛﻪ ﺍﮔﺮ ﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ ﻫﻤﻮﺍﺭﻩ ﻗﺮﺍﺭ ﺑﺎﺷﺪ ﺑﯿﺖ ﯾﻚ ﺭﺍ ﺑﺮﺍﯼ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ
ﺑﻔﺮﺳﺘﺪ ،ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﻣﯽﺗﻮﺍﻧﺪ ﺩﻭ ﻣﻘﺪﺍﺭ zﻭ Aﺭﺍ ﻃﻮﺭﯼ ﺍﻧﺘﺨﺎﺏ ﻛﻨﺪ ﻛﻪ g z = A · hbﻭ ﺩﺭ ﻣﺮﺣﻠﻪ ﻧﺨﺴﺖ ﺁﺯﻣﺎﯾﺶ ﻫﻤﺎﻥ
ﻣﻘﺪﺍﺭ Aﺭﺍ ﺑﺮﺍﯼ ﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ ﺑﻔﺮﺳﺘﺪ .ﻗﺎﺑﻞ ﺗﻮﺟﻪ ﺍﺳﺖ ﻛﻪ ﺍﯾﻦ ﺁﺯﻣﺎﯾﺶ ﺑﺎ ﺍﺣﺘﻤﺎﻝ ۲۱ﺩﺍﻧﺶ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﺭﺍ ﻣﯽﺁﺯﻣﺎﯾﺪ .ﯾﻌﻨﯽ
ﺍﮔﺮ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﻣﻘﺪﺍﺭ xﺭﺍ ﻫﻢ ﻧﺪﺍﻧﺪ ﺑﺎﺯ ﻫﻢ ﺑﺎ ﺍﺣﺘﻤﺎﻝ ۲۱ﺷﺎﻧﺲ ﭘﯿﺮ ﻭﺯﯼ ﺩﺍﺭﺩ .ﺍﻣﺎ ﺍﮔﺮ ﺍﯾﻦ ﺁﺯﻣﺎﯾﺶ ﭼﻨﺪ ﺑﺎﺭ ﺗﻜﺮﺍﺭ ﺷﻮﺩ ﺑﻪ
ﭘﺮ ﻭﺗﻜﻠﯽ ﺧﻮﺍﻫﯿﻢ ﺭﺳﯿﺪ ﻛﻪ ﺍﻣﻜﺎﻥ ﺗﻘﻠﺐ ﺍﺯ ﺳﻮﯼ ﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ ﺭﺍ ﺑﻪ ﺍﻧﺪﺍﺯﻩ ﺩﻟﺨﻮﺍﻩ ﻧﺎﭼﯿﺰ ﻣﯽﺳﺎﺯﺩ .ﭘﺮ ﻭﺗﻜﻞ ﺯﯾﺮ ،ﮐﻪ ﺑﻪ ﭘﺮ ﻭﺗﻜﻞ
ﺍﺷﻨﻮﺭ ۱۲ﻣﻌﺮ ﻭﻑ ﺍﺳﺖ ،ﻫﻤﯿﻦ ﺍﻣﻜﺎﻥ ﺭﺍ ﺩﺭ ﯾﻚ ﺍﺟﺮﺍ ﻓﺮﺍﻫﻢ ﻣﯽﻛﻨﺪ.
Pﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ Vﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ
)P (h; x )V (h
a ← Zq
A
A = ga
c c ← Zq
z ?
z = a + cx g z = A · hc
.
ﺗﻮﺟﯿﻬﯽ ﻛﻪ ﻛﺎﺭﺁﻣﺪﯼ ﺍﯾﻦ ﭘﺮ ﻭﺗﻜﻞ ﺭﺍ ﻧﺸﺎﻥ ﻣﯽﺩﻫﺪ ﺁﻥ ﺍﺳﺖ ﻛﻪ ﺍﮔﺮ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﺑﻪ ﺍﺯﺍﯼ ﺩﻭ ﻣﻘﺪﺍﺭ ﻣﺘﻔﺎﻭﺕ cﺑﺘﻮﺍﻧﺪ ﺁﺯﻣﺎﯾﺶ
ﺭﺍ ﺑﺎ ﻣﻮﻓﻘﯿﺖ ﺑﮕﺬﺭﺍﻧﺪ ،ﺣﺘﻤﺎ ﻣﻘﺪﺍﺭ xﺭﺍ ﻣﯽﺩﺍﻧﺪ .ﻫﺮ ﭼﻨﺪ ﺑﺎﯾﺪ ﺗﻮﺟﻪ ﺩﺍﺷﺖ ﻛﻪ ﻋﻤﻼ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﺑﻪ ﺍﺯﺍﯼ ﺩﻭ ﻣﻘﺪﺍﺭ ﻣﺘﻔﺎﻭﺕ
cﺁﺯﻣﺎﯾﺶ ﺭﺍ ﺗﻜﺮﺍﺭ ﻧﻤﯽﻛﻨﺪ ،ﺯﯾﺮﺍ ﺩﺭ ﻏﯿﺮ ﺍﯾﻦ ﺻﻮﺭﺕ ﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ ﻣﯽﺗﻮﺍﻧﺪ ﻣﺴﺘﻘﯿﻤﺎ ﻣﻘﺪﺍﺭ xﺭﺍ ﻣﺤﺎﺳﺒﻪ ﻧﻤﺎﯾﺪ.
ﻓﺮﺽ ﻛﻨﯿﺪ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﭘﺲ ﺍﺯ ﺍﺭﺳﺎﻝ ﻣﻘﺪﺍﺭ Aﺩﺭ ﻣﺮﺣﻠﻪ ﺍﻭﻝ ﻭ ﺩﺭ ﯾﺎﻓﺖ ﻣﻘﺎﺩﯾﺮ cﻭ c′ﺩﺭ ﻣﺮﺣﻠﻪ ﺩﻭﻡ ،ﺑﺘﻮﺍﻧﺪ ﺩﺭ ﻣﺮﺣﻠﻪ ﺳﻮﻡ
ﭘﺮ ﻭﺗﻜﻞ ﺭﺍ ﺑﻪ ﺗﺮﺗﯿﺐ ﺑﺎ ﺍﺭﺳﺎﻝ ﻣﻘﺎﺩﯾﺮ zﻭ z ′ﺑﺎ ﻣﻮﻓﻘﯿﺖ ﺑﻪ ﺍﺗﻤﺎﻡ ﺑﺮﺳﺎﻧﺪ .ﯾﻌﻨﯽ:
g z = A · hc
′ ′
g z = A · hc
۱۲ Schnorr Protocol
ﺑﯿﺴﺖﻭﭼﻬﺎﺭﻡ۵-
ﺑﺪﯾﻦ ﺗﺮﺗﯿﺐ ،ﻣﻘﺪﺍﺭ xﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺍﯾﻦ ﺩﻭ ﺍﺟﺮﺍﯼ ﭘﺮ ﻭﺗﻜﻞ ﺑﻪ ﺭﺍﺣﺘﯽ ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ ﺍﺳﺖ:
ﭼﻨﺎﻥ ﻛﻪ ﭘﯿﺸﺘﺮ ﺍﺷﺎﺭﻩ ﺷﺪ ﯾﻜﯽ ﺍﺯ ﻣﺸﻜﻼﺗﯽ ﻛﻪ ﻣﻤﻜﻦ ﺍﺳﺖ ﺩﺭ ﺳﯿﺴﺘﻢ ﺭﻣﺰﮔﺬﺍﺭﯼ ﻣﻌﺮﻓﯽ ﺷﺪﻩ ﺑﻪ ﻭﻗﻮﻉ ﺑﭙﯿﻮﻧﺪﺩ ﺍﯾﻦ ﺍﺳﺖ
ﻛﻪ ﻧﻬﺎﺩ ﺑﺮﮔﺰﺍﺭﻛﻨﻨﺪﻩ ﺭﺃﯼﮔﯿﺮﯼ ﺁﺭﺍء ﺭﺍ ﺑﻪ ﺩﺭﺳﺘﯽ ﺭﻣﺰﮔﺸﺎﯾﯽ ﻧﻜﻨﺪ .ﺩﺭ ﺍﯾﻦ ﻣﻮﺭﺩ ﺑﺮﮔﺰﺍﺭﻛﻨﻨﺪﻩ ﺑﺎﯾﺪ ﺛﺎﺑﺖ ﻛﻨﺪ ﻛﻪ ﺁﺭﺍء ﺭﺍ ﺑﻪ
ﺩﺭﺳﺘﯽ ﺭﻣﺰﮔﺸﺎﯾﯽ ﻧﻤﻮﺩﻩ ﺍﺳﺖ.
ﻓﺮﺽ ﻛﻨﯿﺪ ⟩ ⟨u, vﺣﺎﺻﻞ ﺿﺮﺏ ﻛﻠﯿﻪ ﺁﺭﺍء ﺭﻣﺰﺷﺪﻩ ﺍﺭﺳﺎﻟﯽ ﺑﺎﺷﺪ .ﺩﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﻫﺮ ﻓﺮﺩﯼ ﻣﯽﺗﻮﺍﻧﺪ ﺑﺎ ﺿﺮﺏ ﻛﺮﺩﻥ ﻫﻤﻪ
ﺁﺭﺍء ﻛﻪ ﺩﺭ ﺩﺳﺘﺮﺱ ﻋﻤﻮﻡ ﻗﺮﺍﺭ ﺩﺍﺭﻧﺪ ،ﻣﻘﺎﺩﯾﺮ uﻭ vﺭﺍ ﻣﺤﺎﺳﺒﻪ ﻛﻨﺪ .ﺑﻨﺎﺑﺮﺍﯾﻦ ﭼﻬﺎﺭﺗﺎﯾﯽ ﺯﯾﺮ ﺍﻃﻼﻋﺎﺗﯽ ﺍﺳﺖ ﻛﻪ ﺩﺭ ﺍﺧﺘﯿﺎﺭ
ﻋﻤﻮﻡ ﺍﺳﺖ ،ﺍﻣﺎ ﺗﻨﻬﺎ ﺳﺮ ﻭﺭ ﺑﺮﮔﺰﺍﺭﻛﻨﻨﺪﻩ ﻛﻠﯿﺪ ﺧﺼﻮﺻﯽ xﺭﺍ ﺩﺭ ﻣﯽﺩﺍﻧﺪ.
∑N ﮐﻪ
vi
m=g i=۱
∑
N
=r ri
i=۱
ﻫﻤﭽﻨﯿﻦ ﭘﺲ ﺍﺯ ﺍﻧﺘﺸﺎﺭ ﺁﺭﺍﯼ ﺗﺠﻤﯿﻊ ﺷﺪﻩ ،ﯾﻌﻨﯽ ،v۱ + · · · + vNﺗﻮﺳﻂ ﺑﺮﮔﺰﺍﺭ ﮐﻨﻨﺪﻩ ،ﻫﺮ ﻓﺮﺩﯼ ﻣﯽﺗﻮﺍﻧﺪ ﻣﻘﺪﺍﺭ mﺭﺍ
ﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ .ﺑﻨﺎﺑﺮﺍﯾﻦ ﻧﻬﺎﺩ ﺑﺮﮔﺰﺍﺭﮐﻨﻨﺪﻩ ﺩﺭ ﻭﺍﻗﻊ ﺑﺎﯾﺪ ﺛﺎﺑﺖ ﮐﻨﺪ ﮐﻪ ﻣﺘﻦ ﺭﻣﺰﯼ ⟩ ⟨u, vﺑﻪ ﺩﺭﺳﺘﯽ ﺑﻪ mﺭﻣﺰﮔﺸﺎﯾﯽ ﻣﯽﺷﻮﺩ.
ﭼﻬﺎﺭﺗﺎﯾﯽ ﺯﯾﺮ ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﯿﺮ ﯾﺪ:
v
(g۱ , h۱ , g۲ , h۲ ) = (g, h, u, ) ) = (g, g x , g r , g rx
m
۱۳ Honest
۱۴ Corrupt
ﺑﯿﺴﺖﻭﭼﻬﺎﺭﻡ۶-
ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ ﺩﻭ ﻟﮕﺎﺭ ﯾﺘﻢ ﮔﺴﺴﺘﻪ ﺯﯾﺮ ﺑﺮﺍﺑﺮ ﺍﻧﺪ.
ﺑﻨﺎﺑﺮﺍﯾﻦ ﻣﺴﺎﻟﻪ ﺍﺛﺒﺎﺕ ﺻﺤﺖ ﺭﻣﺰﮔﺸﺎﯾﯽ ﺑﻪ ﻣﺴﺎﻟﻪ ﺍﺛﺒﺎﺕ ﺑﺮﺍﺑﺮﯼ ﻟﮕﺎﺭ ﯾﺘﻢ ﮔﺴﺴﺘﻪ ﺗﺒﺪﯾﻞ ﻣﯽﮔﺮﺩﺩ .ﯾﻌﻨﯽ ﺑﺮﮔﺰﺍﺭﻛﻨﻨﺪﻩ ﻣﯽﺗﻮﺍﻧﺪ
ﺑﻪ ﻃﻮﺭ ﻣﻌﺎﺩﻝ ﺛﺎﺑﺖ ﻛﻨﺪ ﺩﻭ ﻟﮕﺎﺭ ﯾﺘﻢ ﻓﻮﻕ ﮔﺴﺴﺘﻪ ﺑﺮﺍﺑﺮﻧﺪ .ﺩﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﺍﯾﻦ ﮐﺎﺭ ﺑﺪﻭﻥ ﺍﻓﺸﺎﯼ ﻫﯿﭻﮔﻮﻧﻪ ﺍﻃﻼﻋﺎﺗﯽ ﺩﺭ ﻣﻮﺭﺩ
ﻣﻘﺪﺍﺭ xﺑﺎﯾﺪ ﺻﻮﺭﺕ ﮔﯿﺮﺩ.
ﺑﺮﺍﯼ ﺍﺛﺒﺎﺕ ﺑﺮﺍﺑﺮﯼ ﻟﮕﺎﺭ ﯾﺘﻢ ﮔﺴﺴﺘﻪ ﻧﯿﺰ ﭘﺮ ﻭﺗﻜﻞ ﺯﯾﺮ ﺭﺍ ﺑﯿﻦ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﺑﺎ ﻭﺭ ﻭﺩﯼ xﻭ ﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ ﺑﺎ ﻭﺭ ﻭﺩﯼﻫﺎﯼ
) (g۱ , h۱ , g۲ , h۲ﻣﻌﺮﻓﯽ ﻣﯽﻛﻨﯿﻢ .ﺩﺭ ﺍﯾﻦ ﭘﺮ ﻭﺗﻜﻞ ،ﺭ ﻭﺍﺑﻂ ﺯﯾﺮ ﺑﯿﻦ ﻭﺭ ﻭﺩﯼﻫﺎ ﺻﺎﺩﻕ ﺍﺳﺖ.
h۱ = g۱x
h۲ = g۲x
Pﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ Vﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ
)P (g۱ , h۱ , g۲ , h۲ ; x ) V (g۱ , h۱ , g۲ , h۲
a ← Zq
A۱ = g۱a
A۱ , A۲
A۲ = g۲a
ﻋﻤﻠﻜﺮﺩ ﺍﯾﻦ ﭘﺮ ﻭﺗﻜﻞ ﻫﻤﺎﻧﻨﺪ ﺍﺟﺮﺍﯼ ﻫﻢﺯﻣﺎﻥ ﺩﻭ ﻧﺴﺨﻪ ﭘﺮ ﻭﺗﻜﻞ ﺍﺷﻨﻮﺭ ﺍﺳﺖ .ﻗﺎﺑﻞ ﺗﻮﺟﻪ ﺍﺳﺖ ﻛﻪ ﺩﺭ ﺍﯾﻦ ﭘﺮ ﻭﺗﻜﻞ ﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ
ﻋﻼﻭﻩ ﺑﺮ ﺍﯾﻦ ﻛﻪ ﺛﺎﺑﺖ ﻣﯽﻛﻨﺪ ﺩﻭ ﻟﮕﺎﺭ ﯾﺘﻢ ﮔﺴﺴﺘﻪ ﺑﺮﺍﺑﺮ ﺍﻧﺪ ،ﺩﺍﻧﺶ ﺧﻮﺩ ﺑﻪ ﻣﻘﺪﺍﺭ xﺭﺍ ﻧﯿﺰ ﺍﺛﺒﺎﺕ ﻣﯽﻛﻨﺪ .ﻧﻜﺘﻪ ﻣﻬﻢ ﺩﯾﮕﺮ
ﺍﯾﻦ ﺍﺳﺖ ﻛﻪ ﭼﻨﺎﻧﭽﻪ ﺭﻣﺰﮔﺸﺎﯾﯽ ﺁﺭﺍء ﺑﻪ ﺻﻮﺭﺕ ﺗﻮﺯﯾﻊ ﺷﺪﻩ ﻧﯿﺰ ﺍﻧﺠﺎﻡ ﯾﺎﺑﺪ ،ﻫﻤﭽﻨﺎﻥ ﻣﯽﺗﻮﺍﻥ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺳﯿﺴﺘﻤﯽ ﻣﺒﺘﻨﯽ
ﺑﺮ ﭘﺮ ﻭﺗﻜﻞ ﯾﺎﺩﺷﺪﻩ ،ﺻﺤﺖ ﺭﻣﺰﮔﺸﺎﯾﯽ ﺩﺭ ﻫﺮ ﻗﺴﻤﺖ ﺭﺍ ﺍﺣﺮﺍﺯ ﻧﻤﻮﺩ .ﺩﺭ ﻣﻮﺭﺩ ﺭﻣﺰﮔﺸﺎﯾﯽ ﺗﻮﺯﯾﻊ ﺷﺪﻩ ،ﺩﺭ ﺍﺩﺍﻣﻪ ﺗﻮﺿﯿﺤﺎﺕ
ﻻﺯﻡ ﺩﺍﺩﻩ ﺧﻮﺍﻫﺪ ﺷﺪ.
ﺑﺮﺍﯼ ﺍﯾﻨﻜﻪ ﺻﺤﺖ ﻓﺮﺁﯾﻨﺪ ﺭﺃﯼﮔﯿﺮﯼ ﺯﯾﺮ ﺳﻮﺍﻝ ﻧﺮ ﻭﺩ ،ﺑﺎﯾﺪ ﻣﻄﻤﺌﻦ ﺑﺎﺷﯿﻢ ﻛﻪ ﻫﯿﭻ ﺭﺃﯼﺩﻫﻨﺪﻩﺍﯼ ﻣﻘﺪﺍﺭﯼ ﻏﯿﺮ ﺍﺯ ﺻﻔﺮ ﯾﺎ
ﯾﻚ ﺭﺍ ﺭﻣﺰ ﻧﻤﯽﻛﻨﺪ .ﺭﺃﯼﺩﻫﻨﺪﻩﺍﯼ ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﯿﺮ ﯾﺪ ﻛﻪ ﻣﻘﺪﺍﺭ g ۰ﯾﺎ g ۱ﺭﺍ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻣﻘﺪﺍﺭ ﺗﺼﺎﺩﻓﯽ rﺗﻮﺳﻂ ﺍﻟﮕﻤﺎﻝ،
ﺭﻣﺰ ﻧﻤﻮﺩﻩ ﻭ ﺭﺃﯼ ﺭﻣﺰ ﺷﺪﻩ ﺭﺍ ﺑﻪ ﺻﻮﺭﺕ ⟩ ⟨u, vﺍﺭﺳﺎﻝ ﻧﻤﻮﺩﻩ ﺍﺳﺖ .ﯾﻌﻨﯽ:
ﺑﯿﺴﺖﻭﭼﻬﺎﺭﻡ۷-
⟩ ⟨u, v⟩ = ⟨g r , g ۰ · hr ﯾﺎ ⟩ ⟨u, v⟩ = ⟨g r , g ۱ · hr
ﺩﺭ ﺍﯾﻦ ﻣﻮﺭﺩ ﻛﺎﻓﯽ ﺍﺳﺖ ﺭﺃﯼﺩﻫﻨﺪﻩ ﺛﺎﺑﺖ ﻧﻤﺎﯾﺪ ﻛﻪ ﻟﮕﺎﺭ ﯾﺘﻢ ﮔﺴﺴﺘﻪ logg uﺑﺮﺍﺑﺮ ﺍﺳﺖ ﺑﺎ ﯾﮑﯽ ﺍﺯ ﺩﻭ ﻟﮕﺎﺭ ﯾﺘﻢ ﮔﺴﺴﺘﻪ logh v
ﯾﺎ .logh v/gﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺷﮕﺮﺩ ORﻣﯽﺗﻮﺍﻥ ﭘﺮ ﻭﺗﮑﻞ ﺍﺛﺒﺎﺕ ﺑﺮﺍﺑﺮﯼ ﻟﮕﺎﺭ ﯾﺘﻢ ﮔﺴﺴﺘﻪ ﺭﺍ ﺑﻪ ﭘﺮ ﻭﺗﮑﻠﯽ ﺑﺮﺍﯼ ﺍﯾﻦ ﻣﻨﻈﻮﺭ ﺗﺒﺪﯾﻞ
ﮐﺮﺩ.
ﺩﺭ ﺍﯾﻨﺠﺎ ﺷﮕﺮﺩ ORﺭﺍ ﺑﺮﺍﯼ ﭘﺮ ﻭﺗﮑﻞ ﺍﺛﺒﺎﺕ ﺩﺍﻧﺶ ﻟﮕﺎﺭ ﯾﺘﻢ ﮔﺴﺴﺘﻪ ﻣﻄﺮﺡ ﻣﯽﮐﻨﯿﻢ .ﻭﻟﯽ ﺍﯾﻦ ﺷﮕﺮﺩ ORﮐﻠﯽ ﺍﺳﺖ ﻭ ﺑﻪ
ﻃﻮﺭ ﻣﺸﺎﺑﻬﯽ ﺑﺮﺍﯼ ﻣﺴﺄﻟﻪ ﺑﺮﺍﺑﺮﯼ ﻟﮕﺎﺭ ﯾﺘﻢ ﻧﯿﺰ ﻗﺎﺑﻞ ﺗﻄﺒﯿﻖ ﺍﺳﺖ.
ﺷﮕﺮﺩ .ORﻓﺮﺽ ﮐﻨﯿﺪ ﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ ﻣﻘﺎﺩﯾﺮ h۱ ،gﻭ h۲ﺭﺍ ﻣﯽﺩﺍﻧﺪ ﻭ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﺩﺭ ﭘﯽ ﺁﻥ ﺍﺳﺖ ﻛﻪ ﺛﺎﺑﺖ ﻛﻨﺪ ﯾﮑﯽ ﺍﺯ
ﺩﻭ ﻟﮕﺎﺭ ﯾﺘﻢ ﮔﺴﺴﺘﻪ logg h۱ﯾﺎ logg h۲ﺭﺍ ﻣﯽﺩﺍﻧﺪ ،ﺑﺪﻭﻥ ﺍﯾﻨﻜﻪ ﺍﻃﻼﻋﺎﺗﯽ ﺑﺪﻫﺪ ﺩﺭ ﻣﻮﺭﺩ ﺍﯾﻨﻜﻪ ﻛﺪﺍﻡ ﯾﻚ ﺭﺍ ﻣﯽﺩﺍﻧﺪ ﻭ ﯾﺎ
ﺍﻃﻼﻋﺎﺗﯽ ﺩﺭ ﻣﻮﺭﺩ ﻣﻘﺪﺍﺭ ﻟﮕﺎﺭ ﯾﺘﻢ ﮔﺴﺴﺘﻪ ﺍﻓﺸﺎ ﮐﻨﺪ .ﺑﺮﺍﯼ ﺣﻞ ﺍﯾﻦ ﻣﺴﺎﻟﻪ ﺷﮕﺮﺩ ORﺍﺯ ﭘﺮ ﻭﺗﮑﻞ ﺍﺛﺒﺎﺕ ﺩﺍﻧﺶ ﻟﮕﺎﺭ ﯾﺘﻢ
ﮔﺴﺴﺘﻪ ﺑﻪ ﻧﺤﻮ ﻣﻄﻠﻮﺑﯽ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽﮐﻨﺪ .ﺩﺭ ﺫﯾﻞ ،ﺍﯾﻦ ﭘﺮ ﻭﺗﻜﻞ ﺑﺮﺍﯼ ﺣﺎﻟﺘﯽ ﺗﻮﺻﯿﻒ ﺷﺪﻩ ﺍﺳﺖ ﻛﻪ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ logg h۱ﺭﺍ
ﻣﯽﺩﺍﻧﺪ .ﺣﺎﻟﺖ ﺩﯾﮕﺮ ﻛﻪ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ logg h۲ﺭﺍ ﻣﯽﺩﺍﻧﺪ ،ﺑﻪ ﺻﻮﺭﺕ ﻣﺸﺎﺑﻪ ﺑﺎ ﺟﺎﺑﺠﺎ ﻛﺮﺩﻥ ﺍﻧﺪﯾﺲﻫﺎ ﺑﻪ ﺩﺳﺖ ﻣﯽﺁﯾﺪ.
Pﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ Vﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ
)P (g, h۱ , h۲ ; x ) V (g, h۱ , h۲
a ← Zq
A۱ = g a
c۲ ← Zq
z۲ ← Zq
g z۲ A۱ , A۲
A۲ = c۲
h۲
c
c ← Zq
c۱ = c − c۲
z۱ , z۲ , c۱ , c۲
? z c۱
z۱ = a + c۱ x g ۱ = A۲ · h۱
?
g z۲ = A۲ · hc۲۲
?
c۱ + c۲ = c
.
ﺩﺭ ﭘﺮ ﻭﺗﻜﻠﯽ ﻛﻪ ﺗﻮﺻﯿﻒ ﺷﺪ ،ﺩﺭ ﺣﻘﯿﻘﺖ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﺳﻪﺗﺎﯾﯽ ) (A۲ , c۲ , z۲ﺭﺍ ﺑﺎ ﺷﺒﯿﻪﺳﺎﺯﯼ ﺗﻮﻟﯿﺪ ﻣﯽﻛﻨﺪ ﺑﻪ ﻃﻮﺭﯼ ﻛﻪ
g z۲
ﺭﺍﺑﻄﻪ A۲ = c۲ﺑﺮﻗﺮﺍﺭ ﺑﺎﺷﺪ .ﺑﻪ ﻫﻤﯿﻦ ﺩﻟﯿﻞ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﺑﯽﺁﻧﮑﻪ x = logg h۲ﺭﺍ ﺑﺪﺍﻧﺪ ،ﺳﻪﺗﺎﯾﯽ ﻣﻌﺘﺒﺮﯼ ﺗﻮﻟﯿﺪ ﮐﺮﺩﻩ
h۲
ﺍﺳﺖ ﮐﻪ ﺷﺮﻁ ﺩﻭﻡ ﺗﺄﯾﯿﺪﮐﻨﻨﺪﻩ ﺭﺍ ﺍﺭﺿﺎ ﻣﯽﮐﻨﺪ .ﺩﺍﺭ ﯾﻢ:
g z۲
= A۲ =⇒ g z۲ = A۲ · hc۲۲
hc۲۲
ﺑﯿﺴﺖﻭﭼﻬﺎﺭﻡ۸-
ﺍﻣﺎ ﺍﺯ ﻃﺮﻑ ﺩﯾﮕﺮ ﻓﺮﺽ ﻛﺮﺩﯾﻢ ﻛﻪ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ logg h۱ﺭﺍ ﻣﯽﺩﺍﻧﺪ .ﯾﻌﻨﯽ ﺩﺭ ﻭﺍﻗﻊ ﻣﯽﺩﺍﻧﺪ ﻛﻪ .x = logg h۱ﺩﺍﺭ ﯾﻢ:
ﺑﻨﺎﺑﺮﺍﯾﻦ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﻫﺮ ﺳﻪ ﺭﺍﺑﻄﻪ ﺗﺴﺎﻭﯼ ﻣﺪ ﻧﻈﺮ ﺗﺄﯾﯿﺪﻛﻨﻨﺪﻩ ﺭﺍ ﺑﺮﺁﻭﺭﺩﻩ ﻣﯽﺳﺎﺯﺩ .ﺩﻗﺖ ﻛﻨﯿﺪ ﻛﻪ ﺷﺮﻁ ﺳﻮﻡ ﯾﻌﻨﯽ ﺗﺴﺎﻭﯼ
?
c۱ + c۲ = cﺗﻨﻬﺎ ﺑﻪ ﺍﯾﻦ ﺩﻟﯿﻞ ﺩﺭ ﭘﺮ ﻭﺗﻜﻞ ﺗﻌﺒﯿﻪ ﺷﺪﻩ ﻛﻪ ﺍﺛﺒﺎﺕ ﻛﻨﻨﺪﻩ ﻣﺠﺒﻮﺭ ﺑﺎﺷﺪ ﻣﻘﺪﺍﺭ c۱ﺭﺍ ﺣﺘﻤﺎً ﺍﺯ ﻃﺮ ﯾﻖ ﺭﺍﺑﻄﻪ
c۱ = c − c۲ﻣﺤﺎﺳﺒﻪ ﻛﻨﺪ .ﺑﻪ ﺍﯾﻦ ﺗﺮﺗﯿﺐ ﺍﺛﺒﺎﺕﻛﻨﻨﺪﻩ ﻧﺨﻮﺍﻫﺪ ﺗﻮﺍﻧﺴﺖ ﺳﻪﺗﺎﯾﯽ ) � (A۱ , c۱ , z۱ﺭﺍ ﺷﺒﯿﻪﺳﺎﺯﯼ ﻛﻨﺪ ﻭ ﺗﻨﻬﺎ
ﺩﺭ ﺻﻮﺭﺗﯽ ﻗﺎﺩﺭ ﺑﻪ ﮔﺬﺭﺍﻧﺪﻥ ﺁﺯﻣﻮﻥ ﻧﻬﺎﯾﯽ ﭘﺮ ﻭﺗﻜﻞ ﺧﻮﺍﻫﺪ ﺑﻮﺩ ﻛﻪ ﻭﺍﻗﻌﺎً ﻣﻘﺪﺍﺭ xﯾﻌﻨﯽ ﻟﮕﺎﺭ ﯾﺘﻢ ﮔﺴﺴﺘﻪ h۱ﺩﺭ ﻣﺒﻨﺎﯼ gﺭﺍ
ﺑﺪﺍﻧﺪ.
ﭘﯿﺸﺘﺮ ﺍﺷﺎﺭﻩ ﺷﺪ ﻛﻪ ﺩﺭ ﺳﯿﺴﺘﻢ ﺭﺃﯼﮔﯿﺮﯼ ﻣﻌﺮﻓﯽ ﺷﺪﻩ ،ﻧﻬﺎﺩ ﺑﺮﮔﺰﺍﺭﻛﻨﻨﺪﻩ ﺑﻪ ﺁﺭﺍﯼ ﯾﻜﺎﯾﻚ ﺭﺃﯼﺩﻫﻨﺪﮔﺎﻥ ﺩﺳﺘﺮﺳﯽ ﺩﺍﺭﺩ ﻭ
ﻣﯽﺗﻮﺍﻧﺪ ﻣﺸﺨﺺ ﺳﺎﺯﺩ ﻛﻪ ﻫﺮ ﻓﺮﺩ ﭼﻪ ﺭﺃﯾﯽ ﺩﺍﺩﻩ ﺍﺳﺖ .ﺭﺍﻩ ﺣﻞ ﺍﯾﻦ ﻣﺸﻜﻞ ﺍﻣﺎ ﺷﺒﺎﻫﺖ ﭼﻨﺪﺍﻧﯽ ﺑﻪ ﻣﻮﺍﺭﺩ ﮔﻔﺘﻪ ﺷﺪﻩ ﻗﺒﻠﯽ
ﻧﺪﺍﺭﺩ .ﺑﺮﺍﯼ ﺣﻞ ﺍﯾﻦ ﻣﺸﻜﻞ ﺍﺯ ﺭﻣﺰﮔﺸﺎﯾﯽ ﺗﻮﺯﯾﻊﺷﺪﻩ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽﻛﻨﯿﻢ.
۱۵
ﺭﺍ ﻣﻄﺮﺡ ﻣﯽﻛﻨﯿﻢ ﻭ ﺳﭙﺲ ﺑﻪ ﻣﺴﺎﻟﻪ ﺍﺻﻠﯽ ﺑﺎﺯﺧﻮﺍﻫﯿﻢ ﮔﺸﺖ. ﺩﺭ ﺍﯾﻨﺠﺎ ﺍﺑﺘﺪﺍ ﻣﺴﺎﻟﻪ ﺗﺴﻬﯿﻢ ﺭﺍﺯ
ﻣﯽﺧﻮﺍﻫﯿﻢ ﺭﺍﺯﯼ ﻣﺎﻧﻨﺪ ﻋﺪﺩ S ∈ Zpﺭﺍ ﺑﯿﻦ nﻧﻔﺮ ﺗﻘﺴﯿﻢ ﻛﻨﯿﻢ ﺑﻪ ﻃﻮﺭﯼ ﻛﻪ ﺍﯾﻦ nﻧﻔﺮ ﺑﻪ ﻫﻤﺮﺍﻩ ﯾﻜﺪﯾﮕﺮ ﺑﺘﻮﺍﻧﻨﺪ ﻋﺪﺩ S
ﺭﺍ ﭘﯿﺪﺍ ﻛﻨﻨﺪ ،ﺍﻣﺎ ﻫﯿﭻ ) (n − ۱ﻧﻔﺮﯼ ﻧﺘﻮﺍﻧﻨﺪ ﺭﺍﺯ ﺭﺍ ﻛﺸﻒ ﻛﻨﻨﺪ .ﺑﺮﺍﯼ ﺍﯾﻦ ﻣﻨﻈﻮﺭ ﻛﺎﻓﯽ ﺍﺳﺖ ﺑﻪ ﻫﺮ ﯾﻚ ﺍﺯ ) (n − ۱ﻧﻔﺮ
ﺍﻭﻝ ،ﻋﺪﺩﯼ ﺗﺼﺎﺩﻓﯽ ﺍﺯ Zpﺭﺍ ﺑﺪﻫﯿﻢ ﻭ ﺑﻪ ﻧﻔﺮ ﺁﺧﺮ ﻣﻘﺪﺍﺭ sn = S + s۱ + . . . + sn−۱ﺭﺍ ﻧﺴﺒﺖ ﺑﺪﻫﯿﻢ.
ﭼﻨﺎﻥ ﻛﻪ ﻣﺸﺨﺺ ﺍﺳﺖ ﻫﯿﭻ ﯾﻚ ﺍﺯ ﺍﻓﺮﺍﺩ ﺑﻪ ﺗﻨﻬﺎﯾﯽ ﺭﺍﺯ ﺭﺍ ﻧﻤﯽﺩﺍﻧﻨﺪ ﻭ ﻇﺎﻫﺮﺍً ﺷﺮﺍﯾﻂ ﻣﺴﺎﻟﻪ ﺑﺮﺁﻭﺭﺩﻩ ﺷﺪﻩ ﺍﺳﺖ؛ ﭼﺮﺍ ﻛﻪ
ﺩﺍﺭ ﯾﻢ:
۱۵ Secret Sharing
ﺑﯿﺴﺖﻭﭼﻬﺎﺭﻡ۹-
S = −s۱ + . . . + sn
ﺍﻣﺎ ﯾﻚ ﻣﺸﻜﻞ ﻛﻪ ﺩﺭ ﺍﯾﻦ ﺭﺍﻩ ﺣﻞ ﺑﻪ ﭼﺸﻢ ﻣﯽﺁﯾﺪ ﺁﻥ ﺍﺳﺖ ﻛﻪ ﻣﻤﻜﻦ ﺍﺳﺖ ﯾﻜﯽ ﺍﺯ ﺍﻓﺮﺍﺩ ﻧﺨﻮﺍﻫﺪ ﻣﻘﺪﺍﺭ siﺧﻮﺩ ﺭﺍ ﺑﻪ
ﺩﺭﺳﺘﯽ ﺍﻋﻼﻡ ﻛﻨﺪ .ﺑﺪﯾﻦ ﻣﻨﻈﻮﺭ ﻻﺯﻡ ﺍﺳﺖ ﻣﻘﺎﺩﯾﺮ Yi = g siﺭﺍ ﻧﯿﺰ ﺩﺭ ﺍﺧﺘﯿﺎﺭ ﻋﻤﻮﻡ ﻗﺮﺍﺭ ﺩﻫﯿﻢ ﺗﺎ ﺩﺭ ﺻﻮﺭﺕ ﺑﺮ ﻭﺯ ﭼﻨﯿﻦ
ﻣﺸﻜﻠﯽ ،ﻓﺮﺩ ﻣﺘﻘﻠﺐ ﺷﻨﺎﺳﺎﯾﯽ ﮔﺮﺩﺩ.
ﺍﻣﺎ ﻣﺸﻜﻞ ﺩﯾﮕﺮﯼ ﻧﯿﺰ ﻭﺟﻮﺩ ﺩﺍﺭﺩ .ﻣﻤﻜﻦ ﺍﺳﺖ ﯾﻜﯽ ﺍﺯ ﺍﻓﺮﺍﺩ ﺳﻬﯿﻢ ،ﺍﺳﺎﺳﺎً ﺳﻬﻢ ﺧﻮﺩ ﺍﺯ ﺭﺍﺯ ﺭﺍ ﺍﻋﻼﻡ ﻧﻜﻨﺪ .ﺩﺭ ﺍﯾﻦ ﺻﻮﺭﺕ
ﭼﻪ ﺑﺎﯾﺪ ﻛﺮﺩ؟
ﻣﺴﺎﻟﻪﺍﯼ ﻛﻪ ﻣﻄﺮﺡ ﺷﺪ ﺩﺭ ﻭﺍﻗﻊ ﺑﯿﺎﻧﮕﺮ ﺣﺎﻟﺘﯽ ﺧﺎﺹ ﺍﺯ ﺗﺴﻬﯿﻢ ﺭﺍﺯ ﺍﺳﺖ )ﺗﺴﻬﯿﻢ ﺭﺍﺯ ) .((n, nﺣﺎﻟﺖ ﻛﻠﯽﺗﺮ ﻣﺴﺎﻟﻪ ،ﺗﺴﻬﯿﻢ
ﺭﺍﺯ ) (t, nﺍﺳﺖ ﻛﻪ ﺩﺭ ﺁﻥ ﻛﺸﻒ ﺭﺍﺯ ﺑﺎ ﻫﻤﺮﺍﻫﯽ ﻫﺮ ﺯﯾﺮﻣﺠﻤﻮﻋﻪ ﺣﺪﺍﻗﻞ tﻧﻔﺮﯼ ﺍﺯ ﻣﺠﻤﻮﻉ nﻧﻔﺮ ﻣﯿﺴﺮ ﺧﻮﺍﻫﺪ ﺑﻮﺩ .ﺩﺭ
۱۶
ﺭﺍ ﻣﻌﺮﻓﯽ ﺧﻮﺍﻫﯿﻢ ﻧﻤﻮﺩ ﻛﻪ ﺟﻮﺍﺑﯽ ﺑﻪ ﻫﻤﯿﻦ ﺣﺎﻟﺖ ﻛﻠﯽﺗﺮ ﻣﺴﺎﻟﻪ ﺍﺳﺖ. ﺍﺩﺍﻣﻪ ﭘﺮ ﻭﺗﻜﻞ ﺗﺴﻬﯿﻢ ﺭﺍﺯ ﺷﺎﻣﯿﺮ
۱۶ Shamir
ﺑﯿﺴﺖﻭﭼﻬﺎﺭﻡ۱۰-