Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Andrey Zhilov  
#1 Оставлено : 16 ноября 2020 г. 7:45:58(UTC)
Andrey Zhilov

Статус: Участник

Группы: Участники
Зарегистрирован: 09.06.2020(UTC)
Сообщений: 18
Российская Федерация
Откуда: Тюмень

Сказал(а) «Спасибо»: 4 раз
Здравствуйте, стоит задача генерировать последовательность сл. чисел. Имеется JSP, JavaCSP, CSP.
Ознакомившись с примерами, идущими в составе JavaCSP, нащёл следующий код, позволяющий это сделать:

Код:

public class RandomExample {

    private static final int BLOCK_SIZE = 1024;

    public static void main(String[] args) throws Exception {

        final byte[] array = new byte[BLOCK_SIZE];
        final SecureRandom rnd = SecureRandom.getInstance(
            JCP.CP_RANDOM, JCSP.PROVIDER_NAME);

        rnd.nextBytes(array);

        Encoder encoder = new Encoder();
        System.out.println("Random bytes: " +
            encoder.encode(array));
    }

}


В настройках CSP добавлено два типа ГСЧ аккорд и био. Аккорд поднял на самый верх в списке, т.к. в документации к CSP сказано, что будет первым использоваться сначала самый первый и т.д.
Вопрос в следующем: действительно-ли в данном случае будет использоваться ГСЧ аккорд для генерации последовательности сл. байт или необходимо при этом задать ещё дополнительные параметры в код?

Задаю подобный вопрос, т.к. ранее реализовывал подобный функционал, но только при помощи вызова нативных функций из CSP через Wincrypt Api. Так я для того чтобы использовался ГСЧ аккорд задавал дополнительный параметр контекста. Пример кода ниже.

Код:

int PP_USE_HARDWARE_RNG = 0x26;

Advapi32.INSTANCE.CryptSetProvParam(hProv.getValue(), Advapi32.PP_USE_HARDWARE_RNG, null, 0);

Отредактировано пользователем 16 ноября 2020 г. 7:47:00(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 16 ноября 2020 г. 11:54:23(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,006
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Здравствуйте.
В задании указанного параметра (PP_USE_HARDWARE_RNG) необходимости нет, если не нужно явно обратиться к ДСЧ.
Например, при генерации ключей будет выбран физический ДСЧ.
Также на данный момент CP_RANDOM в JCSP не поддерживает указанием PP_USE_HARDWARE_RNG, добавим в будущем.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
Andrey Zhilov оставлено 16.11.2020(UTC)
Offline Andrey Zhilov  
#3 Оставлено : 16 ноября 2020 г. 12:22:12(UTC)
Andrey Zhilov

Статус: Участник

Группы: Участники
Зарегистрирован: 09.06.2020(UTC)
Сообщений: 18
Российская Федерация
Откуда: Тюмень

Сказал(а) «Спасибо»: 4 раз
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте.
В задании указанного параметра (PP_USE_HARDWARE_RNG) необходимости нет, если не нужно явно обратиться к ДСЧ.
Например, при генерации ключей будет выбран физический ДСЧ.
Также на данный момент CP_RANDOM в JCSP не поддерживает указанием PP_USE_HARDWARE_RNG, добавим в будущем.


Как раз есть необходимость использовать именно ДСЧ Аккорд. Я верно понимаю, что если он доступен, установлен/настроен корректно и находится вверху списка в настройках CSP, то будет использован именно он как первый по приоритету для генерации случайных величин? В рамках глобальной задачи, где будут использованы сгенерированые сл. величины, данный момент очень важен, поэтому я пытаюсь для себя это понять и быть уверен. Возможно оставить в списке ДСЧ только его и убрать Био?
Offline Евгений Афанасьев  
#4 Оставлено : 16 ноября 2020 г. 14:26:05(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,006
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Автор: Andrey Zhilov Перейти к цитате

Как раз есть необходимость использовать именно ДСЧ Аккорд. Я верно понимаю, что если он доступен, установлен/настроен корректно и находится вверху списка в настройках CSP, то будет использован именно он как первый по приоритету для генерации случайных величин?
В рамках глобальной задачи, где будут использованы сгенерированые сл. величины, данный момент очень важен, поэтому я пытаюсь для себя это понять и быть уверен.

При определенных вызовах, например, при генерации долговременных ключей, будет использован упомянутый физический ДСЧ. В других случаях будет использован программный ДСЧ (например, при обращении к CP_RANDOM в JCSP).
Автор: Andrey Zhilov Перейти к цитате

Возможно оставить в списке ДСЧ только его и убрать Био?

Можно, но описанное выше поведение останется.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
Andrey Zhilov оставлено 16.11.2020(UTC)
Offline Andrey Zhilov  
#5 Оставлено : 16 ноября 2020 г. 14:35:22(UTC)
Andrey Zhilov

Статус: Участник

Группы: Участники
Зарегистрирован: 09.06.2020(UTC)
Сообщений: 18
Российская Федерация
Откуда: Тюмень

Сказал(а) «Спасибо»: 4 раз
Спасибо большое за ответ.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.