ArticleslgStudy

computer science

Hash calendar

Hash calendar is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Hash calendar rather than just read about it. In short: A hash calendar is a data structure that is used to measure the passage of time by adding hash values to an append-only database with one hash value per elapsed second. It can be thought of special kind of Merkle or hash tree, with the property that at any given moment, the tree contains a leaf node for each second since 1970‑01‑01 00:00:00 UTC.

Hash calendar — main illustration
Hash calendar — illustration

Key takeaways

  • Hash calendar belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Hash calendar to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Hash calendar from memory before moving on to harder problems.

Reference excerpt

A hash calendar is a data structure that is used to measure the passage of time by adding hash values to an append-only database with one hash value per elapsed second. It can be thought of special kind of Merkle or hash tree, with the property that at any given moment, the tree contains a leaf node for each second since 1970‑01‑01 00:00:00 UTC.

The leaves are numbered left to right starting from zero and new leaves are always added to the right. By periodically publishing the root of the hash-tree is it possible to use a hash calendar as the basis of a hash-linking based digital timestamping scheme.

History The hash calendar construct was invented by Estonian cryptographers Ahto Buldas and Mart Saarepera based on their research on the security properties of cryptographic hash functions and hash-linking based digital timestamping. Their design goal was to remove the need for a trusted third party i.e. that the time of the timestamp should be verifiable independently from the issuer of the timestamp.

Construction of a hash calendar There are different algorithms that can be used to build a hash calendar and extract a relevant hash chain per second. The easiest is to imagine the calendar being built in two phases. In the first phase, the leaves are collected into complete binary trees, starting from left, and making each tree as large as possible.

In the second phase, the multiple unconnected trees are turned into a single tree by merging the roots of the initial trees, but this time starting from the right and adding new parent nodes as needed (red nodes).

The hash chains can then be extracted as from any hash tree. Since the hash calendar is built in a deterministic manner, the shape of the tree for any moment can be reconstructed knowing just the number of leaf nodes in the tree at that moment, which is one more than the number of seconds from 1970‑01‑01 00:00:00 UTC to that moment. Therefore, given the time when the calendar tree was created and a hash chain extracted from it, the time value corresponding to each leaf node can be computed.

Distributed hash calendar The Distributed hash calendar is a distributed network of hash calendar nodes. In order to ensure a high availability service, it is possible to have multiple calendars in different physical locations all of which communicate with each other to ensure that each calendar contains identical hash values. Ensuring that the calendars remain in agreement is a form of Byzantine fault tolerance To the right a 5 node calendar cluster is shown where each node communicates with every other node in the cluster, and there is no single point of failure. Although each node has a clock, the clock is not used for setting the time directly but as a metronome to ensure that the nodes “beat” at the same time.

Applications A five node hash calendar cluster is a component of Keyless Signature Infrastructure (KSI), each leaf in the hash calendar being the aggregate hash value of a globally distributed hash tree.

See also Cryptographic hash functions Linked Timestamping Hash list Hash table Merkle tree Provably secure cryptographic hash function

References

External links Merkle tree patent 4,309,569 – Explains both the hash tree structure and the use of it to handle many one-time signatures. Efficient Use of Merkle Trees – RSA labs explanation of the original purpose of Merkle trees: To handle many Lamport one-time signatures. https://web.archive.org/web/20110625054822/http://csrc.nist.gov/groups/ST/toolkit/secure_hashing.html

Illustrations

Hash calendar: Hash calendar after 31 seconds
Hash calendar after 31 seconds
Hash calendar: Sparse hash calendar with 1110 = 10112 leaves
Sparse hash calendar with 1110 = 10112 leaves
Hash calendar: Compact hash calendar with 1110 = 10112 leaves.
Compact hash calendar with 1110 = 10112 leaves.

Worked examples

Example 1 — a first encounter with Hash calendar

Start with the simplest possible case. Write down what Hash calendar claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Hash calendar before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Hash calendar ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Hash calendar

In research
Hash calendar appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Hash calendar in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Hash calendar is common in secondary-school and first-year university syllabi. It links to neighbouring topics Cryptographic hash functions, Error detection and correction, Hashing, so understanding it makes those chapters shorter.
In everyday life
Look for Hash calendar outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Hash calendar” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Hash calendar in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Hash calendar means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Hash calendar out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Hash calendar in simple terms?

A hash calendar is a data structure that is used to measure the passage of time by adding hash values to an append-only database with one hash value per elapsed second. It can be thought of special kind of Merkle or hash tree, with the property that at any given moment, the tree contains a leaf nod…

Why does Hash calendar matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Hash calendar?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Hash calendar.

Tags

  • Cryptographic hash functions
  • Error detection and correction
  • Hashing
  • Trees (data structures)

Keep exploring