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 เป็ นโปรแกรมซ่อนพรางข้อมูลโดยใช้รูปภาพในการ
ซ่อน เนื่องจาก พื้นที่ของรู ปภาพจะมีบางส่ วนที่ไม่ถูกใช้งาน ก็จะทาการ
แทรกข้อมูลลงในภาพนั้นโดยอาศัยโครงสร้างของไฟล์ประเภท