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

**Sanfoundry Global Education & Learning Series – 1000 Java Programs.**

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