If you want to design hardware, for example, a new microprocessor, network card, or gaming controller, you'll need an extensive background in math and physics. On the other hand, computer graphics is concerned with GUIs, image processing, 3D modelling, etc. To be honest, I don't find graphic design particularly interesting; as a programmer you'll be applying trig and calculus to problems like scaling, rotating, filtering and algorithm design, rather than working with easy software packages, like Photoshop or Maya. So if you picture yourself rendering some sports car in 3D Studio MAX using premade tools and templates, or you like graphics as an art form, you might want to major in digital media instead. But cryptography sounds good to me.