อ่าน 2 นาที
คูปิน่า
Kupyna ( ภาษาอูเครน : Купина ) เป็น ฟังก์ชันแฮชเข้ารหัสลับ ที่กำหนดไว้ในมาตรฐานแห่งชาติของยูเครน DSTU 7564:2014 [ 2 ] [ 3 ] ถูกสร้างขึ้นเพื่อแทนที่ ฟังก์ชันแฮช GOST ที่ล้าสมัย...
คูปิน่า
| ทั่วไป | |
|---|---|
| เผยแพร่ครั้งแรก | 2014 |
| เกี่ยวข้องกับ | โกสต์ |
| การรับรอง | มาตรฐาน DSTU |
| รายละเอียด | |
| ขนาดย่อย | ไม่จำกัด (8–512 บิต) |
| รอบ | 10 (ขนาดย่อย 8–256) หรือ 14 (ขนาดย่อย 257–512) |
| บริการวิเคราะห์รหัสลับสาธารณะที่ดีที่สุด | |
| การโจมตีแบบสะท้อนกลับที่ก่อให้เกิดการปะทะกับกระสุน 4 นัดของ Kupyna-256 ในเวลา 2 67วินาที และปะทะกับกระสุน 5 นัดในเวลา 2 120วินาที[ 1 ] | |
Kupyna ( ภาษาอูเครน : Купина ) เป็นฟังก์ชันแฮชเข้ารหัสลับที่กำหนดไว้ในมาตรฐานแห่งชาติของยูเครน DSTU 7564:2014 [ 2 ] [ 3 ]ถูกสร้างขึ้นเพื่อแทนที่ ฟังก์ชันแฮช GOST ที่ล้าสมัย ซึ่งกำหนดไว้ในมาตรฐานเก่า GOST 34.11-95 คล้ายกับ ฟังก์ชันแฮช Streebogที่ได้รับการกำหนดมาตรฐานในรัสเซีย
นอกจากฟังก์ชันแฮชแล้ว มาตรฐานนี้ยังอธิบายถึง การสร้าง รหัสยืนยันข้อความโดยใช้ Kupyna ด้วยขนาดไดเจสต์ 256, 384 และ 512 บิต อีกด้วย
คำอธิบาย
ฟังก์ชันแฮช Kupyna ใช้ ฟังก์ชันการบีบอัด Davies–Meyerโดยอิงจากการเข้ารหัส Even–Mansourฟังก์ชันการบีบอัดประกอบด้วยการเรียงสับเปลี่ยนคงที่สองแบบ T ⊕และ T +ซึ่งนำมาจากการเข้ารหัสบล็อกKalyna [ 4 ]และประกอบด้วยการดำเนินการสี่อย่าง ได้แก่ AddRoundConstant, SubBytes, ShiftBytes และ MixColumns ฟังก์ชันรอบใช้S-box ที่แตกต่างกันสี่ แบบ[ 5 ]
ฟังก์ชันนี้สามารถส่งคืนค่าแฮชที่มีความยาวตามต้องการตั้งแต่ 8 ถึง 512 บิต ฟังก์ชันที่ส่งคืนค่าแฮช n บิตเรียกว่า Kupyna-n ความยาวของค่าแฮชที่แนะนำคือ 256, 384 และ 512 บิต
นักออกแบบอ้างว่า การโจมตี แบบดิฟเฟอเรนเชียลและ การโจมตี แบบรีบาวด์จะไม่มีประสิทธิภาพหลังจากฟังก์ชันการบีบอัด 4 รอบ[ 6 ]
Kupynaเป็นชื่อภาษาอูเครนของPolygonatum odoratum
ตัวอย่างของแฮช Kupyna
แปลงค่าแฮชของสตริงว่างให้เป็นค่าแฮช
คูปินา-256("") 0x cd5101d1ccdf0d1d1f4ada56e888cd724ca1a0838a3521e7131d4fb78d0f5eb6 คูปิน่า-512("") 0x 656b2f4cd71462388b64a37043ea55dbe445d452aecd46c3298343314ef04019 \ bcfa3f04265a9857f91be91fce197096187ceda78c9c1c021c294a0689198538
เช่นเดียวกับฟังก์ชันแฮชเข้ารหัสลับทั้งหมด แม้แต่การเปลี่ยนแปลงเล็กน้อยในข้อความก็จะทำให้ค่าแฮชแตกต่างจากต้นฉบับโดยเฉลี่ยครึ่งหนึ่งของบิตผลลัพธ์ (ด้วยความน่าจะเป็นสูงมาก) เนื่องจากการเกิดปรากฏการณ์ลูกโซ่ (avalanche effect ) ตัวอย่างเช่น การเพิ่มจุดลงท้ายประโยค:
Kupyna-256("สุนัขจิ้งจอกสีน้ำตาลตัวว่องไว กระโดดข้ามสุนัขขี้เกียจ") 0x 996899f2d7422ceaf552475036b2dc120607eff538abf2b8dff471a98a4740c6 Kupyna-256("สุนัขจิ้งจอกสีน้ำตาลตัวว่องไว กระโดดข้ามสุนัขขี้เกียจ") 0x 88ea8ce988fe67eb83968cdc0f6f3ca693baa502612086c0dcec761a98e2fb1f
การวิเคราะห์รหัส
Christoph Dobraunig, Maria Eichlseder และ Florian Mendel อธิบายการโจมตีการชนโดยใช้การโจมตีแบบสะท้อนกลับบน Kupyna-256 ที่ลดลงเหลือ 4 รอบด้วยความซับซ้อนของเวลา 2 67และบน Kupyna-256 ที่ลดลงเหลือ 5 รอบด้วยความซับซ้อนของเวลา 2 120โดยอิงจากการโจมตีแบบสะท้อนกลับบนGrøstl [ 1 ]
Jian Zou และ Le Dong ยังอธิบายถึงการโจมตีการชนกันบน Kupyna-256 ที่ลดลงเหลือ 5 รอบด้วยความซับซ้อนของเวลา 2 120เช่นเดียวกับการโจมตีภาพก่อนหน้าเทียมบน Kupyna-256 6 รอบด้วยความซับซ้อนของเวลาและหน่วยความจำ 2 250และบน Kupyna-512 8 รอบด้วยความซับซ้อนของเวลาและหน่วยความจำ 2 498พวกเขาระบุว่าการโจมตีเหล่านี้ไม่ได้คุกคามการอ้างสิทธิ์ด้านความปลอดภัยใด ๆ ของ Kupyna [ 7 ]
Onur Duman ได้เผยแพร่การวิเคราะห์ความผิดพลาดเชิงอนุพันธ์บน Kupyna เมื่อใช้สำหรับรูปแบบ MAC ตามเอกสาร การกู้คืนสถานะหนึ่งไบต์ต้องใช้ความผิดพลาด 2.21–2.42 ครั้ง[ 8 ]
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ คูปิน่า
Kupyna ( ภาษาอูเครน : Купина ) เป็น ฟังก์ชันแฮชเข้ารหัสลับ ที่กำหนดไว้ในมาตรฐานแห่งชาติของยูเครน DSTU 7564:2014 [ 2 ] [ 3 ] ถูกสร้างขึ้นเพื่อแทนที่ ฟังก์ชันแฮช GOST ที่ล้าสมัย...
คำอธิบาย
ฟังก์ชันแฮช Kupyna ใช้ ฟังก์ชันการบีบอัด Davies–Meyer โดยอิงจาก การเข้ารหัส Even–Mansour ฟังก์ชันการบีบอัดประกอบด้วยการเรียงสับเปลี่ยนคงที่สองแบบ T ⊕ และ T + ซึ่งนำมาจากการเข้ารหัสบล็อก Kalyna [ 4 ] และประกอบด้วยการดำเนินการสี่อย่าง ได้แก่ AddRoundConstant,...
การวิเคราะห์รหัส
Christoph Dobraunig, Maria Eichlseder และ Florian Mendel อธิบายการโจมตีการชนโดยใช้ การโจมตีแบบสะท้อนกลับ บน Kupyna-256 ที่ลดลงเหลือ 4 รอบด้วยความซับซ้อนของเวลา 2 67 และบน Kupyna-256 ที่ลดลงเหลือ 5 รอบด้วยความซับซ้อนของเวลา 2 120...