Hey everybody !
This is an SFML plugin I created for one of my project a week ago :
SSFML (Secure SFML).
It allows you to establish crypted connections between Sockets (for now only on TCP).
It's based off
SFML 2The process uses key encapsulation (
http://en.wikipedia.org/wiki/Key_encapsulation ), meaning that it first instantiates an RSA connection in order to transfer a symmetric algorithm key, and then all the data is crypted and transferred using a stream cipher (symmetric crypting algorithm)
Currently supported ciphers :
- RC4 (key size : 5-256 Bytes)
- AES (key size : 16/24/32 Bytes)
This plugin requires openssl as an additionnal dependency.
Git Repository :
https://github.com/Elyotna/SecureSFMLExamples of using this module are in the repository. You'll be pleased to notice that it really isn't much different from a regular SFML-network implementation. (meaning that it won't be hard to convert your unencrypted architecture to this one if you wish to)
I also tried to make the compile/install phase as easy as possible. For now, it uses cmake and can be installed easily on linux (read README.Txt).
Note : For now, this doesn't support authentification/signature along with certificates, hence not protecting the data against a man-in-the-middle attack.
Of course, it is still in its developpement phase, so... feedback would be really appreciated (bugs/suggestions/critics..). The most important "problem" is that I have no idea whether this is gonna work on a 32-bit machine or not.
So if you can, I would gladly appreciate tests made between 32-32, 32-64 and 64-32bit machines.
The only one I'm sure about is the 64-64bit case where this should work just fine.
Thank you in advance for your feedback!