The Skein hash proposed for SHA-3 boasts some impressive speed results, which I suspect would be applicable for the Threefish block cipher at its heart - but, if Skein is approved for SHA-3, would this imply that Threefish is considered secure as well? That is, would any vulnerability in Threefish imply a vulnerability in SHA-3? (and thus, a lack of known issues and a general trust in SHA-3 imply the same for Threefish)
Does the security of Skein as a hash imply the security of Threefish as a block cipher?
841 Views Asked by bdonlan At
2
There are 2 best solutions below
1
Matthew Flaschen
On
Disregard my previous answer. I misunderstood the relationship between Skein and Threefish. I still don't think Skein being approved absolutely proves Threefish is generally secure (it's possible Threefish is only secure when used in a particular manner), but it would be an indication.
Related Questions in CRYPTOGRAPHY
- Secure Messaging Implementation in C#
- How to verify JWS (x5c chain) is signed by apple using Jose
- How to Safely Use Crypto.subtle Property for Local Testing Without Security Risks?
- OpenSSL3.0 RSA Signature Verification in C
- npm install tulind in my crypto server side
- how i need place arg in code for funtion send?
- Mbed TLS: in-place en-/decryption for OAEP doesn't seem to work
- Cannot test cryptographic performance using crypto_aesni_mb
- Installation Private Blockchain
- Encountered this error while implementing NTT cpp code: terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
- Cryptography Notion - Diffie-Hellmann
- Hash password with another password
- How to convert CryptAcquireContext to .NET 8 using System.Security.Cryptography methods
- Error "Cannot find module 'crypto'" in WalletConnect module
- Why do some cryptographic signature npm packages (like superdilithium) convert text to an array of integers before signing?
Related Questions in THEORY
- Theory of Comp Sci - State Diagrams NFAs
- About Suffix Trees features
- Cryptography Notion - Diffie-Hellmann
- Correct labeling for this regular language?
- How to measure distinct time intervals - data generation, insertion, and database processing latency - in PostgreSQL
- Looking for strategies to check if a system has been restarted
- Difference between similar terms in OS and GPU
- best approch for filtering
- How to Estimate Theoretical Execution Time for Dynamic Data Generation in PostgreSQL Function?
- Reduce if/else-if on a bunch of partially overlapping conditions
- Theory of algorithms and counting the number of operations
- Nodejs readable-stream vs array.map
- Use a YOLO neural network to extend dataset for re-train same model?
- Effective ways to avoid skipping a record
- Why is array element referencing a constant time operation?
Related Questions in SHA-3
- Is there a limit on the message size for SHA3?
- Using the SHA-3 algorithm in Blazor Server
- OpenVPN Connect incorrect profile configuration (Error message: crypto_alg: SHA3-512: not found)
- I'm trying to de/encode a message using AES-256-GCM with several hashes based on a PHP snippet
- SHA3-512 implementation in Delphi 7
- Converting a TRON address to Base58 doesn't work
- What is the hash method producing 128-bit output (32 hex chars) with lowest collision likelyhood?
- Signing SHAKE256 hash with RSA signature with further validation
- SHA3-512 NIST FIPS PUB 202 in rust
- SHA3 encryption in .Net 4.0 Framework
- Is SHA3 output re-hashed a million times more secure than Scrypt?
- How can I address the SHA3 state vector in programming terms?
- Certificate Verify, "error:068000C7:asn1 encoding routines::unknown signature algorithm"
- no new() in sha3::Keccak256 struct
- VSTO 'ClickOnce manifests' signing using Code Signing ECC SHA384
Related Questions in SKEIN
- Dask - new cluster creation fails, HDFS files owed by "dask" user
- Random "/usr/bin/env: 'python3.6': No such file or directory" when working with dask-yarn
- How do I kill a YARN container to test failure scenarios
- Is there a Skein implementation that works on on AWS Lambda?
- Redshift AES Decrypt UDF
- Getting Skein to Work with Python
- xkcd: Externalities
- Why am I getting different results from different skein hash APIs?
- Using Skein for File integrity checking
- Does the security of Skein as a hash imply the security of Threefish as a block cipher?
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?
Nope. The security of Skein does not imply the security of Threefish. Putting it positively, if someone finds a weakness in Threefish then this does not imply that Skein is also insecure.
The question however, is quite intersting an applies to other hash functions too. Skein uses a Davis-Meyer construction with some modification. MD5, SHA1 and many other hash functions are also using this Davis-Meyer construction and hence they are in principle based on a block cipher. Just in case of MD5 or SHA1 that block cipher does not have a name and I'm not aware of much research on how suitable these constructs are.
The requirements for a good block cipher and for a good hash function are different. Somewhat simplified, if E is a block cipher and it is not feasible to find two keys K, K' and two messages M, M' such that EK(M) xor M = EK'(M') xor M' then E is suitable for constructing a hash function using Davis-Meyer. But to be secure as a block cipher E would need other properties. E would have to resist chosen-ciphertext attacks, chosen-plaintext attacks etc.
Furthermore, if E is a good block cipher then that does also not mean it gives a good hash function. Microsoft had to learn this the hard way with the hash they used in the XBOX. This hash was based on the block cipher TEA that had a weakness that was insignificant for a block cipher, but proved fatal when used for a hash function.
To be fair, there are some relations between being a good block cipher and being suitable for a hash function. E.g., in both cases differential attacks need to be avoided. Hence some design methods used for construction good block ciphers can be used to construct good hash functions.
Let me also add that some of the proposals for SHA-3 are based on AES. So far, I haven't seen much support for favoring AES based hash functions, just because AES is already a standard. These hash functions are analyzed just like any other SHA-3 proposal.