Cryptography - Number Theory an Related Alghoritm in Cryptography
MSMS11 Thanin Muangpoolpws.npru.ac.th/signal/data/files/Chapter7_Cryptography.pdf · 22....
Transcript of MSMS11 Thanin Muangpoolpws.npru.ac.th/signal/data/files/Chapter7_Cryptography.pdf · 22....
MSMS1 1 Thanin MuangpoolThanin Muangpool
การเขารหสขอมล (Cryptography) มาจากคา 2 คา คอ
Crypto ทแปลวา "การซอน"
Graph ทแปลวา "การเขยน"Graph ทแปลวา การเขยน
Cryptography จงมความหมายวา “การเขยนเพอซอนขอมล”
โ ป ป ไ ใ ไ โดยมจดประสงคเพอปองกนไมใหผอนสามารถอานขอมลได ยกเวนผทเรา
ตองการใหอานไดเทานน มศพททเกยวของดงน [Mark Stamp, 2006]
1. Cryptology : ศาสตรและศลปในการสรางและแกไข รหสลบ
2 Cryptography : การสรางรหสลบ 2. Cryptography : การสรางรหสลบ
3. Crypanalysis : การแกไขรหสลบ
4. Crypto : คายอทใชเรยกแทนทกคา
Plain Text หมายถง ขอความหรอขอมลตางๆ ทยงไมผานกรรมวธการ Plain Text หมายถง ขอความหรอขอมลตางๆ ทยงไมผานกรรมวธการ
เขารหส
Cipher Text หมายถง ขอความ หรอขอมลตางๆทผานการเขารหสแลว
และทาใหรปแบบของขอมลเปลยนแปลงไป
Algorithm หมายถง แนวความคดหรอลาดบความคดทม รปแบบท
สามารถนาไปประมวลผลทางคอมพวเตอรไดโดยงายสามารถนาไปประมวลผลทางคอมพวเตอรไดโดยงาย
Encryption หมายถง กระบวนการหรอขนตอนในการเขารหสขอมล ท
ไเปลยนแปลงไปจากเดม
Decryption หมายถง กระบวนการหรอขนตอนในการถอดรหสขอมล Decryption หมายถง กระบวนการหรอขนตอนในการถอดรหสขอมล
เพอใหขอมลทเขารหสไวคนสสภาพเดมกอนเขารหส
◦ Key หมายถง กญแจทใชรวมกบ อลกอรทมในการเขารหส และถอดรหส
Cryptography หมายถง ระบบการรกษาความปลอดภยทประกอบ ดวยyp g p y
Encryption และ Decryption
C t l i หมายถง การพยายามวเคราะหเพอศกษาประเดนตางๆ Cryptanalysis หมายถง การพยายามวเคราะหเพอศกษาประเดนตางๆ
ทเกยวของกบ Cryptography
Sensitive Data หมายถง ขอมลสาคญทถอวาเปนความลบไมสามารถ
แพรงพรายออกสภายนอกได
กระบวนการของ Cryptography ม 2 อยางคอ กระบวนการของ Cryptography ม 2 อยางคอ
◦ Data Encryption : การเขารหสขอมล
◦ Data Decryption : การถอดรหสขอมล
เพราะฉะนนประโยชนของ Cryptography คอการรกษาความลบ เพรา ฉ นนปร โยชนของ Cryptography คอการรกษาความลบ
ของขอมล
C t g hC t g hCryptographyCryptography
Encryption + DecryptionEncryption + Decryption
ขอมลทสามารถอานได เรยกวา Plain Text หรอ Clear Text ขอมลทสามารถอานได เรยกวา Plain Text หรอ Clear Text
ขอมลทเขารหสแลวเราเรยกวา Cipher Text
ขอมลเมอเสรจสนการเขารหสแลว ผลทไดกคอ Cipher Text ในการอาน
ขอความ Cipher Text นน
http://lightspeed.in.th/
ขอความตนฉบบ (Plain Text) คอ ขอมลตนฉบบซงเปนขอความทสามารถ ขอความตนฉบบ (Plain Text) คอ ขอมลตนฉบบซงเปนขอความทสามารถอานแลวเขาใจ
อลกอรทมการเขารหสลบ (Encryption Algorithm) คอ กระบวนการ อลกอรทมการเขารหสลบ (Encryption Algorithm) คอ กระบวนการหรอขนตอนทใชในการแปลงขอมลตนฉบบเปนขอมลทไดรบการเขารหส
(K ) ป ใ ใ กญแจลบ (Key) คอ เปนกญแจทใชรวมกบ อลกอรทมในการเขารหส และถอดรหส
ไ ไ ขอความไซเฟอร (Cipher Text) คอ ขอมลหรอขาวสารทไดรบการเขารหส ทาใหอานไมรเรอง
อลกอรทมการถอดรหสลบ (Decryption Algorithm) คอ กระบวนการหรอขนตอนในการแปลงขอความไซเฟอรใหกลบเปนขอความตนฉบบ โดยอาศยกญแจลบดอกเดยวกน
การเขารหสแบงออกเปน 2 ประเภทใหญๆ คอ การเขารหสแบงออกเปน 2 ประเภทใหญๆ คอ
◦ Symmetric Cryptography (Secret key) เรยกอกอยางวา Single-key
algorithm หรอ one key algorithm คอ การเขารหสและถอดรหสโดยใชกญแจalgorithm หรอ one-key algorithm คอ การเขารหสและถอดรหสโดยใชกญแจ
รหสตวเดยวกน คอ ผสงและผรบจะตองมกญแจรหสทเหมอนกนเพอใชในการ
เขารหสและถอดรหสเขารหสและถอดรหส
◦ ASymmetric Cryptography (Public key) คอ การเขารหสและถอดรหสโดยใช
กญแจรหสคนละตวกน การสงจะมกญแจรหสตวหนงในการเขารหส และผรบกจะมกญแจรหสคนละตวกน การสงจะมกญแจรหสตวหนงในการเขารหส และผรบกจะม
กญแจรหสอกตวหนงเพอใชในการถอดรหส ผใชรายหนงๆ จงมกญแจรหส 2 คาเสมอ
คอ กญแจสาธารณะ (public key) และ กญแจสวนตว (private key) ผใชจะคอ กญแจสาธารณะ (public key) และ กญแจสวนตว (private key) ผใชจะ
ประกาศใหผอนทราบถงกญแจสาธารณะของตนเองเพอใหนาไปใชในการเขารหสและ
สงขอมลทเขารหสแลวมาให ขอมลทเขารหสดงกลาวจะถกถอดออกไดโดยกญแจสงขอมลทเขารหสแลวมาให ขอมลทเขารหสดงกลาวจะถกถอดออกไดโดยกญแจ
สวนตวเทานน
◦
http://www.ku.ac.th/emagazine/august44/it/encryp.html
ในทางปฏบตแลวมกมการใชการเขารหสทงสองระบบรวมกน เชน ในระบบ ในทางปฏบตแลวมกมการใชการเขารหสทงสองระบบรวมกน เชน ในระบบ
PGP (Pretty Good Privacy) ซงใชในการเขารหส E-mail จะใชวธสราง
S K ป k Session Key ซงเปนรหสลบตามแบบ secret key เมอขอมลถกเขารหสดวย
Session Key แลว Session Key จะถกเขารหสโดยใชกญแจสาธารณะของ
ผรบ และถกสงไปกบขอมลทเขารหสแลว
http://www.ku.ac.th/emagazine/august44/it/encryp.html
http://www.ku.ac.th/emagazine/august44/it/encryp.html
ระบบรหสลบ Cryptosystems หรอเรยกวา Cipher มองคประกอบ
หลายสวน เพอการเขารหสลบขอมล ประกอบดวย อลกอรทม เทคนค
การจดการขอมล กระบวนการ และขนตอนการทางาน จะถกผสมผสาน
เขาดวยกนเพอเขารหสขอมล
มวตถประสงคเพอรกษาขอมลไวเปนความลบ C fid ti lit และ มวตถประสงคเพอรกษาขอมลไวเปนความลบ Confidentiality และ
จดเตรยม กลไกการพสจนตวตน Authentication และการใหสทธ
Authorization ในการดาเนนงานแตละขนตอนทางธรกจ
สามารถแบงตามยคสมยไดเปน 2 ยคคอ
1. ยคประวตศาสตร (หรอทเรยกวายค Classic)
2 ยคปจจบน (M d )2. ยคปจจบน (Modern)
ระบบรหสลบแบบสบเปลยน (Substitution Cipher) หลกการคอตอง ใ สบเปลยนแตละตวอกษรใน Plain Text ดวยตวอกษรอน แตกอนอนตอง
เลอกกอนวาจะแทนแตละตวอกษรดวยอะไร อยางเชน A แทนดวย T, B ไ แทนดวย P ฯลฯ ดงตารางตอไปน
สมมตวา Plain Text คอ MY NAME IS THANIN.MY NAME IS THANIN. Cipher Text คอ VL OTVM XK DQTOXOVL OTVM XK DQTOXO
ระบบรหสลบแบบสบเปลยนนมหลายหลากแบบ เพราะมการนาไป ระบบรหสลบแบบสบเปลยนนมหลายหลากแบบ เพราะมการนาไป
ดดแปลงกน เพอให Key ดงายจางายขน
เชน อาจจะใชตารางตอไปนเปน key
ดงนนขอความ Plain Text คอ T H A N I NT H A N I N
Cipher Text คอ
การสมจบคตวอกษร แลวสบเปลยนตวอกษรแตละตวใน Plain Text
ดวยตวอกษรทเปนคกน ถาเราใชวธนกบตวอกษรของภาษาองกฤษ เรา
กอาจจะจบคไดดงน (A,V), (D,X), (H,B), (I, G), (K,J), (M,C), (O,Q),
(R,L), (S,N), (U,E), (W,F), (Y,P), (Z,T)(R,L), (S,N), (U,E), (W,F), (Y,P), (Z,T)
ดงนนขอความ Plain Text คอ M Y NAME IS THANIN.M Y NAME IS THANIN.
Cipher Text คอ C P SVCU GN ZBVSGS C P SVCU GN ZBVSGS
www.vcharkarn.com/varticle/1075
บางครงอาจจะเปนการกาหนด Key แทนตวอกษรในภาษาองกฤษ
ตาแหนงใด ๆ ดวยลาดบตวอกษรถดไปอกตาม Key ทกาหนด เชน
กาหนด Key = 3 ตวอกษรภาษาองกฤษลาดบถดไปอก 3 ตาแหนง ก
คอตวอกษรตวท 4 ในภาษาองกฤษนนเองคอตวอกษรตวท 4 ในภาษาองกฤษนนเอง
Plain Text
Cipher Text
ดงนนขอความ Plain Text คอ M Y NAME IS THANIN.M Y NAME IS THANIN.
Ci h T t คอ P B QDPH LV WKDQLQP B QDPH LV WKDQLQ Cipher Text คอ P B QDPH LV WKDQLQP B QDPH LV WKDQLQ
Caesar cipher เปนการเขารหสแบบ Secret Key หรอ Symmetric Caesar cipher เปนการเขารหสแบบ Secret Key หรอ Symmetric
Key Cryptography คดคนโดยกษตรย Julius Caesar เพอสอสารกบ
ใ ไ ใ ไ ไ ทหารในกองทพ และปองกนไมใหขาวสารรวไหลไปถงศตร
หลกการของ Caesar Cipher คอ จะ Shift หรอ เลอนตวอกษรไป 3
ตาแหนง จากตาแหนงเดม
เขารหส ถอดรหส เขารหส ถอดรหส
ดงนน ตวอกษรปกตจะถกแทนทดวยตวอกษรทอยถดไปอก 3 ตว โดย ดงนน ตวอกษรปกตจะถกแทนทดวยตวอกษรทอยถดไปอก 3 ตว โดย
ตวอกษรปกตจะเรยกวา Plain ตวอกษรทมาแทนทจะเรยกวา Cipher
สมมตวา Plain คอ M Y NAME IS THANINM Y NAME IS THANIN
Cipher คอ P B QDPH LV WKDQLQP B QDPH LV WKDQLQ Cipher คอ P B QDPH LV WKDQLQP B QDPH LV WKDQLQ
และการถอดรหสกจะใชการเทยบยอนกลบระหวาง Cipher กบ Plain
h สมมตวา Cipher คอ P B QDPH LV WKDQLQP B QDPH LV WKDQLQ
Plain คอ M Y NAME IS THANINM Y NAME IS THANIN
จดสงเกตของ Caesar Cipher คอ Key ทใชจะเปน Key D เนองจาก จดสงเกตของ Caesar Cipher คอ Key ทใชจะเปน Key D เนองจาก
ตวอกษรตวแรกของภาษาองกฤษคอตว A เมอผานการเขารหสจะถก
แทนทดวยตว D จะเหนวา Cipher ของ Caesar จะขนตนดวยตว D
คอ ความงายในการเขารหส แตกมขอเสยคอการทสามารถจะทาการ คอ ความงายในการเขารหส แตกมขอเสยคอการทสามารถจะทาการ
วเคราะหหาขอความเดมจาก Cipher Text ไดงาย ซงการเขารหสทด
โ ใ ไ นนจะตองหลกเลยงการถกวเคราะหโดยงายนใหได วธการทนามา
วเคราะหดงกลาวนกคอ การหาสงซา ๆ กนจากวธการเขารหสทเรา
เรยกวาการหา Pattern ของตวอกษร ซงหากทาการวเคราะหใหดจาก
ตวอกษรของ Cipher Text จานวนมากพอ กจะเหนไดงายวามการเลอนp
ลาดบของตวอกษร 3 ตว ดงนนจงไมเปนการยากนกทผไมประสงคดจะทา
การ Cryptanalysis ของวธการเขารหสแบบซซารนการ Cryptanalysis ของวธการเขารหสแบบซซารน
เราสามารถทจะถอดรหสของ Caesar ไดโดยงายแมไมร Key โดย เราสามารถทจะถอดรหสของ Caesar ไดโดยงายแมไมร Key โดย
การกระทาทเรยกวา Brute Force Attack ซงสามารถแกะรหสได
โ ไ K ไ โดยไลสม Key เพยงไมเกน 25 ครงเทานน
Decryption shift Candidate plaintextyp p
0 (Ciphertext) exxegoexsrgi
1 (K B) f fh f hj1 (Key B) fyyfhpfytshj
2 (Key C) gzzgiqgzutik
...
24 (Key Y) cvvcemcvqpeg24 (Key Y) cvvcemcvqpeg
25 (Key Z) dwwdfndwrqfh
การเขารหสขอมลแบบ Monoalphabetic Cipher หรอเรยกวา การเขารหสขอมลแบบ Monoalphabetic Cipher หรอเรยกวา
Monoalphabetic Substitution Ciphers คดคนโดยชาวอาหรบ โดยใช
ไ ใ วธการแทนทตวอกษรแบบ 1 ตอ 1 ไมใชการเลอน ตวอยางของ
Monoalphabetic Ciphers ในยคแรก ๆ คอการเขารหสขอมลแบบ
Atbash ใชการแทนทตว A ดวยตว Z แทนทตว B ดวยตว Y และแทนท
ตว C ดวยตว X เปนตน
Plain Text : ABCDEFGHIJKLMNOPQRSTUVWXYZPlain Text : ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher Text : ZYXWVUTSRQPONMLKJIHGFEDCBA
การเบรค Monoalphabetic Ciphers จะทาไดยากกวาการเบรค การเบรค Monoalphabetic Ciphers จะทาไดยากกวาการเบรค
Caesar cipher เนองจากมคทเปนไปไดอย 26 ยกกาลง 26 ค การเบรค
ใ ไ ใ ใจะตองใชการสมไปเรอย ๆ จนกวาจะสาเรจ ซงจะตองใชจานวนครงในการ
คานวณการคานวณถง 26! ครง (26! = 26 x 25 x 24 x 23 x … x 1)
การเบรค Monoalphabetic ciphers สามารถทาไดอกวธหนงคอ
การวเคราะหความถของตวอกษรทปรากฏ (Frequency Analysis) การวเคราะหความถของตวอกษรทปรากฏ (Frequency Analysis)
ตวอยางเชนตวอกษร e กบ t จะเกดบอยทสดในขอความภาษาองกฤษ โดย
13% ส t อกษร e มอตราการเกดบอยถง 13% สวนอกษร t มอตราการเกดบอยถง
9%
ปความถของตวอกษรทปรากฏ
การทา Brute Force Attack ยงถอวาเปนการเสยเวลา เพราะตองไลสม
Key ไปเรอยๆ จนกวาจะเจอ
ตอมาจงมการคดคนวธตางๆ ทจะชวยใหเราสามารถคาดเดารหสไดงาย ตอมาจงมการคดคนวธตางๆ ทจะชวยใหเราสามารถคาดเดารหสไดงาย
และเรวขน โดยใชกระบวนการทางสถตตางๆ เชน Frequency Analysis
วธการเดาจะเรมจากการคนหาตวอกษรทซาๆ กนกอน
พจารณาอกษร 3 ตวแรกของประโยค ตวท 2 หรอ 3 มกจะเปนสระเสมอ
ความนาจะเปนของตวอกษรทซาๆ กนไดแก
◦ ตวอกษรทเปนสระในภาษาองกฤษ A E I O U◦ ตวอกษรทเปนสระในภาษาองกฤษ A E I O U
◦ ตวอกษรทมความถปรากฏในคาภาษาองกฤษบอยทสด
C D H L N R S T
ความถของตวอกษรทปรากฏ (เรยงตามความถมากไปนอย)
วธหนงทสามารถนามาใชในการเพมระดบความปลอดภยใหกบการ วธหนงทสามารถนามาใชในการเพมระดบความปลอดภยใหกบการ
เขารหสแบบทใชสญลกษณเพยงหนงตวมาแทนคาตวอกษร กคอการใช
ไ ใ กญแจเขารหสมาชวย (Encryption Key) อยางไรกตามการใชวธท
เรยกวา Frequency Distribution ซงเปนการวดเปรยบเทยบระหวาง
ความซากนของตวอกษรทงหมดทมอยในขอความทเปน Cipher Text
แลวเอาไปเปรยบเทยบกบความซากนของตวอกษรทงหมดทมอยของคา
ในภาษาองกฤษ ผลทไดกคอผททาการเจาะรหสนนสามารถรไดวา
ตวอกษรทใชใน Cipher Text นนเปนตวอกษรตวใดกนแนในตวอกษรทใชใน Cipher Text นนเปนตวอกษรตวใดกนแนใน
ภาษาองกฤษ
เปนวธทไดรบการปรบปรงจากวธแรกโดยมจดประสงคคอไมใหสามารถทาการวเคราะหไดโดยใชวธ Frequency Distributions
หลกการทใชก คอการใชสญลกษณหลายตวเ พอแทนคาตวอกษรภาษาองกฤษตวเดยววธการนสามารถลดความซากนของตวอกษรใน ไ ไ ขอความ Cipher Text ได ดงนนผททาการเจาะรหสไดสามารถทาการ
เปรยบเทยบไดวาตวอกษรในขอความ Cipher text นนใชแทนตวอกษรใดกนแนในภาษาองกฤษใดกนแนในภาษาองกฤษ
ใ ใ วธการแทนคาทนยมนามาใชกบการเขารหสแบบนนกคอ การใชตารางแทนคาทเรยกวา Vigenere Tableaux ซงสามารถทาใหการวเคราะหโดยใ F Di ib i ไ ใช Frequency Distributions ยากขนมาก แตอยางไรกตามยงมวธการทใชไดผลสามารถนามาทาการเจาะรหสแบบน นนคอวธการทเรยกวา The Kasiski Method for Repeated Patterns โดยอาศยหลกทวาคาในKasiski Method for Repeated Patterns โดยอาศยหลกทวาคาในภาษาองกฤษนนมคาทใชทวไปและซากนมากเชน คาวา the, is, are, and then but im- in- un- -tion -ion etc เปนตน และคาand, then, but, im , in , un , tion, ion…..etc… เปนตน และคาพวกนสามารถทาใหเกด Pattern ไดใน Cipher Text ดงนนหากใชวธการทางคณตศาสตรทเกยวกบความนาจะเปน (Probability) มาทาการyวเคราะห pattern เหลานโดยละเอยดแลวกจะสามารถเจาะรหสหาขอความเดม (Clear Text)ได
เทคนคนจะใชในชวงสงครามโลกครงท 1 และยากทจะถอดรหสดวยเทคนคนจะใชในชวงสงครามโลกครงท 1 และยากทจะถอดรหสดวย
มอเปลา แตถาใชคอมพวเตอรจะสามารถถอดรหสไดงาย นอกจากนนหาก
โ ใ ไ ตองการจะเบรคโดยใชคอมพวเตอรกจะทาการเบรคไดงายเชนกน ผท
เบรค Polyalphabetic Encryption ไดเปนชาวรสเซยชอ Friedrich
Kasiski เบรคไดในป 1863 โดยใหขอสงเกตวาถาได Cipher Text ทม
ความยาวมากพอ Pattern จะเรมซา และสามารถทจะเหนความเหมอน
ของ Cipher text โดยดท Frequency Analysis ตวอกษรแตละตว
ปรากฏบอยแคไหนปรากฏบอยแคไหน
Vigenere Cipher เปนการเขารหสแบบซเครทคย (Secret Key) หรอ Vigenere Cipher เปนการเขารหสแบบซเครทคย (Secret Key) หรอ
Symmetric Key Cryptography ทอาศยพนฐานเดยวกนกบ Caesar
หลกการของ Vigenere Cipher คอ จะใช Key ทเปนคามาเรยงตอๆ กน
แลวเขารหสโดยสราง Caesar Cipher จากตวอกษรทปรากฏอยใน Keyฏ
Vigenere Cipher เปนอกชนดหนงทอาศยตารางตวอกษรเปนรหสลบ
เรยกวา Vegenere Squre ในลกษณะ 26 X 26 ตวอกษรเรยกวา Vegenere Squre ในลกษณะ 26 X 26 ตวอกษร
ตวอยางเชน ตวอยางเชน Plaintext : ATTACK AT DAWN และเลอกใช Keyword : LEMON
นา Plaintext มาเรยงคกบ Keyword ใหไดความยาวเทากนดงนนา Plaintext มาเรยงคกบ Keyword ใหไดความยาวเทากนดงนPlain Text : ATTACK AT DAWNKey : LEMONL EM ONLEyCipher Text : LXFOPV EF RNHR
◦ ตวอกษรตวแรก - A จะถกเขารหสดวย Caesar Cipher Key L p y◦ ตวอกษรตวท 2 - T จะถกเขารหสดวย Caesar Cipher Key E◦ ตวอกษรตวท 3 - T จะถกเขารหสดวย Caesar Cipher Key M p y◦ ตวอกษรตวท 4 - A จะถกเขารหสดวย Caesar Cipher Key O◦ ตวอกษรตวท 5 - C จะถกเขารหสดวย Caesar Cipher Key N p yและเรยงตอไปเรอยๆ จนกวาจะครบประโยค
ตวอยางเชน ตวอยางเชน Plain Text : ATTACK AT DAWNKey : LEMONL EM ONLEKey : LEMONL EM ONLECipher Text : LXFOPV EF RNHR P 0 19P 0 19K 11 12C 11 31C 11 31
: C = P + K ถา C มคามากกวาหรอ 26 ใหนา 26 ไปลบออกคาทไดนาไปเทยบคานาหนกตวอกษรคาทไดนาไปเทยบคานาหนกตวอกษร
http://makcoder.sourceforge.net/demo/vigenere.php
การถอดรหสกใหทากระบวนการยอนกลบเหมอนกบของ Caesar แต ตองร Keyword ◦ Cipher Text : LXFOPV EF RNHR และ Keyword : LEMON
ใ ไ นา Cipher Text มาเรยงคกบ Keyword ใหไดความยาวเทากนดงนCipher Text : LXFOPV EF RNHR Key : LEMONL EM ONLEPlain Text : ATTACK AT DAWN
◦ ตวอกษรตวแรก - L จะถกถอดรหสดวย Caesar Cipher Key L◦ ตวอกษรตวท 2 - X จะถกถอดรหสดวย Caesar Cipher Key E
◦ ตวอกษรตวท 3 - F จะถกถอดรหสดวย Caesar Cipher Key M◦ ตวอกษรตวท 4 - O จะถกถอดรหสดวย Caesar Cipher Key O
◦ ตวอกษรตวท 5 - P จะถกถอดรหสดวย Caesar Cipher Key Nและเรยงตอไปเรอยๆ จนกวาจะครบประโยค
ใช Keyword ทเปนคามาเรยงตอๆ กน แลวเขารหสโดยสราง Caesar ใช Keyword ทเปนคามาเรยงตอๆ กน แลวเขารหสโดยสราง Caesar
Cipher จากตวอกษรทปรากฏอยใน Key ทาใหโครงสรางของ Cipher ท
ใ ใ ใชในการเขารหสซบซอนยงขน
แตถา Keyword ถกขโมยไปใช ขอมลกจะถกถอดรหสได
ถงไมร Keyword กยงสามารถคาดเดา Keyword ไดจากการทดสอบ
ตวอกษรทเรยงซาๆ กนควบคกบการพจารณาระยะหาง โดยวธการทตวอกษรทเรยงซาๆ กนควบคกบการพจารณาระยะหาง โดยวธการท
เรยกวา Kasiski examination และ Friedman
พฒนาขนครงแรกท AT&T โดยใชรวมกบอปกรณทชอวา เครองเวอร-แนม (Vernam Machine) One-time Padขนตอนวธ◦ กาหนดใหคาใหกบอกขระแตละตวโดยเรมตนคาจากนอยไปมาก
เชน A = 0, B = 1, …, Z = 25 ◦ แทนคาขอความตนฉบบทตองการเขารหสและขอความนาเขาไซ
เฟอรจากคาของอกขระแตละตวทกาหนดในขอ 1 ใ ◦ บวกคาอกขระแตละตวในขอความตนฉบบกบคาของอกขระแตละ
ตวในขอความนาเขาไซเฟอร ไ ใ ◦ ถาผลลพธทไดมากกวา 25, ใหลบออกดวย 26
◦ แปลงคาจานวนทไดกลบเปนตวอกขระทเกยวของ ซงจะไดเปน ไ ฟ ขอความไซเฟอร
การเขารหสและการถอดรหสเพอใหไดขอความทอานได (Plain Text) การเขารหสและการถอดรหสเพอใหไดขอความทอานได (Plain Text)
กลบมานนจาเปนตองใชตวเลขสม (Random Number) โดยมากแลว
ใ ใ ใ วธการทใชในการกาเนดตวเลขสมทนยมใชกนมากกคอ วธ Linear
Congruential Random Number Generator ซงจะใหกาเนดตวเลขสม
ทเรมดวยตวเลขเรมตนตามทกาหนดให เราเรยกตวเลขนวา Seed
อยางไรกตามวธการนกสามารถจะใหตวเลขสมไดจานวนหนงกอนทจะเรม
ใหตวเลขทซากนอก ดงนนการใชวธใหกาหนดตวเลขสมนกตองใชความ
ระมดระวงดวยมฉะนนอาจทาใหตวอกษรใน Cipher Text มลกษณะทซาระมดระวงดวยมฉะนนอาจทาใหตวอกษรใน Cipher Text มลกษณะทซา
กนไดและจะงายตอการวเคราะห Cryptanalysis
ตวอยางท 3 7 กาหนดใหขอความตนฉบบ คอ ตวอยางท 3.7 กาหนดใหขอความตนฉบบ คอ
◦ Plain Text : HELLO
◦ Key One-Time Pad คอ X M C K L
◦ Cipher Text : E Q N V Zp Q
ขอด: มความปลอดภยของขอความสงและเหมาะสมกบขอความตนฉบบท
มขนาดสน มขนาดสน
ขอเสย: ไมเหมาะสาหรบขอความตนฉบบขนาดใหญ
ไ ป ใ แตอยางไรกตาม One-Time Pad กยงมปญหาอยเชน Key ทใหญ
เทากบ Plain Text จะตองใชพนทมากสาหรบเกบ Key นอกจากนน Key
ทใหญกทาใหใชงานไดอยางลาบาก หากเทยบกบการใช Key ทมขนาด
เลก นอกจากนนผสงขอความจะตองมการสง Key ไปยงปลายทางเพอใช y
ในการถอดรหส ซงอาจจะทาให Key ถกขโมยไดในระหวางขนตอนการสง
คย คย
Playfair cipher เปน Block Cipher ตวแรกเกดขนในป ค ศ 1854 Playfair cipher เปน Block Cipher ตวแรกเกดขนในป ค.ศ. 1854
โดย Sir Charles Wheatstone ซงเลาให Baron Playfair ฟง แลว
ใ โ จากนนกถกเลาตอให Albert และ Load Palmerston ฟงบนโตะอาหาร
เยน Playfair cipher ถกใชในกองกาลงทางประเทศสหราชอาณาจกรใน
สงครามโลกครงท 1 มขบวนการทางานของอลกอรทมดงน
(1) สรางตาราง Key ขนาด 5 x 5 25 แบบสมโดยตดตว Q ออก(1) สรางตาราง Key ขนาด 5 x 5 = 25 แบบสมโดยตดตว Q ออก
ตวยาง Key ขนาด 5x5
P L A Y FI R E X MB C D G HJ K N O ST U V W ZT U V W Z
(2) แบงตวอกษร Plain Text ตนฉบบออกมาเปนค ๆ หากมตวอกษรท(2) แบงตวอกษร Plain Text ตนฉบบออกมาเปนค ๆ หากมตวอกษรท
ตดกนใหเอา X คนกลาง และหากตวสดทายไมครบคใหใส Z เขาไปแทน
เชน ตองการเขารหสขอความวา "Hide the gold in the tree
stump" กสามารถจดตวอกษรเปนค ๆ ไดดงน
HI DE TH EG OL DI NT HE TR EX ES TU MP^
ใส X เขาไปเนองจากมตว E สองตวตดกน
(3) นาตวอกษรแตละคมาเปรยบเทยบกบตาราง Key ถาไมอยในแถวและ (3) นาตวอกษรแตละคมาเปรยบเทยบกบตาราง Key ถาไมอยในแถวและ
Column เดยวกน ใหแทนทตวอกษรแบบไขวกน เชน HI ในขอความ
ไ ไ ไ ไ ใตนฉบบ (H ไมไดอยแถวเดยวกนกบ I และ H กไมไดอยใน Column
เดยวกนกบ I) จะกลายเปน BM (H กลายเปน I และ B กลายเปน M)
P L A Y FI R E X MB C D G HJ K N O ST U V W ZT U V W Z
(4) ถา 2 ตวอกษรอย Column เดยวกน ใหเอาตวอกษรทอยขางลางตดกน(4) ถา 2 ตวอกษรอย Column เดยวกน ใหเอาตวอกษรทอยขางลางตดกน
มาแทนท โดยทาทละตว (หากตวอกษรนนอยลางสดใหเอาตวบนสดมา
ใ แทนท) เชน DE ในขอความตนฉบบ จะกลายเปน ND เนองจาก D ถก
แทนทดวย N สวน E ถกแทนทดวย D
P L A Y FI R E X MB C D G HJ K N O ST U V W ZT U V W Z
(5) ถา 2 ตวอกษรอยแถวเดยวกน ใหเอาตวอกษรทอยขวามอมาแทนท โดย(5) ถา 2 ตวอกษรอยแถวเดยวกน ใหเอาตวอกษรทอยขวามอมาแทนท โดย
ทาทละตว (หากตวอกษรนนอยขวาสดใหเอาตวซายสดมาแทนท) เชน TU
ใ ในขอความตนฉบบ จะกลายเปน UV เนองจาก T ถกแทนทดวย U สวน U
ถกแทนทดวย V P L A Y FI R E X MB C D G HB C D G HJ K N O ST U V W ZT U V W Zหากทาการเขารหสแลวจะไดดงน
l i t G O SPlain Text: HI DE TH EG OL DI NT HE TR EX ES TU MPCipher Text: BM ND ZB XD KY BE JV DM UI XM MN UV IF
Write the plaintext downwards on successive "rails" of an p
imaginary fence. When you get to the bottom start moving
up Write the message line by line up. Write the message line by line.
เปนการเขารหสอยางงาย ใชลกษณะของ Row-by-Row หรอ Zigzag
Plain Text : Come home tomorrow Key = 2
CC mm hh mm tt mm rr oo
h h
oo ee oo ee oo oo rr ww
Cipher Text : Cmhmtmrooeoeoorw
E lExample:
Plain Text : Come home tomorrow by my car Key = 3
C E M O R W M AO H E M R B Y R
M O T O O Y C
Cipher Text : CEMORWMAOHEMRBYRMOTOOYC
The plaintext is first written out in a grid of given dimensions The plaintext is first written out in a grid of given dimensions,
then we read it off in a pattern given in the key.
เขยนขอความตนฉบบทละแถวลงในเมทรกซ ทมจานวนคอลมน ตาม
กาหนด เชน
Plain Text : “I go to the conference tomorrow at NPRU”
M t i i 6 X 6 Matrix is 6 X 6
The key say : read message from top right corner down
and to the left.
ลาดบแถว => I G O T O T
H E C O N F
E R E N C EE R E N C E
T O M O R R
O W A T N P
R U A B C D
Key => read message from top right corner down and to
th l ftthe left.
ขอความ Cipher ทได TFERPDCBAURONCRNTAWOTONOMOTOCEREGEHI
ไซเฟอรแบบคอลมน (Columnar Transposition Cipher) เรมตนดวย ไซเฟอรแบบคอลมน (Columnar Transposition Cipher) เรมตนดวย
การกาหนดขนาดคอลมน ทใชในการเขารหส
เขยนขอความตนฉบบทละแถวลงในเมทรกซ ทมจานวนคอลมน ตาม
กาหนด เชน
Plain Text : “I go to the conference tomorrow at NPRU”
K 412536 Key : 412536
ลาดบแถว => 1 2 3 4 5 6
I G O T O T
H E C O N FH E C O N F
E R E N C E
T O M O R R
O W A T N P
R U A B C D
k key => 4 1 2 5 3 6
ขอความ Cipher ทได GEROWU OCEMAA ONCRMC IHETOR TONOTB TFERBD
Write the message in rows of a fixed length and then read Write the message in rows of a fixed length, and then read
out again column by column. The columns are chosen in
some scrambled order. Both the length of the rows and the
permutation of the columns are usually defined by a
keyword.
เขยนขอความตนฉบบทละแถวลงในเมทรกซ ทมจานวนคอลมน ตาม เขยนขอความตนฉบบทละแถวลงในเมทรกซ ทมจานวนคอลมน ตาม
กาหนด เชน
Plant Text : “I go to the conference tomorrow at NPRU”
Key : THANIN
key => T H A N I N
ลาดบแถว => I G O T O T
H E C O N FH E C O N F
E R E N C E
T O M O R R
O W A T N P
R U A B C D
h ไ ขอความ Cipher ทได OCEMAAGEROWUONCRNCTONOTBTFERPDIHETOR
เปนการสลบตาแหนงขอความ Plain Text แบบ Array 2 มต ตามท
กาหนด เชน
Plain Text : “Attack at Dawn”
Array 2 มต : 3 X 4
Key Pattern Column : (1 2 3) (3 2 1) Key Pattern Column : (1, 2, 3) (3, 2, 1)
Row : (1, 2, 3, 4) (4, 2, 1, 3)
A T T AC K A T
D A W NC K A T
N D A WT K C A C K A T
D A W NC K A TA T T A
T K C AA T A T
ขอความ Cipher ทได NDAW TKCA ATAT
XOR เปนการกระทาทางตรรกศาสตร โดยมหลกการ คอ XOR เปนการกร ทาทางตรรกศาสตร โดยมหลกการ คอ
◦ มอนพตตงแตสองอนพตขนไป เชน A, B (ในตารางความจรงดานลาง)
ใ ป ◦ จะใหเอาทพตเปนลอจก 0 เมอ อนพตม ลอจกเหมอนกน
◦ จะใหเอาทพตเปนลอจก 1 เมอ อนพตม ลอจกตางกน
การดาเนนการทางตรรกศาสตรของ XOR การดาเนนการทางตรรกศาสตรของ XOR จะหาคาตอบได กตอเมอตองแปลงเลขฐาน 10 ใหกลายเปนเลขฐาน 2
(Binary) กอน เชน(Binary) กอน เชนกาหนดตวแปร A = 10 หรอ กระจายเปนเลขฐาน 2 (Binary) = 1 0 1 0กาหนดตวแปร B = 8 หรอ กระจายเปนเลขฐาน 2 (Binary) = 1 0 0 0ฐ yดงนนเมอให A Xor B คอ
1 0 1 01 0 0 01 0 0 0----------0 0 1 0 (ฐาน 2) หรอ 2 (ฐาน 10)0 0 1 0 (ฐาน 2) หรอ 2 (ฐาน 10)=====
เวลาทเขยนคาสง 65 Xor 20 จะไดคาตอบคอ 85 (ฐาน 10) ... นคอฐความสามารถของภาษาระดบสง แตแททจรงแลว จะเกดปฏบตการระดบบตขนมา โดยทมองไมเหน ...แต ใ ตองสนใจความเปนมา
หมายความวา ทงตวตง (65) และ ตวกระทา (20) จะตองถกแปลงใหเปน 2 เลขฐาน 2 ออกมากอน ดงน คอ
1 0 0 0 0 0 1 ... หรอ 65 (ฐาน 10)X X 1 0 1 0 0 หรอ 20 (ฐาน 10) คาใดทมากระทา XOR กบ X กX X 1 0 1 0 0 ... หรอ 20 (ฐาน 10) ... คาใดทมากระทา XOR กบ X กจะไดคานนเสมอ------------------1 0 1 0 1 0 1 ... หรอ 85 (ฐาน 10)========
MSMS1 1 Thanin MuangpoolThanin Muangpool
Th k Th k Thank youThank you