I am relatively new to C # and encryption, so please bear with me. I am working on a business application (in C #, .NET 4.0, VS 2010) that stores quite a lot of data, and it should also be able to read quite large amounts of data and filter it to display it (mainly in a datagridview, sometimes just some calculations ...). In any case, the data should be encrypted and should be available for encryption and decryption of only parts of the data files (for writing and reading from random positions). Speed is important (the user does not have to wait for data to load and display), security is second. The computer on which it will work will be at least dual-core 2.0+ Ghz with a memory capacity of at least 2 GB.
I was thinking about using a relatively large (about 1 MB) xor pad, which will be calculated at runtime. I think a custom binary file design combined with xor should provide relatively good security and speed. But now I started thinking about using something stronger, if it is fast enough, perhaps AES (possibly .NET implementations: Rijindael or Serpent or Twofish). So what do you think is better? What do other companies / developers usually use in such cases? How fast / slow does AES work? I / O operations are already very slow, and I don’t know if AES will be even worse, or maybe not even be noticed.
Or can you have other ideas on how to quickly encrypt data?
ps I know that if someone successfully (!) debugs or disassembles the code, he can decrypt the data.
EDIT: I am only developing a custom application for the client, so I can’t get them to have the best equipment, I can recommend the best equipment. My software will consist mainly of three parts, POS, server and some kind of manager. If you think that my first idea (some kind of xor) is useless and that I should use the best encryption, try at least try to evaluate what equipment (minimal) will provide the desired results ("fast enough" = decryption should not affect to display data, for example, if it takes 1 s to download data and display it in a datagridview, then it should not take more than 1.2-1.3 s to decrypt.)