Key generator: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
OAbot (talk | contribs)
m Open access bot: doi added to citation with #oabot.
add doi
Line 2: Line 2:
{{For|programs which generate software license keys|Keygen}}
{{For|programs which generate software license keys|Keygen}}
{{More references|date=September 2010}}
{{More references|date=September 2010}}
A '''key generator'''<ref name="urlGenerating Keys for Encryption and Decryption | Microsoft Docs">{{cite web |url=https://docs.microsoft.com/en-us/dotnet/standard/security/generating-keys-for-encryption-and-decryption |title=Generating Keys for Encryption and Decryption &#124; Microsoft Docs |accessdate=}}</ref><ref>{{cite web|url=https://www.researchgate.net/publication/221199745 |title=Symmetric Key Cryptography Using Random Key Generator |date= |accessdate=2022-04-04}}</ref><ref>{{cite journal|url=https://ijsrset.com/IJSRSET196550|title=Subject Review : Key Generation in Different Cryptography Algorithm |year=2019 |doi=10.32628/IJSRSET196550|last1=Abdalrdha |first1=Zainab Khyioon |last2=Al-Qinani |first2=Iman Hussein |last3=Abbas |first3=Farah Neamah |journal=International Journal of Scientific Research in Science, Engineering and Technology |pages=230–240 |s2cid=207976370 |doi-access=free }}</ref> is a protocol or algorithm that is used in many [[cryptography|cryptographic]] [[Protocol (computing)|protocol]]s to generate a sequence with many [[pseudo-random]] characteristics. This sequence is used as an [[encryption]] key at one end of communication, and as a decryption key at the other. One can implement a key generator in a system that aims to generate, distribute, and authenticate<ref>{{Cite journal|last1=Bellare|first1=Mihir|last2=Rogaway|first2=Phillip|date=August 1993|title=Entity Authentication and Key Distribution|journal=Advances in Cryptology|citeseerx=10.1.1.62.3423}}</ref> keys in a way that without the private key, one cannot access the information in the public end.<ref>{{cite web|last=Fox|first=Pamela|title=Public key encryption|url=https://www.khanacademy.org/computing/computers-and-internet/xcae6f4a7ff015e7d:online-data-security/xcae6f4a7ff015e7d:data-encryption-techniques/a/public-key-encryption|url-status=live|access-date=May 19, 2021|website=Khan Academy}}</ref>
A '''key generator'''<ref name="urlGenerating Keys for Encryption and Decryption | Microsoft Docs">{{cite web |url=https://docs.microsoft.com/en-us/dotnet/standard/security/generating-keys-for-encryption-and-decryption |title=Generating Keys for Encryption and Decryption &#124; Microsoft Docs |accessdate=}}</ref><ref>{{cite web|url=https://www.researchgate.net/publication/221199745 |title=Symmetric Key Cryptography Using Random Key Generator |date= |accessdate=2022-04-04}}</ref><ref>{{cite journal|url=https://ijsrset.com/IJSRSET196550|title=Subject Review : Key Generation in Different Cryptography Algorithm |year=2019 |doi=10.32628/IJSRSET196550|last1=Abdalrdha |first1=Zainab Khyioon |last2=Al-Qinani |first2=Iman Hussein |last3=Abbas |first3=Farah Neamah |journal=International Journal of Scientific Research in Science, Engineering and Technology |pages=230–240 |s2cid=207976370 |doi-access=free }}</ref> is a protocol or algorithm that is used in many [[cryptography|cryptographic]] [[Protocol (computing)|protocol]]s to generate a sequence with many [[pseudo-random]] characteristics. This sequence is used as an [[encryption]] key at one end of communication, and as a decryption key at the other. One can implement a key generator in a system that aims to generate, distribute, and authenticate<ref>{{Cite journal|last1=Bellare|first1=Mihir|last2=Rogaway|first2=Phillip|date=August 1993|title=Entity Authentication and Key Distribution|journal=Advances in Cryptology|citeseerx=10.1.1.62.3423|doi=10.1007/3-540-48329-2_21}}</ref> keys in a way that without the private key, one cannot access the information in the public end.<ref>{{cite web|last=Fox|first=Pamela|title=Public key encryption|url=https://www.khanacademy.org/computing/computers-and-internet/xcae6f4a7ff015e7d:online-data-security/xcae6f4a7ff015e7d:data-encryption-techniques/a/public-key-encryption|url-status=live|access-date=May 19, 2021|website=Khan Academy}}</ref>


Examples of key generators include [[linear-feedback shift register]]s (LFSR) and the [[Solitaire (cipher)|Solitaire]] (or Pontifex) cipher. One of the common examples of key generators would be the [[bitcoin]] protocol in which [[SHA-2]]56 and Secp256k1 algorithms used to ensure that funds can only be spent or moved by their rightful owners.<ref>{{cite web|last=Nakamoto|first=Satoshi|date=2008|title=A Peer-to-peer Electronic Cash System|url=https://bitcoin.org/bitcoin.pdf|url-status=live|access-date=May 19, 2021}}</ref>
Examples of key generators include [[linear-feedback shift register]]s (LFSR) and the [[Solitaire (cipher)|Solitaire]] (or Pontifex) cipher. One of the common examples of key generators would be the [[bitcoin]] protocol in which [[SHA-2]]56 and Secp256k1 algorithms used to ensure that funds can only be spent or moved by their rightful owners.<ref>{{cite web|last=Nakamoto|first=Satoshi|date=2008|title=A Peer-to-peer Electronic Cash System|url=https://bitcoin.org/bitcoin.pdf|url-status=live|access-date=May 19, 2021}}</ref>

Revision as of 21:29, 6 July 2023

A key generator[1][2][3] is a protocol or algorithm that is used in many cryptographic protocols to generate a sequence with many pseudo-random characteristics. This sequence is used as an encryption key at one end of communication, and as a decryption key at the other. One can implement a key generator in a system that aims to generate, distribute, and authenticate[4] keys in a way that without the private key, one cannot access the information in the public end.[5]

Examples of key generators include linear-feedback shift registers (LFSR) and the Solitaire (or Pontifex) cipher. One of the common examples of key generators would be the bitcoin protocol in which SHA-256 and Secp256k1 algorithms used to ensure that funds can only be spent or moved by their rightful owners.[6]

Significance

In the past, people needed to secure their treasures or physical objects, so they implemented locks and generated unique keys for the owner. Today, we secure our homes with traditional locks, digital passwords, and fingerprints in order to keep the unwanted outside of our privacy. With the rise of internet, global data usage, and threats to our privacy, we started utilizing mathematical algorithms, encryption methods, automation and randomness for the same goal: generate unique keys to secure data.[7] As the rate of global data transfer increases, key generators are partially but virally responsible for the security and privacy of its users. Without an efficient and meaningful sense of pseudo-randomness a key generator could harm the system or a targeted entity(If we consider the lock at a door as the public key, where most people can easily access to, and the key that unlocks the lock as the private key for the owner, we could argue that the company that generates the locks initially have a detailed knowledge of both keys or that someone else could generate more of the same private key. Thus, the practical way would be to enable the user to generate the private key without the knowledge of another party.

References

  1. ^ "Generating Keys for Encryption and Decryption | Microsoft Docs".
  2. ^ "Symmetric Key Cryptography Using Random Key Generator". Retrieved 2022-04-04.
  3. ^ Abdalrdha, Zainab Khyioon; Al-Qinani, Iman Hussein; Abbas, Farah Neamah (2019). "Subject Review : Key Generation in Different Cryptography Algorithm". International Journal of Scientific Research in Science, Engineering and Technology: 230–240. doi:10.32628/IJSRSET196550. S2CID 207976370.
  4. ^ Bellare, Mihir; Rogaway, Phillip (August 1993). "Entity Authentication and Key Distribution". Advances in Cryptology. CiteSeerX 10.1.1.62.3423. doi:10.1007/3-540-48329-2_21.
  5. ^ Fox, Pamela. "Public key encryption". Khan Academy. Retrieved May 19, 2021.{{cite web}}: CS1 maint: url-status (link)
  6. ^ Nakamoto, Satoshi (2008). "A Peer-to-peer Electronic Cash System" (PDF). Retrieved May 19, 2021.{{cite web}}: CS1 maint: url-status (link)
  7. ^ Stallings, William (2005). Cryptography and Network Security.