This is a java program generate pseudo-random numbers using Naor-Reingold Pseudo-Random function. Let p and l be prime numbers with l |p-1. Select an element g in Fp of multiplicative order l. Then for each n-dimensional vector a = (a1, …, an). Fa(x) = g^(a1^x1 * a2^x2 …).
Here is the source code of the Java Program to Implement Naor-Reingold Pseudo Random Function. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to generate a random numbers using Naor-Reingold Psedurandom Function import java.util.Random; public class Naor_Reingold { public static void main(String args[]) { int p=7, l=3, g=2, n=4, x; int []a = {1,2,2,1}; int []bin = new int[4]; Random random = new Random(); System.out.println("The Random numbers are: "); for(int i=0; i<10; i++) { x = random.nextInt(17); for(int j=3; j>=0; j--) { bin[j] = x%2; x/=2; } int mul = 1; for(int k=0; k<4; k++) mul *= Math.pow(a[k], bin[k]); System.out.println(Math.pow(g, mul)); } } }
Output:
$ javac Naor_Reingold.java $ java Naor_Reingold The Random numbers are: 2.0 4.0 2.0 2.0 2.0 16.0 4.0 16.0 16.0 4.0
Related posts:
Java Program to Implement ConcurrentSkipListMap API
Object Type Casting in Java
Giới thiệu Google Guice – Binding
So sánh ArrayList và LinkedList trong Java
Java Program to Implement Radix Sort
Làm thế nào tạo instance của một class mà không gọi từ khóa new?
Java Program to Find kth Largest Element in a Sequence
Giới thiệu HATEOAS
Spring AMQP in Reactive Applications
Runnable vs. Callable in Java
Java Program to Check Whether an Undirected Graph Contains a Eulerian Path
A Guide to TreeSet in Java
Spring REST API + OAuth2 + Angular (using the Spring Security OAuth legacy stack)
Custom Error Pages with Spring MVC
Java Program to Implement Queue using Two Stacks
HttpClient Basic Authentication
Jackson Annotation Examples
Comparing Arrays in Java
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Hướng dẫn sử dụng lớp Console trong java
Format ZonedDateTime to String
Java IO vs NIO
Introduction to Spring Data REST
Spring Boot - Exception Handling
Spring Boot - Twilio
Java Program to Implement a Binary Search Tree using Linked Lists
Java Program to Perform Insertion in a 2 Dimension K-D Tree
Java Program to Implement Hamiltonian Cycle Algorithm
Logout in an OAuth Secured Application
Functional Interfaces in Java 8
Spring Boot - Internationalization
Spring @RequestParam Annotation