สำหรับระบบเข้ารหัสของ McEliece/Niederreiter ทางเลือกของรหัสที่ดูเหมือนว่ามีประสิทธิภาพและปลอดภัยคือรหัส Goppa แบบไบนารีที่ลดไม่ได้ ซึ่งกำหนดโดยรหัสที่ลดไม่ได้ $g(x)\in GF(2^m)[x]$ ของปริญญา $t$ และเวกเตอร์สนับสนุน $L=(\alpha_0,\ldots,\alpha_{n-1})$ ด้วยความแตกต่าง $\alpha_i\ใน GF(2^m)$.
รหัสตัวเองคือ $GF(2)$เวกเตอร์ที่มีค่าในเคอร์เนลของเมทริกซ์การตรวจสอบพาริตี
$$
H=\left(
\begin{อาร์เรย์}{cccc}
g(\alpha_0)^{-1}&g(\alpha_1)^{-1}&\ldots&g(\alpha_{n-1})^{-1}\
g(\alpha_0)^{-1}\alpha_0&g(\alpha_1)^{-1}\alpha_1&\ldots&g(\alpha_{n-1})^{-1}\alpha_{n-1}\
\vdots&\vdots&\ldots&\vdots\
g(\alpha_0)^{-1}\alpha_0^{t-1}&g(\alpha_1)^{-1}\alpha_1^{t-1}&\ldots&g(\alpha_{n-1})^{ -1}\alpha_{n-1}^{t-1}\
\end{อาร์เรย์}\right)
$$
โปรดทราบว่า $H$ เป็นแบบเต็มยศ เพื่อสร้างเมทริกซ์ตรวจสอบพาริตี $H'$ เกิน $GF(2)$หนึ่งสามารถแทนที่รายการของ $H$ ด้วยเวกเตอร์คอลัมน์ใน $GF(2)$ (ใช้พื้นฐานบางส่วนในการต่อ $GF(2^m)/GF(2)$).
แหล่งข้อมูลเกือบทั้งหมดที่ฉันปรึกษาแสดงรายการรหัสผลลัพธ์เป็น $[n,k]=[n, n-mt]$แต่การก่อสร้างทั่วไป (พูดสำหรับรหัสอื่น) ให้ $k=n-mt$ เป็น ก ขอบเขตล่าง เพื่อมิติ $k$ ของรหัสพื้นที่ย่อยที่เป็นผลลัพธ์
คำถามของฉันคือ:
- อันดับที่เกิดขึ้นบ่อยแค่ไหน $k=n-mt$? ในการตั้งค่า AG ฉันเดาว่านี่คือมิติข้อมูลของ Riemann-Roch ดังนั้น geometer เชิงพีชคณิตอาจตอบได้
- ไม่สำคัญว่าเรามีแถวที่ซ้ำซ้อนในการตรวจสอบพาริตีหรือไม่ $H'$? สิ่งนี้ส่งผลกระทบต่อการใช้งานระบบเข้ารหัสลับหรือไม่?
ฉันเดาว่าสิ่งนี้กล่าวถึงในตัวสร้างคีย์จาก https://eprint.iacr.org/2017/595.pdf (ส่วน 5.2) หากเพียงเพื่อส่งคืนความล้มเหลวและเริ่มกระบวนการสร้างคีย์ใหม่เมื่อ rref ไม่สำเร็จ พวกเขาให้ 29% เป็นความน่าจะเป็นของความสำเร็จโดยพิจารณาจากความหนาแน่นของ $GL_{mt}(GF(2))$ ใน $Mat_{mt\times mt}(GF(2))$เช่น ความหนาแน่นเชิงซีมโทติคคือ
$$
\prod_{i=1}^{\infty}\left(1-\frac{1}{2^i}\right)=0.288\ldots
$$
ในความคิดที่สองเกี่ยวกับ 1) ฉันเดาว่ามันเป็นคำถามมากกว่าเมื่อเคอร์เนลของแผนที่เชิงเส้นถูกกำหนดผ่านฟิลด์ย่อย (เช่นเคอร์เนลของ $x-\sqrt{2}y$ มีมิติมากกว่าหนึ่ง $\mathbb{Q}(\sqrt{2})$ แต่มิติเป็นศูนย์เมื่อจำกัดไว้ที่ $\mathbb{Q}$).