XNA Framework wish list
XNA Framework wish list.
-System.Net.Sockets
oSocket (Tcp & UDP transport)
oDo not really need support for TcpClient, TcpListener and UdpClient
-System.Security.Cryptography
oRijndael
oMD5
-System.IO
oFileStream
oStreamWriter / Reader
-System.Text
oStringBuilder
oFull UniCode support
-System.Threading
-System.Diagnostic
Thanks,
Roger Larsen
Thanks Shawn,
Crypto is probably not that important, as the algorithms are publicly available, I just hate to have to implement them manually :)
Does the Xbox have a machine key which can be used for encrypting / decrypting (like the windows platform does)?
Roger Larsen
None of the underlying crypto mechanisms are available through the XNA Framework on the Xbox 360 due to various security reasons. System.Net also won't be available on the Xbox 360.
It's highly unlikely that crypto will ever be exposed on the Xbox 360 but network access is something that we are "aggressively" investigating for our next release. We can't promise anything on this front though.
aL
Shawn, can you check if the 360 framework supports the Cryptography namespace, and if so, which cipher impls, if not all of them? As you point out the CF does, but that doesn't necessarily mean the 360 RT will.
I'm rapidly approaching the point where if this won't be provided, I need to build it for myself. It would be great to know before the 11th as I hope to have this code up and running by then. ;-)
Thanks - Ryan
First question: What good will encryption do you on Xbox, if you're not getting networking?
Second: if you just need encryption to, say, keep prying eyes out of your assets, the something like X-TEA should fit the bill. It's extremely simple to implement, and has withstood several years of scrutiny so far. Yes, you have to implement it yourself, but source is available, and it's very simple.
Before I answer your question, first some background. As you may know, XNA networking is coming on the 360; it just won't be out for the first release. In the meantime, wouldn't it be great to get started on multiplayer networking games on Windows in a way that will be source-compatible with the XNA networking to come? After all, you can always test network multiplayer on the PC only and can still test everything else on the 360 in the mean time.
As such, I'm working on a networking middleware component that incorporates a plugin driver architecture. The first network plugin is implemented with System.Net. Once a beta of the new cross-platform XNA network api is available, I will implement a second plugin for that, et Voila! network multiplayer games leveraging these components will start working on the 360 as well, just as they have been on Windows. At least that's the thoery, I've had to obviously make some assumptions about how network multiplayer would work on the 360 for XNA (lobbying, etc).
So now that that is out of the way...
First Answer: One of the few small nuggets remaining to be implemented in this middleware is, you guessed it, the crypto plugin. Before I can implement it I need to know how it will work. If XNA Framework v1 is going to have the Cryptography namespace, it will save me a lot of time, and I can begin my implementation of it immediately using that. If it will not, I can still begin my implmentation immediately, but it will obviously be a larger, more involved project (which takes more man-days). But until I know whether it's in or not, I can't really start (at least not without potentially duplicating effort).
Thanks for pointer to X-TEA, if it turns out I do in fact need to roll our own, I'll take a look at it. I've written a few ciphers myself in fact, one of which is in Java which would be a fairly straight forward port to C#. So I'm not concerned about having to do this; I'm just trying to plan my work to see *if* I need to do it.
- Ryan