Algoritma Password-Authenticated Key Exchange (DE-PAKE) adalah suatu protokol kriptografi yang memungkinkan pengguna untuk mengubah password yang mudah diingat menjadi string acak dengan entropi penuh, yang selanjutnya digunakan sebagai input untuk protokol pertukaran kunci otentikasi berbasis password (PAKE). Algoritma DE-PAKE memiliki empat pihak, yaitu pengguna, klien, server, dan perangkat, masing-masing dilambangkan dengan U, C, S, dan D.
Proses ini terdiri dari dua tahap: tahap inisialisasi dan pertukaran kunci otentikasi. Pada tahap inisialisasi, pengguna memilih password dari kamus yang diberikan dan perangkat melakukan komunikasi dengan klien untuk membangun keadaan yang disimpan di perangkat D, serta berinteraksi dengan server S yang menghasilkan status pengguna σS(U) yang S simpan sementara U hanya mengingat password-nya. Setelah inisialisasi, tautan antara U dan D tunduk pada aktivitas jahat yang sama dengan tautan antara U dan S.
Pada tahap pertukaran kunci otentikasi, U berinteraksi dengan D, C, dan S melalui saluran yang dikendalikan oleh penyerang untuk mengotentikasi dirinya sendiri ke S dan menetapkan kunci sesi untuk melindungi komunikasi dengan S.
Algoritma DE-PAKE mengadopsi pendekatan “password hardening” yang menggabungkan teknologi oblivious pseudo-random function (OPRF) dan fungsi hash untuk memetakan password pengguna menjadi password acak yang lebih kuat dan tidak pernah disimpan di mana pun. Hal ini membuat algoritma DE-PAKE tahan terhadap serangan tebak-tebakan online, serangan kamus offline, phishing, eavesdropping, dan man-in-the-middle (MITM) pada saluran perangkat-klien, serta memudahkan pengguna untuk mengelola password mereka.