Who is supplying them?
China or Pakistan is my guess.
Short answer: Everybody.
China, Russia, and Iran all provide money, technology, hardware, raw materials, etc. South Korea provides money in the form of employing workers in an "enterprise zone". Even the US has been supplying them with oil, food, and a nuclear reactor. Any and all aid to this regime is fungible. Fungible aid finances their nuclear program.
It’s not out of the realm of possibility they in fact developed this technology independently.
Because it escapes your understanding doesn’t mean it escapes theirs. Most of their physicists are well educated in places like Europe, Russia and China.
Materials support need not happen to effect a nuclear program such as NK’s program.
Historically speaking we’ve seen other countries progress well past NK without outside support.
Who is supplying them?
A country that wants their weapons tested
China, without a doubt. The Chi-commies are playing us for fools. I hope Trump cuts their balls off with trade sanctions. And I really don’t give a rat’s a$$ about all the snowflakes on here, whose heads will explode if we cut off trade with China.
One theory I heard that makes sense to me is that they are in bed with the Iranians.
The treaty with Iran prohibits them from working on nuclear devices but leaves them free to develop missile technology. So they can farm out the nuke testing to the Norks, then do a little trading and Voila! Both nutbag regimes have nukes on missiles.