Score:2

จะคำนวณค่าผกผันของ AES S-BOX แบบสุ่มได้อย่างไร (โดยที่เราไม่รู้ว่า S-BOX สร้างขึ้นอย่างไร)

ธง in

ฉันเพิ่งศึกษาการเข้ารหัส และฉันมีหน้าที่รวบรวม s-boxes สำหรับ AES จากนั้นใช้ s-boxes นั้นเพื่อเข้ารหัสและถอดรหัส แต่ S-box ส่วนใหญ่ที่ฉันพบไม่ได้รวมสิ่งที่ตรงกันข้าม

ฉันรู้ว่าส่วนใหญ่ให้การคำนวณเกี่ยวกับวิธีสร้าง s-box และอินเวอร์ส แต่ฉันไม่คิดว่าจะทำได้ทันเวลาถ้าทำแบบนั้น

ฉันสงสัยว่ามีวิธีใดในการคำนวณค่าผกผันของ AES S-BOX แบบสุ่ม

Daniel S avatar
ru flag
ในไพธอน: ถ้า `S` เป็นรายการลำดับของรายการ S-box `SInverse=[S.index(i) for i in range(256)]`
Score:2
ธง in

SageMath มีประโยชน์มาก เอส-บ็อกซ์ แพ็คเกจที่นักออกแบบ S-Box ใช้งานอย่างหนัก หากคุณกำลังจะเรียนรู้/เล่นกับ S-Boxes คุณอาจได้รับประโยชน์จากแพ็คเกจนี้

ด้วยแพ็คเกจ Sbox (ลองออนไลน์)

จาก sage.crypto.sbox นำเข้า SBox

#ต้องยกกำลังสองมิฉะนั้นผิดพลาด
p = การเรียงสับเปลี่ยน (ช่วง (16)).random_element()

S = SBox(พี);
พิมพ์ ("การเปลี่ยนแปลง ", S)
พิมพ์ ("การเปลี่ยนแปลงผกผัน", S.inverse ())

ปัจจุบัน SageMath ใช้ Python3 ดังนั้นจึงเขียนเวอร์ชันได้อย่างง่ายดายทั้งใน Python หรือ SageMath (ลองออนไลน์);

P = การเรียงสับเปลี่ยน (ช่วง (16)).random_element()

พิมพ์ ("การเปลี่ยนแปลง ", P)

InverseP=[P.index(i) for i in range(16)]
พิมพ์ ("การเปลี่ยนแปลงผกผัน", InverseP)

ดังที่เราจะเห็นว่าบรรจุภัณฑ์ S-Box นั้นดีกว่ามาก เช่น การก่อสร้างตรวจสอบว่ามีขนาดเท่ากับยกกำลัง 2 หรือไม่


บันทึก: ฉันใช้การเรียงสับเปลี่ยนแบบสุ่มเพื่อรับประกันว่ามีสิ่งผกผันอยู่


ดังที่เราเห็นได้จาก ที่มาแพ็คเกจ Sbox

ม = self.input_size()
L = [ตัวเอง(i) สำหรับฉันในช่วง(1<<m)]
ส่งคืน SBox([L.index(i) สำหรับฉันในช่วง (1<<m)], big_endian=self._big_endian)

SageMath แปลง S-Box เป็นรายการ นำส่วนกลับของรายการ จากนั้นสร้าง S-Box ในรายการ ดังที่เราเห็นสิ่งที่ตรงกันข้าม - หากมีอยู่ - ไม่ใช่เวทมนตร์

โพสต์คำตอบ

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