Kerentanan dina palaksanaan algoritma enkripsi pos-kuantum Kyber

Dina palaksanaan algoritma enkripsi Kyber, anu meunang kompetisi algoritma kriptografi tahan ka gaya BRUTE dina komputer kuantum, kerentanan ieu diidentifikasi anu ngamungkinkeun serangan saluran sisi nyieun deui konci rusiah dumasar kana ukuran waktu operasi salila dekripsi. ciphertext disadiakeun ku panyerang. Masalahna mangaruhan boh palaksanaan rujukan mékanisme enkapsulasi konci CRYSTALS-Kyber KEM sareng seueur perpustakaan enkripsi anu diaktipkeun Kyber pihak katilu, kalebet perpustakaan pqcrypto anu dianggo dina utusan Sinyal.

Hakekat kerentanan, anu nampi nami kode KyberSlash, nyaéta ngagunakeun operasi division "t = (((t

Daniel J. Bernstein, ahli well-dipikawanoh dina widang kriptografi, éta bisa nyiapkeun demonstrasi gawé buktina yén serangan bisa dilumangsungkeun dina prakna. Dina dua tina tilu percobaan anu dilakukeun, nalika ngajalankeun kode dina dewan buah prambus Pi 2, éta mungkin pikeun sakabéhna nyieun deui konci swasta Kyber-512 dumasar kana data decoding ukuran waktu. Metodeu ogé tiasa diadaptasi pikeun konci Kyber-768 sareng Kyber-1024. Pikeun suksés ngalaksanakeun serangan, ciphertext anu ditunjuk ku panyerang kedah diolah nganggo pasangan konci anu sami sareng waktos palaksanaan operasi tiasa diukur sacara akurat.

Bocor sejen (KyberSlash2) geus diidentifikasi dina sababaraha perpustakaan, nu ogé lumangsung alatan pamakéan nilai rusiah nalika ngajalankeun division. Bedana tina pilihan kahiji turun ka panggero dina tahap enkripsi (dina poly_compress na polyvec_compress fungsi), sarta henteu salila dekripsi. Sanajan kitu, pilihan kadua bisa jadi mangpaat pikeun serangan ngan dina kasus dimana prosedur dipaké dina operasi enkripsi ulang nu kaluaran tina ciphertext dianggap rahasia.

Kerentanan parantos dibenerkeun dina perpustakaan:

  • zig/lib/std/crypto/kyber_d00.zig (22 Désémber),
  • pq-kristal/kyber/ref (30 Désémber),
  • symbolicsoft/kyber-k2so (19 Désémber),
  • cloudflare/circl (8 Januari),
  • aws/aws-lc/crypto/kyber (4 Januari),
  • liboqs/src/kem/kyber (8 Januari).

Perpustakaan mimitina henteu kapangaruhan ku kerentanan:

  • 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-kristal/kyber/avx2,
  • pqclean/crypto_kem/kyber*/avx2.

Kerentanan tetep unpatched di perpustakaan:

  • antontutoveanu/crystals-kyber-javascript,
  • Argyle-Software/kyber,
  • debian/src/liboqs/teu stabil/src/kem/kyber,
  • kudelskisecurity/kristal-go,
  • mupq/pqm4/crypto_kem/kyber* (Dina 20 Désémber, ngan 1 versi kerentanan anu dibenerkeun),
  • PQClean/PQClean/crypto_kem/kyber*/aarch64,
  • PQClean/PQClean/crypto_kem/kyber*/bersih,
  • randombit/botan (Dina 20 Désémber, ngan 1 kerentanan anu dibenerkeun),
  • rustpq / pqcrypto / pqcrypto-kyber (fix ieu ditambahkeun kana libsignal 5. Januari, tapi kerentanan teu acan dibereskeun dina pqcrypto-kyber sorangan).

sumber: opennet.ru

Tambahkeun komentar