19
Faculty of Information Technology Page IT346 Information System Security Week 3-2: Symmetric Key Cryptography อ.ออออออออออ ออออออ 1

Information system security wk3-2

Embed Size (px)

DESCRIPTION

If you have question Message me!

Citation preview

Page 1: Information system security wk3-2

Faculty of Information Technology Page 1

IT346 Information System Security

Week 3-2: Symmetric Key Cryptography

อ.พงษ์�ศั�กดิ์� ไผ่�แดิ์ง

Page 2: Information system security wk3-2

Faculty of Information Technology Page

โหมดิ์การทำ�างานของ Block Cipher

Block Cipher เข�ารห�สข�อม�ลทำ�ละบล"อค‣ หากข�อม�ลม�ขนาดิ์ใหญ่�กว่�า 1 block จะตั�ดิ์ข�อม�ลเป็*น

ชิ้,นขนาดิ์เทำ�า block‣ แตั�ถ้�าเรา encrypt ข�อม�ลทำ�ละ block โดิ์ยตัรง เม/0อ

ข�อม�ลมากกว่�า 1 block ม�ค�าของข�อม�ลตัรงก�น ค�า ciphertext ของ block เหล�าน�,นก"จะตัรงก�นดิ์�ว่ย ทำ�าให�การ encryption ไม�ไดิ์�ป็ระสทำธิภาพเตั"มทำ�0 เพราะม�การร�0ว่ไหลเก�0ยว่ก�บข�อม�ล timetimefull part

Exrw vjyo gMsQ vjyo

encrypt encrypt encrypt encrypt

2

Page 3: Information system security wk3-2

Faculty of Information Technology Page

โหมดิ์การทำ�างานของ Block Cipher

เราแก�ป็3ญ่หาการซ้ำ�,าก�นของ ciphertext ของแตั�ละบล"อค เม/0อ plaintext ของบล"อคซ้ำ�,าก�น ดิ์�ว่ยโหมดิ์การทำ�างานของ block cipher‣ Ciphertext ของแตั�ละ block จะข5,นก�บ

plaintext ของ block น�,นๆ และ plaintext ของ block อ/0นๆดิ์�ว่ย

‣ Encryption เป็*น probabilistic มากข5,น ค/อไม�สามารถ้คาดิ์เดิ์า output อย�างแน�นอนจาก input น�,นๆของ block ไดิ์�

3

Page 4: Information system security wk3-2

Faculty of Information Technology Page

โหมดิ์การทำ�างานของ Block Cipher

โหมดิ์ทำ�0ส�าค�ญ่ ไดิ์�แก� Mode การทำ�างานแบบ Block Cipher

โดิ์ยตัรง‣ Electronic Code Book (ECB)‣ Cipher Block Chaining (CBC)

Mode การทำ�างานแบบ Block Cipher ทำ�0ม�การดิ์�าเนนการแบบ Stream Cipher‣ Cipher Feedback (CFB)‣ Output Feedback (OFB)

4

Page 5: Information system security wk3-2

Faculty of Information Technology Page

โหมดิ์การทำ�างานทำ�0ง�ายทำ�0ส7ดิ์ ข�อคว่ามทำ�0เข�ามาจะถ้�กแบ�งออกเป็*น block ย�อย ๆ แตั�ละ block ย�อยจะถ้�ก encrypt อย�างเป็*น

อสระจาก block ย�อยอ/0นๆ ทำ7กๆ block จะใชิ้�ก7ญ่แจเดิ์�ยว่ก�นเพ/0อเข�ารห�ส

Electronic Code Book (ECB) mode

5

Page 6: Information system security wk3-2

Faculty of Information Technology Page

Electronic Code Book (ECB) mode

6

Page 7: Information system security wk3-2

Faculty of Information Technology Page

Cipher Block Chaining (CBC) mode ในโหมดิ์น�, แก�ป็3ญ่หาการซ้ำ�,าก�นของ ciphertext

ของแตั�ละบล"อค เม/0อ plaintext ของบล"อคซ้ำ�,าก�น โดิ์ยอาศั�ยข�,นตัอน Encryption ดิ์�งน�,‣ Chain ของการทำ�างานร�บ Input เข�ามา 2 ชิ้7ดิ์ ค/อ

Block แรกของ plaintext และ block ข�อม�ลเพ0มเตัมทำ�0เร�ยกว่�า Initial Vector (IV) หร/อ เว่กเตัอร�เร0มตั�น โดิ์ยทำ�0 IV ไม�จ�าเป็*นจะตั�องเป็*นคว่ามล�บ แตั�เราไม�นยมใชิ้� IV ซ้ำ�,าก�บค�� key เดิ์�ยว่ก�น

‣ Block ทำ�0 2 จะ XOR ก�บ ciphertext ของ block แรก จากน�,น encrypt ดิ์�ว่ยkey เดิ์ม และไดิ์�ผ่ลล�พธิ�เป็*น ciphertext ของ block ทำ�0 2

‣ Block ทำ�0 3 จะ XOR ก�บ ciphertext ของ block ทำ�0 2 จากน�,น encrypt ดิ์�ว่ยkey เดิ์ม และไดิ์�ผ่ลล�พธิ�เป็*น ciphertext ของ block ทำ�0 3

‣ ทำ�าเชิ้�นน�,ไป็เร/0อย ๆ ก�บบล"อคข�อคว่ามทำ�0เหล/อ

7

Page 8: Information system security wk3-2

Faculty of Information Technology Page

Cipher Block Chaining (CBC) mode ข�,นตัอน Decryption เป็*น ดิ์�งน�,

‣ Ciphertext ของ block ทำ�0 1 ถ้�กส�งไป็ decrypt โดิ์ยใชิ้� key ตั�ว่เดิ์�ยว่ก�นทำ�0ใชิ้�ในข�,นตัอน encryption ผ่ลล�พธิ�จากการดิ์�าเนนงานในข�,นตัอนน�,น�าไป็ XOR ก�บ IV ไดิ์�ผ่ลล�พธิ�เป็*น plaintext ของ block ทำ�0 1

‣ Decrypt Ciphertext ของ block ทำ�0 2 แล�ว่ XOR ก�บ Ciphertext ของ block ทำ�0 1 ผ่ลล�พธิ�ทำ�0ไดิ์� ค/อ plaintext ของ block ทำ�0 2

‣ ดิ์�าเนนการเชิ้�นน�,ไป็เร/0อย ๆ จนกระทำ�0ง decrypt ทำ7ก block เสร"จสมบ�รณ์�ไดิ์�เป็*น plaintext

8

Page 9: Information system security wk3-2

Faculty of Information Technology Page

Cipher Block Chaining (CBC) mode C0 = IV

Ci = EK(Pi XOR Ci-1)

C0 = IVPi = DK(Ci) XOR Ci-1

9

Page 10: Information system security wk3-2

Faculty of Information Technology Page

Cipher Feedback (CFB) mode

เหมาะส�าหร�บการทำ�างานทำ�0ใชิ้�ตั�ว่อ�กษ์รเป็*นหล�ก ‣ เชิ้�น โอเป็อเรเตัอร�ทำ�0พมพ�ตั�ว่อ�กษ์รส�งไป็ในเคร/อข�าย

ทำ�นทำ�ทำ�นใดิ์เพ/0อส�งข�อม�ลไป็ให�อ�กฝั่30 งหน50ง ‣ ข�อคว่ามจะถ้�ก encrypt ในร�ป็แบบของหน�ว่ยทำ�0ม�

ขนาดิ์เล"ก เชิ้�น อาจจะเป็*นขนาดิ์ 8 บตั แทำนทำ�0จะเป็*น block ขนาดิ์ใหญ่�

10

Page 11: Information system security wk3-2

Faculty of Information Technology Page

Cipher Feedback (CFB) mode

Encryption ม�ข�,นตัอนการทำ�างาน ดิ์�งน�,‣ IV จะถ้�กเก"บอย��ใน shift register ค�า IV จะถ้�ก

encrypt ไดิ์�ผ่ลล�พธิ�เป็*นcipher IV ขนาดิ์ 64 bits

‣ พจารณ์าจาก bit ทำ�0อย��ทำางซ้ำ�ายส7ดิ์ j บตั ของ cipher IV แล�ว่น�ามา XOR ก�บ j บตัแรกของ plaintext block ทำ�0 1 จะไดิ์�ผ่ลล�พธิ�ออกมาเป็*น ciphertext block ทำ�0 1

‣ ส�งค�า ciphertext block ทำ�0 1 ไป็ให�ผ่��ร�บ‣ น�า IV มา shift bit ไป็ทำางซ้ำ�าย j ตั�าแหน�ง จากน�,น

น�า ciphertext block ทำ�0 1 มาเตัมให�บตัทำางขว่าส7ดิ์ j ตั�าแหน�ง

‣ ทำ�าซ้ำ�,าจากข�,นตัอนทำ�0 1 ถ้5ง 4 จนกระทำ�0ง plaintext ถ้�กเข�ารห�สทำ�,งหมดิ์

11

Page 12: Information system security wk3-2

Faculty of Information Technology Page

CFB ModeEncryption

Decryption

12

Page 13: Information system security wk3-2

Faculty of Information Technology Page

Output Feedback (OFB) mode

คล�ายคล5งก�บโหมดิ์แบบ CFB แตักตั�างตัรงทำ�0 ‣ ในกรณ์�แบบ CFB น�,น ciphertext จะถ้�กน�าไป็เป็*

น IV ของการ encryption ข�,นตั�อไป็ ‣ แตั�โหมดิ์แบบ OFB น�,น ciphertext ของ IV จะ

ถ้�กน�าเป็*น IV ของกระบว่นการเข�ารห�สข�,นตั�อไป็

13

Page 14: Information system security wk3-2

Faculty of Information Technology Page

Output Feedback (OFB) mode

14

Page 15: Information system security wk3-2

Faculty of Information Technology Page

กจกรรม 1ให�น�กศั5กษ์าจ�บกล7�มเพ/0อว่เคราะห�ป็3ญ่หาของ Symmetric Key Cryptography โดิ์ยพจารณ์าจากป็ระเดิ์"นป็3ญ่หาตั�อไป็น�,

ในการใชิ้�งาน Symmetric Key Cryptography น�,น key ทำ�0ใชิ้�ในการทำ�า Encryption และ Decryption ตั�องม�คว่ามส�มพ�นธิ�ก�นอย�างไร?

Alice ตั�องการส�งข�อม�ลล�บไป็ให�ก�บ Bob อย�างไรก"ตัาม Alice ไม�เคยร��จ�ก Bob มาก�อน และไม�เคยม�ป็ฏิส�มพ�นธิ�ก�บ Bob มาก�อน ในกรณ์�น�, Alice สามารถ้ใชิ้� Symmetric Key Cryptography ในการเข�ารห�สข�อม�ลไป็ให� Bob โดิ์ยทำ�0 Bob สามารถ้ถ้อดิ์รห�สไดิ์�เลยหร/อไม� ถ้�าไม� คดิ์ว่�าตั�องม�กลไกใดิ์เกดิ์ข5,นก�อนทำ�0จะเร0ม Symmetric Key Cryptography

15

Page 16: Information system security wk3-2

Faculty of Information Technology Page

Diffie-Hellman Diffie-Hellman อาศั�ยหล�กการว่�าการค�านว่ณ์

ค�าของเอ"กโป็เนนเชิ้�ยล (Exponential) น�,นง�ายกว่�าการค�านว่ณ์ล"อกการทำ5ม (Logarithm) โดิ์ยอ�ลกอรทำ5มน�,จะอน7ญ่าตัให�คนสองคนสามารถ้สร�าง Secret Key เพ/0อใชิ้�ในการเข�ารห�สข�อม�ล

ข�,นตัอนการทำ�างาน เร0มโดิ์ยการเล/อกตั�ว่เลขจ�านว่นเฉพาะ ทำ�0ม�ค�ามากค�า

หน50ง เป็*น p แล�ว่ตั�องเล/อกอ�กตั�ว่เลขหน50ง สมมตัว่�าเป็*น g โดิ์ยทำ�0 g < p และ g ตั�องเป็*น Primitive เม/0ออ�างก�บ p (Primitive Root Modulo p)‣ ถ้�า g เป็*น Primitive ของ p ก"ตั�อเม/0อ ถ้�าเรา

สามารถ้หาจ�านว่นเตั"ม i โดิ์ยทำ�0 gi = j (mod p) ส�าหร�บทำ7กค�าของ j ทำ�0ม�ค�าตั�,งแตั� 1 ถ้5ง p-1

16

Page 17: Information system security wk3-2

Faculty of Information Technology Page

Diffie-Hellman (Example)

ตั�ว่อย�าง เล/อก g = 3, p = 5 ทำดิ์สอบค7ณ์สมบ�ตั Primitive

‣ g1 mod 5 = 3 mod 5 = 3‣ g2 mod 5 = 9 mod 5 = 4‣ g3 mod 5 = 27 mod 5 = 2‣ g4 mod 5 = 81 mod 5 = 1‣ g5 mod 5 = 243 mod 5 = 3‣ g6 mod 5 = 729 mod 5 = 4

ดิ์�งน�,น 3 เป็*น primitive ของจ�านว่นเฉพาะ 5

17

Page 18: Information system security wk3-2

Faculty of Information Technology Page

Diffie-Hellman ว่ธิ�การสร�าง Secret Key

BobAliceเล/อกค�า g และ pเล/อกเลขทำ�0ม�ค�า

มากๆ aค�านว่ณ์ A = ga

mod p ส�ง g, p, A ให�

Bob

ร�บ B จาก Bobค�านว่ณ์หาค�า K =

Ba mod p

ร�บ g, p, Aเล/อกเลขทำ�0ม�ค�า

มากๆ bส�งค�า B = gb

mod p ให� Aliceค�านว่ณ์หาค�า K =

Ab mod p

g, p, A

B

18

Page 19: Information system security wk3-2

Faculty of Information Technology Page

Diffie-Hellman g = 3 and p = 5

BobAliceเล/อกค�า g=3 และ

p=5เล/อก a = 2ค�านว่ณ์ A = 32

mod 5 = 4 ส�ง g=3, p=5,

A=4 ให� Bob

ร�บ B จาก Bobค�านว่ณ์หาค�า K =

22 mod 5 = 4

ร�บ g=3, p=5, A=4

เล/อกเลขทำ�0ม�ค�ามากๆ b = 3

ส�งค�า B = 33 mod 5 = 2 ให� Alice

ค�านว่ณ์หาค�า K = 43 mod 5 = 4

g=3, p=5, A=4

B

19