• Atbash cipher lebih mudah tetapi kurang selamat
kerana tidak menggunakan kunci dalam proses
penyulitan dan nyahsulit mesej.
Caesar Cipher
• Paling awal digunakan.
• Menggerakkan abjad berdasarkan kata kunci
• Dikenali sebagai shift cipher ( sifer anjakan ).
• Penyulitan teks biasa ( plaintext ) dilakukan dengan menggantikan setiap
abjad dalam teks itu dengan abjad lain dalam susunan abjad , iaitu dengan
menganjakkan abjad dalam susunan abjad.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
A B C D E F G H I J K LMN O P Q R S T U VWX Y Z
• Kata Kunci = Shift of 5 kunci = 5 Caesar Cipher
Shift in front / Anjakan ke Kiri
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
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
Cipher F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
Latihan : Encrypt dan decrypt dengan caesar cipher
Encrypt / Penyulitan : Plaintext
1. HELLO RED , ORANGE , YELLOW AND GREEN , kunci = 5
2. SIAPAKAH GURU ASK ANDA? PN LAI YEN WEI , kunci = 10
Ciphertext = “?”
Decrypt / Nyahsulitan: Cipher text dengan kunci = 19
1. MAX LXVKXM BL B EHOX TLD
2. AHUB LTRT BTETA FXGZDTCB TLD !
MXMTIB LTRT ZNKTN LTATCT
Plaintext = “?”
• Kata Kunci = 10
Shift to front
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
A B C D E F G H I J K LMN O P Q R S T U VWX Y Z
K LMN O P Q R S T U VWX Y Z A B C D E F G H I J
Encrypt / Penyulitan : Plaintext
2. SIAPAKAH GURU ASK ANDA? PN LAIYEN WEI
Ciphertext = “?”
CSKZKUKR QEBE KXNK? ZX VKS IOX GOS
• Kata Kunci = Shift of 19 Shift T in front
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
A B C D E F G H I J K LMN O P Q R S T U VWX Y Z
T U VWX Y Z A B C D E F G H I J K L MN O P Q R S
decrypt / Nyahsulitan: Cipher text
1. MAX LXVKXM BL B EHOX TLD
Plaintext = “?”
THE SECRET IS I LOVE ASK
Keyword cipher ( Caesar cipher )
• Kata Kunci = ZOMBI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
A B C D E F G H I J K LMN O P Q R S T U VWX Y Z
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
A B C D E F G H I J K LMN O P Q R S T U VWX Y Z
Z OM B I A C D E F G H J K L N P Q R S T U VWX Y
Keyword cipher ( Caesar cipher )
• Kata Kunci = ZOMBI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
A B C D E F G H I J K LMN O P Q R S T U VWX Y Z
Z OMB I A C D E F G H J K L N P Q R S T U VWX Y
decrypt / Nyahsulitan: Cipher text
1. JX CLBKIRR ! UIQX IZRX
Plaintext = “?”
MY GODNESS ! VERY EASY !
Keyword cipher ( Caesar cipher )
• Kata Kunci = SEJUK
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
A B C D E F G H I J K LMN O P Q R S T U VWX Y Z
S E J U K A B C D F G H I LMN O P Q R T VWX Y Z
Encrypt/ Penyulitan: Plaintext
1. HARI INI SANGAT PANAS
Ciphertext = “?”
CSPD DLD QSLBSR NSLSQ
PigPen Cipher (tic-tac-toe)
◼ Substitution cipher geometri yang mudah
◼ Menukar abjad asal kepada simbol grafik yang sepadan
seperti rajah di bawah.
◼ Mudah digunakan kerana penyulitan dan nyahsulit dapat
dilakukan dengan mudah jika simbol-simbol grafik diketahui.
◼ Garis sempadan menghasilkan simbol grafik unit dalam
Pigpen Cipher ialah kunci bagi sifer ini.
Encrypt / Penyulitan:
Plaintext: “WE ARE THE WORLD”
Ciphertext: ?
A B C D E F G H I J K L MNO P Q R S T U VWX Y Z
12 3 4 5 6 7 8 9 0
Nyahsulit /decrypt cipher text
Plaintext ? PN L AI 39
U MU R
Transposition cipher Transposition cipher mengubahkan
a. Columnar Transposition kedudukan abjad dalam teks biasa.
b. Rail Fence Cipher
Abjad-abjad yang terkandung dalam teks
biasa adalah tetap.
Perubahan ini dikenali sebagai pemutaran
atau pencampuran ( scrambling )
Memerlukan kunci dalam penyulitan dan
nyahsulitan.
Columnar Transposition
1. Sifer tranposisi yang menyulitkan satu mesej dengan menulisnya dalam jadual
secara mendatar ( Horizontal ) dengan bilangan lajur ( columnar ) yang telah
ditetapkan.
2. Satu perkataan dipilih sebagai kunci penyulitan.
3. Bilangan kunci akan menentukan bilangan lajur dalam jadual. ( Key =格子)
4. Abjad dalam kunci akan menentukan cara bagi mengubah urutan abjad-abjad
dalam mesej. ( 加密的排法依照KEY的A到Z顺序)
5. Bilangan baris = Bilangan abjad dalam tek biasa ÷ bilangan abjad dalam kunci
Columnar Transposition
1. Proses Penyulitan ( Encryption ) :
a) Kenal pastikan kunci. Dapatkan kunci . Bilangan lajur = Bilangan kunci . Isikan
kunci di baris pertama kemudian isikan baris kedua dengan susunan abjad kunci
berdasarkan urutan dari A-Z.
b) Hitungkan bilangan baris untuk teks biasa dengan formula :
Bilangan baris = Bilangan abjad dalam tek biasa ÷ bilangan abjad dalam kunci
c) Kembangkan jadual berdasarkan Bilangan baris yang didapatkan daripda
langkah b.
d) Isikan teks biasa ( plaintext ) ke dalam jadual dari kiri ke kanan , baris demi
baris secara mendatar ( 横左去右) .
e) Selepas semua teks dimasukkan, Petak-petak kosong diisikan dengan sebarang
abjad demi bagi memenuhi jadual.
f) Teks sifer ( ciphertext) dihasilkan dengan menuliskan dari Lajur 1 mula atas ke
bawah diikuti Lajur seterusnya.
Bilangan Lajur = Bilangan abjad kunci 4. Ciphertext dibacakan mula lajur 1 dari atas ke
( Key 的字母数量 )
bawah sehingga lajur terakhir.
Kunci = PINTU ( 5个字母 所以就有5排上到下) Cipher的读法是从第一排 ( L1)上到下到最后
一排。
L1 , L2, L3, L4, L5
1. Susunan abjad kunci P I NTU
mengikut urutan ( key
的顺序排法 a-z ) 31245
3. Tuliskan mesej plaintext 2. Baris = bil abjad plaintext ÷ bil
secara mendatar dari kiri
ke kanan mula baris abjad kunci
pertama hingga ke baris 行 = Mesej 的字母数量 ( ÷ ) KUNCI
的字母数量
terakhir.
Sekiranya , terdapat petak
kosong, isikan petak
kosong dengan sebarang
abjad ( A-Z)
把MESEJ从左到右填写在格子从第一行写到最后一行。
如果有多余的空格就随便填写 A-Z
L3 L5 L4 L1 L2
排 排排 排 排
P I NTU KUNCI
3 1 2 4 5 KUNCI 的排法 :
依照A-Z的顺序
Baris 1 ( 第一行) 排写 1-5 从左到右
如果重复的写最左边的先
Baris 2 ( 第二行) Cth :
NAAN
Baris 3 ( 第三行) 3 1 24
Baris 4 ( 第四行)
Columnar Transposition - Penyulitan ( Encryption )
KUNCI = PINTU
Plaintext = “ SENARAI PENDEK PEMAIN BOLA SEPAK ”
Ciphertext = ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
S E N A R A I P E N D E K P EMA I
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
NBOLA S E PAK
Columnar Transposition - Penyulitan ( Encryption )
KUNCI = PINTU
Plaintext = “ SENARAI PENDEK PEMAIN BOLA SEPAK ”
Bilangan kunci = 5
Bilangan abjad PLAINTEXT = 28
Bilangan lajur ( 排) = 5
Bilangan Baris ( 行) = 28 ÷ 5
= 5.6
=6
( 一定要大过的整数不能有小数点, 不然不够格子写 )
如 : 5.1 = 6 , 5.01 = 6
KUNCI = PINTU Plaintext = “ SENARAI PENDEK PEMAIN BOLA SEPAK ”
PINTU 有5个字 代表有 5 排从上到下
Susunan abjad kunci P I NTU
mengikut urutan 31245
( 跟着A-Z 顺序排法 写
1-5 ) 画好表格
Baris 1 ( 第1行)
Baris 2 ( 第2行)
Baris 3 ( 第3行)
Baris 4 ( 第4行)
Baris 5 ( 第5行)
Baris 6 ( 第6行)
KUNCI = PINTU Plaintext = “ SENARAI PENDEK PEMAIN BOLA SEPAK ”
CIPHER TEXT ( L1 – L5 )从上到下
L3 L1 L2 L4 L5
P I N T U CIPHER TEXT ( 根据第
L1 到L5的格子写从上到下)
PLAINTEXT 写
3 1 2 4 5 L1 = EIEALA
进画好的表格。 Baris S E N A R L2 = NPKIAK
从左到右从第 L3 = SADMOP
一行开始填写 A I P E N L4 = AEPNSX
到完最后一行 D E K P E L5 = RNEBEX
MA I N B
OLAS E
P AKXX
注意 : 一定要把L1 到 L5 里面的所有空格填满
剩下的两个空格, 随便加( A-Z) 两个字母如 :“ X”
CIPHER TEXT :
EIEALA NPKIAKSADMOP AEPNSX RNEBEX
Columnar Transposition - Penyulitan ( Encryption )
JAWAPAN
KUNCI = PINTU
Plaintext = “GURU ASK PN LAI YEN WEI”
Ciphertext = ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
G U R U A S K P N L A I Y E NWE I
Bilangan kunci = 5 等于 Bilangan lajur = 5
Bilangan abjad = 18
Bilangan Baris = 18 ÷ 5
= 3. 6
=4
KUNCI = PINTU
Plaintext = “GURUASK PN LAI YEN WEI”
P I NTU
31245
GURUA
SKPNL
A I YEN
WE I X X
KUNCI = PINTU Plaintext = “GURUASK PN LAI YEN WEI”
L1 L2 L3 L4 L5
UKIE RPYI GSAW UNEX ALNX
CIPHER TEXT ( 根据第L1的格子写从上到下)一直填写到L5
P I NTU
PLAINTEXT 加密第一行 31245
baris开始从左到右到最后 GURUA
一行。 SKPNL
A I YEN
WE I X X
你会发现剩下的两个空格随便填写A_Z“ X” 。
CIPHER TEXT : UKIE RPYI GSAW UNEX ALNX
Columnar Transposition
1. Proses Nyahsulit ( Decryption ) :
a) Kenal pastikan kunci. Dapatkan kunci . Bilangan lajur = Bilangan kunci . Isikan
kunci di baris pertama kemudian isikan baris kedua dengan susunan abjad kunci
berdasarkan urutan dari A-Z.
b) Hitungkan bilangan baris untuk teks biasa dengan formula :
Bilangan baris = Bilangan abjad dalam tek sifer ÷ bilangan abjad dalam kunci
c) Kembangkan jadual berdasarkan Bilangan baris yang didapatkan daripda
langkah b.
d) Isikan teks sifer ( ciphertext) ke dalam jadual pada Lajur pertama mula dari atas
ke bawah secara menegak ( Vertical ) ( 直上到下) diikuti lajur seterusnya.
e) Selepas semua teks sifer dimasukkan, bacakan teks biasa (plaintext ) secara
mendatar dari kiri ke kanan baris demi baris mula baris pertama hingga ke baris
terakhir . ( PLAINTEXT 破解第一行开始从左到右解码到最后一行)
Columnar Transposition - Nyahsulitan ( Decryption )
KUNCI = PINTU
CIPHER TEXT :
EIEALA NPKIAKSADMOP AEPNSX RNEBEX
Plaintext = “ ? ”
Columnar Transposition - Nyahsulitan ( Decryption )
KUNCI = PINTU ( 5个字 代表 LAJUR = 5 )
CIPHER TEXT :
EIEALA NPKIAKSADMOP AEPNSX RNEBEX
Plaintext = “ ? ”
Bilangan kunci = 5
Bilangan abjad = 30
Bilangan lajur = 5
Bilangan Baris = 30 ÷ 5
=6
Columnar Transposition - Nyahsulitan ( Decryption )
KUNCI = PINTU ( 5个字 )
CIPHER TEXT :
EIEALA NPKIAKSADMOP AEPNSX RNEBEX
Bilangan kunci = 5 ( 代表有5排 :L1, L2 ,L3 ,L4 , L5 )
Bilangan Baris = 6 ( 代表有6 行 )
有6行就代表我们可以从ciphertext 分解 6个字变成一排
EIEALA NPKIAKSADMOP AEPNSX RNEBEX
L1 L2 L3 L4 L5
EIEALA NPKIAK SADMOP AEPNSX RNEBEX
L1 L2 L3 L4 L5
EIEALA NPKIAK SADMOP AEPNSX RNEBEX
CIPHER TEXT ( 根据第L1的格子写从上到下)一直填写到L5
KUNCI = PINTU P I NTU
31245
ciphertext破解 : Baris 第一行 S E N A R
PLAINTXET 读第一行 baris
第二行 A I P E N
开始从左到右解码到最后
一行。 第三行 D E K P E
第四行 M A I N B
第五行 O L A S E
第六行 P A K X X
你会发现剩下的两个空格“ X” 是没有意思的不用理他 。
Plaintext :SENARAI PENDEK PEMAIN BOLA SEPAK ”
Columnar Transposition - Nyahsulitan ( Decryption )
LATIHAN SOALAN 3
KUNCI = PINTU
CIPHER TEXT :
UKIE RPYI GSAW UNEX ALNX
Plaintext = “ ? ”
Bilangan kunci =
Bilangan abjad =
Bilangan lajur =
Bilangan Baris =
=
Columnar Transposition - Nyahsulitan ( Decryption )
JAWAPAN SOALAN 3
KUNCI = PINTU
CIPHER TEXT :
UKIE RPYI GSAW UNEX ALNX
Plaintext = “ ? ”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
U K I E R P Y I G S AWU N E X A L N X
Bilangan kunci = 5
Bilangan abjad = 20
Bilangan lajur = 5
Bilangan Baris = 20 ÷ 5
=4
CIPHER TEXT : UKIE RPYI GSAW UNEX ALNX
L1 L2 L3 L4 L5
UKIE RPYI GSAW UNEX ALNX
1. CIPHER TEXT ( 根据第L1的格子写从上到下)一直填写到L5
2. PLAINTEXT 破解第一行 P I NTU
baris开始读从左到右到最 31245
后一行。 GURUA
SKPNL
A I YEN
WE I X X
你会发现剩下的两个格XX,没有意思不用管它。
Plaintext = “GURUASK PN LAI YEN WEI”
Rail Fence ( Zig-Zag) Cipher
1. Penyulitan abjad-abjad dalam teks biasa ditulis semula mengikut susunan baris
demi baris dan mengikut corak zig-zag.
2. Memerlukan kunci untuk menyatakan baris yang dikehendaki. (行=KEY的数字)
3. Lajur adalah mengikut jumlah bilangan abjad dalam teks biasa. (格子=plaintext的
字母)
4. Lukiskan Petak Fence dan tandakan petak dalam corak zig-zag
5. Proses Penyulitan ( Encryption ) :
a) Tuliskan Plaintext dalam bentuk zig-zag ( pagar )
b) Teks sifer dibacakan melintang mengikutkan susunan baris . (写从第一行左到右
写)
6. Proses Nyahsulit ( Decryption ) :
a. Tuliskan teks sifer baris demi baris mengikut petak yang telah ditanda.
b. Plaintext dibacakan dalam bentuk zig-zag ( pagar )
PLAINTEXT CHIPERTEXT
ZIGZAG BY ROW
Rail Fence ( Zig-Zag) Cipher
Encryption
Kunci = 4
Plaintext = “TULIS MESEJ PLAINTEXT ” CIPHER TEXT = ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
T U L I SME S E J P L A I N T E X T
Lajur ( column) 格子 = PlainText的字数量
cth : TULIS MESEJ PLAINTEXT – 19个字母
Baris ( row ) 行 = Key
cth : Kunci = 4 就代表有4行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
k1
k2
k3
k4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
k1 T E A T
k2 U MS LI X
k3 L S EP NE
k4 I J T
1. 用zig-zag 排法的方式把 Plaintext 写进格子.
2. 跟着每一行的Key list Out by row
K1 : TEAT
K2 : UMSLIX
K3 : LSEPNE
K4 : IJT
3. Cipher text : TEAT UMSLIX LSEPNE IJT
RAIL FENCE CIPHER – ENCRYPTION ( PENYULITAN )
Plaintext
1. INDAHNYA LAUTAN HINDI
KUNCI = 4
Ciphertext = “?”
Jumlah bilangan abjad dalam mesej = 19
Bilangan lajur = Bilangan abjad mesej
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
I N D A H N Y A L A U T ANH I N D I
Baris lajur = Jumlah bilangan abjad teks biasa
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
KUNCI k1 I Y A I
k2 N NA TN D
k3 D H LU HN
k4 A A I
TULISKAN PLAINTEXT
B1 B3
Ciphertext = IYAI NNATND DHLUH NAAI
B2 B4
Kunci = 6
Plaintext = “GURU ASK PN LAI YEN WEI ” CIPHER TEXT = ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
G U R U A S K P N L A I Y E NWE I
Lajur ( column) 格子 = PlainText的字数量 = 18
Baris ( row ) 行 = Key
cth : Kunci = 6 就代表有6行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
k1 G A
k2 U LI
k3 R NY
k4 U P EI
K5 A K NE
K6 S W
1. 用zig-zag 排法的方式把 Plaintext 写进格子.
2. 跟着每一行的Key list Out by row
K1 : GA K2 : ULI K3 : RNY
K4 : UPEI K5 : AKNE K6 : SW
3. Cipher text : GAULIRNYUPEIAKNESW
Rail Fence ( Zig-Zag) Cipher
Decryption ( Nyahsulit )
Rail Fence ( Zig-Zag) Cipher Decryption ( Nyahsulit )
Kunci = 4
Ciphertext = “TEAT UMSLIX LSEPNE IJT ” Plaintext = ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
T E A T UMS L I X L S E P N E I J T
Lajur ( column) 格子 = CIPHERText的字母数量 =19个字母
Baris ( row ) 行 = Kunci = 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
k1
k2
k3
k4
Cipher text : TEAT UMSLIX LSEPNE IJT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
k1 T E A T
k2 U MS LI X
k3 L S EP NE
k4 I J T
1. 跟着每一行(Baris)的排法 把乱码( ciphertext )写进每一个
highlight的格子从K1 左到右开始填写到最后一行。
2.用zig-zag 排法的方式把 Plaintext破解.
Plain text :TULIS MESEJ PLAINTEXT
Kunci = 6
Cipher text : GAULIRNYUPEIAKNESW
Plaintext = ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
GAU L I RN Y UP E I A KN E SW
Lajur ( column) 格子 = PlainText的字数量 = 18
Baris ( row ) 行 = Key
cth : Kunci = 6 就代表有6行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
k1
k2
k3
k4
K5
K6
1. 用zig-zag 排法的方式把 格子highligh。
2. 跟着每一行的把 Cipher text : GAULIRNYUPEIAKNESW写在
highlight的格子。
3. 用zig-zag 排法的方式把 Plaintext 破解.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
k1 G A
k2 U LI
k3 R NY
k4 U P EI
K5 A K NE
K6 S W
1. 用zig-zag 排法的方式把 格子highligh。
2. 跟着每一行的把 Cipher text : GAULIRNYUPEIAKNESW写在
highlight的格子。-→
3. 用zig-zag 排法的方式把 Plaintext 破解.
GURU ASK PN LAI YEN WEI
Faedah-faedah pembangunan algoritma :
a. Memahami bagaimana komputer memproses urutan
tindakan-tindakan yang perlu dilaksanakan.
b. Mempelajari cara menulis algoritma yang teratur, mudah
dibaca dan difahami.
c. Mempelajari cara menulis algoritma dengan cekap.
d. Mempelajari cara melakukan penambahbaikan pada
algoritma.