1, advanced mathematics is by no means useless, linear algebra is very important, number theory has developed for thousands of years, and cryptography has turned it into a practical subject for the first time;
2. Discrete mathematics: mathematical logic, modern algebra (algebraic structure, group theory);
3. Master all kinds of classical cryptographic algorithms and modern cryptographic algorithms. Classical cryptographic algorithms should have the ability of algorithm programming with a history of more than 200 years, and modern cryptographic algorithms should at least realize DES;. Master the principle and function of hash algorithm;
4. Master the models and representative algorithms of symmetric cryptosystem and asymmetric cryptosystem, be familiar with the usage of two cryptosystems, especially asymmetric cryptosystem, master the models and principles of digital signature, encryption, key distribution, identity authentication and other applications, and master the PKI system.
5. Know the difference between the seven-layer structure and the five-layer structure of network OSI, and master the main protocols of each layer;
6. Master the defects of some major protocols (such as IP, TCP, UDP, ARP, etc. ), master the security improvement protocols or security improvement schemes of these protocols, and master the SSL handshake process;
7. Very proficient in using C language; Master the corresponding relationship between C language program and assembly code, know the allocation of system stack and heap, know the common security risks in the conversion process, at least know the array overflow, and be able to complete the overflow by yourself;
8, master the basic system security strategy.
These are the basis of basic knowledge, which is relatively theoretical. After mastering the theory, it is quite easy to apply it to practice. After learning these, you will naturally know what to know in the application.