Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Схема шифрування Рабіна з відкритим ключем (реферат)

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Кодування. Перед кодуванням 10 бітового повідомлення M = 10 011 110 012 припишемо в кінці його останні 6 бітів: M' = 10 011 110 011 110 012 = 40 569. Обчислити квадратні корені із числа C. Нехай ними будуть m1, m2, m3, m4. (Якщо НСД (m, n) 1, то рівняння x2 C може мати один чи два корені); Оскільки лише в одному із коренів останні 6 біт повторюються, то вихідним повідомленням було M = m3. Деякими… Читати ще >

Схема шифрування Рабіна з відкритим ключем (реферат) (реферат, курсова, диплом, контрольна)

Реферат на тему:

Схема шифрування Рабіна з відкритим ключем

Генерація ключів для схеми шифрування Рабіна.

1. Згенерувати два великих простих числа p та q приблизно однакової довжини;

2. Обчислити n = p * q;

3. Відкритим ключем, А є n, закритим ключем, А є p та q.

Схема шифрування Рабіна B шифрує повідомлення M для A, яке потім A дешифрує.

Кодування інформації Дії B:

1. Отримати відкритий ключ n від А;

2. Представити повідомлення m як число у проміжку {0, …, n-1};

3. Обчислити C = M2 mod n;

4. Надіслати зашифроване повідомлення C до А.

Декодування інформації Дії A:

1. Обчислити квадратні корені із числа C. Нехай ними будуть m1, m2, m3, m4. (Якщо НСД (m, n) 1, то рівняння x2 C може мати один чи два корені);

2. Деякими допоміжними засобами встановити, який із коренів m1, m2, m3, m4 є вихідним повідомленням M.

Приклад Генерація ключа. p = 277, q = 331, n = 277 * 331 = 91 687;

Кодування. Перед кодуванням 10 бітового повідомлення M = 10 011 110 012 припишемо в кінці його останні 6 бітів: M' = 10 011 110 011 110 012 = 40 569.

C = M'2 mod n = 405 692 mod 91 687 = 62 111.

Декодування. Обчислюємо квадратні корені з числа 62 111 за модулем 91 687:

m1 = 69 654, m2 = 22 033, m3 = 40 569, m4 = 51 118,.

які у двійковому представленні мають вигляд:

m1 = 10 001 000 000 010 110, m2 = 1 010 110 000 100 001,.

m3 = 1 001 111 001 111 001, m4 = 1 100 011 110 101 110.

Оскільки лише в одному із коренів останні 6 біт повторюються, то вихідним повідомленням було M = m3.

Проблема дублювання інформації. Отримувач закодованого повідомлення С стоїть перед проблемою знаходження вихідного повідомлення M серед квадратних коренів m1, m2, m3, m4. Для цього можна перед кодуванням продублювати певну частину даних (наприклад останні 64 біти). Тоді з великою ймовірністю у одного із коренів mi будуть продубльовані останні біти, який і вважається переданим повідомленням M. Якщо жодне із mi не мають дублюючих даних, то повідомлення С вважається хибним і не розглядається далі.

Показати весь текст
Заповнити форму поточною роботою