āĻĒā§‹āĻ¸ā§āĻŸ-āĻ•ā§‹āĻ¯āĻŧāĻžāĻ¨ā§āĻŸāĻžāĻŽ āĻāĻ¨āĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻ•āĻžāĻ‡āĻŦāĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž

Kyber āĻāĻ¨āĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ¨ā§āĻŸāĻžāĻŽ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ°ā§‡ āĻŦā§āĻ°ā§āĻŸ āĻĢā§‹āĻ°ā§āĻ¸ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§ā§€ āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ• āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻž āĻœāĻŋāĻ¤ā§‡āĻ›āĻŋāĻ˛, āĻāĻ•āĻŸāĻŋ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯āĻž āĻ¸āĻžāĻ‡āĻĄ-āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻ†āĻ•ā§āĻ°āĻŽāĻŖāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĄāĻŋāĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒā§‡āĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§‡ āĻ—ā§‹āĻĒāĻ¨ āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ†āĻ•ā§āĻ°āĻŽāĻŖāĻ•āĻžāĻ°ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¸āĻžāĻ‡āĻĢāĻžāĻ°āĻŸā§‡āĻ•ā§āĻ¸āĻŸāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ CRYSTALS-Kyber KEM āĻ•ā§€ āĻāĻ¨āĻ•ā§āĻ¯āĻžāĻĒāĻ¸ā§āĻ˛ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻ¸āĻŋāĻ—āĻ¨ā§āĻ¯āĻžāĻ˛ āĻŽā§‡āĻ¸ā§‡āĻžā§āĻœāĻžāĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ pqcrypto āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¸āĻš āĻ…āĻ¨ā§‡āĻ• āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻ•ā§āĻˇā§‡āĻ° Kyber-āĻ¸āĻ•ā§āĻˇāĻŽ āĻāĻ¨āĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ‰āĻ­āĻ¯āĻŧāĻ•ā§‡āĻ‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤

āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻžāĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ, āĻ¯āĻž āĻ•ā§‹āĻĄ āĻ¨āĻžāĻŽ KyberSlash āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĄāĻŋāĻ•ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ "t = (((t < 1) + KYBER_Q/2)/KYBER_Q) & 1;" āĻŦāĻŋāĻ­āĻžāĻ— āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ , āĻ¯ā§‡ āĻ˛āĻ­ā§āĻ¯āĻžāĻ‚āĻļā§‡ āĻ—ā§‹āĻĒāĻ¨ āĻŽāĻžāĻ¨ "t" āĻŸāĻžāĻ‡āĻĒ "āĻĄāĻŦāĻ˛" āĻ¸āĻš, āĻāĻŦāĻ‚ āĻ­āĻžāĻœāĻ• āĻšāĻ˛ āĻ¸ā§āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻŽāĻžāĻ¨ KYBER_QāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ­āĻŋāĻļāĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ§ā§āĻ°ā§āĻŦāĻ• āĻ¨āĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻĄāĻŋāĻ­āĻŋāĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ CPU āĻšāĻ•ā§āĻ°ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ‡āĻ¨āĻĒā§āĻŸ āĻĄā§‡āĻŸāĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡, āĻ•ā§‡āĻ‰ āĻŦāĻŋāĻ­āĻžāĻœāĻ¨ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĄā§‡āĻŸāĻžāĻ° āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ§āĻžāĻ°āĻŖāĻž āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻĢāĻŋ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ° āĻāĻ•āĻœāĻ¨ āĻ¸ā§āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻŦāĻŋāĻļā§‡āĻˇāĻœā§āĻž āĻĄā§āĻ¯āĻžāĻ¨āĻŋāĻ¯āĻŧā§‡āĻ˛ āĻœā§‡ āĻŦāĻžāĻ°ā§āĻ¨āĻ¸ā§āĻŸā§‡āĻ‡āĻ¨, āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡ āĻšāĻžāĻŽāĻ˛āĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĒā§āĻ°āĻŽāĻžāĻŖā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻˇāĻŽ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ā§€ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¨āĨ¤ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĻā§āĻŸāĻŋāĻ¤ā§‡, āĻ°āĻžāĻ¸ā§āĻĒāĻŦā§‡āĻ°āĻŋ āĻĒāĻžāĻ‡ 2 āĻŦā§‹āĻ°ā§āĻĄā§‡ āĻ•ā§‹āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĄā§‡āĻŸāĻž āĻĄāĻŋāĻ•ā§‹āĻĄāĻŋāĻ‚ āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ Kyber-512 āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ•ā§€ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ Kyber-768 āĻāĻŦāĻ‚ Kyber-1024 āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯āĻ“ āĻ…āĻ­āĻŋāĻ¯ā§‹āĻœāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ†āĻ•ā§āĻ°āĻŽāĻŖ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻ•ā§āĻ°āĻŽāĻŖāĻ•āĻžāĻ°ā§€āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¸āĻžāĻ‡āĻĢāĻžāĻ°āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻāĻ•āĻ‡ āĻ•ā§€ āĻœā§‹āĻĄāĻŧāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻāĻŦāĻ‚ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĻŸāĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•āĻŋāĻ›ā§ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ¤ā§‡ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻĢāĻžāĻāĻ¸ (KyberSlash2) āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻĄāĻŋāĻ­āĻŋāĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ—ā§‹āĻĒāĻ¨ āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡āĻ“ āĻ˜āĻŸā§‡āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĨā§‡āĻ•ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻāĻ¨āĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ•āĻ˛ā§‡ āĻ†āĻ¸ā§‡ (āĻĒāĻ˛āĻŋ_āĻ•āĻŽā§āĻĒā§āĻ°ā§‡āĻ¸ āĻāĻŦāĻ‚ āĻĒāĻ˛āĻŋāĻ­ā§‡āĻ•_āĻ•āĻŽāĻĒā§āĻ°ā§‡āĻ¸ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡), āĻāĻŦāĻ‚ āĻĄāĻŋāĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§‡āĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ‡ āĻ†āĻ•ā§āĻ°āĻŽāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§‹āĻ—ā§€ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻ¨āĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻžāĻ‡āĻĢāĻžāĻ°āĻŸā§‡āĻ•ā§āĻ¸āĻŸā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ—ā§‹āĻĒāĻ¨ā§€āĻ¯āĻŧ āĻŦāĻ˛ā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ¤ā§‡ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ āĻŋāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

  • zig/lib/std/crypto/kyber_d00.zig (22 āĻĄāĻŋāĻ¸ā§‡āĻŽā§āĻŦāĻ°),
  • pq-āĻ•ā§āĻ°āĻŋāĻ¸ā§āĻŸāĻžāĻ˛/āĻ•āĻžāĻ‡āĻŦāĻžāĻ°/āĻ°ā§‡āĻĢ (āĻĄāĻŋāĻ¸ā§‡āĻŽā§āĻŦāĻ° 30),
  • symbolicsoft/kyber-k2so (āĻĄāĻŋāĻ¸ā§‡āĻŽā§āĻŦāĻ° 19),
  • āĻ•ā§āĻ˛āĻžāĻ‰āĻĄāĻĢā§āĻ˛ā§‡āĻ¯āĻŧāĻžāĻ°/āĻ¸āĻžāĻ°ā§āĻ•ā§‡āĻ˛ (8 āĻœāĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ°āĻŋ),
  • aws/aws-lc/crypto/kyber (āĻœāĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ°āĻŋ 4),
  • 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-āĻ•ā§āĻ°āĻŋāĻ¸ā§āĻŸāĻžāĻ˛/āĻ•āĻžāĻ‡āĻŦāĻžāĻ°/āĻāĻ­āĻŋāĻāĻ•ā§āĻ¸ā§¨,
  • pqclean/crypto_kem/kyber*/avx2.

āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ¤ā§‡ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

  • antontutoveanu/āĻ•ā§āĻ°āĻŋāĻ¸ā§āĻŸāĻžāĻ˛-āĻ•āĻžāĻ‡āĻŦāĻžāĻ°-āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ,
  • Argyle-āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°/āĻ•āĻžāĻ‡āĻŦāĻžāĻ°,
  • debian/src/liboqs/unstable/src/kem/kyber,
  • āĻ•ā§āĻĄā§‡āĻ˛āĻ¸ā§āĻ•āĻŋāĻ¸āĻŋāĻ•āĻŋāĻ‰āĻ°āĻŋāĻŸāĻŋ/āĻ•ā§āĻ°āĻŋāĻ¸ā§āĻŸāĻžāĻ˛-āĻ—ā§‹,
  • mupq/pqm4/crypto_kem/kyber* (20 āĻĄāĻŋāĻ¸ā§‡āĻŽā§āĻŦāĻ°, āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻžāĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 1 āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛),
  • PQClean/PQClean/crypto_kem/kyber*/aarch64,
  • PQClean/PQClean/crypto_kem/kyber*/āĻ•ā§āĻ˛āĻŋāĻ¨,
  • randombit/botan (20 āĻĄāĻŋāĻ¸ā§‡āĻŽā§āĻŦāĻ°, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 1 āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛),
  • rustpq/pqcrypto/pqcrypto-kyber (5 āĻœāĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ°ā§€ libsignal-āĻ āĻāĻ•āĻŸāĻŋ āĻĢāĻŋāĻ•ā§āĻ¸ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ pqcrypto-kyber-āĻ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻāĻ–āĻ¨āĻ“ āĻ āĻŋāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ)āĨ¤

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨