Anda di halaman 1dari 23

10.

1 Dari caesar cipher ke kriptografi kunci publik


Secara klasik, pembuatan dan pemecahan kode rahasia biasanya terbatas pada diplomatic dan
praktik militer. dengan meningkatnya jumlah data digital yang disimpan dan dikomunikasikan oleh sistem
pemrosesan data elektronik, organisasi di sektor publik dan komersial telah merasakan kebutuhan untuk
melindungi informasi dari intrusi yang tidak diinginkan. Memang, meluasnya penggunaan transfer dana
elektronik telah membuat privasi menjadi masalah utama dalam sebagian besar transaksi keuangan. Ada
ini telah menjadi gelombang minat baru-baru ini oleh matematikawan dan ilmuwan komputer dalam
kriptografi (dari bahasa Yunani kryptos yang berarti tersembunyi dan makna graphein untuk menulis),
ilmu membuat komunikasi tidak dapat dipahami oleh semua orang kecuali pihak yang berwenang.
kriptografi adalah satu-satunya cara praktis yang dikenal untuk melindungi informasi yang ditransmisikan
melalui jaringan komunikasi publik, seperti yang menggunakan saluran telepon, gelombang mikro, atau
satelit.
Dalam bahasa kriptografi, di mana kode disebut sandi, informasi yang disembunyikan disebut
plaintext. Setelah transformasi ke bentuk rahasia, sebuah pesan disebut ciphertext. proses konversi dari
plaintext ke ciphertext dikatakan sebagai enkripsi (atau penyandian), sedangkan proses kebalikan dari
mengubah dari ciphertext kembali ke plaintext disebut decrypting (atau deciphering).
Salah satu sistem kriptografi paling awal digunakan oleh kaisar roma besar Julius Caesar sekitar
50 SM Caesar menulis kepada Marcus Cicero menggunakan cipher substitusi yang belum sempurna di
mana setiap huruf alfabet digantikan oleh huruf yang terjadi tiga tempat di bawah alfabet, dengan tiga
huruf terakhir disikluskan kembali ke tiga huruf pertama. Jika kita menulis setara ciphertext di bawah
huruf plaintext, alfabet pengganti untuk cipher Caesar diberikan oleh
Plaintext: 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
Chipertext: 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
Misalnya, pesan teks biasa
CAESAR HEBAT
ditransformasikan ke dalam chipertext
FSHVDU ZDV JUHDW
Cipher Caesar dapat digambarkan dengan mudah menggunakan teori kongruensi. plaintext apa pun
pertama kali diekspresikan secara numerik dengan menerjemahkan karakter teks ke dalam digit melalui
beberapa korespondensi seperti berikut:
A B C D E F G H I J K L M
00 01 02 03 04 05 06 07 08 09 10 11 12

N O P Q R S T U V W X Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
Jika P adalah padanan digital dari huruf plaintext dan C adalah padanan digital dari huruf ciphertext yang
sesuai, maka
C = P + 3 (mod 26)
Jadi, misalnya, surat-surat pesan saya Persamaan. (1) dikonversi menjadi setara:
02 00 04 18 00 17 22 00 18 06 17 04 00 19
menggunakan kongruensi C = P + 3 (Mod 26), ini menjadi ciphertext
05 03 07 21 03 20 25 03 21 09 20 07 03 22
untuk memulihkan plaintext, prosedurnya dibalik dengan cara kongruensi
P = C – 3 = C + 23 (mod 26)
Sandi Caesar sangat sederhana dan karenanya sangat tidak aman. Caesar sendiri segera meninggalkan
skema ini - tidak hanya karena rasa tidak amannya, tetapi juga karena dia tidak mempercayai Cicero,
yang dengannya dia harus berbagi rahasia sandi.
Skema enkripsi di mana setiap huruf dari pesan asli diganti dengan pengganti sandi yang sama
dikenal sebagai sandi monoalphabetic. Sistem kriptografi seperti itu sangat rentan terhadap metode
serangan statistik karena mereka mempertahankan frekuensi, atau kesamaan relatif, dari huruf indivdual.
dalam cipher polyalphabetic, huruf plaintext memiliki lebih dari ciphertext setara: huruf E, misalnya,
mungkin diwakili oleh J, Q, atau X, tergantung di mana ia muncul dalam pesan.
Daya tarik umum dengan kriptografi memiliki dorongan awal dengan singkat
cerita The Gold Bug, diterbitkan pada tahun 1843 oleh penulis Amerika Edgar Allan Poe.
Ini adalah kisah fiksi tentang penggunaan tabel frekuensi huruf untuk menguraikan arah
untuk menemukan harta karun Kapten Kidd yang terkubur. Poe menganggap dirinya seorang ahli
kriptologi yang jauh
luar biasa. Menulis untuk Alexander's Weekly, surat kabar Philadelphia, dia
pernah mengeluarkan klaim bahwa ia bisa menyelesaikan "segera" substitusi monoalphabetic apa pun
sandi dikirim oleh pembaca. Tantangan itu diambil oleh seorang G. W. Kulp, yang
menyerahkan ciphertext 43 kata dalam tulisan tangan. Poe muncul di kolom berikutnya
bahwa entri itu tidak asli, melainkan “jargon karakter acak yang tidak memiliki
berarti apa pun. "Ketika pengajuan sandi Kulp akhirnya diterjemahkan pada tahun 1975,
alasan kesulitan menjadi jelas; pengajuan berisi kesalahan besar pada
Bagian Kulp, bersama dengan 15 kesalahan kecil, yang kemungkinan besar adalah kesalahan printer
dalam membaca tulisan tangan Kulp.
Contoh paling terkenal dari sandi polyalphabetic diterbitkan oleh
Kriptografer Prancis Blaise de Vigen`ere (1523–1596) dalam bukunya Traict´e de Chiffres
1586. Untuk menerapkan sistem ini, pihak yang berkomunikasi sepakat dengan mudah
ingat kata atau frasa. Dengan alfabet standar dinomori dari A = 00 hingga
Z = 25, padanan kata kunci digital diulang sebanyak yang diperlukan
di bawah pesan plaintext. Pesan tersebut kemudian dienkripsi oleh
menambahkan, modulo 26, setiap nomor plaintext ke yang tepat di bawahnya. Itu
proses dapat diilustrasikan dengan kata kunci SIAP, yang versi numeriknya
adalah 17 04 00 03 24. Pengulangan urutan ini disusun di bawah angka
plaintext dari pesan tersebut
SERANGAN SEKALI
untuk menghasilkan array
00 19 19 00 02 10 00 19 14 13 02 04
17 04 00 03 24 17 04 00 03 24 17 04
Ketika kolom ditambahkan modulo 26, pesan plaintext dienkripsi sebagai
17 23 19 03 00 01 04 19 17 11 19 08
atau, dikonversi menjadi huruf,
RXTDAB ET RLTI
Perhatikan bahwa huruf plaintext yang diberikan diwakili oleh huruf yang berbeda di ciphertext.
T ganda dalam kata SERANGAN tidak lagi muncul sebagai huruf ganda saat
ciphered, sedangkan huruf ciphertext R pertama berkorespondensi dengan A dan kemudian ke O di
pesan asli.
Secara umum, urutan n huruf dengan ekuivalen numerik b1, b2,. . . , bn
(00 ≤ bi ≤ 25) akan berfungsi sebagai kata kunci. Pesan teks biasa dinyatakan sebagai
blok berturut-turut P1P2 · · · Pn dari n bilangan bulat dua digit Pi, dan kemudian dikonversi menjadi
ciphertext memblokir C1C2 · · · Cn melalui kongruensi
Ci ≡ Pi + bi (mod 26) 1 ≤ i ≤ n
Dekripsi dilakukan dengan menggunakan relasi
Pi ≡ Ci - bi (mod 26) 1 ≤ i ≤ n

Kelemahan dalam pendekatan Vigen`ere adalah bahwa begitu panjang kata kunci memiliki
telah ditentukan, pesan kode dapat dianggap sebagai sejumlah monoalphabetic terpisah
sandi, masing-masing tunduk pada analisis frekuensi langsung. Varian untuk
pengulangan terus kata kunci adalah apa yang disebut kunci berjalan, acak
penugasan huruf ciphertext ke surat plaintext. Prosedur favorit untuk menghasilkan
kunci tersebut adalah menggunakan teks buku, tempat pengirim dan penerima tahu
judul buku dan titik awal dari baris yang sesuai. Karena berlari
kunci sandi sepenuhnya mengaburkan struktur yang mendasari pesan asli,
sistem sudah lama dianggap aman. Tapi tidak, seperti Scientific American dulu
diklaim, menghasilkan ciphertext yang "tidak mungkin diterjemahkan."
Modifikasi cerdas yang dibuat Vigen untuk cipher polialfabetnya adalah
saat ini disebut autokey ("kunci otomatis"). Pendekatan ini memanfaatkan
pesan plaintext sendiri dalam membangun kunci enkripsi. Idenya adalah untuk memulai
kata kunci dengan seed pendek atau primer (umumnya satu huruf) diikuti oleh
plaintext, yang ujungnya dipotong oleh panjang benih. Otokey itu
Cipher menikmati popularitas yang cukup besar di abad ke 16 dan 17, sejak itu
diperlukan sepasang pengguna yang sah untuk mengingat benih, yang bisa dengan mudah
berubah.
Mari kita berikan contoh sederhana dari metode ini.
Contoh 10.1. Anggaplah pesan itu
SATU JIKA OLEH FAJAR
harus dienkripsi. Mengambil huruf K sebagai seed, kata kunci menjadi
KONEIFBYDAW
Ketika plaintext dan kata kunci dikonversi ke bentuk numerik, kami memperoleh
array
14 13 04 08 05 01 24 03 00 22 13
10 14 13 04 08 05 01 24 03 00 22
Menambahkan bilangan bulat di posisi yang cocok modulo 26 menghasilkan ciphertext
24 01 17 12 13 06 25 01 03 22 09
atau, mengubah kembali ke huruf:
YBR MN GZ BDWJ
Penguraian dicapai dengan kembali ke bentuk numerik kedua plaintext
dan ciphertext-nya. Misalkan plaintext memiliki digital equivalents P1P2. . . Pn
dan ciphertext C1C2. . . Cn. Jika S menunjukkan seed, maka nomor plaintext pertama
aku s
P1 = C1 - S = 24 - 10 ≡ 14 (mod 26)

Dengan demikian, transformasi penguraian menjadi


Pk = Ck - Pk − 1 (mod 26), 2 ≤ k ≤ n
Ini pulih, misalnya, bilangan bulat
P2 ≡ 01 - 14 = −13 ≡ 13 (mod 26)
P3 ≡ 17 - 13 ≡ 4 (mod 26)
di mana, untuk mempertahankan format dua digit, 4 ditulis 04.
Suatu cara untuk memastikan keamanan yang lebih besar dalam sandi substitusi alfabet telah dirancang
pada 1929 oleh Lester Hill, asisten profesor matematika di Hunter College.
Secara singkat, pendekatan Hill adalah untuk membagi pesan teks menjadi blok huruf
(mungkin mengisi blok terakhir dengan menambahkan huruf "dummy" seperti X) dan kemudian
untuk mengenkripsi blok demi blok menggunakan sistem n kongruensi linear dalam n variabel.
Dalam bentuknya yang paling sederhana, ketika n = 2, prosedur mengambil dua huruf berturut-turut dan
mengubah ekuivalen numerik mereka P1P2 menjadi blok C1C2 dari ciphertext
angka melalui pasangan kongruensi
C1 ≡ aP1 + bP2 (mod 26)
C2 ≡ cP1 + dP2 (mod 26)
Untuk mengizinkan penguraian, empat koefisien a, b, c, d harus dipilih sehingga
gcd (ad - bc, 26) = 1.
Contoh 10.2. Untuk mengilustrasikan sandi Hill, mari kita gunakan kongruensi
C1 ≡ 2P1 + 3P2 (mod 26)
C2 ≡ 5P1 + 8P2 (mod 26)
untuk mengenkripsi pesan BELI SEKARANG. Blok BU pertama dari dua huruf adalah angka
setara dengan 01 20. Ini diganti dengan
2 (01) + 3 (20) ≡ 62 ≡ 10 (mod 26)
5 (01) + 8 (20) ≡ 165 ≡ 09 (mod 26)
Melanjutkan dua huruf sekaligus, kami menemukan bahwa teks sandi yang lengkap adalah
10 09 09 16 16 12
yang dapat diekspresikan secara alfabetis sebagai KJJ QQM.
Penguraian membutuhkan penyelesaian sistem kongruensi asli untuk P1 dan P2
dalam hal C1 dan C2. Ini mengikuti dari bukti Teorema 4.9 bahwa blok plaintext
P1P2 dapat dipulihkan dari blok ciphertext C1C2 melalui kongruensi
P1 ≡ 8C1 - 3C2 (mod 26)
P2 ≡ −5C1 + 2C2 (mod 26)
Untuk blok 10 09 dari ciphertext, kami menghitung
P1 ≡ 8 (10) - 3 (09) ≡ 53 ≡ 01 (mod 26)
P2 ≡ −5 (10) + 2 (09) ≡ −32 ≡ 20 (mod 26)
yang sama dengan pasangan surat BU. Plaintext yang tersisa dapat dikembalikan dalam a
cara serupa.
Sebuah sandi tidak berabjad yang sangat berpengaruh dirancang oleh Gilbert S. Verman pada
tahun 1917 ketika ia dipekerjakan oleh perusahaan telepon amerika dan Telegraph (atman). Verman
tertarik dengan informasi yang disimpan oleh seorang penulis telor yang baru direkrut. Pada saat itu,
pesan kawat disampaikan dalam kode Baudot, kode yang dinamakan demikian menurut penemu
perancisnya, J. M. Baudot. Baudot mewakili setiap huruf dari alfabet dengan urutan lima huruf dari dua
simbol. Jika kita mengambil dua simbol menjadi I dan 0, maka tabel lengkap diberikan oleh

A= 11000 J= 11010 S = 10100


B= 10011 K= 11110 T = 00001
C= 01110 L= 01001 U = 11100
D= 10010 M= 00111 V = 01111
E= 10000 N= 00110 W=
F= 10110 O= 00011 11001
X = 10111
G= 01011 P= 01101 Y = 10101
H= 00101 Q= 11101 Z = 10001
I= 01100 R= 01010

Setiap pesan teks seperti


BERTINDAK SEKARANG
Pertama-tama akan diubah menjadi urutan bilangan biner:
1100001 1 100000 1001 100001 11 1001
Verman inovasi adalah untuk mengambil sebagai kunci enkripsi urutan sewenang-wenang 1’s dan 0's
dengan panjang sama seperti yang plantext numerik. Sebuah kunci khas mungkin muncul sebagai
10100101 10010001000111001011
Di mana digit dapat dipilih dengan memutar koin dengan kepala sebagai 1 dan ekor sebagai 0. Akhirnya,
teks ciphertext dibentuk dengan menambahkan modul 2 digit yang setara dalam dua bentuk biner.
Hasilnya dalam hal ini menjadi
01100110010010101 11011 11110010
Poin pentingnya adalah bahwa penerima yang dimaksud harus memiliki di depan kunci enkripsi. Karena
itu, teks cetak numerik dapat direkonstruksi hanya dengan menambahkan angka-angka kunci enkripsi dan
sandi yang dapat diselaraskan ke dalam 2 digit
Pada awal penerapan sandi telegraf Verman, kunci-kunci tersebut ditulis pada lembaran kertas
bernomor dan kemudian diikat ke dalam bantalan yang dipegang oleh kedua koresponden tersebut.
Selembar kain terlepas dan hancur setelah kunci itu digunakan hanya sekali. Untuk alasan ini, orang
Verman yang melakukan prosedur itu tidak lama kemudian dikenal sebagai sistem yang satu atau satu
kali. Kekuatan kriptografi metode Verman's metode untuk enciphering tinggal di mungkin panjang
ekstrim kunci enkripsi dan tidak ada pola apapun dalam catatan nya ini terjamin keamanan yang menarik
untuk mlitary atauPelayanan diplomatik di banyak negara. Misalnya, pada tahun 1963, sebuah telepon
siap pakai antara Washington dan Moskow menggunakan satu pita waktu.
Dalam sistem kriptografi konvensional, seperti sandi Caesar, sender dan receiver bersama
memiliki kunci rahasia. Pengirim itu menggunakan kunci untuk mengenkripsi pesan tersebut agar
dikirim, dan si penerima menggunakan kunci yang sama untuk menerjemahkan sandi ciphertext yang
diperoleh. Kriptografi utama tersebar di kriptografi konvensional di dalamnya itu menggunakan dua
kunci, kunci enkripsi dan kunci dekripsi. Meskipun dua kunci dari operasi penandaan dan oleh karena itu
berhubungan, tidak ada cara yang mudah untuk menghitung metode untuk menemukan saya kunci
dekripsi dari kunci enkripsi. Dengan demikian, kunci enkripsi dapat dibuat publik tanpa mengorbankan
kunci dekripsi; Setiap pengguna dapat mengenkripsi pesan, saya tetapi hanya penerima yang
dimaksudkan (yang kunci dekripsi adalah menyimpan rahasia) dapat menguraikan mereka. Keuntungan
besar dari sistem kriptografi utama adalah bahwa hal itu tidak perlu bagi pengirim dan receivers untuk
menukar kunci di muka keputusan mereka untuk berkomunikasi satu sama lain.
Pada tahun 1977, R. Rivest, a. Shamir, dan L. Adleman mengusulkan sistem kriptokunci publik
yang hanya menggunakan ide-ide dasar dari teori bilangan. Sistem ensandi mereka disebut RSA, setelah
inisial penemu algoritma. Keamanan ini bergantung pada asumsi bahwa dalam kondisi teknologi
komputer saat ini, faktor nomor majemuk dengan faktor utama yang besar adalah larangan memakan
waktu.
Setiap pengguna sistem RSA memilih pasangan primes yang berbeda, p dan q, cukup besar
sehingga pabrik produk mereka n = pq, disebut the enciphering modiu lus, berada di luar semua
kemampuan komputer saat ini. Misalnya, seseorang dapat memilih p dan g dengan 200 digit, sehingga n
memiliki sekitar 400 digit. Setelah memilih n, GCD (k, o(n))= 1. Pasangan ini (n, k) ditempatkan dalam
sebuah berkas publik, anyesuit untuk sebuah telepon yang saya direktori, sebagai kunci enkripsi pribadi
pengguna. Hal ini memungkinkan orang lain dalam jaringan komunikasi untuk mengenkripsi dan
mengirim pesan kepada individu tersebut. Perhatikan bahwa di bagian n terbuka mengungkapkan, kunci
umum yang tertera tidak menyebutkan faktor p dan q dari n
Proses enkripsi dimulai dengan konversi pesan untuk dikirim ke sebuah integer M melalui
"alfabet digital "di mana setiap huruf, nomor, atau tanda baca dari teks tersebut diganti oleh dua digit
integer. Satu prosedur standar adalah menggunakan tugas berikut:
A = 00 H = 07 O = 14 V = 21
B = 01 I = 08 P = 15 W = 22
C = 02 J = 09 Q = 16 X = 23
D = 03 K = 10 R = 17 Y = 24
E = 04 L = 11 S = 18 Z = 25
F = 05 M = 12 T = 19
G = 06 N = 13 U = 20

Dengan 99 menunjukkan ruang antara kata-kata. Dalam skema ini, pesan


The brown fox is quick
Apakah berubah menjadi benang numerik
M= 190704990 1 17142213990514239908 1899 162008021027
Diperkirakan bahwa angka-angka teks yang gamblang M < n, dimana n adalah modulus
penyantuk. Kalau tidak, tidak mungkin membedakan M dari bilangan bulat yang lebih besar dari
congruenti sampai modulon. Ketika pesan itu terlalu panjang untuk ditangani sebagai suatu kesatuan
nomor M, maka M akan hancur menjadi balok dari digit MM2,. M, dari ukuran yang sesuai. Setiap blok
dienkripsi secara terpisah.
Mencari kunci enkripsi penerima yang dicari (n. K) di direktori publik, sender menyamar nomor
teks M sebagai nomor teks ciphertext dengan menaikkan M ke tenaga KTH dan kemudian mengurangi
modul-modul yang berarti: yaitu,
Mmr (mod n)
Sebuah pesan 200 karakter dapat terenkripsi dalam hitungan detik pada perhitungan kecepatan
tinggi. Saya ingat bahwa publik mengkredit eksponen k awalnya dipilih sehingga GCD (k, op(n) = i.
Meskipun ada banyak pilihan yang cocok atau k, pencernaan yang tepat adalah memilih k untuk menjadi
prima lebih besar dari p dan q
Di ujung lain, penerima yang berwenang menerjemahkan informasi yang disampaikan melalui
lirst. Yang menentukan integer a. J. rahasia pemulihan yang rahasia, yang akan dilakukan oleh kj=1
(mod(n))
Karena ged(k, p(n))= I, congruence inear ini memiliki modul solusi yang unik (n). Bahkan, algoritma
Euclidean menghasilkan j sebagai solusi x untuk persamaan
Kx +0(n)y=1
Pemulihannya hanya bisa dihitung oleh seseorang yang tahu baik k maupun o(n) = (p-1)q-1) dan,
oleh karena itu, mengetahui prme fnctors p dan q dari n. Jadi, aman dari pihak ketiga yang memiliki
pengetahuan yang terbatas pada kunci publik (n, k)
Hal telah diatur sehingga penerima sekarang dapat mengambil M dari hanya dengan menghitung r/
modulo n. Karena kj= l + p(n)t untuk beberapa integer t, adalah sebagai berikut
R (MA)/mMl+oonyr
EM(Meny =M. 1’mM (mod n)
Setiap kali GCD (M, n)= 1. Dengan kata lain, mengangkat teks ciphertext ke kekuatan JTH dan
mengurangi itu modulo n memulihkan teks asli teks aslinya
Asumsi bahwa GCD (M, n)= aku dibuat menggunakan teori Euler. Dalam peristiwa yang tidak
lazim bahwa M dan n tidak relatif prima, argumen serupa menetapkan bahwa r/ =M (mod p) andr/ a M
(mod q) yang kemudian mengalahkan congruence r=M (mod n) yang diharapkan.
Keuntungan utama dari prosedur cerdas ini adalah bahwa enkripsi pesan tidak requre pengetahuan
tentang dua primes dan a, tapi hanya mereka
Produk n; Tidak perlu bagi siapa pun selain cerver berita untuk mengetahui faktor utama yang sangat
penting bagi proses dekripsi."
Contoh 103. Untuk pembaca untuk mendapatkan keluarga dengan algoritma publik RSA mari kita
bekerja contoh secara rinci. Kami memilih dua bilangan prima
P =29
Dari ukuran kecil yang tidak realistis, untuk mendapatkan ilustrasi yang mudah dimengerti. Saat
latihan. P dan q akan cukup besar sehingga pabrik non-rahasia n= pq tidak fea- aku bisa. Modul
enciphering kita adalah n= 29. 53= 1537 dan o(n) = 28-52= 1456. Karena GCD (47, 1456)= l, kita bisa
memilih k= 47 untuk menjadi pameran yang mencolok. Kemudian, eksponen pemulihan, integer yang
unik, yang memberikan kongruensi dari km1 (mod o(n).), adalah /= 31. 'untuk mengenkripsi pesan
Tidak mungkin
Pertama, terjemahkan huruf cach ke dalam persamaan digital menggunakan substitusi yang disebutkan
sebelumnya. Yiclds ini adalah nomor teks yang lugas
M= 131499220024
Kami ingin blok cach plaintext menjadi bilangan bulat kurang dari 1537. Mengingat pembatasan
ini tampaknya masuk akal untuk membagi M menjadi blok dari tiga digit cach. Blok pertama, 131
enkripsi sebagai nomor ciphertext
13147- 570 (mod 1537)
Ini angka pertama dari transmisi rahasia. Di ujung lain, mengetahui bahwa pemulihan yang dapat dicapai
adalah j= 31, penerima yang sah mulai memulihkan angka teks dengan komputasi
57031 131 (mod 1537)
Total teks sandi pesan kita adalah 0570 1222 0708 1341
Bagi sistem kriptografi RSA untuk diamankan tidak harus diperhitungkan layak untuk
memulihkan plaintext M dari informasi yang diduga diketahui pihak ketiga, yaitu public-key (n. K).
Untuk pertama kali faktor-faktor itu menghambat mditambang, eksponen pemulihan j dapat dihitung
fromo(n)= (p-1)(q-1)andk. Keyakinan kita terhadap sistem RSA bergantung pada apa yang dikenal
sebagai faktor kerja, jumlah waktu komputer yang diharapkan untuk mempengaruhi produk dari dua
bilangan prima yang besar. Menghitung adalah komputasi lebih sulit daripada membedakan antara primes
dan komposit. Pada komputer tercepat dewasa ini, sebanyak 200 digit dapat diuji secara rutin untuk
primalitas dalam waktu kurang dari 20 detik, sedangkan waktu yang dibutuhkan untuk menghitung
jumlah komposit yang sama menjadi larangan. Diperkirakan bahwa algoritma yang tercepat yang
diketahui dapat menggunakan sekitar (1.2)10 komputer. Untuk menyelesaikan bilangan bulat dengan 200
digit sebagai faktor utamanya; Dengan asumsi bahwa setiap operasi memakan waktu sepersekian detik
(10 detik), waktu yang diperkirakan sekitar (3,8)100 tahun. Mengingat waktu komputer tak terbatas dan
beberapa faktor faktor yang tak terbayangkan efisien. , sistem kriptografi RSA bisa rusak, tapi untuk saat
ini
Tampaknya cukup aman. Yang perlu kita lakukan adalah memilih bilangan prima p dan q yang lebih
besar untuk modul penyandian, selalu tetap terdepan dalam keadaan terkini dalam bilangan bulat anjak
piutang.

Ancaman yang lebih besar ditimbulkan oleh penggunaan jaringan komputer yang tersebar luas, bekerja
secara simultan pada potongan-potongan data yang diperlukan untuk faktorisasi dan mengkomunikasikan
hasilnya ke situs pusat. Ini terlihat dalam anjak piutang RSA-129, salah satu masalah paling terkenal
dalam kriptografi.

Untuk menunjukkan bahwa cryptosystem mereka dapat menahan serangan terhadap keamanannya, tiga
inventaris mengirimkan pesan ciphertext ke Scientific American, dengan tawaran $ 100 kepada siapa saja
yang dapat memecahkan kode itu. Pesannya tergantung pada modulus penyandian 129-digit yang
merupakan produk dari dua bilangan prima dengan panjang yang kira-kira sama. Jumlah besar ini
memperoleh nama RSA-129. Dengan mempertimbangkan metode anjak paling kuat dan komputer fastesr
yang tersedia pada saat itu, diperkirakan bahwa setidaknya 40 kuadriliun tahun akan diminta untuk
dipecah menjadi RSA-129 bawah dan menguraikan pesan. Namun, dengan mencurahkan daya komputasi
yang cukup untuk tugas itu, faktorisasi direalisasikan pada tahun 1994. Sebuah jaringan di seluruh dunia
dari 600 sukarelawan berpartisipasi dalam proyek, menjalankan lebih dari 1.600 komputer lebih dari
hanya 17 tahun kemudian. Pesan plaintext adalah kalimatnya.

“ kata ajaibnya adalah ossifrage squeamish “

( sebuah omong kosong, ngomong-ngomong, adalah sejenis elang )


Diambil pada tahun 1991, 42 angka dalam daftar RSA Challenge berfungsi sebagai ujian untuk kemajuan
terbaru dalam metode faktorisasi, Keberhasilan anjak piutang terbaru menunjukkan bahwa angka 174
digit (576 digit biner) RSA-576 Dapat ditulis sebagai produk dari dua bilangan prima yang masing-
masing memiliki 87 digit.
MASALAH 10.1
1. Enkripsi pesan RETURN HOME menggunakan cipher Caesar
2. Jika cipher Caesar menghasilkan KDSSB ELUWKGDB, apa pesan plaintext?
3. a. Cipher linier didefinisikan oleh kongruensi C ≡ a P + b (mod 26). Di mana a dan b adalah
intergers dengan ged (a, 26) = 1. Tunjukkan bahwa kongruensi dekripsi yang sesuai adalah P ≡ a
'(C - b) (mod 26), di mana bilangan bulat a' memenuhi aa '≡ 1 (mod 26) ).
b. Dengan menggunakan cipher linier C ≡ 5P + 11 (mod 26), enkripsi pesan NUMBER TEORY
IS EASY.
c. Dekripsi pesan RXQTGU HOZTKGH FJ KTMMTG, yang diproduksi menggunakan cipher
linier C ≡ 3P + 7 (mod 26).
4. dalam pesan kata sandi yang panjang, dikirim menggunakan sandi linier C ≡ a P + b (mod 26), huruf
yang paling sering terjadi adalah Q dan yang paling sering kedua adalah J.
a. Pecahkan sandi dengan menentukan nilai a dan b.
[Petunjuk: Huruf yang paling sering digunakan dalam teks bahasa Inggris adalah E, diikuti oleh T.]
b. Tuliskan plaintext untuk pesan yang dicegat WCPQ JZQO MX.
5. a. Enkripsi pesan HAVE A NICE TRIP menggunakan sandi Vigenere dengan kata kunci MATCH
b. kata sandi BS FMX KFSGR JAPWL diketahui berasal dari sandi Vigenere yang kata kuncinya adalah
YES. Dapatkan kongruensi penguraian dan baca pesannya.
6. a . Enkripsi pesan HAPPY DAYS ARE HERE menggunakan sandi autokey dengan seed Q
b. Menguraikan pesan BBOT XWBZ AWUVGK, yang diproduksi oleh autokey
7. a. Gunakan kumpulan kata sandi
C1 ≡ 5 P1 + 2 P2 ( mod 26 )
C2 ≡ 3 P1 + 4 P2 ( mod 26 )
Untuk menyandikan pesan, GIVE THEM TIME
b. Ciphertext ALXWU VADCOJO telah diprogram dengan sandi
C1 ≡ 4 P1 + 11 P2 ( mod 26 )
C2 ≡ 3 P1 + 8 P2 ( mod 26 )
Turunkan Plaintext.
8. a. deretan panjang kata sandi yang dihasilkan dari kumpulan sandi
C1 ≡ a P1 + b P2 ( mod 26 )
C2 ≡ c P1 + d P2 ( mod 26 )
Terungkap bahwa blok dua huruf yang paling sering terjadi adalah HO dan PP, dalam urutan itu
a. Temukan nilai a, b, c, dan d
[Petunjuk: Blok dua huruf paling umum dalam bahasa Inggris adalah TH, diikuti oleh HE.]
b. Apa plaintext untuk pesan yang dicegat PPIH HOG RAPVT?
9. Misalkan pesan GO SOX harus dienkripsi menggunakan sandi telegraf Verman
Sebuah. Ekspresikan pesan dalam kode Baudot
b. Jika kunci penyandian adalah
011101011101010100110010
Dapatkan bentuk abjad dari ciphertext.
10. Pesan plaintext yang diekspresikan dalam kode Baudot telah dikonversi oleh sandi vermin ke dalam
deretan
110001110000111010100101111111
Jika diketahui bahwa kunci yang digunakan untuk enkripsi adalah
01110101100101110001001101010
Pulihkan pesan dalam abjad dari.
11. Jika n = pq = 274279 dan ø (n = 272376, cari bilangan prima p dan q.
[Petunjuk: Catat Itu
P + q = n-ø (n) + 1
P - q = [(p + q) 2 - 4n] 1/2 ..]
12. Ketika algoritma RSA didasarkan pada kunci (n, k) = (3233, 37), berapakah eksponen pemulihan
untuk cryptosystem?
13. Enkripsi pesan plaintext GOLD MEDAL menggunakan algoritma RSA dengan kunci (n, k) = (2419,
3).
14. Pesan teks sandi yang dihasilkan oleh algoritma RSA dengan kunci (n, k) = (1643, 223) adalah
0833 0823 1130 0055 0329 1099
Tentukan pesan teks asli.
[Petunjuk: Eksponen pemulihan adalah j = 7.]
15. Dekripsi kata sandi
1369 1436 0119 0385 0434 1580 0690
Itu dienkripsi menggunakan algoritma RSA dengan kunci (n, k) = (2419.211),
[Petunjuk: Eksponen pemulihan adalah 11. Perhatikan bahwa mungkin perlu mengisi blok plaintext
dengan menambahkan nol di sebelah kiri.]

10.2 CRYPTOSYSTEM KNAPSACK


Cryptosystem kunci publik juga dapat didasarkan pada masalah klasik dalam kombinatorik yang dikenal
sebagai masalah knapsack, atau masalah jumlah subset. Masalah ini dapat dinyatakan sebagai berikut:
Diberikan knapsack volume V dan n item dari berbagai volume a1, a2,… .., an, dapatkah subset dari item-
item ini ditemukan yang akan sepenuhnya mengisi snapsack? Ada formulasi alternatif: Untuk bilangan
bulat positif a1, a2,…..,an, dan jumlah V, pecahkan persamaannya
V == a1x2 + a2x2 + …anxn
Di mana xi == 0 atau 1 untuk I = 1,2,…, n.
Mungkin tidak ada solusi, atau lebih dari satu solusi, untuk masalah tersebut, tergantung pada pilihan
urutan a1, a2,…..,an, dan bilangan bulat V. Misalnya, masalah ransel
22 ==3x1 +7x2 + 9x3 + 11x4 + 20 x5
Tidak bisa dipecahkan; tapi
27 ==3x1 +7x2 + 9x3 + 11x4 + 20 x5
Memiliki dua solusi berbeda, yaitu
x2 == x3 == x4 ==1 x1 === x5 == 0
dan
x2 == x5 == 1 x1 == x3 == x4 == 0
Menemukan solusi untuk masalah knapsack yang dipilih secara acak sangat sulit. Tak satu pun dari
metode yang dikenal untuk menyerang masalah secara substansial lebih sedikit memakan waktu daripada
melakukan pencarian langsung yang lengkap, yaitu dengan menguji semua kemungkinan 2n untuk x 1, x2,
……, xn,. Ini secara komputasi tidak praktis untuk n lebih besar dari 100. Atau lebih.
Namun, jika urutan bilangan bulat a1, a2,…..,an dan memiliki beberapa properti khusus, masalah knapsack
menjadi lebih mudah untuk dipecahkan. Kita menyebut urutan a 1, a2,…..,an, superincreasing ketika setiap
ai lebih besar dari jumlah semua yang sebelumnya; itu adalah,
ai > a1 + a2 + … + ai –1 I == 2,3,…, n
Ilustrasi sederhana urutan superincreasing adalah 1,2,4,8, ...., 2n, di mana 2 i > 2i -1 == 1 + 2 + 4 + ....+ 2i -1
= 1 + 2 + 4 + ….+ 2i-1
V = x1 + 2x2 + 4x3 +…..2nxn V < 2 n+1
Xi yang tidak diketahui hanyalah digit dalam ekspansi biner dari V.
Masalah Knapsack berdasarkan urutan superincreasing secara unik dipecahkan setiap kali mereka
dipecahkan sama sekali, seperti yang ditunjukkan contoh berikut.
Ujian 10.4 mari kita selesaikan masalah ransel superincreasing
28 ==3x1 +5x2 + 11x3 + 20x4 + 41x5
Kita mulai dengan koefisien terbesar dalam persamaan ini, yaitu 41. Karena 1> 28, itu tidak dapat
menjadi bagian dari jumlah subset kami, maka x5 = 0. Koefisien terbesar berikutnya adalah 20, dengan 20
<28. Sekarang jumlah dari koefisien sebelumnya adalah 3 + 5 + 11 <28, sehingga ini tidak dapat mengisi
knapsack; Oleh karena itu 20 harus dimasukkan dalam jumlah, dan x4 = 1. Mengetahui nilai x 4 dan x5,
masalah asli dapat ditulis ulang sebagai
8 == 3x1 + 5x2 + 11 x3
Pengulangan alasan kami sebelumnya sekarang menentukan apakah 11 harus dalam jumlah knapsack
kami. Bahkan, ketidaksetaraan 11> 8 memaksa kita untuk mengambil x3 = 0. Untuk menyelesaikan
masalah, kita direduksi untuk menyelesaikan persamaan 8 == 3x 1 + 5x2, yang memiliki solusi jelas x1 = x2
= 1. Ini mengidentifikasi subset dari 3, 5, 11, 20, 41 memiliki jumlah yang diinginkan:
28 = 3 + 5 + 20
Tidaklah sulit untuk melihat bagaimana prosedur yang dijelaskan dalam contoh 10.4 beroperasi secara
umum. Misalkan kita ingin menyelesaikan masalah knapsack
V = a1x1 + a1x2 + ….+ anxn
Di mana a1, a2,..., an adalah urutan bilangan bulat yang meningkat. Asumsikan bahwa V dapat diperoleh
dengan menggunakan beberapa himpunan bagian dari urutan, sehingga V tidak lebih besar dari jumlah a 1
+ a2 + …..+ an. bekerja dari kanan ke kiri dalam urutan kami, kami mulai dengan membiarkan xn = 1 jika
V ≥ an dan xn = 0 jika V <an. lalu dapatkan xn-1 xn-2, …. X1, pada gilirannya, dengan memilih

X 1= {10
If V – (a1+ 1xi +1+ ….+ anxn) ≥ ai
If V – (a1+ 1xi +1+ ….+ anxn) < ai
Dengan algoritma ini, masalah ransel menggunakan urutan superincreasing dapat diselesaikan dengan
cukup mudah.
Cryptosystem kunci publik yang didasarkan pada masalah knapsack dibagikan oleh R. merkle dan M.
Hellman pada tahun 1978. Ia bekerja sebagai berikut. Pengguna tipikal sistem mulai dengan memilih
urutan superincreasing a1, a2,……, an. sekarang pilih modulus m> 2an dan pengali a, dengan 0 <a <m dan
gcd (a, m) = 1. Ini memastikan bahwa

kongruensi ax ≡ 1 (mod m) memiliki solusi unik, katakanlah, x ≡ c (mod m). Akhirnya, membentuk
urutan bilangan bulat b1, b2,. . . , bn didefinisikan oleh
b i ≡ a ai(mod m) i=1 , 2, … , n
dimana 0< bi <m. Melakukan transformasi terakhir ini umumnya menghancurkan properti peningkatan

dinikmati oleh a i.
Pengguna merahasiakan urutan asli a 1 , a2 , … , an, dan angka m dan a, tetapi menerbitkan
b 1 , b2 , … , bn dalam direktori publik. Siapa pun yang ingin mengirim pesan ke pengguna menggunakan
urutan yang tersedia untuk umum sebagai kunci enkripsi.
Pengirim mulai dengan mengubah pesan teks biasa menjadi string M dari 0 dan 1 menggunakan
setara biner dari huruf:
Huruf Binner Equivalent Huruf Binner Equivalent
A 00000 N 01101
B 00001 O 01110
C 00010 P 01111
D 00011 Q 10000
E 00100 R 10001
F 00101 S 10010
G 00110 T 10011
H 00111 U 10100
I 01000 V 10101
J 01001 W 10110
K 01010 X 10111
L 01011 Y 11000
M 01100 Z 11001

Untuk contoh,
Tempat Pertama
akan dikonversi menjadi representasi numerik
M = 00101 01000 10001 10010 10011 01111 01011 00000 00010 00100
String kemudian dibagi menjadi blok-blok n digit biner, dengan blok terakhir sedang diisi dengan 1 di
akhir, jika perlu. Urutan enkripsi publik b 1 , b2 , … , bnselanjutnya digunakan untuk mengubah blok

plaintext yang diberikan, katakanlah x 1 , x 2 , … , x n, menjadi jumlah


S=b1 x 1 +b2 x 2+ …+bn x n
Angka S adalah informasi tersembunyi yang dikirim pengirim melalui saluran komunikasi, yang dianggap
tidak aman.
Perhatikan bahwa karena masing-masing x i adalah 0 atau 1, masalah untuk membuat ulang plaintext blok
dari S sama dengan memecahkan masalah ransel yang tampaknya sulit ("Sulit" karena urutan
b 1 , b2 , … , bn belum tentu peningkatan). Pada kesan pertama, penerima yang dituju dan eavesdropper
dihadapkan dengan tugas yang sama. Namun, dengan bantuan kunci dekripsi pribadi, penerima dapat
ubah masalah ransel yang sulit menjadi mudah. Tidak ada yang tanpa pribadi kunci dapat membuat
perubahan ini.
Mengetahui c dan m, penerima menghitung
s' ≡ cS (mod m) 0 ≤ S ' < m
atau, memperluas ini,

Sekarang ca ≡ 1 (mod m), sehingga kongruensi sebelumnya menjadi

Karena m pada awalnya dipilih untuk memuaskan m>2 an >a 1+ a2+ …+a n, kita memperoleh

a 1 x 1+ a2 x 2 +…+ an x n <m . Mengingat kondisi0 ≤ S ' < m, persamaannya


harus tahan. Solusi untuk masalah ransel superincreasing ini melengkapi solusi untuk masalah yang sulit,
dan blok plaintext x 1 , x 2 , … , x n dari n digit adalah dengan demikian pulih dari S.
Untuk membantu memperjelas teknik ini, kami mempertimbangkan contoh berskala kecil dengan n
= 5.

Contoh 10.5. Misalkan pengguna tipikal dari cryptosystem ini memilih sebagai kunci rahasia
urutan peningkatan super 3, 5, 11, 20, 41, modulus m = 85, dan pengali a = 44. Setiap anggota urutan
superincreasing dikalikan dengan 44 dan dikurangi modulo 85 untuk menghasilkan 47, 50, 59, 30, 19. Ini
adalah kunci enkripsi yang dikirimkan pengguna ke direktori publik.
Seseorang yang ingin mengirim pesan teks ke pengguna, seperti
TOLONG KAMI
pertama-tama ubah menjadi string 0 dan 1 berikut:
M = 00111 00100 01011 01111 10100 10010
Tali kemudian dipecah menjadi blok-blok digit, dalam blok kasus saat ini dengan panjang 5.
Menggunakan kunci publik yang tercantum untuk mengenkripsi, pengirim mengubah blok berturut-turut
menjadi
108 = 47 · 0 + 50 · 0 + 59 · 1 + 30 · 1 + 19 · 1
59 = 47 · 0 + 50 · 0 + 59 · 1 + 30 · 0 + 19 · 0
99 = 47 · 0 + 50 · 1 + 59 · 0 + 30 · 1 + 19 · 1
158 = 47 · 0 + 50 · 1 + 59 · 1 + 30 · 1 + 19 · 1
106 = 47 · 1 + 50 · 0 + 59 · 1 + 30 · 0 + 19 · 0
77 = 47 · 1 + 50 · 0 + 59 · 0 + 30 · 1 + 19 · 0
Ciphertext yang ditransmisikan terdiri dari urutan bilangan bulat positif
108 59 99 158 106 77
Untuk membaca pesan, penerima yang sah pertama-tama memecahkan kongruensi 44x ≡ 1 (mod 85),
menghasilkan x ≡ 29 (mod 85). Kemudian setiap nomor ciphertext dikalikan dengan 29 dan mengurangi
modulo 85, untuk menghasilkan masalah ransel superincreasing. Contohnya, 108 dikonversi menjadi 72,
karena 108 · 29 ≡ 72 (mod 85); ransel yang sesuai masalahnya adalah

Prosedur untuk menangani masalah peningkatan ransel dengan cepat menghasilkan solusi x1 = x2 = 0, x3
= x4 = x5 = 1. Dengan cara ini, blok pertama 00111 dari biner setara dengan plaintext dipulihkan.
Cryptosystem Merkle-Hellman membangkitkan banyak minat ketika itu pertama kali diusulkan,
karena didasarkan pada masalah yang terbukti sulit. Namun, dalam 1982, A. Shamir menemukan
algoritma yang cukup cepat untuk menyelesaikan masalah ransel yang melibatkan urutan b 1 , b2 , … , bn, di

mana b 1 ≡ aa1 (mod m) dan a 1 , a2 , … , an, sebuah adalah peningkatan super. Kelemahan sistem adalah

kunci enkripsi publik b 1 , b2 , … , bn terlalu istimewa; mengalikan dengan dan mengurangi modulo tidak

benar-benar menyamarkan urutan a 1 , a2 , … , an. Sistemnya bisa dibuat agak lebih aman dengan
mengulangi metode multiplikasi modular dengan nilai-nilai yang berbeda dari dan m, sehingga urutan
publik dan pribadi berbeda oleh beberapa transformasi. Tapi bahkan konstruksi ini berhasil dipatahkan
pada tahun 1985. Walaupun kebanyakan variasi dari skema Merkle-Hellman telah terbukti tidak aman,
ada beberapa yang sejauh ini menolak serangan.

PERMASALAHAN 10.2
1. Dapatkan semua solusi dari masalah ransel

2. Tentukan yang mana dari urutan di bawah ini yang mengalami peningkatan:
(a) 3, 13, 20, 37, 81.
(b) 5, 13, 25, 42, 90.
(c) 7, 27, 47, 97, 197, 397.
3. Temukan solusi unik dari masing-masing masalah ransel superincreasing berikut:

4. Pertimbangkan urutan bilangan bulat positif a 1 , a2 , … , an dimana a i+1 >2 ai untuk i= 1, 2, ..., n-1.
Tunjukkan bahwa urutannya sangat meningkat.
5. Pengguna cryptosystem knapsack memiliki urutan 49, 32, 30, 43 sebagai enkripsi yang terdaftar
kunci. Jika kunci pribadi pengguna melibatkan modulus m = 50 dan multiplier a = 33,
menentukan urutan peningkatan rahasia super.
6. Pesan ciphertext yang dihasilkan oleh cryptosystem knapsack menggunakan urutan peningkatan
super 1, 3, 5, 11, 35, modulus m = 73, dan pengali a = 5 adalah 55, 15, 124, 109, 25, 34.
Dapatkan pesan plaintext.
[Petunjuk: Catat bahwa 5 · 44 ≡ 1 (mod 73).]
7. Seorang pengguna cryptosystem knapsack memiliki kunci pribadi yang terdiri dari peningkatan
super urutan 2, 3, 7, 13, 27, modulus m = 60, dan pengali a = 7.

10.3 APLIKASI PRIMITIF


ROOT KE CRYPTOGRAPHY

Sebagian besar skema kriptografi modern bergantung pada sulitnya beberapa solusi masalah teori
bilangan tertentu dalam jangka waktu yang wajar. Contohnya, keamanan yang mendasari kriptosistem
RSA yang banyak digunakan dibahas dalam Bagian 10.1 adalah upaya keras yang diperlukan untuk
memasukkan faktor dalam jumlah besar. Pada tahun 1985, Taher ElGamal memperkenalkan metode
mengenkripsi pesan berdasarkan versi yang disebut masalah logaritma diskrit: yaitu, masalah menemukan

kekuatan 0< x < ∅(n) , jika ada, yang memenuhi kongruensi r x ≡ y( mod n) untuk diberikan r, y, dan n.
Itu eksponen x dikatakan sebagai logaritma diskrit dari y ke basis r, modulo n. Keuntungan mensyaratkan
bahwa basis r menjadi akar primitif bilangan prima n adalah jaminan bahwa Anda akan selalu memiliki
logaritma diskrit yang terdefinisi dengan baik. Logaritma dapat ditemukan dengan pencarian lengkap;

yaitu, dengan menghitung kekuatan berturut – turut r sampai y ≡r x ( mod n) tercapai. Tentu saja, ini
umumnya tidak praktis untuk modulus besar beberapa ratus digit.
Contoh 8.4 menunjukkan bahwa, katakanlah, logaritma diskrit dari 7 ke modul 2 basis 13 adalah

11; menyatakan sebaliknya, 11 adalah bilangan bulat positif terkecil x dengan 2 x ≡7 (mod 13). Dalam

contoh itu, kami menggunakan notasi klasik 11=ind 2 7 (mod 13) dan berbicara tentang 11 sebagai
indeks 7, daripada menggunakan yang lebih terkini terminologi.
Cryptosystem ElGamal, seperti sistem RSA, mengharuskan setiap pengguna memiliki baik kunci
publik maupun privat (rahasia). Sarana yang dibutuhkan untuk mengirimkan kode sandi pesan antar pihak
diumumkan secara terbuka, bahkan diterbitkan dalam direktori. Namun, penguraian hanya dapat
dilakukan oleh penerima yang dimaksud menggunakan kunci pribadi. Karena pengetahuan tentang kunci
publik dan metode penyandian tidak cukup untuk menemukan kunci lainnya, informasi rahasia dapat
dikomunikasikan melalui
saluran tidak aman.
Pengguna tipikal sistem ini dimulai dengan memilih bilangan prima bersama salah satu akar
primitifnya r. Kemudian bilangan bulat k, di mana 2 ≤ k ≤ p - 2, secara acak dipilih untuk melayani
sebagai kunci rahasia; kemudian,
a ≡ r k ( mod p ) 0 ≤ a ≤ p−1
dihitung. Triple integer (p, r, a) menjadi kunci publik orang tersebut, dibuat tersedia untuk semua orang
lain untuk keperluan kriptografi. Nilai eksponen k tidak pernah terungkap. Untuk pihak yang tidak
berwenang untuk menemukan k akan memerlukan penyelesaian a masalah logaritma diskrit yang akan
hampir tidak terselesaikan untuk nilai-nilai besar a dan p.
Sebelum melihat prosedur penyandian, kami mengilustrasikan pemilihan kunci publik.

Contoh 10.8. Misalkan seseorang mulai dengan memilih bilangan prima p = 113 dan akar primitif
terkecilnya r = 3. Pilihan k = 37 kemudian dibuat untuk integer memuaskan 2 ≤ k ≤ 111. Masih

menghitung a ≡3 37 (mod 113). Eksponen dapat dengan mudah dicapai dengan teknik kuadrat ulang,
reduksi

Modulo 113 pada setiap tahap:

Dan juga

Ketiganya (113,3,24) merupakan .public key., sedangkan interger 37 menjadi kunci rahasia
.deciphering.
Ini adalah bagaimana enkripsi ElGamal bekerja. Asumsikan jika pesan harus dikirim kepada
seseorang yang memiliki kunci public (p,r,a), dan juga bekorespondesi terhadap kunci k. Tranmisi adalah
jalur .intergers. yang lebih kecil daripada p. Lalu, pesan utamanya adalah pertama converted kepada
equivalen numerical M oleh beberapa standar konvensional seperti membiarkan a=00, b=01,….,z=25.
Jika M > .p. . Lalu, M dibagi menjadi blok sukses, (bahkan ketika) setiap blok mengandung digit yang
sama. Hal itu diperbolehkan untuk menambahkan digit lagi (katakan, 25=z), untuk mengisi blok terakhir.
Blok digit terenskripsi secara terpisah. Jika B .denotes. blok yang pertama, kemudian pengirim—yang
berhati hati akan kunci publik milik penerima—secara arbitrer memilih sebuah .interger. 2<j<p — 2 dan
menginput dua manfaat :

dan
Ciphertext numerical yang terasosiasi dengan blok B adalah pasangan dari .intergers. (C1.C2).
Dimungkinkan ketika pengamanan yang lebih baik diperlukan, untuk membuat pilihan j akan diubah dari
blok ke blok.
Penerima dari .ciphertxt. dapat membalikan blok B dengan menggunakan kunci rahasia k. Semua itu
harus selesai untuk mengevaluasi C p−1−k1 (mod p) dan lalu P ≡ C2C p−1−k; untuk
Dimana congruence final dihasilkan dari identitas Fermat rp (mod p). Poin utamanya adalah ketika
deskripsi dapat dibawa oleh orang yang mengerti apa kegunaan kode k.
Mari kita bekerja sesuai tahapan enkripsi algoritma menggunakan bilangan prima rasional agar lebih
sederhana.
Contoh 10.7 Asumsikan bahwa pengguna berharap untuk mengirimkan pesannya.
JUAL SEKARANG
Kepada orang yang memiliki kode rahasia k=15 dan kunci enkripsi public (p,r,a)=(42,3,22),
dimana 22=315. Text literal pertama berubah menjadi benang bilangan.
M=18041111131422
Untuk menciptakan ciphertext, pengirim harus memilih sebuah interger j menyelesaikan 2<j<41, mungkin
j=23, kemudian hitunglah.

dan

Selanjutnya, produk ajB=32B (mod 43) dikomputerisasikan masing masing dua digit blok B dari M. Blok
inisial untuk .instance., terenkripsi sebagai 32.18=17 (mod 43). Pesan digital yang diterima berubaah
seperti menjadi sebuah benang/lajur.
M’ =17420808291816
Ciphertext berubah dari formulasi
(34,17) (34,42) (34, 08) (34,08) (34 29) (34 18) (34 16)
Pada saat kedatangan pesan, penerima menggunakan kode rahasia untuk mendapatkan

Tiap detik masuknya pasangan ciphertext adalah terdekripsi di perkalian dari fungsi terakhir ini. Huruf
pertama, S, didalam pesan asli pengirim akan kembali dari .congruence. 18+39. 17 (mod 43), dan
seterusnya.
Aspek penting dari system kripto adalah harus menjadi kekuataan untuk mengkonfrimasi integritas pesan
tersebut;karena semua tahu bagaimana cara mengirim sebuah pesan, dan si penerima harus yakin bahwa
enkripsi terjadi akibat orang yang memiliki lisensi. Metode yang biasa dipakai untuk melindungi dari
kemungkinan orang ketiga adalah untuk seseorang yang mengirim pesan untuk memperoleh jejak digital,
analog elektrik dari tanda tangan. Harus sulit agae dapat menghadapi jejak digital, harus memungkinkan
untuk memvariasasikan jejak digital dari satu komunikasi ke komunikasi lainnya.
Fitur dari system kripto ElGamal adalah produk yang efisien untuk memverifikasi pesan. Sesuai dengan
pengguna system yang memiliki kode rahasia (p,r,a) dan pribadi k, dan terenkripsi pesan M. Tahap
selanjutnya adalah menyediakan tanda untuk memilih interger 1<j<p<1 dimana ged (j, p – 1)= 1.
Megambil contoh teks kosong M untuk .instance, blok pertama B-pengguna computer mengaturnya.
Lalu mendapat solusi .congruence. linear

Solusinya dapat ditemukan menggunakan cara algoritma Euclidean. Pasangan dari intergers (c,d)
dibutuhkan untuk .appended. pesan. Dapat buat oleh seseorang yang waspada akan kode privasi k,
interger acak j, dan pesan M.
Penerima menggunakan kode public si pengirim (p,r,a) untuk memastkan .purported. tanda. Didapatlan
dengan menghitung dua fungsi

Tanda diterima sebagai legistimasi ketika V1=V2. Hasil tersebut harus mendapatkan tempat mengikuti
dari .congruence.

Perhatikan bahwa identifikasi personal tidak perlu penerima mengetahui kode k pengirim.
Contoh 10.8. Orang memiliki kunci public (43,3,22) dank kode k = 15 ingin memberitahukan dan
membalas pesan tersebut dengan ‘JUAL SEKARANG. Hal ini tercipta dengan pemilihan pertama
interger 0<j<42 dengan ged (j,42)=1, katakanlah j=25. Jika blok pertama dianggap B=13, maka orang
tersebut yang menghitungnya.

Kemudian selesaikan kongruennya

Untuk fungsi d=16 (mod 42). Tanda digital terdapat dalam balasan konsisten pasangan (5, 16). Pada
kedatangannya, kode tersebut dikonfirmasi dengan mengecek ekualitas intergers V1 dan V2 :

Permasalahan 10.3
1. Pesan yang dibalas sekarang dienkripsi di ElGamal system kripto dan dibagikan kepada
pengguna kunci public (47,5,10) dan kode k = 19
a. Jika interger dipilih secara acak untuk enkripsi j=13, sesuai ciphertext.
b. Identifikasikan bagaimana ciphertext dapat di deskripsi menggunakan kode privasi penerima.
2. Misalkan ciphertxt dibawah ini diterima oleh sesorang yang memiliki kode public ElGamal
(71,7,32) dan kunci k = 30

(56,45) (56,38) ( 56,29) ( 56,03) (56, 67)


(56,05) ( 56,27) ( 56, 31) (56, 38) (56, 29)
3. Pesan TIDAK SEKARANG (secara numerical 1314191314220 dikirim kepada pengguna system
ElGamal yang memiliki kunci public (37, 2, 18) dank unci k = 17. Jika intergers j=13 untuk j=28
untuk j=11, apa yang dihasilkan oleh pesan enkripsi tersebut.
4. Misalkan jika ada yang memiliki kode publim ElGamal (2633, 1, 1138) dank unci k=965. Jika
orang tersebut memilih intergers secara acak j=583 untuk mengkripsi pesan WASPADA
DENGAN MEREKA, menghasilkan ciphertext. [Hint: 3583=1424 (mod 2633), 1138583 = 97
(mod 263300.]
5. a. Seseorang yang memiliki kunci public (31, 2, 22) dan kunci k =17 berharap menandai pesan
blok siapa yang pertama B=144. Jika 13 adalah interger yang dipilih untuk membangun tanda
tersebut, menghasilkan tanda yang di produksi oleh algoritma ElGamal
b. Konfirmasi validitas tanda ini.
11.1 MARINE MERSENNE
Instansi terdahulu kita ketahui sebagi pertemuan para ahli matematika yang diselenggarakan bersama oleh
tokoh yang tidak biasa-Pastur dari Prancis Marin Mersenne (1588-1648). Putra dari petani sederhana,
Mersenne mengenyam pendidikan di Universitas Jesuit, La Fleche. Pada 1611, setelah dua tahun belajar
teknoloogi di Sorbonne, ia bergabung dalam Franciscan Order of Minims. Mersenne masuk di Konvensi
Minim Paris pada 1619 kecuali untuk perjalanan singkat, ia kembali sepanjang umur hidupnya.
Mersenne lamented kehadiran dari berbagai organisasi formal yang mungkin akan mendapat
beasiswa. Ia merespon ini dengan membuat ruangannya sendiri di bangunan KOnvent Minim yang
dimana tersedia tempat meeting untuk orang orang yang memiliki persamaan saling bertukar pikiran,
eager untuk mendiskusikan pandangan mereka and keingintahuan tentang aktifitas seperti itu di tempat
lain. Lingkaran pembelajaran ia peroleh sendiri dari ahli matematika dan peneliti Paris tetapi berkurangan
dengan para mahasiswa melewati kota- terlihat bahwa bertemu hampir dari 1635 hingga kematian
Mersenne pada 1648. Dalam salah satu meeting ini Blaise Pascal yang special pada umur 14 tahun ia
.distributed. handbillnya.
Essay pour les coniques, sesuai ketenarannya teorema ‘misteri hexagram’;dekspripsinya hanya bisa
mengeluh bahwa ia tida dapat berpura pura untuk tertarik dalam…

Anda mungkin juga menyukai