рдкреЛрд╕реНрдЯ-рдХреНрд╡рд╛рдиреНрдЯрдо рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо Kyber рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛ рдЬреЛрдЦрд┐рдо

рдХреНрд╡рд╛рдиреНрдЯрдо рдХрдореНрдкреНрдпреБрдЯрд░рдорд╛ рдмреНрд░реВрдЯ рдлреЛрд░реНрд╕ рдкреНрд░рддрд┐рд░реЛрдзреА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдордХреЛ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдЬрд┐рддреНрдиреЗ Kyber рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджрдордХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛, рдПрдЙрдЯрд╛ рдХрдордЬреЛрд░реА рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рдЬрд╕рд▓реЗ рд╕рд╛рдЗрдб-рдЪреНрдпрд╛рдирд▓ рдЖрдХреНрд░рдордгрд╣рд░реВрд▓рд╛рдИ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рдирдХреЛ рд╕рдордпрдорд╛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд╕рдордп рдорд╛рдкрдирдХреЛ рдЖрдзрд╛рд░рдорд╛ рдЧреЛрдкреНрдп рдХреБрдЮреНрдЬреАрд╣рд░реВ рдкреБрди: рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЖрдХреНрд░рдордгрдХрд╛рд░реА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рд╕рд┐рдлрд░рдЯреЗрдХреНрд╕реНрдЯред рд╕рдорд╕реНрдпрд╛рд▓реЗ CRYSTALS-Kyber KEM рдХреБрдЮреНрдЬреА рдЗрдиреНрдХреНрдпрд╛рдкреНрд╕реБрд▓реЗрд╢рди рдореЗрдХрд╛рдирд┐рдЬрдордХреЛ рд╕рдиреНрджрд░реНрдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд░ рд╕рд┐рдЧреНрдирд▓ рдореЗрд╕реЗрдиреНрдЬрд░рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ pqcrypto рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рд╣рд┐рдд рдзреЗрд░реИ рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ Kyber-рд╕рдХреНрд╖рдо рдИрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдкреБрд╕реНрддрдХрд╛рд▓рдп рджреБрд╡реИрд▓рд╛рдИ рдЕрд╕рд░ рдЧрд░реНрдЫред

рднреЗрджреНрдпрддрд╛рдХреЛ рд╕рд╛рд░, рдЬрд╕рд▓реЗ рдХреЛрдб рдирд╛рдо KyberSlash рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдХреЛ рдЫ, рд╕рдиреНрджреЗрд╢ рдбрд┐рдХреЛрдб рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рд╡рд┐рднрд╛рдЬрди рдЕрдкрд░реЗрд╢рди "t = (((t

рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреАрдХреЛ рдХреНрд╖реЗрддреНрд░рдорд╛ рдкреНрд░рдЦреНрдпрд╛рдд рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдбреЗрдирд┐рдпрд▓ рдЬреЗ рдмрд░реНрдирд╕реНрдЯреЗрдирд▓реЗ рд╡реНрдпрд╡рд╣рд╛рд░рдорд╛ рдЖрдХреНрд░рдордг рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рднрдиреНрдиреЗ рдкреНрд░рдорд╛рдгрдХреЛ рдХрд╛рд░реНрдп рдкреНрд░рджрд░реНрд╢рди рддрдпрд╛рд░ рдЧрд░реНрди рд╕рдХреНрд╖рдо рдерд┐рдПред рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░рд┐рдПрдХрд╛ рддреАрдирдордзреНрдпреЗ рджреБрдИрд╡рдЯрд╛ рдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛, рд░рд╛рд╕реНрдкрдмреЗрд░реА Pi 2 рдмреЛрд░реНрдбрдорд╛ рдХреЛрдб рдЪрд▓рд╛рдЙрдБрджрд╛, рдбреЗрдЯрд╛ рдбрд┐рдХреЛрдбрд┐рдЩ рд╕рдордп рдирд╛рдкреНрдиреЗ рдЖрдзрд╛рд░рдорд╛ Kyber-512 рдирд┐рдЬреА рдХреБрдЮреНрдЬреАрд▓рд╛рдИ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдкреБрди: рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдореНрднрд╡ рдерд┐рдпреЛред рд╡рд┐рдзрд┐ Kyber-768 рд░ Kyber-1024 рдХреБрдЮреНрдЬреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкрдирд┐ рдЕрдиреБрдХреВрд▓рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЖрдХреНрд░рдордг рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдпреЛ рдЖрд╡рд╢реНрдпрдХ рдЫ рдХрд┐ рдЖрдХреНрд░рдордгрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рд╕рд┐рдлрд░рдЯреЗрдХреНрд╕реНрдЯ рдПрдЙрдЯреИ рдХреБрдЮреНрдЬреА рдЬреЛрдбрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдЕрдкрд░реЗрд╢рдирдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдордп рд╕рд╣реА рдорд╛рдкрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рдЕрд░реНрдХреЛ рдЪреБрд╣рд╛рд╡рдЯ (KyberSlash2) рдХреЗрд╣реА рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдорд╛ рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬреБрди рд╡рд┐рднрд╛рдЬрди рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджрд╛ рдЧреЛрдкреНрдп рдорд╛рдирдХреЛ рдкреНрд░рдпреЛрдЧрдХреЛ рдХрд╛рд░рдгрд▓реЗ рдкрдирд┐ рд╣реБрдиреНрдЫред рдкрд╣рд┐рд▓реЛ рд╡рд┐рдХрд▓реНрдкрдмрд╛рдЯ рднрд┐рдиреНрдирддрд╛рд╣рд░реВ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЪрд░рдгрдорд╛ рдХрд▓рдорд╛ рдЖрдЙрдБрдЫрдиреН (poly_compress рд░ polyvec_compress рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛), рд░ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рдирдХреЛ рд╕рдордпрдорд╛ рд╣реЛрдЗрдиред рдпрджреНрдпрдкрд┐, рджреЛрд╕реНрд░реЛ рд╡рд┐рдХрд▓реНрдк рдЖрдХреНрд░рдордгрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдЙрдкрдпреЛрдЧреА рд╣реБрди рд╕рдХреНрдЫ рдЬрд╣рд╛рдБ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреБрди: рдЗрдиреНрдХреНрд░рд┐рдкреНрд╕рди рд╕рдЮреНрдЪрд╛рд▓рдирд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рдЬрд╕рдорд╛ рд╕рд╛рдЗрдлрд░рдЯреЗрдХреНрд╕реНрдЯрдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдЧреЛрдкреНрдп рдорд╛рдирд┐рдиреНрдЫред

рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдорд╛ рдЬреЛрдЦрд┐рдо рдкрд╣рд┐рд▓реЗ рдиреИ рддрдп рдЧрд░рд┐рдПрдХреЛ рдЫ:

  • zig/lib/std/crypto/kyber_d00.zig (рдбрд┐рд╕реЗрдореНрдмрд░ реиреи),
  • pq-crystals/kyber/ref (рдбрд┐рд╕реЗрдореНрдмрд░ рейреж),
  • symbolicsoft/kyber-k2so (рдбрд┐рд╕реЗрдореНрдмрд░ резреп),
  • рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░/рд╕рд░реНрдХрд▓ (рдЬрдирд╡рд░реА рео),
  • aws/aws-lc/crypto/kyber (рдЬрдирд╡рд░реА рек),
  • liboqs/src/kem/kyber (8 рдЬрдирд╡рд░реА)ред

рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рд╕реБрд░реБрдорд╛ рдЬреЛрдЦрд┐рдордмрд╛рдЯ рдкреНрд░рднрд╛рд╡рд┐рдд рдЫреИрдирдиреН:

  • boringssl/crypto/kyber,
  • filippo.io/mlkem768,
  • formosa-crypto/libjade/tree/main/src/crypto_kem,
  • kyber/common/amd64/avx2,
  • formosa-crypto/libjade/tree/main/src/crypto_kem/kyber/common/amd64/ref,
  • pq-crystals/kyber/avx2,
  • pqclean/crypto_kem/kyber*/avx2ред

рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдорд╛ рднреЗрджреНрдпрддрд╛ рдЕрдирдкреНрдпрд╛рдЪ рд░рд╣рдиреНрдЫ:

  • antontutoveanu/crystals-kyber-javascript,
  • Argyle-Software/kyber,
  • debian/src/liboqs/unstable/src/kem/kyber,
  • kudelskisecurity/crystals-go,
  • mupq/pqm4/crypto_kem/kyber* (рдбрд┐рд╕реЗрдореНрдмрд░ 20 рдорд╛, рднреЗрджреНрдпрддрд╛рдХреЛ 1 рд╕рдВрд╕реНрдХрд░рдг рдорд╛рддреНрд░ рддрдп рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ),
  • PQClean/PQClean/crypto_kem/kyber*/aarch64,
  • PQClean/PQClean/crypto_kem/kyber*/clean,
  • randombit/botan (рдбрд┐рд╕реЗрдореНрдмрд░ 20 рдорд╛, рдХреЗрд╡рд▓ 1 рдЬреЛрдЦрд┐рдо рдлрд┐рдХреНрд╕ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ),
  • rustpq/pqcrypto/pqcrypto-kyber (рдПрдХ рдлрд┐рдХреНрд╕ рдЬрдирд╡рд░реА 5 рдорд╛ libsignal рдорд╛ рдердкрд┐рдПрдХреЛ рдерд┐рдпреЛ, рддрд░ рдХрдордЬреЛрд░реА рдЕрдЭреИ pqcrypto-kyber рдорд╛ рдлрд┐рдХреНрд╕ рдЧрд░рд┐рдПрдХреЛ рдЫреИрди)ред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди