We are developing a private messaging system that uses freenet which is
different to frost and nim.  We require that the sender and receiver
know the filename independently if they share a secret.  The sender will
not have their own node - it will be a once off transaction that they
perform by getting another freenet node - any node they know about - to
do it for them.   The receiver enlists the help of any number of freenet
nodes to retrieve the message for him/her.  The content of the message
is not set beforehand.

The only type of key which can be used so far for this kind of system is
KSK, since the keypairs used in SSKs are randomly generated.  KSKs are
no good because if one of the nodes retrieving on behalf of the receiver
is evil, they can insert under the KSK and block the message.

So we were thinking of creating our own type of key, a deterministically
generated SSK which generates the keypair using the same mechanism KSKs
use to get their key pairs.  This way, the public key can be known in
advance since both parties can generate it from the secret.  Of course,
an evil person can still insert under the key if they guess the secret,
but if we make this hard, then there is less risk.

The other alternative is to change our freenet nodes' FCP handling so
that KSKs can be requested in their actual freenet form (public key hash
and so on) instead of in their human friendly version, since this
achieves the same thing.  The advantage of SSK though is that we can use
the same secret and just different descriptive strings if we want to
have more than one message from the one sender.

This is a university project that is due in 6 weeks.  I've started
looking at the relevant freenet code and I've read what documentation I
could get my hands on, but I really need to know some things from the
outset, in case I waste weeks of my time on something that can't be
done.

Namely, can you see any problems with the modifications I've proposed -
either in terms of realizability or in terms of affecting the network.
(Only the nodes we use for receiving will support these modifications.)

Also, if you could tell me the algorithm you are using for the
deterministic key generation so I can guage the risk of brute forcing
the secret.. (You are probably thinking I can find this out myself by
looking at the code, and yes I could but I'm worried it might take me
awhile or I might not understand because I haven't done any
cryptography, I've just done some layperson reading.)

I look forward to your reply and thank you in advance for your time.


Cheers,
Yosuke


_______________________________________________
Support mailing list
[EMAIL PROTECTED]
http://news.gmane.org/gmane.network.freenet.support
Unsubscribe at http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/support
Or mailto:[EMAIL PROTECTED]

Reply via email to