Lompat ke isi

Sandi Playfair: Perbedaan antara revisi

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Konten dihapus Konten ditambahkan
Zleb (bicara | kontrib)
←Membuat halaman berisi '== Playfair Cipher == Playfair Cipher merupakan salah satu teknik kriptografi dimana pesan dienkripsi berdasarkan pasangan huruf (bigram), bukan huruf tungga...'
 
 
(41 revisi perantara oleh 21 pengguna tidak ditampilkan)
Baris 1: Baris 1:
{{Orphan|date=Oktober 2016}}
== Playfair Cipher ==


Playfair Cipher merupakan salah satu teknik [[kriptografi]] dimana pesan dienkripsi berdasarkan pasangan [[huruf]] ([[bigram]]), bukan huruf tunggal seperti [[cipher]] klasik lainnya. Playfair Cipher ditemukan oleh Sir [[Charles Wheatstone]] namun dipromosikan oleh [[Baron Lyon Playfair]] pada tahun 1854. Dibandingkan dengan [[sandi]]-sandi lainnya, Playfair Cipher dapat meningkatan keamanan dalam pengiriman sebuah pesan sehingga dapat memberikan jaminan [[integritas]] [[data]] serta menjaga kerahasiaan. Playfair Cipher digunakan oleh [[Inggris]] dalam melaksanakan strategi perangnya.
Dalam teknik ini [[pesan]] dienkripsi berdasarkan pasangan [[huruf]], bukan huruf [[tunggal]] seperti [[sandi klasik]] lainnya. Sandi ''Playfair'' ditemukan oleh [[ahli]] [[Fisika]] berkebangsaan [[Inggris]] bernama [[Sir Charles Wheatstone]] [[(1802 - 1875)]] namun dipromosikan oleh [[Baron Lyon Playfair]] [[(1819 - 1898)]] pada tahun [[1854]]. Dibandingkan dengan [[Sandi (disambiguasi)|sandi]]-sandi lainnya, sandi ''Playfair'' dapat meningkatan keamanan dalam pengiriman sebuah pesan rahasia sehingga dapat memberikan jaminan [[integritas]] [[data]] serta menjaga kerahasiaan. Sandi ''Playfair'' pertama kali digunakan untuk tujuan-tujuan taktis oleh [[pasukan]] Inggris dalam [[Perang Boer II]] dan [[Perang Dunia I]]. [[Australia]] dan [[Jerman]] juga menggunakan sandi ini untuk tujuan yang sama dalam [[Perang Dunia II]]. Sandi ''Playfair'' paling sering digunakan karena penggunaannya yang sangat sederhana dan tidak memerlukan peralatan khusus untuk membaca atau menerjemahkan suatu sandi yang bersifat rahasia. Pada perkembangan selanjutnya, sandi ini tidak lagi digunakan oleh pasukan [[militer]] karena telah muncul berbagai [[perangkat]] [[enkripsi]] [[digital]] untuk menerjemahkannya. Sandi ''Playfair'' dianggap tidak aman lagi untuk menjaga suatu kerahasiaan pesan karena [[komputer]] dengan [[peranti lunak]] tertentu dapat memecahkan suatu sandi dalam hitungan [[detik]].


Plyfair cipher menggunakan kunci 25 huruf yang disusun dalam [[bujur sangkar]] dengan menghilangkan huruf J dari [[abjad]]. Susunan kunci di dalam bujur sangkar diperluas dengan menambahkan kolom keenam dan baris keenam.
Sandi ''Playfair'' menggunakan 25 huruf sebagai [[kunci]] yang disusun dalam [[bujur sangkar]] dengan menghilangkan huruf J dari [[abjad]]. Susunan kunci di dalam bujur sangkar tersebut diperluas dengan menambahkan kolom keenam dan baris keenam.


== Karakteristik ==
* Merupakan salah satu sandi [[substitusi]], yaitu setiap huruf dalam plainteks diganti dengan huruf yang berada dalam papan kunci.
* Jumlah [[karakter]] pada sandi akan selalu genap.
* Perhitungan [[frekuensi]] kemunculan akan menghasilkan tidak lebih dari 25 karakter huruf karena huruf J tidak akan pernah muncul.
* Sandi ''Playfair'' hanya dapat digunakan untuk proses enkripsi dan dekripsi data yang berupa teks [[alphabet]], karakter yang tidak berupa teks alphabet dapat dihindari dengan menuliskannya dalam bentuk teks alphabet.
* Perulangan panjang akan muncul pada jumlah karakter huruf yang genap.
* Banyak kemungkinan [[transformasi]] untuk suatu pasangan huruf.


== Keunikan ==
'''Contoh Playfair Cipher'''
* Setiap karakter pada pasangan huruf tidak akan muncul pada sandi dengan karakter yang sama.
* Setiap karakter dalam pasangan huruf dapat direprentasikan dengan 5 karakter lain dalam suatu sandi.
* Setiap karakter huruf dapat merepresentasikan 5 karakter huruf lain.
* Setiap karakter tidak dapat merepresentasikan karakter yang dikombinasikan secara [[diagonal]].
* Ketika suatu karakter sandi sudah diinterpretasikan sebagai suatu substitusi dari karakter pasangan huruf, ada 20% kemungkinan bahwa karakter tersebut merepresentasikan karakter pasangan huruf yang sama pada kemunculan lain.


== Keunggulan ==
'''''Tabel kunci bujur sangkar'''''
Keunggulan sandi ''Playfair'' dibandingkan dengan sandi klasik lainnya adalah:
* Proses enkripsi dan [[dekripsi]] data menggunakan [[kombinasi]] dua huruf sehingga [[kriptanalis]] yang menggunakan teknik [[analisis]] frekuensi sangat sulit untuk memecahakan sandi ''playfair''.
* Tabel kunci hanya digunakan sekali karena terdapat kemungkinan tabel kunci tersebut telah dipecahkan oleh pihak yang tidak berkepentingan.


== Kelemahan ==
* Kunci dapat dipilih dari sebuah kalimat yang mudah diingat, misalnya: ILMU KOMUNIKASI
Kelemahan sandi ''Playfair'' dibandingkan dengan sandi klasik lainnya adalah:
* Buang huruf yang berulang dan huruf J jika ada, sehingga menjadi ILMUKONAS
* Sandi ''Playfair'' dengan mudah dapat dipecahkan dengan menggunakan teknik frekuensi [[ditribusi]] ganda, yaitu dengan menghitung frekuensi kemunculan pasangan dua huruf sandi yang kemudian dibandingkan dengan frekuensi pasangan dua huruf pada suatu [[bahasa]].
* Lalu tambahkan huruf-huruf yang belum ada (kecuali J) yaitu ILMUKONASBCDEFGHPQRTVWXYZ
* Sandi''Playfair'' tidak menggunakan huruf J dalam tabel kunci sehingga bisa menimbulkan [[makna]] atau arti ganda pada saat memecahkan atau menerjemahkan suatu sandi.
* Masukkan ke dalam bujur sangkar
* Sandi''Playfair'' tidak cocok digunakan untuk menyampaikan pesan rahasia yang cukup panjang.


== Contoh ==
{| class="wikitable"
* Tabel kunci bujur sangkar
** Memilih kunci dari sebuah [[kata]] atau [[kalimat]] yang mudah diingat, misalnya: <code>ELDORIDO</code>.
** Membuang huruf yang berulang dan huruf J jika ada, sehingga menjadi: <code>ELDORI</code>.
** Menambahkan huruf-huruf yang belum ada (kecuali J), sehingga akan menjadi: <code>ELDORIABCFGHKMNPQSTUVWXYZ</code>.
** Memasukkan kunci tersebut ke dalam bujur sangkar.

{| class="wikitable" style="font-family:courier new;"
|-
|-
| I || L || M || U || K
| E || L || D || O || R
|-
|-
| O || N || A || S || B
| I || A || B || C || F
|-
|-
| C || D || E || F || G
| G || H || K || M || N
|-
|-
| H || P || Q || R || T
| P || Q || S || T || U
|-
|-
| V || W || X || Y || Z
| V || W || X || Y || Z
|}
|}


Jumlah kemungkinan kunci adalah, 25!=15.511.210.043.330.985.984.000.000
* Jumlah kemungkinan kunci adalah, 25!=15.511.210.043.330.985.984.000.000.
* Memperluas susunan kunci di dalam bujur sangkar dengan menambahkan [[kolom]] keenam dan [[baris]] keenam.
* Tabel kunci akan menjadi:


{| class="wikitable" style="font-family:courier new;"
Susunan kunci di dalam bujur sangkar diperluas dengan menambahkan kolom keenam dan baris Keenam

Sehingga tabel kunci akan menjadi:

{| class="wikitable"
|-
|-
| I || L || M || U || K || I
| E || L || D || O || R || E
|-
|-
| O || N || A || S || B || O
| I || A || B || C || F || I
|-
|-
| C || D || E || F || G || C
| G || H || K || M || N || G
|-
|-
| H || P || Q || R || T || H
| P || Q || S || T || U || P
|-
|-
| V || W || X || Y || Z || V
| V || W || X || Y || Z || V
|-
|-
| I || L || M || U || K ||
| E || L || D || O || R ||
|}
|}


'''''Pesan yang ingin disampaikan adalah [[Teknologi]] [[Komunikasi]]'''''
* Pesan [[rahasia]] yang akan disampaikan misalnya adalah "<code>TEKNOLOGI KOMUNIKASI</code>"

Pesan yang akan disamarkan diatur terlebih dahulu sebagai berikut

* Ganti huruf dengan J (bila ada) dengan huruf I
* Tulis pesan dalam pasangan huruf
* Jangan sampai ada pasangan huruf yang sama. Jika ada, sisipkan Z di tengahnya
* Jika jumlah huruf ganjil, tambahkan huruf Z di akhir


Pesan yang akan dienkripsi menjadi:

<u>TE</u> <u>KN</u> <u>OL</u> <u>OG</u> <u>IK</u> <u>OM</u> <u>UN</u> <u>IK</u> <u>AS</u> <u>IZ</u>

[[Algoritma]] [[enkripsi]] adalah sebagai berikut:

* Jika ada dua huruf terdapat pada baris kunci yang sama maka tiap huruf diganti dengan huruf di kanannya (pada kunci yang sudah diperluas)
* Jika dua huruf terdapat pada kolom kunci yang sama maka tiap huruf diganti dengan huruf di bawahnya (pada kunci yang sudah diperluas)
* Jika dua huruf tidak pada baris yang sama atau kolom yang sama, maka huruf pertama diganti dengan huruf pada perpotongan baris huruf pertama dengan kolom huruf kedua. Huruf kedua diganti dengan huruf pada titik sudut keempat dari persegi panjang yang dibentuk dari 3 huruf yang digunakan sampai sejauh ini


Cara mengubah pesan menjadi sandi adalah sebagai berikut:
* Mengganti huruf J (bila ada) dengan huruf I.
* Menulis pesan dalam pasangan huruf.
* Jika terdapat pasangan huruf yang sama, maka harus disisipkan huruf X di tengahnya.
* Jika jumlah huruf [[ganjil]], maka harus ditambahkan huruf X di akhir kunci.


Pesan dienkripsi menjadi:
Plainteks (dalam pasangan huruf):


<u>TE</u> <u>KN</u> <u>OL</u> <u>OG</u> <u>IK</u> <u>OM</u> <u>UN</u> <u>IK</u> <u>AS</u> <u>IZ</u>
<code><u>TE</u> <u>KN</u> <u>OL</u> <u>OG</u> <u>IK</u> <u>OM</u> <u>UN</u> <u>IK</u> <u>AS</u> <u>IZ</u></code>


[[Algoritme]] [[enkripsi]] adalah sebagai berikut:
Cipherteksnya adalah


* Jika terdapat dua huruf pada baris kunci yang sama maka masing-masing huruf diganti dengan huruf di kanannya (pada kunci yang sudah diperluas).
QG LB NI BC LI AI LS LI SB KV
* Jika terdapat dua huruf pada kolom kunci yang sama maka masing-masing huruf diganti dengan huruf di bawahnya (pada kunci yang sudah diperluas).
* Jika dua huruf tidak terdapat pada baris atau kolom yang sama, maka huruf pertama diganti dengan huruf pada perpotongan baris huruf pertama dengan kolom huruf kedua. Huruf kedua diganti dengan huruf pada titik sudut keempat dari persegi panjang yang dibentuk dari 3 huruf yang digunakan.
* Kata sandi
** Pesan rahasia yang akan disampaikan atau plainteks (pasangan huruf) adalah <code><u>TE</u> <u>KN</u> <u>OL</u> <u>OG</u> <u>IK</u> <u>OM</u> <u>UN</u> <u>IK</u> <u>AS</u> <u>IZ</u></code>
** Kata sandi dari pesan rahasia yang disampaikan (Cipherteks) adalah <code>PO MG RD EM BG CT ZU BG BQ FV</code>


== Dekripsi sandi ==
Dekripsi adalah proses mengubah kata sandi (cipherteks) menjadi kata terang (plainteks). Proses dekripsi sangat mirip dengan proses enkripsi dan lebih mudah dilakukan. Untuk melakukan proses dekripsi, cipherteks dikelompokkan terlebih dahulu dalam pasangan huruf seperti pada saat enkripsi, kemudian menggunakan [[algoritme]] dekripsi yang merupakan kebalikan dari algoritme enkripsi untuk setiap pasangan huruf tersebut.


Algoritme dekripsi sebagai berikut
== Pranala Luar ==
* Jika terdapat dua huruf pada baris kunci yang sama maka masing-masing huruf diganti dengan huruf di kirinya (pada kunci yang sudah diperluas).
[http://www.simonsingh.net/The_Black_Chamber/playfaircipher.htm]
* Jika terdapat dua huruf pada kolom kunci yang sama maka masing-masing huruf diganti dengan huruf di atasnya (pada kunci yang sudah diperluas).
[http://www.geocities.com/CapeCanaveral/8341/playfair.htm]
* Jika dua huruf tidak terdapat pada baris atau kolom yang sama, maka huruf pertama diganti dengan huruf pada perpotongan baris huruf pertama dengan kolom huruf kedua. Huruf kedua diganti dengan huruf pada perpotongan baris huruf kedua dengan kolom huruf pertama.
* Jika terdapat huruf yang berada di antara dua huruf yang sama (tidak sesuai pada tempatnya), maka huruf tersebut dapat dihilangkan.


== Pranala luar ==
* [http://www.simonsingh.net/The_Black_Chamber/playfaircipher.htm Playfair Cipher] {{Webarchive|url=https://web.archive.org/web/20080911002125/http://www.simonsingh.net/The_Black_Chamber/playfaircipher.htm |date=2008-09-11 }}
* [http://www.docstoc.com/docs/11365013/Pengenalan-Kriptografi Pengenalan Kriptografi]
* [http://www.trumpetpower.com/Papers/Crypto/Playfair Playfair] {{Webarchive|url=https://web.archive.org/web/20100303193255/http://trumpetpower.com/Papers/Crypto/Playfair |date=2010-03-03 }}


[[Kategori:Sandi sederhana]]
————
[[Kategori:Penemuan Inggris]]

Revisi terkini sejak 7 Maret 2023 05.51


Dalam teknik ini pesan dienkripsi berdasarkan pasangan huruf, bukan huruf tunggal seperti sandi klasik lainnya. Sandi Playfair ditemukan oleh ahli Fisika berkebangsaan Inggris bernama Sir Charles Wheatstone (1802 - 1875) namun dipromosikan oleh Baron Lyon Playfair (1819 - 1898) pada tahun 1854. Dibandingkan dengan sandi-sandi lainnya, sandi Playfair dapat meningkatan keamanan dalam pengiriman sebuah pesan rahasia sehingga dapat memberikan jaminan integritas data serta menjaga kerahasiaan. Sandi Playfair pertama kali digunakan untuk tujuan-tujuan taktis oleh pasukan Inggris dalam Perang Boer II dan Perang Dunia I. Australia dan Jerman juga menggunakan sandi ini untuk tujuan yang sama dalam Perang Dunia II. Sandi Playfair paling sering digunakan karena penggunaannya yang sangat sederhana dan tidak memerlukan peralatan khusus untuk membaca atau menerjemahkan suatu sandi yang bersifat rahasia. Pada perkembangan selanjutnya, sandi ini tidak lagi digunakan oleh pasukan militer karena telah muncul berbagai perangkat enkripsi digital untuk menerjemahkannya. Sandi Playfair dianggap tidak aman lagi untuk menjaga suatu kerahasiaan pesan karena komputer dengan peranti lunak tertentu dapat memecahkan suatu sandi dalam hitungan detik.

Sandi Playfair menggunakan 25 huruf sebagai kunci yang disusun dalam bujur sangkar dengan menghilangkan huruf J dari abjad. Susunan kunci di dalam bujur sangkar tersebut diperluas dengan menambahkan kolom keenam dan baris keenam.

Karakteristik

[sunting | sunting sumber]
  • Merupakan salah satu sandi substitusi, yaitu setiap huruf dalam plainteks diganti dengan huruf yang berada dalam papan kunci.
  • Jumlah karakter pada sandi akan selalu genap.
  • Perhitungan frekuensi kemunculan akan menghasilkan tidak lebih dari 25 karakter huruf karena huruf J tidak akan pernah muncul.
  • Sandi Playfair hanya dapat digunakan untuk proses enkripsi dan dekripsi data yang berupa teks alphabet, karakter yang tidak berupa teks alphabet dapat dihindari dengan menuliskannya dalam bentuk teks alphabet.
  • Perulangan panjang akan muncul pada jumlah karakter huruf yang genap.
  • Banyak kemungkinan transformasi untuk suatu pasangan huruf.
  • Setiap karakter pada pasangan huruf tidak akan muncul pada sandi dengan karakter yang sama.
  • Setiap karakter dalam pasangan huruf dapat direprentasikan dengan 5 karakter lain dalam suatu sandi.
  • Setiap karakter huruf dapat merepresentasikan 5 karakter huruf lain.
  • Setiap karakter tidak dapat merepresentasikan karakter yang dikombinasikan secara diagonal.
  • Ketika suatu karakter sandi sudah diinterpretasikan sebagai suatu substitusi dari karakter pasangan huruf, ada 20% kemungkinan bahwa karakter tersebut merepresentasikan karakter pasangan huruf yang sama pada kemunculan lain.

Keunggulan

[sunting | sunting sumber]

Keunggulan sandi Playfair dibandingkan dengan sandi klasik lainnya adalah:

  • Proses enkripsi dan dekripsi data menggunakan kombinasi dua huruf sehingga kriptanalis yang menggunakan teknik analisis frekuensi sangat sulit untuk memecahakan sandi playfair.
  • Tabel kunci hanya digunakan sekali karena terdapat kemungkinan tabel kunci tersebut telah dipecahkan oleh pihak yang tidak berkepentingan.

Kelemahan

[sunting | sunting sumber]

Kelemahan sandi Playfair dibandingkan dengan sandi klasik lainnya adalah:

  • Sandi Playfair dengan mudah dapat dipecahkan dengan menggunakan teknik frekuensi ditribusi ganda, yaitu dengan menghitung frekuensi kemunculan pasangan dua huruf sandi yang kemudian dibandingkan dengan frekuensi pasangan dua huruf pada suatu bahasa.
  • SandiPlayfair tidak menggunakan huruf J dalam tabel kunci sehingga bisa menimbulkan makna atau arti ganda pada saat memecahkan atau menerjemahkan suatu sandi.
  • SandiPlayfair tidak cocok digunakan untuk menyampaikan pesan rahasia yang cukup panjang.
  • Tabel kunci bujur sangkar
    • Memilih kunci dari sebuah kata atau kalimat yang mudah diingat, misalnya: ELDORIDO.
    • Membuang huruf yang berulang dan huruf J jika ada, sehingga menjadi: ELDORI.
    • Menambahkan huruf-huruf yang belum ada (kecuali J), sehingga akan menjadi: ELDORIABCFGHKMNPQSTUVWXYZ.
    • Memasukkan kunci tersebut ke dalam bujur sangkar.
E L D O R
I A B C F
G H K M N
P Q S T U
V W X Y Z
  • Jumlah kemungkinan kunci adalah, 25!=15.511.210.043.330.985.984.000.000.
  • Memperluas susunan kunci di dalam bujur sangkar dengan menambahkan kolom keenam dan baris keenam.
  • Tabel kunci akan menjadi:
E L D O R E
I A B C F I
G H K M N G
P Q S T U P
V W X Y Z V
E L D O R
  • Pesan rahasia yang akan disampaikan misalnya adalah "TEKNOLOGI KOMUNIKASI"

Cara mengubah pesan menjadi sandi adalah sebagai berikut:

  • Mengganti huruf J (bila ada) dengan huruf I.
  • Menulis pesan dalam pasangan huruf.
  • Jika terdapat pasangan huruf yang sama, maka harus disisipkan huruf X di tengahnya.
  • Jika jumlah huruf ganjil, maka harus ditambahkan huruf X di akhir kunci.

Pesan dienkripsi menjadi:

TE KN OL OG IK OM UN IK AS IZ

Algoritme enkripsi adalah sebagai berikut:

  • Jika terdapat dua huruf pada baris kunci yang sama maka masing-masing huruf diganti dengan huruf di kanannya (pada kunci yang sudah diperluas).
  • Jika terdapat dua huruf pada kolom kunci yang sama maka masing-masing huruf diganti dengan huruf di bawahnya (pada kunci yang sudah diperluas).
  • Jika dua huruf tidak terdapat pada baris atau kolom yang sama, maka huruf pertama diganti dengan huruf pada perpotongan baris huruf pertama dengan kolom huruf kedua. Huruf kedua diganti dengan huruf pada titik sudut keempat dari persegi panjang yang dibentuk dari 3 huruf yang digunakan.
  • Kata sandi
    • Pesan rahasia yang akan disampaikan atau plainteks (pasangan huruf) adalah TE KN OL OG IK OM UN IK AS IZ
    • Kata sandi dari pesan rahasia yang disampaikan (Cipherteks) adalah PO MG RD EM BG CT ZU BG BQ FV

Dekripsi sandi

[sunting | sunting sumber]

Dekripsi adalah proses mengubah kata sandi (cipherteks) menjadi kata terang (plainteks). Proses dekripsi sangat mirip dengan proses enkripsi dan lebih mudah dilakukan. Untuk melakukan proses dekripsi, cipherteks dikelompokkan terlebih dahulu dalam pasangan huruf seperti pada saat enkripsi, kemudian menggunakan algoritme dekripsi yang merupakan kebalikan dari algoritme enkripsi untuk setiap pasangan huruf tersebut.

Algoritme dekripsi sebagai berikut

  • Jika terdapat dua huruf pada baris kunci yang sama maka masing-masing huruf diganti dengan huruf di kirinya (pada kunci yang sudah diperluas).
  • Jika terdapat dua huruf pada kolom kunci yang sama maka masing-masing huruf diganti dengan huruf di atasnya (pada kunci yang sudah diperluas).
  • Jika dua huruf tidak terdapat pada baris atau kolom yang sama, maka huruf pertama diganti dengan huruf pada perpotongan baris huruf pertama dengan kolom huruf kedua. Huruf kedua diganti dengan huruf pada perpotongan baris huruf kedua dengan kolom huruf pertama.
  • Jika terdapat huruf yang berada di antara dua huruf yang sama (tidak sesuai pada tempatnya), maka huruf tersebut dapat dihilangkan.

Pranala luar

[sunting | sunting sumber]