Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Key generator

From Wikipedia, the free encyclopedia
Algorithm used to generate cryptographic keys
For programs which generate software license keys, seeKeygen.
Not to be confused withKey generation.

Akey generator (orkeygen) incryptography is aprotocol oralgorithm used to generate a sequence withpseudo-random characteristics for use as anencryption key.[1][2][3] The generated sequence is used as an encryption key at one end of communication and as a decryption key at the other.

Key generators can be implemented in systems designed to generate, distribute, and authenticate[4] keys forpublic key cryptography, where without theprivate key, one cannot access information encrypted with thepublic key.[5]

Requirements

[edit]

For a key generator to be cryptographically secure, its output must have several properties:[6]

  • Uncorrelated sequences – no sequence of any given length should be correlated to any other sequence of the algorithm's output
  • Long period – the sequence should not repeat for a very long time
  • Uniform distribution – the output bits should be uniformly distributed
  • Unpredictability – it should be computationally infeasible to predict future output given past output

Key generators typically rely on sources ofentropy to seed their algorithms, which may be hardware-based (such as electronic noise or timing variations) or software-based.[6]

Types

[edit]

Symmetric key generators

[edit]

Symmetric key generators produce a single shared key used for both encryption and decryption. These generators often usepseudorandom number generators (PRNGs) seeded with entropy from various sources. Modern standards such asNIST SP 800-90 specify approved random bit generators for this purpose.[7]

Keystream generators

[edit]

Instream ciphers, akeystream generator produces a continuous stream of pseudorandom bits that are combined with theplaintext using theXOR operation.[8] The keystream generator takes a relatively short key (typically 80–256 bits) and aninitialization vector (IV) and expands them into a much longer keystream.[9]

Examples

[edit]

Common key generator implementations include:

  • Linear-feedback shift registers (LFSRs) – widely used in hardware implementations due to their simplicity, though typically combined with non-linear functions to improve security[8]
  • A5/1 – the stream cipher used for GSM mobile phone encryption, based on three irregularly clocked LFSRs[10]
  • Trivium – aneSTREAM finalist stream cipher using three interconnected shift registers[11]
  • Grain – a lightweight stream cipher using both linear and non-linear feedback shift registers[9]
  • Solitaire (or Pontifex) cipher – a manual keystream generator using a deck of playing cards

See also

[edit]

References

[edit]
  1. ^"Generating Keys for Encryption and Decryption". Microsoft Docs. Retrieved2022-04-04.
  2. ^"Symmetric Key Cryptography Using Random Key Generator". Retrieved2022-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 — CRYPTO' 93. Lecture Notes in Computer Science. Vol. 773. pp. 232–249.CiteSeerX 10.1.1.62.3423.doi:10.1007/3-540-48329-2_21.ISBN 978-3-540-57766-9.S2CID 5447745.
  5. ^Fox, Pamela."Public key encryption".Khan Academy. RetrievedMay 19, 2021.
  6. ^ab"Choosing the Right Cryptographic Key Generation Algorithm".Cryptomathic. Retrieved26 January 2026.
  7. ^"Recommendation for Cryptographic Key Generation"(PDF). National Institute of Standards and Technology. Retrieved26 January 2026.
  8. ^abMenezes, Alfred J.; van Oorschot, Paul C.; Vanstone, Scott A. (1996). "Stream Ciphers".Handbook of Applied Cryptography(PDF). CRC Press.ISBN 0-8493-8523-7.
  9. ^ab"LIZARD – A Lightweight Stream Cipher for Power-constrained Devices".IACR Transactions on Symmetric Cryptology. 2017.doi:10.13154/tosc.v2017.i1.45-79.
  10. ^"A Real-World Attack Breaking A5/1 within Hours"(PDF).IACR Cryptology ePrint Archive. 2008.
  11. ^Simpson, L.; Boztas, S. (2012). "State cycles, initialization and the Trivium stream cipher".Cryptography and Communications.4:245–258.doi:10.1007/s12095-012-0066-6.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Key_generator&oldid=1335011710"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp