As a 10-year old, my introduction to cryptography was from reading a few novels by Jules Verne:
The Giant Raft or 800 Leagues On The Amazon
Mathias Sandorf
A Journey To The Centre of the Earth
After reading those, I played with the ciphers described there, i.e. I made and used the transposition grid from Mathias Sandorf and I used various Vigenère ciphers, like that from "800 Leagues On The Amazon".
Due to the interest generated by those stories, a few years later I read various textbooks about modern cryptography.
The book "Applied Cryptography" by Bruce Schneier is now somewhat old, so it is no longer up-to-date, but it is written in a style more accessible for newbies than most textbooks about cryptography, so I think that it would be adequate for a teenager who is good at mathematics.
When I was a kid and read 800 Leagues I proceeded to make a whole encryption IDE in Visual Basic 6 for a programming fair that year. I called it "Crypt+". It even had C++ dll based encryption engine plugins.
The funny thing is that I got that book as a prize from a previous year's programming fair.