개인적으로는 컴퓨터 전공이 배운 기초과정 외에 다음과 같은 기초지식을 갖추거나 중점적으로 익혀야 한다고 생각한다.
1, 고급 수학은 결코 쓸모가 없다. 선형 대수학은 매우 중요하다. 수론이 수천 년 동안 발전해 왔으며, 암호학은 처음으로 그것을 실용학과로 만들었다.
이산 수학: 수학 논리, 현대 대수학 (대수 구조, 군론);
3. 각종 고전 암호 알고리즘과 현대 암호 알고리즘을 익힙니다. 클래식 암호 알고리즘은 200 년 이상 된 알고리즘 프로그래밍 기능을 갖추고 있어야 하며, 현대 암호 알고리즘은 적어도 DES; 를 구현할 수 있어야 합니다. 해시 알고리즘의 원리와 기능을 마스터하십시오.
4. 대칭 암호 시스템과 비대칭 암호 시스템의 모델과 대표 알고리즘을 파악하고, 두 암호 시스템, 특히 비대칭 암호 시스템의 사용에 익숙하며, 디지털 서명, 암호화, 키 배포, 인증 등의 응용 프로그램 모델과 원리를 파악하고 PKI 시스템을 마스터합니다.
5. 네트워크 OSI 의 7 계층 구조와 5 계층 구조의 차이점을 알고 각 계층의 주요 프로토콜을 파악합니다.
6. 주요 프로토콜의 결함 (예: IP, TCP, UDP, ARP 등) 을 파악합니다. ), 이러한 프로토콜에 대한 보안 개선 프로토콜 또는 보안 개선 방안 파악, SSL 핸드셰이크 프로세스 파악
C 언어 사용에 매우 능숙합니다. C 언어 프로그램과 어셈블리 코드의 대응 관계를 파악하고, 시스템 스택 및 스택 할당을 알고, 변환 과정에서 흔히 볼 수 있는 보안 위험을 알고, 최소한 배열 넘침을 알고, 스스로 넘칠 수 있다는 것을 알고 있다.
8, 기본 시스템 보안 전략을 마스터하십시오;
이것들은 모두 기초지식의 기초이며, 비교적 이론에 편향되어 있다. 이론을 파악한 후 실천에 적용하는 것은 상당히 쉽다.