# Tag Info

8

A pure algorithmic approach does exist, however it only provides a fuzzy bound. It is related to the proof of work / client puzzles I described in this answer. The signer will sign the message using a normal digital signature, and use the message and signature to instantiate a "cryptographic puzzle." A cryptographic puzzle is a moderately hard function ...

8

If you search on "timestamp", "timestamping", and "notary" on Crypto.SE and Security.SE, you'll find lots of references. I've collected a number of timestamping services that were mentioned in one of those places; this should provide a number of companies and online services you can check out: http://www.proofofexistence.com/ https://www.btproof.com/ ...

7

I would characterize the service as similar to a trusted time-stamping service. Except they do not do the time-stamping, but just provide the "key". This allows a user to decide what do to with it, such as using it as a private key to sign something, or an HMAC key, proving the signature is "not older" than the timestamp. If the signature is published to a ...

3

I wonder why anyone would choose to rely on a source of true random numbers fraught with questions that will ultimately have no provable - or perhaps even satisfactory - answer. There are at least a couple of companies that sell generators that provide high quality true random numbers. Having a generator on-site and available real-time allows the necessary ...

3

Several certificate authorities operate RFC-3161-compliant time-stamp servers that can be used free-of-charge. OpenSSL can create RFC 3161 time-stamp requests and verify the responses. Here is a simple Bash script that time-stamps a file using the time-stamp server operated by StartSSL: in_file='[path to file]' # name of file to be hashed and time-stamped ...

3

You can prove that a document was signed after a certain date by including data that was not known to anyone before that date, such as stock market data. You cannot prove that a document was signed before a certain date by purely cryptographic means. Information doesn't go stale, so when you show a signature, it could have been signed at any time. You can ...

3

Updated answer: No, this is not possible with cryptography. You have the ciphertext and you have the key. For all anyone knows, you could have made a copy of those to some other computer and decrypted the ciphertext without telling anyone. There's no way (with cryptography) to prove you haven't done that. One approach would be to implement a secure service ...

3

Actually, I guess that you are talking about digital signatures and not about public key encryption (since you want to have message authenticity and not confidentiality). Whether using time-stamps or not makes sense depends on your application. Basically, the idea is that the verifier can determine when the signature has been issued and in particular that ...

3

I didn't try the service of universign, and the description on their web site is not really clear on how it works. So I had a look at RFC 3161, which defines a time stamping protocol. In essence, the service defined there accepts a hash of the message (or document) to be time-stamped, together with some parameters produces a time stamp token. This time ...

3

Actually Universign produces "Evidence Records" as described by RFC 4998. Evidence Records in turn rely on standard time stamps which RFC 3161 is about. Evidence Records can embed several nested time stamps; this is used for long-term archival, when you want time stamps to remain verifiable beyond the end-of-validity of the certificate of the time stamp ...

2

You may be interested to check this quite interesting approach to time stamping: http://www.guardtime.com/ It provides KSI (Keyless Signature Infrastructure) for providing proof and non-repudiation of electronic data, using only hash functions for verification. The implementation of KSI is via a globally distributed machine, taking hash values of data as ...

2

I don't think there is a pure-cryptography solution to this. Suppose you built a chip, and it time-stamped whatever message you wanted, using an internal atomic clock. For the sake of argument, let's say that it's unhackable, and totally tamper-proof. Well, there's still a loophole. Put the chip on a spacecraft and speed it up to 99% the speed of light for ...

2

Your diagram is not very clear, but XOR is not a good combiner function to use for timestamping, as it may allow backdating in some circumstances. For instance, see the "time travel" attacks in Section 3.3 of the following paper (e.g., pp.179-180): Cryptanalytic Attacks on Pseudorandom Number Generators. Depending upon how many inputs you have to the XOR ...

2

The way a stream cipher works, traditionally, is that $E_k$ produces a pseudorandom bitstream (the keystream) based solely on the key $k$. The message is then encrypted by XORing the message with the keystream. This has a number of consequences, notably that if you know both the plaintext and ciphertext, it's trivial to compute the keystream (if \$C=M\oplus ...

1

I think that you're asking how to generate a timestamp response as defined in timestamp-protocol: RFC3161, with openssl to generate and sign the response using a PKCS#11 (HSM in your case) as a TSA signer. I think that there is no native way to use PKCS#11with openssl to do this. (maybe with some plugin like: opensc pkcs11 engine for openssl). If you take ...

1

First up: Don't believe the hype! Especially if things can easily be proven wrong. What I mean is that your NIST have just launched a new service… is incorrect, as the NIST Randomness Beacon project is known to me (and others) since 2011. Furthermore, this project was awarded a multi-year grant from NIST's Innovations in Measurement Science (IMS) Program in ...

1

You can guess it's the correct timestamp if it's within a few seconds (or minutes) from the current timestamp. At the very least you can assume that the timestamp of the message that just came in must be greater than the timestamp of the last one. Similarly, if the timestamp points to the future by any reasonable margin (a few seconds) you know the other ...

1

Timestamps allow the recipients to know the order in which messages from an honest party were sent. This is sometimes important in cryptographic protocols. Timestamps sometimes allow the recipient to know that a message from an honest party has been replayed. This is important in cryptographic protocols. These properties sometimes allow protocols using ...

1

It is possible for Bob and Alice to store many files on some host file server using a host-proof protocol -- i.e., in such a way that even the sysadmins of that server cannot decrypt and read the plaintext of those files. You may be interested in browsing the questions with the host-proof tag. As far as I know, there is only one way to prove that those ...

1

Time stamps are also signatures; see for instance RFC 3161 which is the most commonly used time stamp format. In particular, such time stamps also rely on certificates (the TSA certificate), and thus also expire. So you need regular time stamping; whenever the latest time stamp is about to expire (but before expiration), you need to obtain a new time stamp ...

1

Time stamps, just like regular signatures, are valid only as long as the certificate connected to them is valid. In other words, time stamp becomes useless in the same moment as the TSA ceases operation, is compromised, etc. The solution to this problem, is to get few time stamps on one file and regularly time stamp it before any of the TSA certificates is ...

1

It would seem that the answer is no. If the TSA's private key is compromised (and thus revoked), the time stamp signature cannot be trusted as whoever compromised it could sign documents with old time stamps. Surely users would want to be warned before accepting a time stamp signature from a compromised certificate. It seems then if this is your threat ...

Only top voted, non community-wiki answers of a minimum length are eligible