Принципиально, однофотонный источник можно понять очень просто.
Возьмём один атом, в котором есть один электрон. При переходе этого электрона с одного уровня на другой испускается ровно один фотон. Всё что нам нужно сделать - это быстренько возбудить такой атом и ждать, пока он испустит фотон. В теории всё.
На практике сначала вам нужно взять один атом. Ну это уже тоже лет 20 не проблема, атомы ловят в оптические или элетромагнитные ловушки по одному. Чуть позже освоили подход что вместо реально одного атома можно использовать одиночную неоднородность в каком-либо куске кристалла или полупроводника, или искуственно созданные объекты. Дальше встанет вопрос как этот одиночный фотон задетектировать: никто же не знает, куда он полетит. Если вас устраивает источник, где иногда будет получаться один фотон а иногда ничего - то можно, например, поместить этот атом (источник) в фокус линзы и какую-то часть фотонов вы соберете и задетектируете.
Чуть сложнее обстоит дело если вы хотите источник, выдающий один и только один фотон. Для этого используют достаточно хтрый процесс, в ходе кторого один синий фотон иногда распадается на два красных фотона, летящих в известных направлениях. Если вы зарегистрируете один из красных фотонов, вы в точности (в рамках приближений) будете значть, что в другом месте есть один и только один красный фотон.