Transcript Ciphertext
Chapter 4 Cryptography By LOGO Aj. Kusuma Suthakum Company Key Concept and Definition Cryptography : การถอดรหัสโอยอาศัยทฤษฏีทาง คณิ ตศาสตร์ Cryptanalysis : ศาสตร์ที่วา่ ด้วยการถอดรหัสโดยไม่ใช้ Key เช่น เรื่ อง beautiful mind Plaintext / Cleartext : ข้อความที่มนุษย์อ่านออก Ciphertext / Cryptogram :เอา text มาเข้ารหัส Encipher/Encrypt/Encode: การเข้ารหัสโดยใช้ Key Decipher/Decrypt/Decode : การถอดรหัสโดยใช้ Key Key Concept and Definition Cryptographic Algorithm : สมการทางคณิ ตศาสตร์ที่ใช้ ในการเข้ารหัส Cryptosystem : ระบบ/อุปกรณ์ที่ทาการเข้ารหัสและ ถอดรหัส Cryptovariable(Key) : Key ที่ใช้ในการเข้ารหัสและ ต้องเป็ นความลับ Key Space : Set/กลุ่มของ key ที่มีโอกาสเป็ นไปได้ ซึ่ ง สามารถมีได้หลาย key เช่นการทา key gen Key Concept and Definition Meet me at nine (Plaintext) Cryptosystem Algorithm Xrgl9lefst4lox (ciphertext) Simple Transposition Cipher • คือ การ transpose(กลับแถวเป็ น คอลัมน์หรื อกลับคอมลัมน์เป็ นแถว) • Plaintext คือ “ This is an example of transposition” • Cipher คือ “ tsaoni hamfst inptpi Selroo ixeasn” • วิธีน้ ีไม่ยากแต่ตอ้ งรู ้กนั จากปลายทาง คือ Key ที่ส่งให้กนั คือ 5 columns 6 Rows T S A O N H A M F S I N P T P S E L R O I X E A S I T I O N Simple Substitution Ciphers การแทนที่หรื อการสับเปลี่ยน คืออักขระหนึ่งตัวใน plaintext จะ ถูกแทนที่ดว้ ยอัขระอื่นๆนัน่ เอง มี 2 ประเภทได้แก่ Shift alphabet – Ciphertext จะเกิดจากการเลื่อนตาแหน่ง ของ Plaintext เช่น Caesar Code Scramble alphabet – Ciphertext เกิดจากการ เปลี่ยนแปลงอักขระแต่ละตัวPlaintext ด้วยการสุ่ มอักขระขึ้นมา ** ข้อแตกต่างระหว่าง substitution กับ transposition คือ substitution อักขระของ Plaintext และ Ciphertext อาจจะเป็ นคนละชุดเลยก็ได้ Caesar cipher Caesar cipher เป็ นการเข้ารหัสแบบซีเคร็ ทคีย ์ (Secret Key) หรื อ Symmetric Key Cryptography คิดค้นโดยกษัตริ ย ์ Julius Caesar เพื่อ สื่ อสารกับทหารในกองทัพ และป้ องกันไม่ให้ข่าวสารรั่วไหลไปถึงศัตรู หลักการของ Caesar cipher คือ จะ shift หรื อ เลื่อนตัวอักษรไป 3 ตาแหน่ง จากตาแหน่งเดิม 10 เมษายน 2558 7 Shift Alphabet(move letters 3 spaces) A B C D E F ………. FACE D E F G H I ………... IDFH Caesar cipher ดังนั้น ตัวอักษรปกติ จะถูกแทนที่ดว้ ยตัวอักษรที่อยูถ่ ดั ไปอีก 3 ตัว โดย ตัวอักษรปกติเราจะเรี ยกว่า Plain ส่ วนตัวอักษรที่จะนามาแทนที่จะเรี ยกว่า Cipher Plain : 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 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 Cipher : 10 เมษายน 2558 9 Caesar cipher การเข้ารหัสของ Caesar จะใช้การเทียบตัวอักษรปกติ (Plain) กับ Cipher เช่น Plaintext: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG Ciphertext: WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ Plain : 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 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 Cipher : 10 เมษายน 2558 10 Caesar cipher ซึ่งเราสามารถกาหนดใช้ Key อื่นๆ ได้อีก ดังรู ป 10 เมษายน 2558 11 Vigenère cipher Vigenère cipher เป็ นการเข้ารหัสแบบซีเคร็ ทคีย ์ (Secret Key) หรื อ Symmetric Key Cryptography ที่อาศัยพื้นฐานเดียวกันกับ Caesar หลักการของ Vigenère cipher คือ จะใช้ Key ที่เป็ นคามาเรี ยงต่อๆ กัน แล้วเข้ารหัสโดยสร้าง Caesar Cipher จากตัวอักษรที่ปรากฏอยูใ่ น Key 10 เมษายน 2558 12 Vigenère cipher ตัวอย่ างเช่ น เรามี Plaintext : ATTACK AT DAWN และเลือกใช้ Keyword : LEMON นา Plaintext มาเรี ยงคู่กบั Keyword ให้ได้ความยาวเท่ากันดังนี้ Plaintext : ATTACK AT DAWN Key : LEMONL EM ONLE Ciphertext : LXFOPV EF RNHR ตัวอักษรตัวแรก - A จะถูกเข้ารหัสด้วย Caesar Cipher Key L ตัวอักษรตัวที่ 2 - T จะถูกเข้ารหัสด้วย Caesar Cipher Key E ตัวอักษรตัวที่ 3 - T จะถูกเข้ารหัสด้วย Caesar Cipher Key M ตัวอักษรตัวที่ 4 - A จะถูกเข้ารหัสด้วย Caesar Cipher Key O ตัวอักษรตัวที่ 5 - C จะถูกเข้ารหัสด้วย Caesar Cipher Key N และเรี ยงต่อไปเรื่ อยๆ จนกว่าจะครบประโยค 10 เมษายน 2558 13 Vigenère cipher การถอดรหัสก็ให้ ทากระบวนการย้ อนกลับเหมือนกับของ Caesar แต่ ต้องรู้ Keyword Ciphertext : LXFOPV EF RNHR และ Keyword : LEMON นา Ciphertext มาเรี ยงคู่กบั Keyword ให้ได้ความยาวเท่ากันดังนี้ Ciphertext : LXFOPV EF RNHR Key : LEMONL EM ONLE Plaintext : 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 และเรี ยงต่อไปเรื่ อยๆ จนกว่าจะครบประโยค 10 เมษายน 2558 14 Scramble Alphabet (แทนตัวอักษรด้วยอักษรอื่น) A B C D E F .................. FACE Q E Y R T M …………... MQYT Polyalphabetic Cipher A B C D E F G H I J K L M N O P Q R S T U V WX Y Z 1 Z A B C D E F G H I J K L M N O P Q R S T U V WX Y 2 Y Z A B C D E F G H I J K L M N O P Q R S T U V WX 3 X Y Z A B C D E F GH I J K L MN OP QR S T U V W 4 WX Y Z A B C D E F G H I J K L M N O P Q R S T U V … Plaintext = “FEEDBACK” Key 3241 Cipher = “CCACWYJ” Running Key Cipher –ใช้ คียย์ าวเท่ากับ Plaintext มาแปลงเป็ น Ciphertext ดังรู ป Key : “On a non interfering basis over …” Message : “This material is enciphered” 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 0 8 9 1 2 3 4 5 6 7 1 0 Message : This 33-26 = 7 Key : Onan 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 Ciphertext huif anbrkmrg mj 2 1 2 2 2 3 2 4 2 5 One-Time Pads คือ การใช้อลั กอหรื อคียแ์ บบนี้ครั้งเดียว แล้วเปลี่ยนใหม่ เป็ น Only unbreakable algorithm เช่น บัตรเติมเงิน การเข้ารหัส แบบ Pigpen ใช้การแทนตัวอักษร A-Z ด้วยสัญลักษณ์ A B C D E F G H I J K L S M N O T U V P Q R W X Y Z จงเขียนคาว่า Wonderful ด้วย pigpen Basic Transformation Techniques Substitution การแทนที่ Transposition or Permutation : การสลับที่ Compression : การบีบอัด เช่น Plaintext 3 ตัวบีบเหลือ Ciphertext 1 ตัว Expansion การขยาย เช่น Plaintext 1 ตัวขยายเป็ น Ciphertext 3 ตัว เช่นการเข้ารหัส MD5 Padding การใส่ อกั ขระลงไปเพิ่ม (เพิ่มความยากในการถอดรหัส) เช่น Plaintext : “ILOVEYOU” Ciphertext: “ILOVE-YOU” Basic Transformation Techniques(ต่อ) Key Mixing การผสมผสานเทคนิคหลายตัว Initiallization Vector(IV) เลขตั้งต้นที่เกิดจากเลขสุ่ ม จะ นาไปใช้เยอะในเรื่ อง Symmetric Key เช่น DES Exclusive-Or(XOR) เทคนิคแปลงรหัส ระดับ byte 1 xor 1 = 0 1 xor 0 = 1 0 xor 1 = 1 0 xor 0 = 0 Plaintext : 01000101 Key : 01000110 Cipher : …………. Symmetric Key Crytography เป็ นอัลกอรึ ทึมที่ใช้คียอ์ นั เดียว ทั้งข้าเข้า(Encrypt)และขาออก (Decrypt) นอกจากนี้ยงั มีลกั ษณะของการใช้อลั กอริ ทึมที่ซบั ซ้อน เข้าผสมผสานหลายวิธี มี 2 ประเภทสาคัญ ได้แก่ Stream cipher Block cipher รู ปถัดไปแสดงแผนภาพพื้นฐานของ Symmetric key แผนภาพพื้นฐานของ Symmetric key Sender/Originator Plaintext Receiver Cryptosystem E Message Encrypt CTm CTm D Ciphertext Decrypt Key Key Cryptoavariable Message 1.Steam Cipher เป็ นการ Encrypt กับสาย stream หรื อสายอักขระนัน่ เอง โดย Plaintext ในระดับ bit จะถูกขับเคลื่อนผ่านcryptosystem ในลักษณะสายพาน และข้อมูลจะถูก encrypt แบบ bit by bit 0 Key 1011011 On a dark Plaintext 11110011 110 0 0 1 Keysteam 11010001 Ne I ptut Ciphertext 2.Block Cipher เป็ นการ Encrypt โดยจะแบ่ง Plaintext ออกเป็ น บล็อคๆก่อน จากนั้นข้อมูลจะถูก encryptแบบ block by block Plaintext On a dark Ptuf dark Ne j On a Cryptosystem Cipher Block Cipher Block 1 2 Ciphertext IV 2.1 Data Encryption Standard(DES) เป็ นเทคนิคการเข้ารหัสแบบ Symmetric key แบบหนึ่งซึ่งนิยม ใช้กนั แพร่ หลาย คิดค้นโดย IBM แบ่งออกเป็ น 2 ประเภทคือ Block และ Stream Block Modes Electronic Code Block (ECB) Cipher Block Chaining (CBC) Stream Modes Cipher Feed Back (CFB) Output Feed Back (OFB) Counter (CTR) Electronic Code Block (ECB) ข้อมูลจะถูกแบ่งออกเป็ น block และเข้ารหัสแยกจากกันอย่างอิสระ ใช้ key ตัวเดียวในการเข้ารหัส Plaintext Block 1 Plaintext Block 2 CipherText Block 1 CipherText Block 2 Plaintext Block 3 CipherText Block 3 Plaintext Block 4 CipherText Block 4 Cipher Block Chaining (CBC) เริม ่ มีการนา IV เข้ามาช่วย โดยจะนามา XOR กับ Plaintext ก่อนเข้ารหัส และผลลัพธ์ที่ได้ (Ciphertext Block) จะเป็ น IV ของ Plaintext ตัวต่อไป PTB1 PTB2 CTB1 CTB2 PTB3 PTB4 IV = XOR CTB3 CTB4 Cipher Feed Back (CFB) Steam mode แบบแรก มีความแตกต่างกับ CBC นิดเดียว คือ เราจะนา IV มาเข้ารหัสก่อน จากนั้นนาไป XOR PTB1 PTB2 CTB1 CTB2 PTB3 PTB4 IV = XOR CTB3 CTB4 Output Feed Back (OFB) เราจะนา IV มาเข้ารหัสก่อน เหมือน CFB แต่ผลลัพธ์ที่จะโยนไป ให้ Plaintext ต่อไป จะไม่ใช่ Ciphertext อีกต่อไป แต่จะนา IV ที่เข้ารหัสมาเขช้ารหัสซ้ าไปเรื่ อยๆ PTB1 PTB2 PTB3 PTB4 1 2 IV 1 CTB1 CTB2 3 4 2 3 CTB3 CTB4 Counter (CTR) วิธีสุดท้าย คล้าย OFB มากแต่จะเปลี่ยนจาก IV เป็ นตัวเลขตั้งต้นชุด หนึง(Counter) เสร็ จแล้วนามาเข้ารหัส ส่ วนตัวต่อๆไป คือการนา ตัวเลขชุดนั้นบวก 1 ไปเรื่ อยๆมาเข้ารหัสนัน่ เอง PTB1 PTB2 PTB3 PTB4 CTR CTR+1 CTB1 CTB2 CTR+2 CTB3 CTR+3 CTB4 ตารางสรุ ปคุณสมบัติของ DES ประเภทต่างๆ Mode Block/ Stream Mode Long/ Short SMS Serial/ Parallel Operation Possible Work that can be done in advance ECB Block Short Fully Parallel Keys CBC Block Long Fully Serial Keys and IV CFB Stream Long Fully Serial Keys and IV OFB Stream Long,But error are a problem Partially Serial and Parallel Most encryption CTR Stream Long Fully parallel Most encrpytion จุดเด่น และ จุดด้อย ของ DES จุดเด่น(Strength) เข้ารหัสได้ไว Very Fast ถอดได้ยาก Very difficult to break ciphertext วิธีการแพร่ หลายและเปิ ดเผย Algorithm and toold are freely available มีประสิ ทธิภาพสูง(Stream mode) Stream cipher are highly efficient เลือกได้หลายโหมด Block cipher offer multiple mode จุดเด่น และ จุดด้อย ของ DES(ต่อ) จุดด้อย(Weakness) ต้องใช้คีย ์ รวมไปถึงการต้องส่ งคียผ์ า่ นช่องทางการสื่ อสารอย่างใดอย่างหนึ่ ง ไปด้วย Key Negotiation/Exchange/Distribution การขยายขนาดของ คียท์ าได้ยาก Poor Scalability มีขีดจากัดทางด้านความปลอดภัย Limited Security Asymmetric Key Crytography วิธีน้ ีจะใช้คียส์ องตัวคือ Public key และ Private Key โดยใช้หลักการที่วา่ จะเข้าถึงข้อมูลได้ตอ้ งมีคียส์ องอันนี้ช่วยกัน นศ นึกถึงกล่องปริ ศนา หรื อขุมทรัพย์บางอย่างที่ตอ้ งใช้คยี ท์ ี่เป็ นสลักมา ประกบกันสองอัน จึงจะเปิ ดกล่องได้สาเร็ จ Public Key Algorithm ภาพนี้เน้นหลักไปที่การ พิสูจน์ตวั ตนของผูส้ ่ ง(Proof of Origin) Originator Receiver CTm E Message Encrypt CTm D Ciphertext Key Private Key of Originator Message Decrypt Key Public Key of Originator Public Key Algorithm Confidentiality and Proof of Origin Originator’s Perspective Message E Originator’ s Private Key CTm1 E CTm2 Reciever’s Public Key CTm2 D Reciever’s Private Key CTm1 D Originator’ s Public Key Messag จุดเด่น และ จุดด้อย จุดเด่น(Strength) ตอบสนองทางด้านความปลอดภัยทั้ง 3 ด้าน Confidentiality Integrity Access Control การรับประกันในการสื่ อสาร จุดดอย(Weakness) ้ ใช้การคานวณสู ง ทาให้ชา้ เพราะต้องตรวจสอบถึง 2 ครั้ง ** algorithm ที่ใช้ในปัจจุบนั คือ Rivest-ShamirAdleman(RSA) Message Integrity Control การเข้ารหัสแบบ Symmetric และ Asymmetric ที่พ่ งึ กล่าว ไป โดยมากจะเน้นหนักไปที่เรื่ องของ Confidentiality แต่ปัญหา ที่สาคัญอีกอย่างหนึ่งคือ Integrity จึงเป็ นที่มาของเรื่ องนี้ Message Integrity Control คือ การควบคุมความ ถูกต้องของข้อมูล โดยควบคุมไม่ไปแก้ไขข้อมูลด้วยไม่รับอนุญาติ ข้อดีของการใช้ message integrity control สามารถตรวจสอบการเปลี่ยนแปลง(ของไฟล์ที่ส่งผ่าน network ได้) Allows for the detection of alterations นาไปผสมผสานกับวิธีอื่นๆได้ message integrity control มี 2 ประเภทคือ Accidental change (ความผิดเล็กน้อย มักเกิดขึ้นที่ระดับบิต แบบไม่คาดฝัน) และ Intentional change (กลุ่มคนที่ ต้องการ hack ข้อมูล) Message Integrity Controls Accidental change Parity Intentional change Digital Signature Hash Function Keyed Hash HMAC Checksum CBC-MAC Hash Function หรื อ One-Way Function Hash Function มีประโยชน์อย่างมหาศาลในการเซ็นลายเซ็นต์ ทางอิเล็กทรอนิกส์เนื่องจากว่าฟังก์ชนั นี้สามารถนามาใช้หา ลักษณะเฉพาะของข้อมูลที่ตอ้ งการจะส่ งได้ หรื อเรี ยกอีกอย่างว่าสามารถ นามาใช้หา Finger Print ของข้อมูลที่แตกต่างกันออกไปตาม ลักษณะของข้อมูลนั้น ๆ คุณสมบัติของ Hash Function ยืนยันว่าเป็ นข้อมูลต้นฉบับแน่นอน ทางานทางเดียวยอนกลั บไมได ้ ่ ้ ใช้ฟังก์ชนั่ ซับซ้อน ป้ องกัน Birthday attack ได้ดี การใช้ hash ควรทาให้ขนาดข้อความเล็กลง Hash Function Hash Function ที่แพร่ หลายมี 2 รู ปแบบคือ MD2, MD4, MD5 เป็ นฟังก์ชนั Hash ที่ได้รับความนิยมมาก ทั้งสามฟังก์ชนั นี้ จะให้ Message Digest ที่มีขนาด 128 Bits ในการนาไปใช้งาน MD2 จะช้าที่สุดแต่ MD4 จะเร็ วที่สุด ส่ วน MD5 จะเป็ นที่นิยมนาไปใช้มากที่สุดเพราะไม่เร็ วและไม่ชา้ จนเกินไปรวมทั้งให้ ความปลอดภัยที่เพียงพอในการรักษาความปลอดภัยของข้อมูล SHA-1(Secure Hashing Algorithm) เป็ นระบบที่ได้รับ การรับรองให้ใช้เป็ น มาตรฐานโดยรัฐบาลสหรัฐฯ ระบบนี้จะให้ Message Digest ที่มีขนาด 160 Bits ซึ่ งจะมีขนาดที่ใหญ่กว่า MD5 แต่จะช้ากว่า 25% ปกติแล้วระบบ SHA-1 จะให้ความ ปลอดภัยที่สูงกว่า ระบบ MD5 Operation of Hash Function มีหลักการคือ เราจะนา plaintext มาเข้า hash function เพื่อให้ได้ digest ซึ่งจะนาไปแปะและส่ งไปกับ message จากนั้น ผูร้ ับจะนา Plaintext ที่ได้รับ นามาเข้า hash function เพื่อตรวจสอบว่า digest ตรงกันที่ได้รับมาหรื อไม่ Originator Message Receiver Message Message Digest Digest Message H H Verified Digest Digest Digest Digital Signatures วิธีน้ ีคือการ Hash บวกกับการเข้ารหัส digest ด้วยวิธีการ Asymmetric key สังเกตุจะพบว่าเป็ นการใช้ Asymmetric key ในมุมมอง proof of origin Originator Receiver Message Message Message H Digital Signature Digital Signature Private key E D Digest Message H Public key Verified Digest Digest Steganography steganography : วิทยาการอาพรางข้อมูล 10/04/58 คนอื่นไม่รู้เลยด้วยซ้ า ว่าเรามีขอ้ มูลเพราะเราสามารถซ่ อนข้อมูลลงไปในภาพ หรื อเสี ยงได้ คนอื่นมองมาก็นึกว่าเป็ นไฟล์ภาพหรื อเสี ยงธรรมดา ๆ ไม่รู้วา่ มัน มีขอ้ มูลซ่อนอยูข่ า้ งใน 50 Steganography คืออะไร Steganography เป็ นเทคนิ คการซ่ อนข้อความบนรู ปภาพคล้ายพรายน้ า บนธนบัตรหรื อการนาสบู่มาใช้เขียนข้อความลงบนกระดาษซึ่งกระดาษ ยังคงดูเหมือนกระดาษธรรมดาทัว่ ไปแต่เมื่อทาให้กระดาษเปี ยกน้ าก็จะ ปรากฏข้อความที่ถูกเขียนด้วยสบู่ข้ ึน แต่ในเชิงดิจิตอลแล้วก็คล้ายกันคือ การซ่อนไฟล์หรื อข้อความลงบนไฟล์รูปภาพแบบดิจิตอลซึ่งดูภายนอกก็ คล้ายกับไฟล์รูปภาพธรรมดาและยังมีการเข้ารหัสข้อมูลทาให้บุคคลที่ไม่ มีรหัสผ่านที่ถูกต้องก็จะไม่สามารถเข้าถึงข้อความที่ซ่อนอยู่ภายในภาพ ได้เช่นกัน 10/04/58 51 งาน ให้เขารหั สขอความ ้ ้ Beneath the milky twilight โดยใช้ Key D ให้ถอดรหัส ความลับ RTPHPG RXEWTG XH TPHN ID RGPRZ ให้เข้ารหัสแบบ vigenere คาว่า picture postcard from LA โดยใช้คีย ์ chicago เข้ารหัสแบบ Running Key โดย Plaintext =“Secure is easy” Key คือ encode ถอดรหัส แบบ Running key โดย Cipher text คือ “UVAJKW” Key คือ Securi Function Encrypt(ByVal PlainText As String, ByVal Key As Byte) As String 'แปลง plaintext ที่เป็ น string ให้เป็ น array ของตัวอักษร Dim PlainChar() As Char = PlainText.ToCharArray() Dim Ascii(PlainChar.Length) As Byte For Count As Byte = 0 To PlainChar.Length - 1 'แปลงตัวอักษรเป็ นรหัส ASCII ที่เป็ นตัวเลข Ascii(Count) = CByte(Asc(PlainChar(Count))) 'คัดเฉพาะตัวอักษร A-Z และ a-z นอกนั้นไม่มีการเข้ารหัส 'A-Z มีรหัส ASCII เป็ น 65-90 'a-z มีรหัส ASCII เป็ น 97-122 If Ascii(Count) >= 65 And Ascii(Count) <= 90 Then Ascii(Count) -= 65 'ให้ A-Z มีค่าเริ่ มต้นจาก 0 ถึง 25 ตามลาดับ Ascii(Count) = (Ascii(Count) + Key) Mod 26 Ascii(Count) += 65 'สามารถเขียนให้อยูใ่ นบรรทัดเดียวได้ 'Ascii(Count) = ((Ascii(Count) - 65 + Key) Mod 26) + 65 ElseIf Ascii(Count) >= 97 And Ascii(Count) <= 122 Then Ascii(Count) -= 97 'ให้ a-z มีค่าเริ่ มต้นจาก 0 ถึง 25 ตามลาดับ Ascii(Count) = (Ascii(Count) + Key) Mod 26 Ascii(Count) += 97 'สามารถเขียนให้อยูใ่ นบรรทัดเดียวได้ 'Ascii(Count) = ((Ascii(Count) - 97 + Key) Mod 26) + 97 End If 'แปลงตัวเลข ASCII กลับเป็ นตัวอักษร PlainChar(Count) = Chr(Ascii(Count)) Next โปรแกรมสาหรับการซ่อนพราง ปัจจุบน ั มีหลายโปรแกรมทีใ่ ช้สาหรับซ่อน พลางข้อมูล ซึ่งมีท้ งั โปรแกรมที่นิยมใช้ใน วินโดวน์และลีนุกส์ ในที่น้ ีจะ ยกตัวอย่างโปรแกรมที่เป็ ยที่นิยม ที่นกั สื บสวนคดีทางด้านนี้ควรทา ความคุน้ เคยไว้ Camouflages เป็ นโปรแกรมที่ใช้เทคนิคการซ่อนพรางข้อมูล แบบง่ายๆ สามารถ download ได้ฟรี ที่เว็บ camouflage.unfiction.com Jphide เป็ นโปรแกรมซ่อนพรางข้อมูลโดยใช้รูปภาพในการ ซ่อน เนื่องจาก พื้นที่ของรู ปภาพจะมีบางส่ วนที่ไม่ถูกใช้งาน ก็จะทาการ แทรกข้อมูลลงในภาพนั้นโดยอาศัยโครงสร้างของไฟล์ประเภท