Bcrypt: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Wahyudi1983 (bicara | kontrib)
algoritma
k fix
 
(6 revisi perantara oleh 5 pengguna tidak ditampilkan)
Baris 1:
{{lowercase title}}
'''bcrypt''' merupakan fungsi hashing kata sandi yang dirancang oleh dua orang peneliti keamanan komputer [https://www.provos.org/ Niels Provos] dan David Mazières, cipher [[Blowfish (penyandian)|Blowfish]] adalah dasar pembuatan bcrypt, dan disajikan di USENIX pada tahun 1999. <ref name="provos">{{Cite journal|last=Provos|first=Niels|last2=Mazières, David|last3=Talan Jason Sutton 2012|year=1999|title=A Future-Adaptable Password Scheme|url=http://www.usenix.org/events/usenix99/provos/provos_html/node1.html|journal=Proceedings of 1999 USENIX Annual Technical Conference|pages=81–92}}</ref> bcrypt dapat melindungi dari serangan [[Tabel pelangi|rainbow table]] dengan mengunakan [[Salt (kriptografi)|salt]], selain itu, bcrypt adalah fungsi adaptif: seiring waktu, jumlah iterasi dapat ditingkatkan untuk membuatnya lebih lambat, sehingga tetap aman terhadap serangan pencarian brute-force bahkan dengan meningkatnya daya komputasi.
 
Fungsi bcrypt merupakan algoritmaalgoritme hash password dasar untuk [[OpenBSD]] <ref name="original">{{Cite web|url=//cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libc/crypt/bcrypt.c|title=Commit of first work to repo|date=13 Feb 1997}}</ref> dan sistem lain termasuk beberapa [[distribusi Linux]] seperti SUSE Linux . <ref>{{Cite web|url=https://www.suse.com/support/security/advisories/2011_35_blowfish.html|title=SUSE Security Announcement: (SUSE-SA:2011:035)|date=23 August 2011|archive-url=https://web.archive.org/web/20160304094921/https://www.suse.com/support/security/advisories/2011_35_blowfish.html|archive-date=4 March 2016|dead-url=yes|access-date=20 August 2015|quote=SUSE's crypt() implementation supports the blowfish password hashing function (id $2a) and system logins by default also use this method.}}</ref>
 
bcrypt dapat diimplementasikan pada bahasa pemrograman PHP, Python, JavaScript, C, C ++, C #, Go, <ref>{{Cite web|url=https://godoc.org/golang.org/x/crypto/bcrypt|title=Package bcrypt|website=godoc.org}}</ref> Java, <ref>{{Cite web|url=http://www.mindrot.org/projects/jBCrypt/|title=jBCrypt - strong password hashing for Java|website=www.mindrot.org|language=en|access-date=2017-03-11}}</ref> <ref>{{Cite web|url=https://github.com/patrickfav/bcrypt|title=bcrypt - A Java standalone implementation of the bcrypt password hash function|website=github.com|language=en|access-date=2018-07-19}}</ref> Elixir, <ref>{{Cite web|url=https://github.com/riverrun/bcrypt_elixir|title=Bcrypt Elixir: Bcrypt password hashing algorithm for Elixir.|last=Whitlock|first=David|website=GitHub|publisher=riverrun}}</ref> Perl, <ref>{{Cite web|url=https://github.com/pyca/bcrypt/|title=bcrypt: Modern password hashing for your software and your servers|last=Stufft|first=Donald|publisher=}}</ref> Ruby dan bahasa lain
 
== Algortima ==
<span data-segmentid="94" class="cx-segment">AlgoritmaAlgoritme bcrypt adalah hasil dari enkripsi teks ''"OrpheanBeholderScryDoubt"'' 64 kali menggunakan [[Blowfish (penyandian)|Blowfish]] .</span> <span data-segmentid="96" class="cx-segment">Dalam bcrypt fungsi biasa key setup pada Blowfish digantikan dengan fungsi expensive key setup (EksBlowfishSetup)</span>  
'''Function''' bcrypt
'''Input:'''
Baris 27 ⟶ 28:
 
=== Expensive key setup ===
AlgoritmaAlgoritme bcrypt sangat bergantung pada algoritmaalgoritme key setup "Eksblowfish", berikut algoritmanya:
'''Function''' EksBlowfishSetup
'''Input:'''
Baris 45 ⟶ 46:
 
=== Expand key ===
Berikut algoritmaalgoritme fungsi ExpandKey
'''Function''' ExpandKey(''state'', ''salt'', ''password'')
'''Input:'''
Baris 79 ⟶ 80:
== Referensi ==
{{reflist}}
{{Hash kriptografi}}
 
[[Kategori:Perangkat lunak kriptografi]]