KDF Algorithms | Bitwarden Help Center (2024)

Security

Bitwarden first uses Key Derivation Functions (KDFs) on account creationto derive a master key for the account from the input master password, which acts as input for a master password hash for the account (learn more). Whenever a user is authenticated, for example when unlocking a vault or satisfying master password re-prompt, the process is repeated so that the newly-derived hash can be compared to the originally-derived hash. If they match, the user is authenticated.

KDFs are used in this capacity to frustrate brute-force or dictionary attacks against a master password. KDFs force an attacker's machines to compute a non-trivial number of hashes for each password guess, at increasing cost to the attacker.

Two KDF algorithms are currently available for use in Bitwarden; PBKDF2 and Argon2. Each algorithm has a selection of options available which can be used to increase the time and expense, or "work factor", imposed on the attacker.

PBKDF2

Password-Based Key Derivation Function 2 (PBKDF2) is recommended by NIST and, as implemented by Bitwarden, satisfies FIPS-140 requirements so long as default values are not changed.

PBKDF2, as implemented by Bitwarden, works by salting your master password with your username and running the resultant value through a one-way hash algorithm (HMAC-SHA-256) to create a fixed-length hash. This value is again salted with your username and hashed a configurable number of times (KDF iterations). The resultant value after all iterations is your master key, which acts as input for the master password hash used to authenticate that user whenever they log in (learn more).

By default, Bitwarden is set to iterate 600,000 times, as recommended by OWASP for HMAC-SHA-256 implementations. So long as the user does not set this value lower, the implementation is FIPS-140 compliant, but here are some tips should you choose to change your settings:

Argon2id

Argon2 is the winner of the 2015 Password Hashing Competition. There are three versions of the algorithm, and Bitwarden has implemented Argon2id as recommended by OWASP. Argon2id is a hybrid of other versions, using a combination of data-depending and data-independent memory accesses, which gives it some of Argon2i's resistance to side-channel cache timing attacks and much of Argon2d's resistance to GPU cracking attacks (source).

Argon2, as implemented by Bitwarden, works by salting your master password with your username and running the resultant value through a one-way hash algorithm (BLAKE2b) to create a fixed-length hash.

Argon2 then allocates a portion of memory (KDF memory) and fills it with the computed hash until full. This is repeated, starting in the subsequent portion of memory where it left off in the first, a number of times iteratively (KDF iterations) across a number of threads (KDF parallelism). The resultant value after all iterations, is your master key, which acts as input for the master password hash used to authenticate that user whenever they log in (learn more).

By default, Bitwarden is set to allocate 64 MiB of memory, iterate over it 3 times, and do so across 4 threads. These defaults are above current OWASP recommendations, but here are some tips should you choose to change your settings:

  • Increasing KDF iterations will increase running time linearly.

  • The amount of KDF parallelism you can use depends on your machine's CPU. Generally, Max. Parallelism = Num. of Cores x 2.

  • iOS limits app memory for autofill. Increasing iterations from the default 64 MB may result in errors while unlocking the vault with autofill.

Changing KDF algorithm

note

2023-02-14: Argon2 is supported by Bitwarden clients version 2023.2.0 and later, and switching to Argon2 via the web vault could mean other clients will not be able to load your vault until they’re updated, typically within a week after release.

To change your KDF algorithm, navigate to the Settings SecurityKeys page of the web vault. Changing the algorithm will re-encrypt the protected symmetric key and update the authentication hash, much like a normal master password change, but will not rotate the symmetric encryption key so vault data will not be re-encrypted. See here for information on re-encrypting your data.

When you change algorithm, you'll be logged out of all clients. Though the risk involved in rotating your encryption key does not exist when changing algorithm, we still recommend exporting your vault beforehand.

Low KDF iterations

In the 2023.2.0 release, Bitwarden increased the default number of KDF iterations for accounts using the PBKDF2 algorithm to 600,000, in accordance with updated OWASP guidelines. This strengthens vault encryption against hackers armed with increasingly powerful devices. If you are using the PBKDF2 algorithm and have KDF iterations set below 600,000, you'll receive a warning message encouraging you to increase your KDF settings.

warning

Before making any changes to encryption settings, it is recommended that your backup your individual vault data first. See Export Vault Data for more information.

To maintain zero-knowledge encryption, neither Bitwarden nor administrators can modify your account security or vault encryption settings. If you see this message, select the Update KDF settings button and either increase your PBKDF2 iterations to at least 600,000, or change your KDF algorithm to Argon2id with default settings. When you save these changes, you'll be logged out of all clients, so be sure that you know your master password and that your two-step login method is accessible.

Changing the iteration count can help protect your master password from being brute forced by an attacker, however should not be viewed as a substitute to using a strong master password in the first place. A strong master password is always the first and best line of defense for your Bitwarden account.

Suggest changes to this page

How can we improve this page for you?
For technical, billing, and product questions, please contact support

KDF Algorithms | Bitwarden Help Center (2024)
Top Articles
GamerPay - The marketplace for gaming skins
Understanding React XSS: A Complete Guide
Places 5 Hours Away From Me
Craigslist Pets Longview Tx
Lorton Transfer Station
Chambersburg star athlete JJ Kelly makes his college decision, and he’s going DI
Beacon Schnider
Teenbeautyfitness
5 Bijwerkingen van zwemmen in een zwembad met te veel chloor - Bereik uw gezondheidsdoelen met praktische hulpmiddelen voor eten en fitness, deskundige bronnen en een betrokken gemeenschap.
Fnv Turbo
Lost Pizza Nutrition
Walthampatch
Nj State Police Private Detective Unit
Les Schwab Product Code Lookup
Bad Moms 123Movies
5 high school volleyball stars of the week: Sept. 17 edition
2 Corinthians 6 Nlt
Byui Calendar Fall 2023
[Cheryll Glotfelty, Harold Fromm] The Ecocriticism(z-lib.org)
Accident On The 210 Freeway Today
Juicy Deal D-Art
Pearson Correlation Coefficient
Craigs List Tallahassee
The Largest Banks - ​​How to Transfer Money With Only Card Number and CVV (2024)
Play Tetris Mind Bender
Обзор Joxi: Что это такое? Отзывы, аналоги, сайт и инструкции | APS
New Stores Coming To Canton Ohio 2022
Pacman Video Guatemala
Unreasonable Zen Riddle Crossword
100 Gorgeous Princess Names: With Inspiring Meanings
Elijah Streams Videos
Ryujinx Firmware 15
Package Store Open Near Me Open Now
Http://N14.Ultipro.com
Craigs List Stockton
Bimmerpost version for Porsche forum?
1v1.LOL Game [Unblocked] | Play Online
Restored Republic May 14 2023
Express Employment Sign In
Dogs Craiglist
Dispensaries Open On Christmas 2022
Home Auctions - Real Estate Auctions
فیلم گارد ساحلی زیرنویس فارسی بدون سانسور تاینی موویز
22 Golden Rules for Fitness Beginners – Barnes Corner Fitness
Spurs Basketball Reference
City Of Irving Tx Jail In-Custody List
De boeken van Val McDermid op volgorde
Craigslist Charles Town West Virginia
Minute Clinic Mooresville Nc
Black Adam Showtimes Near Kerasotes Showplace 14
Round Yellow Adderall
Kindlerso
Latest Posts
Article information

Author: Allyn Kozey

Last Updated:

Views: 6225

Rating: 4.2 / 5 (43 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Allyn Kozey

Birthday: 1993-12-21

Address: Suite 454 40343 Larson Union, Port Melia, TX 16164

Phone: +2456904400762

Job: Investor Administrator

Hobby: Sketching, Puzzles, Pet, Mountaineering, Skydiving, Dowsing, Sports

Introduction: My name is Allyn Kozey, I am a outstanding, colorful, adventurous, encouraging, zealous, tender, helpful person who loves writing and wants to share my knowledge and understanding with you.