Coded caching in wireless networks and storage systems is studied. Caching based on two types of codes, index codes and fountain codes, is investigated in terms of network throughput and security. It is shown that index coding can significantly increase the multicast transmission rate in Information Centric Networks (ICN). Also, it is proved that index codes can be efficiently used to increase the multicasting transmission rate in cellular networks. It is proved that a simple graph coloring-based algorithm for index coding achieves order optimal capacity gains both for cellular and ICN networks. A new decentralized caching scheme based on Random Linear Fountain (RLF) codes is then introduced and it is shown that RLF-based coded caching performs close to optimal in terms of reducing the average number of transmission hops in wireless ad hoc and cellular networks. Therefore, considerable capacity gains can be achieved using RLF-based coded caching in wireless networks. It is shown that the RLF codes can significantly reduce the overcaching in wireless networks. Further, it is shown that using coded caching based on RLF codes we can achieve asymptotic perfect secrecy. In the limiting case of large number of coded files, the conditions of Shannon secrecy theorem are met and the problem can be modelled by a Shannon cipher system which is perfectly secure. Finally, a new storage policy based on RLF codes for storage systems along with a Private Information Retrieval (PIR) scheme for these systems is proposed and it is proved that perfect privacy and secrecy is achievable in these systems.