SlideShare a Scribd company logo
1 of 19
   The Digital Signature Algorithm (DSA) is a 
    United States Federal Government standard or FIPS
     for digital signatures. 
   It was proposed by the 
    National Institute of Standards and Technology
     (NIST) in August 1991 for use in their Digital
    Signature Standard (DSS), specified in FIPS 186, 
    adopted in 1993. A minor revision was issued in 1996 
    as FIPS 186-1. The standard was expanded further in 
    2000 as FIPS 186-2 and again in 2009 as FIPS 186-3.
   DSA is covered by U.S. Patent 5,231,668, filed July 
    26, 1991, and attributed to David W. Kravitz, a 
    former NSA employee. 
   This patent was given to "The United States of 
    America as represented by the Secretary of 
    Commerce, Washington, D.C." and the NIST has 
    made this patent available worldwide royalty-free. 
    Dr. Claus P. Schnorr claims that his 
    U.S. Patent 4,995,082 (expired) covered DSA; this 
    claim is disputed. DSA is a variant of the 
    ElGamal Signature Scheme.
  A digital signature is basically a way to ensure that an 
   electronic document (e-mail, spreadsheet, text file, 
   etc.) is authentic. 
 There are several ways to authenticate a person or

   information on a computer:
• Password - The use of a user name and password 
   provide the most common form of authentication.
• Checksum - Probably one of the oldest methods of 
   ensuring that data is correct, checksums also provide 
   a form of authentication since an invalid checksum 
   suggests that the data has been compromised in some 
   fashion. 
   Key generation has two phases. The first phase 
    is a choice of algorithm parameters which 
    may be shared between different users of the 
    system, while the second phase computes 
    public and private keys for a single user. 
   Parameter generation
   Choose an approved cryptographic hash function H. In the 
    original DSS, H was always SHA-1, but the stronger SHA-2
     hash functions are approved for use in the current DSS. The 
    hash output may be truncated to the size of a key pair.
   Decide on a key length L and N. This is the primary measure 
    of the cryptographic strength of the key. The original DSS 
    constrainedL to be a multiple of 64 between 512 and 1024 
    (inclusive). NIST 800-57 recommends lengths of 2048 (or 
    3072) for keys with security lifetimes extending beyond 2010 
    (or 2030), using correspondingly longer N. FIPS 186-
    3 specifies L and N length pairs of (1024,160), (2048,224), 
    (2048,256), and (3072,256).
   1. p = a prime modulus, where 2L-1 < p < 2L for 512 = < 
    L = <1024 and L a multiple of 64

    2. q = a prime divisor of p - 1, where 2159 < q < 2160 

    3. g = h(p-1)/q mod p, where h is any integer with 1 < h < 
    p - 1 such that h(p-1)/q mod p > 1
    (g has order q mod p)
4. x = a randomly or pseudo randomly generated 
integer with 0 < x < q

5. y = gx mod p 

6. k = a randomly or pseudo randomly generated 
integer with 0 < k < q 

The integers p, q, and g can be public and can be
common to a group of users. A user's private and public
keys are x and y, respectively. They are normally fixed
for a period of time. Parameters x and k are used for
signature generation only, and must be kept secret.
Parameter k must be regenerated for each signature.
   Given a set of parameters, the second phase computes 
    private and public keys for a single user:
   Choose x by some random method, where 0 < x < q.
   Calculate y = gx mod p.
   Public key is (p, q, g, y). Private key is x.
   There exist efficient algorithms for computing 
    the modular exponentiations h (p–
    1)/q mod p and gx mod p, such as exponentiation by 
    squaring.
   Choose an N-bit prime q. N must be less than or equal 
    to the hash output length.
   Choose an L-bit prime modulus p such that p–1 is a 
    multiple of q.
   Choose g, a number whose multiplicative order 
    modulo p is q. This may be done by setting g = h(p–
    1)/q mod p for some arbitrary h (1 < h < p−1), and 
    trying again with a different h if the result comes out 
    as 1. Most choices of h will lead to a usable g; 
    commonly h=2 is used.
   The algorithm parameters (p, q, g) may be shared 
    between different users of the system.
   Let H be the hashing function and m the message:
   Generate a random per-message value k where 0 < k < q
   Calculate r = (gk mod p) mod q
   In the unlikely case that r = 0, start again with a different random k
   Calculate s = (k−1(H(m) + x·r)) mod q
   In the unlikely case that s = 0, start again with a different random k
   The signature is (r, s)
   The first two steps amount to creating a new per-message key. The 
    modular exponentiation here is the most computationally expensive 
    part of the signing operation, and it may be computed before the 
    message hash is known. The modular inverse k−1 mod q is the 
    second most expensive part, and it may also be computed before the 
    message hash is known. It may be computed using the extended 
    Euclidean algorithm or using Fermat's little theorem as kq−2 mod q.
   Obtain the DSA parameters; see Getting the 
    Obtain the DSA parameters; see 
    Digital Signature Algorithm (DSA) Parameters of 
    a Key Pair BigInteger p = ...; BigInteger q = ...; 
                BigInteger p =  ; BigInteger q = 
    BigInteger g = ...; BigInteger x = ...; BigInteger y 
    BigInteger g =  ; BigInteger x = 
    = ...; 
    = 
   Create the DSA key factory KeyFactory 
    keyFactory = KeyFactory.getInstance("DSA"); 
   Create the DSA private key KeySpec 
    privateKeySpec = new DSAPrivateKeySpec(x, p, 
    q, g); PrivateKey privateKey = 
    keyFactory.generatePrivate(privateKeySpec); 
    Create the DSA public key KeySpec 
    publicKeySpec = new DSAPublicKeySpec(y, p, 
    q, g); PublicKey publicKey = keyFactory. 
    generatePublic(publicKeySpec); } catch 
    (InvalidKeySpecException e) { } catch 
    (NoSuchAlgorithmException e) { }
   Compute r=(gk mod p) mod q 
   Compute s=(k-1 * (x * r + i)) mod q 
   Verifying a signature; again i is the input, and 
    (r, s) is the signature. 
   u1 = (s-1 * i) mod q 
   u2 = (s-1 * r) mod q v = ((gu1 * yu2) mod p) 
    mod q
    If v equals r, the signature is valid.
   Reject the signature if 0 < r < q or 0 < s < q is not 
    satisfied.
   Calculate w = s−1 mod q
   Calculate u1 = H(m)·w mod q
   Calculate u2 = r·w mod q
   Calculate v = ((gu1·yu2) mod p) mod q
   The signature is valid if v = r
   DSA is similar to the El Gamal signature scheme.
   The signature scheme is 
    correct in the sense that the           Since g has order q (mod p) we 
    verifier will always accept              have
    genuine signatures. This can               gk = gH (m)w gxrw
    be shown as follows:
                                                     = gH (m)w yrw
   First, if g = h(p − 1)/q mod p it 
    follows that gq ≡ hp − 1 ≡ 1                     = gu1 yu2 (mod p)
    (mod p) by Fermat's little 
    theorem. Since g > 1 and q is           Finally, the correctness of 
    prime, g must have order q.              DSA follows from
   The signer computes                        r =  (gk  mod p)  mod q
       s = k-1 (H (m) + xr) mod q
                                                       =  (gu1 yu2    mod p)   
   Thus                                          mod q
       k = H (m) s-1 + xrs-1                          =   v
         = H (m) w +xrw (mod q)
      
   With DSA, the entropy, secrecy and 
    uniqueness of the random signature value  k is 
    critical. It is so critical that violating any one 
    of those three requirements can reveal your 
    entire private key to an attacker. Using the 
    same value twice (even while 
    keeping k secret), using a predictable value, or 
    leaking even a few bits of k in each of several 
    signatures, is enough to break DSA.
Ma. Genelyn B. de la
       cruz
     BSOA – 4B

More Related Content

What's hot

Digital Signature Standard
Digital Signature StandardDigital Signature Standard
Digital Signature StandardSou Jana
 
symmetric key encryption algorithms
 symmetric key encryption algorithms symmetric key encryption algorithms
symmetric key encryption algorithmsRashmi Burugupalli
 
DES (Data Encryption Standard) pressentation
DES (Data Encryption Standard) pressentationDES (Data Encryption Standard) pressentation
DES (Data Encryption Standard) pressentationsarhadisoftengg
 
Basic Cryptography unit 4 CSS
Basic Cryptography unit 4 CSSBasic Cryptography unit 4 CSS
Basic Cryptography unit 4 CSSSURBHI SAROHA
 
Key management and distribution
Key management and distributionKey management and distribution
Key management and distributionRiya Choudhary
 
Principles of public key cryptography and its Uses
Principles of  public key cryptography and its UsesPrinciples of  public key cryptography and its Uses
Principles of public key cryptography and its UsesMohsin Ali
 
Columnar transposition cipher
Columnar transposition cipherColumnar transposition cipher
Columnar transposition cipherWaqar Memon
 
Pgp pretty good privacy
Pgp pretty good privacyPgp pretty good privacy
Pgp pretty good privacyPawan Arya
 
Data Encryption Standard (DES)
Data Encryption Standard (DES)Data Encryption Standard (DES)
Data Encryption Standard (DES)Haris Ahmed
 
block ciphers
block ciphersblock ciphers
block ciphersAsad Ali
 

What's hot (20)

Diffie-hellman algorithm
Diffie-hellman algorithmDiffie-hellman algorithm
Diffie-hellman algorithm
 
Digital Signature Standard
Digital Signature StandardDigital Signature Standard
Digital Signature Standard
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
 
Diffiehellman
DiffiehellmanDiffiehellman
Diffiehellman
 
symmetric key encryption algorithms
 symmetric key encryption algorithms symmetric key encryption algorithms
symmetric key encryption algorithms
 
Message digest 5
Message digest 5Message digest 5
Message digest 5
 
Classical Encryption Techniques
Classical Encryption TechniquesClassical Encryption Techniques
Classical Encryption Techniques
 
RSA algorithm
RSA algorithmRSA algorithm
RSA algorithm
 
DES (Data Encryption Standard) pressentation
DES (Data Encryption Standard) pressentationDES (Data Encryption Standard) pressentation
DES (Data Encryption Standard) pressentation
 
Classical cryptography
Classical cryptographyClassical cryptography
Classical cryptography
 
Basic Cryptography unit 4 CSS
Basic Cryptography unit 4 CSSBasic Cryptography unit 4 CSS
Basic Cryptography unit 4 CSS
 
Key management and distribution
Key management and distributionKey management and distribution
Key management and distribution
 
Ch08
Ch08Ch08
Ch08
 
Principles of public key cryptography and its Uses
Principles of  public key cryptography and its UsesPrinciples of  public key cryptography and its Uses
Principles of public key cryptography and its Uses
 
Columnar transposition cipher
Columnar transposition cipherColumnar transposition cipher
Columnar transposition cipher
 
Pgp pretty good privacy
Pgp pretty good privacyPgp pretty good privacy
Pgp pretty good privacy
 
Data Encryption Standard (DES)
Data Encryption Standard (DES)Data Encryption Standard (DES)
Data Encryption Standard (DES)
 
Divide and conquer
Divide and conquerDivide and conquer
Divide and conquer
 
Web Security
Web SecurityWeb Security
Web Security
 
block ciphers
block ciphersblock ciphers
block ciphers
 

Viewers also liked

Digital signature
Digital  signatureDigital  signature
Digital signatureAJAL A J
 
Seminar ppt on digital signature
Seminar ppt on digital signatureSeminar ppt on digital signature
Seminar ppt on digital signaturejolly9293
 
Digital Signature
Digital SignatureDigital Signature
Digital Signaturesaurav5884
 
Introduction to Digital signatures
Introduction to Digital signaturesIntroduction to Digital signatures
Introduction to Digital signaturesRohit Bhat
 
C08 crypto-digital signature13
C08 crypto-digital signature13C08 crypto-digital signature13
C08 crypto-digital signature13ravik09783
 
Digital signature introduction
Digital signature introductionDigital signature introduction
Digital signature introductionAsim Neupane
 
Digital signatures
Digital signaturesDigital signatures
Digital signaturesIshwar Dayal
 
Digital signature
Digital signatureDigital signature
Digital signatureSadhana28
 
Cryptography - A Brief History
Cryptography - A Brief HistoryCryptography - A Brief History
Cryptography - A Brief Historyprasenjeetd
 
Dss digital signature standard and dsa algorithm
Dss  digital signature standard and dsa algorithmDss  digital signature standard and dsa algorithm
Dss digital signature standard and dsa algorithmAbhishek Kesharwani
 
Digital signature
Digital signatureDigital signature
Digital signatureCoders Hub
 
Digital signature
Digital signatureDigital signature
Digital signaturePraseela R
 
Eaack—a secure intrusion detection.ppt
Eaack—a secure intrusion detection.pptEaack—a secure intrusion detection.ppt
Eaack—a secure intrusion detection.pptslksagar
 
Key aggregate cryptosystem for scalable data sharing in cloud storage
Key aggregate cryptosystem for scalable data sharing in cloud storage Key aggregate cryptosystem for scalable data sharing in cloud storage
Key aggregate cryptosystem for scalable data sharing in cloud storage Adz91 Digital Ads Pvt Ltd
 

Viewers also liked (20)

Digital signature
Digital  signatureDigital  signature
Digital signature
 
Seminar ppt on digital signature
Seminar ppt on digital signatureSeminar ppt on digital signature
Seminar ppt on digital signature
 
Digital Signature
Digital SignatureDigital Signature
Digital Signature
 
Introduction to Digital signatures
Introduction to Digital signaturesIntroduction to Digital signatures
Introduction to Digital signatures
 
Digital signature
Digital signatureDigital signature
Digital signature
 
Digital signature
Digital signatureDigital signature
Digital signature
 
C08 crypto-digital signature13
C08 crypto-digital signature13C08 crypto-digital signature13
C08 crypto-digital signature13
 
Digital signature introduction
Digital signature introductionDigital signature introduction
Digital signature introduction
 
Digital signatures
Digital signaturesDigital signatures
Digital signatures
 
Digital signature
Digital signatureDigital signature
Digital signature
 
Cryptography - A Brief History
Cryptography - A Brief HistoryCryptography - A Brief History
Cryptography - A Brief History
 
Dss digital signature standard and dsa algorithm
Dss  digital signature standard and dsa algorithmDss  digital signature standard and dsa algorithm
Dss digital signature standard and dsa algorithm
 
Blowfish Cryptosystem
Blowfish Cryptosystem Blowfish Cryptosystem
Blowfish Cryptosystem
 
Digital signature
Digital signatureDigital signature
Digital signature
 
Digital signature
Digital signatureDigital signature
Digital signature
 
Eaack—a secure intrusion detection.ppt
Eaack—a secure intrusion detection.pptEaack—a secure intrusion detection.ppt
Eaack—a secure intrusion detection.ppt
 
Key aggregate cryptosystem for scalable data sharing in cloud storage
Key aggregate cryptosystem for scalable data sharing in cloud storage Key aggregate cryptosystem for scalable data sharing in cloud storage
Key aggregate cryptosystem for scalable data sharing in cloud storage
 
Digital Signature
Digital SignatureDigital Signature
Digital Signature
 
Digital signature
Digital signatureDigital signature
Digital signature
 
Digital signature
Digital signatureDigital signature
Digital signature
 

Similar to Digital signature algorithm (de la cruz, genelyn).ppt 2

Module 5-DSS.pptx crypto currency notes incoming
Module 5-DSS.pptx crypto currency notes incomingModule 5-DSS.pptx crypto currency notes incoming
Module 5-DSS.pptx crypto currency notes incomingVIKASHKUMAR34838
 
digital signature algo.pptx
digital signature algo.pptxdigital signature algo.pptx
digital signature algo.pptxBLACKSPAROW
 
Digital Signatures: Reassessing security of randomizable signatures
Digital Signatures: Reassessing security of randomizable signaturesDigital Signatures: Reassessing security of randomizable signatures
Digital Signatures: Reassessing security of randomizable signaturesPriyanka Aash
 
Presentation on Cryptography_Based on IEEE_Paper
Presentation on Cryptography_Based on IEEE_PaperPresentation on Cryptography_Based on IEEE_Paper
Presentation on Cryptography_Based on IEEE_PaperNithin Cv
 
Cloud computing and security 03
Cloud computing and security 03Cloud computing and security 03
Cloud computing and security 03Akash Kamble
 
Information and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithmInformation and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithmVaibhav Khanna
 
Partial Homomorphic Encryption
Partial Homomorphic EncryptionPartial Homomorphic Encryption
Partial Homomorphic Encryptionsecurityxploded
 
RSA Algorithm.ppt
RSA Algorithm.pptRSA Algorithm.ppt
RSA Algorithm.pptArchanaT30
 
555_Spring12_topic22.ppt
555_Spring12_topic22.ppt555_Spring12_topic22.ppt
555_Spring12_topic22.pptMohammedJifar1
 
ZeroKnowledge Nominative Signatures
ZeroKnowledge Nominative SignaturesZeroKnowledge Nominative Signatures
ZeroKnowledge Nominative SignaturesSeungjoo Kim
 
Public-Key Cryptography.pdfWrite the result of the following operation with t...
Public-Key Cryptography.pdfWrite the result of the following operation with t...Public-Key Cryptography.pdfWrite the result of the following operation with t...
Public-Key Cryptography.pdfWrite the result of the following operation with t...FahmiOlayah
 
Digital signature schemes
Digital signature schemesDigital signature schemes
Digital signature schemesravik09783
 
Information and data security other public key cryptosystems
Information and data security other public key cryptosystemsInformation and data security other public key cryptosystems
Information and data security other public key cryptosystemsMazin Alwaaly
 
Cloud computing and security final
Cloud computing and security finalCloud computing and security final
Cloud computing and security finalAkash Kamble
 
Signyourd digital signature certificate provider
Signyourd   digital signature certificate providerSignyourd   digital signature certificate provider
Signyourd digital signature certificate providerKishankant Yadav
 
RSA & MD5 algorithm
RSA & MD5 algorithmRSA & MD5 algorithm
RSA & MD5 algorithmSiva Rushi
 

Similar to Digital signature algorithm (de la cruz, genelyn).ppt 2 (20)

Module 5-DSS.pptx crypto currency notes incoming
Module 5-DSS.pptx crypto currency notes incomingModule 5-DSS.pptx crypto currency notes incoming
Module 5-DSS.pptx crypto currency notes incoming
 
digital signature algo.pptx
digital signature algo.pptxdigital signature algo.pptx
digital signature algo.pptx
 
Digital Signatures: Reassessing security of randomizable signatures
Digital Signatures: Reassessing security of randomizable signaturesDigital Signatures: Reassessing security of randomizable signatures
Digital Signatures: Reassessing security of randomizable signatures
 
Presentation on Cryptography_Based on IEEE_Paper
Presentation on Cryptography_Based on IEEE_PaperPresentation on Cryptography_Based on IEEE_Paper
Presentation on Cryptography_Based on IEEE_Paper
 
Cloud computing and security 03
Cloud computing and security 03Cloud computing and security 03
Cloud computing and security 03
 
Information and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithmInformation and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithm
 
Homomorphic encryption
Homomorphic encryptionHomomorphic encryption
Homomorphic encryption
 
Partial Homomorphic Encryption
Partial Homomorphic EncryptionPartial Homomorphic Encryption
Partial Homomorphic Encryption
 
RSA Algorithm.ppt
RSA Algorithm.pptRSA Algorithm.ppt
RSA Algorithm.ppt
 
555_Spring12_topic22.ppt
555_Spring12_topic22.ppt555_Spring12_topic22.ppt
555_Spring12_topic22.ppt
 
ZeroKnowledge Nominative Signatures
ZeroKnowledge Nominative SignaturesZeroKnowledge Nominative Signatures
ZeroKnowledge Nominative Signatures
 
Public-Key Cryptography.pdfWrite the result of the following operation with t...
Public-Key Cryptography.pdfWrite the result of the following operation with t...Public-Key Cryptography.pdfWrite the result of the following operation with t...
Public-Key Cryptography.pdfWrite the result of the following operation with t...
 
Rsa
RsaRsa
Rsa
 
How to share a secret
How to share a secretHow to share a secret
How to share a secret
 
Digital signature schemes
Digital signature schemesDigital signature schemes
Digital signature schemes
 
Information and data security other public key cryptosystems
Information and data security other public key cryptosystemsInformation and data security other public key cryptosystems
Information and data security other public key cryptosystems
 
Cloud computing and security final
Cloud computing and security finalCloud computing and security final
Cloud computing and security final
 
Signyourd digital signature certificate provider
Signyourd   digital signature certificate providerSignyourd   digital signature certificate provider
Signyourd digital signature certificate provider
 
RSA & MD5 algorithm
RSA & MD5 algorithmRSA & MD5 algorithm
RSA & MD5 algorithm
 
Digital Signature.ppt
Digital Signature.pptDigital Signature.ppt
Digital Signature.ppt
 

Recently uploaded

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Digital signature algorithm (de la cruz, genelyn).ppt 2

  • 1.
  • 2. The Digital Signature Algorithm (DSA) is a  United States Federal Government standard or FIPS  for digital signatures.   It was proposed by the  National Institute of Standards and Technology  (NIST) in August 1991 for use in their Digital Signature Standard (DSS), specified in FIPS 186,  adopted in 1993. A minor revision was issued in 1996  as FIPS 186-1. The standard was expanded further in  2000 as FIPS 186-2 and again in 2009 as FIPS 186-3.
  • 3. DSA is covered by U.S. Patent 5,231,668, filed July  26, 1991, and attributed to David W. Kravitz, a  former NSA employee.   This patent was given to "The United States of  America as represented by the Secretary of  Commerce, Washington, D.C." and the NIST has  made this patent available worldwide royalty-free.  Dr. Claus P. Schnorr claims that his  U.S. Patent 4,995,082 (expired) covered DSA; this  claim is disputed. DSA is a variant of the  ElGamal Signature Scheme.
  • 4.  A digital signature is basically a way to ensure that an  electronic document (e-mail, spreadsheet, text file,  etc.) is authentic.   There are several ways to authenticate a person or information on a computer: • Password - The use of a user name and password  provide the most common form of authentication. • Checksum - Probably one of the oldest methods of  ensuring that data is correct, checksums also provide  a form of authentication since an invalid checksum  suggests that the data has been compromised in some  fashion. 
  • 5. Key generation has two phases. The first phase  is a choice of algorithm parameters which  may be shared between different users of the  system, while the second phase computes  public and private keys for a single user. 
  • 6. Parameter generation  Choose an approved cryptographic hash function H. In the  original DSS, H was always SHA-1, but the stronger SHA-2  hash functions are approved for use in the current DSS. The  hash output may be truncated to the size of a key pair.  Decide on a key length L and N. This is the primary measure  of the cryptographic strength of the key. The original DSS  constrainedL to be a multiple of 64 between 512 and 1024  (inclusive). NIST 800-57 recommends lengths of 2048 (or  3072) for keys with security lifetimes extending beyond 2010  (or 2030), using correspondingly longer N. FIPS 186- 3 specifies L and N length pairs of (1024,160), (2048,224),  (2048,256), and (3072,256).
  • 7. 1. p = a prime modulus, where 2L-1 < p < 2L for 512 = <  L = <1024 and L a multiple of 64 2. q = a prime divisor of p - 1, where 2159 < q < 2160  3. g = h(p-1)/q mod p, where h is any integer with 1 < h <  p - 1 such that h(p-1)/q mod p > 1 (g has order q mod p)
  • 8. 4. x = a randomly or pseudo randomly generated  integer with 0 < x < q 5. y = gx mod p  6. k = a randomly or pseudo randomly generated  integer with 0 < k < q  The integers p, q, and g can be public and can be common to a group of users. A user's private and public keys are x and y, respectively. They are normally fixed for a period of time. Parameters x and k are used for signature generation only, and must be kept secret. Parameter k must be regenerated for each signature.
  • 9. Given a set of parameters, the second phase computes  private and public keys for a single user:  Choose x by some random method, where 0 < x < q.  Calculate y = gx mod p.  Public key is (p, q, g, y). Private key is x.  There exist efficient algorithms for computing  the modular exponentiations h (p– 1)/q mod p and gx mod p, such as exponentiation by  squaring.
  • 10. Choose an N-bit prime q. N must be less than or equal  to the hash output length.  Choose an L-bit prime modulus p such that p–1 is a  multiple of q.  Choose g, a number whose multiplicative order  modulo p is q. This may be done by setting g = h(p– 1)/q mod p for some arbitrary h (1 < h < p−1), and  trying again with a different h if the result comes out  as 1. Most choices of h will lead to a usable g;  commonly h=2 is used.  The algorithm parameters (p, q, g) may be shared  between different users of the system.
  • 11.
  • 12. Let H be the hashing function and m the message:  Generate a random per-message value k where 0 < k < q  Calculate r = (gk mod p) mod q  In the unlikely case that r = 0, start again with a different random k  Calculate s = (k−1(H(m) + x·r)) mod q  In the unlikely case that s = 0, start again with a different random k  The signature is (r, s)  The first two steps amount to creating a new per-message key. The  modular exponentiation here is the most computationally expensive  part of the signing operation, and it may be computed before the  message hash is known. The modular inverse k−1 mod q is the  second most expensive part, and it may also be computed before the  message hash is known. It may be computed using the extended  Euclidean algorithm or using Fermat's little theorem as kq−2 mod q.
  • 13. Obtain the DSA parameters; see Getting the  Obtain the DSA parameters; see  Digital Signature Algorithm (DSA) Parameters of  a Key Pair BigInteger p = ...; BigInteger q = ...;   BigInteger p =  ; BigInteger q =  BigInteger g = ...; BigInteger x = ...; BigInteger y  BigInteger g =  ; BigInteger x =  = ...;  =   Create the DSA key factory KeyFactory  keyFactory = KeyFactory.getInstance("DSA"); 
  • 14. Create the DSA private key KeySpec  privateKeySpec = new DSAPrivateKeySpec(x, p,  q, g); PrivateKey privateKey =  keyFactory.generatePrivate(privateKeySpec);    Create the DSA public key KeySpec  publicKeySpec = new DSAPublicKeySpec(y, p,  q, g); PublicKey publicKey = keyFactory.  generatePublic(publicKeySpec); } catch  (InvalidKeySpecException e) { } catch  (NoSuchAlgorithmException e) { }
  • 15. Compute r=(gk mod p) mod q   Compute s=(k-1 * (x * r + i)) mod q   Verifying a signature; again i is the input, and  (r, s) is the signature.   u1 = (s-1 * i) mod q   u2 = (s-1 * r) mod q v = ((gu1 * yu2) mod p)  mod q   If v equals r, the signature is valid.
  • 16. Reject the signature if 0 < r < q or 0 < s < q is not  satisfied.  Calculate w = s−1 mod q  Calculate u1 = H(m)·w mod q  Calculate u2 = r·w mod q  Calculate v = ((gu1·yu2) mod p) mod q  The signature is valid if v = r  DSA is similar to the El Gamal signature scheme.
  • 17. The signature scheme is  correct in the sense that the   Since g has order q (mod p) we  verifier will always accept  have genuine signatures. This can   gk = gH (m)w gxrw be shown as follows: = gH (m)w yrw  First, if g = h(p − 1)/q mod p it  follows that gq ≡ hp − 1 ≡ 1  = gu1 yu2 (mod p) (mod p) by Fermat's little  theorem. Since g > 1 and q is   Finally, the correctness of  prime, g must have order q. DSA follows from  The signer computes  r =  (gk  mod p)  mod q   s = k-1 (H (m) + xr) mod q          =  (gu1 yu2    mod p)     Thus mod q   k = H (m) s-1 + xrs-1          =   v = H (m) w +xrw (mod q)  
  • 18. With DSA, the entropy, secrecy and  uniqueness of the random signature value  k is  critical. It is so critical that violating any one  of those three requirements can reveal your  entire private key to an attacker. Using the  same value twice (even while  keeping k secret), using a predictable value, or  leaking even a few bits of k in each of several  signatures, is enough to break DSA.
  • 19. Ma. Genelyn B. de la cruz BSOA – 4B