|
พร้อม?...โจมตี!
|

อ่านต่อนที่แล้วๆ ในฉบับก่อนๆ ได้ที่นี่ครับ
|
แฮ่! BOO! สุขสันต์วัน Halloween ครับ กลัวไหม กลัวไหม
อ้าว... ไม่กลัวเหรอ วันหลังต้องหารูปที่น่ากลัวกว่านี้มาลงเสียแล้ว
ตอนแรกผมกะว่า จะเอารูปตัวเองตอนตื่นนอนใหม่ๆมาลง แต่กลัวแฟนคอลัมน์จะแตกตื่นหนีหายไปกันหมดเสียก่อน
รูปเจ้าเหมียวนี่ขโมยมาจาก dpst.net ครับ เค้ากำลังประกวดภาพถ่ายกันอยู่
เผลอหน่อยเดียวขึ้นเดือนใหม่อีกแล้ว (ต้องส่งต้นฉบับอีกแล้วล่ะสิเนี่ย)
เวลาผ่านไปเร็วจริง แล้วไม่ได้ผ่านไปเฉยๆด้วยนะ แถมเอารอยตีนกามาแปะเพิ่มให้ผมอีก
แหม..ทำยังกับว่าตีนกาเราเป็นวงปีต้นไม้อย่างนั้นแหละ
แต่ก็ดีนะ ดูมีอาวุโสขึ้น ไม่งั้นเดี๋ยวคนเข้าใจผิดหาว่าเรารุ่นเดียวกับน้องแพรว
คูณสาม อิอิ
|
ผมพูดถึงระบบรหัสลับมาสองสามระบบแล้ว คราวนี้มาเปลี่ยนบรรยากาศลองโจมตีระบบกันมั่งดีกว่านะครับ
ฉบับที่แล้วได้เกริ่นถึง วิธีการหาอย่างละเอียด(exhaustive search)
ซึ่งเป็นวิธีโจมตีระบบที่ฝรั่งเค้าเรียกว่า naive (นา-อีฟ) แปลเป็นไทยก็คือ
ไร้เดียงสา ซื่อบริสุทธิ์ ทำไมน่ะหรือครับ ก็เพราะเป็นวิธีที่เห็นๆกันอยู่
ใครๆก็คิดได้ เพียงแค่ลองใช้กุญแจที่เป็นไปได้ทั้งหมดเท่านั้น
กุญแจอันไหนไขระบบได้ ก็ถือว่าคุณโจมตีระบบได้แล้ว ไม่มีอะไรยุ่งยาก
ไม่มีเคล็ดลับซับซ้อนให้ต้องปวดหัวกินยาทัมใจ วิธีโจมตีระบบแบบนี้ใช้ได้กับทุกๆระบบรหัสลับ
(แต่จะโจมตีสำเร็จหรือไม่ก็อีกเรื่องหนึ่งครับ) ดังนั้นวิธีนี้เป็นวิธีที่นักออกแบบระบบใช้วัดระดับความปลอดภัยของระบบ
วัดกันอย่างไรน่ะหรือครับ ขนาดของกลุ่มกุญแจ(key space)ไงครับ
กลุ่มกุญแจก็คือกลุ่มของกุญแจที่อาจจะสามารถใช้ไขข้อมูลได้ ถ้ากลุ่มกุญแจมีขนาดใหญ่
exhaustive search ก็จะใช้เวลานาน อาจจะเป็นล้านๆปีเลยทีเดียว
สำหรับระบบรหัสลับสมัยใหม่ เราใช้คอมพิวเตอร์ในการ encrypt/decrypt
ข้อมูล ตัวกุญแจเองก็เป็นตัวเลข ขนาดของกลุ่มกุญแจขึ้นอยู่กับขนาดของตัวกุญแจนี่เองครับ
ท่านผู้อ่านอาจจะสงสัยว่ามันเกี่ยวกันอย่างไร คืออย่างนี้นะครับ
คอมพิวเตอร์มองตัวเลขทุกตัวในรูปของเลขฐานสอง ซึ่งก็ประกอบไปด้วยตัวเลข
0 และ 1 อย่างเช่น 10010 ในเลขฐานสองก็หมายถึง 18 ในเลขฐานสิบ
เลข 10010 มีตัวเลขทั้งหมด 5 หลัก เราเรียกว่า ตัวเลขนี้มีขนาด
5 บิท (คำว่า บิท หรือ bit มาจาก binary digit) ลองคิดดูสิครับว่าตัวเลขขนาด
5 บิท มีทั้งหมดกี่ตัว ติ๊ก ต็อก ติ๊ก ต็อก ติ๊ก ต็อก หมดเวลา....คำตอบก็คือ
25 = 32 ตัวครับ โดยทั่วไปแล้วตัวเลขขนาด n
บิท มีทั้งหมด 2n ตัว(ทำไมละเออ) ถ้าเราใช้กุญแจขนาด
5 บิท กลุ่มกุญแจของเราก็จะมีขนาด 32 ซึ่งถือว่าน้อยมากครับ
ระบบรหัสลับปัจจุบันที่ใช้บนอินเตอร์เนตมีสองเกรดครับ คือแบบที่ใช้กุญแจขนาด
40 บิท กับ 128 บิท แน่นอนครับ แบบ 128 บิทต้องปลอดภัยกว่าอยู่แล้ว
แต่ทำไมเค้าไม่ใช้ 128 บิทให้หมดล่ะ ทำไมต้องมี 40 บิทด้วย นั่นก็เพราะเหตุผลทางการเมืองครับ
อย่างสหรัฐอเมริกาเค้ามีกฏหมายว่า ถ้าจะส่งออกซอฟแวร์ที่เกี่ยวกับระบบรหัสลับ
จะต้องใช้กุญแจห้ามใหญ่เกิน 40 บิทสำหรับ symetric cryptosystems
และห้ามใหญ่เกิน 512 บิทสำหรับ public-key cryptosystems ทั้งนี้เพื่อความมั่นคงของประเทศครับ
เค้าว่ากันว่า ถ้าพยายามลักลอบส่งออกซอฟแวร์ที่ใช้กุญแจเกินกว่าที่กำหนด
ก็เหมือนกับพยายามลักลอบส่งออกรถถังหรือระเบิดมิสไซล์เลยทีเดียว
สำหรับตัวเลขที่รัฐบาลกำหนดมาให้ นักวิทยาการรหัสลับเค้าถือว่า
มีความปลอดภัยต่ำครับ เพราะคอมพิวเตอร์สมัยนี้เร็วเหลือเกิน
แต่หลังๆได้ยินข่าวมาว่า รัฐบาลอเมริกาเริ่มจะผ่อนปรนเรื่องขนาดของกุญแจ
เพราะเอกชนมีความต้องการใช้ระบบรหัสลับที่มีความปลอดภัยสูงกันมาก
โดยเฉพาะใช้ในการค้าขาย ก็มันยุคโลกาภิวัฒน์นี่ครับ
กลุ่มกุญแจที่มีขนาดใหญ่ ไม่ได้หมายความว่าระบบนั้นจะมีความปลอดภัยสูงเสมอไปครับ
ดูตัวอย่างจากระบบรหัสลับแบบสับเปลี่ยนจากฉบับที่แล้ว กลุ่มกุญแจมีขนาดใหญ่จริง
แต่มีวิธีอื่นที่จะโจมตีระบบโดยไม่ต้องลองกุญแจทั้งหมด วิธีหนึ่งที่ใช้ได้ผลกับระบบนี้ก็คือ
การวิเคราะห์ความถี่ (Frequency Analysis) ทำอย่างไรน่ะหรือครับ
นับตัวอักษรครับ นับดูว่าตัวอักษรที่ปรากฏใน ciphertext ปรากฏตัวละกี่ครั้ง
หรือพูดอีกอย่างก็คือ นับความถี่ของตัวอักษรแต่ละตัวที่ปรากฏใน
ciphertext ยกตัวอย่างเช่น ใน ciphertext
LAG TEM KA PMTGDXHGI DA VM
มี A 3 ตัว D 2 ตัว E 1 ตัว ฯลฯ จากนั้นเราก็คิดความถี่เป็นเปอร์เซนต์
อย่างเช่น A มีความถี่ (3/21)x100 = 14.29% (21 คือจำนวนตัวอักษรทั้งหมดใน
ciphertext) D มีความถี่ (2/21)x100= 9.52% ฯลฯ จากนั้นเราก็เอามาเทียบกับความถี่ของตัวอักษรจากข้อความทั่วๆไป
ธรรมดาๆ ที่เราพบเห็นในชีวิตประจำวัน หรือไม่ก็ใช้ตารางต่อไปนี้
| ตัวอักษร |
เปอร์เซนต์ความถี่ |
a
b
c
d
e
f
g
h
i
j
k
l
m |
8.2
1.5
2.8
4.3
12.7
2.2
2.0
6.1
7.0
0.2
0.8
4.0
2.4 |
|
| ตัวอักษร |
เปอร์เซนต์ความถี่ |
n
o
p
q
r
s
t
u
v
w
x
y
z |
6.7
7.5
1.9
0.1
6.0
6.3
9.1
2.8
1.0
2.4
0.2
2.0
0.1 |
|
ตารางที่ 1 แสดงเปอร์เซนต์ความถี่ซึ่งได้จากการนับตัวอักษรจากตัวอย่างข้อความในหนังสือพิมพ์และนวนิยายต่างๆ
รวมทั้งหมด 100,362 ตัวอักษร ตารางนี้รวบรวมโดย H. Beker และ
F. Piper ตีพิมพ์ครั้งแรกใน Cipher systems: the Protection
Of Communication
ในการเทียบ เราดูว่าแต่ละตัวอักษรใน ciphertext มีเปอร์เซนต์ความถี่ใกล้เคียงกับตัวอักษรใดในตารางข้างบน
จากนั้นเราก็เดาเอาว่า ตัวอักษรนั้นถูกแทนด้วยตัวอักษรใน ciphertext
ที่เรากำลังเทียบอยู่ พูดๆไปอาจจะงง มาดูตัวอย่างกันเลยดีกว่า
สมมุติว่า ciphertext ของผมเป็นอย่างนี้นะครับ
TWZXSTWZPJC WOVDS TWQS NC KSSO ZXS OPTPZC VK VNF PDZSOOPLSDJS.
KVF ES JWD WOEWHC CNMMVCS PD ZXS JWCS VK WD SIMSFPTSDZ ZXWZ
PZ PC PDSIMOPJWGOS GSJWNCS ES RVD'Z XWMMSD ZV XWAS WOO ZXS
RWZW. PD TWZXSTWZPJC ES XWAS WOO ZXS RWZW . . . WDR HSZ ES
RVD'Z NDRSFCZWDR. ES WOEWHC JVTS GWJQ ZV ZXS JVDZSTMOWZPVD
VK VNF XNTWD EFSZJXSRDSCC. EXWZ KVFJS PC PD FSOWZPVD ZV VNF
EPOO, ZXS PTMSDSZFWGOS VMWJPZH VK TWZXSTWZPJC PC PD FSOWZPVD
ZV VNF PDZSOOPLSDJS.
พอจับเข้าเครื่องวิเคราะห์ความถี่แล้วก็ได้ตารางความถี่ดังนี้
| ตัวอักษร |
ความถี่ |
เปอร์เซนต์ความถี่ |
A
B
C
D
E
F
G
H
I
J
K
L
M |
2
0
17
26
10
12
4
4
2
15
7
2
9 |
0.57
0.00
4.83
7.39
2.84
3.41
1.14
1.14
0.57
4.26
1.99
0.57
2.56 |
|
| ตัวอักษร |
ความถี่ |
เปอร์เซนต์ความถี่ |
N
O
P
Q
R
S
T
U
V
W
X
Y
Z |
9
21
26
2
8
49
13
0
24
37
16
0
37 |
2.56
5.97
7.39
0.57
2.27
13.92
3.69
0.00
6.82
10.51
4.55
0.00
10.51 |
|
ตารางที่ 2 แสดงเความถี่ซึ่งได้จากการนับตัวอักษรจาก
ciphertext ข้างบน รวมทั้งหมด 352 ตัวอักษร
ท่านผู้อ่านคงจะสังเกตุเห็นว่า S มีความถี่สูงสุด คือ 13.92%
เมื่อเทียบกับตารางที่ 1 แล้ว ใกล้เคียงกับ e ดังนั้น S ใน ciphertext
น่าจะแทน e ใน plaintext เมื่อลองแทนแล้ว ก็จะได้ดังนี้
(ผมขอใช้ตัวพิมพ์ใหญ่เพื่อแสดงถึงตัวอักษรใน ciphertext และตัวพิมพ์เล็กเพื่อแสดงถึงตัวอักษรใน
plaintext ที่ถูกแทนนะครับ ท่านผู้อ่านอาจจะลองใช้ substitution
Java applet จากฉบับที่แล้ว
มาลองเล่นไปพร้อมๆกับผมก็ได้ )
TWZXeTWZPJC WOVDe TWQe NC KeeO ZXe OPTPZC VK VNF PDZeOOPLeDJe.
KVF Ee JWD WOEWHC CNMMVCe PD ZXe JWCe VK WD eIMeFPTeDZ ZXWZ
PZ PC PDeIMOPJWGOe GeJWNCe Ee RVD'Z XWMMeD ZV XWAe WOO ZXe
RWZW. PD TWZXeTWZPJC Ee XWAe WOO ZXe RWZW . . . WDR HeZ Ee
RVD'Z NDReFCZWDR. Ee WOEWHC JVTe GWJQ ZV ZXe JVDZeTMOWZPVD
VK VNF XNTWD EFeZJXeRDeCC. EXWZ KVFJe PC PD FeOWZPVD ZV VNF
EPOO, ZXe PTMeDeZFWGOe VMWJPZH VK TWZXeTWZPJC PC PD FeOWZPVD
ZV VNF PDZeOOPLeDJe.
ลองสังเกตุนะครับว่า ZXe ปรากฎขึ้นหลายที่มาก ลองเดาสิครับว่า
ZX น่าจะแทนด้วยอะไร (เหมือนเล่น Hangman ไงครับ ลองทายว่า _
_ e เป็นคำว่าอะไร ที่เกิดขึ้นบ่อยในภาษาอังกฤษ) ใช่แล้วครับ
คำว่า the น่าจะเป็นไปได้่มากที่สุด ลองแทน Z ด้วย t และ X ด้วย
h กัน
TWtheTWtPJC WOVDe TWQe NC KeeO the OPTPtC VK VNF PDteOOPLeDJe.
KVF Ee JWD WOEWHC CNMMVCe PD the JWCe VK WD eIMeFPTeDt thWt
Pt PC PDeIMOPJWGOe GeJWNCe Ee RVD't hWMMeD tV hWAe WOO the
RWtW. PD TWtheTWtPJC Ee hWAe WOO the RWtW . . . WDR Het Ee
RVD't NDReFCtWDR. Ee WOEWHC JVTe GWJQ tV the JVDteTMOWtPVD
VK VNF hNTWD EFetJheRDeCC. EhWt KVFJe PC PD FeOWtPVD tV VNF
EPOO, the PTMeDetFWGOe VMWJPtH VK TWtheTWtPJC PC PD FeOWtPVD
tV VNF PDteOOPLeDJe.
ทีนี้ลองกลับมาดูตารางที่ 2 ดูอีกที จะเห็นว่า W กับ Z มีความถี่สูงสุดรองลงมาจาก
S เราแทน Z ด้วย t ไปแล้ว W น่าจะเป็นอะไรครับเมื่อเทียบกับตารางที่
1 ใช่แล้วครับ น่าจะเป็น a ใช่ไหมครับ ลองมาแทนดู
TatheTatPJC aOVDe TaQe NC KeeO the OPTPtC VK VNF PDteOOPLeDJe.
KVF Ee JaD aOEaHC CNMMVCe PD the JaCe VK aD eIMeFPTeDt that
Pt PC PDeIMOPJaGOe GeJaNCe Ee RVD't haMMeD tV haAe aOO the
Rata. PD TatheTatPJC Ee haAe aOO the Rata . . . aDR Het Ee
RVD't NDReFCtaDR. Ee aOEaHC JVTe GaJQ tV the JVDteTMOatPVD
VK VNF hNTaD EFetJheRDeCC. Ehat KVFJe PC PD FeOatPVD tV VNF
EPOO, the PTMeDetFaGOe VMaJPtH VK TatheTatPJC PC PD FeOatPVD
tV VNF PDteOOPLeDJe.
ชักเริ่มเข้าท่าแล้วใช่ไหมครับ เริ่มเห็นคำคุ้นตา อย่าง the,
that ทีนี้ลองมาดูคำนี้ haAe คุ้นๆนะ คำคล้ายๆกัน ก็มี
have, hate เป็นต้น แต่คำว่า have จะเห็นบ่อยกว่า ลองแทน A ด้วย
v ละกันแล้วดูว่าเป็นยังไง
TatheTatPJC aOVDe TaQe NC KeeO the OPTPtC VK VNF PDteOOPLeDJe.
KVF Ee JaD aOEaHC CNMMVCe PD the JaCe VK aD eIMeFPTeDt that
Pt PC PDeIMOPJaGOe GeJaNCe Ee RVD't haMMeD tV have aOO the
Rata. PD TatheTatPJC Ee have aOO the Rata . . . aDR Het Ee
RVD't NDReFCtaDR. Ee aOEaHC JVTe GaJQ tV the JVDteTMOatPVD
VK VNF hNTaD EFetJheRDeCC. Ehat KVFJe PC PD FeOatPVD tV VNF
EPOO, the PTMeDetFaGOe VMaJPtH VK TatheTatPJC PC PD FeOatPVD
tV VNF PDteOOPLeDJe.
รู้สึกว่า Ee จะมีหลายที่ และดูเหมือนจะเป็นประธานของกิริยา
have (หรือ hate เราก็ยังไม่รู้) ด้วย แต่ที่แน่ๆ ไม่ใช่สรรพนามบุรุษที่สาม
ดังนั้น เราน่าจะเดาได้ว่าคำนี้น่าจะเป็น we ลองแทน E ด้วย w
กันครับ
TatheTatPJC aOVDe TaQe NC KeeO the OPTPtC VK VNF PDteOOPLeDJe.
KVF we JaD aOwaHC CNMMVCe PD the JaCe VK aD eIMeFPTeDt that
Pt PC PDeIMOPJaGOe GeJaNCe we RVD't haMMeD tV have aOO the
Rata. PD TatheTatPJC we have aOO the Rata . . . aDR Het we
RVD't NDReFCtaDR. we aOwaHC JVTe GaJQ tV the JVDteTMOatPVD
VK VNF hNTaD wFetJheRDeCC. what KVFJe PC PD FeOatPVD tV VNF
wPOO, the PTMeDetFaGOe VMaJPtH VK TatheTatPJC PC PD FeOatPVD
tV VNF PDteOOPLeDJe.
อ้า คำว่า what โผล่ขึ้นมา น่าจะมาถูกทาง เอ๊ะ! คำ tV นี่เกิดหลายที่เหลือเกิน
นี่ก็แสดงให้เห็นว่า V ต้องเป็นสระแน่นอน แล้ว tV น่าจะเป็นอะไรละครับ
ครับผม to น่าจะเป็นไปได้มากสุด ลองแทนดูนะครับ
TatheTatPJC aOoDe TaQe NC KeeO the OPTPtC oK oNF PDteOOPLeDJe.
KoF we JaD aOwaHC CNMMoCe PD the JaCe oK aD eIMeFPTeDt that
Pt PC PDeIMOPJaGOe GeJaNCe we RoD't haMMeD to have aOO the
Rata. PD TatheTatPJC we have aOO the Rata . . . aDR Het we
RoD't NDReFCtaDR. we aOwaHC JoTe GaJQ to the JoDteTMOatPoD
oK oNF hNTaD wFetJheRDeCC. what KoFJe PC PD FeOatPoD to oNF
wPOO, the PTMeDetFaGOe oMaJPtH oK TatheTatPJC PC PD FeOatPoD
to oNF PDteOOPLeDJe.
สังเกตุไหมครับว่า มีคำที่มีสองตัวอักษรที่ขึ้นต้นด้วย P เยอะพอสมควร
อย่างเช่น PD, Pt, PC คำว่า Pt น่าจะใบ้ให้เราเดาว่า P น่าจะเป็นสระ
a, e, o ก็ใช้ไปแล้ว ก็น่าจะเป็น i ใช่ไหมครับ เพราะ it เป็นคำมีความหมาย
ลองแทนดูนะครับ
TatheTatiJC aOoDe TaQe NC KeeO the OiTitC oK oNF iDteOOiLeDJe.
KoF we JaD aOwaHC CNMMoCe iD the JaCe oK aD eIMeFiTeDt that
it iC iDeIMOiJaGOe GeJaNCe we RoD't haMMeD to have aOO the
Rata. iD TatheTatiJC we have aOO the Rata . . . aDR Het we
RoD't NDReFCtaDR. we aOwaHC JoTe GaJQ to the JoDteTMOatioD
oK oNF hNTaD wFetJheRDeCC. what KoFJe iC iD FeOatioD to oNF
wiOO, the iTMeDetFaGOe oMaJitH oK TatheTatiJC iC iD FeOatioD
to oNF iDteOOiLeDJe.
สังเกตุคำว่า wiOO , aOO เป็นคำที่ลงท้ายด้วยตัวอักษรเหมือนกันสองตัว
น่าจะเป็นอะไรล่ะครับ ครับผม O แทนด้วย l ครับ
TatheTatiJC aloDe TaQe NC Keel the liTitC oK oNF iDtelliLeDJe.
KoF we JaD alwaHC CNMMoCe iD the JaCe oK aD eIMeFiTeDt that
it iC iDeIMliJaGle GeJaNCe we RoD't haMMeD to have all the
Rata. iD TatheTatiJC we have all the Rata . . . aDR Het we
RoD't NDReFCtaDR. we alwaHC JoTe GaJQ to the JoDteTMlatioD
oK oNF hNTaD wFetJheRDeCC. what KoFJe iC iD FelatioD to oNF
will, the iTMeDetFaGle oMaJitH oK TatheTatiJC iC iD FelatioD
to oNF iDtelliLeDJe.
เริ่มเห็นคำคุ้นๆเยอะขึ้นแล้วใช่ไหมครับ อย่างเช่น aloDe ก็น่าจะเป็น
alone (D<-n) ดังนั้น RoD't ก็น่าจะเป็น don't (R<-d)
คำว่า iDtelliLeDJe ก็กลายเป็น intelliLenJe ก็น่าจะเดาได้ว่า
เป็น intelligence (L<-g, J<-c) วรรคที่ว่า we alwaHC
ก็น่าจะเป็น we always (H<-y, C<-s) คำว่า TatheTatiJC
ก็กลายเป็น TatheTatics ก็น่าจะหมายถึง mathematics (T<-m)
ไปเรื่อยๆครับ คำนึงโยงไปอีกคำนึง สนุกครับ เหมือนเล่นเกม หรือถ้าเดาไม่ออก
ก็ดูความถี่ประกอบ สุดท้ายเราก็จะได้
mathematics alone make us feel the limits of our intelligence.
for we can always suppose in the case of an experiment that
it is inexplicable because we don't happen to have all the
data. in mathematics we have all the data . . . and yet we
don't understand. we always come back to the contemplation
of our human wretchedness. what force is in relation to our
will, the impenetrable opacity of mathematics is in relation
to our intelligence.
ข้อความนี้เป็นคำพูดของ Simone Weil (1909-43) นักปราชญ์ชาวฝรั่งเศสครับ
แปลได้ดังนี้ครับ
"คณิตศาสตร์อย่างเดียวก็ทำให้เรารู้สึกถึงความจำกัดของสติปัญญาของเรา
ในการทดลองอะไรก็ตาม เรามักจะบอกว่าสิ่งนั้นสิ่งนี้ให้คำอธิบายไม่ได้เพราะเรามีข้อมูลไม่ครบ
แต่ในคณิตศาสตร์เรามีข้อมูลทั้งหมดอยู่ในนั้น และเราก็ยังไม่เข้าใจมัน
เมื่อกลับมาไตร่ตรองถึงความทุกข์ทรมาณของมนุษย์ อำนาจที่เกี่ยวข้องกับเจตนารมณ์ของเรา
ก็เหมือนกับความหนาทึบที่ไม่สามารถทะลุทะลวงได้ของคณิตศาสตร์ที่เกี่ยวข้องกับสติปัญญาของเรา"
สรุปแล้วการวิเคราะห์ความถี่ก็เป็นการโจมตีโดยอาศัยความถี่ของตัวอักษรบางตัวของภาษาเพื่อช่วยในการเดา
นอกจากนี้เราก็อาศัย ธรรมชาติของคำ (อย่างเช่น คำส่วนใหญ่ต้องมีสระ)
ไวยากรณ์ คำที่มีบ่อยในภาษา และการเดาผิดเดาถูก เพื่อช่วยในการโจมตี
การวิเคราะห์ความถี่นี่ใช้ได้ดีกับ ciphertext ที่ียาวๆครับ
ถ้า ciphertext มีขนาดสั้น อาจจะทำให้เดาได้ยาก และเดาผิดได้มาก
เพราะตารางความถี่ที่เราได้ อาจจะไม่สอดคล้องกับตารางความถี่ในตารางที่่
1
ก่อนจะไป ผมมี ciphertext อีกอันไว้ให้ท่านผู้อ่านลองไปโจมตีเล่นด้วยครับ
QSU ORJQ AUVXQDCXI UORQDRW HU GVW UZKUPDUWGU DJ QSU OMJQDGVI.
DQ DJ QSU KRHUP RC VII QPXU VPQ VWY JGDUWGU. SU QR HSRO QSDJ
UORQDRW DJ V JQPVWEUP, HSR GVW WR IRWEUP HRWYUP VWY JQVWY
PVKQ DW VHU, DJ VJ ERRY VJ YUVY. QR LWRH QSVQ HSVQ DJ DOKUWUQPVAIU
QR XJ PUVIIM UZDJQJ, OVWDCUJQDWE DQJUIC VJ QSU SDESUJQ HDJYRO
VWY QSU ORJQ PVYDVWQ AUVXQM, HSDGS RXP YXII CVGXIQDUJ GVW
GROKPUSUWY RWIM DW QSUDP ORJQ KPDODQDNU CRPOJ-QSDJ LWRHIUYEU,
QSDJ CUUIDWE, DJ VQ QSU GUWQUP RC QPXU PUIDEDRXJWUJJ. DW QSDJ
JUWJU, VWY DW QSDJ JUWJU RWIM, D AUIRWE QR QSU PVWL RC YUNRXQIM
PUIDEDRXJ OUW.
Albert Einstein (1879-1955)
เจอกันฉบับหน้าครับ
|