HesitationSnow, you don't seem to understand this very well ; ).
File I/O only reads/writes strings to files, nothing more, nothing less. You can do like file.write("Hello World") and then later read that line back.
Network just synchronizes integers from one machine to every other machine in the game. If you had done file.wriet("12345") and then read it back out and used S2I, you could synchronize it to the other players in the game.
With this, basic save/load is achieved.
BitInt is used to put the values together into a long sequence of bits. This compresses the information and speeds up synchronization. This also makes encryption and hashing possible. BitInt has nothing to do with File I/O or Network. BitInt, File I/O, and Network are 3 unrelated separate resources, but used together, they can do some pretty awesome things.
Have I said anything about encryption yet? Nop.
AES is used to encrypt a sequence of exactly 128 bits. It takes a 4x4 matrix of bytes, which is 128 bits. You can read bytes out of BitInt and fill up the matrix, and then from there, pass it into AES. AES also takes a cipher, which is another set of 128 bits. This is where encryption is done.
Encryption != data validation. If a player tampers with the data, there is no way to know. Encryption just makes it so that they don't know what they are doing ; p.
Hashing, like MD5, is a way to validate the data. MD5 takes a set of bits of any length and then generates a 128 bit hash (yet another BitInt). This hash is returned. The hash can then be appended to the data and written to a file. From here, upon load, hash can be retrieved, then a new hash can be generated using the original data. If the new hash doesn't match the hash that was stored, the data was tampered with. That is the use of hashes.
More than likely, you will not need encryption for your maps, just MD5, as 99.99% of players will not be able to get through the MD5, lol.