Java Program to Perform Message Encoding 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.

  1. //This is sample program to encode any 2-dimensional matrix using matrix of elememts (i+j)
  2. // for 2x2 encoding is done by multiplying given matrix with 0 1
  3. //                                                           1 2
  4. import java.util.Scanner;
  5.  
  6. public class Encoding_Matrix 
  7. {
  8.     public static void main(String args[])
  9.     {
  10.         int n;
  11.         Scanner input = new Scanner(System.in);
  12.         System.out.println("Enter the base of squared matrices");
  13.         n = input.nextInt();
  14.         int [][] a = new int[n][n];
  15.         int [][] b = new int[n][n];
  16.         int [][] c = new int[n][n];
  17.         System.out.println("Enter the elements of matrix to be encoded: ");
  18.         for(int i=0; i<n; i++)
  19.             for(int j=0; j<n; j++)
  20.                 a[i][j] = input.nextInt();
  21.  
  22.         for(int i=0; i<n; i++)
  23.             for(int j=0; j<n; j++)
  24.                 b[i][j] = i+j;
  25.  
  26.         for (int i = 0; i < n; i++) 
  27.         {
  28.             for (int j = 0; j < n; j++) 
  29.             {
  30.                 for (int k = 0; k < n; k++)
  31.                 {	 
  32.                     c[i][j] = c[i][j] + a[i][k] * b[k][j];
  33.                 }
  34.             }
  35.         }
  36.  
  37.         System.out.println("The Encoded matrix is:");
  38.         for(int i=0; i<n; i++)
  39.         {
  40.             for(int j=0; j<n; j++)
  41.             {
  42.                 System.out.print(c[i][j] + " ");
  43.             }
  44.             System.out.println();
  45.         }
  46.         input.close();
  47.     }
  48. }

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

Sanfoundry Global Education & Learning Series – 1000 Java Programs.

advertisement
advertisement

Here’s the list of Best Books in Java Programming, Data Structures and Algorithms.

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.