Salsa20: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k penggantian pranala internal |
Mauliddinnm (bicara | kontrib) Fitur saranan suntingan: 3 pranala ditambahkan. |
||
(2 revisi perantara oleh 2 pengguna tidak ditampilkan) | |||
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|tambah-putar-XOR]] (ARX). Tugas utamanya adalah pemetaan sebuah [[Ukuran kunci|kunci]] 256 bit, sebuah ''nonce'' 64 bit, dan sebuah pencacah 64 bit ke blok aliran kunci 512 bit (ada pula versi Salsa yang menggunakan kunci 128 bit). Hal ini memberikan Salsa20 dan Chaca keuntungan, yaitu pengguna dapat langsung menuju ke lokasi tertentu dalam aliran kunci dalam waktu tetap (konstan). Salsa20 menawarkan kecepatan 4–14 siklus per bita dalam [[perangkat lunak]] pada prosesor [[x86]]<ref name="Salsa20" /> dan kinerja [[perangkat keras]] yang cukup. Sandi ini tidak dipatenkan, bahkan Bernstein telah menulis beberapa implementasi dalam [[domain publik]] yang dioptimalkan untuk arsitektur pada umumnya.<ref>{{cite web |url=https://cr.yp.to/salsa20/speed.html |title=Salsa20: Software speed |date=11 Mei 2007}}</ref>
== Struktur ==
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]
|