PBKDF2 | Practical Cryptography for Developers (2024)

PBKDF2 is a simple cryptographic key derivation function, which is resistant to dictionary attacks and rainbow table attacks. It is based on iteratively deriving HMAC many times with some padding. The PBKDF2 algorithm is described in the Internet standard RFC 2898 (PKCS #5).

PBKDF2 takes several input parameters and produces the derived key as output:

key = pbkdf2(password, salt, iterations-count, hash-function, derived-key-len)

Technically, the input data for PBKDF2 consists of:

The output data is the derived key of requested length (e.g. 256 bits).

PBKDF2 and Number of Iterations

PBKDF2 allows to configure the number of iterations and thus to configure the time required to derive the key.

  • Slower key derivation means high login time / slower decryption / etc. and higher resistance to password cracking attacks.

  • Faster key derivation means short login time / faster decryption / etc. and lower resistance to password cracking attacks.

  • PBKDF2 is not resistant to GPU attacks (parallel password cracking using video cards) and to ASIC attacks (specialized password cracking hardware). This is the main motivation behind more modern KDF functions.

PBKDF2 - Example

Try PBKDF2 key derivation online here: https://asecuritysite.com/encryption/PBKDF2z.

Try to increase the iterations count to see how this affects the speed of key derivation.

PBKDF2 Calculation in Python - Example

Now, we shall write some code in Python to derive a key from a password using the PBKDF2 algorithm.

Firstly, install the Python package backports.pbkdf2 using the command:

pip install backports.pbkdf2

Now, write the Python code to calculate PBKDF2:

import os, binasciifrom backports.pbkdf2 import pbkdf2_hmacsalt = binascii.unhexlify('aaef2d3f4d77ac66e9c5a6c3d8f921d1')passwd = "p@$Sw0rD~1".encode("utf8")key = pbkdf2_hmac("sha256", passwd, salt, 50000, 32)print("Derived key:", binascii.hexlify(key))

Run the above code example: https://repl.it/@nakov/PBKDF2-in-Python.

The PBKDF2 calculation function takes several input parameters: hash function for the HMAC, the password (bytes sequence), the salt (bytes sequence), iterations count and the output key length (number of bytes for the derived key).

The output from the above code execution is the following:

Derived key: b'52c5efa16e7022859051b1dec28bc65d9696a3005d0f97e506c42843bc3bdbc0'

Try to change the number of iterations and see whether and how the execution time changes.

When to Use PBKDF2?

Today PBKDF2 is considered old-fashioned and less secure than modern KDF functions, so it is recommended to use Bcrypt, Scrypt or Argon2 instead. We shall explain all these KDF functions in details later in this section.

PBKDF2 | Practical Cryptography for Developers (2024)
Top Articles
Contact
Amazon L5 Systems Development Engineer Salary | $180K-$297K+ | Levels.fyi
Angela Babicz Leak
1970 Chevelle Ss For Sale Craigslist
Myhr North Memorial
Bluegabe Girlfriend
Flat Twist Near Me
Employeeres Ual
Lesson 3 Homework Practice Measures Of Variation Answer Key
Thayer Rasmussen Cause Of Death
Koop hier ‘verloren pakketten’, een nieuwe Italiaanse zaak en dit wil je ook even weten - indebuurt Utrecht
Craigslist Cars Nwi
Clarksburg Wv Craigslist Personals
Nalley Tartar Sauce
Guilford County | NCpedia
ᐅ Bosch Aero Twin A 863 S Scheibenwischer
Bnsf.com/Workforce Hub
Pricelinerewardsvisa Com Activate
Fdny Business
Craigslist Free Stuff Merced Ca
Aris Rachevsky Harvard
Rqi.1Stop
Azur Lane High Efficiency Combat Logistics Plan
Canvasdiscount Black Friday Deals
Gas Buddy Prices Near Me Zip Code
Cookie Clicker Advanced Method Unblocked
Southland Goldendoodles
Bocca Richboro
Robotization Deviantart
Devargasfuneral
Have you seen this child? Caroline Victoria Teague
R3Vlimited Forum
Craigslist Maryland Baltimore
The Menu Showtimes Near Amc Classic Pekin 14
What Time Does Walmart Auto Center Open
Barrage Enhancement Lost Ark
SOC 100 ONL Syllabus
Troy Gamefarm Prices
Albertville Memorial Funeral Home Obituaries
Zasilacz Dell G3 15 3579
Lovein Funeral Obits
Mississippi weather man flees studio during tornado - video
Alston – Travel guide at Wikivoyage
Boyfriends Extra Chapter 6
Gander Mountain Mastercard Login
tampa bay farm & garden - by owner "horses" - craigslist
Jimmy John's Near Me Open
Ark Silica Pearls Gfi
Mast Greenhouse Windsor Mo
Booked On The Bayou Houma 2023
La Fitness Oxford Valley Class Schedule
Latest Posts
Article information

Author: Catherine Tremblay

Last Updated:

Views: 5276

Rating: 4.7 / 5 (67 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Catherine Tremblay

Birthday: 1999-09-23

Address: Suite 461 73643 Sherril Loaf, Dickinsonland, AZ 47941-2379

Phone: +2678139151039

Job: International Administration Supervisor

Hobby: Dowsing, Snowboarding, Rowing, Beekeeping, Calligraphy, Shooting, Air sports

Introduction: My name is Catherine Tremblay, I am a precious, perfect, tasty, enthusiastic, inexpensive, vast, kind person who loves writing and wants to share my knowledge and understanding with you.