การเข้ารหัสและการถอดรหัส

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
คณิตศาสตร์ประยุกต์ 2 ค่ามัธยฐาน จัดทำโดย อ.เทวี บัวแย้ม.
Advertisements

การบวกจำนวนสองจำนวนที่มีผลบวกไม่เกิน 9
สิ่งที่ควรคำนึงเพื่อความเจ๋งของGameplay
ระบบมัลติโปรแกรมมิ่ง (Multiprogramming System)
Speed Increasing of Blum Blum Shub Generator
การแบ่งปันความลับเหนืออาร์เอสเอ (Secret Sharing over RSA)
Blum Blum Shub Generator การเพิ่มอัตราเร็วของแหล่งกำเนิดบลัม บลัม ชับ
COE การแบ่งปันความลับเหนืออาร์เอ็สเอ ระยะที่ 2 (Secret Sharing over RSA : Phase 2) อาจารย์ที่ปรึกษา ผศ. พิเชษฐ เชี่ยวธนะกุล อาจารย์ผู้ร่วมประเมิน.
Probabilistic Asymmetric Cryptosystem
นางสาวกิติยา จันทรุกขา นางสาวอรุณโรจน์ ชูสกุล
โดย นางสาววรรณวนัช โอภาสพันธ์สิน รหัส นางสาวก้องกิดากร วรสาร รหัส
Private Key Crypto หรือ Single-key algorithm หรือ one-key algorithm
นางสาวกิติยา จันทรุกขา นางสาวอรุณโรจน์ ชูสกุล
การสร้างคำถาม.
ขั้นตอนในการทำวิจัย.
การออกแบบการวิจัยการเขียนเค้าโครงการวิจัย
Blum Blum Shub Generator การเพิ่มอัตราเร็วของแหล่งกำเนิดบลัม บลัม ชับ
สาระที่ 4 พีชคณิต.
ป.6 บทที่ 1 “จำนวนนับ และการบวก การลบ การคูณ การหาร”
Ordering and Liveness Analysis ลำดับและการวิเคราะห์บอกความ เป็นอยู่หรือความตาย.
Thesis รุ่น 1.
รูปแบบการจัดวางสามารถปรับได้ตามความสะดวก -แบบตัวอักษรใช้ THsarabunPSK
Security and Integrity
ทบทวน Array.
การแก้ปัญหาด้วยคอมพิวเตอร์
การประยุกต์สมการเชิงเส้นตัวแปรเดียว
Switching Network Circuit Switching/Packet Switching
การพัฒนาการใช้งานในระบบเว็บ
หน่วยที่ 8 อนุพันธ์ย่อย (partial derivative).
Poster Presentation โดย สำหรับ การประชุม สคร.5 รศ.นพ.สมพนธ์ ทัศนิยม
Use Case Diagram.
การออกแบบโปรแกรมอย่างมีโครงสร้าง Structured Design
Electronic SECurity with PKI
ขั้นตอนวิธี (Algorithm)
Introduction to Digital System
การสอบถาม อ.สมพงษ์ พันธุรัตน์.
การเขียนรายงานการใช้เอกสารประกอบการสอน
เศษส่วน.
ไวยากรณ์ของภาษาการทำโปรแกรม (1) (Syntax of programming languages)
ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล
โครงสร้างข้อมูลแบบคิว
การวิเคราะห์ Competency
การเข้ารหัสข้อมูลและการถอดรหัสข้อมูล
จำนวนเต็มกับการหารลงตัว
คริพโตกราฟี (Cryptography)
บทที่ 3 การวิเคราะห์ Analysis.
Block Cipher Principles
Cryptography.
บทที่ 3 การทำงานกับฟอร์ม (Form)
โครงการอบรมเชิงปฏิบัติการ ระดับอุดมศึกษา เรื่อง วิธีการกำหนดระดับความสามารถของผู้เรียน วิทยากร : รองศาสตราจารย์ ดร. สุพัฒน์ สุกมลสันต์ เวลา น .
หลักการแก้ปัญหา
หลักการแก้ปัญหา.
Chapter 3 - Stack, - Queue,- Infix Prefix Postfix
เครือข่ายแลนไร้สาย wireless LANs
หลักการเขียนโปรแกรม ( )
แบบฝึกหัด จงหาคำตอบที่ดีที่สุด หรือหาค่ากำไรสูงสุด จาก
Recursive Method.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
สาระการเรียนรู้ที่ ๒ การเชื่อมประพจน์
ซอฟต์แวร์เพื่อสังคม (Social Software )
คณิตศาสตร์พื้นฐาน ค ชั้นมัธยมศึกษาปีที่ 3 โดย ครูชำนาญ ยันต์ทอง
ความหมาย รูปแบบหนึ่งของบทเรียน คอมพิวเตอร์ช่วยสอนซึ่ง มีการออกแบบบทเรียน โดยมีเป้าหมายที่จะเสนอ ข้อคำถามในรูปแบบต่าง ๆเพื่อให้ผู้เรียนฝึกปฏิบัติ
วิธีเรียงสับเปลี่ยนและวิธีจัดหมู่
ปัญหา : มีนักโทษ 13 คน มีเครื่องหมายประจำตัวตั้งแต่ A-M ถูกตัดสินประหารชีวิต แต่พอถึงเวลาประหาร มี 1 คนที่ได้รับการอภัยโทษเป็นกรณีพิเศษ โดยใช้วิธีขานเลข.
Network Security.
File แก้ไข ในบทเรียน E-Commerce ที่เกี่ยวข้องกฏหมาย
การพัฒนาการเรียนรู้รายวิชาการโปรแกรมคอมพิวเตอร์ด้วย e-Learning
การจัดเรียงข้อมูล (sorting)
โครงสร้างข้อมูลแบบ สแตก (stack)
บทที่ 5 การเขียนรายงานโครงงานคอมพิวเตอร์
ใบสำเนางานนำเสนอ:

การเข้ารหัสและการถอดรหัส 5 การเข้ารหัสและการถอดรหัส

ข้อมูลที่อ่านได้(Plain Text) ข้อมูลที่อ่านได้(Plain Text) พื้นฐานการเข้ารหัสข้อมูล จุดประสงค์การเข้ารหัส (Encryption) คือ การรักษาความลับของข้อมูล การเข้ารหัส (Encryption) เป็นกรรมวิธีที่ใช้แปลงข้อมูลธรรมดาที่เราสามารถอ่านได้ให้อยู่ในรูปสุ่มที่ไม่สามารถอ่านได้ การเข้ารหัส (Encryption) การถอดรหัส (Decryption) ข้อมูลที่อ่านได้(Plain Text) ข้อมูลที่อ่านได้(Plain Text) ข้อมูลที่อ่านไม่ได้ (Cipher Text) กุญแจถอดรหัส Decryption Key กุญแจเข้ารหัส Encryption Key

Plain Text : ข้อมูลที่สามารถอ่านได้ เรียกอีกอย่างว่า Clear Text Cipher Text : ข้อมูลที่ถูกเข้ารหัสเอาไว้ไม่สามารถอ่านได้ Encryption : ขบวนการเข้ารหัสข้อมูลโดยอาศัย Encryption Key ทำให้ Plain Text เปลี่ยนเป็น Cipher Text เพื่อไม่ให้อ่านข้อมูลได้ ดังนั้นหากผู้ส่งข้อมูลทำการเข้ารหัสข้อมูลเพื่อทำให้เป็น Cipher Text แล้วถึงส่งข้อมูลไปให้ฝั่งรับ ถึงแม้มีการขโมยข้อมูล ผู้ที่ขโมยข้อมูลก็ไม่สามารถอ่านข้อมูลได้ Decryption : ขบวนการถอดรหัสข้อมูลโดยอาศัย Decryption Key ทำการแปลง Cipher Text กลับมาเป็น Plain Text ที่สามารถอ่านได้

รูปแบบวิธีการเข้ารหัสข้อมูล Caesar Substitution Ciphers Monoalphabetic Substitution Ciphers Transposition Ciphers Secret Key Encryption Public Key Encryption

Caesar Substitution Ciphers เป็นการแทนค่าแต่ละตัวอักษรด้วยสัญลักษณ์เพียงตัวเดียว เป็นวิธีทีง่ายที่สุด ใช้มาตั้งแต่สมัยจูเลียส ซีซาร์ ในการเข้ารหัสเนื้อความจดหมายส่งไปให้ทัพทหารระหว่างการรบ ตัวอย่าง การเข้ารหัสวิธีนี้ คือ การแทนค่าของแต่ละตัวอักษรด้วยตัวอักษรที่อยู่ถัดไปอีก 3 ตัว โดยมีวิธีการดังนี้ Plain Text : a b c d e f g h I j k l m n o p q r s t u v w x y z Cipher Text : d e f g h I j k l m n o p q r s t u v w x y z a b c เช่น Love You ---> 0ryh brx

ข้อดี ข้อเสีย ความง่ายในการเข้ารหัส สามารถจะทำการวิเคราะห์หาข้อความเดิมจาก Cipher Text ได้ง่าย โดยทดสอบการแทนที่ตัวอักษรไปเรื่อยๆ ก็จะเจอข้อความที่สามารถอ่านได้

Monoalphabetic Substitution Ciphers เป็นการแทนค่าแต่ละตัวอักษรด้วยสัญลักษณ์เพียงตัวเดียวเช่นกัน แต่เป็นอย่างอิสระหรือไม่มีเหตุผลว่าทำไมต้องเป็นแบบนี้ ตัวอย่าง มีการกำหนดตัวอักษรในการเข้ารหัสแทนที่ ตามแป้น Plain Text : a b c d e f g h I j k L m n o p q r s t u v w x y z Cipher Text : q w e r t y u I o p a s d f g h j k l z x c v b n m เช่น Love You ---> sgct ngx ในการเข้ารหัสข้อมูลและถอดรหัสข้อมูลทั้งสองฝ่ายจะต้องมี ตารางที่ใช้สำหรับการแทนที่ตัวอักษร และจะต้องเก็บตารางดังกล่าวไว้เป็นอย่างดี

ข้อดี แบบนี้เมื่อมีการขโมย Cipher Text สามารถถอดได้ยากกว่าแบบแรก เนื่องจากแต่ละตัวมีอักษรที่จะสามารถเป็นไปได้ 26 ตัวอักษรดังนั้นคำตอบที่จะเป็นไปได้ทั้งหมดมี 26! ถ้าการถอดรหัสทำได้โดยใช้อักษรแทนลงที่แต่ละตัวต้องใช้เวลานานมากกว่าจะถอดได้

Transposition Ciphers การแทนค่าตัวอักษรโดยการใช้วิธีการเลื่อนค่า แบบไม่ใช้ Key: ไม่มีการสลับลำดับของหลัก ตัวอย่าง Plain Text : this is a message for you และใช้ 5 หลัก T H I S A M E G F O R Y U 1 2 3 4 5 หลัก แถว Transposition : เปลี่ยนแถวในเป็นหลักเปลี่ยนหลักให้เป็นแถว Cipher Text : TSSOHAARIMGYSEEOISFU

Transposition Ciphers แบบใช้ Key ช่วย :มีการจัดลำดับหลักตาม key เช่น MEGABUCK ตัวอย่าง Plain Text : this is a message for you กำหนด Key ขึ้นมาจะได้จำนวนหลักทั้งหมดและเรียงลำดับหลักตาม Key T H I S A M E G F O R Y U B C K 7 4 5 1 2 8 3 6 D กรณีจำนวนตัวอักษรข้อความไม่พอ ให้กำหนดเป็นa b c … แทน Cipher Text : SAUIGAAFCHSYISOMODTERSEB

Cipher Text : SAUIGAAFCHSYISOMODTERSEB การถอดรหัส key คือ MEGABUCK Cipher Text : SAUIGAAFCHSYISOMODTERSEB Plain Text : คืออะไร ... ทำเป็นการบ้าน ? วิธีนี้เมื่อมีการขโมย Cipher Text จะถอดรหัสได้ยากเนื่องจาก ต้องทำการเดาจำนวนหลักทั้งหมดที่ใช้ และ ลำดับในการเรียงหลักดังกล่าวด้วย

เทคโนโลยีการเข้ารหัส Encryption ถอดรหัส Decryption กุญแจเข้ารหัส Encryption Key กุญแจถอดรหัส Decryption Key Cipher Text Plain Text

ข้อมูลที่อ่านได้(Plain Text) ข้อมูลที่อ่านได้(Plain Text) หลักการของการเข้ารหัสข้อมูลก็คือแปลงข้อมูลไปอยู่ในรูปของข้อมูลที่ไม่สามารถอ่านได้โดยตรง ข้อมูลจะถูกถอดกลับด้วยกระบวนการถอดรหัส การถอดรหัส การเข้ารหัส ข้อมูลที่อ่านได้(Plain Text) ข้อมูลที่อ่านได้(Plain Text) ข้อมูลที่อ่านไม่ได้(Cipher Text)

การเข้ารหัสแบบ Secret Key Encryption การถอดรหัส Decryption กุญแจรหัส Secret Key Cipher Text Plain Text การเข้ารหัสแบบนี้จะอาศัยกุญแจเข้ารหัสเพียงอันเดียวในการเข้ารหัสและถอดรหัสข้อมูล ซึ่งทั้งผู้รับและผู้ส่งข้อความจะใช้คีย์เดียวกัน ดังนั้นกุญแจดังกล่าวจึงต้องเก็บเป็นความลับ วิธีนี้มีข้อเสียที่ทั้งสองฝ่ายต้องใช้รหัสลับร่วมกัน ดังนั้นถ้ามีการติดต่อระหว่างคน n คน จะต้องใช้คีย์เดียวกันหมด ทำให้แต่ละคนสามารถอ่านข้อความของกันได้

การเข้ารหัสแบบ Public Key Encryption Plain Text Cipher Text Plain Text การเข้ารหัส Encryption การถอดรหัส Decryption เก็บไว้ส่วนตัวไม่จ่ายแจกให้ใคร แจกจ่ายให้ทุกคน กุญแจรหัสสาธารณะ Public Key กุญแจรหัสส่วนตัว Secret Key กุญแจ Public Key สามารถแจกจ่ายให้ผู้อื่นที่อยู่ในระบบได้และถูกใช้ในการเข้ารหัสข้อมูล กุญแจ Secret Key จะถูกเก็บไว้เป็นความลับเพื่อใช้ในการถอดรหัสข้อมูล

C B A PK SK PK:A PK:C PK:B PK:C การเข้ารหัสแบบนี้จะอาศัยคู่ของกุญแจPublic Key - Secret Key ใช้ในการเข้ารหัสและถอดรหัสข้อมูล ผู้ใช้แต่ละคนควรมีกุญแจ Public Key - Secret Key คนละคู่

ในการส่งข้อมูลจาก A ไปหา B นั้น ข้อมูลที่ต้องการส่งจะผ่านขบวนการเข้ารหัสข้อมูลโดยใช้ Public key ของB จะได้ Cipher Text ส่งไปยัง B B A PK SK PK:B PK:A การเข้ารหัส Encryption Cipher Text Plain Text ที่ต้องการส่ง ให้ B

เมื่อข้อมูล Cipher ส่งมาถึง B แล้ว จะผ่านขบวนการถอดรหัสข้อมูลโดยใช้ Secret key ของB จะได้ Plain Text ที่ A ต้องการส่งถึง B A B PK SK PK:B PK SK PK:A Plain Text ที่ต้องการส่ง ให้ B SK:B Cipher Text การถอดรหัส Decryption