> - The performance of the RSACryptoServiceProvider seems abysmal. Just > starting up and reading a key using FromXmlString is really really slow, > like orders of magnitude slower than under XP/.NET.
Reading a keypair shouldn't be so slow. However generating keypairs is VERY slow. There's a design bug in MS.NET crypto. Each time you create an RSA object (without naming a container in CspParameters) a new keypair is generated (which is really BAD when you do crypto in a server application). For compatibility reason this behaviour is also present in Mono but is delayed until you actually use the keypair (so it should not affect code that import a keypair before using it) __unless__ you provide a keysize in the constructor [*]. * I'll probably change this behaviour as it's not really required. > Any ideas why this might be? Sure :-) Mono has a 100% C# implementation for all it's cryptography (well except RNG). MS use the default CSP (unmanaged) to provide much of it's crypto. This means that: - unmanaged code is (most of the time) faster than managed code - even more when we're talking about heavily optimized unamanaged code (like MS CSP); - the performance of the compiler and the JIT are much more important for Mono than MS (which means that the crypto performance will get better - even without any further optimization ;-). But there are many advantage in having a managed implementation. > Is there a profiler for Mono ? Yes , however I've never used it (someone else may help you with this). However I did use the "Community Edition of DevPartner Profiler" (with VS.NET) which is excellent. If you're interested in optimizing the math part (where the RSA implementation needs help) send an email to Ben Mauer ([EMAIL PROTECTED]). He is doing optimizations on the BigInteger class (well last time we talked it looked more like a total rewrite). So asymmetric performance should improve but will never match the performance of hand-tuned implementation (like MS). You can find more information @ http://www.go-mono.com/crypto.html. Sebastien Pouliot Security Architect, Motus Technologies, http://www.motus.com/ work: [EMAIL PROTECTED] home: [EMAIL PROTECTED] _______________________________________________ Mono-list maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-list
