กลับไปหน้าบทความ

อ่าน 5 นาที

ฟังก์ชันประตูบานพับ

ใน วิทยาการคอมพิวเตอร์เชิง ทฤษฎี และ การเข้ารหัสลับ ฟังก์ชันกับดัก ( trapdoor function) คือ ฟังก์ชัน ที่คำนวณได้ง่ายในทิศทางหนึ่ง แต่คำนวณได้ยากในทิศทางตรงกันข้าม (การหาฟังก์ชัน...

ฟังก์ชันประตูบานพับ

แนวคิดของฟังก์ชันประตูกับดัก ฟังก์ชันประตูกับดักf ที่มีประตูกับดัก tสามารถสร้างได้ด้วยอัลกอริทึมGen f สามารถคำนวณได้อย่างมีประสิทธิภาพ กล่าวคือ ในเวลาพหุนาม เชิงความน่าจะเป็น อย่างไรก็ตาม การคำนวณผกผันของfโดยทั่วไปทำได้ยาก เว้นแต่ จะกำหนดประตู กับ ดัก tไว้[ 1 ]

ในวิทยาการคอมพิวเตอร์เชิง ทฤษฎี และการเข้ารหัสลับ ฟังก์ชันกับดัก ( trapdoor function)คือฟังก์ชันที่คำนวณได้ง่ายในทิศทางหนึ่ง แต่คำนวณได้ยากในทิศทางตรงกันข้าม (การหาฟังก์ชันผกผัน ) โดยไม่มีข้อมูลพิเศษที่เรียกว่า "กับดัก" ฟังก์ชันกับดักเป็นกรณีพิเศษของฟังก์ชันทางเดียวและถูกใช้กันอย่างแพร่หลายใน การ เข้ารหัสลับแบบกุญแจสาธารณะ[ 2 ]

ในทางคณิตศาสตร์ ถ้าfเป็นฟังก์ชันแบบกับดัก (trapdoor function) แล้วจะมีข้อมูลลับบางอย่างt อยู่ ซึ่งเมื่อกำหนดf ( x ) และtแล้ว จะสามารถคำนวณx ได้อย่างง่ายดาย ลองพิจารณาแม่กุญแจและกุญแจของมัน การเปลี่ยนแม่กุญแจจากเปิดเป็นปิดนั้นทำได้ง่ายมากโดยไม่ต้องใช้กุญแจ เพียงแค่ดันห่วงเข้าไปในกลไกของแม่กุญแจ แต่การเปิดแม่กุญแจให้ง่ายขึ้นนั้นจำเป็นต้องใช้กุญแจ ในที่นี้ กุญแจtคือกับดัก และแม่กุญแจคือฟังก์ชันแบบกับดัก

ตัวอย่างของกับดักทางคณิตศาสตร์อย่างง่ายคือ "6895601 เป็นผลคูณของจำนวนเฉพาะสองจำนวน จำนวนเหล่านั้นคืออะไร" วิธีแก้ ปัญหา แบบ "ลองผิดลองถูก" ทั่วไปคือการลองหาร 6895601 ด้วยจำนวนเฉพาะหลายๆ จำนวนจนกว่าจะพบคำตอบ อย่างไรก็ตาม หากบอกว่า 1931 เป็นหนึ่งในจำนวนเหล่านั้น เราสามารถหาคำตอบได้โดยการป้อน "6895601 ÷ 1931" ลงในเครื่องคิดเลขใดก็ได้ ตัวอย่างนี้ไม่ใช่ฟังก์ชันกับดักที่แข็งแกร่ง – คอมพิวเตอร์สมัยใหม่สามารถเดาคำตอบที่เป็นไปได้ทั้งหมดได้ภายในหนึ่งวินาที – แต่ปัญหาตัวอย่างนี้สามารถปรับปรุงได้โดย ใช้ผลคูณของจำนวนเฉพาะสองจำนวน ที่ ใหญ่กว่ามาก

ฟังก์ชันกับดัก (Trapdoor functions) เริ่มเป็นที่รู้จักอย่างแพร่หลายในด้านการเข้ารหัสลับในช่วงกลางทศวรรษ 1970 จากการตีพิมพ์ เทคนิค การเข้ารหัสแบบอสมมาตร (หรือแบบกุญแจสาธารณะ)โดยDiffie , HellmanและMerkleที่จริงแล้วDiffie & Hellman (1976)เป็นผู้บัญญัติศัพท์คำนี้ มีการเสนอคลาสของฟังก์ชันหลายประเภท และในไม่ช้าก็เห็นได้ชัดว่าการค้นหาฟังก์ชันกับดักนั้นยากกว่าที่คิดไว้ในตอนแรก ตัวอย่างเช่น ข้อเสนอแนะในยุคแรกคือการใช้แผนการที่อิงตามปัญหาผลรวมของเซตย่อยซึ่งในไม่ช้าก็พบว่าไม่เหมาะสม

ณ ปี 2004 ฟังก์ชันดักจับ (ตระกูลฟังก์ชัน) ที่เป็นที่รู้จักดีที่สุดคือ ตระกูลฟังก์ชัน RSAและRabinทั้งสองตระกูลเขียนในรูปการยกกำลังมอดูลจำนวนประกอบ และทั้งสองตระกูลมีความเกี่ยวข้องกับปัญหา การแยก ตัวประกอบ เฉพาะ

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

ในทางด้านวิทยาการเข้ารหัสลับ คำว่า "กับดัก" (trapdoor) มีความหมายเฉพาะเจาะจงตามที่ได้กล่าวไว้ข้างต้น และไม่ควรสับสนกับคำว่า " ประตูหลัง" (backdoor ) (ซึ่งมักใช้สลับกัน ซึ่งไม่ถูกต้อง) ประตูหลังคือกลไกที่จงใจเพิ่มเข้าไปในอัลกอริธึมการเข้ารหัสลับ (เช่น อัลกอริธึมการสร้างคู่กุญแจ อัลกอริธึมการลงนามดิจิทัล ฯลฯ) หรือระบบปฏิบัติการ เป็นต้น ซึ่งอนุญาตให้บุคคลที่ไม่ได้รับอนุญาตหนึ่งคนหรือมากกว่านั้นสามารถหลีกเลี่ยงหรือบ่อนทำลายความปลอดภัยของระบบได้ในบางลักษณะ

คำนิยาม

ฟังก์ชันประตูกับดัก (Trapdoor function)คือชุดของฟังก์ชันทางเดียว { f k  : D kR k } ( kK ) ซึ่งK , D k , R k ทั้งหมด เป็นเซตย่อยของสตริงไบนารี {0, 1} *ที่ตรงตามเงื่อนไขต่อไปนี้:

  • มี อัลกอริทึม การสุ่มตัวอย่าง แบบพหุนามเวลาเชิงความน่าจะเป็น (PPT) Gen st Gen(1 n ) = ( k , t k ) โดยที่kK ∩ {0, 1} nและt k ∈ {0, 1} *เป็นไปตาม | t k | < p ( n ) โดยที่pเป็นพหุนามบางตัว แต่ละt kเรียกว่ากับดักประตูที่สอดคล้องกับkแต่ละกับดักประตูสามารถสุ่มตัวอย่างได้อย่างมีประสิทธิภาพ
  • เมื่อกำหนดอินพุตkแล้ว ยังมีอัลกอริทึม PPT ที่ให้เอาต์พุตxD k อีกด้วย กล่าวคือสามารถสุ่มตัวอย่างD k แต่ละตัวได้อย่างมีประสิทธิภาพ
  • สำหรับkK ใดๆ จะมีอัลกอริทึม PPT ที่คำนวณf k ได้อย่างถูก ต้อง
  • สำหรับkK ใดๆ จะมีอัลกอริทึม PPT A st สำหรับxD k ใดๆ ให้y = A ( k , f k ( x ), t k ) แล้วเราจะได้f k ( y ) = f k ( x ) นั่นคือ เมื่อกำหนดกับดักแล้ว ก็สามารถผกผันได้ง่าย
  • สำหรับkK ใดๆ โดยไม่มีกับดักt kสำหรับอัลกอริทึม PPT ใดๆ ความน่าจะเป็นที่จะกลับf k ได้อย่างถูกต้อง (กล่าวคือ เมื่อกำหนดf k ( x ) แล้ว ให้หาภาพก่อนหน้าx'ที่f k ( x' ) = f k ( x )) นั้นมีน้อยมาก[ 3 ] [ 4 ] [ 5 ]

ถ้าฟังก์ชันแต่ละฟังก์ชันในชุดข้างต้นเป็นการเรียงสับเปลี่ยนทางเดียว ชุดดังกล่าวก็เรียกว่าการเรียงสับเปลี่ยนแบบประตูกับดัก[ 6 ]

ตัวอย่าง

ในสองตัวอย่างต่อไปนี้ เราจะถือว่าการแยกตัวประกอบของจำนวนประกอบขนาดใหญ่เป็นเรื่องยากเสมอ (ดูการแยกตัวประกอบจำนวนเต็ม )

สมมติฐาน RSA

ในตัวอย่างนี้ ตัวผกผันของโมดูลัส( ฟังก์ชันโทเทียนต์ของออยเลอร์ของ) คือกับดัก:

ถ้า ทราบการแยกตัวประกอบของ ก็ สามารถคำนวณได้ ด้วยวิธีนี้สามารถคำนวณ อินเวอร์ส ของ ได้ จากนั้นเมื่อกำหนดก็สามารถหาได้ความยากของมันเป็นผลมาจากสมมติฐาน RSA [ 7 ]

สมมติฐานเศษเหลือกำลังสองของ Rabin

ให้z เป็นจำนวนประกอบขนาดใหญ่ที่ โดยที่และเป็นจำนวนเฉพาะขนาดใหญ่ที่และ ถูกเก็บเป็นความลับจากฝ่ายตรงข้าม ปัญหาคือการคำนวณเมื่อกำหนดให้ โดยที่ กับดัก คือการแยกตัวประกอบของด้วยกับดักนี้ คำตอบของzสามารถกำหนดได้เป็น โดยที่ดูทฤษฎีบทเศษเหลือของจีนสำหรับรายละเอียดเพิ่มเติม โปรดทราบว่าเมื่อกำหนดจำนวนเฉพาะและเราสามารถหาและได้ เงื่อนไขและรับประกันว่าคำตอบและสามารถกำหนดได้อย่างดี[ 8 ]

ดูเพิ่มเติม

หมายเหตุ

  1. ^ออสตรอฟสกี, หน้า 6–9
  2. ^ Bellare, M (มิถุนายน 1998). "ฟังก์ชันกับดักแบบหลายต่อหนึ่งและความสัมพันธ์กับระบบการเข้ารหัสแบบกุญแจสาธารณะ" ความก้าวหน้าทางด้านวิทยาการเข้ารหัสลับ — CRYPTO '98บันทึกการบรรยายในวิทยาศาสตร์คอมพิวเตอร์ เล่มที่ 1462 หน้า  283–298 doi : 10.1007 / bfb0055735 ISBN 978-3-540-64892-5S2CID 215825522 ​
  3. ^หมายเหตุของ Pass, คำจำกัดความที่ 56.1
  4. ^บันทึกการบรรยายของโกลด์วาสเซอร์ คำจำกัดความที่ 2.16
  5. ^ Ostrovsky, หน้า 6–10, นิยามที่ 11
  6. ^บันทึกของ Pass, คำจำกัดความ 56.1; คำจำกัดความ 7 ของ Dodis, การบรรยายครั้งที่ 1
  7. ^บันทึกการบรรยายของ Goldwasser, 2.3.2; บันทึกของ Lindell, หน้า 17, แบบฝึกหัดที่ 1
  8. ^บันทึกการบรรยายของโกลด์วาสเซอร์, 2.3.4.
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Trapdoor_function&oldid=1317857107 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ฟังก์ชันประตูบานพับ

ใน วิทยาการคอมพิวเตอร์เชิง ทฤษฎี และ การเข้ารหัสลับ ฟังก์ชันกับดัก ( trapdoor function) คือ ฟังก์ชัน ที่คำนวณได้ง่ายในทิศทางหนึ่ง แต่คำนวณได้ยากในทิศทางตรงกันข้าม (การหาฟังก์ชัน...

คำนิยาม

ฟังก์ชัน ประตูกับดัก (Trapdoor function) คือชุดของ ฟังก์ชันทางเดียว { f k : D k → R k } ( k ∈ K ) ซึ่ง K , D k , R k ทั้งหมด เป็นเซตย่อยของสตริงไบนารี {0, 1} * ที่ตรงตามเงื่อนไขต่อไปนี้:

ตัวอย่าง

ในสองตัวอย่างต่อไปนี้ เราจะถือว่าการแยกตัวประกอบของจำนวนประกอบขนาดใหญ่เป็นเรื่องยากเสมอ (ดู การแยกตัวประกอบจำนวนเต็ม )

สมมติฐาน RSA

ในตัวอย่างนี้ ตัวผกผันของโมดูลัส( ฟังก์ชันโทเทียนต์ของออยเลอร์ ของ) คือกับดัก: ง {\displaystyle d} อี {\displaystyle e} ϕ ( n ) {\displaystyle \phi (n)} n {\displaystyle n}