Алматы 2015 Almaty


Криптографический метод защиты информации



Pdf көрінісі
бет81/130
Дата12.03.2017
өлшемі19,96 Mb.
#9035
1   ...   77   78   79   80   81   82   83   84   ...   130

Криптографический метод защиты информации 

Резюме. Защита информации методом криптографического преобразования заключается в приведении её 

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

либо аппаратных средств и кодов ключей. Основные напpавления использования кpиптогpафических методов - 

пеpедача  конфиденциальной  инфоpмации  по  общедоступным  каналам  связи,  установление  подлинности 

пеpедаваемых  сообщений,  хpанение  инфоpмации  на  носителях  в  зашифpованном  виде.  Кpиптогpафия  дает 

возможность пpеобpазовать инфоpмацию таким обpазом, что ее пpочтение возможно только пpи знании ключа. 



Ключевые слова: криптография, шифрования, ключ, кодирование, защита, алгоритм. 

 

 



Маkhаmbаyеvа I.U., Каbdоldinа N.О. 

Cryptographic method of information security 

Summary. Information security by method of cryptographic transformation consists in its reduction to an implicit 

look  by transformation of components of information by means of special algorithms or hardware and codes of keys. 

The  main directions  of  use  of  cryptographic methods  -  transfer  of  confidential  information  on  public  communication 

channels, establishment of authenticity  of the transferred messages, storage of information on carriers in the ciphered 

look.  The  cryptography  gives  the  chance  to  transform  information  in  such  way  that  its  reading  is  possible  only  at 

knowledge of a key. 



Key words: cryptography, enciphering, key, coding, protection, algorithm.

 

 



 

УДК 004.65 

 

Муханмеджанова А.М. студент, Айтхожаева Е.Ж. 

Казахский национальный технический университет им. К. И. Сатпаева,  

г. Алматы, Республика Казахстан, 

ait_djam@mail.ru 

 

КОМПЛЕКСНАЯ ЗАЩИТА СЕРВЕРНЫХ БД С ИСПОЛЬЗОВАНИЕМ   

ШИФРОВАНИЯ  В MS SQL SERVER 

 

Аннотация. Данная работа посвящена организации защиты серверных баз данных на основе шифрования 

в MS SQL Server 2008. Организована комплексная защита данных на примере базы данных для поликлиники, в 

том  числе  и  с  помощью  встроенного    шифрования  данных.  Проектирование  базы  данных  выполнено  с 

использованием  CASE-средства  проектирования  БД  CA  Erwin  Data  Modeler  9.5.    Для  защиты  базы  данных 

использованы представления, роли, триггеры. Для шифрования данных используется  шифрование с помощью 

специальных  команд  Transact  -SQL  и  двухуровневая  иерархия  ключей  шифрования  с  использованием 

асимметричных  и  симметричных  криптоалгоритмов.  Инициализация  шифрования  данных  выполняется  с 

помощью триггера. Для дешифрования зашифрованных данных используется разработанная процедура. 



Ключевые слова: защита баз данных, роли, шифрование, асимметричные ключи, симметричные ключи 

 

SQL  Server  2008  –  это  система  управления  базами  данных  (БД),  обеспечивающая  сетевой  много-



пользовательский доступ, использует расширенный язык запросов T-SQL. Система отвечает поставленным 

требованиям и имеет необходимые инструменты для обеспечения требуемой защиты базы данных. 



576 

Защита  базы  данных  организовывалась  комплексно.  Был  использован  широкий  спектр 

возможностей SQL Server: 

-  механизм ролей; 

-  представления;  

-  триггеры; 

-  шифрование. 

В  данной  работе  представлена  защита  с  использованием  представлений,  ролей,  триггеров 

поддержания  целостности  данных  и  шифрования.  MS  SQL  Server  2008  поддерживает  следующие 

механизмы шифрования [1]:  

функции Transact-SQL;  

- асимметричные ключи;  

- симметричные ключи;  

- сертификаты; 

- прозрачное шифрование данных.  

В  работе  использовалось  шифрование  данных  с  использованием  симметричных  и 

асимметричных ключей базы данных для поликлиники.  

Был  выполнен  анализ  предметной  области  и  спроектирована  БД  для  поликлиники  с 

использованием CASE-средства проектирования БД CA Erwin Data Modeler 9.5 [2]. 

База  данных  должна  хранить  информацию  о  пациентах,  врачах,  болезнях,  списках  посещений, 

категориях и специализациях. При посещении поликлиники пациент должен фиксироваться в списке 

посещений  с  указанием  даты  посещения  и  врача.  Должна  автоматически  формироваться 

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

шифром. База данных должна быть масштабируема. Должна быть возможность поиска по различным 

критериям по всей базе данных. 

Для построения модели базы данных была использована программа CA Erwin Data Modeler 9.5. 

Логическая модель в виде ER-диаграммы CA Erwin Data Modeler 9.5 представлена на рисунке 1. 

 

 



Рисунок 1 - ER-диаграмма логического уровня 

 

 В логической модели было использовано 6 сущностей. 



Сущность  «Vrach»    содержит  данные  о  врачах,  работающих  в  поликлинике,  и  содержит 

атрибуты: идентификационный номер врача  (ID_vrach), дату приема на работу (Data_priema), номер 

кабинета,  где  проходит  прием  пациентов  (N_kabineta),  паспортные  данные  (FIO_vracha),  номер 

специализации, в которой он работает  (ID_spec) и номер категории (ID_kategorii). 

Сущность  «Spisik_pos»  содержит  информацию  о  списках  посещений  пациентами  врачей. 

Атрибуты:  дата  посещения  врача  (Data_pos),  идентификационный  номер  врача,  который  проводил 

прием  (ID_vrach),  идентификационный  номер  медицинской  карты  пациента  (ID_medkarty)  и  номер 

болезни (ID_bolezn). 

Сущность  «Pacient»  включает  в  себя  информацию  о  пациентах,  и  содержит  атрибуты:  

идентификационный  номер  медицинской  карты  пациента  (ID_medkarty),  Фамилию,  имя  и  отчество 

пациента (FIO_pacienta), дату рождения (Data_rojdenia),  пол (Pol), адрес проживания (Adress) 


577 

В  сущности  «Bolezn»  описаны  атрибуты:  идентификационный  номер  болезни  (ID_bolezn), 

симптомы  заболевания  (Simptomy),  стадия  развития  заболевания  (Stadia)  и    диагностика  лечения 

(Diagnostika) 

Сущность  «Specializacia»  описывает  с  помощью  атрибутов  номер  специализации  (ID_spec)  и 

название специализации (Specializacia) 

В  сущности  «Kategoria»  описаны  с  помощью  атрибутов  номер  категории  (ID_kategorii)  и  сама 

категория (Kategoria) 

После создания логической модели был выполнен переход на физический уровень. 

Представление  модели  физического  уровня  зависит  от  выбранной  СУБД  (настольной  или 

сервера БД).  

Был  выбран  сервер  MS  SQL  Server  2008,  символьный  тип  данных  по  умолчанию  –  varchar(50), 

для  не  ключевых  колонок  разрешено  пустое  значение  -  (NULL).  Физическая  модель  в  виде  ER-

диаграммы Database CA Erwin Data Modeler 9.5 представлена на рисунке 2. 

На  физическом  уровне  был  сгенерирован  пакет  SQL-предложений,  выполнение  которого    в 

среде  утилиты  Management  Studio  MS  SQL  Server  2008  привело  к  генерации  схемы  БД  в  созданной 

БД Poliklinika.   

Для  обеспечения  целостности  данных  в  каждой  таблице  был  задействован  механизм  триггеров 

MS  SQL  Server  2008.  Триггеры  помогают  осуществить  требование  автоматизации  контроля  при 

действиях над информацией в таблице. 

 

 

Рисунок 2 - ER-диаграмма физического уровня 



 

Из  анализа  предметной  области  становится  ясно,  что  пациент  не  может  быть  удален  из  таблицы 

Pacient, если он посещал врача. Поэтому был создан триггер, запрещающий удаление такого пациента: 

CREATE TRIGGER P_del ON Pacient FOR DELETE 

AS 

DECLARE @result int 



SET@result= 1 

IF EXISTS (SELECT*FROM Spisok_pos, deleted WHERE Spisok_pos.[ID_medkarty] = deleted. 

ID_medkarty) 

  BEGIN 


raiserror ('Попытка удаления пациента! ',  16,  10) 

SET @result= 0 

  END 

IF@result= 0 



  BEGIN 

RAISERROR  ('Удалениезапрещено', 16, 10) 

ROLLBACK TRANSACTION 

  END 


Аналогичный  триггер  создается  для  операции  удаления  данных  о  враче  в  таблице  Vrach. 

Запрещается удалять данные о враче, если он принимал пациентов: 

CREATE TRIGGER V_del ON Vrach FOR DELETE 

AS 


578 

DECLARE @result int 

SET @result = 1 

IF EXISTS (SELECT *  FROM Spisok_pos, deleted WHERE Spisok_pos.ID_vrach =  deleted. 

ID_vrach) 

  BEGIN 


raiserror ('Попытка удаления врача! ', 16, 10) 

SET @result= 0 

  END 

IF@result= 0 



  BEGIN 

RAISERROR ('Удалениезапрещено', 16, 10) 

ROLLBACK TRANSACTION 

 

END 



В  качестве  дополнительного  механизма  безопасности  и  для  предоставления  комфортного 

интерфейса пользователю были использованы представления. 

Для  получения  статистических  данных  о  посещениях  пациентов  и  работе  врачей  необходимо 

создать два представления. 

Ниже  приведено  представление  для  предоставления  отчета  по  поликлинике  о  посещениях 

пациентов по месяцам: 

CREATE VIEW Itogo_pos 

AS 


SELECT month ( dbo. Spisok_pos _Data_pos ) AS Месяц, 

count(dbo. Spisok_pos.ID_pos) AS Кол_посещений FROM dbo. Spisok_pos 

GROUP BY month (dbo. Spisok_pos.Data_pos) 

Представление  для  предоставления  отчета  по  врачам  поликлиники  о  посещениях  пациентов  по 

месяцам представлено ниже: 

CREATE VIEW Itogo_vr 

AS 

SELECT month ( dbo. Spisok_pos. Data_pos) AS Месяц, ( dbo.Vrach.FIO_vracha) AS 



Фамилии_врачей, 

Count (dbo. Spisok_pos.ID_pos ) AS Кол_посещений FROM dbo. Spisok_pos  INNER JOIN Vrach 

ON Spisok_pos.ID_vrach = Vrach.ID_vrach 

GROUP BY month (dbo. Spisok_pos. Data_pos), 

Spisok_pos.ID_vracha 

Для  обеспечения  разграничения  прав  пользователей  были  созданы  три  роли  для  трех  групп 

пользователей: пациенты, врачи, администраторы.   

Но  для  обеспечения  полной  безопасности  информации  (от  недобросовестного  администратора) 

необходимо  шифровать  данные  в  таблицах.  Поэтому  необходимо  использовать  криптографию.  В 

SQL  Server  применяется  иерархическая  структура  средств  шифрования  и  управления  ключами.  Это 

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

Для  шифрования  данных  используются  симметричные  ключи.  Связано  это  с  тем,  что  скорость 

шифрования симметричными ключами значительно превышает скорость применения ассиметричных 

ключей.  Но  сами  симметричные  ключи  шифруются  асимметричными  ключами  для  обеспечения 

более высокой криптостойкости шифрования [3]. 

Данные  о  пациенте  (его  фамилия)  должны  быть  защищены  шифром.  То  есть  необходимо 

шифровать  не  всю  базу  и  даже  не  всю  таблицу,  а  только  один  атрибут  таблицы.  Для  этого  лучше 

всего  подходят  хранимые  процедуры  и  триггеры. Данные  о  пациентах  хранятся  в  сущности  Pacient, 

под атрибутом FIO_pacienta. 

Во-первых,  нужно  создать  асимметричный  ключ,  который  будет  использоваться  для 

шифрования симметричного ключа. Создаем ассиметричный ключ следующей командой: 

  CREATE 

ASYMMETRIC  KEY  KeyPrice1 

  WITH  ALGORITHM=RSA_2048 

  ENCRYPTION BY PASSWORD='14%29dj(AC' 

В  SQL  Server  присутствует  возможность  выбрать  алгоритм  симметричного  шифрования  из 

существующих в базе.  Это алгоритмы AES, DES, RC и их разновидности. 

Создаем симметричный ключ для шифрования данных: 

  CREATE 

SYMMETRIC KEY PriceKey 



579 

  WITH  ALGORITHM=TRIPLE_DES   

 

ENCRYPTION  BY ASYMMETRIC KEY KeyPrice1 



Теперь  в  БД  имеется  ключ,  который  можно  использовать  для  непосредственного  шифрования 

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

Создаем триггер для автоматического шифрования вводимых данных: 

CREATE TRIGGER 

CryptPrice1 

   


ON 

Pacient 


   

WITH ENCRYPTION FOR 

 INSERT 

AS 


BEGIN 

--открывается ключ 

OPEN SYMMETRIC KEY PriceKey 

DECRYPTION BY 

ASYMMETRIC KEY KeyPrice1 

WITH PASSWORD='14%29dj(AC' 

--объявляются переменные 

DECLARE 


@kryptext varchar(50), 

@convertir varchar(50), @ID_medkarty int; 

--вводимые данные идентифицируются и шифруются  

--перед добавлением в таблицу 

SELECT@kryptext=ENCRYPTBYKEY 

(KEY_GUID('PriceKey'), 

[FIO_pacienta]),   @ ID_medkarty =ID_medkarty 

FROM inserted 

--полученный код конвертируется в строковый тип данных 

SET 


@convertir=CAST(@kryptext as varchar(50)) 

--данные в таблице заменяются на полученный код 

UPDATE Pacient SET 

[FIO_pacienta]=@convertir 

WHERE  @ID_medkarty=ID_medkarty 

--ключ закрывается 

CLOSE 

SYMMETRIC KEY PriceKey 



END 

В триггере функция ENCRYPTBYKEY преобразует текстовые данные и выдает результат в виде 

бинарного  кода.  Т.к.  атрибут  в  таблице  строго  типизирован,  система  не  сможет  записать  в  него 

строку  бинарного  типа  и  будет  заносить  пустые  значения  -  NULL.  Для  исключения  такой  ошибки 

данные  конвертируются  в  текстовый  тип и  затем  добавляются  в  атрибут.  При  дешифровании  будет 

применяться обратное конвертирование. 

Код  ключа  в  явном  виде  указывается  в  тексте  триггера,  что  делает  процедуру  уязвимой. 

Исключить  эту  уязвимость  можно  зашифровав  сам  триггер.  Для  этого  была  применена  функция 

WITH ENCRYPTION. 

На рисунке 3 показано создание триггера. Слева в дереве каталогов - созданный триггер.  

 

 

 



Рисунок 3 – Триггер шифрования 

580 

 

Таблица с зашифрованными данными представлена на рисунке 4. 



 

 

 



Рисунок 4 – Таблица с зашифрованным столбцом FIO_pacienta 

 

При  извлечении  данных  санкционированным  пользователем  необходимо  содержимое  столбца 



FIO_pacienta расшифровывать, для чего была разработана процедура дешифрования. 

Код процедуры дешифрования: 

CREATE PROCEDURE  [dbo].[Pacient] 

   


 

 

@atribute 



varchar(20), 

   


 

 

@ID_medkarty int(12) 



   

 

 



WITH ENCRYPTION 

AS 


BEGIN 

 

 



 

 

   



OPEN  SYMMETRIC KEY PriceKey 

   


DECRYPTIONBY 

ASYMMETRIC KEY KeyPrice1 

   

WITH PASSWORD='14%29dj(AC' 



   

DECLARE 


@kryptlen varchar(50) 

   


SELECT 

Data_rojdenia,Pol,Adress, 

  CAST (DECRYPTBYKEY (FIO_pacienta) as varchar (MAX)) 

   


AS FIO_pacienta 

   


FROM   Pacient 

   


WHERE 

ID_medkarty=@ ID_medkarty 

   

CLOSE SYMMETRICKEY PriceKey 



END 

На рисунке 5 представлен результат работы процедуры дешифрования. 

 

 

 



Рисунок 5 – Таблица с расшифрованным столбцом ФИО_больного 

 

Как  мы  видим,    для  дешифрования  применяется  функция  DECRYPTBYKEY.  Результат 



конвертируется  в  строковый  тип.  Дешифрование  организовано  для  отдельно  взятой  строки,  т.к.  это 

повышает безопасность всей системы. 

В  работе  была  выполнена  разработка  моделей  БД  для  предметной  области  Поликлиника  и 

организована  комплексная  защита  базы  данных  с  использованием  триггеров,  представлений, 

разграничения прав доступа и шифрования данных.  

 

ЛИТЕРАТУРА 



1. Уолтерс Р. Э., Коулс М. SQL Server 2008: ускоренный курс для профессионалов. -  М., Вильямс, 2008. - 768 С. 

2. Маклаков С.В. Моделирование бизнес- процессов с AllFusing  PM.  - М., ДИАЛОГ-МИФИ, 2008. - 224 С. 

3.  Айтхожаева  Е.Ж.  Криптография  в  серверах  баз  данных  //Вестник  КазНТУ,  №  5  (105)  2014.-  Алматы,  

НТИЦ КазНТУ, 2014. - С.224-229. 

 

REFERENCES 



1. Uolters R. E., Kouls M. SQL Server 2008: uskorennyj kurs dlya professionalov. -  M.: Vilyams, 2008. - 768 S. 

2. Maklakov S.V. Modelirovanie biznes- processov s AllFusing  PM.  – M.: DIALOG-MIFI, 2008. - 224 S. 

7.  3. Aitkhozhaeva Y.Zh. Kriptografiya v serverakh baz dannykh //Vestnik KazNTU, №5 (105) 2014. – S. 224-229. 

 


581 

Муханмеджанова А.М., Айтхожаева Е.Ж. 



MS SQL SERVER-де шифрлауды қолдану арқылы серверлік дерекқорларды кешенді қорғау 

Түйіндеме. Бұл жұмыс кірістірілген деректерді шифрлау, соның ішінде клиникалардың арналған дерекқор 

данасында  MS  SQL  Server  2008  ұйымдасқан  жан-жақты  деректерді  қорғау,  серверді  негізделген  дерекқорды 

шифрлау қорғау ұйымдастыруға арналған. Деректерді шифрлауды шифрлау үшін арнайы командалар Transact -

SQL және асимметриялық және  симметриялық криптографиялық алгоритмдер көмегімен шифрлау кілттерінің 

екі  деңгейлі  иерархия  бойынша  пайдаланылады.  Шифрлауды  баптандыру  іске  осуды  пайдаланып  жүзеге 

асырылады. 



Түйін сөздер: дерекқорларды қорғау, рөлдер, шифрлау, асимметриялық кілттер, симметриялық кілттер  

 

Mukhanmedjanova A.M., Aitkhozhaeva Y.Zh. 



Complex protection of server database with encryption in MS SQL SERVER 

Summary.This work is devoted to the organization of protection of server-based database encryption in MS SQL 

Server  2008.  Organized  comprehensive  data  protection  on  the  database  instance  for  clinics,  including  a  built-in  data 

encryption. To  encrypt  data  encryption  is  used  by  special  teams  Transact  -SQL  and  two-tier  hierarchy  of  encryption 

keys using asymmetric and symmetric crypto algorithms. Initialising the encryption is performed using a trigger. 



Key words: protection of databases, roles, encryption, asymmetric keys, symmetric keys 

 

 

ӘОЖ  681.322 



 

Мырзабекова Қ.С. студент, Ержанова Ш.Н. студент,  

Мирхиязова И. студент, Тынымбаев С.Т. 

Қ.И.Сәтбаев атындағы Қазақ ұлттық техникалық университеті,  

Алматы қ., Қазақстан Республикасы 

Shiko_93.kz@mail.ru 



 

МОДУЛЬГЕ КЕЛТІРУ ОПЕРАЦИЯСЫН SRT АЛГОРИТМІМЕН ІСКЕ ҚОСУ 

 

Аңдатпа.  Ассимметриялық  криптоалгоритмдерді  аппараттық  тәсілмен  жүзеге  асыру  үшін  модульге 

келтіру  операциясының  әртүрлі  құрылғылардың  құрылымдарын  талдау  арқылы  сипаттамалық  белгілері 

анықталады.  Атап  айтқанда:  көбейту  және  модульге  бөлу  арқылы  қалдық  алу  операцияларын  орындаудың 

қатарластығы  болып  табылады.  Бөлу  операциясын  жеделдету  тәсілдері  бөлу  итерациясын  қысқартуға  алып 

келетін алгоритмді және аппараттық тәсілдер жатады. Бөлу операциясын жеделдетуге мүмкіндік беретін қазіргі 

уақытта көп тараған SRT алгоритмі қаралады. 



Түйін  сөздер.  Ассимметриялық  криптожүйе,  SRT  алгоритмі  базалық  квадраторлар,  модульге  келтіру 

операциясы, жіктеу. 

 

Ассимметриялық  криптоалгоритмдерді  аппараттық  тәсілмен  жүзеге  асыру  үшін  модульге 



келтіру  операциясының  әртүрлі  құрылғылардың  құрылымдарын  талдау  арқылы  сипаттамалық 

белгілері  анықталады.  Атап  айтқанда:  көбейту  және  модульге  бөлу  арқылы  қалдық  алу 

операцияларын  орындаудың  қатарластығы  болып табылады.  Бөлу  операциясын  жеделдету  тәсілдері 

бөлу  итерациясын  қысқартуға  алып  келетін  алгоритмді  және  аппараттық  тәсілдер  жатады.  Бөлу 

операциясын жеделдетуге мүмкіндік беретін қазіргі уақытта көп тараған SRT алгоритмі қаралады. 

SRT  алгоритмінің  аты  оның  авторларының  бірінші  әріптерінен  (Sweeney,  Robertson,  Tocher) 

құралған  [1,2,3].  Алгоритм  қалдықты  қалпына  келтірмей  бөлудің  өзгертілген  түрі.  Алгоритмнің  әр 

циклында  ЖКҚ-ны  жылжытудан  басқа  бөлгішті  алу  немесе  қосу  операциялары  орындалады.  SRT 

алгоритмінде  де  ЖҚ  әр  итерацияда  жылжытылады,  бірақ  қосу  және  алу  операциялары  жаңадан 

алынған  ЖҚ  мәніне  байланысты  орындалмауы  мүмкін.  Бұл  бөлу  операциясын  жеделдетуге  алып 

келеді.  

Алгоритм  жылжымалы  үтірлі  сандарды  өңдеуге  арналған  болатын,  сондықтан  мұндай  сандар 

мантиссалары операцияға қалыптастырылған түрде қатысады.  

Бөлінді  2n+1  разрядты  сан,  ал  бөлгіш–n-разрядты  сан.  Бөлу  операциясы  бөлгіштің  барлық 

нөлдерінсіз,  басқаша  айтқанда  санның  ең  жоғарғы  разрядындағы  бірліктің  алдындағы  нөлдердің 

барлығын  алып  тастау  керек.  Мұндай  операция  жылжымалы  үтірлі  сандардағы  қалыптастыру 

операциясына ұқсас. Сондықтан бұдан ары қарай мұндай операцияны қалыптастыру операциясы деп 

атаймыз. Бөлгіштің k нөлдерінен арылу үшін k разрядқа солға қарай жылжыту керек. Сондай санға (k 

санына)  бөлінгішті  де  солға  жылжытамыз.  Одан  ары  n  итерация  орындалып,  бөлінді  және  қалдық 

цифрлары анықталады. Әрбір i-итерация кезінде мынадай әрекеттер орындалады: 



582 

 

 



Жоғарыдағы  өрнектен  көрініп  тұрғандай  бөлінді  басы  артық  есептеу  жүйесінде  көрсетіледі. 

Мұнда бөлінді цифрлары үш түрлі мән алады: -1,0,1. 

Төмендегі 1-суретте SRT алгоритмімен модульге келтіру сұлбасы келтірілген: 

 

 



 

1-сурет. SRT алгоритмімен модульге келтіру сұлбасы 

 

Аталған  таңбалар  контроллер  арқылы  r



n-1

+b

n-1 



өрнегіне  сәйкес  өңделеді.  Алу  операциясы 

қосымша кода арқылы қосу операциясымен алмастырылады. Таңбаны өзгерту және қосымша кодаға 

түрлендіру  бөлгішті  қосындылағыш  кірісіне  кері  кодада  беру  арқылы  және  қосындылағыштың 

төменгі  разрядына  бірді  қосу  арқылы  іске  асырылады.  Кері  кода  m2  сұлбасы  арқылы  қалыптасады. 

Бөліндінің кезекті цифры бөлінді регистрін (QРг) жылжытқанда босаған төменгі разрядқа жазылады. 

Әр  циклда  ЦСАН  бірге  кемітіліп  отырады.  Процедура  бөліндінің  барлық  цифрлары  анықталып 

біткенше жалғасады. Операция аяқталған соң, бөлінді регистрінде орналасады, ал қалдық регистрінде 

(RРг)  қалдық  орналасады.  Қортынды  кезеңде  керек  болған  жағдайда  нәтижеге  түзету  енгізіледі 

(бөліндіні бірге өсіреді). 

Барлық  n  итерация  аяқталған  соң,  егер  соңғы  қалдық  теріс  сан  болса,  онда  қалдыққа  және 

жекеленген қалдыққа түзетулер енгізіледі. Ол үшін қалдыққа бөлгішті қосамыз, ал бөліндіден төменгі 

разряд салмағымен бірді алып тастаймыз.  

Бөлінгіш қосымша кодада QРг және RРг регистрлеріне, ал бөлгіш ВРг регистріне қабылданады. 

Бөлу кезінде төмендегі әрекеттер орындалады: 

1.  Егер  В  бөлгішінің  жоғарғы  разрядтарында  k  нөлдер  (B>0  саны  үшін)  немесе  бірлік  сандар 

(B<0 болғанда) жазылған болса, онда олар солға қарай k разрядтарға жылжытылады. 

2.  0-ден n-1 дейінгі i үшін: 

-  Егер  жекеленген  қалдықтың  жоғарғы  үш  разрядтары  бірдей  мән  алса,  онда  жекеленген 

қалдық  (RРг  және  QРг)  солға  қарай  бір  разрядқа  жылжытылады  және  қалдық  разрядына  q

i

=0 



жазамыз. 

-  Егер жекеленген қалдықтың жоғарғы үш разрядтары әртүрлі болса және ЖҚ теріс болса, онда 

q

i

=-1, әрі RРг мен QРг (ЖҚ) солға қарай бір разрядқа жылжытылып оған бөлгіш қосылады. 



583 

-  Егер жекеленген қалдықтың жоғарғы үш разрядтары әртүрлі болса және ЖҚ өзі оң сан болса, 

онда  q

i

=1  және  ЖҚ  (RРг  және  QРг)  солға  қарай  бір  разрядқа  жылжытылып  одан  бөлгіш  алынып 



тасталады. 

3.  Егер  2-пункт  аяқталғаннан  кейін  теріс  қалдық  қалыптасса,  онда  түзету  енгізіледі  (қалдыққа 

бөлгіш қосылады, ал бөліндіден бір алынады). 

4.  Қалдық оңға қарай k разрядқа жылжытылады. 

  Қаралған процедураны 2–суретте келтірілген мысалмен көрсетуге болады. 

 

 



 

2-сурет. Бөлу амалын көбейту арқылы орындау 

 

Бөлу  операциясын  жеделдету  тәсілдері  бөлу  итерациясын  қысқартуға  алып  келетін  алгоритмді 



және аппараттық тәсілдер жатады. Бөлу операциясын жеделдетуге мүмкіндік беретін қазіргі уақытта 

көп тараған тәсілдердің бірі SRT алгоритмі. 

Көбейту  операциясын  жеделдете  орындайтын  аппараттық  құрылғылардың  (матрицалық, 

бұтақты  көбейту  сұлбалары)  пайда  болуына  байланысты  бөлу  операциясын  жеделдету  мақсатымен 

бөлу  операциясын  көбейту  операциясы  арқылы  орындауға  мүмкіндік  беретін  алгоритмдер  дами 

бастады. Олардың қатарына Голдшмит (Robert Elliott Goldshmidt) және Ньютон-Рафсон алгоритмдері 

жатады.  Екі  алгоритм  де  дұрыс  бөлшектерді  бөлуде,  атап  айтқанда  жылжымалы  үтірлі  сандардың 

мантиссаларын бөлуде өте ыңғайлы.    

 

ӘДЕБИЕТТЕР  



1.  Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. – М.: ДМК Пресс, 2012. 592с. 

2.  Б.Я.Рябко,    А.Н.Фионов  Основы  современной  криптографии  для  специалистов  в  информационных 

технологиях- М.: Научный мир, 2004-173с. 

3.  Тынымбаев  С.,  Алемсеитова  Ж.К.,  Баймаганбетова  А.  Разработка  структурной  схемы  вычислителя 

y=a

x

modP. Труды международных Сатпаевских чтений «Роль и место молодых ученых в реализации стратегии 



Казахстан - 2050»; посвященных 80летию КазНТУ им. К.И.Сатпаева- Алматы, УИЦ. КазНТУ, 2014-516-521с. 

4.  Б.Я.Цилькер, С.А.Орлов Организация ЭВМ и систем СПб.: Питер, 2006-668с.: ИЛ. 

5.  Ростовцев А.Г., Маховенко Е.Б. Теоретическая криптография.- СПб.: Профессионал, 2005. 490с.  

6.  Тынымбаев  С.,  Айтхожаева  Е.Ж.,  Жангисина  Г.Д.,  Щербина  В.П.  Сравнительный  анализ  сумматоров 

двоично-десятичных чисел при реализации криптографических алгоритмов. Журнал безопасность информации, 

том 19, №3 (2013)ю.-Киев: НАУ, 2013.С.193-197.   

7.  Петренко  В.И.,  Кузъминов  Ю.В.  Умножитель  по  модулю.  Патент  РФ  2299461.  Бюллетень  №14. 

Опубликован 20.05.07. 



584 

8.  Sethi  K.,  Panda  R.  An  improved  squaring  circuits  for  binary  numbers.  (UACSA)  International  Journal  of 

Advanced Computer Science and Applications, Vol.3, No.2.2012, 111-116s. 

9.  Айтхожаева  Е.Ж.,  Тынымбаев  С.  Асимметриялық  криптографияда  модуль  бойынша  аппараттық 

келтірудің жайттары (аспектілері). 

 

REFERENCES 



1.  Shangin V.F. Zashita informacii v kompiuternyh systemah I setyah. – М.: DMK Press, 2012. 592с. (in Russ) 

2.  Ryabko B.Ya,  Fionov A.I. Osnovy sovremennoi kriptografii dlyaspecialistov v informacionnyh tekhnlogiah - 

М.: Nauchnyi mir, 2004-173с. (in Russ) 

3.  Tynymbaev  S.,  Alemseitova  Zh.K.,  Baimaganbetova  A.  Razrabotka  strukturnoi  shemy  vychislitelya 

y=a

x

modP.  Trudy  mezhdunarodnyh  Satpaevskih  chtenii  «Rol’  i  mesto  molodyh  uchenyh  v  realizacii  strategii 



Kazakhstan - 2050»; posvyachennyh 80letiyu KazNTU im. K.I.Satpaeva- Almaty, UIC. KazNTU, 2014-516-521с. 

4.  Cilker B.Ya, Orlov C.A Organizacya EVM i system Spb.: Piter, 2006-668с. 

5.  Rostovsev A.G., Mahovenko E.B. Teoreticheskaya kriptografiya.- Spb.: Professional, 2005. 490с.  

6.  Tynymbaev  S.,  Aithozhaeva  E.Zh.,  Zhangisina  G.D  .,  Sherbina  V.P.  Sravnitel’nyi  analiz  summatorov 

dvoichno-desyatichnyh chisel pri realizacii kriptograficheskih algoritmov. Zhurnal bezopasyjsti informacii, tom 19, №3 

(2013).-Kiev: NАU, 2013.С.193-197.   

7.  Petrenko  V.I.,  Kuz’minov  U.V.  Umnozhitel’  po  modulu.  Patent  RF  2299461.  Bulleten’  №14.  Opublikovan 

20.05.07. 

8.  Sethi  K.,  Panda  R.  An  improved  squaring  circuits  for  binary  numbers.  (UACSA)  International  Journal  of 

Advanced Computer Science and Applications, Vol.3, No.2.2012, 111-116s. 

9.  Aithozhaeva E.Zh., Tynymbaev S. Aspekty apparatnogo privedenie po modulu v asimmetrichnoi kriptografii. 

 

Мырзабекова Қ.С., Ержанова Ш.Н., Мирхиязова И., Тынымбаев С.Т. 




Достарыңызбен бөлісу:
1   ...   77   78   79   80   81   82   83   84   ...   130




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет