Достаточно выучить и понять: математические дисциплины (математический анализ, теория функций комплексного переменного, алгебра, геометрия, теория вероятностей, математическая статистика, математическая логика и дискретная математика), инженерные дисциплины (физика, аппаратные средства вычислительной техники, основы радиоэлектроники, сети связи и защита информации от технической разведки), дисциплины по программированию и вычислительной технике (информатика, языки программирования высокого уровня, методы программирования, язык ассемблера, операционные системы, СУБД и вычислительные сети), специальные дисциплины (криптография, и теоретические основы защиты компьютерных систем).

Это достаточно полный список. Но если вы хотите стать не простым хакером, а настоящим специалистом своего дела, то необходимо также знать:

криптографические методы в системах защиты государственной, конфиденциальной и коммерческой информации;
криптографические методы в системах защиты и дешифрования информации;
математические модели процессов, возникающих при защите информации;
методы решения вероятностных, статистических и алгоритмических задач криптографического анализа, синтеза шифросистем и криптографических протоколов;
методы построения математических моделей защищаемой информации, шифров и шифросистем;
методы преобразования информации в сетях различного типа;
обеспечение надежности функционирования аппаратуры шифрования и тестирования программно-аппаратных реализаций криптографических алгоритмов;
общая методология криптографического анализа и построения оценок криптографической стойкости шифросистем;
определение каналов утечки информации методом измерения и расчета параметров опасных сигналов;
основные положения теории электрических цепей;
основные принципы организации систем и сетей связи, особенности современных сетевых архитектур;
основные типы шифров, шифросистем, криптографических протоколов и систем защиты;
особенности разработки и сопровождения ПО для рабочих групп и парапрограммирование.