Page 36 - 4395
P. 36

3     % Визначаються  ключі системи  RSA
                        4
                        5     p=23; q=31;
                        6     n=p*q;

                        7     E=(p-1)*(q-1);   % Е - функція Ейлера
                        8     % вибір відкритого ключа e треба провести окремо з
                        9     % врахуванням всіх простих чисел primes(E), менших Е

                        10   e=653;
                        11   d=inverse(e,E);
                        12    % Перевірка
                        13    if gcd(e*d,n)~=1

                        14          print('Ключі обрано невірно!')
                        15          keyboard
                        16    end

                        17    disp(' ')
                        18    disp('CТВОРЕННЯ КЛЮЧІВ')
                        19    fprintf('Вихідні взаємно прості числа: p = %d,  q = %d',p,q)

                        20    fprintf('\nМодуль шифрування:  n = %d',n)
                        21    fprintf('\nФункція Ейлера:  Е =%d',E)
                        22    fprintf('\nВідкритий ключ:  e =%d,  n = %d',e,n)

                        23    fprintf('\nТаємний ключ:    d =%d,  n = %d\n',d,n)
                        24    % Для режиму цифрового підпису
                        25    % необхідно провести обмін значеннями ключів
                        26    if strcmp(alternative,'Signature')=1

                        27          v=e; e=d; d=v;
                        28    end


                               В.6  Текст програми SCRIPT-файлу ENCRYPT

                        1     % M-file encrypt
                        2

                        3     % Виконується шифрування відкритого тексту
                        4
                        5     % Уведіть явний текст як значення змінної PLAIN:

                        6     % англійською у режимі шифрування-дешифрування;
                        7     % українською у режимі цифрового підпису
                        8     plain='A Happy New Year!';         % режим 'Crypt'

                        9     %plain='Будьмо обережні!';          % режим 'Signature'
                        10    disp(' ')


                                                              36
   31   32   33   34   35   36   37   38   39   40