Normally trusted timestamping proves that certain information existed at or before a certain time. However, sometimes there is a need to prove the opposite; that something did not exist before a certain time.

Consider that I want to prove by photographs that my house is in a good condition before I rent it out to someone else, i.e. I want to be able to prove that the photos were not taken before the day when i rent it out. The old-school way of doing this is to include for example today's newspaper in the photographs, but now with the emergence of advanced graphic editors it seems like this is not enough for a proof beyond reasonable doubt.

Is there any way to do this cryptographically utilizing a trusted third-party timestamping service?

  • $\begingroup$ Your first two paragraphs are contradictory. The first is proving a negative (in itself quite a philosophical issue) whilst the second is proving a positive... $\endgroup$
    – Paul Uszak
    Commented Jun 8, 2017 at 22:41
  • $\begingroup$ @PaulUszak please elaborate. If I can prove that something (currently existing) cannot have been created before a certain time, haven't I also proved that it did not exist before that time? $\endgroup$ Commented Jun 8, 2017 at 22:57
  • $\begingroup$ Your 2nd paragraph seeks to prove the condition of your house at a particular time. That's not the evidence of absence in the title and 1st paragraph. Is it a bad house example or bad question title? $\endgroup$
    – Paul Uszak
    Commented Jun 9, 2017 at 0:04
  • $\begingroup$ the larger problem is how to prove that the photograph of the house itself was ever genuine. $\endgroup$
    – Jasen
    Commented Jun 9, 2017 at 4:48
  • $\begingroup$ @PaulUszak Absence refers to absence of the photograph itself before a certain time. The example is meant to describe a real-life scenario where such proof could be used. $\endgroup$ Commented Jun 10, 2017 at 8:45

4 Answers 4


Your problem is a tricky one to solve that has been discussed over a period of decades. Tierion (disclosure, where I am VP Engineering), provides a solution for at least part of your problem with our Chainpoint proof services.

Chainpoint will soon cryptographically embed the minute-by-minute random values provided by the NIST Randomness Beacon into every proof that anchors a SHA256 hash of data you provide to a public blockchain.

This will let you prove that a hash you submitted was in fact submitted within a relatively small window of time. A window where you can prove submittal after a NIST Beacon value embedded in the proof was generated, and before the time represented in our published calendar blockchain and the block times of the Bitcoin and Ethereum blockchains.

But this only solves part of your original problem. It effectively timestamps the hash of some data, but proves nothing about the provenance of the original data represented by that hash. As stated earlier, you could include in your hypothetical house photo a printout of the NIST Beacon timestamp and random value that was most current at the moment the photo was taken. This is however possibly subject to manipulation with Photoshop that may or may not be detectable.

Another approach that may be harder to manipulate would be to take a video of the house instead of a photograph. In the video you could hold up the same printout, but you could also have a person in the video read out the current value and even visually project onto the speaker and the house the beacon value. This watermarking would be vastly more difficult to remove or manipulate.

Another key is to submit the photo or video to Chainpoint as quickly as possible after it is created. This narrows down the window in which an attacker would have been able to manipulate your photo/video. It would be unreasonable, using currently available technology, to manipulate the video to change the value spoken and visually displayed across the video within say a ten minute window. This attack window is a vanishingly small time to perform this kind of modification undetectably and would probably be considered infeasible by even a nation state.

Charles Bennet of IBM Research addressed this technique in detail in his paper 'Improvements to Time Bracketed Authentication' from 2003


One application for a randomness beacon is to get this assurance. A randomness beacon (NIST runs a prototype one) generates a sequence of public, signed, timestamped random numbers on a fixed schedule. (In NIST's case, it's once per minute.)

The beacon operator is promising that the number won't be known to anyone (outside the machine on which the beacon is running) until the time on the beacon pulse. As long as the beacon operator keeps that promise, you can know that nobody could have known the value of the beacon pulse at 12:31 GMT June 20, 2017 before exactly 12:31 GMT on June 20, 2017. The beacon service keeps a record of all these pulses, all digitally signed and hash-chained together. Sometime soon, we're releasing a new beacon format, and a couple other organizations will be running beacons, so you can choose which beacon you want to trust, or even combine them.

If you don't want to trust anyone to generate those random numbers, you can use something else from the environment. Some people have proposed using closing stock prices, winning lottery numbers, weather data, and hashes from proof-of-work blockchains. All of those have some issues in terms of convenience, and potentially a small amount of influence that could be applied by specific trusted people[1], but nobody can exactly predict what they will be even a day in advance.

[1] For example, consider weather data: You're going to define some official source as the place you get your cannonical weather data. Everyone will notice if this source tells you there was a high temperature in DC of 20 C on a day when it really got up to 30 C, but that source will have some wiggle room in reporting a high of 30 C or 31 C.

  • 1
    $\begingroup$ I don't see, how this helps with the answer. If I include todays beacon into a photo from last month, it will appear as beeing from today. $\endgroup$
    – mat
    Commented Jun 14, 2017 at 8:39
  • $\begingroup$ I don't see how it helps either, unless the camera taking the phone is trusted by the same lot that owns the beacon. And is tamper proof, and you don't just take a photo of a photo. $\endgroup$
    – daniel
    Commented Jun 20, 2017 at 10:47
  • $\begingroup$ @mat Right, but that is from today since you added the beacon today. If you in fact generated it last month, it cannot contain today's beacon. So containing today's beacon is proof the thing that contains today's beacon was not created last month. It says nothing about some other chunk of data you did in fact create today. $\endgroup$ Commented Jun 7, 2019 at 6:47

I think this is a hard question to answer. However, I believe since you are utilizing a trusted third party, then one way to do this is to use trusted platform module (TPM) [read more about it on trusted computing] on the device that generated the photo. This TPM aims to prove for the utility provider that the image is taken on a specific time. The trusted third party will provide authentication to the end users by signing the taken image. By doing this you prevent the one who took the photo from cheating, and give other users to verify the correctness of the image. The problem with this technique is that you need TPM on the camera device.

  • $\begingroup$ So if i understand correctly, it could mean something like this? 1) Get a recently published hash value from a trusted timestamp provider 2) Transfer it to the camera 3) When a photo is taken, the TPM (immediately) signs the photo together with the timestamp $\endgroup$ Commented Jun 8, 2017 at 22:00
  • $\begingroup$ yes exactly this is it $\endgroup$ Commented Jun 9, 2017 at 14:08
  • $\begingroup$ so, take a photo of a previous photo... $\endgroup$
    – Jasen
    Commented Jun 11, 2017 at 20:32
  • $\begingroup$ Jasen read more about TPMs $\endgroup$ Commented Jun 13, 2017 at 15:31
  • $\begingroup$ I dont see how TPM helps at all. take a photo of a photo you took last year... timestamp on the new photo says today. $\endgroup$
    – Jasen
    Commented Jun 26, 2017 at 4:25

No, it can not. If you have an image and you add a timestamp to it you can only attest that the image already existed at the moment that you submitted it to your timestamping service or similar.

Since the moment of the creation of the data and the timestamping are not connected you cannot use that to prove that it didn't exist at some point.

If you want to prove that something didn't exist before a certain point in time you need to include some information that was unknowable before that point in time in the creation process. Hence the newspaper.

If you wanted to do that for an image you would need a process that ensures that a regular image taken in the past cannot retroactively be timestamped. So even with a dedicated hardware setup you would have to prevent somebody printing your old picture and photographing it again and getting it certified.

  • $\begingroup$ How can you possibly prove unknowable historic information with a copy of the Times? My granddad solved the P versus NP problem when he was a little boy. Prove he didn't using a picture... $\endgroup$
    – Paul Uszak
    Commented Jun 9, 2017 at 21:20
  • 1
    $\begingroup$ @PaulUszak I'm not sure what you mean but I don't think I said that. :) The times is in the picture to prove the that the picture is recent. I.e. the picture couldn't have existed before because the times was required for its creation. $\endgroup$
    – Elias
    Commented Jun 10, 2017 at 7:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.