Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

changes to help bindings #1

Open
max-mapper opened this issue Nov 12, 2015 · 4 comments
Open

changes to help bindings #1

max-mapper opened this issue Nov 12, 2015 · 4 comments

Comments

@max-mapper
Copy link

Hey, just wanted to mention that @mafintosh and I forked this recently to write some node bindings: https://github.com/maxogden/rabin/tree/master/src

We made some significant changes to the API to remove externs and make it memory safe across multiple instances, as well as moving most of the DEFINEs onto a struct so that they could be configurable at runtime. We didn't really touch the actual fingerprinting logic.

Relevant commits:

If you're interested in these I'd be happy to put together a PR and we could help maintain this with you.

@fd0
Copy link
Owner

fd0 commented Nov 13, 2015

Hey, thanks for contacting me! I'd be delighted if you could create a PR and we can also maintain it together.

Did you measure the performance impact of the define-to-struct change?

What do you use the chunker for in node?

Please be aware that for security-critical things there exists a fingerprinting attack that could help attackers guess what data has been processed by the chunker just by observing the size of the resulting chunks.

This was a feasibility study for my other project restic to see what throughput can be achieved with C code. For restic, I've added a generator to find custom polynomials to mitigate the fingerprinting attack. Are you also interested in that code?

@max-mapper
Copy link
Author

Did you measure the performance impact of the define-to-struct change?

Not yet, will do

What do you use the chunker for in node?

We work on an open source data sharing tool called Dat (http://dat-data.com), we're currently implementing a sort of distributed filesystem for it. The use case for this chunker for us is very straightforward, to generate smaller deltas between two versions of a file.

security-critical things

Thanks for mentioning, I noticed the polynomial generation in your Go implementation but wasn't sure why it was there, this makes sense now. We will only be working with public scientific datasets for a while so this isn't an issue for us now. However encrypted data is on our longer term roadmap.

Also, I noticed you contribute to HackRF, thanks for that. We were at CCC this summer and got the rad1o badges and had some fun writing hackrf bindings for node: https://www.npmjs.com/package/hackrf. I just got a ANT500 last week for it actually, I'm interested in messing around with WSPR and other packet radio use cases.

@fd0
Copy link
Owner

fd0 commented Jan 8, 2016

Hey, any news on the proposed PR?

@max-mapper
Copy link
Author

Sorry have been trying to get a release out of our project! We got some good feedback on an API improvement recently: dat-ecosystem-archive/rabin#4 Let me open an issue in that repo pointing here so we are less likely to forget

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants