Java Program to Perform Encoding of a Message Using Matrix Multiplication

This is a java program to encrypt a matrix using a key. The key is hidden and kept secret and inverse copy of the key is provided to the receiver, with which he/she can decrypt the matrix. The operation performed is matrix multiplication.

Here is the source code of the Java Program to Perform Encoding of a Message Using Matrix Multiplication. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.

//This is sample program to encode any 2-dimensional matrix using matrix of elememts (i+j)
// for 2x2 encoding is done by multiplying given matrix with 0 1
//                                                           1 2
import java.util.Scanner;
 
public class Encoding_Matrix 
{
    public static void main(String args[])
    {
        int n;
        Scanner input = new Scanner(System.in);
        System.out.println("Enter the base of squared matrices");
        n = input.nextInt();
        int [][] a = new int[n][n];
        int [][] b = new int[n][n];
        int [][] c = new int[n][n];
        System.out.println("Enter the elements of matrix to be encoded: ");
        for(int i=0; i<n; i++)
            for(int j=0; j<n; j++)
                a[i][j] = input.nextInt();
 
        for(int i=0; i<n; i++)
            for(int j=0; j<n; j++)
                b[i][j] = i+j;
 
        for (int i = 0; i < n; i++) 
        {
            for (int j = 0; j < n; j++) 
            {
                for (int k = 0; k < n; k++)
                {	 
                    c[i][j] = c[i][j] + a[i][k] * b[k][j];
                }
            }
        }
 
        System.out.println("The Encoded matrix is:");
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<n; j++)
            {
                System.out.print(c[i][j] + " ");
            }
            System.out.println();
        }
        input.close();
    }
}

Output:

$ javac Encoding_Matrix.java
$ java Encoding_Matrix
 
Enter the base of squared matrices
2
Enter the elements of matrix to be encoded: 
1 5
3 9
The Encoded matrix is:
5 11 
9 21 
 
Enter the base of squared matrices
3
Enter the elements of matrix to be encoded: 
1 2 3
4 5 6
7 8 9
The Encoded matrix is:
8 14 20 
17 32 47 
26 50 74

Related posts:

Java Program to Search Number Using Divide and Conquer with the Aid of Fibonacci Numbers
Netflix Archaius with Various Database Configurations
A Comparison Between Spring and Spring Boot
Java Program for Topological Sorting in Graphs
Java Program to Represent Graph Using Adjacency List
Annotation trong Java 8
Using Spring @ResponseStatus to Set HTTP Status Code
Receive email using IMAP
Serialize Only Fields that meet a Custom Criteria with Jackson
Java Program to Represent Graph Using Linked List
Java Program to Implement Heap Sort Using Library Functions
Java Program to Implement Maximum Length Chain of Pairs
Tiêu chuẩn coding trong Java (Coding Standards)
A Guide to Spring Cloud Netflix – Hystrix
Hướng dẫn Java Design Pattern – Singleton
Using the Not Operator in If Conditions in Java
Find the Registered Spring Security Filters
Mệnh đề Switch-case trong java
Guide to java.util.concurrent.Future
Java Program to Implement ArrayDeque API
Giới thiệu Google Guice – Binding
Spring Boot: Customize the Jackson ObjectMapper
The Difference Between map() and flatMap()
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Java Program to Generate All Pairs of Subsets Whose Union Make the Set
Java Program to Perform Optimal Paranthesization Using Dynamic Programming
Jackson – Change Name of Field
Spring 5 Testing with @EnabledIf Annotation
Spring REST API + OAuth2 + Angular
An Introduction to ThreadLocal in Java
Java Program to Implement Shoelace Algorithm