Athicha Leksansern
จะประกอบไปด้วย Plaintext, Encryption algorithm, Secret key, Ciphertext, Decryption algorithm ซึ่งจะสามารถแบ่งออกเป็นสามมิติได้
วิธีการเปลี่ยน Plaintext เป็น Ciphertext
จำนวน Key ที่ใช้
วิธีการที่ Plaintext ถูกเข้ารหัส
Block Cipher การเข้ารหัสที่จะแบ่งเป็นก้อนๆ
Standard Electronic Codebook Mode (ECB) แบ่งข้อมูลออกเป็นก้อนๆ และเข้ารหัส แยกกัน
Cipher Block Chaining (CBC) นำผลลัพท์จากการเข้ารหัส ECB ไปเข้ารหัสร่วมกับก้อนต่อไป ทำอย่างนี้ไปเรื่อยๆ
Stream Cipher การเข้ารหัสแบบต่อเนื่อง
Plaintext | 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 |
---|---|
Ciphertext | d e f h k i j k l m n o p q r s t u v w x y z a b c |
เป็นการสลับตัวอักษรแบบสุ่ม ไปอีกตัวนึง
Plaintext | 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 |
---|---|
Ciphertext | D K V Q F I B J W P E S C X H T M Y A U O L R G Z N |
Plaintext | |
---|---|
Ciphertext | WI RF RWAJ UH YFTSDVF SFUUFYA |
สร้างตารางมาขนาด แล้วแต่ข้อมูลในแนวนอน แต่อ่านในแนวตั้ง
เป็นการผสม Substitution และ Transposition เพื่อให้เข้ารหัสให้ยากขึ้น เป็นการเข้าสู่ยุคของ Modern ciphers
DES | Triple DES | AES | |
---|---|---|---|
ขนาด Plaintext (bits) | 64 | 64 | 128 |
ขนาด Ciphertext (bits) | 64 | 64 | 128 |
ขนาด Key (bits) | 56 | 112 หรือ 168 | 128, 192, หรือ 256 |
Data Encryption Standard (DES)
Triple DES
ทำสามรอบแล้วดีสามเท่า??? แต่จริงๆ สามารถถูกโจมตีง่ายๆ ด้วยเทคนิค Meet-in-the-middle attack
Meet-in-the-middle attack
ถ้าเพียงรู้ ก็จะสามารถนำไปเปรียบเทียบในตาราง กับตาราง ก็จะได้ keys และ ออกมา ซึ่งถ้าใช้ Meet-in-the-middle attack กับ 2DES จากการ Brute force keys ก็จะเหลือแค่
Advanced Encryption Standard (AES)
AES เป็น algorithm แบบ private key ซึ่งจะใช้ secret key ร่วมกัน ซึ่งขนาดของ key สามารถใช้ได้ดังนี้
ถ้าเทียบกับ DES, DES ใช้เพียง 56-bit key หรือเท่ากับ keys
RSA (Rivest, Shamir, Adleman)
เข้ารหัสด้วย Private key และถอดรหัสด้วย Public key จะสามารถบอกได้ว่า ส่งมาจากผู้ส่งที่ถูกต้องจริง แต่ว่าจะถูกเปิดอ่านระหว่างส่งได้!
เข้ารหัสด้วย Public key และถอดรหัสด้วย Private key จะสามารถป้องกันไม่ให้มีคนอ่านระหว่างส่งได้ โดยคนรับที่มี Private key จะสามารถอ่านได้คนเดียว แต่จะมั่นใจได้ไงว่าส่งมาจากผู้ส่งที่ถูกต้อง?
จะทั้งปลอดภัยและยืนยันตัวผู้ส่งได้ (secret & authenticated) โดยจะ
เป็นการโจมตีที่จะดักฟัง และแก้ไข keys ที่รับส่งกัน
จะสามารถตรวจสอบความ Original ของข้อความได้
Key generation
Key storing
Key distribution
ต้องการ Trusted intermediary หรือ คนที่ไว้วางใจได้
Digital Envelopes
Digital envelopes
จะสามารถยืนยันได้ว่าข้อความไม่ได้ถูกแก้ และ ส่งมาจากผู้ที่ถูกต้องจริงๆ