පශ්චාත් ක්වොන්ටම් සංකේතාංකන ඇල්ගොරිතම Kyber ක්‍රියාවට නැංවීමේ අවදානම

ක්වොන්ටම් පරිගණකයක තිරිසන් බලයට ප්‍රතිරෝධී ගුප්ත ලේඛන ඇල්ගොරිතම තරඟයෙන් ජයගත් Kyber encryption ඇල්ගොරිතම ක්‍රියාත්මක කිරීමේදී, විකේතනය කිරීමේදී මෙහෙයුම් කාලය මැනීම මත පදනම්ව රහස් යතුරු ප්‍රතිනිර්මාණය කිරීමට පැති නාලිකා ප්‍රහාරවලට ඉඩ සලසන අවදානමක් හඳුනා ගන්නා ලදී. ප්‍රහාරකයා විසින් සපයන ලද කේතාංක පෙළ. ගැටළුව CRYSTALS-Kyber KEM යතුරු එන්කැප්සුලේෂන් යාන්ත්‍රණයේ යොමු ක්‍රියාත්මක කිරීම සහ සිග්නල් මැසෙන්ජර් හි භාවිතා වන pqcrypto පුස්තකාලය ඇතුළුව බොහෝ තුන්වන පාර්ශවීය Kyber-සක්‍රීය සංකේතාංකන පුස්තකාල දෙකටම බලපායි.

KyberSlash යන කේත නාමය ලැබුණු අවදානමේ සාරය, පණිවිඩයක් විකේතනය කිරීමේ ක්‍රියාවලියේදී "t = ((t < 1) + KYBER_Q/2)/KYBER_Q) & 1;" බෙදීමේ මෙහෙයුම භාවිතා කරයි. , ලාභාංශයේ "ද්විත්ව" වර්ගය සමඟ "t" රහස් අගය අඩංගු වන අතර, බෙදුම්කරු යනු සුප්‍රසිද්ධ පොදු අගය වන KYBER_Q වේ. ගැටළුව වන්නේ බෙදීමේ මෙහෙයුමක කාලය නියත නොවන අතර විවිධ පරිසරවල බෙදීම සඳහා සිදු කරන ලද CPU චක්‍ර ගණන ආදාන දත්ත මත රඳා පවතී. මේ අනුව, මෙහෙයුම් කාලවල වෙනස්කම් මත පදනම්ව, බෙදීමේදී භාවිතා කරන දත්තවල ස්වභාවය පිළිබඳ අදහසක් ලබා ගත හැකිය.

ගුප්ත ලේඛන ක්ෂේත්රයේ සුප්රසිද්ධ විශේෂඥයෙකු වන Daniel J. Bernstein, ප්රහාරය ප්රායෝගිකව සිදු කළ හැකි බවට සාක්ෂි වැඩ කරන ආදර්ශයක් සකස් කිරීමට හැකි විය. සිදු කරන ලද පරීක්ෂණ තුනෙන් දෙකක දී, Raspberry Pi 2 පුවරුවේ කේතය ධාවනය කරන විට, දත්ත විකේතනය කිරීමේ කාලය මැනීම මත පදනම්ව Kyber-512 පුද්ගලික යතුර සම්පූර්ණයෙන්ම ප්‍රතිනිර්මාණය කිරීමට හැකි විය. මෙම ක්‍රමය Kyber-768 සහ Kyber-1024 යතුරු සඳහාද අනුවර්තනය කළ හැක. ප්‍රහාරයක් සාර්ථකව සිදු කිරීම සඳහා, ප්‍රහාරකයා විසින් නියම කරන ලද කේතාංකය එකම යතුරු යුගලයක් භාවිතයෙන් සැකසීම අවශ්‍ය වන අතර මෙහෙයුම ක්‍රියාත්මක කිරීමේ කාලය නිවැරදිව මැනිය හැකිය.

සමහර පුස්තකාලවල තවත් කාන්දුවක් (KyberSlash2) හඳුනාගෙන ඇති අතර, එය බෙදීම සිදු කිරීමේදී රහස් අගයක් භාවිතා කිරීම නිසාද සිදුවේ. පළමු විකල්පයේ වෙනස්කම් සංකේතනය කිරීමේ අදියරේදී ඇමතුම වෙත පැමිණේ (poly_compress සහ polyvec_compress ශ්‍රිතවල) මිස විකේතනයේදී නොවේ. කෙසේ වෙතත්, දෙවන විකල්පය ප්‍රහාරයක් සඳහා ප්‍රයෝජනවත් විය හැක්කේ කේතාංකයේ ප්‍රතිදානය රහසිගත ලෙස සලකනු ලබන නැවත සංකේතාංකන මෙහෙයුම් වලදී ක්‍රියා පටිපාටිය භාවිතා කරන අවස්ථාවන්හිදී පමණි.

පුස්තකාලවල ඇති අවදානම දැනටමත් නිරාකරණය කර ඇත:

  • zig/lib/std/crypto/kyber_d00.zig (දෙසැම්බර් 22),
  • pq-crystals/kyber/ref (දෙසැම්බර් 30),
  • symbolicsoft/kyber-k2so (දෙසැම්බර් 19),
  • වලාකුළු/කවය (ජනවාරි 8),
  • aws/aws-lc/crypto/kyber (ජනවාරි 4),
  • liboqs/src/kem/kyber (ජනවාරි 8).

අනාරක්ෂිත භාවයෙන් මුලදී බල නොපා ඇති පුස්තකාල:

  • boringsl/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-මෘදුකාංග/කයිබර්,
  • 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

අදහස් එක් කරන්න