TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

CHURP: Dynamic-Committee Proactive Secret Sharing

95 pointsby momentmakerover 5 years ago

12 comments

nullcover 5 years ago
In industry &quot;secret sharing&quot; has essentially become a good indicator for snakeoil.<p>Virtually all applications people argue for the direct use of secret sharing make limited sense under plausible threat models. The implementations are usually flawed, almost universally containing at least certificational issues like timing&#x2F;emi channels (which are likely worse threats than the things they protect against in most cases) and it&#x27;s not that uncommon to find implementations which are broken in ways that completely undermine their security.<p>An intuitive way to understand why this is so is that secret sharing can be fairly seen as a generalization of one-time-pad encryption to support thesholds, and so the same (and worse) fragility that is widely understood to exist for OTP encryption exists for SSS.<p>To be useful secret sharing needs to take place as part of a greater protocol-- and it does, but then it doesn&#x27;t get called secret sharing-- it gets called whatever the greater thing is like &quot;multiparty threshold signatures&quot;.<p>Academic work on building blocks is useful, but its another thing to promote something as directly useful industrially.
评论 #20855613 未加载
dkostonover 5 years ago
Not sure if OP is the author but thanks for sharing. Secret management is a challenge for a lot of folks.<p>For the authors, here are a couple of items that made it hard for me to evaluate the project:<p>1. This project doesn&#x27;t build for me and some of the dependencies don&#x27;t exist or are private repos which prevent me from building the project (<a href="https:&#x2F;&#x2F;github.com&#x2F;CHURPTeam&#x2F;CHURP&#x2F;blob&#x2F;master&#x2F;src&#x2F;cmd&#x2F;bb.go#L5" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;CHURPTeam&#x2F;CHURP&#x2F;blob&#x2F;master&#x2F;src&#x2F;cmd&#x2F;bb.go...</a>)<p>2. It&#x27;s lacking godoc documentation which means it&#x27;s hard for me to quickly see how the API works. As such, some of the API methods seem less than useful.<p>For example, `(Optional) storeSecret(SK)`. What does &quot;optional&quot; mean? What&#x27;s the return value? What&#x27;s SK?<p>(Optional) retrieveSecret() -&gt; SK: What? I can only store a single secret? Without passing params to this, it seems so.<p>3. Project structure is not conventional (cmd&#x2F; inside src&#x2F;)<p>This may not seem like a big deal but am I really going to trust my secrets without someone who didn&#x27;t learn enough about go to use godoc and use a conventional project structure?<p>4. No tests<p>Again, doubtful I&#x27;m going to trust my secrets to a distributed network that&#x27;s not tested.
评论 #20854446 未加载
评论 #20853945 未加载
babyover 5 years ago
This is the right timing as I was looking into Secret Splitting&#x2F;Sharing schemes today. Does anybody know a good survey? It seems like there are several types of schemes:<p>* SSS: (threshold) Shamir Secret Sharing scheme. split a key into m-of-n keys.<p>* PSS: Proactive Secret Sharing. You can rotate the partial keys with new independent ones, and participants can delete their previous partial keys. This is good in case you someone gets their share compromised at some point.<p>* DCPSS: Dynamic-Committee Proactive Secret Sharing. This is CHURN. You can update the partial keys with a different m-of-n.<p>* VSS: Verifiable Secret Sharing. SSS doesn&#x27;t seem to hold when participants are not all honest. This one fixes that.<p>* PVSS: Publicly Verifiable Secret Sharing. ?<p>* APSS: Asynchronous Proactive Secret Sharing. ?<p>* SVSS: Strong Verifiable Secret Sharing. ?<p>* SVPSS: Strong Verifiable Proactive Secret Sharing. ?<p>There is also another branch of secret sharing called DKG for Distributed Key Generation . Participants collaborate to generate a key, and to asymmetrically decrypt a ciphertext or sign a message. At no point in time does the full private key exist.
评论 #20857062 未加载
评论 #20924132 未加载
评论 #20863798 未加载
jMylesover 5 years ago
I read the entire website, then spent a few minutes looking at the code, then a few minutes at the paper. So far, I don&#x27;t understand the exact nature of the proposition here.<p>Specifically: is there any difference in the collusion profile with CHURP vs. vanilla SSS? If this is not an area of dramatic distinction, then it&#x27;s a little hard to understand how this might end up underwriting key management technology.<p>Disclaimer: I work at NuCypher; our Ursula Character is probably reasonably regarded as occupying a similar space to this.
评论 #20855534 未加载
kangover 5 years ago
This paper relies on an assumption: At a given time, either there exists a blockchain, by virtue of which participants can talk freely or everyone knows everyone.
javertover 5 years ago
Almost every comment here is complaining about the code. This is based on a misconception. The &quot;product&quot; here is an academic paper, not the code.<p>The code is just a kind of sanity check for the ideas in the paper.<p>This is how academia works.<p>Please comment on the ideas embodied in the paper, not the quality of the code, which is almost entirely irrelevant at this point.<p>(No affiliation with the authors, here.)
评论 #20855667 未加载
评论 #20855346 未加载
jfindleyover 5 years ago
Even a very very cursory review of the code turns up giant red flags. As another comment noted it lacks tests, uses poor project structure and has private deps. Much more seriously, though, the encryption looks very very unsafe.<p>The encryption uses math&#x2F;rand. This alone clearly shows the authors have absolutely no clue what they are doing. The encryption itself is also very unsafe - loads of obvious side channel attacks and really far too many flaws to cover here. This isn&#x27;t just a few mistakes, this is a group of people who don&#x27;t know enough to do this safely. Sorry, this stuff is hard and this project doesn&#x27;t come close to meeting even the lowest bar.<p>1: <a href="https:&#x2F;&#x2F;github.com&#x2F;CHURPTeam&#x2F;CHURP&#x2F;blob&#x2F;master&#x2F;src&#x2F;utils&#x2F;encryption&#x2F;encryption.go" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;CHURPTeam&#x2F;CHURP&#x2F;blob&#x2F;master&#x2F;src&#x2F;utils&#x2F;enc...</a>
评论 #20854264 未加载
评论 #20854471 未加载
评论 #20854379 未加载
评论 #20854117 未加载
cjslepover 5 years ago
This plus ActivityPub and data that&#x27;s content addressed would be neat.
DoctorOetkerover 5 years ago
Theres a big difference between a brilliant protocol and a safe implementation. It&#x27;s clear from the other comments that the implementation does not live up to their expectation, but what about the theoretical algorithm?
EGregover 5 years ago
What&#x27;s wrong with just Shamir Secret Key Sharing?
earthtolazloover 5 years ago
When’s the ICO?
faeyanpiraatover 5 years ago
deleted (salty comment not adding anything to the discussion)
评论 #20854095 未加载
评论 #20854081 未加载
评论 #20854287 未加载