logo

Crowdly

Криптографія та стеганографія

Шукаєте відповіді та рішення тестів для Криптографія та стеганографія? Перегляньте нашу велику колекцію перевірених відповідей для Криптографія та стеганографія в moodle.vnu.edu.ua.

Отримайте миттєвий доступ до точних відповідей та детальних пояснень для питань вашого курсу. Наша платформа, створена спільнотою, допомагає студентам досягати успіху!

Демонстрація механізму шифрування, що лежить в основі

алгоритму RSA

Генерація відкритого ключа

Вибераємо два простих числа. Припустимо, що вони мають знач P = 11 і Q = 17

Обчислимо першу частину відкритого ключа: n =

=

Нам потрібен невеликий показник е. Цей показник має задовільняти 

умові 

e <Φ ( n )

Обчислимо Φ ( n ) = = 

Нехай e=3

Наш відкритий ключ складається з e=3  і =

Генерація закритого ключа d

 d = (k * Φ ( n )

) /

    для деякого

цілого числа k, яке задовольняє умові (d*е) mod Ф ( n ) =1

Виберемо  k = 2. Для такого значення d =.

Тепер ми готові до передачі шифрограми 

з  відкритим ключем ( = і e = 3)

і з закритим ключем =

Зашіфруем слово «DA». Буква «D» в алфавіті має номер 4, а «A» - 1.

Слово «DA» перетворюється в число 41

Зашифруємо дані

c = =

=

Тепер розшифруємо:

Розшифровані дані = =

    = 41

 

 

Переглянути це питання

Демонстрація механізму шифрування, що лежить в основі

алгоритму RSA

Генерація відкритого ключа

Вибераємо два простих числа. Припустимо, що вони мають знач P = 53 і Q = 59

Обчислимо першу частину відкритого ключа: n =

=

Нам потрібен невеликий показник е. Цей показник має задовільняти 

умові 

e <Φ ( n )

Обчислимо Φ ( n ) = = 

Нехай e=3

Наш відкритий ключ складається з e=3  і =

Генерація закритого ключа d

 d = (k * Φ ( n )

) /

    для деякого

цілого числа k, яке задовольняє умові (d*е) mod Ф ( n ) =1

Виберемо  k = 2. Для такого значення d =.

Тепер ми готові до передачі шифрограми 

з  відкритим ключем ( = і e = 3)

і з закритим ключем =

Зашіфруем слово «HI». Буква «H» в алфавіті має номер 8, а «I» - 9.

Слово «HI» перетворюється в число 89

Зашифруємо дані

c = =

=

Тепер розшифруємо:

Розшифровані дані = =

    = 89

 

 

Переглянути це питання

Демонстрація механізму шифрування, що лежить в основі

алгоритму RSA

Генерація відкритого ключа

Вибераємо два простих числа. Припустимо, що вони мають знач P = 11 і Q = 5

Обчислимо першу частину відкритого ключа: n =

=

Нам потрібен невеликий показник е. Цей показник має задовільняти 

умові 

e <Φ ( n )

Обчислимо Φ ( n ) = = 

Нехай e=3

Наш відкритий ключ складається з e=3  і =

Генерація закритого ключа d

 d = (k * Φ ( n )

) /

    для деякого

цілого числа k, яке задовольняє умові (d*е) mod Ф ( n ) =1

Виберемо  k = 2. Для такого значення d =.

Тепер ми готові до передачі шифрограми 

з  відкритим ключем ( = і e = 3)

і з закритим ключем =

Зашіфруем слово «DA». Буква «D» в алфавіті має номер 4, а «A» - 1.

Слово «DA» перетворюється в число 41

Зашифруємо дані

c = =

=

Тепер розшифруємо:

Розшифровані дані = =

    = 41

 

 

Переглянути це питання

Програма "Дешифрування перестановкою в 2х мірному масиві зміної шляху його зчитування". Заповнити пропуски

Примітка. Один відступ від краю екрану позначати так:____.(Один відступ - чотири нижні риски). 

#---------ЗАВАНТАЖЕНЯ ТЕКСТУ ДЛЯ деШИФРУВАННЯ---------------------

  # співставлення файлової змінної F з  файлом'povidom.txt'

       # читання файлу F в строкову змінну T

        # закриття файлу

#---------------------------------------------------------------------------------

S=1+len(T)//10   # визначення другої розмірності 2х мірного списку (перша-10)

deShifr=""       # створення порожнього рядка Shifr

M=[[" "]*10 for i in range(S)] # створення двомірного порожнього списку розміром 10ХS

print("Текст для дешифрування: ",T)  # вивід тексту для шифрування на екран 

#----Розподіл тексту з рядка T по окремим коміркам двомірного списку M[][]----

# цикл з параметром Y, який змінюється від 0 до 10

         # цикл з параметром X, який змінюється від 0 до S    

  # перевірка чи текст в рядку T, ще є

# заповнення окремої комірки двомірного списку M[][]

#--послідовна підклєйка в рядок Shifr букви з комірок двомірного списку M[][]--

      # цикл з параметром X, який змінюється від 0 до S

  # цикл з параметром Y, який змінюється від 0 до 10

# підклеює в рядок Shifr окремий знак з списку M[][]

print("Дешифрований текст: ", deShifr) # вивід тексту на екран

Переглянути це питання

Програма "Шифрування перестановкою в 2х мірному масиві зміної шляху його зчитування". Заповнити пропуски

Примітка. Один відступ від краю екрану позначати так:____.(Один відступ - чотири нижні риски). 

#---------ЗАВАНТАЖЕНЯ ТЕКСТУ ДЛЯ ШИФРУВАННЯ---------------------

  # співставлення файлової змінної F з  файлом'povidom.txt'

       # читання файлу F в строкову змінну T 

F.close()        # закриття файлу

print("Текст для шифрування: ",T) # вивід тексту для шифрування на екран

S=1+len(T)//10 # визначення другої розмірності 2х мірного списку (перша-10) 

Shifr=""       # створення порожнього рядка Shifr

# створення двомірного порожнього списку розміром 10ХS   

#----Розподіл тексту з рядка T по окремим коміркам двомірного списку M[][]----

      # цикл з параметром X, який змінюється від 0 до S

# цикл з параметром Y, який змінюється від 0 до 10

(>Y+10*X): # перевірка чи текст в рядку T, ще є  

=T[Y+10*X] # заповнення окремої комірки двомірного списку M[][]

#--послідовна підклєйка в рядок Shifr букви з комірок двомірного списку M[][]--

        # цикл з параметром Y, який змінюється від 0 до 10

     # цикл з параметром X, який змінюється від 0 до S

# підклеює в рядок Shifr окремий знак з списку M[][]

print("Зашифрований текст: ",Shifr) # вивід тексту на екран

#---------ЗБЕРЕЖЕННЯ ТЕКСТУ  ШИФРОВКИ---------------------

    # співставлення файлової змінної F  з  файлом'secret.txt'

              # запис в файл F строкової змінної Shifr

                   # закриття файлу

Переглянути це питання

Програма "Дешифрування перестановкою в одномірному масиві по ключу". Заповнити пропуски

Примітка. Один відступ від краю екрану позначати так:____.(Один відступ - чотири нижні риски). 

#---------ЗАВАНТАЖЕНЯ  ШИФРОВАННОГО ТЕКСТУ---------------------

  # співставлення файлової змінної F з файлом'secret.txt'

  # читання файлу F в строкову змінну Shifr

print(Shifr) # вивід шифровки на екран

F.close()    # закриття файлу

# вимірювання кількості букв D в шифровці

#---------ЗАВАНТАЖЕНЯ КЛЮЧА ДЛЯ ДЕШИФРУВАННЯ---------------------

key=[]       # створення списку key

F=open("key.txt",'r') # співставлення файлової змінної F з файлом"key.txt"

   # читання файлу F в строкову змінну L

  # перетворення рядка чисел L в список чисел k в строковому форматі

# цикл з параметром N в межах кількості букв в шифровці

(int(k[N])) # підклейка в кінець списку key чисел з k в форматі чисел

print(key)   # вивід списку key на екран

#-------------------ДЕШИФРУВАННЯ---------------------------

deShifr=""         # створення порожнього рядка deShifr

deShifrM=[" "]*D   # створення списку deShifrM пробілів(" ") довжиною D

# цикл з параметром N в межах кількості букв в шифровці

# формування дешифрованого текстового масиву по ключу  

#---СКЛЕЙКА ДЕШИФРОВАНОГО РЯДКА З МАСИВУ підклейкою букв в кінець рядка --

# цикл з параметром N в межах кількості букв в шифровці 

=deShifr+ # формування дешифрованого тексту

print(deShifr)                 # вивід рядка на екран

Переглянути це питання

Програма "Шифрування перестановкою в одномірному масиві по ключу". Заповнити пропуски

Примітка. Один відступ від краю екрану позначати так:____.(Один відступ - чотири нижні риски). 

#----------------ГЕНЕРУВАННЯ КЛЮЧА по алгоритму Фишера-Йетса в списку key--

    # вимірювання кількості букв D в тексті T 

key=[0]*D   # створення списку key довжиною D і заповненого його нулями

# цикл з параметром N в межах кількості букв в T

(0,N+1,1) # генерація випадкового числа V

  # присвоєння черговій в циклі комірці значення випадкової комірки  

    # присвоєння випадковій комірці значення номера чергової 

print(key)  # вивід списку key на екран

#------------------ШИФРУВАННЯ---------------------------------

Shifr=""            # створення порожнього рядка Shifr

  # цикл з параметром N в межах кількості букв в T

=Shifr+   # формування рядка Shifr з порядком букв key

print(Shifr)                 # однократний вивід на екран шифрограми 

#------------------ЗБЕРЕЖЕННЯ ТЕКСТУ  ШИФРОВКИ---------------------

  # співставлення файлової змінної F з файлом'secret.txt'

# запис в файл F строкової змінної Shifr

F.close()      # закриття файлу

#----------------ФОРМУВАННЯ КЛЮЧА ФОРМАТІ РЯДКА---------------------

Kluch=""  # створення порожнього рядка Kluch

  # цикл з параметром N в межах кількості букв в T

=Kluch++" " # підклейка в кінець рядка компоненту ключа 

#----------------ЗБЕРЕЖЕННЯ КЛЮЧА---------------------

Fk=open('key.txt','w') # співставлення файлової змінної Fk з файлом'key.txt'

# запис в файл рядка Kluch

Fk.close() # закриття файлу

Переглянути це питання

Програма "Дешифрування зміщенням коду букв по ключу". Заповнити пропуски

Примітка. Один відступ від краю екрану позначати так:____.(Один відступ - чотири нижні риски). 

#---------ЗАВАНТАЖЕНЯ  ШИФРОВАННОГО ТЕКСТУ---------------------

# співставлення файлової змінної F з файлом'povidom.txt'

                # читання файлу F в строкову змінну T 

                 # закриття файлу F

                 # вимірювання кількості букв D в тексті T

print(T)                  # вивід тексту для шифровки на екран

#---------ЗАВАНТАЖЕНЯ КЛЮЧА ДЛЯ ДЕШИФРУВАННЯ---------------------

key=[]     # створення списку key

# співставлення файлової змінної F з файлом"key.txt"

            # читання файлу F в строкову змінну L

           # перетворення рядка чисел L в список чисел k в строковому форматі

     # цикл з параметром N в межах кількості букв в шифровці

  # розділяє рядок на список слів

print(key)    # вивід списку key на екран

#------------------ШИФРУВАННЯ---------------------------------

deShifr=""      # створення порожнього рядка deShifr

# цикл з параметром N в межах D кількості букв в T (перебір букв в рядку)

=deShifr+ # шифрування окремого знаку побітовим xor з ключом 

print(deShifr) # друк строки deShifr

#---------ЗБЕРЕЖЕННЯ ТЕКСТУ  ШИФРОВКИ---------------------

  # співставлення файлової змінної F з  файлом'secret.txt'

           # запис в файл F строкової змінної deShifr

                  # закрити файл

Переглянути це питання

Програма "Шифрування зміщенням коду букв по ключу". Заповнити пропуски

Примітка. Один відступ від краю екрану позначати так:____.(Один відступ - чотири нижні риски). 

random # під'єднання бібліотеки random

#---------ЗАВАНТАЖЕНЯ ТЕКСТУ ДЛЯ ШИФРУВАННЯ ---------------------

# співставлення файлової змінної F з файлом'povidom.txt'

    # читання файлу F в строкову змінну T  

     # закриття файлу F

print(T)      # вивід тексту для шифрування на екран

       # вимірювання кількості букв D в тексті T

#----------------ГЕНЕРУВАННЯ КЛЮЧА------------------------------

key=[]        # створення списку key

# цикл з параметром N в межах D кількості букв в T

(1,5)) # підклейка випадкових значення в кінець списку key

print(key)    # виведення списку випадкових значень

#------------------ШИФРУВАННЯ---------------------------------

Shifr=""      # створення порожнього рядка Shifr

# цикл з параметром N в межах D кількості букв в T (перебір букв в рядку)

=Shifr+ # шифрування окремого знаку побітовим xor з ключом 

print(Shifr)

#---------ЗБЕРЕЖЕННЯ ТЕКСТУ  ШИФРОВКИ---------------------

  # співставити файлову змінну F  з  файлу 'secret.txt'

             # запис в файл F строкової змінної Shifr

                  # закриття файлу

#---------ФОРМУВАННЯ КЛЮЧА в строковому форматі---------------------

Kluch=""  # створення порожнього рядка Kluch

# цикл з параметром N в межах кількості букв в T

=Kluch++" " # підклейка в кінець рядка Kluch окремого значення 

#---------ЗБЕРЕЖЕННЯ КЛЮЧА---------------------

  # співставлення файлової змінної Fk з файлом'key.txt'

         # запис в файл рядка Kluch

               # закриття файлу

Переглянути це питання
txtIn="Hello world!!!"; txtOut='' # опис рядків

print("Вхідний текст ",txtIn)# вивід на екран вхідного тексту

key=[1,3,5,1,2,4,3,2,3,5,4,1,3,5,1] # Ключ масив key

for n in range(len(txtIn)):# цикл перебору букв

# шифрування або дешифрування 

txtOut=txtOut+chr(ord(txtIn[n])^key[n])

print("Результат шифрування або дешифрування ",txtOut)

Програма, представлена вище, шифрує або дешифрує поточну букву

побітовою операцією XOR - "^". Написати в двійковому коді ключ і результат.
o ^ 2 = m  01101111 ^ =

Переглянути це питання

Хочете миттєвий доступ до всіх перевірених відповідей на moodle.vnu.edu.ua?

Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!