Salsa20: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
penerjemahan dari en:Salsa20 |
Mauliddinnm (bicara | kontrib) Fitur saranan suntingan: 3 pranala ditambahkan. |
||
(4 revisi perantara oleh 3 pengguna tidak ditampilkan) | |||
Baris 15:
| ukuran blok =
| ukuran status = 512 bit
| struktur = [[Penyandian blok#ARX
| ronde = 20
| kecepatan = 3,91 siklus per bita pada Intel Core 2 Duo<ref name="Salsa20">{{cite web |url=https://cr.yp.to/snuffle.html |author=Daniel J. Bernstein |date=16 Mei 2013 |title=Snuffle 2005: the Salsa20 encryption function}}</ref>
Baris 22:
'''Salsa20''' dan saudara terdekatnya, '''ChaCha''', adalah [[penyandian aliran]] yang dikembangkan oleh [[Daniel J. Bernstein]]. Salsa20, sandi aslinya, didesain pada tahun 2005, lalu dikumpulkan ke [[eSTREAM]] oleh Bernstein. ChaCha adalah perubahan dari Salsa20 yang dipublikasikan pada tahun 2008. Ia menggunakan fungsi ronde baru yang meningkatkan penghamburan dan meningkatkan kinerja pada beberapa arsitektur.<ref name="ChaCha">{{cite web |url=https://cr.yp.to/chacha/chacha-20080128.pdf |last=Bernstein |first=Daniel |date=28 Januari 2008 |title=ChaCha, a variant of Salsa20 |access-date=3 Juni 2018}}</ref>
Kedua penyandian tersebut dibangun dari [[fungsi acak semu]] berdasarkan operasi [[Penyandian blok#ARX
== Struktur ==
Secara internal, penyandian ini menggunakan penjumlahan per bit dengan (⊕ atau XOR), penjumlahan 32 bit dengan [[Aritmetika modular|mod]] 2<sup>32</sup> (⊞), dan operasi [[geseran melingkar]] berjarak tetap (<<<). Penggunaan operasi [[Penyandian blok#ARX
{| class="wikitable"
Baris 145:
| ukuran blok =
| ukuran status = 512 bit
| struktur = [[Penyandian blok#ARX
| ronde = 20
| kecepatan = 3,95 siklus per bita pada Intel Core 2 Duo<ref name="ChaCha" />
Baris 187:
Perhatikan bahwa versi ini memperbarui tiap kata dua kali, sedangkan seperempat ronde Salsa20 hanya memperbarui tiap kata sekali. Selain itu, seperempat ronde ChaCha menghamburkan perubahan lebih cepat. Rata-rata, setelah mengganti satu bit input, seperempat ronde Salsa20 akan mengganti 8 bit keluaran, sedangkan ChaCha akan mengganti 12,5 bit keluaran.<ref name="ChaCha" />
Seperempat ronde ChaCha memiliki jumlah pertambahan, XOR, dan geseran melingkar yang sama dengan seperempat ronde Salsa20. Namun, karena dua geseran melingkar kelipatan 8, ada pengoptimalan pada beberapa arsitektur, termasuk x86.<ref>{{cite web |url=https://eden.dei.uc.pt/~sneves/chacha/chacha.html |last=Neves |first=Samuel |date=7 Oktober 2009 |title=Faster ChaCha implementations for Intel processors |access-date=7 September 2016 |quote=two of these constants are multiples of 8; this allows for a 1 instruction rotation in Core2 and later Intel CPUs using the '''pshufb''' instruction |archive-date=2017-03-28 |archive-url=https://web.archive.org/web/20170328105321/https://eden.dei.uc.pt/~sneves/chacha/chacha.html |dead-url=yes }}</ref> Terlebih lagi, pemformatan input telah ditata untuk mendukung pengoptimalan penerapan [[SSE]] yang efisien. Alih-alih pergantian ronde kolom dan ronde baris, yang dipakai adalah pergantian ronde kolom dan diagonal.<ref name="ChaCha" /> Seperti Salsa20, ChaCha menata enam belas kata 32 bit dalam matriks 4×4. Berikut indeks elemen matriks dari 0 sampai 15.
{| class="wikitable"
Baris 200:
|}
ChaCha20 menggunakan 10 perulangan ronde ganda.<ref>{{cite web |url=https://datatracker.ietf.org/doc/rfc7539/ |authors=Y. Nir (Check Point), A. Langley (Google Inc.) |date=Mei 2015 |title=ChaCha20 and Poly1305 for IETF Protocols: RFC 7539}}</ref>
// Ronde ganil
Baris 208:
QR(3, 7, 11, 15) // kolom 4
// Ronde genap
QR(0, 5, 10, 15) // diagonal 1 ([[diagonal utama]])
QR(1, 6, 11, 12) // diagonal 2
QR(2, 7, 8, 13) // diagonal 3
Baris 264:
* {{en}} [https://cr.yp.to/snuffle/spec.pdf Salsa20 specification] (PDF)
* {{en}} [https://cr.yp.to/snuffle/812.pdf Salsa20/8 and Salsa20/12] (PDF)
* {{en}} [http://www.ecrypt.eu.org/stream/salsa20pf.html The eSTREAM Project: Salsa20] {{Webarchive|url=https://web.archive.org/web/20160405085821/http://www.ecrypt.eu.org/stream/salsa20pf.html |date=2016-04-05 }}
* {{en}} [https://cr.yp.to/chacha.html The ChaCha family of stream ciphers]
* {{en}} [https://ianix.com/pub/salsa20-deployment.html Salsa20 Usage & Deployment]
{{
[[Kategori:Penyandian aliran]]
|