Score:2

การใช้งานเกณฑ์ของยันต์

ธง za

อะไรคือหลักการที่อยู่เบื้องหลังการใช้เกณฑ์ของรหัสบล็อก และสิ่งนี้จะป้องกันการโจมตีช่องทางด้านข้างได้อย่างไร

kodlu avatar
sa flag
คำถามที่ดี คุณสามารถให้ข้อมูลอ้างอิงที่กล่าวถึงหัวข้อนี้ได้หรือไม่?
Evgeni Vaknin avatar
za flag
ดูที่: "การดำเนินการตามเกณฑ์กับการโจมตีและข้อบกพร่องของช่องทางด้านข้าง" , @ https://www.esat.kuleuven.be/cosic/publications/article-847.pdf
Score:3
ธง my

หลักการเบื้องหลังการใช้เกณฑ์ของบล็อกรหัสคืออะไร

แนวคิดคือเรานำทุกสถานะความลับของรหัส (ไม่ว่าจะเป็นตัวกุญแจเองหรือค่าสถานะภายใน) และแปลงเป็นการแสดง "เกณฑ์" โดยที่ค่าตรรกะของสถานะลับ $s$ ดำเนินการจริงโดย $t$ ค่าทางกายภาพที่แตกต่างกัน $s_0, s_1, \จุด, s_{t-1}$ในลักษณะที่เป็นความรู้ของ $t-1$ ของค่าทางกายภาพไม่ให้ข้อมูลเกี่ยวกับค่าตรรกะ $s$.

วิธีทั่วไปในการนำสิ่งนี้ไปใช้คือการใช้ xor-sharing; ถ้า $t=2$จากนั้นแต่ละสถานะทางตรรกะ $s$ แสดงโดย $s = s_0 \oบวก s_1$; ถ้า $s_0, s_1$ ได้ทั้ง 1 อย่างด้วยความน่าจะเป็น $0.5$จากนั้นการเรียนรู้เพียงหนึ่งในนั้นไม่ได้ให้ข้อมูลเกี่ยวกับ $s$.

คำถามที่ชัดเจนคือ "คุณดำเนินการกับการแสดงเกณฑ์เหล่านี้อย่างไร" การดำเนินการเชิงเส้น/เลียนแบบนั้นง่าย: หากต้องการลบล้าง คุณเพียงแค่พลิกส่วนประกอบทางกายภาพชิ้นใดชิ้นหนึ่ง ในการ xor คุณ xor ค่าสองค่าตามส่วนประกอบ: $(s_0, s_1) \oplus (t_0, t_1) = (s_0 \oplus t_0, s_1 \oบวก t_1$)

การดำเนินการแบบไม่เชิงเส้นนั้นซับซ้อนกว่าเล็กน้อย ในการดำเนินการ AND สิ่งที่เราทำได้คือเลือกค่าสุ่มใหม่ $r$และคำนวณ $(s_0, s_1) \land (t_0, t_1) = (s_0 \land t_0 \oplus (s_1 \land t_1 \oplus r), s_0 \land t_1 \oplus (s_1 \land t_0 \oplus r))$. สิ่งนี้ใช้ได้เพราะเรามีทฤษฎีบทของ DeMorgan: $(s_0 \oplus s_1) \land (t_0 \oplus t_1) = (s_0 \land t_0) \oplus (s_0 \land t_1) \land (s_1 \land t_0) \oplus (s_1 \land t_1)$ (ซึ่งสรุปเป็นค่าเกณฑ์ตามอำเภอใจ และเราทำการสุ่มใหม่ $r$ เพราะมิฉะนั้นค่าทางกายภาพจะไม่ถูกแจกจ่ายให้เท่ากันอีกต่อไป

ด้วยการดำเนินการ NOT, XOR และ AND คุณสามารถสร้างรหัสบล็อกใดๆ ก็ได้

สิ่งนี้จะป้องกันการโจมตีช่องทางด้านข้างได้อย่างไร

แนวคิดก็คือแม้ว่าผู้โจมตีจะได้รับข้อมูลบางอย่างเกี่ยวกับสถานะของ $t-1$ ค่าความลับพร้อมกันจากการโจมตีช่องทางด้านข้าง ซึ่งไม่ได้บอกอะไรเขาเลยเกี่ยวกับสิ่งที่เกิดขึ้นกับรหัส


ฉันถูกขอให้ใส่ข้อมูลอ้างอิง การอ้างอิงทั่วไปที่เก่าแก่ที่สุดที่ฉันรู้คือ สู่แนวทางที่เหมาะสมในการต่อต้านการโจมตีด้วย Power-Analysis โดย Chari และคณะ; โดยเฉพาะอย่างยิ่ง ดูหัวข้อ 3.3 "การเข้ารหัส"

Evgeni Vaknin avatar
za flag
ขอบคุณ! ฉันต้องยอมรับว่าฉันหว่านคำตอบบางอย่าง แต่ไม่ใช่คำตอบที่เป็นแก้วใส
Evgeni Vaknin avatar
za flag
ดังนั้น โปรดแก้ไขฉันหากฉันผิด เพื่อนำไปใช้ เช่น AES S-BOX พร้อมตรรกะเกณฑ์ ฉันสามารถเพิ่มมาสก์ในอินพุต จากนั้นสร้าง S-BOX ใหม่ เช่น T-BOX ว่า T(x+s) = S(x) และสร้าง s ใหม่และ T ใหม่ทุกครั้งที่ฉันต้องการคำนวณ S(x) นั่นถูกต้องใช่ไหม?
poncho avatar
my flag
@EvgeniVaknin: นั่นมันแพง - การสร้าง SBox ใหม่แต่ละครั้งจะมีค่าใช้จ่ายสูง วิธีหนึ่งที่ฉันเห็นคือการใช้เกณฑ์การใช้งานของ $x^{254}$ (ส่วนที่ไม่เป็นเชิงเส้นของ sbox) ตามเอกลักษณ์การคูณเกณฑ์ $(s_0 + s_1)\times(t_0 + t_1) = (s_0 \times t_0) + (s_0 \times t_1) + (s_1 \times t_0) + (s_1 \times t_1)$ (โดยที่ $+, \times$ คือ $GF(256)$ การดำเนินการ); ยังค่อนข้างแพง แต่ก็ดีกว่าสร้าง sbox ใหม่ทุกครั้ง...
poncho avatar
my flag
@EvgeniVaknin: จริงๆ แล้ว เนื่องจากกำลังสองใน $GF(256)$ เป็นเชิงเส้น คุณสามารถใช้ $x^{254}$ ด้วย 7 กำลังสอง (ราคาถูก) และคูณ 4 เกณฑ์...
kodlu avatar
sa flag
คุณสามารถอ้างอิงเพื่อใส่คำถามนี้และคำตอบที่ดีของคุณลงในบริบทได้หรือไม่? ผมก็ถาม OP เหมือนกัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา