рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Объединение линейных конгруэнтных генераторов

Объединение линейных конгруэнтных генераторов - раздел Компьютеры, Объединение блочных шифров Был Предпринят Ряд Попыток Объединения Линейных Конгруэнтных Генераторов [159...

Был предпринят ряд попыток объединения линейных конгруэнтных генераторов [1595, 941]. Криптографи­ческая безопасность полученных результатов не повышается, но они обладают более длинными периодами и лучшими характеристиками в некоторых статистических тестах . Для 32-битовых компьютеров можно исполь­зовать следующий генератор [941]:

static long si = 1 ; /* "long" должно быть 32-битовым целым. */ static long s2 = 1 ;

#define MODMULT(a,b,c,m,s) q = s/a; s = b*(s-a*q) - c*q; if (s<0) s+=m ;

/* MODMIJLT(a,b,c,nl,s) рассчитывает s*b mod m при условии, что m=a*b+c и 0 <= с < m. */

/* combinedLCG возвращает действительное псевдослучайное значение в диапазоне

* (0,1). Она объединяет линейные конгруэнтные генераторы с периодами

* 231-85 и 231-249, и ее период равен произведению этих двух простых чисел. */

double combinedLCG ( void ) {

long q ;

long z ;

MODMULT ( 53668, 40014, 12211, 2147483563L, si )

MODMULT ( 52774, 40692, 3791, 2147483399L, s2 )

z = si - s2 ;

if ( z < 1 )

z += 2147483562 ;

return z * 4.656613e-10 ; }

/* В общем случае перед использованием combinedLCG вызывается initLCG. */

void initLCG( long InitSl, long InitS2 )

{

si = InitSl;

s2 = InitS2;

Этот генератор работает при условии, что компьютер может представить все целые числа между -231+85 и 231-249. Переменные Sl и ,2 глобальны и содержат текущее состояние генератора. Перед первым вызовом их необходимо проинициализировать. Для переменной sx начальное значение должно лежать в диапазоне между 1


и 2147483562, для переменной ,2 - между 1 и 2147483398. Период генератора близок к 1018.

На 16-битовом компьютере используйте другой генератор :

static int si = 1 ; /* "int" должно быть 16-битовым целым. */ static int s2 = 1 ; static int s3 = 1 ;

#define MODMULT(a,b,c,m,s) q = s/a; s = b*(s-a*q) - c*q; if (s<0) s+=m ;

/* combinedLCG возвращает действительное псевдослучайное значение в диапазоне

* (0,1)- Она объединяет линейные конгруэнтные генераторы с периодами 215-405,

* 215-1041 и 215-1111, и ее период равен произведению этих трех простых чисел. */

double combinedLCG ( void ) {

long q ;

long z ;

MODMULT ( 206, 157, 21, 32363, si ) MODMULT ( 217, 146, 45, 31727, s2 ) MODMULT ( 222, 142, 133, 31657, s3 ) z = si - s2 ; if ( z < 1 )

z -= 32362 ; z += s3 ; if ( z < 1 )

z += 32362 ; return z * 3.0899e-5 ;

}

/* В общем случае перед использованием combinedLCG вызывается initLCG. */

void initLCG( long InitSl, long InitS2, long InitS3)

{

si = InitSl;

s2 = InitS2;

s3 = InitS3; }

Этот генератор работает при условии, что компьютер может представить все целые числа между -32363 и 32363. Переменные sh s2 и s3 глобальны и содержат текущее состояние генератора. Перед первым вызовом их необходимо проинициализировать. Для переменной Sl начальное значение должно лежать в диапазоне между 1 и 32362, для переменной s2 - между 1 и 31726, для переменной s3 - между 1 и 31656. Период генератора равен 1.6* 1013. Для обоих генераторов константа Ъ равна 0.

16.2 Сдвиговые регистры с линейной обратной связью

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

– Конец работы –

Эта тема принадлежит разделу:

Объединение блочных шифров

На сайте allrefs.net читайте: Объединение блочных шифров...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Объединение линейных конгруэнтных генераторов

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Объединение блочных шифров
Существует множество способов объединять блочные алгоритмы для получения новых алгоритмов. Стиму­лом создавать подобные схемы является желание повысить безопасность, не пробираясь через тернии созд

ЕСВ + OFB
Этот метод был разработан для шифрования нескольких сообщений фиксированной длины, например, бл о-ков диска [186, 188]. Используются два ключа: Ki и К2. Сначала для генерац

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

И потоковые
16.1 Линейные конгруэнтные генераторы Линейными конгруэнтными генераторамиявляютсягенераторы следующей формы Хп = (аХпЛ + Ъ) mod

Сдвиговый регистр с обратной связьюсостоит из двух частей: сдвигового регистра и функции обратной
связи(см. 15th). Сдвиговый регистр представляет собой последовательность битов . (Количество битов опреде­ляется длинойсдвигового регистра. Если длина равна п

Программная реализация LFSR
Программные реализации LFSR медленны и быстрее работают, если они написаны на ассемблере, а не на С. Одним из решений является использование параллельно 16 LFSR (или 32, в зависимости от длины слов

Линейная сложность
Анализировать потоковые шифры часто проще, чем блочные. Например, важным параметром, используе­мым для анализа генераторов на базе LFSR, является линейная сложность(linear complexi

Генератор Геффа
В этом генераторе потока ключей используются три LFSR, объединенные нелинейным образом (см. 10th) [606]. Два LFSR являются входами мультиплексора, а третий LFSR управляет выходом мультиплексора. Ес

Обобщенный генератор Геффа
Вместо выбора между двумя LFSR в этой схеме выбирается один из к LFSR, где к является степенью 2. Все­го используется к + 1 LFSR (см. 9th). Тактовая частота LFSR-1 должна быть

Генератор "стоп-пошел" (Stop-and-Go) Both-Piper
Этот генератор, показанный на 7th, использует выход одного LFSR для управления тактовой частотой друго­го LFSR [151]. Тактовый вход LFSR-2 управляется выходом LFSR-1, так что LFSR-2 может изменять

Пороговый генератор
Этот генератор пытается обойти проблемы безопасности, характерные для предыдущих генераторов, с п о-мощью переменного числа LFSR [277]. По теории при использовании большего количества LFSR вскрыть

Самопрореживающие (Self-Decimated) генераторы
Самопрореживающими называются генераторы, которые управляют собственной тактовой частотой . Было предложено два типа таких генераторов, один Рэйнером Рюппелом (Ranier Rueppel) (см. 3-й) [1359] друг

Каскад Голлманна
Каскад Голлманна (см. 0-й), описанный в [636, 309], представляет собой усиленную версию генератора "стоп-пошел". Он состоит из последовательности LFSR, тактирование каждого из которых упр

Прореживаемый генератор
Прореживаемый (shrinking) генератор [378] использует другую форму управления тактированием. Возьмем два LFSR: LFSR-1 и LFSR -2. Подадим тактовый импульс на оба регистра. Если выходом LFSR-1 являетс

Самопрореживаемый генератор
Самопрореживаемый (self-shrinking) генератор [1050] является вариантом прореживаемого генератора. Вме­сто двух LFSR используется пара битов одного LFSR. Протактируйте LFSR дважды. Если первым битом

Алгоритм М
Это название дано Кнутом [863]. Алгоритм представляет собой способ объединить несколько псевдослучай­ных потоков, увеличивая их безопасность. Выход одного генератора используется для выбора отстающ

Патенты и лицензии
SEAL запатентован [380]. По поводу лицензирования нужно обращаться к Управляющему по лицензиям IBM ( Director of Licenses, IBM Corporation, 500 Columbus Ave., Thurnwood, NY, 10594 ).

Комбинированные генераторы FCSR
Эти генераторы используют переменное количество LFSR и/или FCSR и множество функций, объединяю­щих регистры. Операция XOR разрушает алгебраические свойства FCSR, поэтому имеет смысл использовать эт

Каскад LFSR/FCSR с суммированием/четностью
По теории сложение с переносом разрушает алгебраические свойства LFSR, a XOR разрушает алгебраиче­ские свойства FCSR. Данный генератор объединяет эти идеи, используемые в перечисленных суммирующем

Генератор 1/р
Этот генератор был предложен и подвергнут криптоанализу в [193]. Если внутреннее состояние генератора в момент времени t равно х,, то хм=Ъх,то&р

Другие схемы
Еще один генератор основан на проблеме рюкзака (см. раздел 19.2) [1363]. CRYPTO-LEGGO небезопасен [301]. Джоан Дэймен (Joan Daemen) разработала SubStream, Jam и StepRightUp [402], но они слишком но

Генератор Blum-Micali
Безопасность этого генератора определяется трудностью вычисления дискретных логарифмов [200]. Пусть g - простое число, ар - еще одно простое число. Ключ х0 начинает

Blum, Blum, and Shub
Простейший и наиболее эффективный генератор, использующий сложностно-теоретический подход, в честь своих авторов называется Blum, Blum, and Shub. Мы сократим его название до BBS, хотя иногда его на

Рандомизированный потоковый шифр Диффи
Эта схема впервые была предложена Уитфилдом Диффи [1362]. Используется 2" случайных последователь­ностей. Ключ представляет собой случайную и-битовую строку. Для шифрования сообщения Ал

Рандомизированный потоковый шифр Маурера
Уели Маурер (Ueli Maurer) описал схему, основанную на выполнении XOR открытого текста с несколькими большими открытыми последовательностями случайных битов [1034, 1029, 1030]. Ключ является набором

Таблицы RAND
Давным давно, в 1955 году, когда компьютеры все еще были в новинку, Rand Corporation издала книгу, со­державшую миллион случайных цифр [1289]. Их метод описывался так: Случайные цифры

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

Использование таймера компьютера
Если вам нужен один случайный бит (или даже несколько), воспользуйтесь младшим значащим битом лю­бого регистра таймера. В системе UNIX он может быть не слишком случайным из-за различной возможной с

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

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги