The concept of a secret sharing scheme is often attributed to Shamir (A. Shamir, How to share a secret, Comm. ACM, 22 (1979), pp. 612-613.) and Blakey (G. R. Blakey, Safeguarding cryptographic keys, in Proc. NCC, vol. 48, 1979, pp. 313-317.).

The overall idea is that some secret S is hidden from the participants who instead each receive a share si. If every participant decides to cooperate, they each submit their share to a combiner, who reconstructs S from the shares si.

Papers on secret sharing schemes often refer to real-world applications (such as bank safes). But I suspect, these are hypothetical "real-world" applications (i.e. the next floor down in the ivory tower) and very much doubt that they could actually name a bank (or any other company) that actually uses a secret sharing scheme. Question: What are some actual real-world examples?

Ideally, I would like an answer to contain: At company X they use secret sharing scheme Y to safeguard Z (see ABC for more details).

  • Can someone explain if secret sharing is similar to zero knowledge proofs? – Jared Updike Sep 4 '10 at 7:03
  • 4
    @Jared: I think your comment if off-topic, though it is interesting enough to be asked as a separate question. – M.S. Dousti Sep 19 '10 at 14:05

(Almost) Every modern HSM (hardware secure module, for cryptographic applications) uses Shamir secret sharing. So, no, secret sharing use is wide spread.

  • Great... so would it be correct to say cryptographic smart cards use secret sharing schemes? – Douglas S. Stones Sep 3 '10 at 13:00

The DNSSEC root key is shared in a 5-out-of-7 fashion; see, e.g., here:

Passwords are about the only form of authentication human beings can use, but the entropy of passwords remembered by humans is very low. Hence, dictionary attacks against passwords are very effective. Several different PAKE protocols can make network protocols safe against both passive and active attackers, but none of them can protect against server compromise - a dictionary attack can always be mounted against the authentication data the server holds.

Secret sharing is used in building secure authentication protocols with weak passwords where the leakage of a single server's data does not allow for dictionary attacks on the password. A simple form of this is used in the real world by Verisign: Server-Assisted Generation of a Strong Secret from a Password. More recent research in to the problem: Provably Secure Threshold Password-Authenticated Key Exchange.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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