I am using C# RijndaelManaged class for AES encryption. The key and IV are generated from input password and salt using Rfc2898DeriveBytes class. My question is, how difficult would it be to break encryption if someone obtained input password but not the salt?
Breaking Rfc2898DeriveBytes key with input password but without salt
1k Views Asked by SoftwareFactor At
1
There are 1 best solutions below
Related Questions in .NET
- file download method in visual studio 2017
- Repository manager receives the wrong connection string in .net core
- MongoDb not connecting C#
- The current .NET SDK does not support targeting .NET Core 6.0. Brand new WPF Project VS Community 2022 17.9.5
- Why Scanning GSI on DynamoDb doesnt work as fast as expected when using CONTAINS?
- Are "blittable types" really unmanaged types for StructLayout Sequential
- Failed to fetch dynamically imported module on Blazor JS Interop
- Problem to upload several images per one request
- Implementing Azure AD B2C Authentication in .NET 8 Blazor Project (RenderMode: InteractiveAuto)
- Stripe connect payout - throws exceptions
- 'IOException: The cloud file provider is not running', when trying to delete 'cloud' folder
- Azure Application Insights Not Displaying Custom Logs for Azure Functions with .NET 8
- Convert C# DateTime.Ticks to Bigquery DateTime Format
- Socket.io nodejs server .NET connection
- Producer Batching Service Bus Vs Kafka
Related Questions in AES
- Java code of AES/GCM/NoPadding encryption algorithm with authentication tag
- AES-256-CBC encryption returning different result in Python and PHP , HELPPP
- zip4j - An error occurred while extracting files - Java
- Encrypt in Single Store and Decrypt in SQL Server
- Error "java.security.spec.InvalidKeySpecException: Error parsing public key" with Java
- Getting Error Message as "the input string is not a complete block" while Decryting using AES
- CMac calculation in C# using BouncyCastle
- Node.js AES decryption code converted to Golang throws key size error
- AES-CTR PRNG Implementation in OpenSSL with Consistent Output and Memory Leak Issues
- Encrypted data fails at decryption after restarting the micro-service
- Encryption in javascript frontend (browser env)
- mbedtls AES 128 ECB mode encryption give wrong results
- AES Decryption: if the decrypted file has a typo the Application crashes
- OpenSSL: how to encrypt new message with same key without EVP_EncryptInit_ex() again?
- How fix error: Specified key is not a valid size for this algorithm?
Related Questions in RIJNDAEL
- Getting Error Message as "the input string is not a complete block" while Decryting using AES
- SSRS Rijndael decryption
- Postgres decrypting differences between v9 and v12 (pgcrypto 1.1 vs 1.3)
- Rijndael decryption returning 16 character response only C#
- about Rijndael-256 decrypt
- Port legacy C# Rijndael encryption algorithm to nodejs with the crypto module
- text decryption in python with rijndael-128 / CBC256 algorithm
- Encrypt/Decrypt using AES encryption with a Rijndael cipher, ECB, NoPadding in JavaScript
- Need PHP 8 version of C#/.NET encryption code
- Rijndael CreateDecryptor Throws Length of the data to decrypt is invalid
- Has anyone worked with Rijndael encryption on Flutter? How to encrypt with Rijndael?
- BlockSize must be 128 in this implementation
- Invalid Key Length in NodeJS, but Valid Key Length in C#
- decrypt C# encrypted string in PHP (StringCipher Library)
- Lasts 16 bytes of Rijndael encryption aren't correct
Related Questions in RIJNDAELMANAGED
- Rijndael decryption returning 16 character response only C#
- System.Security.Cryptography.UniversalCryptoDecryptor fails to decrypt our passwords in .NET Core 6, 7
- How to transport IV in C# with Classes RijndaelManaged, CryptoStream and CBC?
- Decryption failing despite key and packing being correct
- Decryptor Function gives output a list of numbers instead of string
- Rijndael CreateDecryptor Throws Length of the data to decrypt is invalid
- RijndaelManaged Decryption in .net 5 not working
- How to upgrade from RijndaelManaged to AES?
- RijndaelManaged using 256 key on .NET Core
- RijndaelManaged difference in .NET Framework and .NET Core
- C# RijndaelManaged vs Python Crypto.Cipher AES + CBC
- C# RijndaelManaged Encryption Output Is Wrong
- Not having the same result between AES of javascript cryptojs and AES C# RijndaelManaged
- How to properly call openssl_decrypt method if I have base64 string which contains from IV and encrypted data?
- Decrypt RijndaelManaged in C++ (CNG)
Related Questions in RFC2898
- Encryption implementation corrupting only last few bytes
- Stuck with SHA1 on .NET Standard 2.0
- Translate from C# to Python | Rijndael, AES algorithms
- How many bytes should a password hash be when using Rfc2898DeriveBytes?
- Generate Rfc2898DeriveBytes key in JavaScript from C#
- Choosing salt and key size for Rfc2898DeriveBytes
- How to use CryptoJS in Angular 9 to get same encrypted string like C# Rfc2898DeriveBytes
- Converting .Net decryption to Java
- Create method like System.Web.Helpers.Crypto.HashPassword (ASP.NET) in nodejs?
- Replicating Asp.net Identity Password Hash to Chilkat
- Issue With Encrypted Password in C# using Rfc2898DeriveBytes and MSSQL
- AES 256 bit encryption with Rfc2898DeriveBytes
- Converting c# Rfc2898DeriveBytes encryption to PHP
- Rfc2898DeriveBytes for java?
- From C# encryption key derivation to Ruby (PBKDF2)
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
It would be close to impossible to retrieve the key and IV. Actually, sometimes a static, secret salt stored in source code is used in addition to the public random salt. In that way an attacker is required to get the source or runtime code in addition to the database with the salts and password hashes.
This kind of scheme does require a large enough (secret) salt, say 128 bytes. It would be best to use concatenation to create the combined public and secret salt.
Of course, it is always possible to mess up the encryption otherwise, e.g. by being vulnerable to padding oracle attacks, forgetting an authentication tag (HMAC) in addition to encryption, etc. etc. etc.