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?
P.S: If people could comment free encryption related books on this subject of testing of attack vectors I would appreciate it.