Алгоритм Блюма-Блюма-Шуба (Blum Blum Shub, BBS)

Алгоритм представляет собой генератор псевдослучайных чисел, предложенный в 1986 году Ленор Блюм, Мануэлем Блюм и Майклом Шубом.

Алгоритм BBS выглядит так:

 

xn+1 = (xn)2 mod M,                                                                    (1.17)

 

где M=p∙q является произведением двух больших простых чисел p и q. На каждом шаге алгоритма выходные данные получаются из xn путем взятия либо бита четности, либо нескольких наименее значимых бит из xn .

Алгоритм Блюма-Блюма-Шуба рекомендуется использовать только в криптографии. Этот метод имеет необычно высокую стойкость, которая обеспечивается качеством генератора исходя из вычислительной сложности задачи факторизации чисел. Вычисление выходных бит настолько же трудно, как и факторизация M [1].

Генератор Блюма-Блюма-Шуба нецелесообразно использовать в разрабатываемом устройстве из-за низкого быстродействия алгоритма. В этом генераторе используются арифметические операции над большими числами, реализация которых на микроконтроллере займет значительное время.



Генератор, используемый в разрабатываемом устройстве

В устройстве будут использоваться случайные числа, полученные от аппаратуры микроконтроллера и преобразовываться в 384 – битное число с помощью хэш-функции SHA2-384. Это необходимо делать для улучшения равномерности распределения случайных чисел.

Для получения случайных чисел, в устройстве используются 32-х разрядный счетчик, на вход которого подается максимально возможная частота. При включении устройства, счетчик инициализируется значением сохраненным ранее в EEPROM. Поскольку операции шифрования файлов инициируются пользователем в случайные промежутки времени, в начале каждой такой операции содержимое счетчика подается на вход функции хэширования. Полученное значение используется в качестве сеансового ключа, а его младшие 32 бита служат для задания нового значения счетчика.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: