What aspects of network information security requires knowledge Knowledge

I personally believe that, in addition to the basic courses studied in the computer program, should have or focus on understanding the following basic knowledge:

1, advanced mathematics is by no means useless, linear algebra is very important, the development of the theory of mathematics for thousands of years by the cryptography for the first time to make it a practical subject;

2, discrete mathematics: mathematical logic, recent algebra (algebraic structure, group theory);

3, mastery of a variety of classical cryptographic algorithms and modern cryptographic algorithms. (algebraic structure, group theory);

3, master a variety of classical cryptographic algorithms and modern cryptographic algorithms, classical cryptographic algorithms should have the ability to program the implementation of algorithms with a history of more than 200 years, modern cryptographic algorithms should be able to implement at least DES; master the principle and role of hash algorithms;

4, master the symmetric cryptographic system and asymmetric cryptographic systems, models and representative algorithms, familiar with the two cryptosystems, especially the use of asymmetric cryptosystems, master digital signatures, encryption, key distribution, authentication and other applications of the model and principles, Deffie-Hellman key exchange, and cryptographic algorithms in which the use of the PKI system;

5, know the difference between the network OSI seven-layer structure and five-layer structure, and master the The main protocols of each layer;

6, master some of the main protocols (such as IP, TCP, UDP, ARP, etc.) protocol defects, master these protocols to improve the security of the protocol or security improvement program, master the SSL handshake process;

7, very proficient in the use of the C language; master the C language program and the corresponding relationship between the assembly code, know the allocation of the system stack and heap. Know into the common security risks, at least know the array overflow and be able to complete the overflow themselves;

8, master the basic system security strategy.

These are the basics of the basics, and more theoretical things. After mastering the theory is quite easy to use in practice. After learning these naturally know what to understand in the application.