Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шнайер - Прикладная криптография.doc
Скачиваний:
13
Добавлен:
01.05.2025
Размер:
10 Мб
Скачать
☆

17.5 Потоковые шифры, использующие fcsr

Потоковые шифры на базе FCSR не описаны в литературе, теория все еще слишком нова. Чтобы как-то "погнать зайца дальше" я предложу здесь несколько вариантов. Я охватываю два направления: предлагаю потоковые шифры на базе FCSR, которые совпадают с ранее предложенными генераторами LFSR, а также предлагаю потоковые шифры, использующие FCSR и LFSR одновременно. Безопасность первого варианта возможно может быть проанализирована с помощью 2-adic чисел, генераторы второго варианта не могут быть проанализированы с использованием алгебраических методов - возможно их анализ может быть выполнен только косвенным образом. В любом случае, важно выбирать LFSR и FCSR с взаимно простыми периодами.

Все придет потом. Сейчас мне неизвестно ни о реализации, ни об анализе ни одной из этих идей. Подождите несколько лет и просматривайте литературу, прежде чем вы поверите в одну из этих идей.

Каскадные генераторы

Существует два способа использовать FCSR в каскадных генераторах:

  • Каскад FCSR. Каскад Голлманна с FCSR вместо LFSR.

  • Каскад LFSR/FCSR. Каскад Голлманна с генераторами, меняющими LFSR на FCSR и наоборот.

Комбинированные генераторы fcsr

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

Другими генераторами, являющимися развитием аналогичных линий, являются:

  • Генератор четности FCSR. Все регистры - FCSR, а объединяющая функция - XOR.

  • Генератор четности LFSR/FCSR. Используется смесь LFSR и FCSR, объединяемых с помощью XOR.

  • Пороговый генератор FCSR. Все регистры - FCSR, а объединяющей функцией является мажорирование.

  • Пороговый генератор LFSR/FCSR. Используется смесь LFSR и FCSR, объединяемых с помощью мажорирования.

  • Суммирующий генератор FCSR. Все регистры - FCSR, а объединяющая функция - сложение с переносом.

  • Суммирующий генератор LFSR/FCSR. Используется смесь LFSR и FCSR, объединяемых с помощью сложения с переносом.

Табл. 17-1. Целые значения связи для FCSR с максимальным периодом

2

5

11

13

19

29

37

53

59

61

67

83

101

107

131

139

149

163

173

179

181

197

211

227

269

293

317

347

349

373

379

389

419

421

443

461

467

491

509

523

541

547

557

563

587

613

619

653

659

661

677

701

709

757

773

787

797

821

827

829

853

859

877

883

907

941

947

1019

1061

1091

1109

1117

1123

1171

1187

1213

1229

1237

1259

1277

1283

1291

1301

1307

1373

1381

1427

1451

1453

1483

1493

1499

1523

1531

1549

1571

1619

1621

1637

1667

1669

1693

1733

1741

1747

1787

1861

1867

1877

1901

1907

1931

1949

1973

1979

1987

1997

2027

2029

2053

2069

2083

2099

2131

2141

2213

2221

2237

2243

2267

2269

2293

2309

2333

2339

2357

2371

2389

2437

2459

2467

2477

2531

2539

2549

2557

2579

2621

2659

2677

2683

2693

2699

2707

2741

2789

2797

2803

2819

2837

2843

2851

2861

2909

2939

2957

2963

3011

3019

3037

3067

3083

3187

3203

3253

3299

3307

3323

3347

3371

3413

3461

3467

3469

3491

3499

3517

3533

3539

3547

3557

3571

3581

3613

3637

3643

3659

3677

3691

3701

3709

3733

3779

3797

3803

3851

3853

3877

3907

3917

3923

3931

3947

3989

4003

4013

4019

4021

4091

4093

4099

4133

4139

4157

4219

4229

4243

4253

4259

4261

4283

4349

4357

4363

4373

4397

4451

4483

4493

4507

4517

4547

4603

4621

4637

4691

4723

4787

4789

4813

4877

4933

4957

4973

4987

5003

5011

5051

5059

5077

5099

5107

5147

5171

5179

5189

5227

5261

5309

5333

5387

5443

5477

5483

5501

5507

5557

5563

5573

5651

5659

5683

5693

5701

5717

5741

5749

5779

5813

5827

5843

5851

5869

5923

5939

5987

6011

6029

6053

6067

6101

6131

6173

6197

6203

6211

6229

6269

6277

6299

6317

6323

6373

6379

6389

6397

6469

6491

6547

6619

6637

6653

6659

6691

6701

6709

6733

6763

6779

6781

6803

6827

6829

6869

6883

6899

6907

6917

6947

6949

6971

7013

7019

7027

7043

7069

7109

7187

7211

7219

7229

7237

7243

7253

7283

7307

7331

7349

7411

7451

7459

7477

7499

7507

7517

7523

7541

7547

7549

7573

7589

7603

7621

7643

7669

7691

7717

7757

7789

7829

7853

7877

7883

7901

7907

7933

7949

8053

8069

8093

8117

8123

8147

8171

8179

8219

8221

8237

8243

8269

8291

8293

8363

8387

8429

8443

8467

8539

8563

8573

8597

8627

8669

8677

8693

8699

8731

8741

8747

8803

8819

8821

8837

8861

8867

8923

8933

8963

8971

9011

9029

9059

9173

9181

9203

9221

9227

9283

9293

9323

9341

9349

9371

9397

9419

9421

9437

9467

9491

9533

9539

9547

9587

9613

9619

9629

9643

9661

9677

9733

9749

9803

9851

9859

9883

9901

9907

9923

9941

9949

Табл. 17-2. Отводные последовательности для FCSR максимальной длины

(32, 6, 3, 2)

(32, 7, 5, 2)

(32, 8, 3, 2)

(32, 13, 8, 2)

(32, 13, 12, 2)

(32, 15, 6, 2)

(32, 16, 2, 1)

(32, 16, 3, 2)

(32, 16, 5, 2)

(32, 17, 5, 2)

(32, 19, 2, 1)

(32, 19, 5, 2)

(32, 19, 9, 2)

(32, 19, 12, 2)

(32, 19, 17, 2)

(32, 20, 17, 2)

(32, 21, 9, 2)

(32, 21, 15, 2)

(32,23,8,2)

(32, 23, 21, 2)

(32, 25, 5, 2)

(32, 25, 12, 2)

(32,27,25,2)

(32, 29, 19, 2)

(32, 29, 20, 2)

(32, 30, 3, 2)

(32, 30, 7, 2)

(32, 31, 5, 2)

(32, 31, 9, 2)

(32, 31, 30, 2)

(64, 3, 2, 1)

(64,14,3,2)

(64,15,8,2)

(64, 17, 2, 1)

(64, 17, 9, 2)

(64, 17, 16, 2)

(64, 19, 2, 1)

(64, 19, 18, 2)

(64, 24, 19, 2)

(64, 25, 3, 2)

(64,25,4,2)

(64, 25, 1 1, 2)

(64, 25, 19, 2)

(64, 27, 5, 2)

(64, 27, 16, 2)

(64, 27, 22, 2)

(64, 28, 19, 2)

(64, 28, 25, 2)

(64, 29, 16, 2)

(64, 29, 28, 2)

(64, 31, 12, 2)

(64, 32, 21, 2)

(64, 35, 29, 2)

(64, 36, 7, 2)

(64, 37, 2, 1)

(64, 37, 1 1, 2)

(64,39,4,2)

(64, 39, 25, 2)

(64, 41, 5, 2)

(64, 41, 1 1, 2)

(64,41,27,2)

(64, 43, 21, 2)

(64, 43, 28, 2)

(64, 45, 28, 2)

(64, 45, 41, 2)

(64, 47, 5, 2)

(64, 47, 21, 2)

(64, 47, 30, 2)

(64, 49, 19, 2)

(64, 49, 20, 2)

(64,52,29,2)

(64,53,8,2)

(64, 53, 43, 2)

(64, 56, 39, 2)

(64, 56, 45, 2)

(64, 59, 5, 2)

(64, 59, 8, 2)

(64, 59, 28, 2)

(64, 59, 38, 2)

(64,59,44,2)

(64, 60, 49, 2)

(64, 61, 51, 2)

(64, 63, 8, 2)

(64, 63, 13, 2)

(64, 63, 61, 2)

(96, 15, 5. 2)

(96, 21, 17, 2)

(96, 25, 19, 2)

(96, 25, 20, 2)

(96, 29, 15, 2)

(96, 29, 17, 2)

(96, 30, 3, 2)

(96, 32, 21, 2)

(96, 32, 27, 2)

(96,33,5,2)

(96, 35, 17, 2)

(96, 35, 33, 2)

(96, 39, 21, 2)

(96,40,25,2)

(96, 41, 12, 2)

(96, 41, 27, 2)

(96, 41, 35, 2)

(96, 42, 35, 2)

(96, 43, 14, 2)

(96, 44, 23, 2)

(96, 45, 41, 2)

(96, 47, 36, 2)

(96, 49, 31, 2)

(96,51,30,2)

(96,53,17,2)

(96, 53, 19, 2)

(96, 53, 32, 2)

(96, 53, 48, 2)

(96, 54, 15, 2)

(96, 55, 44, 2)

(96, 55, 53, 2)

(96, 56, 9, 2)

(96,56,51,2)

(96, 57, 3, 2)

(96, 57, 17, 2)

(96, 57, 47, 2)

(96, 58, 35, 2)

(96, 59, 46, 2)

(96, 60, 29, 2)

(96, 60, 41, 2)

(96, 60, 45, 2)

(96, 61, 17, 2)

(96, 63, 20, 2)

(96, 65, 12, 2)

(96, 65, 39, 2)

(96, 65, 51, 2)

(96, 67, 5, 2)

(96, 67, 25, 2)

(96,67,34,2)

(96, 68, 5, 2)

(96, 68, 19, 2)

(96, 69, 17, 2)

(96,69,36,2)

(96, 70, 23, 2)

(96, 71, 6, 2)

(96, 71, 40, 2)

(96, 72, 53, 2)

(96, 73, 32, 2)

(96, 77, 27, 2)

(96, 77, 31, 2)

(96, 77, 32, 2)

(96, 77, 33, 2)

(96,77,71,2)

(96,78,39,2)

(96, 79, 4, 2)

(96, 81, 80, 2)

(96, 83, 14, 2)

(96, 83, 26, 2)

(96, 83, 54, 2)

(96, 83, 60, 2)

(96, 83, 65, 2)

(96, 83, 78, 2)

(96, 84, 65, 2)

(96, 85, 17, 2)

(96, 85, 31, 2)

(96, 85, 76, 2)

(96,85,79,2)

(96,86,39,2)

(96,86,71,2)

(96, 87, 9, 2)

(96, 87, 44, 2)

(96, 87, 45, 2)

(96, 88, 19, 2)

(96, 88, 35, 2)

(96, 88, 43, 2)

(96,88,79,2)

(96, 89, 35, 2)

(96, 89, 51, 2)

(96, 89, 69, 2)

(96, 89, 87, 2)

(96, 92, 51, 2)

(96,92,71,2)

(96, 93, 32, 2)

(96, 93, 39, 2)

(96, 94, 35, 2)

(96, 95, 4, 2)

(96, 95, 16, 2)

(96, 95, 32, 2)

(96, 95, 44, 2)

(96, 95, 45, 2)

(128, 5, 4, 2)

(128, 15, 4, 2)

(128, 21, 19, 2)

(128, 25, 5, 2)

(128, 26, 11, 2)

(128,27,25,2)

(128, 31, 25, 2)

(128, 33, 21, 2)

(128, 35, 22, 2)

(128, 37, 8, 2)

(128, 41, 12, 2)

(128, 42, 35, 2)

(128, 43, 25, 2)

(128,43,42,2)

(128,45,17,2)

(128,45,27,2)

(128, 49, 9, 2)

(128, 51, 9, 2)

(128, 54, 51, 2)

(128, 55, 45, 2)

(128, 56, 15, 2)

(128, 56, 19, 2)

(128,56,55,2)

(128, 57, 21, 2)

(128, 57, 37, 2)

(128, 59, 29, 2)

(128, 59, 49, 2)

(128, 60, 57, 2)

(128,61,9,2)

(128, 61, 23, 2)

(128, 61, 52, 2)

(128, 63, 40, 2)

(128, 63, 62, 2)

(128, 67, 41, 2)

(128, 69, 33, 2)

(128, 71, 53, 2)

(128, 72, 15, 2)

(128,72,41,2)

(128, 73, 5, 2)

(128, 73, 65, 2)

(128, 73, 67, 2)

(128, 75, 13, 2)

(128, 80, 39, 2)

(128,80,53,2)

(128, 81, 55, 2)

(128, 82, 67, 2)

(128, 83, 60, 2)

(128, 83, 61, 2)

(128, 83, 77, 2)

(128, 84, 15, 2)

(128, 84, 43, 2)

(128,85,63,2)

(128,87,57,2)

(128,87,81,2)

(128, 89, 81, 2)

(128, 90, 43, 2)

(128, 91, 9, 2)

(128, 91, 13, 2)

(128, 91, 44, 2)

(128, 92, 35, 2)

(128,95,94,2)

(128, 96, 23, 2)

(128, 96, 61, 2)

(128, 97, 25, 2)

(128, 97, 68, 2)

(128, 97, 72, 2)

(128,97,75,2)

(128, 99, 13, 2)

(128, 99, 14, 2)

(128, 99, 26, 2)

(128, 99, 54, 2)

(128, 99, 56, 2)

(128, 99, 78, 2)

(128, 100, 13, 2)

(128, 100, 39, 2)

(128,101,44,2)

(128, 101, 97, 2)

(128, 103, 46, 2)

(128, 104, 13, 2)

(128, 104, 19, 2)

(128, 104, 35, 2)

(128,105,7,2)

(128, 105, 11, 2)

(128, 105, 31, 2)

(128, 105, 48, 2)

(128, 107, 40, 2)

(128, 107, 62, 2)

(128, 107, 102, 2)

(128, 108, 35, 2)

(128,108,73,2)

(128,108,75,2)

(128,108,89,2)

(128, 109, 1 1, 2)

(128, 109, 108, 2)

(128, 1 10, 23, 2)

(128, Ill, 61, 2)

(128, 113, 59, 2)

(128, 114, 83, 2)

(128,115,73,2)

(128, 117, 105, 2)

(128, 119, 30, 2)

(128, 119, 101, 2)

(128, 120, 9, 2)

(128, 120, 27, 2)

(128,120,37,2)

(128, 120, 41, 2)

(128, 120, 79, 2)

(128, 120, 81, 2)

(128, 121, 5, 2)

(128, 121, 67, 2)

(128, 121, 95, 2)

(128, 121, 96, 2)

(128, 123, 40, 2)

(128,123,78,2)

(128, 124, 41, 2)

(128, 124, 69, 2)

(128, 124, 81, 2)

(128, 125, 33, 2)

(128, 125, 43, 2)

(128,127,121,2)

Рис. 17-5. Комбинированные генераторы.