ะ ัะตะฐะปะธะทะฐัะธะธ ะบัะธะฟัะพะณัะฐัะธัะตัะบะพะน ั ัั-ััะฝะบัะธะธ SHA-3 (Keccak), ะฟัะตะดะปะฐะณะฐะตะผะพะน ะฒ ะฟะฐะบะตัะต XKCP (eXtended Keccak Code Package), ะฒััะฒะปะตะฝะฐ ััะทะฒะธะผะพััั (CVE-2022-37454), ะบะพัะพัะฐั ะผะพะถะตั ะฟัะธะฒะตััะธ ะบ ะฟะตัะตะฟะพะปะฝะตะฝะธั ะฑััะตัะฐ ะฒ ะฟัะพัะตััะต ะพะฑัะฐะฑะพัะบะธ ะพะฟัะตะดะตะปัะฝะฝะพ ะพัะพัะผะปะตะฝะฝัั ะดะฐะฝะฝัั . ะัะพะฑะปะตะผะฐ ะฒัะทะฒะฐะฝะฐ ะพัะธะฑะบะพะน ะฒ ะบะพะดะต ะบะพะฝะบัะตัะฝะพะน ัะตะฐะปะธะทะฐัะธะธ SHA-3, ะฐ ะฝะต ััะทะฒะธะผะพัััั ะฒ ัะฐะผะพะผ ะฐะปะณะพัะธัะผะต. ะะฐะบะตั XKCP ะฟัะตะฟะพะดะฝะพัะธััั ะบะฐะบ ะพัะธัะธะฐะปัะฝะฐั ัะตะฐะปะธะทะฐัะธั SHA-3, ัะฐะทะฒะธะฒะฐะตััั ะฟัะธ ััะฐััะธะธ ะบะพะผะฐะฝะดั ัะฐะทัะฐะฑะพััะธะบะพะฒ Keccak ะธ ะธัะฟะพะปัะทัะตััั ะฒ ะบะฐัะตััะฒะต ะพัะฝะพะฒั ะฒ ััะฝะบัะธัั ะดะปั ัะฐะฑะพัั ั SHA-3 ะฒ ัะฐะทะปะธัะฝัั ัะทัะบะฐั ะฟัะพะณัะฐะผะผะธัะพะฒะฐะฝะธั (ะฝะฐะฟัะธะผะตั, ะบะพะด XKCP ะธัะฟะพะปัะทัะตััั ะฒ Python-ะผะพะดัะปะต hashlib, Ruby-ะฟะฐะบะตัะต digest-sha3 ะธ PHP-ััะฝะบัะธัั hash_*).
ะะพ ะทะฐัะฒะปะตะฝะธั ะธััะปะตะดะพะฒะฐัะตะปั, ะฒััะฒะธะฒัะตะณะพ ะฟัะพะฑะปะตะผั, ะตะผั ัะดะฐะปะพัั ะธัะฟะพะปัะทะพะฒะฐัั ััะทะฒะธะผะพััั ะดะปั ะฝะฐัััะตะฝะธั ะบัะธะฟัะพะณัะฐัะธัะตัะบะธั ัะฒะพะนััะฒ ั ัั-ััะฝะบัะธะธ ะธ ะฝะฐั ะพะถะดะตะฝะธั ะฟะตัะฒะพะณะพ ะธ ะฒัะพัะพะณะพ ะฟัะพะพะฑัะฐะทะฐ, ะฐ ัะฐะบะถะต ะพะฟัะตะดะตะปะตะฝะธั ะบะพะปะปะธะทะธะน. ะัะพะผะต ัะพะณะพ, ะทะฐัะฒะปะตะฝะพ ะพ ัะพะทะดะฐะฝะธะธ ะฟัะพัะพัะธะฟะฐ ัะบัะฟะปะพะธัะฐ, ะฟะพะทะฒะพะปัััะตะณะพ ะดะพะฑะธัััั ะฒัะฟะพะปะฝะตะฝะธั ะบะพะดะฐ ะฟัะธ ะฒััะธัะปะตะฝะธะธ ั ััะฐ ัะฟะตัะธะฐะปัะฝะพ ะพัะพัะผะปะตะฝะฝะพะณะพ ัะฐะนะปะฐ. ะะพัะตะฝัะธะฐะปัะฝะพ ััะทะฒะธะผะพััั ัะฐะบะถะต ะผะพะถะตั ะฑััั ะธัะฟะพะปัะทะพะฒะฐะฝะฐ ะดะปั ะฐัะฐะบ ะฝะฐ ะฐะปะณะพัะธัะผั ะฟัะพะฒะตัะบะธ ัะธััะพะฒัั ะฟะพะดะฟะธัะตะน, ะธัะฟะพะปัะทัััะธั SHA-3 (ะฝะฐะฟัะธะผะตั, Ed448). ะะพะดัะพะฑะฝะพััะธ ะผะตัะพะดะพะฒ ะฟัะพะฒะตะดะตะฝะธั ะฐัะฐะบ ะฟะปะฐะฝะธััะตััั ะพะฟัะฑะปะธะบะพะฒะฐัั ะฟะพะทะดะฝะตะต, ะฟะพัะปะต ะฟะพะฒัะตะผะตััะฝะพะณะพ ััััะฐะฝะตะฝะธั ััะทะฒะธะผะพััะธ.
ะะฐัะบะพะปัะบะพ ััะทะฒะธะผะพััั ะทะฐััะฐะณะธะฒะฐะตั ัััะตััะฒัััะธะต ะฟัะธะปะพะถะตะฝะธั ะฝะฐ ะฟัะฐะบัะธะบะต ะฟะพะบะฐ ะฝะต ััะฝะพ, ัะฐะบ ะบะฐะบ ะดะปั ะฟัะพัะฒะปะตะฝะธั ะฟัะพะฑะปะตะผั ะฒ ะบะพะดะต ะดะพะปะถะฝะพ ะฟัะธะผะตะฝััััั ัะธะบะปะธัะฝะพะต ะฒััะธัะปะตะฝะธะต ั ััะฐ ะฑะปะพะบะฐะผะธ ะธ ะพะดะธะฝ ะธะท ะพะฑัะฐะฑะฐััะฒะฐะตะผัั ะฑะปะพะบะพะฒ ะดะพะปะถะตะฝ ะธะผะตัั ัะฐะทะผะตั ะพะบะพะปะพ 4 ะะ (ะฝะต ะผะตะฝะตะต 2^32 โ 200 ะฑะฐะนั). ะัะธ ะพะฑัะฐะฑะพัะบะต ะฒั ะพะดะฝัั ะดะฐะฝะฝัั ัะฐะทะพะผ (ะฑะตะท ะฟะพัะปะตะดะพะฒะฐัะตะปัะฝะพะณะพ ะฒััะธัะปะตะฝะธั ั ััะฐ ัะฐัััะผะธ) ะฟัะพะฑะปะตะผะฐ ะฝะต ะฟัะพัะฒะปัะตััั. ะ ะบะฐัะตััะฒะต ะฝะฐะธะฑะพะปะตะต ะฟัะพััะพะณะพ ะผะตัะพะดะฐ ะทะฐัะธัั ะฟัะตะดะปะฐะณะฐะตััั ะพะณัะฐะฝะธัะธัั ะผะฐะบัะธะผะฐะปัะฝัะน ัะฐะทะผะตั ะดะฐะฝะฝัั , ััะฐััะฒัััะธั ะฒ ะพะดะฝะพะน ะธัะตัะฐัะธะธ ะฒััะธัะปะตะฝะธั ั ััะฐ.
ะฃัะทะฒะธะผะพััั ะฒัะทะฒะฐะฝะฐ ะพัะธะฑะบะพะน ะฟัะธ ะฑะปะพัะฝะพะน ะพะฑัะฐะฑะพัะบะต ะฒั ะพะดะฝัั ะดะฐะฝะฝัั . ะะท-ะทะฐ ะฝะตะบะพััะตะบัะฝะพะณะพ ััะฐะฒะฝะตะฝะธั ะทะฝะฐัะตะฝะธะน ั ัะธะฟะพะผ ยซintยป ะพะฟัะตะดะตะปัะตััั ะฝะตะฒะตัะฝัะน ัะฐะทะผะตั ะพะถะธะดะฐััะธั ะพะฑัะฐะฑะพัะบะธ ะดะฐะฝะฝัั , ััะพ ะฟัะธะฒะพะดะธั ะบ ะทะฐะฟะธัะธ ั ะฒะพััะฐ ะทะฐ ะฟัะตะดะตะปั ะฒัะดะตะปะตะฝะฝะพะณะพ ะฑััะตัะฐ. ะ ัะฐััะฝะพััะธ, ะฟัะธ ััะฐะฒะฝะตะฝะธะธ ะธัะฟะพะปัะทะพะฒะฐะปะพัั ะฒััะฐะถะตะฝะธะต ยซpartialBlock + instance->byteIOIndexยป, ะบะพัะพัะพะต ะฟัะธ ะฑะพะปััะธั ะทะฝะฐัะตะฝะธัั ัะพััะฐะฒะฝัั ัะฐััะตะน ะฟัะธะฒะพะดะธะปะพ ะบ ัะตะปะพัะธัะปะตะฝะฝะพะผั ะฟะตัะตะฟะพะปะฝะตะฝะธั. ะัะพะผะต ัะพะณะพ, ะฒ ะบะพะดะต ะฟัะธัััััะฒะพะฒะฐะปะพ ะฝะตะฒะตัะฝะพะต ะฟัะธะฒะตะดะตะฝะธะต ัะธะฟะพะฒ ยซ(unsigned int)(dataByteLen โ i)ยป, ะฟัะธะฒะพะดะธะฒัะตะต ะบ ะฟะตัะตะฟะพะปะฝะตะฝะธั ะฝะฐ ัะธััะตะผะฐั ั 64-ัะฐะทััะดะฝัะผ ัะธะฟะพะผ size_t.
ะัะธะผะตั ะบะพะดะฐ, ะฟัะธะฒะพะดััะตะณะพ ะบ ะฟะตัะตะฟะพะปะฝะตะฝะธั: import hashlib h = hashlib.sha3_224() m1 = bยป\x00โณ * 1; m2 = bยป\x00โณ * 4294967295; h.update(m1) h.update(m2) print(h.hexdigest())
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru