การทำงานของแบบจำลอง จาก Figure 2.1 Model of secret-key cryptosystem และ Figure 2.3 Model of public-key cryptosystem ในหนังสือ Security of e-Systems and Computer Networks
ในกระบวนการในการเข้ารหัสของ Secret Key จะมีส่วนประกอบ ได้แก่
-Plain text คือ ข้อมูลต้นฉบับซึ่งเป็นข้อความที่สามารถอ่านแล้วเข้าใจ
-Encryption คือ ขั้นตอนในการแปลงข้อมูลต้นฉบับเป็นข้อมูลที่ได้รับการเข้ารหัส
-Ciphertext คือ ข้อมูลหรือข่าวสารที่ได้รับการเข้ารหัส ทำให้อ่านไม่รู้เรื่อง
-Key คือ เป็นกุญแจที่ใช้ร่วมกับ อัลกอริทึมในการเข้ารหัส (Encryption) และถอดรหัส (Decryption)
และการเข้ารหัสแบ่งออกเป็น
2 ประเภทใหญ่ๆคือ
1. การเข้ารหัสแบบสมมาตร Symmetric Cryptography (secret-key
cryptosystem )
2. การเข้ารหัสแบบไม่สมมาตร Asymmetric Cryptography (public-key
cryptosystem )
ตามรูป
Secret-key
cryptosystem หรือ Symmetric Cryptography หรือ Conventional
Encryption คือการเข้ารหัสแบบสมมาตร
รูปแบบการเข้ารหัสกุญแจแบบสมมาตรคือ ทั้งผู้รับและผู้ส่งข้อความจะทราบคีย์ที่เหมือนกันทั้งสองฝ่ายในการรับหรือส่งข้อความ
ประกอบด้วย 4 องค์ประกอบ คือ
ดังนี้
(a)
M คือข้อความธรรมดา (plaintext)
, (b) K คือชุดกุญแจ/คีย์ ที่ใช้เข้ารหัส
(c) C คือชุดของข้อมูลที่เข้ารหัสแล้ว (ciphertext) ,(d)
two map
φ : M × K → C and γ : C × K → M.
ฟังก์ชั่นของการเข้ารหัส
และการถอดรหัส เขียนได้เป็น
φ(γ(c, k), k) = c and γ(φ(m, k), k) = m
φ(−, k) : M → C is a one-way function for all k
φ(m, −) : K → C is a one-way function for all m
ข้อความ
(Plain Text) ที่ต้องการส่งมาทำการเข้ารหัสด้วยลูกกุญแจ (Encryption) จะได้ข้อความที่ถูกเข้ารหัส (Cipher Text) หากมีการเข้ารหัสโดยใช้กุญแจแบบสมมาตร
เป็นการเข้ารหัสและถอดรหัสโดยการใช้กุญแจดอกเดียวกัน (Secret-Key) โดยอัลกอริทึมในการเข้ารหัสแบบสมมาตร เช่นมาตรฐาน DES ขนาด 56 บิต
จากรูปที่ 2.1 เป้นการสร้างคีย์โดยคนกลาง (หรือบุคคลที่ 3 ) และส่งไปยังผู้ใช้
USA และผู้ใช้ USB โดยจะส่งผ่านช่องทางที่ปลอดภัย (Secure
Channel) และขั้นตอนการแลกเปลี่ยนกุญแจโดยใช้คนกลาง จะประกอบด้วย 4
ขั้นตอน คือ
1.
ผู้ใช้ USA
จะส่งร้องขอไปยัง ศูนย์กลางการแจกคีย์ (Key Distribution Center : KDC) เพื่อสร้างคีย์ลำสำหรับส่งข้อมูลไปยัง
ผู้ใช้ USB
โดยจะเรียกว่าเป็น
IDA
2.
KDC จะสร้างคีย์ลับแทนด้วย Ks สำหรับสร้างรหัสเข้ารหัส และสร้างข้อความที่เข้ารหัสด้วยคีย์ลับ แทนเป็น kA ระหว่าง USA และ
KDC
และในข้อความจะประกอบด้วย (a) Ks
(b) ข้อความต้นฉบับที่ส่งไปร้องขอคีย์ลับ (c) ข้อความที่เข้ารหัสเพื่อแชร์ kB ให้กับ KDC
และ USB
แล้ว USA
จะถ่ายทอดไปยัง USB
โดยในข้อความจะประกอบด้วย
Ks และ
USA , IDA
3.
ผู้ใช้ USA
จะตรวจสอบข้อความที่ร้องขอต้นฉบับที่ยังไม่เปลี่ยนแปลงขณะส่งข้อความไป ผู้ใช้ USB ที่ประกอบไปด้วย IDA , ข้อความที่เข้ารหัสโดย KDC
ที่ถ่ายทอดไปยัง USB
และรหัสลับของ , IDA ที่รับรองโดย
Ks
4.
จนกระทั่งข้อความมาถึงผู้ใช้ USB ทาง
USB
จะทำการเช็คตัวตนของ USA
และคีย์ลับ Ks ในส่วนสุดท้ายของการตรวจสอบว่ารหัสลับระหว่าง USB และ
USA
สามารถเข้ากันได้ ก้จะสามารถแชร์ข้อมูลกัน หรือติดต่อกันได้
สรุป Secret-key
cryptosystem หรือ Symmetric Cryptography หรือ Conventional
Encryption นั้น USB และ USA สองฝั่งต้องมีคีย์อันเดียวกัน
ข้อด้อยคือ การส่ง key ไปให้อีกฝ่ายอาจถูกจับได้ , หากมีผู้ใช้จานวนมากขึ้นต้องใช้ key ถึง N(N-1)/2 คีย์ ทำให้มีคีย์มาก ทำให้ไม่ปลอดภัย ทั้งตอนสร้าง ตอนส่ง
ตอนเก็บรักษา Diffie - Hellman ได้เสนอวิธีที่เรียกว่า public-key
cryptography ใช้ได้สองแบบคือแบบ การเข้ารหัส หรือ digital
signature (การแสดงตนด้วยคีย์)จะใช้สองคีย์คือ public key ที่แจกได้ และ private key ทีต้องเก็บไว้เป็นของตัวเองคนเดียว
มีความปลอดภัยสูงแบบนี้ถือเป็น Asymmetric Key คือ เข้าด้วย
คีย์ 1 ต้องถอดด้วยคีย์ 2 เข้าคีย์ 2 ถอดคีย์
1คีย์ใดๆใช้ถอดรหัสที่เข้าด้วยคีย์เดียวกันไม่ได้ ดังนั้นผู้ส่งก็จะใช้ public
คีย์ของเป้าหมายเข้ารหัส
คนที่มี private คีย์จึงสาเปิดอ่านได้คนเดียว สูตรที่ใช้คำนวณเพิ่มเติมคือ
UsA and UsB compute: : z A = (yB)x A mod
p and z B = (x A)x B mod p.
The two
users assert that: K s = z A and K s =
z B.
Given: yA = gx A (mod p) and yB = gx B (mod p),
Find: z = z A = z B =
gx A x B (mod p) = gx B x A (mod p).
จาก Figure 2.3 Model
of public-key cryptosystem
จาก Figure 2.3 Model
of public-key cryptosystem เป็นการเข้ารหัสแบบอสมมาตร การเข้ารหัสแบบนี้จะอาศัยคู่ของกุญแจ Public
Key - Secret Key ใช้ในการเข้ารหัสและถอดรหัสข้อมูล ผู้ใช้แต่ละคนจะมีกุญแจ
Public Key - Secret Key คนละคู่ ดังรูปผู้ใช้โดยทั่วไป เรียกเป็น UsB เมื่อต้องการที่จะส่งข้อความไปหาผู้ใช้ UsA ใครที่มีกุญแจลับสามารถที่จะส่งไปหา
ผู้ใช้ UsA ได้ แต่จะมีเฉพาะ ผู้ใช้ UsA เท่านั้นที่สามารถถอดรหัสและเข้ารหัสข้อมูลนั้นๆ ได้
กุญแจจะสามารถรับรองความถูกต้องของผู้ใช้คีย์สาธารณะ
โดยเมื่อข้อมูลดังกล่าวส่งมาถึงผู้รับ ผู้รับจะใช้ Public key ของผู้ส่งในการถอดรหัสเพื่ออ่านข้อความ
ถ้าสามารถเปิดอ่านได้แสดงว่าเป็นผู้ส่งคนนั้นจริงๆ
การเข้ารหัสและการถอดรหัส
เขียนแทนด้วย φ และ γ
โดย α : C → C ดังนั้น φ(γ(c,
k), α(k)) = c และ γ(φ(m, α(k)),
k) = m
เมื่อ (α(k),
k) หมายถึงคู่ของคีย์ส่วนตัวและสาธารณะ
และ α คือลักษณะของการเชื่อมโยงทางคณิตศาสตร์ระหว่างคีย์ส่วนตัว
α(k)
และกุญแจที่เกี่ยวข้องของผู้ใช้
ฟังก์ชั่นกับดัก
(Trapdor
function model) คือ การเขารหัสโดยมีการใช้ one way trapdoor function
f : X → X, คือฟังก์ชั่นทางเดียวที่ไม่สามารถหาย้อนกลับมาได้
แจ่จะมีการเพิ่มประตูหากมีกุญแจที่สามารถไขประตูได้
คือจะสามารถหาฟังก์ชั่นย้อนกลับได้
ถ้ากำหนดให้
f คือ trapdoor one way function โดยรู้เฉพาะแค่ผู้ใช้ USA
สามารถเขียนได้เป็น
Public key : f and Private
key : f−1
สมมติว่า
f−1
เป็นฟังก์ชันผกผัน f และถูก f−1
ที่สร้างขึ้นร่วมกัน ขั้นตอนวิธีการเข้ารหัสคีย์สาธารณะ (public key ) จะทำงานดังต่อไปนี้
1.
USB ต้องการที่จะส่งข้อความ m ไปหาผู้ใช้ USA เขาจะเข้ารหัสข้อความ m โดยใช้กุญแจสาธารณะของ USA = UsA’s public key f และส่งข้อความ c ไปหา USB
2. เมื่อได้รับข้อความ
c แล้ว USA จะคำนวณ m = f−1 (c)
และหลังจากนั้นจะถอดรหัส c
โดยใช้กุญแจส่วนตัว Private
key : f−1
ในส่วนของรูปแบบลายเซ็นดิจิตอลมีการประมวลผลดังต่อไปนี้
สมมติว่าผู้ใช้ USA มี กุญแจสาธารณะ (public key) และ กุญแจส่วนตัว (private
key) คือ f และ f−1 ตามลำดับ
1. ผู้ใช้ USA ต้องการที่จะลงนามข้อความ m และส่งไปยัง
USB เขาจะต้องเข้ารหัส m โดยใช้กุญแจส่วนตัว (private key) และส่ง s,m
ไปยัง USB
2.
เมื่อได้รับ s,m แล้ว USB จะคำนวณ f(s) โดยการตรวจสอบว่า m = f(s)
ถ้าตัวตนถูกต้อง
USB จะเชื่อว่า USA เป็นแหล่งที่มาของข้อความและข้อความที่ไม่ได้รับการแก้ไขในระหว่างการส่งข้อมูล
ที่มา : เรียบเรียงบทความ และเครดิตภาพจาก หนังสือ Security of e-Systems and Computer Networks