How to test an encryption against different attacks For the last while I have been reading up on cryptography and the different kinds of methods for encryption (public key, blocks, etc) and the attacks against them. This got me wondering how to implement or calculate how well an attack would work against a encryption of my own creation.

What are the kinds of attack channels that most encryption have to protect against and how do they do it? I've read into some such as timing and information leakage, but is there a complete list out there somewhere along with information depicting on how to test a cipher against these attacks?

How are attack vectors described once one is found? I saw that some older encryption schemes depict how secure they are based on their key length (such as RSA and the private/public key bitness), and others on how many rounds minimum before a cipher is not secure (like for AES). What do these values, specifically the rounds for block ciphers like AES, mean?

Basically if I create a block cipher, what kinds of attacks should/can I test, and how would I test these attacks, against my cipher?

Thanks.

P.S: If people could comment free encryption related books on this subject of testing of attack vectors I would appreciate it.
Cryptograph Network Security by William Stallings is pretty decent read I had to read in my crypto class. Each encryption method is different, the way you can test its effectiveness as a encryption method is by what they call avalanche effects , where by changing one bit in decryption it changes a lot of other bits throughout the process. 

Also I recommend checking out capture the flags online that have cryptography categories to use for real world practice. Just a simple google search will find you free sites online to practice, and you can even see write ups for the challenges to get better ideas how to attack the encrypted flag. 

Hope this helps, cryptography just takes some time then you will understand it really easy. Good luck