PRG, PRF and PRP in Cryptography Last Updated : 09 Mar, 2023 Summarize Comments Improve Suggest changes Share Like Article Like Report Cryptography is the study and practice of techniques for secure communication in the presence of third parties called adversaries. It deals with developing and analyzing protocols that prevent malicious third parties from retrieving information being shared between two entities thereby following the various aspects of information security. In this article, we will see PRG, PRF, and PRP in Cryptography. Pseudo-Random Generator(PRG)Pseudo-Random Generator is used to encrypt long messages using short keys. It is used for COA security. In symmetric key encryption, we learned in perfect secrecy (one-time pad) that a computationally unbounded adversary cannot distinguish whether cipher text 'c' is an encryption of which plain text. Now due to the disadvantages of the one-time pad algorithm, we will modify it to make it more feasible. Suppose this scenario, Encryption using PRGWe are using a function G which takes an input of size l and returns an output of size L, where l << L Changes: Instead of the sender and receiver agreeing upon a key as large as the message, a uniformly random string will be used.The sender cannot simply XOR the message with the key, instead, the XOR operation will be done with the output of G.A computationally bounded adversary cannot distinguish between a uniformly random string {0, 1}L and G(s). Here, the function G is a pseudo-random generator, Pseudo-Random GeneratorRequirements : G should be an efficient algorithm.Expanded string L should be greater than l.The output behavior of G and a true random generator should be identical.Security Properties : It can be always distinguished by a brute force distinguisher.Instantiations : One-way functionRC-4Pseudo-Random Function(PRF)Pseudo-Random Function(PRF) is a deterministic algorithm with 2 inputs and a single output. Pseudo-Random FunctionIf we fix the key, it is then called a single-input keyed PRF, and is denoted as Fk: {0, 1}l -> {0, 1}L Notice that the size of the key and block can be different from the output. Pseudo-Random Permutation(PRP)Pseudo-Random Permutation(PRP) is a deterministic algorithm with 2 inputs and a single output. Pseudo-Random PermutationHere the relation between the mapping is a bijection. Relation between PRF and PRP : PRP has one-to-one and onto mapping, whereas PRF may or may not.A PRF that is not a bijection, can't be a PRP.If P is a secure PRP, then it is also a secure PRF given (size of key <= size of output).Both are used for CPA security. Comment More infoAdvertise with us A adicruelking Follow Improve Article Tags : Computer Networks Information-Security Similar Reads What is OSI Model? - Layers of OSI Model The OSI (Open Systems Interconnection) Model is a set of rules that explains how different computer systems communicate over a network. OSI Model was developed by the International Organization for Standardization (ISO). The OSI Model consists of 7 layers and each layer has specific functions and re 13 min read TCP/IP Model The TCP/IP model is a framework that is used to model the communication in a network. It is mainly a collection of network protocols and organization of these protocols in different layers for modeling the network.It has four layers, Application, Transport, Network/Internet and Network Access.While 7 min read Types of Network Topology Network topology refers to the arrangement of different elements like nodes, links, or devices in a computer network. Common types of network topology include bus, star, ring, mesh, and tree topologies, each with its advantages and disadvantages. In this article, we will discuss different types of n 12 min read Computer Network Tutorial A Computer Network is a system where two or more devices are linked together to share data, resources and information. These networks can range from simple setups, like connecting two devices in your home, to massive global systems, like the Internet. Below are the main components of a computer netw 7 min read Basics of Computer Networking A computer network is a collection of interconnected devices that share resources and information. These devices can include computers, servers, printers, and other hardware. Networks allow for the efficient exchange of data, enabling various applications such as email, file sharing, and internet br 14 min read Difference Between IPv4 and IPv6 IPv4 and IPv6 are two versions of the system that gives devices a unique address on the internet, known as the Internet Protocol (IP). IP is like a set of rules that helps devices send and receive data online. Since the internet is made up of billions of connected devices, each one needs its own spe 7 min read Domain Name System (DNS) DNS is a hierarchical and distributed naming system that translates domain names into IP addresses. When you type a domain name like www.geeksforgeeks.org into your browser, DNS ensures that the request reaches the correct server by resolving the domain to its corresponding IP address.Without DNS, w 8 min read Network Devices (Hub, Repeater, Bridge, Switch, Router, Gateways and Brouter) Network devices are physical devices that allow hardware on a computer network to communicate and interact with each other. Network devices like hubs, repeaters, bridges, switches, routers, gateways, and brouter help manage and direct data flow in a network. They ensure efficient communication betwe 9 min read RSA Algorithm in Cryptography RSA(Rivest-Shamir-Adleman) Algorithm is an asymmetric or public-key cryptography algorithm which means it works on two different keys: Public Key and Private Key. The Public Key is used for encryption and is known to everyone, while the Private Key is used for decryption and must be kept secret by t 13 min read Types of Computer Networks A computer network is a system that connects many independent computers to share information (data) and resources. The integration of computers and other different devices allows users to communicate more easily. It is a collection of two or more computer systems that are linked together. A network 11 min read Like