Looking at encryption in Windows Phone 7

Though Windows Phone 7 is primarily aimed at consumers during the initial launch, Microsoft already has a strong focus on enterprise built within the the OS (Office, Sharepoint, Skydrive, remote management, etc.). This enterprise focus will no doubt become even more robust during further revisions to the OS, hopefully giving Microsoft that edge once again over RIM.

One area that is of interest would be security and encryption. Turns out WP7 supports quite a few forms of data protection algorithms, including the following:

  • AES
  • HMACSHA256
  • Rfc2898DeriveBytes
  • SHA1
  • SHA256

This doesn't mean that encryption is directly supported out-of-the-box for end users, but it does mean that developers have a wide assortment of tools to handle data encryption when writing their own software for the platform. Rob Tiffiany demonstrates this by writing an app to encode some simple data on the fly. His impression is that WP7 has a very solid base for security, which to bring it around again, is not only is good for business but for corporate environments. 

Daniel Rubino

Daniel Rubino is the Editor-in-chief of Windows Central, head reviewer, podcast co-host, and analyst. He has been here covering Microsoft since 2007 when this site was called WMExperts (and later Windows Phone Central). His interests include Windows, Microsoft Surface, laptops, next-gen computing, and for some reason, watches. Before all this tech stuff, he worked on a Ph.D. in linguistics and ran the projectors at movie theaters, which has done absolutely nothing for his career.

  • Encryption is important, usually too important to leave to the underlying OS.
  • Hi, Thanks for this useful blog. But, I have a problem. My earlier application was made in C,C++ for I-phone and the similar application i am importing in WP7 :) But the problem is, in C,C++., i have used RSA cryptography terms and here in WP7, these are not supported. I only want to use the same algorithms as used in C,C++. I am stuck in between the project. Kindly help me out of this providing me a solution. I will be really thankful to you. B/R,
  • If RSA is truly not available in the System.Security.Cryptography namespace, you could code your own RSA implementation.
  • This is what i am doing. As the C,C++ libraries were coded by some other developer, so its becoming lengthier to code again for RSA in C#. Is there any other solution which we can think of other than this ?
  • Last November I set out to work on an RSA implementation in C# for Silverlight in the browser. I've been actively updating it as an open source project on Codeplex. As it turns out, it also works perfectly on WP7. :) http://scrypt.codeplex.comAs of today thanks to community contribution it also supports Blob based key storage and retrieval in addition to parameters and xml variations. The complete source is there and it's completely open and free both personal and commercial so you're welcome to use it in your corporate apps.Thanks,Dustin