# K out of N encryption

A friend just showed me how to combine padlocks to achieve a lock that opens when k out of n people turn their keys.

I was wondering if there was something similar for encryption; using n or fewer public keys encrypt a piece of data so it can only be unlocked if at least k out of n specific private keys are applied.

I've tried ideas of stacking normal public key encryptions, but without luck. I'm sure somebody must have done research on the topic, but I have no idea what such a thing is called. Maybe it's even widely accessible through standard encryption libraries?

-

## migrated from stackoverflow.comJun 4 '12 at 1:16

This question came from our site for professional and enthusiast programmers.

belongs on security.se imo –  Woot4Moo Jun 1 '12 at 19:39
crypto.SE is a better fit, but please don't cross-post. I hope it gets migrated. –  CodesInChaos Jun 1 '12 at 19:44
Do you mean security.se and crypto.se? Or stack exchange sites? I don't think this question has the level to be anything but hobbyist. That's what the encryption tag is for, right? –  Thomas Ahle Jun 1 '12 at 21:40
@ThomasAhle no, crypto is not for hobbyist questions (at least, not just for hobbyist questions), but it should be something that has to with programming in general (use of libraries/runtimes, encodings etc.), incorrect code or possibly (class level) design...this question does not contain any programming specific stuff –  owlstead Jun 1 '12 at 22:47
Out of curiosity, can you describe or link to the padlock trick you reference? (referring to physical padlocks, right?) –  Don Faulkner Jun 5 '12 at 18:44

The redundancy approach is actually exactly what is used by the suggested approaches.They avoid revealing any actual bytes, but if the message has entropy H in an K/N scheme, each person does get HK/N bits. –  Thomas Ahle Sep 3 at 9:47