Большие числа Javacard и модульная арифметика

Я новичок в экосистеме Javacard, и мне было интересно, каков консенсус в отношении (модульных) вычислений с большими числами в Javacard.

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

Я знаю о BigNumber и ds.ov2.bignat. Однако первый не предоставляет методов модульной арифметики.

ds.ov2.bignat кажется более актуальным, но я не был уверен, является ли это обычной практикой использования bignat или есть другая, более популярная библиотека.

Спасибо!выделенный текст


person Vasilios Mavroudis    schedule 06.08.2016    source источник


Ответы (2)


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

Но в целом JC — это не совсем платформа для создания собственной криптографии. На некоторых платформах есть расширения для конкретных поставщиков, позволяющие пользователям реализовывать собственную криптографию.

Однако смарт-карты полагаются на множество средств защиты от атак по сторонним каналам. Вам нужно очень хорошее понимание криптографии, чтобы реализовать что-либо для использования «в поле».

person Maarten Bodewes    schedule 07.08.2016
comment
Спасибо за ответ! Это исследовательский проект, поэтому мы не ожидаем, что наш апплет будет использоваться в коммерческих целях. Не могли бы вы немного рассказать об операциях RSA и о том, что вы имеете в виду, заменяя их вычислениями DH? Спасибо! :-) - person Vasilios Mavroudis; 08.08.2016
comment
Я думаю, что в разделе javacard уже есть несколько тем на эту тему. - person Paul Bastian; 08.08.2016

Отвечая на обновление, так как ландшафт изменился с момента последнего ответа:

Действительно, в то время не было библиотеки и предыдущие ответы были правильными.

Это отсутствие BigNumbers (и других базовых функций) очень раздражало, поэтому мы создали библиотеку сами.

Он реализует множество вещей, которые мне были нужны, но я не смог найти, в том числе BigNumbers. Для тех, кто столкнется с этим вопросом в будущем, вы можете скачать его здесь и посмотреть, поможет ли он вам: opencryptojc.org

person Vasilios Mavroudis    schedule 19.08.2017