1 Introduction  
2 Quantum Computing for Cryptography: A Brief Overview  
2.1 Quantum Computing against Classical Schemes  
3 Side-Channel Analysis  
3.1 SCA in Classic World  
3.2 SCA in Quantum World  
4 Random Number Generators  
4.1 TRNGs: Designs and Physical Attacks  
4.2 Defense: Quantum Random Number Generators  
4.3 Attacks and Adversary Models  
5 Physically Unclonable Functions  
5.1 PUF Preliminaries: Pre-Quantum Era  
5.2 Defense: Innovative PUF architectures for Anti-counterfeiting and for Preventing Quantum Attacks  
5.3 Attacks against PUFs in Post Quantum Era  
6 General Conclusion and Lessons Learned