Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8599619
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 12, 20262026-06-12T01:26:10+00:00 2026-06-12T01:26:10+00:00

I am developing an open distributed cloud storage system. By open I mean that

  • 0

I am developing an “open distributed cloud storage system”.

By open I mean that anyone can participate in hosting of files.

My current design uses a sha1 hash of the files content as global file id.

It is given that the client already knows this hash value and receives the file from a “bandwidth donor”.

The client now needs to verify that the file indeed is the correct one, by generating the hash and comparing it to the expected value.

However my concern is that someone could deliberately modify a file to produce the same hash. As far as I know this is doable easily for hashes of the CRC family. Some “googling” around revealed a lot of claims that the same would be easy for MD5.

Now my question is: Is there a hashing algorithm which satisfies the criteria of beeing

  • fast for big amounts of data
  • well distributed in the hashing range (aka “unique”)
  • has a sufficient target range (“bit length”)
  • is resistant to deliberate collision attacks

All other means that I can think of achieving a setup that serves my needs involve a secret component, for example a secret openssl key or a shared secret salt for a hash function.

Unfortunately I cannot work with that.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-12T01:26:11+00:00Added an answer on June 12, 2026 at 1:26 am

    What you are asking for is a one-way function, whose existence is a major open problem.

    With cryptographic hash functions, the specific attack you wanted to avoid is called the “second pre-image attack”.

    That should help you Googling what you want, but as far as I know there is actually no known practical second pre-image attack for MD5.

    First of all, you probably found that it is easy to find two arbitrary files that have the same hash, and to find two different such pairs every time you try.

    But it is difficult to generate a file to disguise as some specific file – in other words, it is unlikely that one of the prementioned “two arbitrary files” actually belongs to a non-malicious agent in your storage.

    If you’re still not satisfied, you might want to try something like SHA-1 or SHA-2 or GOST.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm developing software based on an open source package that uses external storage to
Recently, I've been developing an open source proxy that has a client and a
Are there any good open source frameworks for developing computer system emulators? I am
I am developing an Android app that connects to the Facebook Open Graph via
If I'm developing a site locally and try to open an HTML file that's
I'm currently open sourcing a project that we've been developing on our own personal,
I am developing an android application, that should open html 5 file when it
We are developing a closed-source proprietary product that uses quite a few open source
I'm developing a tool that lets you open multiple pages at once with a
I am developing a SSIS package that will open an Excel spreadsheet and import

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.