Athari katika utekelezaji wa algoriti ya usimbaji fiche baada ya quantum Kyber

Katika utekelezaji wa algoriti ya usimbaji wa Kyber, ambayo ilishinda shindano la algoriti za kriptografia sugu kwa nguvu ya kikatili kwenye kompyuta ya quantum, hatari iligunduliwa ambayo inaruhusu mashambulio ya njia ya upande kuunda tena funguo za siri kulingana na kupima wakati wa shughuli wakati wa kusimbua. maandishi ya siri yaliyotolewa na mshambuliaji. Tatizo linaathiri utekelezaji wa marejeleo wa utaratibu wa usimbaji wa ufunguo wa CRYSTALS-Kyber KEM na maktaba nyingi za usimbaji zilizowezeshwa na Kyber, ikiwa ni pamoja na maktaba ya pqcrypto inayotumiwa katika ujumbe wa Mawimbi.

Kiini cha athari, ambayo ilipokea jina la msimbo la KyberSlash, ni katika matumizi ya operesheni ya mgawanyiko "t = (((t < 1) + KYBER_Q/2)/KYBER_Q) & 1;" katika mchakato wa kusimbua ujumbe. , ambapo gawio lina thamani ya siri "t" yenye aina ya "double", na kigawanyaji ni thamani inayojulikana ya umma KYBER_Q. Shida ni kwamba wakati wa operesheni ya mgawanyiko sio mara kwa mara, na katika mazingira tofauti idadi ya mizunguko ya CPU iliyofanywa kwa mgawanyiko inategemea data ya pembejeo. Kwa hivyo, kulingana na mabadiliko ya nyakati za operesheni, mtu anaweza kupata wazo la asili ya data inayotumiwa katika mgawanyiko.

Daniel J. Bernstein, mtaalam mashuhuri katika uwanja wa cryptography, aliweza kuandaa onyesho la kazi la uthibitisho kwamba shambulio hilo lingeweza kufanywa kwa vitendo. Katika majaribio mawili kati ya matatu yaliyofanywa, wakati wa kuendesha msimbo kwenye ubao wa Raspberry Pi 2, iliwezekana kuunda tena ufunguo wa kibinafsi wa Kyber-512 kulingana na kupima muda wa kusimbua data. Njia pia inaweza kubadilishwa kwa funguo za Kyber-768 na Kyber-1024. Ili kutekeleza shambulio kwa mafanikio, ni muhimu kwamba maandishi ya siri yaliyotajwa na mshambuliaji yachakatwa kwa kutumia jozi sawa za ufunguo na kwamba muda wa utekelezaji wa operesheni unaweza kupimwa kwa usahihi.

Uvujaji mwingine (KyberSlash2) umetambuliwa katika baadhi ya maktaba, ambayo pia hutokea kutokana na matumizi ya thamani ya siri wakati wa kufanya mgawanyiko. Tofauti kutoka kwa chaguo la kwanza zinakuja kwenye simu katika hatua ya usimbaji fiche (katika poly_compress na polyvec_compress kazi), na si wakati wa decryption. Hata hivyo, chaguo la pili linaweza kuwa na manufaa kwa shambulio tu katika hali ambapo utaratibu unatumiwa katika shughuli za usimbaji upya ambapo matokeo ya maandishi ya siri huchukuliwa kuwa ya siri.

Hatari tayari imerekebishwa katika maktaba:

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

Maktaba ambazo hazikuathiriwa mwanzoni na athari:

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

Athari bado haijawekwa katika maktaba:

  • antontutoveanu/crystals-kyber-javascript,
  • Argyle-Software/kyber,
  • debian/src/liboqs/unstable/src/kem/kyber,
  • kudelskisecurity/fuwele-go,
  • mupq/pqm4/crypto_kem/kyber* (Mnamo Desemba 20, toleo 1 pekee la athari lilirekebishwa),
  • PQClean/PQClean/crypto_kem/kyber*/aarch64,
  • PQClean/PQClean/crypto_kem/kyber*/safisha,
  • randombit/botani (Mnamo Desemba 20, athari 1 pekee ndiyo ilirekebishwa),
  • rustpq/pqcrypto/pqcrypto-kyber (suluhisho liliongezwa kwa libsignal mnamo Januari 5, lakini udhaifu bado haujarekebishwa katika pqcrypto-kyber yenyewe).

Chanzo: opennet.ru

Kuongeza maoni