Как напечатать значения каждого столбца в матрице? - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть вложенный цикл for, где я вызываю несколько разных методов. Эти методы необходимо вызывать в последовательности, которую я задал, когда пытаюсь работать с таблицами Rainbow.

Итак, у меня есть цикл for, который генерирует 3-байтовый ключ - это столбец 0 Внутри цикла for у меня есть еще один цикл for, который шифрует некоторые данные с помощью AES, а затем ограничивает вывод 3 байтами - AES-128 требует как минимум 16-байтовых ключей, поэтому последние 13 байтов равны 0

Мне нужна помощь НЕ в криптологии, а в том, как печатать каждый столбец в каждой строке с настройкой циклов for.

Чего я хочу добиться, так это подсчитать количество уникальных значений в каждом столбце.

    DecimalFormat df = new DecimalFormat(".##");
    for (int i = 0; i < 6; i++) {
        gKey(); // generates random 3 bytes

        for (int j = 1; j < 6; j++) {
            aesResult = aes.encrypt(keySet); // encrypts with 16 bytes keya and fixed plaintext, where the key's first 3 bytes are randomly generated the first time
            reduction(aesResult, j); // restricting the output

            System.out.println("Covered points "+ kStore); // kStore is a HashSet - I chose to use that as it is not allowed to have duplicates in HashSet. I basically store the keys in this HashSet in the reduction method
        }

EDIT: По сути, я спрашиваю, как я могу напечатать все строки в каждом столбце, а не каждый столбец в каждой строке. Извините за неправильную формулировку

Пример Входной сигнал:

byte[] keySet= { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
byte plaintext[] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, (byte) 0x88, (byte) 0x99, (byte) 0xaa, (byte) 0xbb, (byte) 0xcc, (byte) 0xdd, (byte) 0xee, (byte) 0xff };

1 Ответ

0 голосов
/ 12 ноября 2018

Этот код записывает строки матрицы в столбцы. Читать каждый столбец и писать в строке матрицы.

int [][] arr=new int[6][6];
for(int i = 0; i < arr.length; i++) {
   for(int j = 0; j < arr.length; j++) {
      System.out.print(arr[j][i]+" "); 
    }
   System.out.println(); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...