О ВНЕСЕНИИ ИЗМЕНЕНИЙ И ДОПОЛНЕНИЙ В ПРИКАЗ ФОМС ОТ 30.12.2004 N 91 "ОБ ОРГАНИЗАЦИИ ИНФОРМАЦИОННОГО ВЗАИМОДЕЙСТВИЯ ПО ОБЕСПЕЧЕНИЮ НЕОБХОДИМЫМИ ЛЕКАРСТВЕННЫМИ СРЕДСТВАМИ ОТДЕЛЬНЫХ КАТЕГОРИЙ ГРАЖДАН" (В РЕДАКЦИИ ПРИКАЗОВ ФОМС ОТ 24.05.2005 N 51, ОТ 02.08. Приказ. Федеральный фонд обязательного медицинского страхования. 21.03.06 38

Фрагмент документа "О ВНЕСЕНИИ ИЗМЕНЕНИЙ И ДОПОЛНЕНИЙ В ПРИКАЗ ФОМС ОТ 30.12.2004 N 91 "ОБ ОРГАНИЗАЦИИ ИНФОРМАЦИОННОГО ВЗАИМОДЕЙСТВИЯ ПО ОБЕСПЕЧЕНИЮ НЕОБХОДИМЫМИ ЛЕКАРСТВЕННЫМИ СРЕДСТВАМИ ОТДЕЛЬНЫХ КАТЕГОРИЙ ГРАЖДАН" (В РЕДАКЦИИ ПРИКАЗОВ ФОМС ОТ 24.05.2005 N 51, ОТ 02.08".

Предыдущий фрагмент <<< ...  Оглавление  ... >>> Следующий фрагмент

Полный текст документа

SHA512 - выходное значение 512 бит;
     SHA384 - выходное значение 384 бита.
     Стандарт ИСО - ISO/IEC 10118-3:2004
     (http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?
CSNUMBER=39876).
     Настоящий документ описывает стандарт SHA1.
     Описание реализации алгоритма SHA1 на языке C++:
     typedef int HASH[5];
     typedef int T512[16];
     typedef int T80[80];
     typedef int (*LPFNHASH)(int, int, int);// Функции F1, F2, F3
     const int K1 = 0x5a827999;
     const int K2 = 0x6ed9eba1;
     const int К3 = 0x8f1bbcdc;
     const int K4 = 0xca62c1d6;

     unsigned ROL(unsigned a, size_t s) { return a << s | (a >> (sizeof
     (T)*8 - s)); }
     int f1(int x, int y, int z) { return x&y | (~x)&z; }
                                           /\ /
     int f2(int x, int y, int z) { return x  у  z; }
     int f3(int x, int y, int z) { return x&y | x&z | y&z; }
     void FillT80(T512 M, T80 W)
     {
        size_t t;
        for(t = 0; t < 16; t++)W[t] = M[t];
                                        /\      /\       /     for(; t < 80; t++)W[t] = ROL(W[t-3]  W[t-8]  W[t-14]  W[t-16], 1);
     }
     void MainStep(T80 W, size_t t, HASH H, LPFNHASH f, int K)
     {
     int tmp = ROL(H[0], 5) + f(H[1], H[2], H[3]) + H[4] + W[t] + K;
         H[4] = H[3];
         H[3] = H[2];
         H[2] = ROL(H[1], 30);
         H[1] = H[0];
         H[0] = tmp;
     }
     void StepSHA(T512 M, HASH Hr)
     {
         T80 W;
         FillT80(M, W);
         size-t t;
         HASH H;
         memcpy(H, Hr, sizeof(HASH));
         for(t = 0; t < 20; t++) MainStep(W, t, H, f1, K1);
         for(; t < 40; t++) MainStep(W, t, H, f2, K2);
         for(; t < 60; t++) MainStep(W, t, H, f3, K3);
         for(; t < 80; t++) MainStep(W, t, H, f2, K4);
               for(size-t i = 0; i < 5; i++)
                     Hr[i] += H[i];
     }
     Функции F1, F2, F3:
     F1(X,Y,Z) = (X /\ Y) \/ ((-|X) /\ Z)
F2(X,Y,Z) = X (+) Y (+) Z
F3(X,Y,Z) = (X /\ Y) \/ (X /\ Z) \/ (Y /\ Z)
ROL(X,Y) - циклический сдвиг X влево на Y разрядов,
где:
/\ - логическое "И";
\/ - логическое "Или";
    -+ - логическое "Не";
(+) - логическое "Исключающее или".
     -+ - логическое "Не";

     Перед  запуском  алгоритма хеш-значение должно инициализироваться
следующими константами:
     const  HASH  HASHFIRST  =  {0x67452301,  0xefcdab89,  0x98badcfe,
0x10325476, 0xc3d2e1f0};
     Замечание: тип int хранит байты в обратном порядке. В приведенном
примере  минимальной  единицей памяти является 32 битный блок, поэтому
способ хранения на диске неважен. При побайтовой обработке это следует
учитывать.


                                                        Приложение N 5

                                          к Методическим рекомендациям
                                        по организации информационного
                                      взаимодействия между участниками
                                  лекарственного обеспечения отдельных
                                    категорий граждан при обязательном
                                               медицинском страховании
                                        (с изменениями и дополнениями)
                                                 от 21 марта 2006 года
     
                         РЕКОМЕНДУЕМЫЙ НАБОР
               ТИПОВЫХ ОТЧЕТНЫХ ФОРМ ДЛЯ ЛПУ, АУ И ЦОД

                        1. ОТЧЕТНЫЕ ФОРМЫ ЛПУ

     1.1. Список сформированных и переданных в ЦОД реестров выписанных
рецептов.
     
               СПИСОК СФОРМИРОВАННЫХ РЕЕСТРОВ

     ЛПУ: ---
     ЗА ПЕРИОД С --- ПО ---

------------------------------------------------------------------

Фрагмент документа "О ВНЕСЕНИИ ИЗМЕНЕНИЙ И ДОПОЛНЕНИЙ В ПРИКАЗ ФОМС ОТ 30.12.2004 N 91 "ОБ ОРГАНИЗАЦИИ ИНФОРМАЦИОННОГО ВЗАИМОДЕЙСТВИЯ ПО ОБЕСПЕЧЕНИЮ НЕОБХОДИМЫМИ ЛЕКАРСТВЕННЫМИ СРЕДСТВАМИ ОТДЕЛЬНЫХ КАТЕГОРИЙ ГРАЖДАН" (В РЕДАКЦИИ ПРИКАЗОВ ФОМС ОТ 24.05.2005 N 51, ОТ 02.08".

Предыдущий фрагмент <<< ...  Оглавление  ... >>> Следующий фрагмент

Полный текст документа