2008/12/12 Matthew Toseland <toad at amphibian.dyndns.org>: > On Friday 12 December 2008 10:46, Ancoron Luciferis wrote: >> Matthew Toseland wrote: >> > On Thursday 11 December 2008 23:32, Ancoron Luciferis wrote: >> >> Matthew Toseland wrote: >> >>>>> Short answer: No. =) >> >>>>> >> >>>>> Long answer: >> >>>>> You need special JCE module (software) installed. >> >>>>> (e.g. http://www.via.com.tw/en/initiatives/padlock/via-jcp.jsp ) >> >>>>> >> >>>>> However, >> >>>>> the most-used crypto in freenet is Rijndael (original favour, not the >> >> NIST >> >>>> one), >> >>>>> no module provide this acceleration. >> >>>> AFAIK it's the same, but we generally use 256/256, whereas AES is >> >> actually >> >>>> 256/128. In any case there are export policy / key length issues until >> >> 1.6, >> >>>> and we don't require 1.6 yet. >> >>> This also applies to DSA/RSA. We use our own implementations because >> >> the JVM >> >>> versions are restricted in key length until 1.6. >> >>> >> >>> It would be possible to switch between the different impls by a config >> >> option, >> >>> if it was deemed worth the effort... >> >>>>> SHA-256, while do have some acceleration exist, are used sparsely. >> >>>> We use SHA-256 in many places. We use the JVM implementation. So if >> >> hardware >> >>>> acceleration is enabled, and if the relevant java library is included >> >>>> (manually, RTFM), SHA-256 will be accelerated. >> >>> The accelerator card doesn't do SHA-256 apparently, only SHA-1 and md5. >> >> We do >> >>> use md5 in some cases (e.g. the spider), but it's not widely used as it > is >> >>> known to be broken. >> >>>> The hardware RNG will also be useful. >> >> OK. I think I've got it. >> >> >> >> Many things that freenet uses goes beyond the capabilities of those >> >> accelerators. But some would get a benefit. Can someone give a hint >> >> how much the security related things that would be supported by such >> >> an accelerator (RNG, RSA/DSA) are used inside freenet? Or basically >> >> which action of the node implies which security related method? >> > >> > DSA would be a significant gain for connection setup and routing SSKs. >> > However, if you queue downloads, they will need to be FEC decoded. This > can >> > take 100% CPU for a longish period on slow hardware. >> >> So is there a detection of the used JVM? I mean if I just would use >> >> the 1.6 JVM does it imply that I'm able to choose the implementation >> >> using JCE system properties? >> > >> > No, we implement our own Rijndael (unfortunately the 256 bit block size > means >> > it's not compatible anyway), and our own DSA (which would be compatible > but >> > we don't use because of crypto export issues). >> >> If that is not the case could freenet be made configurable in such a way? >> > >> > It is possible yes. But it hasn't been done yet and I'm not sure it would > be a >> > big gain. We use SHA-256 a lot more than we use DSA. Profiling would be of >> > interest; if a large proportion of the node's runtime is spent doing DSA, > it >> > would be more interesting to implement such a toggle. >> >> I am purchasing such a board as I'm dealing with many parallel SSL >> >> connections and until now I have a server doing that work. But the >> >> power consumption of such a small Soekris box sounds really nice to >> >> me. And running freenet on such a small device along with my other >> >> things that have to run 24/7 would make my life much easier. So if >> >> freenet doesn't benefit a lot of those hardware accelerators I have to >> >> evaluate if it is using too much CPU for that box to not interfere my >> >> other things. >> >> >> >> Thanx and greetz, >> >> >> >> AncoL >> >> >> >> ------------------------------------------------------------------------ > > You seem to have sent this message twice. >> >> OK. Thanks for that info so far. >> >> I just searched a bit for other hardware accelerators a bit and came >> across the Sun UltraSparc T2 again. >> >> If SHA-256 and DSA are the most common tasks within freenet I think that
We spend 40x more time on Rijndael then on SHA-256. The time spend on SHA256 is nothing. >> would be the processor of choice for hardware acceleration, although it >> lacks a RNG or Rijndael of course. > > We also do a lot of Rijndael. Some hardware may be able to do Rijndael with a > 256 bit block size, I dunno exactly what operations the hardware actually > does. They do NIST standard AES. Our Rijndael use the blocksize not in the standard. > However, if you are actually queueing downloads, we also do a lot of FEC > decoding and encoding. Which can't be hardware accelerated. >> > http://wikis.sun.com/display/CryptoPerf/Using+the+UltraSPARC+cryptographic+accelerators >> >> 1 crypto processor per core, 8 cores per socket... *dreaming of speed* >> >> Anyway... freenet runs fine on Solaris, doesn't it? >> >> The further I read the more I'm into replacing my server. If freenet >> won't run on that little soekris box well I would need a server and if >> the UltraSparc T2 is really that good I would use it for my VPNs too. So >> no need for that extra board in the Soekris anymore. > > Niagara 2 is pretty awesome, I have to give them that. Especially as they've > opened the source code for the cores! > >> The good thing with Sun is that it is always concerning about Java. With >> anything they develop. So you also get the appropriate JCE provider. And >> as long as I have seen the Sun JVM is far more effective running under >> Solaris than on any other platform. I don't know why this is but all >> applications I have seen are always faster at the Java side when running >> on a Solaris system. >> >> What do think of that? >> >> Regards, >> >> AncoL