Filtering...

koala-bear

books/kestrel/crypto/primes/koala-bear
other
(in-package "PRIMES")
other
(include-book "kestrel/number-theory/defprime" :dir :system)
other
(defprime koala-bear
  2130706433
  (3 (2 127) (24 1) (nil nil))
  :parents (crypto)
  :short "The koala-bear prime."
  :long (topstring (p "The koala-bear prime is defined by the formula "
      (code "2^31 - 2^24 + 1 = 2130706433")
      ", also known as the KoalaBear field prime.")
    (p "Ziren's zkVM (ZVM/Ziren) expresses AIR traces over this field so that "
      "every register column becomes a polynomial on a KoalaBear evaluation "
      "domain.")
    (p "Ziren's proof system runs its Machine Prover in KoalaBear before "
      "recursively translating the resulting STARK proofs into BN254 for "
      "Groth16 aggregation.")
    (p "Outside of Ziren, the KoalaBear prime is implemented inside Plonky3 as "
      "one of the ~32-bit, FRI-friendly fields for zero-knowledge systems.")
    (p "See also "
      (ahref "https://docs.zkm.io/design/arithmetization.html"
        "Ziren arithmetization")
      ", "
      (ahref "https://docs.zkm.io/design/prover-architecture/prover-architecture.html"
        "Ziren prover architecture")
      ", and "
      (ahref "https://hackmd.io/@Voidkai/BkNX3xUZA"
        ""Efficient Prime Fields for Zero-knowledge proof"."))))
other
(assert-event (equal (integer-length (koala-bear)) 31))
other
(assert-event (equal (koala-bear) 2130706433))
other
(assert-event (equal (koala-bear)
    (+ (- (expt 2 31) (expt 2 24)) 1)))