ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.06.2021

Просмотров: 3547

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

426

     

Глава

 18. 

Криптографическая

 

защита

 

 

 
void GOST::Enc::ProcessAndXorBlock(const byte *inBlock, const 
byte *xorBlock, byte *outBlock) const 

  word32 n1, n2, t; 
  Block::Get(inBlock)(n1)(n2); 
 
  for (unsigned int i=0; i<3; i++) 
  { 
    n2 ^= f(n1+key[0]); 
    n1 ^= f(n2+key[1]); 
    n2 ^= f(n1+key[2]); 
    n1 ^= f(n2+key[3]); 
    n2 ^= f(n1+key[4]); 
    n1 ^= f(n2+key[5]); 
    n2 ^= f(n1+key[6]); 
    n1 ^= f(n2+key[7]); 
  } 
 
  n2 ^= f(n1+key[7]); 
  n1 ^= f(n2+key[6]); 
  n2 ^= f(n1+key[5]); 
  n1 ^= f(n2+key[4]); 
  n2 ^= f(n1+key[3]); 
  n1 ^= f(n2+key[2]); 
  n2 ^= f(n1+key[1]); 
  n1 ^= f(n2+key[0]); 
 
  Block::Put(xorBlock, outBlock)(n2)(n1); 

 
void GOST::Dec::ProcessAndXorBlock(const byte *inBlock, const 
byte *xorBlock, byte *outBlock) const 

  word32 n1, n2, t; 
 
  Block::Get(inBlock)(n1)(n2); 

Окончание

 

листинга

 18.5

 

  n2 ^= f(n1+key[0]); 
  n1 ^= f(n2+key[1]); 
  n2 ^= f(n1+key[2]); 


background image

Стандарт

 

криптографического

 

преобразования

 

данных

 

ГОСТ

 28147-89     

427

 

  n1 ^= f(n2+key[3]); 
  n2 ^= f(n1+key[4]); 
  n1 ^= f(n2+key[5]); 
  n2 ^= f(n1+key[6]); 
  n1 ^= f(n2+key[7]); 
 
  for (unsigned int i=0; i<3; i++) 
  { 
    n2 ^= f(n1+key[7]); 
    n1 ^= f(n2+key[6]); 
    n2 ^= f(n1+key[5]); 
    n1 ^= f(n2+key[4]); 
    n2 ^= f(n1+key[3]); 
    n1 ^= f(n2+key[2]); 
    n2 ^= f(n1+key[1]); 
    n1 ^= f(n2+key[0]); 
  } 
 
  Block::Put(xorBlock, outBlock)(n2)(n1); 

 
NAMESPACE_END 

Листинг

 18.6.

 

Заголовочный

 

файл

 gost.h,  

используемый

 

при

 

реализации

 

алгоритма

 

ГОСТ

 

на

  

языке

 C++ 

в

 

виде

 

библиотечного

 

класса

 (

библиотека

 Crypto++ 5.1) 

#ifndef CRYPTOPP_GOST_H 
#define CRYPTOPP_GOST_H 
 
#include "seckey.h" 
#include "secblock.h" 
 
NAMESPACE_BEGIN(CryptoPP) 
 
struct GOST_Info : public FixedBlockSize<8>,  
                   public FixedKeyLength<32> 
{ static const char *StaticAlgorithmName() {return "GOST";}}; 
 

Окончание

 

листинга

 18.6

 


  class Base : public BlockCipherBaseTemplate<GOST_Info> 


background image

428

     

Глава

 18. 

Криптографическая

 

защита

 

 

  { 
  public: 
    void UncheckedSetKey(CipherDir direction,  
                     const byte *userKey, unsigned int length); 
  protected: 
    static void PrecalculateSTable(); 
 
    static const byte sBox[8][16]; 
    static bool sTableCalculated; 
    static word32 sTable[4][256]; 
 
    FixedSizeSecBlock<word32, 8> key; 
  }; 
 
  class Enc : public Base 
  { 
  public: 
    void ProcessAndXorBlock(const byte *inBlock,  
                   const byte *xorBlock, byte *outBlock) const; 
  }; 
 
  class Dec : public Base 
  { 
  public: 
    void ProcessAndXorBlock(const byte *inBlock,  
                   const byte *xorBlock, byte *outBlock) const; 
  }; 
 
public: 
  typedef BlockCipherTemplate<ENCRYPTION, Enc> Encryption; 
  typedef BlockCipherTemplate<DECRYPTION, Dec> Decryption; 
}; 
 
typedef GOST::Encryption GOSTEncryption; 
typedef GOST::Decryption GOSTDecryption; 
NAMESPACE_END 
#endif


background image

 

Глава

 19 

Скремблирование

 

В

 

речевых

 

системах

 

связи

 

известно

 

два

 

основных

 

метода

 

закрытия

 

речевых

 

сигналов

различающихся

 

по

 

способу

 

передачи

 

по

 

каналам

 

связи

аналоговое

 

скремблирование

 

и

 

дискретизация

 

речи

 

с

 

последующим

 

шифрованием

Под

 

скремблированием

 

понимает

-

ся

 

изменение

 

характеристик

 

речевого

 

сигнала

таким

 

образом

что

 

полученный

 

модули

-

рованный

 

сигнал

обладая

 

свойствами

 

неразборчивости

 

и

 

неузнаваемости

занимает

 

ту

 

же

 

полосу

 

частот

что

 

и

 

исходный

 

сигнал

Каждый

 

из

 

этих

 

методов

 

имеет

 

свои

 

достоинства

 

и

 

недостатки

Так

для

 

аналоговых

 

скремблеров

 

характерно

 

присутствие

 

при

 

передаче

 

в

 

канале

 

свя

-

зи

 

фрагментов

 

исходного

 

открытого

 

речевого

 

сообщения

преобразованного

 

в

 

частотной

 

и

 (

или

временн

о

й

 

области

Это

 

означает

что

 

злоумышленники

 

могут

 

попытаться

 

пере

-

хватить

 

и

 

проанализировать

 

передаваемую

 

информацию

 

на

 

уровне

 

звуковых

 

сигналов

Поэтому

 

ранее

 

считалось

что

несмотря

 

на

 

высокое

 

качество

 

и

 

разборчивость

 

восста

-

навливаемой

 

речи

аналоговые

 

скремблеры

 

могут

 

обеспечивать

 

лишь

 

низкую

 

или

 

сред

-

нюю

по

 

сравнению

 

с

 

цифровыми

 

системами

степень

 

закрытия

Однако

 

новейшие

 

алго

-

ритмы

 

аналогового

 

скремблирования

 

способны

 

обеспечить

 

не

 

только

 

средний

но

 

очень

 

высокий

 

уровень

 

закрытия

Цифровые

 

системы

 

не

 

передают

 

какой

-

либо

 

части

 

исходного

 

речевого

 

сигнала

Рече

-

вые

 

компоненты

 

кодируются

 

в

 

цифровой

 

поток

 

данных

который

 

смешивается

 

с

 

псевдо

-

случайной

 

последовательностью

вырабатываемой

 

ключевым

 

генератором

 

по

 

одному

 

из

 

криптографических

 

алгоритмов

Подготовленное

 

таким

 

образом

 

сообщение

 

передается

 

с

 

помощью

 

модема

 

в

 

канал

 

связи

на

 

приемном

 

конце

 

которого

 

проводятся

 

обратные

 

пре

-

образования

 

с

 

целью

 

получения

 

открытого

 

речевого

 

сигнала

.  

Технология

 

создания

 

широкополосных

 

систем

предназначенных

 

для

 

закрытия

 

речи

хорошо

 

известна

а

 

ее

 

реализация

 

не

 

представляет

 

особых

 

трудностей

При

 

этом

 

исполь

-

зуются

 

такие

 

методы

 

кодирования

 

речи

как

 

АДИКМ

 (

адаптивная

 

дифференциальная

 

и

 

импульсно

-

кодовая

 

модуляция

), 

ДМ

 (

дельта

-

модуляция

и

 

т

.

п

Но

 

представленная

 

таким

 

образом

 

дискретизированная

 

речь

 

может

 

передаваться

 

лишь

 

по

 

специально

 

выделенным

 

широкополосным

 

каналам

 

связи

 

с

 

полосой

 

пропускания

 4,8–19,2 

кГц

Это

 

означает

что

 

она

 

не

 

пригодна

 

для

 

передачи

 

по

 

линиям

 

телефонной

 

сети

 

общего

 

пользования

где

 

тре

-

буемая

 

скорость

 

передачи

 

данных

 

должна

 

составлять

 

не

 

менее

 2400 

бит

/

с

В

 

таких

 

слу

-

чаях

 

используются

 

узкополосные

 

системы

главной

 

трудностью

 

при

 

реализации

 

которых

 

является

 

высокая

 

сложность

 

алгоритмов

 

снятия

 

речевых

 

сигналов

осуществляемых

 

в

 

во

-

кодерных

 

устройствах

.  


background image

430

     

Глава

 19. 

Скремблирование

 

 

Посредством

 

дискретного

 

кодирования

 

речи

 

с

 

последующим

 

шифрованием

 

всегда

 

достигалась

 

высокая

 

степень

 

закрытия

Ранее

 

этот

 

метод

 

имел

 

ограниченное

 

применение

 

в

 

имеющихся

 

узкополосных

 

каналах

 

из

-

за

 

низкого

 

качества

 

восстановления

 

передавае

-

мой

 

речи

Достижения

 

в

 

развитии

 

технологий

 

низкоскоростных

 

дискретных

 

кодеров

 

позволили

 

значительно

 

улучшить

 

качество

 

речи

 

без

 

снижения

 

надежности

 

закрытия

Аналоговые

 

скремблеры

 

Аналоговые

 

скремблеры

 

подразделяются

 

на

 

речевые

 

скремблеры

 

простейших

 

типов

 

на

 

базе

 

временных

 

и

 (

или

частотных

 

пере

-

становок

 

речевого

 

сигнала

 (

рис

. 19.1); 

 

комбинированные

 

речевые

 

скремблеры

 

на

 

основе

 

частотно

-

временных

 

перестановок

 

отрезков

 

речи

представленных

 

дискретными

 

отсчетами

с

 

применением

 

цифровой

 

обработки

 

сигналов

 (

рис

. 19.2). 

 

Рис

. 19.1.

 

Схема

 

простейшего

 

речевого

 

скремблера

 

 

Рис

. 19.2.

 

Схема

 

комбинированного

 

речевого

 

скремблера

 

Цифровые

 

системы

 

закрытия

 

речи

 

подразделяются

 

на

 

широкополосные

 (

рис

. 19.3) 

и

 

узкополосные

 (

рис

. 19.4). 

Говоря

 

об

 

обеспечиваемом

 

уровне

 

защиты

 

или

 

степени

 

секретности

 

систем

 

закрытия

 

речи

следует

 

отметить

что

 

эти

 

понятия

 

весьма

 

условные

К

 

настоящему

 

времени

 

не

 

вы

-

работано

 

на

 

этот

 

счет

 

четких

 

правил

 

или

 

стандартов

Однако

 

в

 

ряде

 

изделий

 

основные

 

уровни

 

защиты

 

определяются

как

 

тактический

 

и

 

стратегический

что

 

в

 

некотором

 

смысле

 

перекликается

 

с

 

понятиями

 

практической

 

и

 

теоретической

 

стойкости

 

крипто

-

систем

 

закрытия

 

данных