Anda di halaman 1dari 34

Menggunakan Steganografi pesan menyembunyikan di dalam

PDF fi les
Laporan Proyek SSN

Fahimeh Alizadeh - Fahimeh.Alizadeh@os3.nl


Nicolas Canceill - Nicolas.Canceill@os3.nl
Sebastian Dabkiewicz - Sebastian.Dabkiewicz@os3.nl
Diederik Vandevenne - Diederik.Vandevenne@os3.nl

30 Desember 2012

Abstrak

Steganografi berfokus pada menyembunyikan informasi sedemikian rupa bahwa pesan tidak
terdeteksi bagi orang luar dan hanya muncul untuk pengirim dan penerima yang dimaksud.

Portable Document Format (PDF) steganography belum mendapat banyak perhatian sebagai
teknik lain seperti steganography gambar karena kapasitas yang lebih rendah dan berbasis teks fi le
format, yang membuat lebih sulit untuk data yang menyembunyikan. Namun beberapa pendekatan telah
dilakukan di bidang PDF steganografi.

Salah satu metode saat ini dan paling menjanjikan menggunakan nilai TJ, yang digunakan untuk
menampilkan teks, di PDF fi les data hide. Tujuan dari proyek ini adalah untuk meningkatkan kapasitas
dan, jika mungkin, keamanan metode ini.

Metode TJ karena itu hati-hati dianalisis untuk kelemahan. Dalam proses melakukan hal ini,
sebuah implementasi dari metode ini dikembangkan. analisis statistik dari nilai-nilai TJ menunjukkan
bahwa metode TJ tidak sangat kuat dan bahwa data yang disembunyikan dapat dengan mudah
dideteksi. Berdasarkan hasil dari banyak percobaan yang dilakukan, dua di ff erent algoritma yang
terdiri. fi rst satu memiliki kapasitas yang lebih rendah tetapi lebih aman. Yang kedua o ff ers yang jauh
lebih tinggi embedding kapasitas sementara itu masih menyimpan tingkat keamanan yang sama. Kedua
algoritma diusulkan sebagai alternatif untuk metode TJ asli.
Isi
1. Perkenalan 1
1.1 Pertanyaan Penelitian. . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1,2 kerja terkait. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1 karakter Tersembunyi dan benda-benda. . . . . . . . . . . . . . . 1
1.2.2 Menyembunyikan data dalam nilai-nilai operator. . . . . . . . . . . . . . . 2
1,3 kontribusi utama dari makalah ini. . . . . . . . . . . . . . . . . . 2
1.4 Outline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Portable Document Format 4


2.1 Kompresi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Operator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.1 Tc operator. . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.2 Tw operator. . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.3 TJ operator. . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.4 Perbandingan operator. . . . . . . . . . . . . . . . . . . 6

3 Pelaksanaan metode asli 7


3.1 Pertimbangan Teknis. . . . . . . . . . . . . . . . . . . . . . . 7
3.1.1 Python 2. . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.2 operator Parsing TJ. . . . . . . . . . . . . . . . . . 7
3.1.3 QPDF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.4 User-friendly. . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Detailing metode asli. . . . . . . . . . . . . . . . . . . . 8
3.2.1 Menghasilkan benih untuk peta kacau. . . . . . . . . . 8
3.2.2 Menemukan akhir pesan. . . . . . . . . . . . . . . 8

4 Mengevaluasi metode TJ 9
4.1 data set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2 Randomness nilai TJ. . . . . . . . . . . . . . . . . . . . . . 10
4.3 Total lebar garis. . . . . . . . . . . . . . . . . . . . . . . . . 12
4.4 Kegunaan dari Logistik Chaotic Maps. . . . . . . . . . . . . . 14

5 Patching dan meningkatkan metode TJ 16


5.1 Perbandingan di ff erent penulis PDF. . . . . . . . . . . . . . . . 16
5.2 Enkripsi data. . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.3 Jumlah bit yang digunakan dalam nilai-nilai TJ. . . . . . . . . . . . . . . . . . 18
5.4 Menggunakan sebagian besar nilai-nilai TJ. . . . . . . . . . . . . . . . . . . . . 20
5.5 Kompensasi lebar baris dengan mengubah nilai-nilai TJ. . . . . . . 21
5.6 Acak memulai dan posisi masukan. . . . . . . . . . . . . . . . . 22
5.7 Algoritma baru. . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.8 Mengevaluasi algoritma baru. . . . . . . . . . . . . . . . . . . . 23
5.8.1 Randomness dari TJ nilai untuk pasangan karakter. . . . . . . 23
5.8.2 Perbandingan dari kapasitas yang tersedia. . . . . . . . . . . . 25
5.8.3 Kapasitas vs keamanan trade-o ff. . . . . . . . . . . . . 26

6 Kesimpulan 27

7 Penelitian lebih lanjut 28

saya
Sebuah Daftar Akronim 29

Referensi 29

II
Daftar tabel
1 Penampilan dari Tc, Tw dan TJ operator di di ff erent PDF fi les 6

Daftar Gambar
1 Tc operator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Tw operator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Operator TJ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Distribusi nilai ruang TJ dalam dokumen satu-kolom. . . 9
5 Distribusi nilai ruang TJ dalam dokumen dua kolom. . . . 10 6 Distribusi nilai ruang TJ dalam dokumen
kombinasi. . . . 11 7 Distribusi nilai ruang TJ antara [-16,16] dalam Jaws PDF fi le 12 8 Distribusi nilai
ruang TJ antara [-16,16] dalam Jaws PDF

fi le yang berisi data yang disembunyikan. . . . . . . . . . . . . . . . . . . . . . 13 9 lebar Karakter


keberatan. . . . . . . . . . . . . . . . . . . . . . . 13 10 Jalur lebar frekuensi. . . . . . . . . . . . . . . . . . . . . . . . . 14 11
Distribusi nilai ruang TJ di PDFCreator PDF fi le. . . . 16 12 Distribusi nilai ruang TJ di L SEBUAH TEX PDF
fi le. . . . . . . . 17 13 Distribusi nilai TJ dalam L SEBUAH TEX PDF stego fi le dengan 4 bit

input data tanpa enkripsi. . . . . . . . . . . . . . . . . . . . 18 14 Distribusi nilai TJ dalam L SEBUAH TEX


PDF stego fi le dengan 4 bit
dienkripsi input data. . . . . . . . . . . . . . . . . . . . . . . . . 19 15 Distribusi nilai TJ dalam L SEBUAH TEX
PDF stego fi le dengan 3 bit
input data tanpa enkripsi. . . . . . . . . . . . . . . . . . . . 19 16 Distribusi nilai TJ dalam L SEBUAH TEX
PDF stego fi le dengan 3 bit
dienkripsi input data. . . . . . . . . . . . . . . . . . . . . . . . . 20 17 Output dari stego fi le dengan data 4
bit input dan dengan enkripsi 20 18 Persentase nilai ruang TJ di Jaws PDF fi le. . . . . . . . . 21 19
Distribusi TJ nilai untuk pasangan ew dalam L SEBUAH TEX PDF fi le

tanpa data yang disembunyikan. . . . . . . . . . . . . . . . . . . . . . . . . 23 20 Distribusi TJ nilai untuk


pasangan ew dalam L SEBUAH TEX PDF fi le
dengan data yang disembunyikan. . . . . . . . . . . . . . . . . . . . . . . . . . . 24 21 Distribusi TJ nilai
untuk pasangan dt di L SEBUAH TEX PDF fi le
tanpa data yang disembunyikan. . . . . . . . . . . . . . . . . . . . . . . . . 24 22 Distribusi TJ nilai untuk
pasangan dt di L SEBUAH TEX PDF fi le
dengan data yang disembunyikan. . . . . . . . . . . . . . . . . . . . . . . . . . . 25

AKU AKU AKU


1. Perkenalan
Steganografi meliputi teknik untuk menulis pesan tersembunyi. Tujuan yang dimaksud adalah bahwa hanya
pengirim dan penerima harus dapat mendapati pesan tersembunyi tanpa menarik perhatian orang lain. Aku
Selain itu, metode steganografi aman mampu menyembunyikan pesan sedemikian rupa bahwa bahkan
ketika sebuah benda yang diduga mengandung pesan tersembunyi, kehadiran data yang disembunyikan ini
tidak dapat ditentukan dengan kepastian yang tinggi. Kriptografi melindungi kerahasiaan informasi dan
komunikasi. Steganografi di sisi lain melindungi informasi dan komunikasi dari yang terdeteksi.

Sebagian besar metode steganografi saat menggunakan multimedia fi les seperti gambar, audio dan video fi les
untuk sembunyikan informasi. Hal ini karena sebagian besar dari kapasitas embedding steganografi yang mereka
sediakan. Kapasitas adalah bersama-sama dengan keamanan properti yang paling penting dari metode
steganografi.
Meskipun popularitas multimedia fi les untuk tujuan steganografi, lain fi les, apakah data biner fi les,
executable atau berbasis teks fi les, juga dapat digunakan untuk sembunyikan informasi. Meluasnya
penggunaan PDF fi les dapat menggunakan untuk tujuan ini solusi menarik dan praktis. Meskipun mungkin
sulit untuk melakukan ini karena biasanya ada ruang yang tersedia. Format berbasis teks dari dokumen
PDF juga bisa menjadi batasan karena mudah untuk menganalisis isinya dan mungkin sulit untuk
menyembunyikan data yang sebenarnya ke dalamnya.

Beberapa usaha telah dilakukan di bidang PDF steganografi (lihat Bagian 1.2), tetapi solusi yang
disajikan dan implementasi tidak selalu sangat baik dijelaskan dan / atau dipublikasikan. Oleh karena itu
sulit untuk fi mencari tahu jika metode yang diusulkan adalah melakukan dengan cara yang baik. Penelitian
lebih di bidang PDF steganografi dibutuhkan untuk memverifikasi atau menyangkal metode yang diusulkan.

1.1 Pertanyaan Penelitian

Tujuan dari proyek ini adalah untuk memperbaiki metode steganografi saat ini di PDF fi les dengan menambahkan lebih
banyak embedding kapasitas dan, jika mungkin, dengan menciptakan metode yang lebih aman.

Oleh karena itu pertanyaan penelitian berikut dirumuskan:

Bagaimana kapasitas embedding steganografi di PDF fi les ditingkatkan dengan mengubah algoritma ada
sementara menjaga tingkat keamanan yang sama?

1.2 pekerjaan Terkait

Dalam rangka untuk mendapatkan pandangan yang jelas di lanskap PDF steganografi, kami mendirikan
sebuah keadaan seni dalam domain ini. Gambaran dari teknik saat ini disajikan dalam bagian ini.

1.2.1 karakter Tersembunyi dan benda-benda

Beberapa teknik saat ini hanya fokus pada menyembunyikan data dengan menggunakan komponen PDF
terlihat. Akibatnya, data akan sempurna terdeteksi jika PDF dibuka dalam PDF viewer biasa. Teknik-teknik
ini dijelaskan dalam paragraf di bawah ini.

1
antara-kata / antara karakter embedding ADALAH. Lee dan W.-H. Tsai hadir dua algoritma di [1],
memanfaatkan ruang non-breaking dengan American Standard Kode untuk Informasi Interchange (ASCII)
kode A0.
Teknik pertama fi embeds data dengan mengubah spasi normal menjadi ruang A0 untuk encode 1, dan
daun ruang putih biasa untuk encode 0. Itu tidak meningkatkan fi le ukuran sama sekali, tapi jumlah data
yang dapat tertanam sangat terbatas dengan jumlah ruang putih dalam teks.

Teknik kedua mengambil keuntungan dari karakter A0: dengan mengubah lebar ke nol, tampaknya
sama sekali tidak terlihat, sehingga Anda dapat memasukkan jumlah antara dua karakter tanpa mengubah
tampilan teks. Data tertanam dengan memasukkan sejumlah ruang nol-panjang di setiap lokasi antara
karakter; jumlah ruang mengkodekan karakter ASCII. Teknik ini tidak meningkatkan fi le ukuran, tapi jauh
lebih banyak data dapat tertanam.

update inkremental H. Liu et al. hadir tiga algoritma di [2], memanfaatkan update inkremental fitur dari PDF.

Teknik pertama fi embeds data dengan mengubah teks dalam cara yang terlihat (mengubah nilai dari
beberapa variabel negara teks), kemudian menulis update inkremental berisi data PDF asli, sehingga teks
diubah tidak benar-benar ditampilkan.
Teknik kedua embeds data dengan menulis update inkremental untuk benda yang tidak ada dalam data
asli, sehingga pembaruan tidak memiliki e ff ect. Data tersebut tertanam dalam nilai objek sungai digunakan
di update.
Teknik ketiga embeds data dengan menulis update inkremental dengan panjang diberikan untuk
beberapa objek; maka data dapat diambil dengan membaca bagian referensi silang dari update, untuk itu
termasuk alamat awal dari setiap objek diperbarui.

1.2.2 Menyembunyikan data dalam nilai-nilai Operator

Teknik di atas memungkinkan untuk sempurna data yang menyembunyikan jika PDF dibuka dalam PDF viewer
biasa. Sayangnya, ada alat yang memungkinkan untuk dekompresi data yang PDF dan membacanya dalam bentuk
teks, dan kebanyakan dari mereka teknik kemudian menjadi tidak berguna. Berikut algoritma o ff ers solusi untuk
mengatasi masalah ini. Alih-alih tersembunyi komponen PDF terlihat, ia menggunakan nilai-nilai yang sudah ada di
dalam dokumen PDF.

Dibenarkan teks dan operator TJ S. Zhong et al. menyajikan cara untuk membuat dan mengeksploitasi saluran
rahasia di [3], memanfaatkan dibenarkan teks.
Mereka menyatakan bahwa membenarkan teks (sehingga sejajar baik dengan margin kiri dan kanan)
menggunakan penulis PDF akan menghasilkan nilai acak untuk operator TJ yang digunakan untuk
memposisikan karakter. Kemudian akan mungkin untuk data yang menyembunyikan dalam setidaknya
signifikan bit dari beberapa nilai-nilai Operator TJ ini. Namun ini hanya bekerja jika nilai-nilai Operator TJ
adalah acak dan tidak mengandung pola apapun.

1,3 kontribusi utama dari makalah ini

Makalah ini dibangun di atas karya S. Zhong et al., yang disajikan dalam [3], yang menggunakan nilai-nilai
Operator TJ di objek aliran teks data bersembunyi di PDF

2
fi les. Algoritma yang dijelaskan dalam makalah yang diperiksa secara menyeluruh untuk kelemahan.
Program PDFStego yang dijelaskan dalam makalah direferensikan tampaknya tidak tersedia untuk umum
atau sangat baik tersembunyi di sudut-sudut internet. Implementasi berdasarkan algoritma ini karena itu
dikembangkan untuk menguji efektivitas e ff nya. Selain demonstrasi kelemahan dari metode TJ asli, di ff
erent perbaikan kapasitas dan keamanan dievaluasi dan dilaksanakan. Pada akhirnya, dua algoritma baru
berdasarkan metode TJ diusulkan. fi rst satu memiliki kapasitas yang lebih rendah tetapi o ff ers keamanan
yang lebih baik. Yang kedua o ff ers kapasitas yang lebih sedangkan tingkat keamanan yang sama
dipertahankan.

1.4 Garis Besar

Berikutnya Bagian 2 memberikan pengenalan umum untuk PDF fi les dan operator berguna yang mungkin
relevan untuk penelitian kami. Deskripsi dari algoritma TJ asli dan implementasi kami itu itu dijelaskan dalam
Bagian 3. Bagian 4 fokus pada analisis dari algoritma asli dan Bagian 5 memberikan rincian tentang solusi
yang diusulkan untuk meningkatkan kapasitas dan keamanan dari algoritma. Kesimpulan yang dapat ditarik
berdasarkan hasil penelitian kami diberikan dalam Bagian 6. Akhirnya dalam Bagian 7 beberapa saran
untuk penelitian lebih lanjut dalam topik ini diberikan.

3
2 Portable Document Format
Portable Document Format adalah platform independen fi le Format untuk mewakili dokumen. Teks dan
gambar dalam PDF fi les ditampilkan dengan cara yang sama pada setiap platform.

Awalnya, PDF adalah format dokumen proprietary dari Adobe dan pertama dirilis pada tahun 1993.
Pada bulan Juli 1 Januari 2008, Organisasi Internasional untuk Standardisasi (ISO) menerbitkan PDF
sebagai standar terbuka di bawah nomor ISO 32.000-1: 2008. standar tersedia dari situs Adobes [4].

Sebuah dokumen PDF terdiri dari koleksi benda-benda yang menentukan output dan fungsi dari
dokumen. Salah satu objek yang paling digunakan adalah sungai objek. Teks misalnya yang terkandung
dalam sebuah objek aliran. Beberapa benda lain adalah angka, string, array dan kamus.

2.1 Kompresi

PDF fi les biasanya dikompresi untuk menghemat ruang disk. Untuk dapat melihat kode sumber penuh PDF
fi le, kita harus dekompresi fi le pertama. Hal ini dapat dilakukan dengan program seperti pdftk [5] atau
QPDF [6].
Dekompresi PDF fi le adalah sebuah operasi yang tidak mengambil banyak waktu pemrosesan. Dekompresi
dari fi le dengan ukuran kurang dari 1 MB hanya membutuhkan waktu beberapa detik dan bahkan 1GB fi le akan
didekompresi dalam waktu satu menit.
Ini berarti bahwa mengompresi PDF fi le tidak menambah keamanan ekstra ketika seseorang ingin
menyembunyikan pesan atau data di dalam PDF fi le.

2.2 Operator

Sebuah PDF fi le mengandung di ff erent operator yang dapat digunakan untuk menampilkan teks serta
posisi teks dalam dokumen PDF. Tc operator dan operator Tw mendefinisikan karakter dan kata jarak.
Operator Tj digunakan untuk menampilkan (atau cat) string teks. Operator TJ lebih maju juga digunakan
untuk menampilkan string teks, tetapi tidak seperti operator Tj sederhana dapat mengontrol posisi karakter
individu dalam string teks.

Gambar 1: Tc Operator contoh

2.2.1 Operator Tc

Operator ini digunakan untuk mengontrol ruang antara karakter dan beroperasi pada blok teks keseluruhan.
Fungsi yang disediakan oleh operator Tc digunakan untuk mengubah kepadatan keseluruhan teks. Dalam
lapangan tipografi, konsep ini dikenal sebagai pelacakan.

4
Nilai awal operator diatur ke 0. Dengan mengubah nilai menjadi bilangan bulat positif, ruang antara
karakter meningkat seperti dapat dilihat pada Gambar 1 adalah nilai diatur ke 0,25. Nilai negatif akan
menurunkan ruang.
nilai-nilai Tc dinyatakan dalam satuan ruang teks unscaled. Unit Ruang teks default adalah satu titik (1
pt). berarti unscaled itu tidak tergantung pada ukuran font. Nilai Tc 0,25 dalam contoh berarti bahwa ruang
antara masing-masing karakter akan meningkat sebesar 0,25 pt (dengan standar satuan ruang teks dari 1
pt).

2.2.2 Operator Tw

Operator Tw digunakan untuk mengatur ruang antara kata-kata. Ia bekerja dengan cara yang sama sebagai
operator Tc tetapi hanya berlaku untuk karakter spasi. Nilai default adalah 0. Contoh penggunaan operator
Tw dapat ditemukan pada Gambar 2.
nilai-nilai Tc juga dinyatakan dalam satuan ruang teks unscaled. Nilai Tw dari
2,5 dalam contoh berarti bahwa ruang antara setiap kata meningkat dengan 2,5 pt (dengan standar satuan
ruang teks dari 1 pt).

Gambar 2: Tw Operator contoh

Gambar 3: TJ Operator contoh

2.2.3 Operator TJ

Operator TJ digunakan untuk menampilkan string teks dalam PDF fi le. Ini berisi sebuah array dari string
dan angka yang masing-masing terdiri dari karakter dan nilai-nilai ruang yang digunakan antara karakter ini.
Karakter yang ditampilkan dengan cara yang sama seperti ketika operator Tj digunakan. Namun, untuk
setiap nilai ruang TJ posisi teks saat ini diubah dengan mengurangi nilai dari posisi saat ini. Sebuah nilai
negatif berarti bahwa karakter berikutnya dipindahkan sedikit lebih ke kanan yang meningkatkan ruang. Nilai
positif berarti karakter berikutnya dipindahkan lebih dekat dengan yang sebelumnya yang menurunkan
ruang. variabel ruang antara karakter sering digunakan untuk membuat output yang lebih baik cari. Dalam
lapangan tipografi, konsep ini dikenal sebagai kerning.

Nilai-nilai ruang TJ dinyatakan dalam satuan ruang teks berskala. Unit default adalah 1/1000 dari em.
Sebuah em adalah unit relatif terhadap ukuran font ed spesifik. Sebagai contoh, 1 em dengan ukuran font 12
pt sama dengan 12 pt.

5
Sebuah contoh dari kerja operator TJ dapat dilihat pada Gambar 3.

2.2.4 Perbandingan operator

Untuk menemukan keluar sifat dari beberapa operator dan alasan mengapa nilai-nilai Operator TJ dipilih untuk
data yang menyembunyikan ke dalam, beberapa PDF fi les diperiksa. Kehadiran dan frekuensi dari tiga
operator yang dibahas ditunjukkan pada Tabel 1.

Tabel 1: Penampilan dari Tc, Tw dan TJ operator di di ff erent PDF fi les


XXXXXXXXXX
Mengajukan
1 2 3 4 5 6 7 8
Operator
tc 1272 0 554 2016 87 561 389 976
tw 963 0 526 1853 0 430 0 765
TJ 668 1171 442 1246 784 598 1036 790

Operator TJ adalah, dibandingkan dengan Tc dan Tw operator, digunakan dalam setiap PDF fi le. Setiap
baris teks diwakili oleh satu operator TJ. Setiap operator TJ berisi satu atau lebih nilai ruang. Jika sebuah teks
dibenarkan, yang berarti bahwa itu baik selaras dengan margin kiri dan kanan, operator TJ lebih sering
digunakan untuk memperkenalkan variabel jarak antara kata-kata dan karakter untuk memenuhi aturan fi kasi
membenarkan. Berbeda dengan ini, Tc dan Tw nilai-nilai hanya berisi satu nilai ruang untuk sebuah blok teks.
Meskipun Tc dan Tw operator mungkin dapat digunakan untuk data yang menyembunyikan dalam dokumen
PDF, nilai-nilai TJ tampaknya menjadi yang paling menjanjikan.

6
3 Pelaksanaan metode asli
Sebagai dasar untuk pekerjaan kami kami menerapkan algoritma TJ asli yang dijelaskan dalam [3].
Implementasi dibuat tersedia melalui Github [7].
Untuk memberikan gambaran singkat, metode asli menggunakan nilai-nilai TJ antara [-16,16] di PDF fi
les dibuat dengan Jaws PDF data menyembunyikan ke dalam. Input data tertanam dalam potongan dari 4 bit
yang berkorespondensi dengan nilai-nilai dalam rentang [1,16] setelah penambahan dengan 1. Hanya nilai
mutlak diperhitungkan, tanda minus diabaikan. Nilai-nilai TJ antara [-16,16] yang digunakan untuk data yang
menyembunyikan dalam dipilih secara acak dengan penggunaan Logistik Chaotic Peta yang bertindak
sebagai Pseudorandom Number Generator (PRNG). Semua nilai TJ lainnya antara [-16,16] diganti dengan
nilai-nilai dalam kisaran yang sama yang berasal dari lain Logistic Chaotic Peta.

3.1 Pertimbangan Teknis

3.1.1 Python 2

Kami menggunakan Python 2 [8] untuk membuat versi kita dari algoritma TJ, sebagian besar karena o ff ers sintaks
nyaman dan karena biasanya membutuhkan garis kurang dari bahasa scripting lainnya. Disamping kembali modul
menyediakan bagus dan praktis cara untuk berurusan dengan ekspresi reguler (seperti dijelaskan di bawah).

Dalam rangka untuk melakukan beberapa spesifik operasi pada string dan angka, kami menulis kelas
khusus yang berisi beberapa metode yang berguna untuk membagi urutan, string transcode antara kode
ASCII dan bentuk numerik (biner, desimal, heksadesimal). Semua fungsi-fungsi menyadari parameter
khusus: kedalaman bit (default 4) digunakan untuk angka menanamkan nilai-nilai TJ. The merek kelas
menggunakan satu Pilih modul. Hal ini juga memungkinkan untuk menghitung Secure Hash Algorithm 1
(SHA-1) mencerna beberapa string, yang diperlukan oleh metode asli, hal ini dilakukan oleh hashlib modul.

Kami juga menulis kelas yang mengimplementasikan peta kacau (digunakan sebagai PRNG a), dan memungkinkan
penggunaan string bekerja sebagai benih untuk peta kacau.

3.1.2 Parsing operator TJ

Kami menggunakan kembali modul untuk mengurai operator TJ. Pertama, kita mengurai blok TJ menggunakan r '\ [(. *) \]
[]? TJ'.
Kemudian, kita mengurai blok untuk mengambil setiap nilai TJ dari itu: r '[>)] (? [0-9] +) [<(]' ( kita
membiarkan dua di ff erent konvensi: kurung (...) dan kurung sudut <...>, karena beberapa pencipta PDF
menggunakan satu, dan beberapa penggunaan yang lain). Dalam rangka untuk mendapatkan statistik
tentang distribusi nilai TJ, kita mengurai fi le beberapa kali untuk setiap proses embedding.

3.1.3 QPDF

QPDF adalah “sistem PDF transformasi konten-melestarikan”. Hal ini memungkinkan mengompresi dan
Uncompressing benda aliran PDF. Tapi bunga utamanya adalah format QDF: format ini menyediakan
plain-text editing PDF fi les, untuk itu dapat membangun kembali tabel referensi silang dan struktur fi le
sesudahnya.
Kami menggunakan sistem QPDF masukan uncompress fi les dan mengkonversikannya ke format QDF.
Setelah fi le editing (mengubah nilai-nilai TJ) selesai, kita menggunakan

7
QPDF untuk membangun kembali PDF terkompresi fi le, dengan meja referensi silang yang valid. Semua
panggilan ke tumpukan QPDF dilakukan melalui Python os.sytem (...)
fungsi.

3.1.4-keramahan Pengguna

Dalam rangka untuk membawa beberapa user-keramahan untuk program kami, kami membuat penggunaan sys

dan optparse modul.


Program ini akan mengambil masukan dari stdin, misalnya berlalu-in dengan pipa UNIX; sebaliknya, adalah
mungkin untuk menggunakan - m ( atau -- pesan) pilihan; jika tak satu pun dari mereka yang digunakan, program akan
meminta masukan.
Kami menggunakan optparse untuk menambah banyak pilihan yang berguna dan ags fl, untuk membuat program lebih
user-friendly. Selain itu, yang membuat lebih mudah bagi kita mendapatkan semua data untuk penelitian kami.

3.2 Detailing metode asli

Selama pelaksanaan metode asli, kami berlari ke dalam beberapa masalah. Itu muncul kepada kita bahwa
penulis tetap samar-samar tentang beberapa rincian.

3.2.1 Menghasilkan benih untuk peta kacau

Prosedur untuk menghasilkan benih untuk peta kacau, berdasarkan string panjang 10 karakter, tidak
sepenuhnya jelas. Kita misalkan untuk mendapatkan nomor dari masing-masing karakter, menggabungkan
angka-angka, dan menambahkan” 0. ”Di sebelah kiri, untuk mendapatkan angka desimal ketat antara 0 dan 1.

Namun, kertas itu tidak jelas tentang bagaimana kita harus mengubah karakter menjadi angka. Kita
membuat pilihan untuk tidak menambahkan nol terkemuka. Yang seharusnya tidak memiliki konsekuensi
apapun pada sisa algoritma.

3.2.2 Menemukan akhir pesan

Para penulis tidak menentukan bagaimana penerima harus tahu di mana ujung data, meskipun itu adalah
wajib.
The embedding algoritma spesifik es itu, ketika semua data telah tertanam tetapi masih ada operator
TJ tersedia, mereka harus fi diisi dengan nilai acak. Namun, pengirim juga embeds mencerna data (tanpa
nilai acak tertinggal) sebagai checksum. Setelah penggalian, penerima harus memeriksa data yang diambil
mencerna terhadap checksum diekstrak; jika data diekstrak mengandung tertinggal nilai acak, digest tidak
akan cocok.

Akibatnya, penerima harus tahu di mana ujung data. Para penulis tidak menyebutkan bagaimana, jadi
kita fi gured itu diri kita sendiri: kita menggunakan mencerna dari kunci, yang akan tertanam pada akhir
data. Digest bekerja sebagai urutan berakhir untuk penerima, yang sekarang tahu di mana data ujungnya
tertanam.

8
4 Mengevaluasi metode TJ
Teknik-teknik yang digunakan untuk fi nd kelemahan dalam metode TJ asli dijelaskan dalam bagian ini.
Percobaan terutama difokuskan pada pola fi nding dalam nilai-nilai ruang TJ dan di ff perbedaan-perbedaan
yang diperkenalkan ketika nilai-nilai ini berubah.

4.1 data set

Untuk dapat bekerja pada sifat statistik PDF fi les, dataset yang tepat diperlukan. Untuk membuat dataset
ini, salah satu yang paling populer e-buku dari Proyek Gutenberg [9], yang “Adventures of Huckleberry Finn
oleh Mark Twain” [10] digunakan. Teks itu dibenarkan dan beberapa karakter bermasalah dipindahkan
untuk dapat mengurai dokumen lebih mudah. Teks diedit yang digunakan sebagai dasar setiap percobaan
yang terkandung 585.812 karakter. Kecuali dinyatakan lain, semua percobaan yang dilakukan
menggunakan dokumen PDF yang dibuat dari teks referensi ini. Dokumen PDF yang dibuat dengan LibreO
FFI ce [11] sebagai editor dan Jaws PDF [12] sebagai penulis PDF untuk metode TJ asli. Untuk semua
dokumen font bentuk dan ukuran font yang sama digunakan. Teks digunakan untuk membuat kedua
satu-kolom dan dua kolom dokumen PDF.

Histogram diciptakan untuk melihat apakah ada di ff perbedaan-perbedaan antara distribusi nilai TJ
dalam satu kolom dan dua kolom dokumen PDF dan untuk menentukan apakah mungkin untuk membuat
dataset referensi yang lebih besar dengan menggabungkan data dari satu dan dua kolom dokumen.

Gambar 4: Distribusi nilai ruang TJ dalam dokumen satu-kolom dibuat dengan Jaws PDF

9
Gambar 5: Distribusi nilai ruang TJ dalam dokumen dua kolom dibuat dengan Jaws PDF

Angka 4 dan 5 menunjukkan distribusi dari nilai-nilai ruang TJ dalam satu kolom dan dua kolom
dokumen dan Gambar 6 menunjukkan distribusi nilai ruang TJ dari dokumen gabungan dibuat dengan Jaws
PDF, penulis PDF yang merupakan bagian dari TJ Asli metode. Seperti yang dapat dilihat, distribusi hampir
sama. Semua dari mereka mengikuti hampir pola yang sama dan yang paling nilai-nilai sering juga sama
dalam tiga set data. Jadi kita dapat menggunakan ini fi les sebagai referensi untuk distribusi normal dari
nilai-nilai ruang TJ. Oleh karena itu kami telah memilih dokumen gabungan untuk analisis umum dari
distribusi normal dan dokumen dua kolom untuk membandingkan di ff selisih antara fi le yang berisi data
yang disembunyikan dengan fi le yang normal.

4.2 Randomness nilai TJ

Ada asumsi yang dibuat dalam [3] mengatakan bahwa TJ nilai ruang antara [-16,16] yang digunakan dalam
dibenarkan PDF fi les diciptakan oleh Jaws PDF cukup acak untuk menggunakannya sebagai saluran
rahasia data hide. Berdasarkan asumsi ini, penulis kertas yang secara acak memilih TJ nilai ruang antara
[-16,16] data sembunyikan ke dalam dan diganti sisanya dengan angka acak dalam kisaran yang sama.
Untuk memverifikasi apakah urutan angka acak, tes frekuensi bisa digunakan. Ini adalah salah satu cara
dasar untuk memeriksa keacakan urutan apapun dengan menghitung terjadinya setiap nomor. Jika urutan
menyediakan perilaku acak, frekuensi masing-masing nomor akan kira-kira sama. Dalam daftar di bawah
satu kaleng fi nd beberapa statistik tentang di ff erent TJ nilai ruang yang dibuat dari dokumen gabungan
dibuat dengan Jaws PDF:

10
Gambar 6: Distribusi TJ nilai ruang dalam dokumen gabungan dibuat dengan Jaws PDF (berisi satu kolom
dan dua kolom teks)

• 14,6% angka ganjil

• 85,4% bahkan nomor

- 37,5% akhir dengan 0

- 3,9% end dengan 2

- 21,6% end dengan 4

- 0,6% end dengan 6

- 22,1% akhir dengan 8

Sebagai salah satu dapat melihat angka ganjil tidak digunakan yang sering sebagai nomor bahkan.
Namun ada juga beberapa varietas di nomor bahkan. Sepuluh multipliers yang paling nomor bahkan sering
dan nomor berakhir dengan enam adalah orang-orang paling sering yang dapat dianggap sebagai outlier
(persentase penggunaannya tidak bahkan 1%).

Pada Gambar 7 orang dapat melihat bahwa TJ nilai ruang antara [-16,16] juga mengikuti persentase
tersebut. Ada nomor yang digunakan sangat sering dan nomor yang digunakan jarang. Seperti yang
ditunjukkan, frekuensi nilai ruang TJ tidak mengikuti fi uni ed distribusi yang hasil dalam urutan non-acak.
Karena hasil percobaan terbukti di ff erently, kita tidak bisa con fi rm klaim bahwa nilai-nilai TJ antara
[-16,16] terkandung dalam dokumen PDF yang dibuat dengan Jaws PDF yang ;. acak

Menggunakan implementasi kami berdasarkan algoritma asli, kami tertanam beberapa teks dalam
dokumen PDF dan kami memeriksa output fi le untuk distribusi nilai ruang TJ. Gambar 8 menggambarkan
bahwa nilai-nilai ruang TJ di Jaws

11
Gambar 7: Distribusi nilai ruang TJ antara [-16,16] dalam Jaws PDF fi le

PDF fi le yang berisi tersembunyi berperilaku data dengan cara yang lebih acak yang di ff erent dari perilaku asli
mereka. Hal ini membuktikan bahwa data yang disembunyikan dalam dokumen PDF yang dibuat dengan Jaws
PDF dapat dideteksi dengan melihat distribusi nilai TJ.

4.3 Total lebar baris

Mungkin ada cara lain, selain melihat distribusi umum nilai-nilai TJ, untuk mendeteksi data yang
disembunyikan dalam dokumen PDF. Pendekatan lain yang mungkin adalah untuk melihat garis lebar.
Membenarkan teks fi kasi sejajar baik dengan margin kiri dan kanan. Ini bisa berarti bahwa ada fi xed lebar
baris yang dapat dihitung.

Sebuah baris teks yang terkandung dalam array TJ ada karakter dan nilai-nilai ruang TJ yang mewakili
ruang variabel antara karakter-karakter. Jika lebar total dari semua karakter dalam array TJ dihitung dan
ditambahkan ke total jumlah dari semua nilai TJ untuk array itu, salah satu harus mendapatkan nilai yang
mewakili total lebar garis. Jika nilai ini kurang lebih sama untuk setiap baris, itu harus relatif mudah untuk
mendeteksi PDF fi le yang berisi data yang disembunyikan tertanam dengan metode TJ. Bahkan perubahan
kecil dengan lebar garis yang tidak akan terlihat dengan mata telanjang mungkin terdeteksi dengan cara ini.

Menghitung nilai TJ seharusnya tidak menjadi masalah. Tapi bagaimana bisa lebar spesifik karakter
ditentukan? Seseorang dapat berasumsi bahwa tidak setiap karakter memiliki lebar yang sama. font
sederhana (misalnya Ketik 1 [13], Ketik 3 dan TrueType [14] font) mengandung “Lebar” kunci dalam kamus
huruf yang mendefinisikan lebar karakter atau berisi referensi ke objek lain yang mendefinisikan lebar
karakter. Gambar 9 berisi contoh. Ini menunjukkan sebuah kamus font dengan kunci “Lebar” yang berisi
referensi ke objek 6. Objek ini berisi karakter lebar

12
Gambar 8: Distribusi nilai ruang TJ antara [-16,16] dalam Jaws PDF fi le yang berisi data yang
disembunyikan

untuk karakter yang spesifik font.

2 0 obj <<

/ LastChar 100 / basefont / MMIVQW +


CMR10 / Subtipe / Type1 / Lebar 6 0 R /
FontDescriptor 7 0 R / Jenis / Font /
FirstChar 45

> > endobj

6 0 obj [333,3 277,8 500 500 500 500 500 500 500 500 500 500 500 277,8 277,8
277,8 777,8 472,2 472,2 777,8 750 708,3 722,2 763,9 680,6 652,8 784,7 750 361,1
513,9 777,8 625 916,7 750 777,8 680,6 777,8 736,1 555,6 722,2 750 750 1027,8
750 750 611,1 277,8 500 277,8 500 277,8 277,8 500 555,6 444,4 555,6] endobj

Gambar 9: Karakter lebar objek

Sebuah percobaan sederhana dieksekusi untuk membuktikan hipotesis bahwa garis lebar total dapat
dihitung untuk mendeteksi data yang disembunyikan. Sebuah dua puluh halaman, dua kolom dokumen PDF
secara otomatis dihasilkan dengan “kata-kata” yang berisi hingga sembilan karakter acak dari daftar a, b, c dan
d. Sebuah alat diciptakan untuk menghitung setiap lebar garis. Nilai-nilai lebar untuk karakter digunakan
digeledah untuk di

13
objek yang terkandung lebar dan kemudian hardcoded dalam perangkat. Pendekatan ini harus cukup
memadai untuk percobaan ini tapi bisa otomatis di lain waktu. Empat nilai terakhir di objek 6 dari Gambar 9
adalah lebar untuk karakter a, b, c dan d dalam dokumen PDF yang dihasilkan.

Hasil percobaan ditunjukkan pada Gambar 10. Angka-angka di depan frekuensi garis lebar nilai-nilai
dalam PDF. Nilai-nilai lebar baris adalah nomor terakhir di setiap baris. Satu dapat membedakan dua di ff
erent rentang nilai dan dua nilai khusus. Nilai-nilai antara 22.099 dan 22.101 digunakan untuk garis normal
teks. Nilai-nilai antara 21.766 dan 21.768 digunakan dalam garis yang hyphenation diterapkan untuk
memecahkan sebuah kata di akhir baris. Nilai

4444,2 adalah nilai yang digunakan untuk baris terakhir. baris ini tidak mengandung cukup karakter untuk
membenarkan teks yang menghasilkan nilai yang lebih rendah banyak. Nilai 21.100,4 digunakan untuk fi baris
pertama yang menjorok.
Ini harus jelas bahwa sebagian besar baris dalam teks fi ed membenarkan akan memiliki nilai lebar yang sama dan
bahwa mengubah nilai-nilai TJ akan sebuah ff ect lebar garis tersebut. Sebuah hitungan tinggi lebar garis yang tidak
memenuhi pola fi le secara keseluruhan, bisa menjadi tanda bahwa dokumen PDF berisi data yang disembunyikan.
Karena keterbatasan waktu, tidak ada upaya lebih lanjut yang diambil untuk benar-benar menggunakan informasi ini
dengan cara yang lebih praktis.

264 nilai baris Jumlah: 22.099,8 229 total nilai


baris: 22.100,2 228 total nilai baris: 22.100,0 208
total nilai baris: 22.100,4 154 total nilai baris:
21.766,8 152 total nilai baris: 21.766,4 150 total
nilai baris: 21.766,6 149 total nilai baris: 21.767,2
148 Jumlah nilai line: 21.767,0 124 total nilai baris:
22.099,6 101 total nilai baris: 22.100,6

1 Total nilai baris: 4444,2 1 Total nilai baris:


21.100,4

Gambar 10: Jalur frekuensi lebar

4.4 Kegunaan dari Logistik Chaotic Maps

Salah satu bagian penting dalam algoritma TJ asli adalah penggunaan Logistik Chaotic Maps sebagai
sumber nomor acak. Satu digunakan untuk memilih tempat acak data menanamkan ke dalam dan satu lagi
digunakan untuk membuat nomor acak antara [1,16] yang dapat dimasukkan untuk membuat redundansi
dan fi ll nilai yang tersisa. Hal ini dapat disebut dalam pertanyaan apakah ini Logistic Chaotic Maps
benar-benar menambah sesuatu yang berguna untuk keamanan steganografi metode ini. Mungkin kasus
yang akan lebih di FFI kultus untuk mengekstrak data tertanam ketika data yang tersembunyi di tempat
acak, tapi Bagian 4.2 dan 4.3 dari laporan ini sudah membuktikan bahwa hal itu tidak membuat lebih sulit
untuk mendeteksi adanya data ini ketika analisis statistik yang digunakan.

Satu juga mungkin bertanya nilai mengapa acak antara [1,16] yang dibuat dari Logistik Chaotic Peta
digunakan untuk menggantikan nilai-nilai asli dari mana para peneliti mengklaim bahwa mereka sudah acak.
Hal ini dapat dikatakan bahwa kapasitas berguna hilang dengan imbalan berupa enkripsi yang lebih lemah
daripada misalnya Advanced Encryption Standard (AES). Dengan asumsi hasil dieksekusi

14
eksperimen benar, data tersembunyi mungkin lebih mudah untuk mendeteksi karena non-acak nilai TJ
diganti oleh nilai-nilai acak yang dihasilkan dari Logistik Chaotic Peta. Ini berarti bahwa keamanan
steganografi mungkin lebih baik o ff tanpa menggunakan Logistik Chaotic Peta untuk menggantikan
nilai-nilai TJ.

15
5 Patching dan meningkatkan metode TJ

5.1 Perbandingan di ff erent penulis PDF

Sebagaimana dibahas dalam Bagian 4.2, nilai-nilai TJ di dalam PDF fi le dibuat dengan Jaws PDF tidak
menunjukkan perilaku acak. Dengan menganalisis nilai-nilai TJ diciptakan oleh di ff erent penulis PDF lainnya satu
dapat memeriksa jika nilai-nilai TJ dibuat oleh mereka dapat digunakan untuk membuat metode yang lebih aman.

PDFCreator
PDFCreator [15] adalah aplikasi PDF writer untuk sistem operasi Windows. Ini menciptakan printer virtual,
yang dapat digunakan untuk mencetak dokumen ke PDF fi le. Dengan menggunakan PDFCreator untuk
membuat PDF fi les kami melihat bahwa hanya 0,3% dari nilai-nilai ruang TJ yang digunakan dalam PDF fi le
yang bilangan bulat dan sisanya dari mereka nomor titik terapung dengan 5 atau 6 angka di belakang titik.

Pada fi sight pertama itu bisa melihat bahwa angka setelah titik terapung adalah tempat terbaik untuk
data yang menyembunyikan karena tidak peduli apa perubahan itu, yang di ff selisih antara nilai TJ baru dan
yang asli akan kurang dari satu. Tapi ini bisa menjadi hanya layak jika angka setelah titik mengapung
memberikan cukup keacakan.

Gambar 11: Distribusi nilai ruang TJ di PDFCreator PDF fi le

Gambar 11 mengilustrasikan distribusi nilai ruang TJ. Seperti ditunjukkan, beberapa nomor
dikelompokkan bersama mengikuti pola khusus yang berulang di seluruh set data. Meskipun ada beberapa
digit setelah titik mengapung, mereka digunakan sangat sering (misalnya di set data kami, nilai yang paling
sering adalah -0,956417). Ini berarti bahwa perubahan nilai-nilai TJ akan terlihat di histogram

16
ketika disembunyikan data tertanam.
PDFCreator bergantung pada Ghostscript [16] untuk menghasilkan PDF fi les. Analisis nilai TJ dalam
dokumen PDF yang dibuat dengan CutePDF [17], yang merupakan penulis PDF lain yang bergantung pada
Ghostscript, memberikan hasil yang sama. Ini adalah asumsi yang masuk akal bahwa hasil yang sama dapat
diharapkan dari penulis PDF lain yang bergantung pada Ghostscript.

L SEBUAH TEX

L SEBUAH TEX adalah sistem persiapan dokumen yang banyak digunakan di dunia akademis. L SEBUAH TEX fi
les disimpan sebagai TEX fi le, yang dapat diubah menjadi PDF fi le. Pdftex [18], yang merupakan bagian
dari TeXLive [19], digunakan untuk menghasilkan dokumen PDF dari TEX yang fi le.

Gambar 12: Distribusi nilai ruang TJ di L SEBUAH TEX PDF fi le

Tidak seperti PDFCreator, L SEBUAH menggunakan TEX bilangan bulat angka sebagai nilai-nilai TJ. Gambar 12
menunjukkan distribusi nilai ruang TJ dari L SEBUAH TEX PDF fi le. Ada beberapa nilai-nilai menyebabkan lonjakan
histogram. Namun, sebagian besar nilai-nilai mengikuti perilaku yang lebih acak, tetapi dengan frekuensi yang lebih
rendah banyak. Ada juga banyak nilai-nilai TJ hanya digunakan sekali atau dua kali, yang berarti L SEBUAH TEX
menggunakan lebih luas nomor.

Berbeda dengan penulis PDF lainnya, kesenjangan antara nilai-nilai TJ yang digunakan dalam PDF fi le
dibuat dengan L SEBUAH TEX lebih kecil dan kurang sering. Menggunakan wilayah nilai-nilai TJ dengan
distribusi fi ed uni, tidak termasuk yang paling nilai-nilai sering, akan membuat PDF fi les dibuat dengan L SEBUAH
TEX dasar menjanjikan untuk membangun sebuah algoritma steganografi aman berdasarkan metode TJ.

17
Enkripsi data 5.2

Tujuan utama di (PDF) steganografi adalah menghilangkan apapun dalam memengaruhi data masukan di
sampul-teks. Misalkan input data berisi, setelah konversi binarydecimal, frekuensi besar dari digit 7 dan
penutup-teks adalah Jaws PDF fi le di mana 7 adalah salah satu nilai paling sering. Dengan menanamkan
input data di cover-teks, frekuensi digit 7 di stego- fi le akan berubah dan terlihat di histogram stego- fi le ini.

Ketika distribusi nilai TJ dalam dokumen PDF berisi satu atau lebih pola, pola ini akan berubah ketika
data tertanam dalam dokumen yang memungkinkan untuk mendeteksi keberadaan data yang
disembunyikan. Hal ini juga berlaku ketika data non-acak tertanam dalam dokumen PDF yang berisi
nilai-nilai TJ acak. Ini berarti bahwa kedua nilai-nilai TJ asli dan data input harus acak untuk menghindari
deteksi oleh analisis statistik.

Enkripsi data input memberikan kita dengan urutan data acak. Untuk membuktikan e ff ect
menggunakan input data dienkripsi, dua stego- fi les diciptakan. Data tersembunyi salah satunya terdiri dari
20KB dari teks-jelas. Data tersembunyi di lain stego- fi le yang dienkripsi dengan AES-256-CBC sebelum
tertanam. Data tersembunyi tertanam dalam potongan dari 4 bit. penutup fi les yang dihasilkan dari L yang
sama SEBUAH Sumber TEX fi le. Karena kesimpulan dari Bagian 5.1, hanya wilayah nilai-nilai TJ dengan
distribusi fi ed uni, tidak termasuk nilai-nilai yang paling sering, digunakan untuk data yang
menyembunyikan.

Angka 13 dan 14 menunjukkan distribusi dari nilai-nilai TJ di stego- fi le yang berisi teks-jelas input data
dan input data dienkripsi. Seperti yang diharapkan yang terakhir ini lebih dekat dengan penutup-teks asli
dan menjaga sifat-sifatnya.

Gambar 13: Distribusi nilai TJ dalam L SEBUAH TEX PDF stego fi le dengan data 4 bit masukan tanpa enkripsi

5.3 Jumlah bit yang digunakan dalam nilai-nilai TJ

Algoritma asli membagi data masukan menjadi 4 bit, yang berarti bahwa input nilai data akan bervariasi dari
1 sampai 16 setelah konversi ke desimal dan penambahan dengan 1, seperti yang dijelaskan dalam [3].
lebih bit yang digunakan untuk setiap nilai TJ, semakin banyak informasi dapat disimpan. Di sisi lain,
semakin banyak bit yang digunakan untuk setiap nilai TJ, semakin distorsi akan dibuat di setiap baris teks.
Hal ini dapat terlihat dalam output PDF dan histogram saat

18
Gambar 14: Distribusi nilai TJ dalam L SEBUAH TEX PDF stego fi le dengan 4 bit dienkripsi input data

distorsi mencapai batas tertentu. E ff ect dalam output dari PDF fi le bahkan akan lebih besar ketika garis
tetangga mengandung distorsi dalam arah yang berlawanan.

Gambar 15: Distribusi nilai TJ dalam L SEBUAH TEX PDF stego fi le dengan data 3 bit masukan tanpa enkripsi

Gambar 15 mengilustrasikan distribusi nilai TJ menggunakan 3 potongan bit input data tanpa enkripsi. Jika
kita membandingkan bahwa dengan angka 13, dapat disimpulkan bahwa 3 bit potongan data masukan akan
menjadi pilihan yang lebih baik, meskipun menurunkan kapasitas yang tersedia dan masih mengandung
histogram terdistorsi.
Dalam hal input data dienkripsi sebelum embedding dalam cover-fi le, hasilnya berubah. Gambar 16
dan 14 menunjukkan sedikit di ff selisih antara penggunaan 3 atau 4 bit data masukan ketika dienkripsi.
Percobaan ini menunjukkan bahwa itu adalah aman untuk digunakan potongan 4 bit dari input data ketika
data ini dienkripsi. Gambar 17 membuktikan bahwa output dari stego- fi le dengan input data dari 4 potongan
bit masih terlihat sempurna selaras.

19
Gambar 16: Distribusi nilai TJ dalam L SEBUAH TEX PDF stego fi le dengan 3 bit dienkripsi input data

Gambar 17: Output dari stego fi le dengan data 4 bit input dan dengan enkripsi

5.4 Menggunakan sebagian besar nilai-nilai TJ

Dalam metode TJ asli hanya sebagian dari nilai-nilai ruang TJ digunakan untuk embedding data. Hanya
nilai-nilai TJ antara [-16,16] dipilih dan persentase tertentu dari mereka, tergantung pada nilai parameter
redundansi, tidak akan digunakan untuk data yang menyembunyikan. Gambar 18 menunjukkan persentase
nilai TJ antara [-16,16] dalam Jaws PDF fi le. Seperti menggambarkan, lebih dari setengah dari nilai-nilai
yang tidak digunakan dan ini bahkan tidak termasuk nilai-nilai yang ditinggalkan karena parameter
redundansi.

Salah satu perbaikan yang jelas untuk membuat kapasitas yang lebih bisa menggunakan semua nilai
TJ, bukan hanya yang antara [-16,16]. Hal ini dapat dicapai dengan mengubah nilai TJ asli untuk biner,
mengubah 4 bit terakhir sesuai dengan input data dan mengubah nilai kembali ke desimal. Namun, dengan
menggunakan setiap nilai TJ dapat mengungkapkan adanya data yang disembunyikan karena distribusi
normal nilai TJ berisi beberapa nilai-nilai yang jarang digunakan dan beberapa nilai-nilai lain yang
digunakan sangat sering.

Misalnya dalam distribusi nilai TJ diekstrak dari L SEBUAH TEX PDF fi le (Gambar 12), ada beberapa
nilai-nilai di mana frekuensi lebih tinggi dari yang lain. Sebagian besar nilai TJ lainnya mengikuti lebih atau
kurang distribusi fi ed uni. Namun, di luar blok nilai merata ada nilai-nilai yang digunakan sangat jarang atau
tidak sama sekali. Hal ini dapat diselesaikan dengan memilih wilayah nilai-nilai yang lebih atau kurang
merata dan melewatkan nilai-nilai yang menciptakan puncak dan lembah.

Nilai-nilai ruang TJ, diekstrak dari L SEBUAH TEX PDF fi le (Gambar 12), di kisaran [-450, -250] mengikuti
distribusi fi kasi kurang lebih uni. Dengan mengadaptasi kisaran ini dengan jumlah bit yang digunakan
(misalnya [-447, -257] untuk 4 bit) persimpangan dari

20
Gambar 18: Persentase nilai ruang TJ di Jaws PDF fi le

batas-batas yang ditetapkan dapat dicegah. Akhirnya, dengan menggunakan rentang [-447.337] dan [-320,
-257], nilai-nilai -334 dan -333, yang sangat nilai-nilai sering, dapat dihindari.

Karena distribusi nilai TJ dalam dokumen PDF Jaws (Gambar 6) mengikuti pola dari puncak tinggi dan
lembah yang dalam, teknik yang sama seperti diterapkan pada dokumen PDF yang dibuat dengan L SEBUAH TEX
tidak dapat dilaksanakan dengan sukses. Meskipun penggunaan semua nilai TJ dalam dokumen PDF Jaws
akan mengubah distribusi bahkan lebih, itu tidak akan peduli bahwa banyak karena itu sudah terbukti dalam
Bagian 4 bahwa data tersembunyi dapat dideteksi dengan menggunakan analisis statistik. Oleh karena itu
dapat diasumsikan bahwa itu harus mudah untuk meningkatkan kapasitas yang tersedia sambil menjaga
tingkat keamanan yang sama, dengan mempertimbangkan bahwa keamanan steganografi tidak begitu
tinggi.

5.5 Kompensasi lebar baris dengan mengubah nilai-nilai TJ

Sebagaimana dibahas dalam Bagian 4, garis lebar dalam PDF fi le dengan membenarkan teks fi kasi akan lebih
atau kurang sama dan tidak akan berisi berbagai nilai-nilai.
Ketika nilai-nilai TJ diganti sementara menyembunyikan pesan di dalam PDF fi le, probabilitas bahwa
nilai-nilai yang di ff erent dan bahwa total lebar garis berubah sangat tinggi. Itu berarti bahwa teks tidak
sempurna membenarkan ed lagi. Namun, mungkin tidak terlihat bagi manusia dengan melihat itu. Alignment
kiri akan puas karena pertama karakter memiliki posisi absolut. Keselarasan yang tepat Namun, akan
berbeda untuk baris dengan nilai-nilai TJ berubah karena karakter setelah fi rst satu ditempatkan relatif ke
karakter sebelumnya berdasarkan nilai TJ.

Solusi untuk masalah ini akan menahan beberapa nilai TJ untuk mengimbangi garis lebar. Total semua
nilai TJ berubah untuk satu baris dapat dibandingkan dengan total nilai TJ asli untuk garis. The di ff selisih di

21
lebar dapat dikompensasikan dengan mendistribusikan ini di ff selisih atas nilai TJ dilindungi undang-undang.
Dalam skenario terburuk di mana satu nilai TJ digunakan untuk mengkompensasi perubahan diperkenalkan
oleh nilai TJ lain, 50% dari kapasitas akan hilang. Namun, cara-cara cerdas dapat diciptakan ke titik bahwa
hanya satu nilai TJ diperlukan untuk mengkompensasi di keseluruhan ff selisih lebar garis.

5,6 posisi Acak awal dan masukan

Bayangkan kasus di mana ukuran data yang disembunyikan jauh kecil dan tersembunyi di tempat acak
dalam stego- fi le. Dalam situasi ini, fi nding posisi awal untuk menganalisis setelah itu akan lebih di FFI
kultus. Meskipun tidak mengubah distribusi nilai-nilai TJ dan tidak menambahkan sesuatu untuk keamanan
steganografi, dapat membuat lebih sulit untuk mengekstrak data yang tersembunyi. Penempatan input data
dan nilai-nilai kompensasi lebar garis dalam setiap baris juga dapat secara acak. Untuk ini fungsi
pengacakan dari awal dan masukan posisi, sama atau di ff erent password dapat digunakan sebagai untuk
bagian enkripsi. Dengan menerapkan fungsi ini dalam spesifik cara, salah satu dapat membuatnya juga jauh
lebih sulit dan rumit bagi penyerang untuk mengeksekusi serangan brute force. Ide-ide ini tidak
dilaksanakan atau belum diuji,

5.7 Algoritma baru

Bagian 5,1-5,6 telah memperkenalkan perbaikan pada algoritma steganografi yang dijelaskan dalam [3].
Meskipun pertanyaan penelitian yang lebih berfokus pada kapasitas dari keamanan, banyak perbaikan yang
diuraikan di bidang keamanan steganografi. Alasan untuk ini adalah bahwa algoritma TJ asli tampaknya
relatif lemah. Mungkin sulit data pemberitahuan disembunyikan dengan melihat output PDF atau kode
sumber tidak dikompresi, itu jelas terlihat ketika melakukan analisis statistik pada fi le.

ditingkatkan dan direkomendasikan algoritma data hide dalam dokumen PDF adalah kombinasi dari
algoritma TJ asli dan perbaikan yang dijelaskan dalam Bagian 5,1-5,6. Menggunakan dokumen PDF yang
dibuat dari L SEBUAH Sumber TEX fi les sebagai dasar dan penggunaan potongan 4 bit untuk menyembunyikan
data input nilai TJ. Input data dienkripsi sebelum tertanam di stego- fi le untuk menjaga distribusi nilai TJ
sedekat mungkin dengan distribusi asli. Dua rentang nilai TJ ([-447, -337] dan [-320, -257]) dipilih sebagai
sumber untuk menyembunyikan data masukan. Hal ini dilakukan untuk menghindari perubahan nilai-nilai TJ
yang memiliki frekuensi yang sangat rendah atau sangat tinggi. Ini juga berarti bahwa sebagian besar
nilai-nilai TJ akan digunakan untuk data yang menyembunyikan bukan hanya nilai-nilai antara [-16,16]. Untuk
membuat tidak mungkin untuk melihat di ff selisih dalam output PDF dan untuk melawan serangan yang
menghitung dan membandingkan lebar garis, beberapa nilai TJ akan digunakan untuk mengkompensasi
perubahan lebar garis yang diperkenalkan. Akhirnya, pengacakan dan redundansi fitur yang merupakan
bagian dari algoritma asli yang dibuang dalam mendukung kapasitas ekstra. fitur pengacakan alternatif yang
dijelaskan dalam Bagian 5.6 dapat digunakan sebagai pengganti.

22
5.8 Mengevaluasi algoritma baru

Beberapa perbaikan keamanan steganografi telah dimasukkan dalam algoritma baru untuk melindunginya
dari analisis statistik tetapi ini tidak berarti bahwa itu adalah aman terhadap metode lain yang belum diteliti
selama proyek. Salah satu metode yang dijelaskan di sini bisa untuk melihat TJ distribusi nilai spesifik
pasang karakter.

Meskipun beberapa perbaikan kapasitas embedding telah dimasukkan dalam algoritma baru, itu belum
terbukti berapa banyak keuntungan kapasitas telah diperoleh. Ini juga akan diuraikan dalam bagian ini.

5.8.1 Randomness dari TJ nilai untuk pasangan karakter

Sebuah teks adalah kumpulan terstruktur karakter yang berupa kata-kata, kalimat, paragraf dan sebagainya.
Satu tidak benar-benar berharap keacakan dalam teks. konsep penting dalam tipografi yang kerning dan
pelacakan. Seperti dijelaskan sebelumnya dalam Bagian 2, kerning adalah proses menyesuaikan jarak antara
pasangan karakter untuk menghasilkan output mencari yang lebih baik dan pelacakan adalah proses
menyesuaikan jarak dalam kelompok karakter untuk mengubah kerapatan keseluruhan.

Gambar 19: Distribusi nilai TJ untuk pasangan ew dalam L SEBUAH TEX PDF fi le tanpa data yang disembunyikan

Konsep-konsep ini mungkin memberikan beberapa harapan bahwa pasangan karakter tertentu lebih spesifik
nilai-nilai TJ lebih dari yang lain. Dalam hal ini, salah satu mungkin berharap untuk mendapati pola dalam TJ nilai
untuk pasangan karakter tertentu, yang dapat digunakan untuk mendeteksi data yang disembunyikan. Untuk
menguji hipotesis ini, alat ini dikembangkan untuk mengekstrak semua nilai TJ untuk setiap pasangan karakter
dalam PDF fi le. grafik histogram diciptakan untuk memeriksa distribusi nilai TJ untuk pasangan karakter tertentu.
Hal ini telah dilakukan untuk fi ve pasang karakter dalam L SEBUAH dokumen TEX PDF yang berisi paling nilai TJ
unik (misalnya et, ew, tt, nt, dan dt). Hasil ew dan dt pasang ditampilkan dalam Angka 19 sampai 22. Sulit untuk
membuat pernyataan tentang histogram tersebut. Meskipun satu dapat melihat beberapa di ff
perbedaan-perbedaan antara

23
histogram yang menunjukkan distribusi nilai TJ untuk PDF fi les dengan dan tanpa data yang disembunyikan, tidak
ada pola yang nyata terlihat. Penelitian lebih lanjut diperlukan untuk dapat menentukan apakah distribusi TJ nilai
untuk spesifik pasang karakter dapat digunakan untuk mendeteksi data yang disembunyikan.

Gambar 20: Distribusi nilai TJ untuk pasangan ew dalam L SEBUAH TEX PDF fi le dengan data yang disembunyikan

Gambar 21: Distribusi nilai TJ untuk pasangan dt di L SEBUAH TEX PDF fi le tanpa data yang disembunyikan

24
Gambar 22: Distribusi nilai TJ untuk pasangan dt di L SEBUAH TEX PDF fi le dengan data yang disembunyikan

5.8.2 Perbandingan dari kapasitas yang tersedia

Perhitungan kapasitas embedding dari algoritma asli ditampilkan dalam Persamaan 1. Jumlah karakter
dalam dokumen PDF dinotasikan dengan
cm. Persentase kerning pasangan, pasangan karakter yang mengandung nilai TJ, dilambangkan dengan sk%
dan se% dapat dilihat sebagai persentase dari nilai-nilai TJ berguna (yaitu nilai-nilai TJ dalam rentang
[-16,16]). Parameter redundansi terkandung dalam pr%.

Kapasitas = ((cm - cm × sk%) × se%) × ( 1 - pr%) (1)

Persamaan 2 dapat digunakan untuk menghitung kapasitas embedding dari peningkatan algoritma
tanpa kompensasi lebar. Kisaran berguna nilai TJ dilambangkan oleh ra%. Persamaan 3 berubah
persamaan 2 dengan memasukkan kompensasi lebar, yang dilambangkan dengan wc%.

Kapasitas = ((cm - cm × sk%) × ra%) (2)

Kapasitas = ((cm - cm × sk%) × ra%) × ( 1 - toilet%) (3)

Dua stego- fi les diciptakan untuk contoh yang lebih praktis menghitung kapasitas embedding. Yang
pertama stego- fi le diciptakan dengan Jaws PDF dan digunakan untuk menguji kapasitas embedding dari
algoritma TJ asli. Kedua stego- fi le diciptakan dari L SEBUAH Dokumen TEX dan digunakan untuk menguji
kapasitas embedding dari peningkatan algoritma, tidak termasuk kompensasi lebar garis. Kedua dokumen
PDF berisi teks yang sama seperti yang dijelaskan dalam Bagian 4.1. Karena kedua metode menggunakan
potongan data 4 bit, kapasitas dapat dengan mudah dibandingkan dengan menghitung dan
membandingkan nilai TJ berguna.

The Jaws dokumen PDF memiliki 442.401 nilai TJ dari mana 106.706 dapat digunakan untuk data yang
menanamkan, yang berarti dapat menanamkan 106, 706 × 4 ÷ 8 = 53, 353

25
bytes. PDF fi le dibuat dari L SEBUAH dokumen sumber TEX memiliki 147.458 nilai TJ dari yang 59.110 dapat
digunakan untuk data yang menanamkan, yang berarti dapat menanamkan
59, 110 × 4 ÷ 8 = 29, 555 byte. Ini berarti bahwa metode asli menang dengan margin besar dalam hal
embedding kapasitas.

5.8.3 Kapasitas vs trade-o keamanan ff

Meskipun perbaikan kapasitas dalam algoritma baru, ternyata algoritma asli masih memiliki kapasitas lebih
banyak embedding. Hal ini terutama karena dokumen PDF Jaws mengandung kira-kira tiga kali jumlah nilai
TJ L SEBUAH TEX PDF fi le.

Algoritma baru jelas lebih aman daripada yang asli tapi memiliki kapasitas embedding lebih rendah.
Namun, makalah ini telah menunjukkan di ff erent cara untuk bisa meningkatkan kapasitas yang juga dapat
diterapkan untuk algoritma asli. Ini berarti bahwa masih mungkin untuk meningkatkan kapasitas sekaligus
mempertahankan tingkat keamanan yang sama.

Ketika algoritma asli diubah dengan membuang fitur pengacakan dan redundansi yang merupakan
bagian dari algoritma asli dan dengan menggunakan semua nilai TJ, banyak kapasitas ekstra dapat
diperoleh. Enkripsi dan fitur pengacakan alternatif yang dijelaskan dalam Bagian 5.6 dapat digunakan untuk
menambahkan beberapa, nonsteganographic, keamanan. Sebagai algoritma TJ asli telah rusak dan tidak
mengandung perlindungan terhadap analisis statistik, perubahan ini setidaknya akan menjaga tingkat
keamanan yang sama dan akan menambah banyak kapasitas. Kapasitas embedding akan 442, 401 × 4 ÷ 8
= 221, 200,5 byte. Ini kira-kira empat kali lebih dibandingkan dengan algoritma asli.

Tergantung pada apa yang lebih penting, keamanan atau kapasitas steganografi, seseorang dapat
memilih salah satu dari dua versi yang lebih baik dari metode TJ asli data bersembunyi di PDF fi les.

26
6 Kesimpulan
The fi Kesimpulan pertama yang dapat ditarik dari hasil penelitian kami adalah bahwa nilai-nilai TJ antara
[-16,16] di dibenarkan dokumen PDF yang dibuat dengan Jaws PDF tidak acak berbeda dengan apa yang
pencipta dari negara metode TJ asli. Ini adalah kelemahan utama yang kita dieksploitasi untuk mendeteksi
data yang disembunyikan di stego- fi les dibuat dengan metode TJ asli. Oleh karena itu keamanan
steganografi metode TJ asli tidak sangat tinggi.

Sebuah kesimpulan yang mengikuti sebelumnya adalah bahwa Logistic Chaotic Maps tidak
memberikan keamanan steganograpic nyata. Mungkin lebih di FFI kultus untuk merekonstruksi data
tertanam, namun keberadaan data yang disembunyikan ini sangat terlihat ketika melakukan analisis statistik
pada distribusi dari nilai-nilai TJ.
Kesimpulan lain yang dapat ditarik dari hasil penelitian kami adalah bahwa dokumen PDF yang dibuat
dari L SEBUAH Sumber TEX fi les yang menghasilkan urutan yang lebih acak nilai TJ yang dapat digunakan
untuk data yang menyembunyikan tanpa mengubah distribusi umum dari nilai-nilai TJ ketika input data juga
acak. Hal ini dapat dicapai dengan mengenkripsi data masukan sebelum embedding dalam stego- fi le.

Dari hasil penelitian kami, kami juga dapat menyimpulkan bahwa dokumen PDF sangat terstruktur dan
bahwa ini membuatnya di FFI kultus untuk menyembunyikan data ke dalamnya yang tidak dapat dengan
mudah dideteksi. Contoh dari ini adalah perhitungan lebar garis. Satu lagi adalah sifat statistik dari nilai-nilai TJ
dalam dokumen PDF yang dibuat dengan spesifik PDF writer. Kita harus mengurus semua rincian ini untuk
menciptakan sebuah metode steganografi aman berdasarkan dokumen PDF.

Sebuah fi nal kesimpulan penting tapi yang jelas yang dapat ditarik dari hasil penelitian kami adalah
bahwa ada trade-o ff antara keamanan steganografi dan kapasitas. Karena tidak semua orang memiliki
kebutuhan yang sama, kami mengusulkan dua di ff erent versi perbaikan dari metode TJ data hide dalam
dokumen PDF.
Yang pertama metode, dijelaskan dalam Bagian 5.7, lebih aman dan dapat mencegah deteksi data
tersembunyi ketika analisis statistik dilakukan pada distribusi nilai-nilai TJ. Namun, kapasitas yang lebih
rendah dan mungkin masih ada beberapa cara lain untuk mendeteksi data yang disembunyikan.

Metode kedua o ff ers kira-kira empat kali kapasitas sebagai metode TJ asli sambil tetap tingkat
keamanan yang sama. Kapasitas ini telah diperoleh dengan membuang beberapa keterbatasan dan
mengganti fitur keamanan yang tidak bekerja dengan baik lebih e FFI efisien yang. Tidak ada cara untuk
mendeteksi data yang disembunyikan dengan melihat output atau kode sumber dari dokumen PDF. Namun,
ketika melakukan analisis statistik pada nilai-nilai TJ, data tersembunyi dapat dideteksi dengan mudah. Ini
versi perbaikan dari metode TJ asli, yang lebih jelas dijelaskan dalam Bagian 5.8.3, dapat dilihat sebagai
jawaban atas pertanyaan penelitian proyek ini:

Bagaimana kapasitas embedding steganografi di PDF fi les ditingkatkan dengan mengubah algoritma ada
sementara menjaga tingkat keamanan yang sama?

27
7 Penelitian lebih lanjut
Karena kendala waktu kita di mana tidak mampu melakukan semua percobaan yang kami ingin melakukan.
Masih banyak penelitian yang bisa dilakukan.
Meskipun kami membandingkan beberapa penulis PDF, ada banyak lagi yang kita tidak melihat. Itu bisa sangat
baik mungkin bahwa salah satu dari mereka memiliki sifat yang dapat digunakan untuk menciptakan lebih banyak
kapasitas atau metode steganografi yang lebih aman.
Kami juga mengambil cepat melihat sifat statistik dari nilai-nilai TJ dari spesifik pasang karakter. Namun,
kami tidak bisa membuat kesimpulan keras tentang hasil kami pada bagian dan penelitian lebih lanjut
diperlukan. Kami pikir bahwa ini bisa menjadi cara untuk memecahkan keamanan metode ditingkatkan kami.
Banyak penelitian juga dapat dilakukan untuk fi nd cara lain untuk memecahkan keamanan metode
ditingkatkan kami.
Kami meneliti kemungkinan mendeteksi data yang disembunyikan dalam dokumen PDF yang
menggunakan metode TJ. Namun kita tidak menciptakan alat yang dapat mengotomatisasi deteksi. Rumus
harus dibuat dari dasar dari distribusi normal dari nilai-nilai TJ untuk dapat mengotomatisasi deteksi ini.

Akhirnya, mungkin layak melihat cara untuk mengembangkan printer PDF yang menciptakan biasa
PDF fi les yang memiliki sifat yang cocok dengan PDF fi les yang berisi data yang disembunyikan. Contoh
ini bisa menjadi printer PDF yang menciptakan nilai-nilai TJ acak. Namun, PDF spesifik kation adalah
bahwa besar yang akan mengkonsumsi banyak waktu.

Idealnya satu akan dikembangkan baik, printer PDF dan PDF aplikasi steganografi untuk menyesuaikan
parameter dari kedua sesuai. PDF printer dapat diterbitkan dan dipromosikan untuk mendapatkan pangsa
pasar yang kecil dari beberapa persen. PDF aplikasi steganografi dapat dirahasiakan untuk menggunakannya
untuk pesan rahasia. Namun, ini juga memungkinkan untuk mempublikasikan PDF aplikasi steganografi, tapi
kemudian pengguna printer PDF bisa menjadi curiga menyembunyikan data.

28
Sebuah Daftar Akronim
AES Advanced Encryption Standard
ASCII American Standard Kode untuk Informasi Interchange
ISO Organisasi Internasional untuk Standardisasi
PDF Portable Document Format
PRNG Pseudorandom Number Generator
SHA-1 Mengamankan Hash Algoritma 1

Referensi
[1] I-Shi Lee dan Wen-Hsiang Tsa. Sebuah pendekatan baru untuk komunikasi rahasia
melalui pdf fi les. Signal Processing, 90: 557-565, 2010.

[2] Hongmei Liu, Lei Li, Jian Li, dan Jiwu Huang. Tiga algoritma baru untuk
Data bersembunyi di pdf fi les berdasarkan update inkremental. laporan teknis, Sun Yat-sen
University, Guangzhou, Cina, 2007.

[3] Shangping Zhong, Xueqi Cheng, dan Tierui Chen. Data bersembunyi di sejenis
dari pdf teks untuk communicationl rahasia. International Journal of Security Network, 4 (1): 17-26,
2007.

[4] referensi Pdf dan ekstensi adobe ke pdf spesifik fi kasi. Situs web. http:
//www.adobe.com/devnet/pdf/pdf_reference.html.

[5] pdftk pdf toolkit. Situs web. http://www.pdflabs.com/tools/


pdftk-the-pdf-toolkit /.

[6] Qpdf. Situs web. http://qpdf.sourceforge.net.

[7] Pdf sembunyikan. Situs web. https://github.com/ncanceill/pdf_hide.git.

[8] Python 2.7.3. Situs web. http://www.python.org/getit/releases/2.7.


3 /.

[9] Proyek Gutenberg. Situs web. http://www.gutenberg.org/.

[10] Adventures of huckleberry finn by mark twain. Website. http://www.


gutenberg.org/ebooks/76.

[11] Libreoffice 3.6.3.2. Website. http://www.libreoffice.org/.

[12] Jaws pdf creator v5.0. Website. http://www.jawspdf.com/.

[13] Adobe type 1 font format. Website. http://partners.adobe.com/


public/developer/en/font/T1_SPEC.PDF.

[14] Truetype reference manual. Website. https://developer.apple.com/


fonts/TTRefMan/index.html.

[15] Pdfcreator 1.6.0. Website. http://www.pdfforge.org/pdfcreator.

[16] Ghostscript. Website. http://www.ghostscript.com/.

29
[17] Cutepdf writer 3.0. Website. http://www.cutepdf.com/products/
cutepdf/writer.asp.

[18] pdftex 3.1415926-1.40.10-2.2. Website. http://www.tug.org/


applications/pdftex/.

[19] Tex live 2009. Website. http://www.tug.org/texlive/.

30

Anda mungkin juga menyukai