Mode operasi penyandian blok: Perbedaan antara revisi
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 29218653; atribusi sumber disertakan. |
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi |
||
| Baris 1: | Baris 1: | ||
Dalam [[kriptografi]], '''mode operasi penyandian blok''' adalah cara menggunakan penyandian blok secara berulang untuk data yang berukuran lebih besar daripada ukuran blok, tetapi tetap memberikan keamanan konfidensial dan autentik. Penyandian blok sendiri hanya cocok untuk enkripsi dan dekripsi sekelompok bit yang disebut blok. | Dalam [[kriptografi]], '''mode operasi penyandian blok''' adalah cara menggunakan penyandian blok secara berulang untuk data yang berukuran lebih besar daripada ukuran blok,<ref>NIST Computer Security Division's (CSD) Security Technology Group (STG). [http://csrc.nist.gov/groups/ST/toolkit/BCM/modes_development.html Proposed modes]. ''Cryptographic Toolkit''. NIST. 2013.</ref><ref>Alfred J. Menezes. [https://archive.org/details/handbookofapplie0000mene/page/228 Handbook of Applied Cryptography]. CRC Press. 1996. ISBN 0-8493-8523-7.</ref><ref>[http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38761 ISO/IEC 10116:2006 – Information technology – Security techniques – Modes of operation for an ''n''-bit block cipher]. ''ISO Standards Catalogue''. 2006.</ref> tetapi tetap memberikan keamanan konfidensial dan autentik.<ref>NIST Computer Security Division's (CSD) Security Technology Group (STG). [http://csrc.nist.gov/groups/ST/toolkit/BCM/index.html Block cipher modes]. ''Cryptographic Toolkit''. NIST. 2013.</ref> Penyandian blok sendiri hanya cocok untuk enkripsi dan dekripsi sekelompok bit yang disebut blok.<ref>Ferguson, N. [https://archive.org/details/cryptographyengi0000kohn Cryptography Engineering: Design Principles and Practical Applications]. John Wiley & Sons. 2010. ISBN 978-0-4704-7424-2.</ref> | ||
Kebanyakan mode membutuhkan deret biner unik, sering disebut [[vektor inisialisasi]] (IV), untuk tiap enkripsi. IV harus tidak berulang dan, untuk beberapa mode, bernilai acak. Vektor inisialisasi memastikan bahwa teks tersandi akan berbeda walau teks asalnya dienkripsi berulang kali dengan kunci yang sama. Penyandian blok bisa saja beroperasi pada data yang berukuran lebih dari satu blok. Namun, saat beroperasi, ukuran data yang diolah dalam satu waktu hanyalah satu blok. Penyandian blok beroperasi pada satu blok penuh sehingga diperlukan [[Bantalan (kriptografi)|bantalan]] untuk blok terakhir yang belum berukuran yang sesuai. Meski demikian, terdapat mode-mode yang tidak memerlukan bantalan karena menggunakan penyandian blok seperti [[penyandian aliran]]. | Kebanyakan mode membutuhkan deret biner unik, sering disebut [[vektor inisialisasi]] (IV), untuk tiap enkripsi. IV harus tidak berulang dan, untuk beberapa mode, bernilai acak. Vektor inisialisasi memastikan bahwa teks tersandi akan berbeda walau teks asalnya dienkripsi berulang kali dengan kunci yang sama. Penyandian blok bisa saja beroperasi pada data yang berukuran lebih dari satu blok. Namun, saat beroperasi, ukuran data yang diolah dalam satu waktu hanyalah satu blok. Penyandian blok beroperasi pada satu blok penuh sehingga diperlukan [[Bantalan (kriptografi)|bantalan]] untuk blok terakhir yang belum berukuran yang sesuai.<ref>Ferguson, N. [https://archive.org/details/cryptographyengi0000kohn Cryptography Engineering: Design Principles and Practical Applications]. John Wiley & Sons. 2010. ISBN 978-0-4704-7424-2.</ref> Meski demikian, terdapat mode-mode yang tidak memerlukan bantalan karena menggunakan penyandian blok seperti [[penyandian aliran]]. | ||
== Vektor inisialisasi (IV) == | == Vektor inisialisasi (IV) == | ||
Vektor inisialisasi (IV) atau variabel pemulai (SV)<ref>[http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38761 ISO/IEC 10116:2006 – Information technology – Security techniques – Modes of operation for an ''n''-bit block cipher]. ''ISO Standards Catalogue''. 2006.</ref> adalah blok yang dipakai oleh beberapa mode untuk mengacak enkripsi sehingga menghasilkan teks tersandi yang berbeda meski teks asal dienkripsi berulang dengan kunci yang sama. | |||
Vektor inisialisasi (IV) atau variabel pemulai (SV) adalah blok yang dipakai oleh beberapa mode untuk mengacak enkripsi sehingga menghasilkan teks tersandi yang berbeda meski teks asal dienkripsi berulang dengan kunci yang sama. | |||
Vektor inisialisasi memiliki persyaratan keamanan yang berbeda dari kunci. Nilai IV tidak harus rahasia. Untuk kebanyakan mode, penting bahwa nilai IV tidak boleh dipakai ulang untuk kunci yang sama, yaitu hanya boleh dipakai sekali. Banyak mode penyandian blok yang memiliki keamanan lebih, seperti nilai IV harus acak atau acak semu. | Vektor inisialisasi memiliki persyaratan keamanan yang berbeda dari kunci. Nilai IV tidak harus rahasia. Untuk kebanyakan mode, penting bahwa nilai IV tidak boleh dipakai ulang untuk kunci yang sama, yaitu hanya boleh dipakai sekali. Banyak mode penyandian blok yang memiliki keamanan lebih, seperti nilai IV harus acak atau acak semu. | ||
== Bantalan == | == Bantalan == | ||
[[Penyandian blok]] bekerja pada ukuran tetap (ukuran blok). Namun, ukuran pesan sangat beragam. Jadi, beberapa mode (seperti [[#ECB|ECB]] dan [[#CBC|CBC]]) mewajibkan blok terakhir diberi bantalan (agar ukurannya sesuai) sebelum dienkripsi. Ada beberapa cara [[Bantalan (kriptografi)|pembantalan]]. Cara termudah adalah memberi bita kosong ke teks asal hingga memenuhi ukuran blok. Namun, ada perlakuan khusus untuk tetap mempertahankan ukuran teks asal. | [[Penyandian blok]] bekerja pada ukuran tetap (ukuran blok). Namun, ukuran pesan sangat beragam. Jadi, beberapa mode (seperti [[#ECB|ECB]] dan [[#CBC|CBC]]) mewajibkan blok terakhir diberi bantalan (agar ukurannya sesuai) sebelum dienkripsi. Ada beberapa cara [[Bantalan (kriptografi)|pembantalan]]. Cara termudah adalah memberi bita kosong ke teks asal hingga memenuhi ukuran blok. Namun, ada perlakuan khusus untuk tetap mempertahankan ukuran teks asal. | ||
| Baris 16: | Baris 14: | ||
Ada banyak mode operasi yang telah didefinisikan. Beberapa dituliskan di bawah ini. Tujuan mode operasi adalah untuk menyembunyikan pola yang ada pada teks asal seperti yang dijelaskan pada bagian [[#Kelemahan-ECB|kelemahan ECB]]. | Ada banyak mode operasi yang telah didefinisikan. Beberapa dituliskan di bawah ini. Tujuan mode operasi adalah untuk menyembunyikan pola yang ada pada teks asal seperti yang dijelaskan pada bagian [[#Kelemahan-ECB|kelemahan ECB]]. | ||
{| class=wikitable | |||
|+ Ringkasan mode-mode operasi | |||
! colspan=2 | Mode !! Rumus !! Teks tersandi | |||
|- | |||
| Buku kode elektronik''Electronic codebook'' || ECB | |||
| | |||
| | |||
|- | |||
| Perantaian penyandian blok''Cipher block chaining'' || CBC | |||
| | |||
| | |||
|- | |||
| CBC merambatPropagating CBC || PCBC | |||
| | |||
| | |||
|- | |||
| Umpan balik penyandian''Cipher feedback'' || CFB | |||
| | |||
| ; | |||
|- | |||
| Umpan balik keluaran''Output feedback'' || OFB | |||
| ; | |||
| | |||
|- | |||
| Pencacah''Counter'' || CTR | |||
| ; | |||
| | |||
|- | |||
| Pencacah GaloisGalois/''Counter''|| GCM | |||
| [[Mode Pencacah Galois#Dasar matematis|Lihat penjelasan dasar matematis]] | |||
| dengan C adalah teks tersandi | |||
|} | |||
Catatan: adalah fungsi deterministik, biasanya [[fungsi identitas]]. | Catatan: adalah fungsi deterministik, biasanya [[fungsi identitas]]. | ||
=== Buku kode elektronik (ECB) === | === Buku kode elektronik (ECB) === | ||
Mode enkripsi paling sederhana adalah mode operasi '''buku kode elektronik''' (ECB), dinamai dari [[buku kode]] fisik.<ref>[http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38a.pdf Recommendation for Block Cipher Modes of Operation]. ''NIST.gov''. NIST. hlm. 9.</ref> Pesan-pesan dibagi ke dalam blok-blok lalu dienkripsi terpisah. | |||
[[Gambar:ECB encryption.svg|600px]] | |||
[[Gambar:ECB decryption.svg|600px]] | |||
Kelemahan metode ini adalah ketiadaan [[Pengacakan dan penghamburan|penghamburan]]. Karena ECB mengenkripsi teks asal yang sama menjadi teks tersandi yang sama, ia tidak menyembunyikan pola data dengan baik. ECB tidak disarankan untuk pemakaian protokol kriptografi. | Kelemahan metode ini adalah ketiadaan [[Pengacakan dan penghamburan|penghamburan]]. Karena ECB mengenkripsi teks asal yang sama menjadi teks tersandi yang sama, ia tidak menyembunyikan pola data dengan baik. ECB tidak disarankan untuk pemakaian protokol kriptografi.<ref>Alfred J. Menezes. [https://www.google.com/books/edition/Handbook_of_Applied_Cryptography/YyCyDwAAQBAJ Handbook of Applied Cryptography]. 2018. hlm. 228.</ref><ref>Kenneth W. Dam. [https://www.google.com/books/edition/Cryptography_s_Role_in_Securing_the_Info/H8OaAgAAQBAJ Cryptography's Role in Securing the Information Society]. 1996. hlm. 132.</ref><ref>Bruce Schneier. [https://www.google.com/books/edition/Applied_Cryptography/VjC9BgAAQBAJ Applied Cryptography: Protocols, Algorithms and Source Code in C]. 2015. hlm. 208.</ref> | ||
Contoh yang menunjukkan dengan jelas bahwa ECB dapat memunculkan pola teks asal pada teks tersandi adalah saat ECB dipakai untuk mengenkripsi citra yang terdiri dari warna yang seragam. Meski warna tiap [[piksel]] dienkripsi, citra secara utuh masih dapat diketahui karena bagian yang berwarna sama dienkripsi menjadi pola yang sama pula. | Contoh yang menunjukkan dengan jelas bahwa ECB dapat memunculkan pola teks asal pada teks tersandi adalah saat ECB dipakai untuk mengenkripsi citra yang terdiri dari warna yang seragam. Meski warna tiap [[piksel]] dienkripsi, citra secara utuh masih dapat diketahui karena bagian yang berwarna sama dienkripsi menjadi pola yang sama pula. | ||
=== Perantaian penyandian blok (CBC) === | === Perantaian penyandian blok (CBC) === | ||
Ehrsam, Meyer, Smith, dan Tuchman menemukan mode operasi '''perantaian penyandian blok''' (CBC) pada tahun 1976.<ref>''Message verification and transmission error detection by block chaining''.</ref> Dalam mode CBC, tiap blok teks asal di-XOR dengan teks tersandi sebelumnya sebelum dienkripsi. Dengan cara ini, tiap blok teks tersandi bergantung pada semua blok teks asal yang telah diproses hingga blok saat itu. Untuk membuat tiap pesan unik, [[vektor inisialisasi]] harus dipakai dalam blok pertama. | |||
Ehrsam, Meyer, Smith, dan Tuchman menemukan mode operasi '''perantaian penyandian blok''' (CBC) pada tahun 1976. Dalam mode CBC, tiap blok teks asal di-XOR dengan teks tersandi sebelumnya sebelum dienkripsi. Dengan cara ini, tiap blok teks tersandi bergantung pada semua blok teks asal yang telah diproses hingga blok saat itu. Untuk membuat tiap pesan unik, [[vektor inisialisasi]] harus dipakai dalam blok pertama. | |||
Jika blok pertama berindeks 1, rumus enkripsi CBC adalah | Jika blok pertama berindeks 1, rumus enkripsi CBC adalah | ||
| Baris 45: | Baris 73: | ||
==== Perantaian penyandian blok merambat (PCBC) ==== | ==== Perantaian penyandian blok merambat (PCBC) ==== | ||
Mode operasi '''perantaian penyandian blok merambat'''<ref>[http://www.iks-jena.de/mitarb/lutz/security/cryptfaq/q84.html Kryptographie FAQ: Frage 84: What are the Counter and PCBC Modes?]. ''www.iks-jena.de''.</ref> atau '''perantaian penyandian blok teks asal'''<ref>C. Kaufman. [https://archive.org/details/networksecurityp0000kauf_i7s1 Network Security]. Prentice Hall. 2002. hlm. [https://archive.org/details/networksecurityp0000kauf_i7s1/page/319 319]. ISBN 0130460192.</ref> didesain untuk membuat perubahan kecil pada teks tersandi merambat (menjalar) tanpa batas saat dekripsi dan enkripsi. | |||
[[Gambar:PCBC encryption.svg|600px]] | |||
[[Gambar:PCBC decryption.svg|600px]] | |||
Algoritma enkripsi dan dekripsi sebagai berikut: | Algoritma enkripsi dan dekripsi sebagai berikut: | ||
| Baris 54: | Baris 83: | ||
: <math>P_i = D_K(C_i) \oplus P_{i - 1} \oplus C_{i - 1}, P_0 \oplus C_0 = IV.</math> | : <math>P_i = D_K(C_i) \oplus P_{i - 1} \oplus C_{i - 1}, P_0 \oplus C_0 = IV.</math> | ||
PCBC dipakai dalam [[Kerberos (protokol)|Kerberos v4]] dan [[WASTE]]. Pada pesan yang dienkripsi dalam mode PCBC, meski dua blok tersandi yang bersebelahan ditukar, dekripsi blok-blok selanjutnya tidak terpengaruh. Karena itulah, PCBC tidak dipakai dalam Kerberos v5. | PCBC dipakai dalam [[Kerberos (protokol)|Kerberos v4]] dan [[WASTE]]. Pada pesan yang dienkripsi dalam mode PCBC, meski dua blok tersandi yang bersebelahan ditukar, dekripsi blok-blok selanjutnya tidak terpengaruh.<ref>J. Kohl. ''Proceedings, Crypto '89''. Springer. 1990. ISBN 0387973176.</ref> Karena itulah, PCBC tidak dipakai dalam Kerberos v5. | ||
=== Umpan balik penyandian (CFB) === | === Umpan balik penyandian (CFB) === | ||
==== CFB sederhana ==== | ==== CFB sederhana ==== | ||
Dalam bentuk sederhananya, mode '''umpan balik penyandian''' (CFB) menggunakan seluruh keluaran penyandian blok. Dalam bentuk ini, ia sangat mirip dengan CBC. Dekripsi CFB dalam bentuk ini hampir identik dengan enkripsi CBC yang dibalik urutannya: | Dalam bentuk sederhananya, mode '''umpan balik penyandian''' (CFB) menggunakan seluruh keluaran penyandian blok. Dalam bentuk ini, ia sangat mirip dengan CBC. Dekripsi CFB dalam bentuk ini hampir identik dengan enkripsi CBC yang dibalik urutannya: | ||
| Baris 65: | Baris 93: | ||
: <math>C_{0} = \text{IV}.</math> | : <math>C_{0} = \text{IV}.</math> | ||
[[Gambar:CFB encryption.svg|600px]] | |||
[[Gambar:CFB decryption.svg|600px]] | |||
==== CFB-1, CFB-8, CFB-64, CFB-128, dan lain-lain ==== | ==== CFB-1, CFB-8, CFB-64, CFB-128, dan lain-lain ==== | ||
NIST SP800-38A mendefinisikan CFB sesuai lebar bitnya. | NIST SP800-38A mendefinisikan CFB sesuai lebar bitnya.<ref>Morris Dworkin (NIST). [http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf SP 800-38A, Recommendation for Block Cipher Modes of Operation: Methods and Techniques]. ''csrc.nist.gov''. 2001. doi:10.6028/NIST.SP.800-38A.</ref> | ||
<blockquote> | <blockquote> | ||
| Baris 81: | Baris 111: | ||
=== Umpan balik keluaran (OFB) === | === Umpan balik keluaran (OFB) === | ||
Mode '''umpan balik keluaran''' mengubah penyandian blok menjadi [[penyandian aliran]] sinkron. Ia membangkitkan blok aliran kunci yang kemudian di-XOR dengan blok teks asal untuk mendapatkan blok teks tersandi. Seperti penyandian aliran lain, mengubah satu bit pada teks tersandi akan mengubah satu bit pada teks asal di tempat yang sama. Sifat ini membolehkan kode pembetul galat untuk bekerja meski belum dikenai enkripsi. | Mode '''umpan balik keluaran''' mengubah penyandian blok menjadi [[penyandian aliran]] sinkron. Ia membangkitkan blok aliran kunci yang kemudian di-XOR dengan blok teks asal untuk mendapatkan blok teks tersandi. Seperti penyandian aliran lain, mengubah satu bit pada teks tersandi akan mengubah satu bit pada teks asal di tempat yang sama. Sifat ini membolehkan kode pembetul galat untuk bekerja meski belum dikenai enkripsi. | ||
| Baris 92: | Baris 121: | ||
: <math>I_0 = \text{IV}</math> | : <math>I_0 = \text{IV}</math> | ||
[[Gambar:OFB encryption.svg|600px]] | |||
[[Gambar:OFB decryption.svg|600px]] | |||
=== Pencacah (CTR) === | === Pencacah (CTR) === | ||
: Catatan: Mode CTR (''CTR mode'' atau CM) juga dikenal sebagai mode pencacah bilangan bulat (''integer counter mode'' atau ICM) dan pencacah bilangan bulat tersegmentasi (''segmented integer counter'' atau SIC). | : Catatan: Mode CTR (''CTR mode'' atau CM) juga dikenal sebagai mode pencacah bilangan bulat (''integer counter mode'' atau ICM) dan pencacah bilangan bulat tersegmentasi (''segmented integer counter'' atau SIC). | ||
Seperti OFB, mode pencacah mengubah [[penyandian blok]] menjadi [[penyandian aliran]]. Ia membangkitkan blok aliran kunci dengan mengenkripsi nilai pencacah selanjutnya. Mode CTR diperkenalkan oleh [[Whitfield Diffie]] dan [[Martin Hellman]] pada tahun 1979. | Seperti OFB, mode pencacah mengubah [[penyandian blok]] menjadi [[penyandian aliran]]. Ia membangkitkan blok aliran kunci dengan mengenkripsi nilai pencacah selanjutnya. Mode CTR diperkenalkan oleh [[Whitfield Diffie]] dan [[Martin Hellman]] pada tahun 1979.<ref>Helger Lipmaa. [http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ctr/ctr-spec.pdf Comments to NIST concerning AES Modes of Operations: CTR-Mode Encryption]. 2000.</ref> | ||
Perhatikan bahwa niai yang dipakai sekali (''nonce'') dalam diagram berikut sama dengan [[vektor inisialisasi]] (IV) dalam diagram lain. | Perhatikan bahwa niai yang dipakai sekali (''nonce'') dalam diagram berikut sama dengan [[vektor inisialisasi]] (IV) dalam diagram lain. | ||
[[Gambar:CTR encryption 2.svg|600px]] | |||
[[Gambar:CTR decryption 2.svg|600px]] | |||
=== Pencacah Galois (GCM) === | === Pencacah Galois (GCM) === | ||
GCM menggabungkan [[#CTR|mode pencacah]] dengan mode Galois. Fitur utamanya adalah kemudahan komputasi paralel dalam perkalian [[Medan berhingga|medan Galois]] yang dipakai untuk autentikasi. | GCM menggabungkan [[#CTR|mode pencacah]] dengan mode Galois. Fitur utamanya adalah kemudahan komputasi paralel dalam perkalian [[Medan berhingga|medan Galois]] yang dipakai untuk autentikasi. | ||
[[Gambar:GCM-Galois Counter Mode with IV.svg|500px]] | |||
== Referensi == | == Referensi == | ||
<references /> | |||
== Sumber dan atribusi == | == Sumber dan atribusi == | ||
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Mode+operasi+penyandian+blok&oldid=29218653 Wikipedia bahasa Indonesia], revisi 29218653 (2026-05-12T07:17:24Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Mode+operasi+penyandian+blok&oldid=29218653 Wikipedia bahasa Indonesia], revisi 29218653 (2026-05-12T07:17:24Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | ||
<!-- WIKI_UNISSULA_PRESENTATION_V4 --> | |||
Revisi terkini sejak 23 Agustus 2026 04.16
Dalam kriptografi, mode operasi penyandian blok adalah cara menggunakan penyandian blok secara berulang untuk data yang berukuran lebih besar daripada ukuran blok,[1][2][3] tetapi tetap memberikan keamanan konfidensial dan autentik.[4] Penyandian blok sendiri hanya cocok untuk enkripsi dan dekripsi sekelompok bit yang disebut blok.[5]
Kebanyakan mode membutuhkan deret biner unik, sering disebut vektor inisialisasi (IV), untuk tiap enkripsi. IV harus tidak berulang dan, untuk beberapa mode, bernilai acak. Vektor inisialisasi memastikan bahwa teks tersandi akan berbeda walau teks asalnya dienkripsi berulang kali dengan kunci yang sama. Penyandian blok bisa saja beroperasi pada data yang berukuran lebih dari satu blok. Namun, saat beroperasi, ukuran data yang diolah dalam satu waktu hanyalah satu blok. Penyandian blok beroperasi pada satu blok penuh sehingga diperlukan bantalan untuk blok terakhir yang belum berukuran yang sesuai.[6] Meski demikian, terdapat mode-mode yang tidak memerlukan bantalan karena menggunakan penyandian blok seperti penyandian aliran.
Vektor inisialisasi (IV)
Vektor inisialisasi (IV) atau variabel pemulai (SV)[7] adalah blok yang dipakai oleh beberapa mode untuk mengacak enkripsi sehingga menghasilkan teks tersandi yang berbeda meski teks asal dienkripsi berulang dengan kunci yang sama.
Vektor inisialisasi memiliki persyaratan keamanan yang berbeda dari kunci. Nilai IV tidak harus rahasia. Untuk kebanyakan mode, penting bahwa nilai IV tidak boleh dipakai ulang untuk kunci yang sama, yaitu hanya boleh dipakai sekali. Banyak mode penyandian blok yang memiliki keamanan lebih, seperti nilai IV harus acak atau acak semu.
Bantalan
Penyandian blok bekerja pada ukuran tetap (ukuran blok). Namun, ukuran pesan sangat beragam. Jadi, beberapa mode (seperti ECB dan CBC) mewajibkan blok terakhir diberi bantalan (agar ukurannya sesuai) sebelum dienkripsi. Ada beberapa cara pembantalan. Cara termudah adalah memberi bita kosong ke teks asal hingga memenuhi ukuran blok. Namun, ada perlakuan khusus untuk tetap mempertahankan ukuran teks asal.
Mode-mode yang umum
Ada banyak mode operasi yang telah didefinisikan. Beberapa dituliskan di bawah ini. Tujuan mode operasi adalah untuk menyembunyikan pola yang ada pada teks asal seperti yang dijelaskan pada bagian kelemahan ECB.
| Mode | Rumus | Teks tersandi | |
|---|---|---|---|
| Buku kode elektronikElectronic codebook | ECB | ||
| Perantaian penyandian blokCipher block chaining | CBC | ||
| CBC merambatPropagating CBC | PCBC | ||
| Umpan balik penyandianCipher feedback | CFB | ; | |
| Umpan balik keluaranOutput feedback | OFB | ; | |
| PencacahCounter | CTR | ; | |
| Pencacah GaloisGalois/Counter | GCM | Lihat penjelasan dasar matematis | dengan C adalah teks tersandi |
Catatan: adalah fungsi deterministik, biasanya fungsi identitas.
Buku kode elektronik (ECB)
Mode enkripsi paling sederhana adalah mode operasi buku kode elektronik (ECB), dinamai dari buku kode fisik.[8] Pesan-pesan dibagi ke dalam blok-blok lalu dienkripsi terpisah.
Kelemahan metode ini adalah ketiadaan penghamburan. Karena ECB mengenkripsi teks asal yang sama menjadi teks tersandi yang sama, ia tidak menyembunyikan pola data dengan baik. ECB tidak disarankan untuk pemakaian protokol kriptografi.[9][10][11]
Contoh yang menunjukkan dengan jelas bahwa ECB dapat memunculkan pola teks asal pada teks tersandi adalah saat ECB dipakai untuk mengenkripsi citra yang terdiri dari warna yang seragam. Meski warna tiap piksel dienkripsi, citra secara utuh masih dapat diketahui karena bagian yang berwarna sama dienkripsi menjadi pola yang sama pula.
Perantaian penyandian blok (CBC)
Ehrsam, Meyer, Smith, dan Tuchman menemukan mode operasi perantaian penyandian blok (CBC) pada tahun 1976.[12] Dalam mode CBC, tiap blok teks asal di-XOR dengan teks tersandi sebelumnya sebelum dienkripsi. Dengan cara ini, tiap blok teks tersandi bergantung pada semua blok teks asal yang telah diproses hingga blok saat itu. Untuk membuat tiap pesan unik, vektor inisialisasi harus dipakai dalam blok pertama.
Jika blok pertama berindeks 1, rumus enkripsi CBC adalah
- dan
sedangkan rumus dekripsi CBC adalah
- dan
Perantaian penyandian blok merambat (PCBC)
Mode operasi perantaian penyandian blok merambat[13] atau perantaian penyandian blok teks asal[14] didesain untuk membuat perubahan kecil pada teks tersandi merambat (menjalar) tanpa batas saat dekripsi dan enkripsi.
Algoritma enkripsi dan dekripsi sebagai berikut:
- dan
PCBC dipakai dalam Kerberos v4 dan WASTE. Pada pesan yang dienkripsi dalam mode PCBC, meski dua blok tersandi yang bersebelahan ditukar, dekripsi blok-blok selanjutnya tidak terpengaruh.[15] Karena itulah, PCBC tidak dipakai dalam Kerberos v5.
Umpan balik penyandian (CFB)
CFB sederhana
Dalam bentuk sederhananya, mode umpan balik penyandian (CFB) menggunakan seluruh keluaran penyandian blok. Dalam bentuk ini, ia sangat mirip dengan CBC. Dekripsi CFB dalam bentuk ini hampir identik dengan enkripsi CBC yang dibalik urutannya:
CFB-1, CFB-8, CFB-64, CFB-128, dan lain-lain
NIST SP800-38A mendefinisikan CFB sesuai lebar bitnya.[16]
"The CFB mode also requires an integer parameter, denoted s, such that 1 ≤ s ≤ b. In the specification of the CFB mode below, each plaintext segment (Pj) and ciphertext segment (Cj) consists of s bits. The value of s is sometimes incorporated into the name of the mode, e.g., the 1-bit CFB mode, the 8-bit CFB mode, the 64-bit CFB mode, or the 128-bit CFB mode."
Mode-mode ini akan memangkas keluaran penyandian blok yang dipakai.
Umpan balik keluaran (OFB)
Mode umpan balik keluaran mengubah penyandian blok menjadi penyandian aliran sinkron. Ia membangkitkan blok aliran kunci yang kemudian di-XOR dengan blok teks asal untuk mendapatkan blok teks tersandi. Seperti penyandian aliran lain, mengubah satu bit pada teks tersandi akan mengubah satu bit pada teks asal di tempat yang sama. Sifat ini membolehkan kode pembetul galat untuk bekerja meski belum dikenai enkripsi.
Karena sifat simetri operasi XOR, enkripsi dan dekripsinya sama.
Pencacah (CTR)
- Catatan: Mode CTR (CTR mode atau CM) juga dikenal sebagai mode pencacah bilangan bulat (integer counter mode atau ICM) dan pencacah bilangan bulat tersegmentasi (segmented integer counter atau SIC).
Seperti OFB, mode pencacah mengubah penyandian blok menjadi penyandian aliran. Ia membangkitkan blok aliran kunci dengan mengenkripsi nilai pencacah selanjutnya. Mode CTR diperkenalkan oleh Whitfield Diffie dan Martin Hellman pada tahun 1979.[17]
Perhatikan bahwa niai yang dipakai sekali (nonce) dalam diagram berikut sama dengan vektor inisialisasi (IV) dalam diagram lain.
Pencacah Galois (GCM)
GCM menggabungkan mode pencacah dengan mode Galois. Fitur utamanya adalah kemudahan komputasi paralel dalam perkalian medan Galois yang dipakai untuk autentikasi.
Referensi
- ↑ NIST Computer Security Division's (CSD) Security Technology Group (STG). Proposed modes. Cryptographic Toolkit. NIST. 2013.
- ↑ Alfred J. Menezes. Handbook of Applied Cryptography. CRC Press. 1996. ISBN 0-8493-8523-7.
- ↑ ISO/IEC 10116:2006 – Information technology – Security techniques – Modes of operation for an n-bit block cipher. ISO Standards Catalogue. 2006.
- ↑ NIST Computer Security Division's (CSD) Security Technology Group (STG). Block cipher modes. Cryptographic Toolkit. NIST. 2013.
- ↑ Ferguson, N. Cryptography Engineering: Design Principles and Practical Applications. John Wiley & Sons. 2010. ISBN 978-0-4704-7424-2.
- ↑ Ferguson, N. Cryptography Engineering: Design Principles and Practical Applications. John Wiley & Sons. 2010. ISBN 978-0-4704-7424-2.
- ↑ ISO/IEC 10116:2006 – Information technology – Security techniques – Modes of operation for an n-bit block cipher. ISO Standards Catalogue. 2006.
- ↑ Recommendation for Block Cipher Modes of Operation. NIST.gov. NIST. hlm. 9.
- ↑ Alfred J. Menezes. Handbook of Applied Cryptography. 2018. hlm. 228.
- ↑ Kenneth W. Dam. Cryptography's Role in Securing the Information Society. 1996. hlm. 132.
- ↑ Bruce Schneier. Applied Cryptography: Protocols, Algorithms and Source Code in C. 2015. hlm. 208.
- ↑ Message verification and transmission error detection by block chaining.
- ↑ Kryptographie FAQ: Frage 84: What are the Counter and PCBC Modes?. www.iks-jena.de.
- ↑ C. Kaufman. Network Security. Prentice Hall. 2002. hlm. 319. ISBN 0130460192.
- ↑ J. Kohl. Proceedings, Crypto '89. Springer. 1990. ISBN 0387973176.
- ↑ Morris Dworkin (NIST). SP 800-38A, Recommendation for Block Cipher Modes of Operation: Methods and Techniques. csrc.nist.gov. 2001. doi:10.6028/NIST.SP.800-38A.
- ↑ Helger Lipmaa. Comments to NIST concerning AES Modes of Operations: CTR-Mode Encryption. 2000.
Sumber dan atribusi
Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 29218653 (2026-05-12T07:17:24Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.