0% found this document useful (0 votes)
28 views3 pages

راهنمای امضای دیجیتال و امنیت

This document outlines the characteristics and definitions of digital signatures, emphasizing their importance in ensuring integrity, non-repudiation, and public verifiability. It describes the algorithms involved in generating, signing, and verifying digital signatures, as well as the security properties that must be maintained. The document also highlights the significance of digital signatures in providing a reliable method for authenticating messages.

Uploaded by

Amin Aminss
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views3 pages

راهنمای امضای دیجیتال و امنیت

This document outlines the characteristics and definitions of digital signatures, emphasizing their importance in ensuring integrity, non-repudiation, and public verifiability. It describes the algorithms involved in generating, signing, and verifying digital signatures, as well as the security properties that must be maintained. The document also highlights the significance of digital signatures in providing a reliable method for authenticating messages.

Uploaded by

Amin Aminss
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

‫داﺪﮑﺸﻧه ﻋ ﻮمرﯾﺎ ﯽو آﻣﺎر‬

‫ﺗﻬﯿﻪ ﻭ ﺗﻨﻈﯿﻢ‪ :‬ﻣﺠﺘﺒﯽ ﺭﻓﯿﻌﯽ‬

‫ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ‬

‫ﻧﺴﺨﻪ ﺍﻭﻝ ‪ −‬ﺑﻬﺎﺭ ‪۱۴۰۲‬‬

‫ﺭﻣﺰﻧﮕﺎﺭﯼ‬

‫ﻭﯾﮋﮔﯽ ﭘﺎﯾﻪﺍﯼ ﮐﻪ ﺍﺯ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ ‪ ۱‬ﺍﻧﺘﻈﺎﺭ ﺩﺍﺭﯾﻢ ﺑﻪ ﻗﺮﺍﺭ ﺯﯾﺮ ﺍﺳﺖ‪:‬‬

‫‪ −‬ﺗﺎﻣﯿﻦ ﻭﯾﮋﮔﯽ ﺟﺎﻣﻌﯿﺖ ‪ ۲‬ﺑﺪﯾﻦ ﻣﻌﻨﺎ ﮐﻪ ﺍﻣﮑﺎﻥ ﺗﻐﯿﯿﺮ ﭘﯿﺎﻡ ﻭ ﺟﻌﻞ ﺑﺮﭼﺴﺒﯽ ﻣﻨﻄﺒﻖ ﺑﺎ ﭘﯿﺎﻡ ﺍﻣﮑﺎﻥﭘﺬﯾﺮ ﻧﺒﺎﺷﺪ‪.‬‬

‫ﺑﺎ ﺍﯾﻨﺤﺎﻝ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ ﻭﯾﮋﮔﯽﻫﺎﯼ ﺩﯾﮕﺮﯼ ﻫﻢ ﺩﺍﺭﺩ ﮐﻪ ﺁﻥ ﺭﺍ ﻧﺴﺒﺖ ﺑﻪ ﮐﺪ ﺍﺻﺎﻟﺖﺳﻨﺠﯽ ﭘﯿﺎﻡ ﻣﺘﻤﺎﯾﺰ ﻣﯽﮐﻨﺪ‪:‬‬

‫‪ −‬ﺗﺎﻣﯿﻦ ﻭﯾﮋﮔﯽ ﺍﻧﮑﺎﺭ ﻧﺎﭘﺬﯾﺮﯼ ‪ ۳‬ﺑﺪﯾﻦ ﻣﻌﻨﺎ ﮐﻪ ﺍﮔﺮ ﻓﺮﺩﯼ ﭘﯿﺎﻣﯽ ﺭﺍ ﺍﻣﻀﺎ ﮐﺮﺩ ﻧﺘﻮﺍﻧﺪ ﺁﻥ ﺭﺍ ﺍﻧﮑﺎﺭ ﮐﻨﺪ‪.‬‬

‫‪ −‬ﺩﺍﺭﺍﯼ ﻭﯾﮋﮔﯽ ﺍﺛﺒﺎﺕﭘﺬﯾﺮﯼ ﻋﻤﻮﻣﯽ ‪ ۴‬ﺍﺳﺖ ﺑﺪﯾﻦ ﻣﻌﻨﺎ ﮐﻪ ﻻﺯﻡ ﻧﯿﺴﺖ ﺣﺘﻤﺎ ﯾﮏ ﮐﻠﯿﺪ ﺧﺼﻮﺻﯽ ﺩﺍﺷﺘﻪ ﺑﺎﺷﯿﻢ ﺗﺎ ﺑﺘﻮﺍﻧﯿﻢ ﺁﻥ ﺭﺍ ﺍﺛﺒﺎﺕ ﮐﻨﯿﻢ ﻭ‬
‫ﻫﺮ ﺷﺨﺼﯽ ﻣﯽﺗﻮﺍﻧﺪ ﺑﺮﺭﺳﯽ ﺍﺛﺒﺎﺕ ﺭﺍ ﺍﻧﺠﺎﻡ ﺩﻫﺪ‪.‬‬

‫‪ −‬ﻗﺎﺑﻞ ﺍﻧﺘﻘﺎﻝ ‪ ۵‬ﺑﻪ ﻏﯿﺮ ﺍﺳﺖ ﺑﺪﯾﻦ ﻣﻌﻨﯽ ﮐﻪ ﺍﮔﺮ ﯾﮏ ﭘﯿﺎﻡ ﺑﻪ ﻣﺎ ﺑﺪﻫﻨﺪ ﻣﯽﺗﻮﺍﻥ ﺁﻥ ﺭﺍ ﻧﺰﺩ ﺷﺨﺺ ﺩﯾﮕﺮﯼ ﺑﺮﺩ ﻭ ﻧﺸﺎﻥ ﺩﺍﺩ ﮐﻪ ﺁﻥ ﺍﻣﻀﺎﯼ )ﺗﺎﯾﯿﺪ(‬
‫ﺷﺨﺺ ﻣﻮﺭﺩ ﻧﻈﺮ ﺍﺳﺖ‪.‬‬

‫ﺗﻌﺮﯾﻒ ‪) ۱‬ﻃﺮﺡ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ( ﯾﮏ ﻃﺮﺡ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ )‪ ،Π = (Gen, Sign, Vrfy‬ﯾﮏ ﺳﻪ ﺗﺎﯾﯽ ﺍﺯ ﺍﻟﮕﻮﺭﯾﺘﻢﻫﺎﯼ ﺍﺣﺘﻤﺎﻻﺗﯽ ﮐﺎﺭﺍ ﺑﻪ‬
‫ﺷﺮﺡ ﺯﯾﺮ ﺍﺳﺖ‪:‬‬

‫‪ −‬ﺍﻟﮕﻮﺭﯾﺘﻢ ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ )‪ :(Gen‬ﺑﻪ ﻋﻨﻮﺍﻥ ﻭﺭﻭﺩﯼ ﭘﺎﺭﺍﻣﺘﺮ ﺍﻣﻨﯿﺘﯽ ‪ λ‬ﺭﺍ ﺩﺭﯾﺎﻓﺖ ﻭ ﺩﻭ ﮐﻠﯿﺪ )‪ (pk, sk‬ﺑﺎ ﻃﻮﻝ ‪ n‬ﺭﺍ ﺑﻪ ﺧﺮﻭﺟﯽ ﺑﺮ ﻣﯽﮔﺮﺩﺍﻧﺪ ﮐﻪ‬
‫‪ pk‬ﮐﻠﯿﺪ ﻋﻤﻮﻣﯽ ﻭ ‪ sk‬ﮐﻠﯿﺪ ﺧﺼﻮﺻﯽ ﺍﺳﺖ‪.‬‬
‫‪ −‬ﺍﻟﮕﻮﺭﯾﺘﻢ ﺍﻣﻀﺎ )‪ :(Sign‬ﺑﻪ ﻋﻨﻮﺍﻥ ﻭﺭﻭﺩﯼ ﮐﻠﯿﺪ ﺧﺼﻮﺻﯽ ‪ sk‬ﻭ ﭘﯿﺎﻡ ‪ m‬ﺭﺍ ﺩﺭﯾﺎﻓﺖ ﻭ ﺑﻪ ﻋﻨﻮﺍﻥ ﺧﺮﻭﺟﯽ ﺍﻣﻀﺎﯼ ‪ σ‬ﺭﺍ ﺑﺮ ﻣﯽﮔﺮﺩﺍﻧﺪ‪.‬‬

‫‪ −‬ﺍﻟﮕﻮﺭﯾﺘﻢ ﺗﺼﺪﯾﻖ )‪ :(Vrfy‬ﺑﻪ ﻋﻨﻮﺍﻥ ﻭﺭﻭﺩﯼ ﮐﻠﯿﺪ ﻋﻤﻮﻣﯽ ‪ pk‬ﻭ ﭘﯿﺎﻡ ‪ m‬ﻭ ﺍﻣﻀﺎﯼ ‪ σ‬ﺭﺍ ﺩﺭﯾﺎﻓﺖ ﻭ ﺧﺮﻭﺟﯽ ﺁﻥ ﯾﮏ ﺑﯿﺖ ‪ b‬ﺍﺳﺖ ﺍﮔﺮ ‪b = 1‬‬
‫ﺑﺎﺷﺪ ﯾﻌﻨﯽ ﺍﻣﻀﺎ ﻣﻌﺘﺒﺮ ﺍﺳﺖ ﻭ ﺍﮔﺮ ‪ b = 0‬ﺑﺎﺷﺪ ﺍﻣﻀﺎ ﻧﺎﻣﻌﺘﺒﺮ ﺍﺳﺖ‪.‬‬
‫‪1 Digital‬‬ ‫‪Signature‬‬
‫‪2 Integrity‬‬
‫‪3 Non-repudation‬‬
‫‪4 Publicly‬‬ ‫‪Verifiable‬‬
‫‪5 Transferable‬‬

‫‪۱‬‬
‫ﻻﺯﻡ ﺑﻪ ﺫﮐﺮ ﺍﺳﺖ ﮐﻪ ﯾﮏ ﻃﺮﺡ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ ﻫﻤﻮﺍﺭﻩ ﻣﯽﺑﺎﯾﺴﺖ ﺩﺍﺭﺍﯼ ﻭﯾﮋﮔﯽ ﺻﺤﺖ ﺑﺎﺷﺪ‪:‬‬

‫‪.Vrfypk (m, Signsk (m)) = 1‬‬

‫ﺗﻌﺮﯾﻒ ‪) ۲‬ﺍﻣﻨﯿﺖ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ( ﮔﻮﯾﯿﻢ ﺳﯿﺴﺘﻢ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ )‪ Π = (Gen, Sign, Vrfy‬ﺩﺍﺭﺍﺭﯼ ﺍﻣﻨﯿﺖ ﺟﻌﻞ ﻧﺎﭘﺬﯾﺮﯼ ﺍﺳﺖ‪ ،‬ﺍﮔﺮ ﺑﺮﺍﯼ‬
‫ﻫﺮ ﻣﻬﺎﺟﻢ ﮐﺎﺭﺍﯼ ﺍﺣﺘﻤﺎﻻﺗﯽ‪ ،‬ﺗﺎﺑﻊ ﻧﺎﭼﯿﺰ )(‪ ϵ‬ﻭﺟﻮﺩ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ﺑﻪ ﻗﺴﻤﯽ ﮐﻪ‪:‬‬

‫‪Pr{SignforgeΠ,A (n) = 1} ≤ ϵ(n).‬‬

‫ﺟﺎﯾﯿﮑﻪ ﺁﺯﻣﺎﯾﺶ )‪ SignforgeΠ,A (n‬ﺑﻪ ﺻﻮﺭﺕ ﺯﯾﺮ ﺗﻌﺮﯾﻒ ﻣﯽﺷﻮﺩ‪:‬‬

‫‪ −‬ﭼﺎﻟﺸﮕﺮ ﺍﻟﮕﻮﺭﯾﺘﻢ ) ‪ (sk, pk) ← Gen(1n‬ﺭﺍ ﺍﺟﺮﺍ ﻣﯽﮐﻨﺪ ﻭ ﮐﻠﯿﺪ ﻋﻤﻮﻣﯽ ‪ pk‬ﺭﺍ ﺩﺭ ﺍﺧﺘﯿﺎﺭ ﻣﻬﺎﺟﻢ ﻗﺮﺍﺭ ﻣﯽﺩﻫﺪ‪.‬‬

‫‪ −‬ﺑﻪ ﻣﻬﺎﺟﻢ ﺍﻣﮑﺎﻥ ﺩﺳﺘﺮﺳﯽ ﺍﻭﺭﺍﮐﻠﯽ ﺑﻪ ﺍﻟﮕﻮﺭﯾﺘﻢ ﺍﻣﻀﺎ ﺩﺍﺩﻩ ﻣﯽﺷﻮﺩ‪ ،‬ﺑﺪﯾﻦ ﻣﻌﻨﺎ ﮐﻪ ﻫﺮ ﭘﯿﺎﻣﯽ ﺭﺍ ﮐﻪ ﺑﺨﻮﺍﻫﺪ ﻣﯽﺗﻮﺍﻧﺪ ﺍﻣﻀﺎﯼ ﻣﻌﺘﺒﺮ ﺁﻥ ﺭﺍ ﺩﺭﯾﺎﻓﺖ‬
‫ﮐﻨﺪ‪ .‬ﺩﺭ ﻧﻬﺎﯾﺖ ﻣﻬﺎﺟﻢ ﻣﯽﺑﺎﯾﺴﺖ ﯾﮏ ﭘﯿﺎﻡ ﺭﺍ ﮐﻪ ﻗﺒﻼ ﺍﻣﻀﺎﯼ ﺁﻥ ﺭﺍ ﺩﺭﯾﺎﻓﺖ ﻧﮑﺮﺩﻩ ﺑﻪ ﻫﻤﺮﺍﻩ ﯾﮏ ﺍﻣﻀﺎﯼ ﻣﻌﺘﺒﺮ ﺑﺮﺍﯼ ﭼﺎﻟﺸﮕﺮ ﺍﺭﺳﺎﻝ ﻧﻤﺎﯾﺪ‪.‬‬
‫ﺩﺭ ﺍﯾﻦ ﻣﺮﺣﻠﻪ ﻓﺮﺽ ﮐﻨﯿﺪ ﺗﻤﺎﻣﯽ ﭘﯿﺎﻡﻫﺎﯼ ﺍﺭﺍﮐﻞ ﺷﺪﻩ ﺩﺭ ﻟﯿﺴﺖ ‪ Q‬ﺍﺿﺎﻓﻪ ﺷﺪﻩﺍﻧﺪ‪.‬‬

‫∈ ‪.m‬‬
‫‪ −‬ﺧﺮﻭﺟﯽ ﺁﺯﻣﺎﯾﺶ ‪ ۱‬ﺍﺳﺖ )ﺑﺪﯾﻦ ﻣﻌﻨﺎ ﮐﻪ ﻣﻬﺎﺟﻢ ﻣﻮﻓﻖ ﺷﺪﻩ ﺍﺳﺖ( ﺍﮔﺮ ﻭ ﺗﻨﻬﺎ ﺍﮔﺮ ‪ Vrfypk (m, σ) = 1‬ﻭ ‪/ Q‬‬

‫ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ‪ RSA‬ﺑﺮﺍﯼ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ‬ ‫‪۱‬‬


‫ﺍﺑﺘﺪﺍ ﺑﻪ ﺳﺮﺍﻍ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ‪) RSA‬ﮐﺘﺎﺑﯽ( ﺑﺮﺍﯼ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ ‪ ۶‬ﻣﯽﺭﻭﯾﻢ‪ .‬ﺑﺮﺍﯼ ﺍﯾﻦ ﻣﻨﻈﻮﺭ ﻣﯽﺑﺎﯾﺴﺖ ﺍﻟﮕﻮﺭﯾﺘﻢﻫﺎﯼ ﻃﺮﺡ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ )ﺍﻟﮕﻮﺭﯾﺘﻢ‬
‫ﺗﻮﻟﯿﺪ ﮐﻠﯿﺪ‪ ،‬ﺍﻟﮕﻮﺭﯾﺘﻢ ﺍﻣﻀﺎ ﻭ ﺍﻟﮕﻮﺭﯾﺘﻢ ﺗﺼﺪﯾﻖ ﺍﻣﻀﺎ( ﺭﺍ ﺑﻪ ﻃﻮﺭ ﺩﻗﯿﻖ ﻣﺸﺨﺺ ﮐﻨﯿﻢ‪:‬‬

‫‪ :Gen −‬ﺭﻭﯼ ﻭﺭﻭﺩﯼ ‪ 1n‬ﺍﻟﮕﻮﺭﯾﺘﻢ ) ‪ GenRSA(1n‬ﺭﺍ ﺍﺟﺮﺍ ﮐﺮﺩﻩ ﻭ ﭘﺎﺭﺍﻣﺘﺮﻫﺎﯼ )‪ (N, e, d‬ﺭﺍ ﺑﺪﺳﺖ ﻣﯽﺁﻭﺭﺩ‪ .‬ﮐﻠﯿﺪ ﻋﻤﻮﻣﯽ ﺭﺍ ﺑﺎ ⟩‪ ⟨N, e‬ﻭ‬
‫ﮐﻠﯿﺪ ﺧﺼﻮﺻﯽ ﺭﺍ ﺑﺎ ⟩‪ ⟨N, d‬ﻣﻘﺪﺍﺭ ﺩﻫﯽ ﻣﯽﮐﻨﺪ‪.‬‬
‫∗‬
‫‪ ،mZN‬ﺍﻣﻀﺎ ﺭﺍ ﺑﻪ ﺻﻮﺭﺕ ﺯﯾﺮ ﻣﺤﺎﺳﺒﻪ ﻣﯽﮐﻨﺪ‪:‬‬ ‫‪ :Sign −‬ﺭﻭﯼ ﻭﺭﻭﺩﯼ ﮐﻠﯿﺪ ﺧﺼﻮﺻﯽ ⟩‪ sk = ⟨N, d‬ﻭ ﭘﯿﺎﻡ‬

‫‪σ = [md mod N ].‬‬

‫∗‬ ‫∗‬
‫‪ σ ∈ ZN‬ﺧﺮﻭﺟﯽ ‪ ۱‬ﺭﺍ ﺗﻮﻟﯿﺪ ﻣﯽﮐﻨﺪ ﺍﮔﺮ ﻭ ﺗﻨﻬﺎ ﺍﮔﺮ ‪:‬‬ ‫‪ m ∈ ZN‬ﻭ ﺍﻣﻀﺎﯼ‬ ‫‪ :Vrfy −‬ﺭﻭﯼ ﻭﺭﻭﺩﯼ ﮐﻠﯿﺪ ﻋﻤﻮﻣﯽ ⟩‪ ،pk = ⟨N, e‬ﭘﯿﺎﻡ‬

‫] ‪m = [σ e mod N‬‬

‫ﻻﺯﻡ ﺑﻪ ﺫﮐﺮ ﺍﺳﺖ ﮐﻪ ﺳﺎﺧﺖ ﺍﺭﺍﯾﻪ ﺷﺪﻩ ﺑﺎﻻ‪ ،‬ﺑﻪ ﺳﺒﺐ ﺩﺍﺷﺘﻦ ﺧﺼﯿﺼﻪ ﻫﻤﻮﻣﻮﺭﻓﯿﮏ ﺩﺍﺭﺍﯼ ﺍﻣﻨﯿﺖ ﺟﻌﻞ ﻧﺎﭘﺬﯾﺮﯼ ﻧﯿﺴﺖ‪ .‬ﺑﺮﺍﯼ ﺍﻣﻦ ﮐﺮﺩﻥ ﺁﻥ ﻣﯽﺑﺎﯾﺴﺖ‬
‫ﺍﺯ ﺗﺎﺑﻊ ﺩﺭﻫﻢ ﺳﺎﺯ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﯿﻢ ﮐﻪ ﺩﻭ ﻭﯾﮋﮔﯽ ﻣﻬﻢ ﺯﯾﺮ ﺭﺍ ﺑﺮﺍﯼ ﺁﻥ ﺗﺎﻣﯿﻦ ﻣﯽﮐﻨﺪ‪:‬‬

‫‪ −‬ﺍﻣﻨﯿﺖ ﺟﻌﻞ ﻧﺎﭘﺬﯾﺮﯼ‪،‬‬

‫‪ −‬ﺍﮔﺮ ﻃﻮﻝ ﭘﯿﺎﻡ ﺧﯿﻠﯽ ﺑﺰﺭﮒ ﺑﺎﺷﺪ‪ ،‬ﺍﻣﻀﺎ ﺗﻮﻟﯿﺪﯼ ﻧﯿﺰ ﺧﯿﻠﯽ ﺑﺰﺭﮒ ﻣﯽﺷﻮﺩ‪ .‬ﺑﺎ ﺍﯾﻨﺤﺎﻝ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺎﺑﻊ ﺩﺭﻫﻢ ﺳﺎﺯ ﻣﯽﺗﻮﺍﻧﯿﻢ ﻃﻮﻝ ﺍﻣﻀﺎ ﺭﺍ‬
‫ﮐﺎﻫﺶ ﺩﻫﯿﻢ‪.‬‬
‫‪6 Textbook‬‬ ‫‪RSA digital signature‬‬

‫‪۲‬‬
‫ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ ﺑﺎ ‪ RSA‬ﻭ ﺗﺎﺑﻊ ﺩﺭﻫﻢ ﺳﺎﺯﯼ‬ ‫‪۲‬‬
‫ﺣﺎﻝ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺎﺑﻊ ﺩﺭﻫﻢ ﺳﺎﺯ ﺩﺭ ﺍﻟﮕﻮﺭﯾﺘﻢ ‪ RSA‬ﮐﺘﺎﺑﯽ ﻣﺒﺎﺩﺭﺕ ﺑﻪ ﺳﺎﺧﺖ ﺍﻣﻀﺎﯼ ﺟﻌﻞﻧﺎﭘﺬﯾﺮ ﻣﯽﮐﻨﯿﻢ‪:‬‬

‫‪ :Gen −‬ﺭﻭﯼ ﻭﺭﻭﺩﯼ ‪ 1n‬ﺍﻟﮕﻮﺭﯾﺘﻢ ) ‪ GenRSA(1n‬ﺭﺍ ﺍﺟﺮﺍ ﮐﺮﺩﻩ ﻭ ﭘﺎﺭﺍﻣﺘﺮﻫﺎﯼ )‪ (N, e, d‬ﺭﺍ ﺑﺪﺳﺖ ﻣﯽﺁﻭﺭﺩ‪ .‬ﮐﻠﯿﺪ ﻋﻤﻮﻣﯽ ﺭﺍ ﺑﺎ ⟩‪ ⟨N, e‬ﻭ‬
‫ﮐﻠﯿﺪ ﺧﺼﻮﺻﯽ ﺭﺍ ﺑﺎ ⟩‪ ⟨N, d‬ﻣﻘﺪﺍﺭ ﺩﻫﯽ ﻣﯽﮐﻨﺪ‪.‬‬
‫∗‬
‫‪ ،mZN‬ﺍﻣﻀﺎ ﺭﺍ ﺑﻪ ﺻﻮﺭﺕ ﺯﯾﺮ ﻣﺤﺎﺳﺒﻪ ﻣﯽﮐﻨﺪ‪:‬‬ ‫‪ :Sign −‬ﺭﻭﯼ ﻭﺭﻭﺩﯼ ﮐﻠﯿﺪ ﺧﺼﻮﺻﯽ ⟩‪ sk = ⟨N, d‬ﻭ ﭘﯿﺎﻡ‬

‫‪σ = [H(m)d mod N ].‬‬

‫∗‬ ‫∗‬
‫‪ σ ∈ ZN‬ﺧﺮﻭﺟﯽ ‪ ۱‬ﺭﺍ ﺗﻮﻟﯿﺪ ﻣﯽﮐﻨﺪ ﺍﮔﺮ ﻭ ﺗﻨﻬﺎ ﺍﮔﺮ ‪:‬‬ ‫‪ m ∈ ZN‬ﻭ ﺍﻣﻀﺎﯼ‬ ‫‪ :Vrfy −‬ﺭﻭﯼ ﻭﺭﻭﺩﯼ ﮐﻠﯿﺪ ﻋﻤﻮﻣﯽ ⟩‪ ،pk = ⟨N, e‬ﭘﯿﺎﻡ‬

‫] ‪H(m) = [σ e mod N‬‬

‫ﻻﺯﻡ ﺑﻪ ﺫﮐﺮ ﺍﺳﺖ ﮐﻪ ﺳﺎﺧﺖ ﻓﻮﻕ ﺑﺎ ﺍﯾﻦ ﻓﺮﺽ ﮐﻪ ﺗﺎﺑﻊ ﺩﺭﻫﻢﺳﺎﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺷﺪﻩ ﺩﺭ ﻣﺪﻝ ﺍﻭﺭﺍﮐﻞ ﺗﺼﺎﺩﻓﯽ ﺩﺭ ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪﻩ ﺩﺍﺭﺍﯼ ﺍﻣﻨﯿﺖ ﺟﻌﻞﻧﺎﭘﺬﯾﺮﯼ‬
‫ﻣﯽﺑﺎﺷﺪ‪.‬‬

‫ﺳﯿﺴﺘﻢ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ ﺍﺳﺘﺎﻧﺪﺍﺭﺩ‬ ‫‪۳‬‬


‫ﺳﯿﺴﺘﻢ ﺩﯾﮕﺮﯼ ﮐﻪ ﺩﺭ ﻋﻤﻞ ﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﻗﺮﺍﺭ ﻣﯽﮔﯿﺮﺩ‪ ،‬ﺳﯿﺴﺘﻢ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ ﺍﺳﺘﺎﻧﺪﺍﺭﺩ ‪ ۷‬ﻣﯽﺑﺎﺷﺪ‪ .‬ﺳﯿﺴﺘﻢ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ ﺍﺳﺘﺎﻧﺪﺍﺭﺩ )‪ (ⅮSS‬ﯾﺎ‬
‫ﺍﻟﮕﻮﺭﯾﺘﻢ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ )‪ (ⅮSA‬ﺭﺍ ‪ NIST‬ﺩﺭ ﺳﺎﻝ ‪ ۱۹۹۱‬ﻃﺮﺍﺣﯽ ﮐﺮﺩ ﮐﻪ ﻣﺒﺘﻨﯽ ﺑﺮ ﻓﺮﺽ ﻟﮕﺎﺭﯾﺘﻢ ﮔﺴﺴﺘﻪ ﺍﺳﺖ‪.‬‬
‫ﻓﺮﺽ ﮐﻨﯿﺪ ‪ G‬ﯾﮏ ﺍﻟﮕﻮﺭﯾﺘﻢ ﺍﺣﺘﻤﺎﻻﺗﯽ ﮐﺎﺭﺍ ﺑﺎﺷﺪ ﮐﻪ ﺭﻭﯼ ﻭﺭﻭﺩﯼ ‪ 1n‬ﺧﺮﻭﺟﯽ )‪ (p, q, g‬ﺭﺍ ﺗﻮﻟﯿﺪ ﻣﯽﮐﻨﺪ‪ ،‬ﺟﺎﯾﯿﮑﻪ ‪ p‬ﻭ ‪ q‬ﻧﺴﺒﺖ ﺑﻪ ﻫﻢ ﺍﻭﻝ ﻫﺴﺘﻨﺪ ﻭ‬
‫‪ g‬ﻧﯿﺰ ﯾﮏ ﻣﻮﻟﺪ ﺍﺯ ﺯﯾﺮﮔﺮﻭﻩ ∗‪ Zp‬ﺑﺎ ﺩﺭﺟﻪ ﯼ ‪ q‬ﺍﺳﺖ‪ .‬ﺷﺮﺡ ﻫﺮ ﯾﮏ ﺍﺯ ﺍﻟﮕﻮﺭﯾﺘﻢﻫﺎﯼ ﻃﺮﺡ ﺍﻣﻀﺎﯼ ﺩﯾﺠﯿﺘﺎﻝ ‪ ⅮSS‬ﺩﺭ ﺍﺩﺍﻣﻪ ﺁﻭﺭﺩﻩ ﺷﺪﻩ ﺍﺳﺖ‪:‬‬

‫∗‬
‫‪ :Gen −‬ﺭﻭﯼ ﻭﺭﻭﺩﯼ ‪ 1n‬ﺍﻟﮕﻮﺭﯾﺘﻢ ‪ G‬ﺭﺍ ﺍﺟﺮﺍ ﮐﺮﺩﻩ ﻭ ﭘﺎﺭﺍﻣﺘﺮﻫﺎﯼ )‪ (p, q, g‬ﺭﺍ ﺑﺪﺳﺖ ﻣﯽﺁﻭﺭﯾﻢ‪ .‬ﻓﺮﺽ ﮐﻨﯿﺪ ‪ H : {0, 1} → Zq‬ﯾﮏ‬
‫ﺗﺎﺑﻊ ﺩﺭﻫﻢﺳﺎﺯ ﺑﺎﺷﺪ‪ .‬ﺍﺑﺘﺪﺍ ﯾﮏ ‪ x ← Zq‬ﺑﻪ ﻃﻮﺭ ﯾﮑﻨﻮﺍﺧﺖ ﻭ ﺗﺼﺎﺩﻓﯽ ﺍﻧﺘﺨﺎﺏ ﮐﺮﺩﻩ ﻭ ]‪ y = [g x mod p‬ﺭﺍ ﻣﺤﺎﺳﺒﻪ ﻣﯽﮐﻨﯿﻢ‪ .‬ﺳﭙﺲ‬
‫ﮐﻠﯿﺪ ﻋﻤﻮﻣﯽ ﺭﺍ ﺑﺎ ⟩‪ ⟨H, p, q, g, y‬ﻭ ﮐﻠﯿﺪ ﺧﺼﻮﺻﯽ ﺭﺍ ﺑﺎ ⟩‪ ⟨H, p, q, g, x‬ﻣﻘﺪﺍﺭ ﺩﻫﯽ ﻣﯽﮐﻨﯿﻢ‪.‬‬
‫∗‬
‫‪ :Sign −‬ﺭﻭﯼ ﻭﺭﻭﺩﯼ ﮐﻠﯿﺪ ﺧﺼﻮﺻﯽ ⟩‪ ⟨H, p, q, g, x‬ﻭ ﭘﯿﺎﻡ }‪ m ∈ {0, 1‬ﺍﺑﺘﺪﺍ ∗ ‪ k ← Zq‬ﺭﺍ ﺑﻪ ﻃﻮﺭ ﯾﮑﻨﻮﺍﺧﺖ ﻭ ﺗﺼﺎﺩﻓﯽ ﺍﻧﺘﺨﺎﺏ‬
‫ﮐﺮﺩﻩ ﻭ ﺳﭙﺲ ]‪ r = [[g k mod p] mod q‬ﻭ ]‪ s = [(H(m) + xr).k −1 mod q‬ﺭﺍ ﻣﺤﺎﺳﺒﻪ ﻣﯽﻧﻤﺎﯾﯿﻢ‪ .‬ﺩﺭ ﺍﻧﺘﻬﺎ ﻧﯿﺰ ﺯﻭﺝ )‪(r, s‬‬
‫ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﻣﻀﺎ ﺑﻪ ﺧﺮﻭﺟﯽ ﻣﯽﻓﺮﺳﺘﯿﻢ‪.‬‬
‫∗‬
‫‪ :Vrfy −‬ﺭﻭﯼ ﻭﺭﻭﺩﯼ ﮐﻠﯿﺪ ﻋﻤﻮﻣﯽ ⟩‪ ،⟨H, p, q, g, y‬ﭘﯿﺎﻡ }‪ m ∈ {0, 1‬ﻭ ﺍﻣﻀﺎﯼ )‪ (r, s‬ﮐﻪ ‪ r ∈ Zq‬ﻭ ∗ ‪ s ∈ Zq‬ﺍﺳﺖ‪ ،‬ﻣﻘﺎﺩﯾﺮ‬
‫]‪ u1 = [H(m).s−1 mod q‬ﻭ ]‪ u2 = [r.s−1 mod q‬ﺭﺍ ﻣﺤﺎﺳﺒﻪ ﻣﯽﮐﻨﯿﻢ‪ .‬ﺧﺮﻭﺟﯽ ‪ ۱‬ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺧﺮﻭﺟﯽ ﺑﺮ ﻣﯽﮔﺮﺩﺍﻧﯿﻢ ﺍﮔﺮ ﻭ ﺗﻨﻬﺎ‬
‫ﺍﮔﺮ‪:‬‬

‫]‪.r = [[g u1 y u2 mod p] mod q‬‬

‫‪7 Digital‬‬ ‫‪Signature Standard‬‬

‫‪۳‬‬

You might also like