Algoritma enkripsi data. Metode Enkripsi Data - Aplikasi Algoritma Enkripsi Blog Programmer Web

Standar enkripsi negara di Rusia adalah algoritme yang terdaftar sebagai GOST 28147-89. Ini adalah cipher blok, yaitu mengenkripsi bukan karakter individual, tetapi blok 64-bit. Algoritme ini menyediakan 32 siklus konversi data dengan kunci 256-bit, sehingga sangat andal (memiliki kekuatan kriptografi yang tinggi). Pada komputer modern, memecahkan sandi ini dengan serangan brute-force akan memakan waktu setidaknya ratusan tahun, membuat serangan seperti itu menjadi sia-sia. Amerika Serikat menggunakan sandi blok AES yang serupa.

Algoritme RSA populer di Internet, dinamai menurut huruf awal dari nama penulisnya - R.Rivest, A.Shamir dan L.Adleman. Ini adalah algoritma kunci publik yang kekuatannya didasarkan pada penggunaan properti bilangan prima. Untuk memecahkannya, Anda perlu menguraikan bilangan yang sangat besar menjadi faktor prima. Masalah ini sekarang dapat diselesaikan hanya dengan pencacahan opsi. Karena jumlah opsinya sangat banyak, komputer modern membutuhkan waktu bertahun-tahun untuk memecahkan sandi tersebut.

Untuk menerapkan algoritmaRSA diperlukan untuk membangun kunci publik dan pribadi sebagai berikut.

1. Pilih dua bilangan prima besar, p dan q.
2. Temukan produk mereka n = p * q dan nilai f = (p - 1) (q - 1)
3. Pilih nomor e (1< e < k), которое не имеет общих делителей с f.
4. Temukan bilangan d yang memenuhi syarat d e = k f + 1 untuk suatu bilangan bulat k
5. Pasangan nilai (e,n) adalah kunci publik RSA (dapat dipublikasikan secara bebas) dan pasangan nilai (d,n) adalah kunci privat.

Pesan yang dikirimkan pertama-tama harus direpresentasikan sebagai urutan angka dalam rentang dari 0 hingga n - 1. Untuk enkripsi, rumus y \u003d x e mod n digunakan, di mana x adalah nomor pesan asli, (e, n ) adalah kunci publik, y adalah nomor pesan yang disandikan , dan notasi x e mod n menunjukkan sisa pembagian x dengan n. Pesan didekripsi menggunakan rumus x = y d mod n.
Ini berarti bahwa siapa pun dapat mengenkripsi pesan (kunci publik diketahui publik), dan hanya mereka yang mengetahui eksponen rahasia d yang dapat membacanya.
Untuk pemahaman yang lebih baik, kami akan menunjukkan pengoperasian algoritma RSA dengan contoh sederhana.
CONTOH: Ambil p = 3 dan q = 7, maka kita cari n = p q = 21 dan f = (p - 1) (q - 1) = 12. Kita pilih e = 5, maka persamaan d e = kf + 1 berlaku, misalnya, untuk d = 17 (dan k = 7). Jadi, kami mendapatkan kunci publik (5, 21) dan kunci rahasia (17, 21).

Mari mengenkripsi pesan "123" menggunakan kunci publik (5.21). Kita mendapatkan

1 1 5 mod 21 = 1 ,
2 2 5 mod21 = 11 ,

3 → 3 5 mod 21 = 12,
yaitu, pesan terenkripsi terdiri dari angka 1 ,11 dan 12. Mengetahui kunci rahasia (17, 21), kita dapat mendekripsinya:

1 → 1 17 mod 21 = 1 ,

11 → 11 17 mod 21 = 2 ,
12 → 12 17 mod 21 = 3 .

Kami telah menerima pesan aslinya.

Tentu saja, Anda memperhatikan bahwa ketika Anda mengenkripsi dan mendekripsi, Anda harus menghitung sisa pembagian angka yang sangat besar (misalnya, 12 17) dengan n. Ternyata angka 12 17 itu sendiri tidak perlu ditemukan dalam kasus ini. Cukup menulis satuannya ke variabel bilangan bulat biasa, misalnya x, lalu melakukan transformasi x = 12*x mod 21 sebanyak 17 kali, setelah itu variabel x akan bernilai 12 17 mod 21 = 3. Coba untuk membuktikan kebenaran algoritma ini.
Untuk mendekripsi pesan, Anda perlu mengetahui eksponen rahasia d. Dan untuk ini, pada gilirannya, Anda perlu menemukan faktor p dan q sedemikian rupa sehingga n = p q. Jika n besar, ini adalah masalah yang sangat sulit, dan akan memakan waktu ratusan tahun untuk menyelesaikannya dengan pencarian opsi yang lengkap di komputer modern. Pada tahun 2009, sekelompok ilmuwan dari berbagai negara, sebagai hasil dari perhitungan berbulan-bulan pada ratusan komputer, dapat mendekripsi pesan yang dienkripsi dengan algoritme RSA dengan kunci 768-bit. Oleh karena itu, kunci dengan panjang 1024 bit atau lebih sekarang dianggap dapat diandalkan. Jika komputer kuantum yang berfungsi dibangun, pemecahan algoritma RSA akan dimungkinkan dalam waktu yang sangat singkat.
Saat menggunakan sandi simetris, masalah selalu muncul: bagaimana cara mentransfer kunci jika saluran komunikasi tidak dapat diandalkan? Lagi pula, setelah menerima kuncinya, musuh akan dapat mendekripsi semua pesan selanjutnya. Untuk algoritma RSA, masalah ini tidak ada, cukup para pihak bertukar kunci publik yang dapat diperlihatkan kepada semua orang.
Algoritma RSA memiliki keunggulan lain: dapat digunakan untuk tanda tangan digital pesan. Ini berfungsi untuk membuktikan kepengarangan dokumen, melindungi pesan dari pemalsuan dan perubahan yang disengaja.

Tanda tangan digital adalah sekumpulan karakter yang diperoleh dengan mengenkripsi pesan menggunakan kode rahasia pribadi pengirim.

Pengirim dapat mengirim pesan yang sama dengan pesan asli yang dienkripsi dengan kunci pribadinya (ini adalah tanda tangan digital). Penerima mendekripsi tanda tangan digital menggunakan kunci publik. Jika cocok dengan pesan yang tidak terenkripsi, Anda dapat yakin bahwa itu dikirim oleh orang yang mengetahuinya Kode rahasia. Jika pesan telah dimodifikasi saat transit, itu tidak akan cocok dengan tanda tangan digital yang didekripsi. Karena pesannya bisa sangat panjang, untuk mengurangi jumlah data yang dikirimkan, paling sering tidak seluruh pesan dienkripsi, tetapi hanya kode hashnya.
Banyak program modern memiliki kemampuan untuk mengenkripsi data dengan kata sandi. Misalnya, office suite openoffice.org Dan kantor Microsoft membiarkan Anda mengenkripsi semuanya dokumen yang dibuat(untuk melihat dan / atau mengubahnya, Anda harus memasukkan kata sandi). Saat membuat arsip (misalnya, di pengarsipan 7Zip, WinRAR, WinZip) Anda juga dapat menyetel kata sandi, yang tanpanya tidak mungkin mengekstrak file.
Dalam tugas paling sederhana, untuk mengenkripsi file, Anda dapat menggunakan program gratis kriptografer(http://www.familytree.ru/ru/cipher.htm), versi yang tersedia untuk linux Dan Windows. Program TriCrypt(http://www.truecrypt.org/), BestCrypt(www.jetico.com) dan GratisOTFE(freeotfe.org) membuat disk wadah logis, informasi yang dienkripsi. Perangkat lunak gratis DiskCrypto r (diskcryptor.net) memungkinkan Anda mengenkripsi partisi hard drive dan bahkan membuat flash drive dan CD/DVD terenkripsi.
Program GnuPG(gnupg.org) juga merupakan perangkat lunak bebas. Ini mendukung cipher simetris dan asimetris, serta berbagai algoritma tanda tangan digital.

Steganografi

Video Youtube

Saat mengirim pesan, Anda tidak hanya dapat menggunakan enkripsi, tetapi juga menyembunyikan fakta pengiriman pesan.


Steganografi adalah ilmu transmisi informasi rahasia dengan menyembunyikan fakta transmisi informasi.

Sejarawan Yunani kuno Herodotus menjelaskan, misalnya, metode seperti itu: sebuah pesan ditulis di atas kepala seorang budak yang dicukur, dan ketika rambutnya tumbuh, dia pergi ke penerima, yang mencukur kepalanya dan membaca pesan itu.
Metode klasik steganografi adalah tinta simpatik (tidak terlihat), yang muncul hanya dalam kondisi tertentu (panas, pencahayaan, pengembang kimia). Misalnya, teks yang ditulis dengan susu dapat dibaca saat dipanaskan.
Sekarang steganografi terlibat dalam menyembunyikan informasi dalam file teks, grafik, suara dan video dengan secara terprogram "menyuntikkan" pesan yang diperlukan ke dalamnya.
Cara paling sederhana- ganti bit rendah dari file tempat gambar dikodekan. Selain itu, hal ini harus dilakukan sedemikian rupa sehingga perbedaan antara gambar asli dan gambar yang dihasilkan tidak terlihat oleh seseorang. Misalnya, jika dalam gambar hitam putih (256 warna abu-abu), kecerahan setiap piksel dikodekan dalam 8 bit. Jika Anda mengubah 1-2 bit paling tidak signifikan dari kode ini, "menyematkan" pesan teks di sana, foto yang tidak memiliki batas yang jelas tidak akan berubah. Saat mengganti 1 bit, setiap byte dari pesan teks asli disimpan dalam bit paling signifikan dari 8 kode piksel. Misalnya, 8 piksel pertama dari sebuah gambar memiliki kode berikut:

10101101

10010100

00101010

01010010

10101010

10101010

10101011

10101111

Untuk menyandikan kode huruf "I" (110010002) di dalamnya, Anda perlu mengubah bit kode yang lebih rendah:

1010110 1

1001010 1

0010101 0

0101001 0

1010101 1

1010101 0

1010101 0

1010111 0

Penerima perlu mengambil bit yang lebih rendah ini dan "merakit" mereka menjadi satu byte.
Untuk suara, metode steganografi lain digunakan, berdasarkan penambahan sinyal kondisional pendek ke rekaman, yang menunjukkan 1 dan 0 dan tidak dirasakan.
diambil

seseorang dengan telinga. Dimungkinkan juga untuk mengganti satu bagian suara dengan yang lain.
Tanda air digital digunakan untuk mengonfirmasi kepenulisan dan perlindungan hak cipta untuk file gambar, video, dan suara - informasi tentang penulis yang disematkan dalam file. Mereka mendapatkan namanya dari tanda air lama pada uang dan dokumen. Untuk menetapkan kepengarangan sebuah foto, cukup menguraikan informasi tersembunyi yang direkam menggunakan tanda air.
Terkadang tanda air digital dibuat terlihat (teks atau logo perusahaan pada foto atau pada setiap bingkai video). Banyak situs yang menjual foto digital memiliki tanda air yang terlihat pada foto pratinjau.


pertanyaan kontrol:
  1. Algoritma enkripsi apa yang diadopsi di Rusia sebagai standar negara?
  2. Apa itu algoritma cipher blok?
  3. Apa jenis algoritma RSA? Berdasarkan apa kekuatan kriptografinya?
  4. Apa itu tanda tangan digital?
  5. Bagaimana algoritma RSA dapat digunakan untuk tanda tangan digital?
  6. Apa itu steganografi?
  7. Metode steganografi apa yang ada sebelum penemuan komputer?
  8. Bagaimana saya bisa menambahkan teks ke gambar yang disandikan?
  9. Berdasarkan apa metode steganografi untuk data suara dan video?
  10. Apa itu tanda air digital? Mengapa mereka digunakan?

Latihan:

1. Lihat materi kuliah dan jawab pertanyaan kontrol.
2. Ikuti tautan dan kenali program untuk mengenkripsi file.
3. Enkripsi dokumen apa pun di suite kantor mana pun openoffice.org atau kantor Microsoft dan kirimkan saya .

Di antara berbagai metode enkripsi, metode utama berikut dapat dibedakan:

Algoritme substitusi atau substitusi - karakter teks sumber diganti dengan karakter alfabet lain (atau sama) sesuai dengan skema yang telah ditentukan sebelumnya, yang akan menjadi kunci sandi ini. Secara terpisah, metode ini secara praktis tidak digunakan dalam sistem kripto modern karena kekuatan kriptografi yang sangat rendah.

Algoritma permutasi - karakter teks asli dipertukarkan menurut prinsip tertentu, yang merupakan kunci rahasia. Algoritma permutasi itu sendiri memiliki kekuatan kriptografi yang rendah, tetapi dimasukkan sebagai elemen dalam banyak sistem kripto modern.

Algoritme gamma - karakter teks sumber ditambahkan ke karakter dari beberapa urutan acak. Contoh paling umum adalah enkripsi file "username.rwl", di mana sistem operasi Microsoft Windows 95 menyimpan kata sandi untuk sumber daya jaringan pengguna ini(kata sandi untuk masuk ke server NT, kata sandi untuk akses DialUp ke Internet, dll.). Saat pengguna memasukkan kata sandi untuk masuk ke Windows 95, ini menghasilkan gamma (selalu sama) yang digunakan untuk mengenkripsi kata sandi jaringan menggunakan algoritma enkripsi RC4. Kesederhanaan pemilihan kata sandi dalam hal ini disebabkan oleh fakta bahwa Windows selalu lebih memilih gamut yang sama.

Algoritma berdasarkan transformasi matematika yang kompleks dari teks sumber menurut beberapa rumus. Banyak dari mereka menggunakan masalah matematika yang belum terpecahkan. Misalnya, algoritma enkripsi RSA yang banyak digunakan di Internet didasarkan pada sifat bilangan prima.

Metode gabungan. Enkripsi berurutan dari teks asli menggunakan dua metode atau lebih.

Algoritma enkripsi

Mari kita lihat lebih dekat metode perlindungan data kriptografi

1. Penggantian (substitusi) algoritma

2. Algoritma Permutasi

3. Algoritma gamma

4. Algoritma berdasarkan transformasi matematika yang kompleks

5. Metode enkripsi gabungan

Algoritma 1-4 dalam "bentuk murni" mereka digunakan sebelumnya, dan hari ini mereka disematkan di hampir semua program enkripsi yang paling kompleks sekalipun. Masing-masing metode yang dipertimbangkan mengimplementasikan metode perlindungan kriptografi informasinya sendiri dan memiliki kelebihan dan kekurangannya sendiri, tetapi kesamaannya yang paling penting karakteristik adalah daya tahan. Ini dipahami sebagai jumlah minimum ciphertext, analisis statistik yang dapat mengungkap teks asli. Jadi, dengan kekuatan sandi, dimungkinkan untuk menentukan jumlah informasi maksimum yang diizinkan yang dienkripsi menggunakan satu kunci. Saat memilih algoritma kriptografi untuk digunakan dalam pengembangan tertentu, kekuatannya adalah salah satu faktor penentu.

Semua sistem kripto modern dirancang sedemikian rupa sehingga tidak ada cara untuk memecahkannya dengan cara yang lebih efisien selain dengan pencarian menyeluruh di seluruh ruang kunci, yaitu. atas semua nilai kunci yang mungkin. Jelas bahwa kekuatan sandi semacam itu ditentukan oleh ukuran kunci yang digunakan di dalamnya.

Saya akan memberikan perkiraan kekuatan metode enkripsi yang dibahas di atas. Substitusi monoalfabet adalah sandi yang paling tidak aman, karena penggunaannya mempertahankan semua pola statistik dari teks aslinya. Sudah dengan panjang 20-30 karakter, pola-pola ini dimanifestasikan sedemikian rupa sehingga, sebagai aturan, memungkinkan Anda untuk membuka teks sumber. Oleh karena itu, enkripsi semacam itu dianggap hanya cocok untuk menutup kata sandi, pesan singkat, dan karakter individu.

Kegigihan substitusi polyalphabetic sederhana (dari sistem serupa substitusi menurut tabel Vigenere dianggap) diperkirakan 20n, di mana n adalah jumlah huruf berbeda yang digunakan untuk penggantian. Saat menggunakan tabel Vigenere, jumlah huruf yang berbeda ditentukan oleh jumlah huruf yang masuk kata kunci. Komplikasi substitusi polialfabet secara signifikan meningkatkan stabilitasnya.

Stabilitas gamut secara unik ditentukan oleh periode gamut yang panjang. Saat ini, penggunaan gamut tak terbatas menjadi kenyataan, ketika menggunakannya, secara teoritis, kekuatan ciphertext juga tidak terbatas.

Dapat dicatat bahwa gamuting dan permutasi dan substitusi yang rumit paling cocok untuk penutupan array informasi yang andal.

Saat menggunakan metode enkripsi gabungan, kekuatan cipher sama dengan perkalian kekuatan masing-masing metode. Oleh karena itu, enkripsi gabungan adalah metode penutupan kriptografi yang paling aman. Metode inilah yang menjadi dasar pengoperasian semua perangkat enkripsi yang dikenal saat ini.

Algoritme DES telah disetujui bahkan lebih dari 20 tahun yang lalu, tetapi selama ini komputer telah membuat lompatan luar biasa dalam kecepatan komputasi, dan sekarang tidak terlalu sulit untuk memecahkan algoritme ini dengan menghitung semua opsi kunci yang memungkinkan (dan DES hanya menggunakan 8 byte), yang baru-baru ini tampaknya sama sekali tidak mungkin.

GOST 28147-89 dikembangkan oleh dinas rahasia Uni Soviet, dan hanya 10 tahun lebih muda dari DES; selama pengembangan, batas keamanan seperti itu dimasukkan ke dalamnya sehingga GOST ini masih relevan.

Nilai kekuatan cipher yang dipertimbangkan adalah nilai potensial. Mereka dapat diimplementasikan dengan kepatuhan ketat terhadap aturan penggunaan alat perlindungan kriptografi. Aturan utama ini adalah: merahasiakan kunci, menghindari duplikasi (yaitu, mengenkripsi ulang bagian teks yang sama menggunakan kunci yang sama), dan cukup sering mengubah kunci.

Kesimpulan

Jadi, dalam karya ini, ikhtisar tentang metode perlindungan informasi kriptografi yang paling umum saat ini dan metode implementasinya dibuat. Pilihan untuk sistem tertentu harus didasarkan pada analisis mendalam tentang kekuatan dan kelemahan metode perlindungan tertentu. Pilihan yang masuk akal dari satu atau beberapa sistem proteksi, secara umum, harus didasarkan pada beberapa kriteria efisiensi. Sayangnya, metode yang cocok untuk mengevaluasi keefektifan sistem kriptografi belum dikembangkan.

Kriteria paling sederhana untuk efisiensi semacam itu adalah probabilitas mengungkapkan kunci atau kardinalitas dari himpunan kunci (M). Intinya, ini sama dengan kekuatan kriptografi. Untuk evaluasi numeriknya, seseorang juga dapat menggunakan kompleksitas penguraian sandi dengan menghitung semua kunci. Namun, kriteria ini tidak memperhitungkan persyaratan penting lainnya untuk sistem kripto:

ketidakmungkinan pengungkapan atau modifikasi informasi yang berarti berdasarkan analisis strukturnya,

kesempurnaan protokol keamanan yang digunakan,

jumlah minimum informasi kunci yang digunakan,

kompleksitas minimum implementasi (dalam jumlah operasi mesin), biayanya,

efisiensi tinggi.

Oleh karena itu, tentu saja diinginkan untuk menggunakan beberapa indikator integral yang memperhitungkan faktor-faktor ini. Tetapi bagaimanapun juga, kompleks yang dipilih metode kriptografi harus menggabungkan kenyamanan, fleksibilitas dan efisiensi penggunaan, dan perlindungan yang handal dari penyusup informasi yang beredar di sistem.


Bagian praktis:

Latihan 1.

1) Isi kolom X dengan mengeksekusi

1.1 Atur nilai pertama secara manual

1.2 Jalankan Edit->Fill->

2) Isi field nilai dari fungsi g =

Gbr.1.1 - Rumus fungsi g (x)

2.1) Hitung nilai fungsi

3) Grafik

3.1) Pilih sel dengan nilai Fungsi g

3.2) Pilih master bagan

Gbr.1.2 - Chart Wizard - Grafik

Berikutnya -> Baris

Gbr.1.3 - Chart Wizard - label sumbu

Menyoroti Nilai Sumbu X

Tekan Enter (masukkan)

3.3) Penamaan grafik

3.4) Pilih sel dengan rumus grafik

3.6) Pilih tab -> Garis kisi, atur

X garis tengah, Y Garis utama ->Berikutnya

3.7) Kami menempatkan grafik fungsi pada lembar yang ada -> (Selesai)

4) Sebagai hasilnya, kami mendapatkan (Gbr.1.4)

Gbr.1.4 - Grafik fungsi g (x)

1.2.

1) Tentukan fungsi grafik masa depan di bidang tabel

Gbr.1.5 - Tanda tangan fungsi grafik masa depan

2) Isi kolom X dengan menjalankan:

2.1 Atur nilai pertama secara manual

2.2 Jalankan Edit->Fill->Progression (berdasarkan kolom, aritmatika, langkah, nilai batas) di x [-2;2]

3) Hitung nilai fungsi y=2sin( x) - 3cos( x), z = cos²(2 x) - 2sin( x).


Gbr.1.6 - Rumus fungsi y(x) dan z(x)

4) Merencanakan

4.1Pilih sel dengan nilai Fungsi y dan z

Memilih Panduan Bagan

Gbr.1.7 - Chart Wizard - Grafik

Menyoroti Nilai Sumbu X

Tekan Enter (masukkan)

4.2) Penamaan grafik

4.3) Pilih sel dengan rumus grafik

Tekan enter (masuk), lalu lakukan hal yang sama dengan baris kedua

4.5) Pilih tab -> Garis kisi, atur

X garis tengah, Y Garis utama ->Berikutnya

4.6) Kami menempatkan grafik fungsi pada lembar yang ada -> (Selesai)

5) Sebagai hasilnya, kami mendapatkan (Gbr.1.8)

Gbr.1.8 - Grafik fungsi y(x) dan z(x)

Tugas 2.

Pembuatan daftar "Departemen SDM"

Gbr.2.1 Daftar "Departemen SDM"

· Menyortir

Gbr.2.2 - Mengurutkan berdasarkan nama field

Hasilnya, kami mendapatkan (Gbr.2.3)

Gbr.2.3 - Tabel urut "Departemen SDM"

·
Cari informasi menggunakan autofilter (dapatkan informasi tentang pria yang namanya dimulai dengan huruf Surat, patronimik - "Ivanovich", dengan gaji Gaji);

Gbr.2.4 - Autofilter

Cari informasi menggunakan filter lanjutan (temukan informasi dari departemen Departemen1 berumur Umur1 Dan Umur2, dan tentang wanita dari departemen Departemen2 berumur Umur3);

1) Masukkan kriteria untuk filter yang diperluas 1

Hasilnya, kami mendapatkan (Gbr.2.5)

Gbr.2.5 - Filter lanjutan 1

2) Masukkan kriteria untuk filter lanjutan 2.

Hasilnya, kami mendapatkan (Gbr. 2.6)

Gbr.2.6 - Filter lanjutan 2

Menyimpulkan (menentukan jumlah dan usia rata-rata karyawan di setiap departemen);

Gbr.2.7 - Hasil

DMIN- Fungsi Mengembalikan angka terkecil dalam bidang (kolom) catatan dalam daftar atau database yang memenuhi kriteria yang diberikan.

Gbr.2.8 - Analisis daftar menggunakan fungsi DMIN

Tugas 3.

Buat dua tabel terkait Sidang(gbr.3.2) dan siswa(gbr.3.4)

Gbr.3.1- Pembuat tabel Sidang

Gbr.3.2- Tabel Sidang

Gbr.3.3 - Pembuat tabel siswa


Gbr.3.4 - Tabel siswa

1) Menggunakan tabel siswa, buat tiga kueri, yang menurutnya nama dan nama belakang siswa kelompok 1-E-1, 1-E-2, 1-E-3 akan dipilih secara bergantian dari database.

Gbr.3.5 - Pembuat Kueri 1.1


Gbr.3.7 - Pembuat Kueri1.2

Gbr.3.9 - Pembuat Kueri 1.3

2) Menggunakan tabel siswa, buat dua kueri, yang menurutnya nama belakang dan nama depan wanita akan dipilih secara bergantian dari database, lalu nama belakang dan nama depan pria.

Gbr.3.11 - Pembuat Kueri 2.1

Gbr.3.13 - Pembuat Kueri 2.2

3) Saya menggunakan tabel siswa, buat dua kueri, yang menurutnya nama belakang dan nama depan wanita dari grup 1-E-2, dan kemudian pria dari grup 1-E-1, akan dipilih secara bergantian dari database.

Gbr.3.15 - Pembuat Kueri 3.1

Gbr.3.17 - Konstruktor - 3.2

4) Menggunakan tabel tertaut siswa Dan Sidang, buat kueri, yang menurutnya nama belakang, nama depan, nomor kredit, dan nilai dalam matematika siswa kelompok 1-E-2 akan dipilih dari database.

Gbr.3.19 - Konstruktor kueri 5

5) Menggunakan tabel tertaut siswa Dan Sidang, buat kueri yang akan memilih dari database nama belakang, nama depan, nomor catatan, dan nilai dalam filsafat siswa (laki-laki) kelompok 1-E-2.

Gbr.3.21 - Konstruktor kueri 8

6) Menggunakan tabel tertaut siswa Dan Sidang, buat kueri yang akan memilih dari database nama belakang, nama depan, nomor catatan siswa yang telah menerima nilai "memuaskan" (3) dalam filsafat.

Gbr.3.23 - Konstruktor kueri 10

7) Menggunakan tabel tertaut siswa Dan Sidang, buat kueri yang akan memilih dari database nama belakang, nama depan, nomor catatan siswa yang menerima nilai "baik" (4) secara bersamaan dalam dua mata pelajaran: filsafat dan matematika.

Gbr.3.25 - Pembuat Kueri 14

8) Menggunakan tabel tertaut siswa Dan Sidang, buat kueri yang akan memilih dari database nama belakang, nama depan, nomor catatan siswa yang menerima nilai "tidak memuaskan" (2) di salah satu dari dua mata pelajaran: matematika atau ilmu komputer.

Gbr.3.27 - Pembuat Kueri 18

9) Menggunakan tabel tertaut siswa Dan Sidang, buat kueri yang akan memilih dari database nama belakang, nama depan, nomor catatan siswa yang mendapat nilai "baik" (4) di semua mata pelajaran.

Gbr.3.29 - Konstruktor kueri 22

10) Menggunakan tabel Sidang, membuat kueri bernama Skor rata - rata untuk menghitung nilai rata-rata setiap siswa berdasarkan hasil kelulusan empat ujian. Permintaan harus berisi bidang buku catatan, yang nantinya akan digunakan untuk menautkan beberapa tabel.

Gbr.3.31 - Konstruktor tabel sesi

11) Menggunakan tabel tertaut siswa, Sidang dan permintaan Skor rata - rata, buat query yang akan memilih nama belakang, nama depan, nomor record, nomor kelompok siswa dengan skor rata-rata 3,25 dari database.

Gbr.3.33 - Pembuat Kueri 25

12) Menggunakan tabel tertaut siswa, Sidang dan permintaan Skor rata - rata, buat kueri yang akan memilih nilai matematika, skor rata-rata, dan nomor grup siswa Ivanov dari database.

Gbr.3.35 - Pembuat Kueri 29

13) Menggunakan tabel tertaut siswa, Sidang dan permintaan Skor rata - rata, buat kueri yang akan memilih dari database nama belakang, nama siswa dengan skor rata-rata kurang dari 3,75.

Gbr.3.37 - Pembuat Kueri 33

14) Menggunakan tabel siswa, untuk menentukan nama keluarga, nama dan nomor catatan siswa, jika diketahui patronimiknya adalah Viktorovna.

Gbr.3.39 - Konstruktor kueri 35

Tugas 4.

Untuk mengonversi angka dari sistem angka desimal ke sistem angka dengan basis yang berbeda, lakukan sebagai berikut:

a) Untuk menerjemahkan bagian bilangan bulat dari suatu bilangan, bilangan itu dibagi seluruhnya dengan dasar sistem, memperbaiki sisanya. Jika hasil bagi yang tidak lengkap tidak sama dengan nol, lanjutkan membaginya seluruhnya. Jika sama dengan nol, sisanya ditulis dalam urutan terbalik.

b) Untuk menerjemahkan bagian pecahan dari angka, itu dikalikan dengan basis sistem angka, sambil memperbaiki bagian bilangan bulat dari produk yang dihasilkan. Bagian bilangan bulat tidak berpartisipasi dalam perkalian lebih lanjut. Perkalian dilakukan hingga diperoleh 0 pada bagian pecahan hasil kali atau hingga akurasi perhitungan yang ditentukan.

c) Jawabannya ditulis sebagai penjumlahan bilangan bulat yang diterjemahkan dan bagian pecahan yang diterjemahkan dari bilangan tersebut.

49812,22₁₀ = 1100001010010100,001₂ 49812,22₁₀ = 141224,160₈

0,
0,

49812.22₁₀ = С294, 385₁₆

0,

Tugas 5.

Untuk mengonversi suatu bilangan ke sistem bilangan desimal dari sistem bilangan dengan basis yang berbeda, setiap koefisien dari bilangan yang diterjemahkan dikalikan dengan basis sistem tersebut sejauh sesuai dengan koefisien ini, dan hasilnya dijumlahkan.

A) 10101001.11001₂ = 1*2^7+1*2^5+1*2^3+1*2^0+1*2^(-1)+1*2^(-2)+1* 2 (-5)= 169,78125₁₀

Untuk mengonversi dari biner ke oktal, perlu membagi bilangan biner yang diberikan di kanan dan kiri titik desimal menjadi triad (tiga digit) dan mewakili setiap triad dengan kode oktal yang sesuai. Jika tidak mungkin untuk membagi menjadi triad, diperbolehkan untuk menambahkan nol ke kiri dalam notasi bilangan bulat dari bilangan tersebut dan ke kanan di bagian pecahan bilangan tersebut. Untuk terjemahan terbalik, setiap digit angka oktal diwakili oleh tiga serangkai biner yang sesuai.

Tabel 5.1 - Terjemahan angka

Sistem bilangan desimal Sistem bilangan biner Sistem bilangan oktal Sistem bilangan heksadesimal
Triad (0-7) Tetrad (0-15)
A
B
C
D
e
F

B) 674,7₈ = 110111100,111₂=1*2^2+1*2^3+1*2^4+1*2^5+1*2^7+1*2^8+1*2^ (- 1) +1*2^(-2) +1*2^(-3)= 443,875₁₀

110 111 100. 111₂

C) EDF,51₁₆ = 111011011111.01010001₂=1*2^0+1*2^1+1*2^2+1*2^3+1*2^4+1*2^6+ +1*2 ^ 7+1*2^9+ +1*2^10+1*2^11+1*2^(-2) 1*2^(-4) 1*2^(-8)= 3807,31640625₁₀

1110 1101 1111 . 0101 0001₂

Tugas 6.

Penjumlahan bilangan pada sistem biner didasarkan pada tabel penjumlahan bilangan biner satu digit.

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10
Penambahan bilangan biner multi-digit dilakukan sesuai dengan tabel ini, dengan mempertimbangkan kemungkinan transfer dari bit paling signifikan ke bit tertinggi. Dalam sistem bilangan oktal, seperti dalam sistem posisi lainnya, ada aturan sendiri untuk menambahkan angka, yang diwakili oleh aturan untuk menambahkan digit dengan urutan yang sama terkait dengan dua angka yang ditambahkan. Aturan-aturan ini terlihat dari Tabel 6.1. Tanda hubung yang muncul saat menambahkan beberapa digit dari digit ini ditunjukkan dengan simbol "↶".
Tabel 6.1 - Penjumlahan pada sistem bilangan ke-8
+
↶0
↶0 ↶1
↶0 ↶1 ↶2
↶0 ↶1 ↶2 ↶3
↶0 ↶1 ↶2 ↶3 ↶4
↶0 ↶1 ↶2 ↶3 ↶4 ↶5
↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6

Aturan penjumlahan digit dua bilangan heksadesimal pada digit yang sama dari bilangan tersebut dapat dilihat pada Tabel 6.2. Carry yang terjadi saat menjumlahkan beberapa digit dari digit tertentu ditunjukkan dengan simbol "↶".

6 8 5 . 3 2 2 A ₁₆ + 1 0 1 0 1 0 0 1 0 . 1 0 ₂ + 4 7 7 . 6₈

D A 4 8 5 , 4 4 6 0 ₁₆ 1 1 0 0 0 0 1 1 0 , 1 1 0 1 0₂6 5 1 , 5 6₈

D A B 0 A , 7 6 8 A₁₆ 1 0 1 1 0 1 1 0 0 1 , 0 1 0 1 0₂ 1 3 5 1 .3 6₈

Tabel 6.2 - Penjumlahan pada sistem bilangan ke-16

+ A B C D e F
A B C D e F
A B C D e F ↶0
A B C D e F ↶0 ↶1
A B C D e F ↶0 ↶1 ↶2
A B C D e F ↶0 ↶1 ↶2 ↶3
A B C D e F ↶0 ↶1 ↶2 ↶3 ↶4
A B C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5
A B C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6
A B C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7
A B C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8
A A B C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9
B B C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A
C C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B
D D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C
e e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C ↶D
F F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C ↶D ↶E

Tugas 7.

Menggunakan tabel penjumlahan untuk bilangan oktal, Anda dapat menguranginya. Biarkan diperlukan untuk menghitung selisih dua angka oktal. Kami menemukan di kolom pertama tabel. 6.1 digit yang sesuai dengan yang terakhir pada pengurangan, dan pada barisnya kita akan menemukan digit terakhir dari pengurangan - terletak di persimpangan garis pengurangan dan kolom selisih. Jadi kami menemukan digit terakhir dari selisihnya. Demikian pula, setiap digit selisih dicari.

a) _ 2 5 1 5 1 4 , 4 0₈

5 4 2 5 , 5 5

2 4 3 0 6 6 , 6 3₈

b) _1 0 1 1 0 1 1 0 0 0 , 1 0 0 0 ₂

1 0 1 0 0 1 0 0 1 , 1 0 0 1 1

1 0 1 1 0 0 1 0 0 1 1 , 0 0 0 0 1₂

c) _E 3 1 6 , 2 5 0₁₆

5 8 8 1 , F D C₁₆

8 A 9 4 , 2 7 4

Tugas 8.

Perkalian bilangan dalam sistem biner didasarkan pada tabel perkalian bilangan biner satu digit.

0 0 = 0
0 1 = 0
1 0 = 0
1 1 = 1

Perkalian bilangan biner multi digit dilakukan di
menurut tabel ini dengan cara biasa,
yang Anda gunakan dalam sistem desimal.

Tabel perkalian sendiri, seperti yang telah kami pastikan, tersedia di setiap sistem bilangan posisional. Dalam biner paling kecil, dalam oktal (Tabel 8.1) dan desimal sudah lebih luas. Di antara sistem bilangan yang umum digunakan seperti yang telah kita bahas, tabel perkalian terbesar adalah heksadesimal (Tabel 8.2).

Tab. 8.1. – Perkalian dalam sistem ke-8

×

a) 1 0 1 0 0 1₂

* 1 1 1 0 1 1

1 0 1 0 0 1 .

1 0 0 1 0 1 1 1 0 0 1 1₂

b) 1 0 1 1 1 0 ₂

* 1 1 0 1 1

1 0 1 1 1 0 0 .

1 0 0 1 1 0 1 1 0 1 0 0₂

c) B C D , 5₁₆

*D5A₁₆

9 D 9 3 3 E 2₁₆


Tabel 8.2 - Perkalian dalam sistem ke-16

× A B C D e F
A B C D e F
A C e 1A 1C 1E
C F 1B 1E 2A 2D
C 1C 2C 3C
A F 1E 2D 3C 4B
C 1E 2A 3C 4E 5A
e 1C 2A 3F 4D 5B
1B 2D 3F 5A 6C 7E
A A 1E 3C 5A 6E 8C
B B 2C 4D 6E 8F 9A A5
C C 3C 6C 9C A8 B4
D D 1A 4E 5B 8F 9C A9 B6 C3
e e 1C 2A 7E 8C 9A A8 B6 C4 D2
F F 1E 2D 3C 4B 5A A5 B4 C3 D2 E1

Tugas 9.

Kode langsung adalah cara merepresentasikan bilangan titik tetap biner dalam aritmatika komputer. Saat menulis angka dalam kode langsung, digit paling signifikan adalah angka tanda. Jika nilainya 0, maka angkanya positif, jika 1, maka negatif.

Kode terbalik- metode matematika komputasi yang memungkinkan Anda mengurangi satu angka dari angka lain, hanya menggunakan operasi penjumlahan pada bilangan asli. Saat menulis angka untuk angka positif, itu bertepatan dengan kode langsung, dan untuk angka negatif, semua digit diganti dengan yang berlawanan, kecuali digitnya.

Kode tambahan (Bahasa inggris) pelengkap dua, Kadang-kadang pelengkap berpasangan) adalah cara paling umum untuk merepresentasikan bilangan bulat negatif di komputer. Ini memungkinkan Anda untuk mengganti operasi pengurangan dengan operasi penjumlahan dan membuat operasi penjumlahan dan pengurangan sama untuk bilangan bertanda dan tidak bertanda, yang menyederhanakan arsitektur komputer. Saat menulis angka untuk angka positif, itu bertepatan dengan kode langsung, dan untuk angka negatif, kode tambahan ditentukan dengan mendapatkan kode invers dan menambahkan 1.

Penambahan angka dalam kode tambahan, 1 yang dihasilkan dalam bit tanda dibuang, dan dalam kode invers ditambahkan ke bit paling signifikan dari jumlah kode.

Jika hasil operasi aritmatika berupa kode bilangan negatif, maka harus diubah menjadi kode langsung. Kode terbalik diubah menjadi pengganti langsung digit di semua digit kecuali tanda satu dengan yang berlawanan. Kode komplemen keduanya diubah menjadi langsung dengan menambahkan 1.

Kode langsung:

X=0,10111 1,11110

Y=1,11110 0,10111

Kode terbalik:

X=0,10111 0,10111

Y=1,00001 1,00001

1,11000 1,00111

Kode tambahan:

X=0,10111 0,10111

Y=1,00010 1,00010

1,11001 1,00110

Kode langsung:

Kode terbalik:

X=0,110110 0,0110110

Y=0,101110 0,0101110

Kode tambahan:

X=0,110110 0,0110110

Y=0,101110 0,0101110

Tugas 10.

Elemen logika

1. Elemen logis TIDAK melakukan negasi logis. Ini memiliki satu input dan satu output. Tidak adanya sinyal (tegangan) akan dilambangkan dengan "0", dan adanya sinyal dengan "1". Sinyal output selalu berlawanan sinyal masukan. Hal ini terlihat dari tabel kebenaran yang menunjukkan ketergantungan sinyal keluaran terhadap masukan.

2. Gerbang OR melakukan penambahan logis. Ini memiliki beberapa input dan satu output. Akan ada sinyal pada keluaran jika ada sinyal setidaknya pada satu masukan.

Tabel kebenaran notasi konvensional

3. Gerbang AND melakukan perkalian logis. Sinyal pada keluaran elemen logika ini hanya akan ada jika ada sinyal pada semua masukan.

Tabel kebenaran notasi konvensional

F=(A v B) ʌ (C v D)

Tabel 10.1 - Tabel kebenaran

A B C D A B C D (AvB) (CvD) F=(A v B) ʌ (C v D)

ADalam aljabar logika, ada sejumlah hukum yang memungkinkan transformasi setara ekspresi logis. Mari kita sajikan hubungan yang mencerminkan hukum-hukum ini.

1. Hukum negasi ganda: (A) = A

Negasi ganda mengecualikan negasi.

2. Hukum komutatif (komutatif):

Untuk penambahan logis: A V B = B V A

Untuk perkalian logis: A&B = B&A

Hasil operasi pada pernyataan tidak bergantung pada urutan pengambilan pernyataan ini.

3. Hukum asosiatif (asosiatif):

Untuk penambahan logis: (A v B) v C = A v (Bv C);

Untuk perkalian logis: (A&B)&C = A&(B&C).

Dengan tanda yang sama, tanda kurung dapat ditempatkan sembarangan atau bahkan dihilangkan.

4. Hukum distributif (distributif):

Untuk penambahan logika: (A v B)&C = (A&C)v(B&C);

Untuk perkalian logis: (A&B) v C = (A v C)&(B v C).

Mendefinisikan aturan untuk mengurung pernyataan umum.

5. Hukum inversi umum (hukum de Morgan):

Untuk penambahan logis: (Av B) = A & B;

Untuk perkalian logis: (A& B) = A v B;

6. Hukum idempotensi

Untuk penjumlahan logis: A v A = A;

Untuk perkalian logis: A&A = A.

Hukum berarti tidak ada eksponen.

7. Hukum pengecualian konstanta:

Untuk penjumlahan logis: A v 1 = 1, A v 0 = A;

Untuk perkalian logis: A&1 = A, A&0 = 0.

8. Hukum kontradiksi: A&A = 0.

Pernyataan yang kontradiktif tidak mungkin benar pada saat yang bersamaan.

9. Hukum pengecualian tengah: A v A = 1.

10. Hukum Penyerapan:

Untuk penjumlahan logis: A v (A&B) = A;

Untuk perkalian logis: A&(A v B) = A.

11. Hukum pengecualian (pengeleman):

Untuk penjumlahan logis: (A&B) v (A &B) = B;

Untuk perkalian logis: (A v B)&(A v B) = B.

12. Hukum kontraposisi (aturan pembalikan):

(AvB) = (BvA).

(A→B) = A&B

A&(AvB)= A&B

Formulanya punya bentuk normal, jika tidak ada tanda ekuivalensi, implikasi, negasi ganda di dalamnya, sedangkan tanda negasi hanya untuk variabel.


Informasi serupa.


Sarana perlindungan kriptografi rahasia negara masih disamakan dengan senjata. Sangat sedikit negara di dunia yang memiliki perusahaan kriptografi sendiri yang benar-benar melakukannya sarana yang baik perlindungan informasi. Bahkan di banyak negara maju tidak ada kemungkinan seperti itu: tidak ada sekolah yang memungkinkan teknologi ini didukung dan dikembangkan. Rusia adalah salah satu dari sedikit negara di dunia - mungkin lima atau lebih negara - tempat semua ini dikembangkan. Selain itu, baik di sektor komersial maupun publik, ada perusahaan dan organisasi yang telah mempertahankan kesinambungan sekolah kriptografi sejak baru muncul.

Algoritma enkripsi

Sampai saat ini, banyak algoritma enkripsi yang memiliki ketahanan yang signifikan terhadap kriptoanalisis (kekuatan kriptografi). Algoritma enkripsi dibagi menjadi tiga kelompok:

  • Algoritma Simetris
  • Algoritma asimetris
  • Algoritma Hash

Algoritma Simetris

Enkripsi simetris melibatkan penggunaan kunci yang sama untuk enkripsi dan dekripsi. Dua persyaratan utama berlaku untuk algoritma simetris: hilangnya semua keteraturan statistik dalam objek enkripsi dan tidak adanya linearitas. Merupakan kebiasaan untuk membagi sistem simetris menjadi sistem blok dan aliran.

Dalam sistem blok, data sumber dibagi menjadi blok-blok, diikuti dengan transformasi menggunakan kunci.

Dalam sistem streaming, urutan tertentu (gamma keluaran) dihasilkan, yang kemudian ditumpangkan pada pesan itu sendiri, dan data dienkripsi oleh aliran saat gamma dihasilkan. Skema komunikasi menggunakan kriptosistem simetris ditunjukkan pada gambar.

Di mana M adalah teks biasa, K adalah kunci rahasia yang dikirimkan melalui saluran pribadi, En(M) adalah operasi enkripsi, dan Dk(M) adalah operasi dekripsi

Biasanya, enkripsi simetris menggunakan kombinasi substitusi dan permutasi data sumber yang kompleks dan multi-tahap, dan bisa ada banyak tahapan (pass), dan masing-masing harus sesuai dengan "kunci sandi"

Operasi substitusi memenuhi persyaratan pertama untuk sandi simetris, menghilangkan data statistik dengan mencampurkan bit-bit pesan menurut hukum tertentu. Permutasi diperlukan untuk memenuhi persyaratan kedua - membuat algoritme non-linier. Ini dicapai dengan mengganti bagian tertentu dari pesan dengan ukuran tertentu dengan nilai standar dengan merujuk ke array asli.

Sistem simetris memiliki kelebihan dan kekurangan dibandingkan sistem asimetris.

Keuntungan dari cipher simetris termasuk kecepatan enkripsi yang tinggi, panjang kunci yang dibutuhkan lebih kecil dengan kekuatan yang sama, pengetahuan yang lebih besar dan kemudahan implementasi. Kerugian dari algoritma simetris terutama adalah kompleksitas pertukaran kunci karena kemungkinan besar pelanggaran kerahasiaan kunci selama pertukaran, yang diperlukan, dan kompleksitas manajemen kunci dalam jaringan besar.

Contoh cipher simetris

  • GOST 28147-89 - standar domestik enkripsi
  • 3DES (Tiga-DES, tiga DES)
  • RC6 (Rivest Cipher)
  • Dua ikan
  • SEED - Standar Enkripsi Korea
  • Camellia adalah standar enkripsi Jepang.
  • CAST (setelah inisial pengembang Carlisle Adams dan Stafford Tavares)
  • XTEA adalah algoritma yang paling mudah untuk diimplementasikan
  • AES - Standar Enkripsi Amerika
  • DES adalah standar enkripsi data AS hingga AES

Algoritma Asimetris

Sistem asimetris juga disebut kriptosistem kunci publik. Ini adalah metode enkripsi data di mana kunci publik ditransmisikan melalui saluran terbuka (tidak tersembunyi) dan digunakan untuk memverifikasi tanda tangan elektronik dan untuk enkripsi data. Untuk mendekripsi dan membuat tanda tangan elektronik, digunakan kunci kedua, kunci rahasia.

Perangkat kriptosistem asimetris menggunakan gagasan fungsi satu arah ƒ(x), di mana mudah untuk menemukan x, mengetahui nilai fungsi itu sendiri, tetapi hampir tidak mungkin menemukan ƒ(x) itu sendiri , hanya mengetahui nilai x. Contoh dari fungsi semacam itu adalah direktori telepon kota besar, di mana mudah untuk menemukan nomor seseorang, mengetahui nama belakang dan inisialnya, tetapi sangat sulit, mengetahui nomornya, untuk menghitung pemiliknya.

Prinsip pengoperasian sistem asimetris

Misalkan ada dua pelanggan: A dan B, dan pelanggan B ingin mengirim pesan terenkripsi ke pelanggan A. Dia mengenkripsi pesan menggunakan kunci publik dan mengirimkannya yang sudah dienkripsi melalui saluran komunikasi terbuka. Setelah menerima pesan, pelanggan A mendekripsi menggunakan kunci rahasia dan membacanya.

Di sini perlu dilakukan klarifikasi. Saat menerima pesan, pelanggan A harus mengautentikasi identitasnya ke pelanggan B sehingga pemberi selamat tidak dapat menyamar sebagai pelanggan A dan mengganti kunci publiknya dengan miliknya.

Contoh font asimetris

  • RSA (Rivest-Shamir-Adleman, Rivest-Shamir-Adleman)
  • DSA (Algoritma Tanda Tangan Digital)
  • Elgamal (Sistem Sandi ElGamal)
  • Diffie-Hellman (Pertukaran Kunci Diffie-Hellman)
  • ECC (Kriptografi Kurva Elliptik, Kriptografi Kurva Elliptik)

Fungsi hash

Hashing (dari bahasa Inggris. hash) adalah transformasi larik informasi awal dengan panjang acak menjadi string bit dengan panjang tetap.

Ada banyak algoritma fungsi hash, dan mereka berbeda dalam karakteristiknya - kekuatan kriptografi, panjang kata, kompleksitas komputasi, dll.

Kami tertarik dengan fungsi hash yang kuat secara kriptografis. Ini biasanya memiliki dua persyaratan:

  • Untuk pesan C yang diberikan, secara praktis tidak mungkin mengambil pesan lain C" dengan hash yang sama
  • Hampir tidak mungkin untuk mengambil pasangan pesan (SS") yang memiliki hash yang sama.

Persyaratan disebut resistensi terhadap tabrakan jenis pertama dan kedua, masing-masing. Untuk fungsi seperti itu, persyaratan lain tetap penting: dengan sedikit perubahan argumen, perubahan signifikan dalam fungsi itu sendiri harus terjadi. Dengan demikian, nilai hash seharusnya tidak memberikan informasi bahkan tentang bit individual dari argumen tersebut.

Contoh algoritma hash

  • Adler-32
  • SHA-1
  • SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
  • HAVAL
  • N-hash
    • RIPEMD-160
  • RIPEMD-256
  • RIPEMD-320
  • Kulit
  • Snefru
  • Harimau (TTH)
  • Pusaran air
  • GOST R34.11-94 (GOST 34.311-95)
  • Checksum Internet IP (RFC 1071)

Primitif Kriptografi

Untuk memberikan informasi terenkripsi kekuatan kriptografi yang lebih besar, transformasi yang relatif sederhana - primitif - dapat diterapkan berulang kali dalam sistem kriptografi. Primitif dapat berupa substitusi, permutasi, rotasi, atau gamma.

kriptografi kuantum

Kriptografi dalam teknologi digital

Cerita

Kriptografi adalah ilmu kuno, dan objek aslinya adalah pesan teks, yang, dengan bantuan algoritme tertentu, kehilangan artinya bagi setiap orang yang tidak memiliki pengetahuan khusus untuk mendekripsi pesan ini - kuncinya.

Awalnya, metode yang digunakan saat ini hanya digunakan untuk teka-teki, yaitu menurut pendapat kontemporer, yang paling sederhana. Metode enkripsi tersebut termasuk, misalnya, metode penggantian, ketika setiap huruf diganti dengan yang lain, diberi jarak darinya pada jarak yang ditentukan secara ketat dalam alfabet. Atau metode enkripsi permutasi, ketika huruf dipertukarkan dalam urutan tertentu dalam sebuah kata.

Di zaman kuno, enkripsi digunakan terutama dalam urusan militer dan komersial, spionase, di antara penyelundup.

Beberapa saat kemudian, sejarawan menentukan tanggal kemunculan ilmu terkait lainnya - steganografi. Ilmu ini berkaitan dengan menutupi fakta transmisi pesan. Itu berasal dari zaman kuno, dan contohnya di sini adalah tanda terima oleh raja Spartan Leonidas sebelum pertempuran dengan Persia dari sebuah papan dengan teks yang dilapisi dengan larutan yang kering dan mudah dibilas. Saat membersihkan, bekas yang tertinggal pada lilin dengan stylus menjadi terlihat jelas. Saat ini, tinta simpatik, mikrodot, mikrofilm, dll., Digunakan untuk menyembunyikan pesan.

Dengan perkembangan matematika, algoritme enkripsi matematis mulai muncul, tetapi semua jenis perlindungan informasi kriptografi ini mempertahankan data statistik pada tingkat yang berbeda-beda dan tetap rentan. Kerentanan menjadi sangat nyata dengan penemuan analisis frekuensi, yang dikembangkan pada abad ke-9 Masehi oleh ahli ensiklopedis Arab yang diduga al-Kindi. Dan hanya pada abad XV, setelah penemuan font polialfabet oleh Leon Battista Alberti (mungkin), perlindungan dipindahkan ke tingkat yang baru secara kualitatif. Namun, pada pertengahan abad ke-17, Charles Babbage memberikan bukti yang meyakinkan tentang kerentanan parsial font polialfabet terhadap analisis frekuensi.

Perkembangan mekanika memungkinkan terciptanya perangkat dan mekanisme yang memfasilitasi enkripsi - perangkat seperti papan persegi Trithemius, cipher disk Thomas Jefferson muncul. Tetapi semua perangkat ini tidak dapat dibandingkan dengan yang dibuat pada abad ke-20. Pada saat itulah berbagai mesin enkripsi dan mekanisme dengan kompleksitas tinggi mulai bermunculan, misalnya mesin rotari, yang paling terkenal adalah Enigma.

Sebelum perkembangan pesat sains di abad ke-20, para kriptografer hanya berurusan dengan objek linguistik, dan di abad ke-20, kemungkinan untuk menggunakan berbagai metode dan teori matematika, statistik, kombinatorik, teori bilangan, dan aljabar abstrak terbuka.

Tetapi terobosan nyata dalam ilmu kriptografi datang dengan munculnya kemampuan untuk merepresentasikan informasi apa pun dalam bentuk biner, dibagi menjadi bit menggunakan komputer, yang memungkinkan pembuatan font dengan kekuatan kriptografi yang sampai sekarang belum terlihat. Sistem enkripsi seperti itu, tentu saja, dapat diretas, tetapi waktu yang dihabiskan untuk meretas tidak dapat dibenarkan di sebagian besar kasus.

Hari ini kita dapat berbicara tentang perkembangan signifikan dalam kriptografi kuantum.

literatur

  • Barichev S.G., Goncharov V.V., Serov R.E. Dasar-dasar kriptografi modern. - M.: *Varfolomeev A.A., Zhukov A.E., Pudovkina M.A. Sifat dasar dan metode analisis stabilitas. M.: PAIMS, 2000.
  • Yashchenko VV Pengantar kriptografi. Petersburg: Peter, 2001. .
  • GOST 28147-89. Sistem pemrosesan informasi. Perlindungan kriptografi. Algoritma transformasi kriptografi. Moskow: GK USSR menurut standar, 1989.
  • GOST R 34.10-94 Teknologi informasi. Perlindungan kriptografi informasi. *GOST R 34.11-94. Teknologi Informasi. Perlindungan informasi kriptografi. fungsi hash. M., 1995.
  • GOST R 34.10-2001 Teknologi informasi. Perlindungan informasi kriptografi. Proses pembentukan dan verifikasi tanda tangan digital elektronik. M., 2001.
  • Nechaev VI Elemen kriptografi (Dasar-dasar teori keamanan informasi). Moskow: Sekolah tinggi, 1999.
  • Zhelnikov V. Kriptografi dari papirus ke komputer. M.: AVR, 1996.

Karena fungsi utama perangkat lunak kami adalah enkripsi data, kami sering ditanyai tentang aspek kriptografi tertentu. Kami memutuskan untuk mengumpulkan pertanyaan yang paling sering diajukan dalam satu dokumen dan mencoba memberikannya sedetail mungkin, tetapi pada saat yang sama, tidak dibebani dengan jawaban informasi yang tidak perlu.

1. Apa itu kriptografi?

Kriptografi adalah disiplin ilmu teoretis, cabang matematika yang mempelajari transformasi informasi untuk melindunginya dari tindakan musuh yang masuk akal.

2. Apa yang dimaksud dengan algoritma enkripsi?

Algoritme enkripsi adalah seperangkat aturan logis yang menentukan proses konversi informasi dari keadaan terbuka ke keadaan terenkripsi (enkripsi) dan, sebaliknya, dari keadaan terenkripsi ke keadaan terbuka (dekripsi).

Algoritme enkripsi muncul sebagai hasil penelitian teoretis, baik oleh ilmuwan individu maupun tim peneliti.

3. Bagaimana data dilindungi dengan enkripsi?

Prinsip dasar perlindungan data dengan enkripsi adalah mengenkripsi data. Bagi orang luar, data terenkripsi terlihat seperti "sampah informasi" - kumpulan karakter yang tidak berarti. Jadi, jika penyerang mendapatkan informasi dalam bentuk terenkripsi, dia tidak akan bisa menggunakannya.

4. Apa algoritma enkripsi terkuat?

Pada prinsipnya, algoritme enkripsi apa pun yang diusulkan oleh beberapa kriptografer terkenal dianggap aman hingga terbukti sebaliknya.

Sebagai aturan, semua algoritma enkripsi yang baru muncul diterbitkan untuk tinjauan publik, dan dipelajari secara komprehensif di pusat penelitian kriptografi khusus. Hasil penelitian tersebut juga dipublikasikan untuk tinjauan publik.

5. Apa itu kunci enkripsi?

Kunci enkripsi adalah urutan bit acak, pseudo-acak, atau dibentuk khusus, yang merupakan parameter variabel dari algoritme enkripsi.

Dengan kata lain, jika Anda mengenkripsi informasi yang sama dengan algoritme yang sama, tetapi dengan kunci yang berbeda, hasilnya juga akan berbeda.

Kunci enkripsi memiliki satu karakteristik penting - panjangnya, yang biasanya diukur dalam bit.

6. Apa itu algoritma enkripsi?

Algoritme enkripsi dibagi menjadi dua kelas besar - simetris dan asimetris (atau asimetris).

Algoritma enkripsi simetris menggunakan kunci yang sama untuk mengenkripsi informasi dan mendekripsinya. Dalam hal ini, kunci enkripsi harus dirahasiakan.

Algoritme enkripsi simetris, sebagai aturan, mudah diimplementasikan dan tidak memerlukan banyak sumber daya komputasi untuk pekerjaannya. Namun, ketidaknyamanan algoritme semacam itu memanifestasikan dirinya dalam kasus di mana, misalnya, dua pengguna perlu bertukar kunci. Dalam hal ini, pengguna harus bertemu satu sama lain secara langsung, atau memiliki semacam saluran yang dapat diandalkan dan tahan rusak untuk mengirim kunci, yang tidak selalu memungkinkan.

Contoh algoritma enkripsi simetris adalah DES, RC4, RC5, AES, CAST.

Algoritma enkripsi asimetris menggunakan dua kunci, satu untuk mengenkripsi dan satu lagi untuk mendekripsi. Dalam hal ini, seseorang berbicara tentang pasangan kunci. Satu kunci dari pasangan dapat bersifat publik (dapat diakses oleh semua orang), yang lainnya dapat bersifat rahasia.

Algoritme enkripsi asimetris lebih sulit diimplementasikan dan lebih menuntut sumber daya komputasi daripada yang simetris, namun, masalah pertukaran kunci antara dua pengguna lebih mudah dipecahkan.

Setiap pengguna dapat membuat pasangan kunci mereka sendiri dan mengirimkan kunci publik ke pelanggan mereka. Kunci ini hanya dapat mengenkripsi data; dekripsi memerlukan kunci rahasia, yang disimpan hanya oleh pemiliknya. Dengan demikian, penyerang mendapatkan kunci publik tidak akan memberinya apa-apa, karena tidak mungkin baginya untuk mendekripsi data yang dienkripsi.

Contoh algoritma enkripsi asimetris adalah RSA, El-Gamal.

7. Bagaimana algoritma enkripsi dipecahkan?

Dalam ilmu kriptografi, ada subbagian - cryptanalysis, yang mempelajari masalah pemecahan algoritma enkripsi, yaitu memperoleh informasi terbuka dari informasi terenkripsi tanpa kunci enkripsi.

ada banyak berbagai cara dan metode kriptoanalisis, yang sebagian besar terlalu rumit dan banyak untuk direproduksi di sini.

Satu-satunya metode yang layak disebutkan adalah pencacahan langsung dari semua kemungkinan nilai kunci enkripsi (juga disebut metode brute force, atau brute force). esensi metode ini terdiri dari penghitungan semua nilai yang mungkin dari kunci enkripsi hingga kunci yang diinginkan ditemukan.

8. Berapa panjang kunci enkripsi?

Saat ini, untuk algoritma enkripsi simetris, 128 bit (16 byte) dianggap sebagai panjang kunci enkripsi yang cukup. Untuk pencacahan lengkap semua kemungkinan kunci dengan panjang 128 bit (serangan brute force) dalam satu tahun, Anda memerlukan prosesor 4,2x1022 dengan kapasitas 256 juta operasi enkripsi per detik. Biaya jumlah prosesor ini adalah 3,5x1024 dolar AS (menurut Bruce Schneier, Kriptografi Terapan).

Ada proyek internasional terdistribusi.net, yang tujuannya adalah untuk menyatukan pengguna Internet untuk membuat superkomputer terdistribusi virtual yang menghitung kunci enkripsi. Proyek cracking kunci 64-bit terakhir selesai dalam 1757 hari, lebih dari tiga ratus ribu pengguna mengambil bagian di dalamnya, dan daya komputasi semua komputer proyek setara dengan hampir 50.000 prosesor AMD Athlon XP memiliki clock 2 GHz.

Dalam hal ini, harus diperhitungkan bahwa menambah panjang kunci enkripsi satu bit akan menggandakan jumlah nilai kunci, dan akibatnya, waktu pencacahan. Artinya, berdasarkan angka di atas, pada 1757 * 2 hari dimungkinkan untuk meretas bukan kunci 128-bit, seperti yang terlihat pada pandangan pertama, tetapi hanya kunci 65-bit.

9. Saya mendengar tentang kunci enkripsi 1024 dan bahkan 2048 bit, dan Anda mengatakan bahwa 128 bit sudah cukup. Apa artinya?

Benar, kunci enkripsi 512, 1024 dan 2048 bit, dan terkadang bahkan lebih lama, digunakan dalam algoritme enkripsi asimetris. Mereka menggunakan prinsip yang sama sekali berbeda dari algoritma simetris, sehingga skala kunci enkripsi juga berbeda.

Jawaban atas pertanyaan ini adalah rahasia yang paling dijaga dari dinas khusus negara bagian mana pun. Dari sudut pandang teoretis, tidak mungkin membaca data yang dienkripsi menggunakan algoritme yang dikenal dengan kunci yang cukup panjang (lihat pertanyaan sebelumnya), namun, siapa yang tahu apa yang tersembunyi di balik tabir rahasia negara? Mungkin ternyata ada beberapa teknologi asing yang diketahui pemerintah, yang dapat digunakan untuk memecahkan sandi apa pun 🙂

Satu-satunya hal yang dapat dinyatakan dengan pasti adalah bahwa tidak ada satu negara pun, tidak ada satu pun layanan khusus yang akan mengungkapkan rahasia ini, dan bahkan jika mungkin untuk mendekripsi data, itu tidak akan pernah menunjukkannya dengan cara apa pun.

Untuk mengilustrasikan pernyataan ini, contoh sejarah dapat diberikan. Selama Perang Dunia Kedua, Perdana Menteri Inggris Winston Churchill, sebagai akibat dari intersepsi dan dekripsi pesan Jerman, menjadi sadar akan pemboman kota Coventry yang akan datang. Meskipun demikian, dia tidak mengambil tindakan apa pun untuk mencegah musuh mengetahui bahwa intelijen Inggris dapat menguraikan pesan mereka. Akibatnya, pada malam 14-15 November 1940, Coventry dihancurkan oleh pesawat Jerman, menewaskan banyak warga sipil. Jadi, bagi Churchill, harga untuk membocorkan informasi yang dapat dia pecahkan dalam bahasa Jerman ternyata lebih tinggi daripada harga beberapa ribu nyawa manusia.

Jelas bagi politisi modern harga informasi semacam itu bahkan lebih tinggi, jadi kami tidak akan belajar apa pun tentang kemampuan layanan khusus modern, baik secara eksplisit maupun tidak langsung. Jadi meskipun jawaban atas pertanyaan ini adalah ya, kemungkinan ini kemungkinan besar tidak akan muncul dengan sendirinya.

Sumber: SecurIT

^ kembali untuk memulai ^

Biasanya, algoritme enkripsi baru dipublikasikan untuk tinjauan publik dan dipelajari di pusat penelitian khusus. Hasil penelitian tersebut juga dipublikasikan untuk tinjauan publik.

Algoritma Simetris
Algoritme enkripsi dibagi menjadi dua kelas besar: simetris (AES, GOST, Blowfish, CAST, DES) dan asimetris (RSA, El-Gamal). Algoritma enkripsi simetris menggunakan kunci yang sama untuk mengenkripsi dan mendekripsi informasi, sedangkan algoritma asimetris menggunakan dua kunci - satu untuk mengenkripsi dan satu lagi untuk mendekripsi.

Jika informasi terenkripsi perlu dipindahkan ke tempat lain, maka kunci dekripsi juga harus dipindahkan ke sana. Titik lemah di sini adalah saluran transmisi data - jika tidak aman atau sedang didengarkan, maka kunci dekripsi dapat sampai ke penyerang. Sistem berdasarkan algoritma asimetris tidak memiliki kekurangan ini. Karena setiap peserta dalam sistem seperti itu memiliki sepasang kunci: Kunci Publik dan Kunci Rahasia.

Kunci enkripsi
Ini adalah urutan bit acak atau dibuat khusus sesuai dengan kata sandi, yang merupakan parameter variabel dari algoritme enkripsi.
Jika Anda mengenkripsi data yang sama dengan algoritme yang sama, tetapi dengan kunci yang berbeda, hasilnya juga akan berbeda.

Biasanya, dalam Perangkat Lunak Enkripsi (WinRAR, Rohos, dll.), Kunci dibuat dari kata sandi yang ditentukan pengguna.

Kunci enkripsi memiliki panjang yang berbeda, yang biasanya diukur dalam bit. Dengan meningkatnya panjang kunci, keamanan teoretis dari cipher meningkat. Dalam praktiknya, ini tidak selalu benar.

Dalam kriptografi, dianggap bahwa mekanisme enkripsi adalah nilai yang tidak terklasifikasi, dan penyerang dapat memilikinya penuh sumber algoritma enkripsi, serta ciphertext (aturan Kerckhoff). Asumsi lain yang mungkin terjadi adalah bahwa penyerang mungkin mengetahui bagian dari teks (biasa) yang tidak terenkripsi.

Kekuatan algoritma enkripsi.
Algoritma enkripsi dianggap kuat sampai terbukti sebaliknya. Jadi, jika algoritme enkripsi telah diterbitkan, ada selama lebih dari 5 tahun, dan tidak ada kerentanan serius yang ditemukan untuknya, kami dapat berasumsi bahwa kekuatannya cocok untuk melindungi informasi rahasia.

Stabilitas teoritis dan praktis.
Pada tahun 1949 K.E. Shannon menerbitkan sebuah artikel "Teori Komunikasi dalam Sistem Rahasia". Shannon menganggap kekuatan sistem kriptografi sebagai Praktis dan Teoretis. Kesimpulan keamanan teoretis masih pesimis: panjang kunci harus sama dengan panjang plainteks.
Oleh karena itu, Shannon juga mempertimbangkan masalah kekuatan praktis dari sistem kriptografi. Apakah sistem dapat diandalkan jika penyerang memiliki waktu dan sumber daya komputasi yang terbatas untuk menganalisis pesan yang dicegat?

Biasanya, kerentanan ditemukan dalam program yang mengenkripsi data menggunakan beberapa algoritme. Dalam hal ini, pemrogram membuat kesalahan dalam logika program atau dalam protokol kriptografi, berkat itu, setelah mempelajari cara kerja program (pada level rendah), seseorang akhirnya dapat memperoleh akses ke informasi rahasia.

Memecah algoritma enkripsi
Dipercaya bahwa sistem kripto dapat dipecahkan jika penyerang dapat menghitung kunci rahasia dan juga melakukan algoritme konversi yang setara dengan algoritme kripto asli. Dan bahwa algoritma ini layak secara real time.

Dalam kriptologi, ada subbagian yang disebut kriptanalisis, yang mempelajari masalah pemecahan atau pemalsuan pesan terenkripsi. Ada banyak cara dan metode kriptoanalisis. Yang paling populer adalah metode pencacahan langsung dari semua nilai yang mungkin dari kunci enkripsi (yang disebut metode "brute force" atau brute force). Inti dari metode ini adalah menghitung semua kemungkinan nilai kunci enkripsi hingga kunci yang diinginkan ditemukan.

Dalam praktiknya, ini berarti penyerang harus:

  • Siapkan sistem kripto (yaitu program) dan contoh pesan terenkripsi.
  • Pahami protokol kriptografi. Dengan kata lain, bagaimana program mengenkripsi data.
  • Kembangkan dan terapkan algoritme untuk pencacahan Kunci untuk sistem kripto ini.

Bagaimana Anda bisa tahu apakah kunci itu valid atau tidak?
Itu semua tergantung pada program spesifik dan penerapan protokol enkripsi. Biasanya, jika setelah dekripsi ternyata 'sampah', maka ini adalah Kunci yang salah. Dan jika teksnya kurang lebih bermakna (ini bisa diperiksa), maka Kuncinya sudah benar.

Algoritma enkripsi
AES (Rijndael). Saat ini standar enkripsi federal AS.

Algoritme enkripsi apa yang dipilih untuk melindungi informasi?

Disetujui sebagai standar oleh Departemen Perdagangan pada tanggal 4 Desember 2001. Keputusan mulai berlaku sejak dipublikasikan dalam daftar federal (06.12.01). Varian cipher dengan hanya ukuran blok 128 bit diterima sebagai standar.

GOST 28147-8. Standar Federasi Rusia untuk enkripsi data dan perlindungan peniruan. Awalnya, ia memiliki leher (OV atau SS - tidak diketahui secara pasti), kemudian leher tersebut secara konsisten dikurangi, dan pada saat algoritme tersebut secara resmi dilakukan melalui Standar Negara Uni Soviet pada tahun 1989, ia telah dihapus. Algoritme tetap DSP (seperti yang Anda ketahui, DSP tidak dianggap leher). Pada tahun 1989, itu menjadi standar resmi Uni Soviet, dan kemudian, setelah runtuhnya Uni Soviet, menjadi standar federal Federasi Rusia.

ikan tiup Skema kompleks untuk menghasilkan elemen kunci secara signifikan memperumit serangan brute-force pada algoritme, tetapi membuatnya tidak cocok untuk digunakan dalam sistem di mana kunci sering berubah dan data kecil dienkripsi pada setiap kunci.

Algoritme paling cocok untuk sistem di mana sejumlah besar data dienkripsi menggunakan kunci yang sama.

DES Standar Enkripsi Federal AS 1977-2001. Diadopsi sebagai standar federal AS pada tahun 1977. Pada bulan Desember 2001, statusnya hilang karena pengenalan standar baru.

PEMERAN Dalam arti tertentu, analog dari DES.

www.codenet.ru/progr/alg/enc
Algoritma enkripsi, Ikhtisar, informasi, perbandingan.

http://www.enlight.ru/crypto
Materi tentang enkripsi asimetris, tanda tangan digital, dan sistem kriptografi "modern" lainnya.

Alexander Velikanov,
Olga Cheban,
Layanan Tesline S.R.L.

Mantan bankir Abu Dhabi Mohammad Ghaith bin Mahah Al Mazrui telah mengembangkan sandi yang dia klaim tidak dapat dipecahkan. Sandi yang disebut "Kode Abu Dhabi" dibuat berdasarkan sekelompok simbol yang ditemukan oleh Al Mazrui sendiri. Dalam kodenya, setiap huruf diganti dengan simbol yang diciptakan khusus, dan simbol ini bukan milik bahasa mana pun yang dikenal di dunia.

Algoritma enkripsi data mana yang lebih aman

Pengembang membutuhkan satu setengah tahun untuk mengerjakan sandi, yang oleh Al Mazrui disebut "benar-benar baru".

Menurut penggila, setiap orang dapat membuat kodenya sendiri, dan kerumitan sandi ditentukan oleh panjang kuncinya. Dipercayai bahwa, pada prinsipnya, jika ada keinginan, keterampilan tertentu dan perangkat lunak yang sesuai, hampir setiap sandi yang paling rumit sekalipun dapat dipecahkan.

Namun, Al Mazrui memastikan bahwa ciptaannya tidak dapat dipecahkan dan sejauh ini merupakan sandi yang paling dapat diandalkan. “Hampir tidak mungkin untuk menguraikan dokumen yang dikodekan dengan Kode Abu Dhabi,” Al Mazrui yakin.

Untuk membuktikan kasusnya, bankir menantang semua kriptografer, peretas, dan kriptografer terkemuka, mendesak mereka untuk mencoba memecahkan sandinya.

3. Kryptos adalah patung yang dipasang oleh pematung Amerika James Sanborn di markas CIA di Langley, Virginia, pada tahun 1990. Pesan terenkripsi yang tercetak di atasnya masih belum bisa diurai.

4. Cipher dicetak batangan emas Cina. Tujuh batangan emas diduga dikeluarkan pada tahun 1933 untuk Jenderal Wang di Shanghai. Mereka ditandai dengan gambar, huruf Cina dan beberapa pesan terenkripsi, termasuk dalam huruf Latin. Mereka mungkin berisi sertifikat keaslian logam yang dikeluarkan oleh salah satu bank AS.

Algoritme enkripsi mana yang harus dipilih di TrueCrypt

5. Kriptogram bale Tiga pesan terenkripsi diyakini berisi perincian lokasi timbunan dua gerobak penuh emas, perak, dan batu mulia yang terkubur pada tahun 1820-an di dekat Lynchburg, di Bedford County, Virginia, oleh sekelompok penambang emas yang dipimpin oleh Thomas Jefferson Bale. Harga harta karun yang belum ditemukan hingga saat ini, dalam istilah uang modern, seharusnya sekitar 30 juta dolar. Teka-teki kriptogram belum terpecahkan sejauh ini, khususnya pertanyaan tentang keberadaan harta karun yang sebenarnya masih kontroversial. Salah satu pesan telah diuraikan - itu menggambarkan harta karun itu sendiri dan memberikan indikasi umum tentang lokasinya. Surat-surat yang belum dibuka yang tersisa mungkin berisi lokasi penanda yang tepat dan daftar pemilik harta karun itu. ( Informasi rinci)

6. Naskah Voynich sering disebut sebagai buku paling misterius di dunia. Naskah tersebut menggunakan alfabet unik, berisi sekitar 250 halaman dan gambar yang menggambarkan bunga tak dikenal, nimfa telanjang, dan simbol astrologi. Ini pertama kali muncul pada akhir abad ke-16, ketika Kaisar Romawi Suci Rudolph II membelinya di Praha dari pedagang tak dikenal seharga 600 dukat (sekitar 3,5 kg emas, hari ini lebih dari 50 ribu dolar). Dari Rudolph II, buku tersebut diteruskan ke para bangsawan dan ilmuwan, dan menghilang pada akhir abad ke-17. Naskah itu muncul kembali sekitar tahun 1912 ketika dibeli oleh penjual buku Amerika Wilfried Voynich. Setelah kematiannya, manuskrip tersebut disumbangkan ke Universitas Yale. Sarjana Inggris Gordon Rugg percaya bahwa buku itu adalah tipuan yang cerdik. Teks memiliki ciri-ciri yang bukan ciri khas bahasa mana pun. Di sisi lain, beberapa fitur, seperti panjang kata, cara huruf dan suku kata dihubungkan, serupa dengan yang ditemukan dalam bahasa asli. "Banyak orang berpikir bahwa semua ini terlalu rumit untuk sebuah tipuan untuk membangun sistem seperti itu, akan membutuhkan beberapa tahun alkemis yang gila," kata Rugg. Namun, Rugg menunjukkan bahwa kerumitan ini dapat dengan mudah dicapai dengan menggunakan perangkat sandi yang ditemukan sekitar tahun 1550 dan disebut jaringan Cardan. Dalam tabel simbol ini, kata-kata dibuat dengan menggerakkan kartu yang berlubang. Karena ruang yang tersisa di tabel, kata-katanya memiliki panjang yang berbeda. Dengan memaksakan kisi-kisi seperti itu pada tabel suku kata manuskrip, Rugg telah menciptakan bahasa yang memiliki banyak, jika tidak semua, karakteristik bahasa manuskrip. Menurutnya, tiga bulan sudah cukup untuk membuat seluruh buku. (informasi rinci, wikipedia)

7. Sandi Dorabella, disusun pada tahun 1897 oleh komposer Inggris Sir Edward William Elgar. Dalam bentuk terenkripsi, dia mengirim surat ke kota Wolverhampton kepada pacarnya Dora Penny, putri Alfred Penny yang berusia 22 tahun, rektor Katedral St. Cipher ini masih belum terpecahkan.

8. Sampai saat ini daftar dihadiri oleh Chaocipher, yang tidak dapat ditemukan selama hidup penciptanya. Sandi itu ditemukan oleh John F. Byrne pada tahun 1918, dan selama hampir 40 tahun dia gagal mencoba menarik minat otoritas AS di dalamnya. Penemu menawarkan hadiah uang kepada siapa saja yang bisa memecahkan sandinya, tetapi akibatnya, tidak ada yang memintanya.

Namun pada Mei 2010, anggota keluarga Byrne menyerahkan semua dokumen yang ditinggalkannya kepada Museum Nasional kriptografi di Maryland, yang mengarah pada pengungkapan algoritme.

9. sandi D'Agapeyeff. Pada tahun 1939, kartografer Inggris asal Rusia, Alexander D'Agapeyeff, menerbitkan sebuah buku tentang dasar-dasar Kode dan Sandi kriptografi, dalam edisi pertama dia mengutip sebuah sandi dari penemuannya sendiri. Cipher ini tidak disertakan dalam edisi berikutnya. Selanjutnya, D'Agapeyeff mengaku telah melupakan algoritme untuk mendekripsi sandi ini. Kegagalan yang menimpa semua orang yang mencoba menguraikan karyanya diduga karena penulis melakukan kesalahan saat mengkodekan teks.

Namun di zaman kita, ada harapan bahwa sandi dapat dipecahkan dengan menggunakan metode modern Misalnya, algoritma genetika.

10. Taman Shud. Pada tanggal 1 Desember 1948, di pantai Australia di Somerton, dekat Adelaide, mayat seorang pria ditemukan, mengenakan sweter dan mantel, meskipun hari itu panas untuk iklim Australia. Tidak ada dokumen yang ditemukan padanya. Upaya untuk membandingkan cetakan gigi dan jarinya dengan data yang tersedia tentang orang yang masih hidup juga sia-sia. Pemeriksaan post-mortem mengungkapkan aliran darah yang tidak wajar, yang mengisi, khususnya rongga perutnya, serta peningkatan organ dalam, tetapi tidak ada zat asing yang ditemukan di tubuhnya. Di stasiun kereta api, mereka secara bersamaan menemukan sebuah koper yang mungkin milik almarhum. Koper itu berisi celana panjang dengan saku rahasia di mana mereka menemukan selembar kertas robek dari sebuah buku dengan kata-kata yang tercetak di atasnya. Taman Shud. Penyelidikan menemukan bahwa selembar kertas telah robek dari salinan koleksi Rubaiyat yang sangat langka oleh penyair besar Persia Omar Khayyam. Buku itu sendiri ditemukan di jok belakang mobil yang dibiarkan tidak terkunci. Di sampul belakang buku, lima baris dicoret dengan huruf kapital - arti pesan ini tidak dapat diuraikan. Hingga hari ini, kisah ini tetap menjadi salah satu misteri paling misterius di Australia.

Seumur hidup informasi

§ Saat mencegat pesan terenkripsi untuk beberapa jenis algoritme enkripsi, dimungkinkan untuk menghitung frekuensi kemunculan karakter tertentu dan membandingkannya dengan probabilitas kemunculan karakter tertentu atau kombinasinya (bigram, trigram, dll.). Ini, pada gilirannya, dapat menyebabkan dekripsi (pengungkapan) yang tidak ambigu dari masing-masing bagian dari pesan terenkripsi.

§ Adanya kemungkinan kata. Ini adalah kata atau ekspresi yang diharapkan muncul dalam pesan yang dicegat (misalnya, untuk teks bahasa Inggris - "and", "the", "are", dll.).

§ Ada metode untuk membuat pesan terenkripsi praktis tidak dapat digunakan Analisis statistik dan analisis melalui kemungkinan kata-kata. Ini termasuk yang berikut ini.

§ Difusi. Pengaruh satu karakter pesan terbuka meluas ke banyak karakter pesan terenkripsi. Metode ini, meskipun mengarah pada peningkatan jumlah kesalahan selama dekripsi, namun dapat digunakan untuk menyembunyikan struktur statistik dari pesan terbuka.

§ Belitan. Pengembangan prinsip hamburan. Di dalamnya, pengaruh satu karakter kunci meluas ke banyak karakter yang dienkripsi

pesan.

§ Percampuran. Ini didasarkan pada penggunaan transformasi khusus dari pesan asli, sebagai akibatnya urutan yang mungkin tampaknya tersebar di seluruh ruang pesan terbuka yang mungkin. Pengembangan metode ini adalah penggunaan algoritma enkripsi komposit, yang terdiri dari urutan operasi permutasi dan substitusi sederhana.

Contoh metode di atas adalah standar enkripsi DES dan GOST 28147-89.

Ada dua jenis utama algoritma enkripsi:

§ algoritma enkripsi simetris;

§ algoritma enkripsi asimetris.

Enkripsi simetris.

Algoritme enkripsi simetris didasarkan pada fakta bahwa kunci (umum) yang sama digunakan untuk mengenkripsi pesan dan mendekripsinya (Gbr. 1).

Salah satu keuntungan utama metode simetris adalah kecepatan enkripsi dan dekripsi, dan kerugian utama adalah kebutuhan untuk mentransfer nilai kunci rahasia ke penerima.



Masalah pasti muncul: bagaimana cara mentransfer kunci dan pada saat yang sama tidak mengizinkan penyerang mencegatnya.

Manfaat kriptografi dengan kunci simetris:

· Performa tinggi.

· Daya tahan tinggi. Hal lain dianggap sama, kekuatan algoritma kriptografi ditentukan oleh panjang kunci. Dengan panjang kunci 256 bit, perlu dilakukan 10 77 pencarian untuk menentukannya.

Kelemahan kriptografi dengan kunci simetris.

§ Masalah distribusi kunci. Karena kunci yang sama digunakan untuk enkripsi dan dekripsi, diperlukan mekanisme yang sangat andal untuk distribusi (transmisi).

§ Skalabilitas. Karena pengirim dan penerima menggunakan satu kunci, jumlah kunci yang dibutuhkan meningkat secara eksponensial tergantung pada jumlah peserta dalam komunikasi. Untuk bertukar pesan antara 10 pengguna, Anda harus memiliki 45 kunci, dan untuk 1000 pengguna - sudah 499.500.

§ Penggunaan terbatas. Kriptografi kunci rahasia digunakan untuk mengenkripsi data dan membatasi aksesnya; itu tidak dapat digunakan untuk memastikan properti informasi seperti keaslian dan

non-penolakan.

Enkripsi asimetris

Algoritma enkripsi asimetris (kriptografi kunci publik) melibatkan penggunaan dua kunci. Kunci pertama adalah membuka. Itu didistribusikan sepenuhnya secara bebas, tanpa tindakan pencegahan apa pun. Kedua, tertutup kuncinya dirahasiakan.

Pesan apa pun yang dienkripsi menggunakan salah satu kunci ini hanya dapat didekripsi menggunakan kunci pasangannya. Biasanya, pengirim pesan menggunakan kunci publik penerima, dan penerima menggunakan kunci pribadi pribadinya.

Dalam skema asimetris untuk pengiriman pesan terenkripsi, kedua kunci diturunkan dari satu induk tunggal kunci utama. Ketika dua kunci dibentuk atas dasar satu, mereka bergantung dalam pengertian matematis, bagaimanapun, karena kompleksitas komputasi tak satu pun dari mereka dapat dihitung dari yang lain. Setelah kedua kunci (baik publik maupun privat, privat) terbentuk, kunci master dihancurkan, dan dengan demikian upaya apa pun untuk memulihkan nilai kunci yang diturunkan darinya di masa mendatang dihentikan.

Skema asimetris idealnya digabungkan dengan penggunaan jaringan perpesanan publik (misalnya, Internet). Setiap pelanggan jaringan dapat dengan bebas mengirim kunci publik ke mitra negosiasinya, dan yang terakhir, sebagai pengirim pesan, akan menggunakan kunci ini saat mengenkripsi pesan yang sedang dikirim (Gbr. 2). Pesan ini dapat didekripsi dengan kunci privatnya hanya oleh penerima pesan yang sebelumnya mengirimkan kunci publik yang sesuai. Penyerang yang mencegat kunci semacam itu akan dapat menggunakannya hanya untuk tujuan mentransmisikan beberapa pesan terenkripsi ke pemilik kunci yang sah.

Kerugian dari skema asimetris adalah banyaknya waktu yang dihabiskan untuk enkripsi dan dekripsi, yang tidak memungkinkan penggunaannya untuk pertukaran cepat pesan panjang dalam mode dialog. Penerapan metode enkripsi asimetris membutuhkan banyak waktu CPU. Oleh karena itu, dalam bentuknya yang murni, kriptografi kunci publik biasanya tidak digunakan dalam praktik dunia.



Beras. 2. Skema enkripsi asimetris

Tidak mungkin membandingkan mana yang lebih baik, algoritma enkripsi simetris atau asimetris. Perlu dicatat bahwa simetris algoritma kriptografi memiliki panjang kunci yang lebih kecil dan bekerja lebih cepat.

Kriptografi kunci rahasia dan kriptografi kunci publik dirancang untuk menyelesaikan masalah yang sama sekali berbeda. Algoritma simetris sangat cocok untuk enkripsi data, algoritma asimetris diterapkan di sebagian besar protokol kriptografi jaringan.

Metode yang paling banyak digunakan menggabungkan keunggulan kedua skema. Prinsip pengoperasian skema gabungan adalah bahwa kunci (sesi) simetris dihasilkan untuk sesi perpesanan berikutnya. Kunci ini kemudian dienkripsi dan dikirim menggunakan skema asimetris. Setelah akhir sesi negosiasi saat ini, kunci simetris dihancurkan.



Memuat...
Atas