ฉันต้องการฟังก์ชันแฮชเป็น $H_4: G_2\ถึง \{0, 1\}^n$ เป็นระยะเวลาหนึ่ง $n$ นั่นคือการแมปจากองค์ประกอบกลุ่มเป็นสตริงไบนารีที่มีความยาว $n$. ในกรณีนี้คือกลุ่ม $G_2$ ประกอบด้วยจุดบนเส้นโค้งวงรี
ถ้า $r\ใน G_2$เราสามารถกำหนดได้ $H_4(ร)$ เช่น $\operatorname{SHAKE256}(R,n)$ ที่ไหน $R$ คือ มีเอกลักษณ์ การเป็นตัวแทนของ $r$ เป็น bitstring และ $\operatorname{SHAKE256}$ ตามที่กำหนดไว้ใน สพป.202.
วิธีหนึ่งที่จะได้รับ $R$: ถ้าจุด $r$ มีพิกัดคาร์ทีเซียน $(x,y)$ ในสนาม $\mathbb F_p$ กับ $p$ นายกรัฐมนตรี, $2^{8(\ell-1)}<p<2^{8\ell}$, $0\le x<p$, $0\le y<q$แล้วเราสามารถใช้ $R=\operatorname{I2OSP}(x,\ell)\mathbin\|\operatorname{I2OSP}(y,\ell)$ ที่ไหน $\operatorname{I2OSP}$ เป็นการแปลง big-endian มาตรฐานเป็นสตริง octet (ตามที่ใช้ในเช่น พีเคซีเอส#1). นี้สามารถนำไปปรับใช้กับช่องอื่นๆ
ถ้า $\operatorname{SHAKE256}$ ใช้ในการสร้างแฮชอื่นๆ $H_1$, $H_2$, $H_3$ควรใช้คำนำหน้าอินพุตของ $\operatorname{SHAKE256}$ ด้วยค่าคงที่ที่แตกต่างกัน