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.

Cryptpad: Zero Knowledge, Collaborative Real Time Editing

137 pointsby zerognowlover 8 years ago

17 comments

Ar-Curunirover 8 years ago
Why do people insist on using the term zero knowledge for simple semantically secure encryption?<p>Zero knowledge has a very specific meaning inside cryptography. Encrypting something does not make it &quot;zero knowledge&quot;.
评论 #12567395 未加载
评论 #12567165 未加载
评论 #12567138 未加载
评论 #12568460 未加载
williamsteinover 8 years ago
I know this is just a proof of concept demo, but the &quot;Code Pad&quot; mode is built on CodeMirror and becomes unusably slow as soon as the document gets at all large (few thousand lines) perhaps due to them not implemented a range of tricks for transforming CodeMirror&#x27;s content efficiently, like the setValueNoJump extension here <a href="https:&#x2F;&#x2F;github.com&#x2F;sagemathinc&#x2F;smc&#x2F;blob&#x2F;master&#x2F;src&#x2F;smc-webapp&#x2F;misc_page.coffee" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;sagemathinc&#x2F;smc&#x2F;blob&#x2F;master&#x2F;src&#x2F;smc-webap...</a><p>DISCLAIMER: I&#x27;ve spent way too much time on synchronized CodeMirror editing...
f47h3rover 8 years ago
Seeing as how the key is only being protected by TLS in the GET requests. You may want to tighten up your configuration. Also, patch the padding oracle vuln.<p>You scored an F on SSL Labs.<p><a href="https:&#x2F;&#x2F;www.ssllabs.com&#x2F;ssltest&#x2F;analyze.html?d=beta.cryptpad.fr" rel="nofollow">https:&#x2F;&#x2F;www.ssllabs.com&#x2F;ssltest&#x2F;analyze.html?d=beta.cryptpad...</a><p>I like the idea though! :)
teraflopover 8 years ago
Interesting idea.<p>I think it&#x27;s kind of odd to draw such a strong comparison to the Bitcoin blockchain. As the technical description [1] points out, the &quot;chainpad&quot; system discards most of the features and properties that make Bitcoin secure against malicious participants. That seems like a totally reasonable design decision for this application, but then describing it as a blockchain just adds confusion.<p>In fact, the design seems to bear a much closer resemblance to the Bayou optimistic concurrency algorithm [2], with operational transformation as the underlying data model, and some extra crypto on top.<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;xwiki-contrib&#x2F;chainpad" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;xwiki-contrib&#x2F;chainpad</a><p>[2]: <a href="http:&#x2F;&#x2F;www.cs.utexas.edu&#x2F;users&#x2F;lorenzo&#x2F;corsi&#x2F;cs380d&#x2F;papers&#x2F;p172-terry.pdf" rel="nofollow">http:&#x2F;&#x2F;www.cs.utexas.edu&#x2F;users&#x2F;lorenzo&#x2F;corsi&#x2F;cs380d&#x2F;papers&#x2F;p...</a>
celticninjaover 8 years ago
Sharing the URL is essentially giving out the key, so there is no digitally safe way to do this unless you encrypt the initial message, at which stage you are using encrypted communication anyway and the URL just leaves open an attack vector. Please correct me if I am wrong.
评论 #12566980 未加载
评论 #12566961 未加载
zmanianover 8 years ago
This is a cool implementation of this idea.<p>Proof of work is probably an acceptable solution for proof of concept but anonymous consensus isn&#x27;t needed for for collaborative document editing.<p>I&#x27;m still thinking if this use cases needs timestamping or atomic broadcast.If timestamping is sufficient, Google&#x27;s new roughtime protocol would do the job well. Otherwise you need a proper atomic broadcast algorithim like RAFT, Tendermint, Honeybadger etc.<p>Great work.
评论 #12568598 未加载
评论 #12566947 未加载
no_protocolover 8 years ago
I have often seen claims that doing any kind of crypto in (browser) javascript is dangerous. Does this fall into that trap?<p>How can I safely share the URL to someone without already using an established encrypted communication method?<p>Is the encryption key stored in my browser history?
评论 #12567443 未加载
评论 #12567341 未加载
franciscopover 8 years ago
I did something like this 3-4 years ago, it was in secretdiary.com (or .org), now with different people. The main difference is that the url fragment had two parts:<p><a href="http:&#x2F;&#x2F;secretdiary.org&#x2F;#IDENTIFIER-AUTOGENPASSWORD" rel="nofollow">http:&#x2F;&#x2F;secretdiary.org&#x2F;#IDENTIFIER-AUTOGENPASSWORD</a><p>The autogenerated password was optional (and random) and you could instead require a password. This way it was not GET-cached anywhere unless you wanted it to so you could share the actual URL anywhere with no fear of it leaking the secrets, or you could just share the whole thing similarly to cryptpad.fr<p>However it was one of my first projects so it didn&#x27;t even had https.
lyssaover 8 years ago
Neat. Using chainpad for the basis of my next project :-)
Diederichover 8 years ago
This is pretty cool, but I believe that you still have to trust cryptpad.fr to send you javascript that won&#x27;t leak.
评论 #12566819 未加载
eganistover 8 years ago
I&#x27;m looking forward to tptacek&#x27;s commentary here given his position on in-browser crypto.
beanerover 8 years ago
Isn&#x27;t access exposed to whatever medium you use to transmit the URL?
Canadaover 8 years ago
I&#x27;d love something similar, but implemented as a browser extension.
throwawayReplyover 8 years ago
Entering an invalid pad number redirects back to old.cryptpad.fr ?
t0mbstoneover 8 years ago
Ok, now this is cool.
mempkoover 8 years ago
why not just make it p2p via webrtc ?
mxuribeover 8 years ago
Seems cool.