1 / 39

COE2010-28

COE2010-28. การแบ่งปันความลับเหนือ อาร์เอ็ส เอ (Secret Sharing over RSA). อาจารย์ที่ปรึกษา ผศ. พิเชษฐ เชี่ยวธ นะกุล อาจารย์ผู้ร่วมประเมิน ดร. กิตติ์ เธียรธโนปจัย ดร. ภัทร วิทย์ พลพินิจ. โดย นางสาว นัฐยาณี ดาราช รหัส 503040774-5

ull
Download Presentation

COE2010-28

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COE2010-28 การแบ่งปันความลับเหนืออาร์เอ็สเอ (Secret Sharing over RSA) อาจารย์ที่ปรึกษา ผศ. พิเชษฐเชี่ยวธนะกุล อาจารย์ผู้ร่วมประเมิน ดร. กิตติ์เธียรธโนปจัย ดร. ภัทรวิทย์ พลพินิจ โดย นางสาวนัฐยาณี ดาราช รหัส 503040774-5 นางสาวสุภาวดี วนพงศ์ทิพากร รหัส 503040790-7

  2. รายละเอียดการนำเสนอ • ที่มาของโครงการ • วัตถุประสงค์ของโครงการ • เป้าหมายและขอบเขตของโครงการ • แผนการดำเนินงาน • ออกแบบระบบเบื้องต้น • ส่วนประกอบของระบบ • ปัญหาและอุปสรรค • บทสรุป

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

  4. วัตถุประสงค์ของโครงการวัตถุประสงค์ของโครงการ • ศึกษาการเข้ารหัสลับแบบสมมาตร (Secret-Key Encryption) • ศึกษาการเข้ารหัสลับแบบอสมมาตร (Public-Key Encryption) • ศึกษาทฤษฎีจำนวนเบื้องต้น (Elementary Number Theory) พีชคณิตเชิงเส้น (Linear Algebra) และอัลกอริทึมที่เกี่ยวข้องกับการออกแบบ • พัฒนาอัลกอริทึมสำหรับแบ่งปันข้อมูลลับ • พัฒนาโปรแกรมสำหรับแบ่งปันข้อมูลลับ

  5. เป้าหมายและขอบเขตของโครงการเป้าหมายและขอบเขตของโครงการ • เป้าหมายของโครงการ • สามารถพัฒนาอัลกอริทึมในการแบ่งปันข้อมูลลับและพัฒนาโปรแกรมในการแบ่งปันข้อมูลลับที่มีประสิทธิผล • ขอบเขตของโครงการ • พัฒนาโปรแกรมที่ใช้ในการแบ่งปันข้อมูลลับด้วยภาษา Python

  6. แผนการดำเนินงาน

  7. ออกแบบระบบเบื้องต้น Insecure Channel . . . . . . . . . . . . PK แทน Public Key iแทน กุญแจของคนที่ i j แทน กุญแจของคนที่ j t แทน กุญแจที่เท่ากับค่าตั้งต้นของจำนวนกุญแจที่ต้องใช้ในการถอดรหัส

  8. ส่วนของการเข้ารหัสลับ(Encryption)ส่วนของการเข้ารหัสลับ(Encryption) ส่วนของการเข้ารหัสลับประกอบด้วย 3 ส่วนคือ • การเข้ารหัสแบบ DES (Data Encryption Standard) • การเข้ารหัสแบบ Shared Secret • การเข้ารหัสด้วย RSA

  9. การเข้ารหัสลับแบบ DES การเข้ารหัสแบบ DES จะมี 2 ขั้นตอนคือ ขั้นตอนที่ 1การสร้าง 16 Sub key และขั้นตอนที่ 2 คือ เข้ารหัสข้อมูล

  10. การเข้ารหัสลับแบบ DES (ต่อ)

  11. การเข้ารหัสลับแบบ DES (ต่อ)

  12. การเข้ารหัสลับแบบ DES (ต่อ)

  13. การเข้ารหัสลับแบบ DES (ต่อ)

  14. ตัวอย่างการใช้อัลกอริทึมตัวอย่างการใช้อัลกอริทึม สมมติให้ข้อความลับ คือ “Computer Engineering” และ กุญแจDES คือ “DESCRYPT” ขนาด 64 บิต จากอัลกอริทึม 1 INPUT = “DESCRYPT” OUTPUT =Subkey 16 ตัว

  15. ตัวอย่างการใช้อัลกอริทึม (ต่อ) จากอัลกอริทึม 2 • INPUT = “Computer Engineering” • OUTPUT = Cipertextคือ “eJ/6\xec&\xb5<\x7f\xfc\x92\xe5\x00l\x91{\\\xa7\xef)\x99\xa77&&”

  16. การเข้ารหัสลับด้วย Secret Shared

  17. ตัวอย่างการใช้อัลกอริทึมตัวอย่างการใช้อัลกอริทึม จากอัลกอริทึม 3 • INPUT = กุญแจ DES คือ “DESCRYPT” • OUTPUT = Share Secret Key (x , s(x)) S(1)= 1009321899649083164 S(2) = 2193098815567127072 S(3) = 3551330747754131715 S(4) = 164587979628462952

  18. การเข้ารหัสลับด้วย RSA

  19. การเข้ารหัสลับด้วย RSA (ต่อ)

  20. ตัวอย่างการใช้อัลกอริทึมตัวอย่างการใช้อัลกอริทึม จากอัลกอริทึม 4 • INPUT = กุญแจที่ได้จากอัลกอริทึมที่ 3 , จำนวนเฉพาะ p ,q • OUTPUT = กุญแจสาธารณะ (n,e) และกุญแจส่วนตัว (d) • สำหรับคนที่ 1public key คือ (n,e) = (1404780382555410211573212 800314984147533524,12220267637248332538893804014586207700115777) private key คือ (d) = (3566286965996627543718422315542494148210793) • สำหรับคนที่ 2public key คือ (n,e) = (14047803825554102115732128003149841475335249,13216014447769141623307166925940279816200449) private key คือ (d) = (5442802657397180321999724593118190336887329)

  21. สำหรับคนที่ 3 public key คือ (n,e) = (14047803825554102115732128003149841475335249,10766299734076561112851014226213282696152451) private key คือ (d) = (4678674176990049723477338370549654703442911) • สำหรับคนที่ 4 public key คือ (n,e) = (14047803825554102115732128003149841475335249, 22412700265863215470143559354608740827577) private key คือ (d) = (2771848198962884278493357915119666764813473)

  22. ตัวอย่างการใช้อัลกอริทึมตัวอย่างการใช้อัลกอริทึม จากอัลกอริทึม 5 • INPUT = กุญแจสาธารณะ (n,e) , share secret key (m) • OUTPUT = ข้อมูลที่ถูกแทนที่ด้วยรหัส C • สำหรับคนที่ 1Share Secret Key : S(1) = 1009321899649083164 ข้อมูลที่ถูกแทนที่ด้วยรหัส : C1 = 14460063728267560007293850056085333172699831 • สำหรับคนที่ 2Share Secret Key : S(2) = 2193098815567127072 ข้อมูลที่ถูกแทนที่ด้วยรหัส : C2 = 13647575093285580931460899622879951851645147 • สำหรับคนที่ 3Share Secret Key : S(3) = 3551330747754131715 ข้อมูลที่ถูกแทนที่ด้วยรหัส : C3 = 18424464772023598908605815937380707041311291 • สำหรับคนที่ 4Share Secret Key : S(4) = 164587979628462952 • ข้อมูลที่ถูกแทนที่ด้วยรหัส : C4 = 6492523397710926517660108682329509437313162

  23. ส่วนของการถอดรหัสลับ • การถอดรหัสลับด้วย RSA • การถอดรหัสลับด้วย Secret Shared • การถอดรหัสด้วย DES

  24. การถอดรหัสลับด้วย RSA

  25. ตัวอย่างการใช้อัลกอริทึมตัวอย่างการใช้อัลกอริทึม จากอัลกอริทึม 6 • INPUT: กุญแจส่วนตัว dข้อความที่มีการแทนที่ด้วยรหัส c • OUTPUT: shared secret key (m) • สำหรับคนที่ 1 ข้อมูลที่ถูกแทนที่ด้วยรหัส : C1 = 5803900687440274198305130563180173018200205 เมื่อถอดข้อความที่มีการแทนที่ด้วยรหัส : C1ออกมาจะได้ Share Secret Key : S(1) = 1009321899649083164

  26. สำหรับคนที่ 2 ข้อมูลที่ถูกแทนที่ด้วยรหัส : C2 = 12186579697069037573910028012871871725684448 เมื่อถอดข้อความที่มีการแทนที่ด้วยรหัส : C2ออกมาจะได้ Share Secret Key : S(2) = 2193098815567127072 • สำหรับคนที่ 3 ข้อมูลที่ถูกแทนที่ด้วยรหัส : C3 = 9683212823453152439871567723114354646858801 เมื่อถอดข้อความที่มีการแทนที่ด้วยรหัส : C3ออกมาจะได้ Share Secret Key : S(3) = 3551330747754131715 • สำหรับคนที่ 4 ข้อมูลที่ถูกแทนที่ด้วยรหัส : C4 = 2213047424031495660614889436920262820068454 เมื่อถอดข้อความที่มีการแทนที่ด้วยรหัส : C4ออกมาจะได้ Share Secret Key : S(4) = 164587979628462952

  27. การถอดรหัสลับด้วย Secret Shared

  28. การถอดรหัสลับด้วย Secret Shared (ต่อ)

  29. ตัวอย่างการใช้อัลกอริทึมตัวอย่างการใช้อัลกอริทึม จากอัลกอริทึม 7 • INPUT: Share Secret Key S(X) จำนวนเท่ากับค่าตั้งต้นที่ได้กำหนดไว้ • OUTPUT = กุญแจ DES (m) M= 4919429716581634132

  30. ตัวอย่างการใช้อัลกอริทึมตัวอย่างการใช้อัลกอริทึม

  31. ตัวอย่างการใช้อัลกอริทึมตัวอย่างการใช้อัลกอริทึม จากอัลกอริทึม 8 • INPUT: Share Secret Key S(X) จำนวนเท่ากับค่าตั้งต้นที่ได้กำหนดไว้ • OUTPUT = กุญแจ DES (m) M= 4919429716581634132

  32. ตัวอย่างการใช้อัลกอริทึมตัวอย่างการใช้อัลกอริทึม

  33. การถอดรหัสลับด้วย DES

  34. การถอดรหัสลับด้วย DES (ต่อ)

  35. ตัวอย่างการใช้อัลกอริทึมตัวอย่างการใช้อัลกอริทึม จากอัลกอริทึม 9 • INPUT: กุญแจขนาด 64 บิต • OUTPUT: 16 Sub key โดยที่ในแต่ล่ะ Sub key มีขนาด 48 Bit จากอัลกอริทึม 10 • INPUT: กุญแจขนาด 64 บิต • OUTPUT: ข้อความที่ยังไม่ถูกเข้ารหัส

  36. ตัวอย่างการใช้อัลกอริทึมตัวอย่างการใช้อัลกอริทึม จากอัลกอริทึม 10 • DES Key = DESCRYPT • Plaintext = Computer Engineering

  37. ปัญหาและอุปสรรค • ความซับซ้อนทางด้านการคำนวณสูง • เอกสารที่เผยแพร่ยังมีน้อย

  38. บทสรุป • โครงการนี้จัดทำขึ้นเพื่อพัฒนาอัลกอริทึมและพัฒนาโปรแกรมในการแบ่งปันข้อมูลลับด้วย RSA เพื่อให้ได้วิธีในการแบ่งปันข้อมูลลับที่มีความปลอดภัยสูงและเหมาะกับการใช้กับข้อมูลขนาดใหญ่ • ระบบที่ออกแบบมีสองส่วนคือส่วนของการเข้ารหัสลับและส่วนของการถอดรหัสลับ • ส่วนของการเข้ารหัสลับประกอบด้วยสามส่วนคือส่วนของการเข้ารหัสลับด้วย DES ส่วนของการเข้ารหัสลับด้วย Secret Sharing Scheme และส่วนของการเข้ารหัสลับด้วย RSA • ส่วนของการถอดรหัสลับประกอบด้วยสามส่วนคือ ส่วนของการถอดรหัสลับด้วย RSA ส่วนของการถอดรหัสลับด้วย Secret Sharing Scheme และส่วนของการถอดรหัสลับด้วย DES • จากการทดสอบอัลกอริทึมและระบบที่ออกแบบด้วยโปรแกรม SAGE พบว่าสามารถเข้ารหัสข้อความและถอดรหัสแล้วได้ข้อความที่ไม่ถูกเข้ารหัสที่ถูกต้องกลับมา

  39. สิ่งที่จะพัฒนาต่อ • การนำอัลกอริทึมที่ออกแบบไว้มาพัฒนาโปรแกรมแบ่งปันข้อมูลลับด้วยภาษา Python • ทดสอบประสิทธิผลเชิงเวลาของการเข้าและถอดรหัส สำหรับแบ่งปันความลับระหว่างบุคคล ณ ค่าตั้งต้นของการแบ่งปันความลับร่วมต่างๆ 

More Related