FE2OSP และ OS2FEP แปลงระหว่าง เขตข้อมูล จำกัด องค์ประกอบ (เช่นพิกัด X หรือ Y ของจุดบน Elliptic Curve) และสตริงออคเต็ต (เทียบเท่ากับการทดสอบไบต์) เดิมถูกกำหนดโดย มาตรฐาน IEEE 1363-2000 และแก้ไขโดย IEEE P1363a-2004.
เขตจำกัด ถูกกำหนดด้วย $คิว$ องค์ประกอบที่ระบุไว้ $\operatorname{GF}(q)$ หรือ $\mathbb F_q$, ที่ไหน $คิว$ เป็นจำนวนเต็มขนาดใหญ่ของแบบฟอร์ม $q=p^m$, กับ $p$ นายกและ $m$ จำนวนเต็มเป็นอย่างน้อย $1$.
FE2OSP (Field Element to Octet String Conversion Primitive) ใช้เป็นอินพุตองค์ประกอบฟิลด์ $x$ และขนาดสนาม $คิว$. มันส่งออกสตริง octet ขนาดขึ้นอยู่กับ $คิว$ เท่านั้น.
OS2FEP (Octet String to Field Element Conversion Primitive) ใช้เป็นอินพุตสตริง octet (และมีขนาด) และขนาดฟิลด์ $คิว$. มันส่งออกองค์ประกอบเขตข้อมูลหรือการบ่งชี้ข้อผิดพลาด
มาตรฐานแยกความแตกต่าง 3 กรณี:
- $m=1$สำหรับเส้นโค้งเฉพาะที่เรียกว่า secp256k1 หรือ secp384r1 (โดยมากในปัจจุบัน) องค์ประกอบฟิลด์ $x$ เป็นจำนวนเต็มใน $[0,p)$. สตริงออคเต็ตที่สอดคล้องกันมี $\left\lceil\log_2(p-1)/8\right\rceil$ octets (ไบต์) แทน $x$ ต่อ บิ๊กเอนด์ การประชุม ซึ่งตรงกับการแปลงที่ทำโดย PKCS#1's ไอทูโอเอสพี และ OS2IP ใน RSA
- $p=2$สำหรับเส้นโค้งไบนารีที่เรียกว่าเช่น sect239k1 หรือ sect283r1. องค์ประกอบฟิลด์ $x$ เป็นบิตสตริงของ $m$ บิตสังเกต $b_i$. สตริงออคเต็ตที่สอดคล้องกันมี $\left\lceil m/8\right\rceil$ ออกเตต (ไบต์) ด้วย $b_0$ บิตที่มีนัยสำคัญน้อยที่สุดของออคเต็ตสุดท้าย และ $7-(m\bmod 8)$ บิตที่สำคัญที่สุดของไบต์แรกที่ศูนย์
- อื่นๆ (ครอบคลุมโดย P1363a เท่านั้น) องค์ประกอบฟิลด์ $x$ เป็น $m$ จำนวนเต็ม $a_i\in[0,p)$. สตริงออคเต็ตที่เกี่ยวข้องมี $\left\lceil\log_2(q-1)/8\right\rceil$ octets (ไบต์) แทนจำนวนเต็ม $\sum_{i=0}^{m-1}a_i\,p^i$ ต่อ บิ๊กเอนด์ การประชุม นั่นทำให้ 1 และ 2 เป็นกรณีพิเศษของคนทั่วไปมากกว่า 3
ในทุกกรณี ตัวคูณที่เป็นกลางของฟิลด์ ( $1$ ) แทนด้วย $\left\lceil\log_2(q-1)/8\right\rceil$ octets (ไบต์) โดย octet สุดท้ายคือ 01ชม. และอื่น ๆ ทั้งหมด 00ชม..
จากการทบทวนฉบับร่าง P1363-D13 (1999) และ P1363a-D12 (2003) ของฉัน ความแตกต่างกับสมัยใหม่ ก.ล.ต.1-v2's การแปลง Field-Element-to-Octet-String และ การแปลง Octet-String-to-Field-Element มีน้อย:
- เฉพาะ P1363a เท่านั้นที่ครอบคลุมกรณีที่ 3
- P1363 ชื่อไบต์ $M_i$ กับ $M_0$ สุดท้าย/ขวา. SEC1 ย้อนกลับสัญลักษณ์นั้น (และเปลี่ยนสูตรตามลำดับ) ซึ่งเป็นเรื่องปกติสำหรับโปรแกรมเมอร์ที่เห็นดัชนีศูนย์เป็นอันดับแรก/ซ้าย ที่ไม่ ไม่ เปลี่ยนสตริงออคเต็ต
- "ข้อผิดพลาด" ของ OS2FEP คือ "ไม่ถูกต้อง" ของการแปลง Octet-String-to-Field-Element