Генерация пары ключей RSA в JavaScript

Как насчет просто

public static class Array {

    public static <T> T[] concat(T[]... arrays) {
        ArrayList<T> al = new ArrayList<T>();
        for (T[] one : arrays)
            Collections.addAll(al, one);
        return (T[]) al.toArray(arrays[0].clone());
    }
}

И просто сделать Array.concat(arr1, arr2). Поскольку arr1 и arr2 относятся к одному типу, это даст вам другой массив того же типа, содержащий оба массива.

11
задан Peter Mortensen 15 May 2010 в 22:01
поделиться

1 ответ

Для генерации пары ключей требуется надежный генератор случайных чисел (я не думаю, что у вас есть такой в ​​JavaScript) и довольно много вычислений (для проверки простоты). Затем, когда у вас есть пара, когда вы передаете свой открытый ключ на другую сторону, появляется возможность атаки «злоумышленник в середине», поскольку при передаче открытого ключа нет проверки целостности.

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

Вы можете получить аналогичный набор функций (зависимость от генератора случайных чисел, уязвимость к MITM, возможность создавать общий секрет для использования в качестве сеансового ключа), но с гораздо меньшими вычислениями, выполняя обмен ключами Диффи-Хеллмана.

Вам, вероятно, лучше выяснить, как настроить SSL на вашем сервере.

1
ответ дан 3 December 2019 в 12:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: