1 Востаннє редагувалося cheappi386 (01.08.2020 18:28:15)

Тема: Питання по криптографії

Підкажіть.Чи є реалізації такого:

  1. Є ключ А та ключ В

  2. За допомогою ключа А можна закриптувати

  3. За допомогою ключа А можна декрептувати

  4. За допомогою ключа В можна тільки декрептувати, данні криптовані ключем А

?

2

Re: Питання по криптографії

Будь-який асиметричний алгоритм шифрування? RSA? ElGamal?

3

Re: Питання по криптографії

/KIT\ написав:

Будь-який асиметричний алгоритм шифрування? RSA? ElGamal?

З мене математик як з лайна куля, я хотів дізнатися про існуючі реалізації реалізаціяї ліб на C# чи C++ Якщо такі є.

4

Re: Питання по криптографії

Подивiться в бiк еллiптичних кривих (curve25519). Реалiзацiй достатньо на будь якiй МП.

5

Re: Питання по криптографії

Такого нема, доведеться обирати між симетричним та асиметричним алгоритмами.
Симетричний: За допомогою ключа можна і шифрувати і розшифровувати.
Асиметричний: Ключ А для шифрування, ключ Б для розшифрування.

Подякували: itakal1

6

Re: Питання по криптографії

А є алгоритми, що дозволяють створювати декілька розшифровувальних ключів для одного шифрувального?
Тоді «ключ А» можна було б зробити як запис, що включає власне шифрувальний ключ та один розшифровувальний ключ, «ключ Б» — як інший розшифровувальний ключ.

Втім, чи існує об'єктивна необхідність у різних розшифровувальних ключах? Якщо нема, то можна зробити ще простіше: «ключ А» містить у собі шифрувальний ключ та ключ Б.

7

Re: Питання по криптографії

P.Y. написав:

А є алгоритми, що дозволяють створювати декілька розшифровувальних ключів для одного шифрувального?

Нема. Один ключ, один народ, один фюрер.
Якщо є 2 та бiльше ключiв, то алгоритм не може бути криптоcтiйким.

8

Re: Питання по криптографії

cheappi386 написав:

Підкажіть.Чи є реалізації такого:

Так, це активно використовується для цифрових підписів. Ключ B в такому разі є публічним, а шифруються не всі дані, а лише геш - для підтвердження, що оригінал був проглянутий власником ключа A. Фактично при накладані цифрового підпису на геші застосовується функція асиметричного розшифрування закритим ключем, а на підписі - функція асиметричного шифрування відкритим.

P.Y. написав:

А є алгоритми, що дозволяють створювати декілька розшифровувальних ключів для одного шифрувального?

Так, звісно. Можна навіть запропонувати процедурний підхід: робите кілька ключів надмірної складності (по 1 біту надмірності на log2(кількість отримувачів)) - це буде "шифрувальний ключ". Ключі для розшифрування роздаєте всім учасникам. Інформація шифрується кілька разів різними ключами; кожен власник ключа може розшифрувати лише "свій" блок, а надмірна складність гарантує складність шифру на рівні початкового шифру.

Подякували: leofun01, P.Y.2

9

Re: Питання по криптографії

кожен власник ключа може розшифрувати лише "свій" блок

Це не вiдповiдає умовам задачi.
Неможливо створити шифр, щоб один i той же текст можна було розшифрувати рiзними ключами!!!  *FACEPALM*  *WALL*

10

Re: Питання по криптографії

cheappi386 написав:

Підкажіть.Чи є реалізації такого:

  1. Є ключ А та ключ В

  2. За допомогою ключа А можна закриптувати

  3. За допомогою ключа А можна декрептувати

  4. За допомогою ключа В можна тільки декрептувати, данні криптовані ключем А

?

Просто ключ А має включати обидва.

11

Re: Питання по криптографії

Vo_Vik написав:
cheappi386 написав:

Підкажіть.Чи є реалізації такого:

  1. Є ключ А та ключ В

  2. За допомогою ключа А можна закриптувати

  3. За допомогою ключа А можна декрептувати

  4. За допомогою ключа В можна тільки декрептувати, данні криптовані ключем А

?

Просто ключ А має включати обидва.

А чи не вплине це на криптостійкість?

12

Re: Питання по криптографії

ukrVitalik написав:

кожен власник ключа може розшифрувати лише "свій" блок

Це не вiдповiдає умовам задачi.
Неможливо створити шифр, щоб один i той же текст можна було розшифрувати рiзними ключами!!!  *FACEPALM*  *WALL*

Відповідає. Просто процедура "розшифрування" буде включати обробку лише частини зашифрованих даних. В умові немає вимог мінімальності шифру.
До речі, можна зробити і мінімальний з двома ключами, але дещо складніше.

13

Re: Питання по криптографії

Chemist-i написав:

А чи не вплине це на криптостійкість?

Яким чином? Ніде в умові немає вимоги, щоб ключ B не можна було отримати з ключа A. Власне, відкритий ключ саме обчислюється з закритого ключа.

14

Re: Питання по криптографії

koala написав:
Chemist-i написав:

А чи не вплине це на криптостійкість?

Яким чином? Ніде в умові немає вимоги, щоб ключ B не можна було отримати з ключа A. Власне, відкритий ключ саме обчислюється з закритого ключа.

Ну як мінімум тому, що зменшить діапазон "допустимих" ключив шифрування (передбачаю що дуже значно) що зменшить кількість варіантів перебору для брутфорса. Я не спеціаліст з криптографії, але знаю, будь які "велосипедні" модифікації алогоритмів (чи маніпуляції з ключами) як правило сильно зменшують стійкість. Звичайно, що для первинної задачи можливо висока стійкість і не треба.

15

Re: Питання по криптографії

Так алгоритм шифрування не змінюється. Змінюється протокол.
Насправді можна навіть не збільшувати ключ - бо для перевірки доведеться перевіряти кожен ключ кілька разів, і наскільки скоротиться кількість операцій підбирання, настільки збільшиться час перевірки кожного потенційного ключа.

Можу дати модифікацію, яка використовується на практиці:
- генеруємо великий унікальний симетричний ключ К (випадкові 1024 біти, наприклад);
- шифруємо дані цим ключем;
- шифруємо ключ К асиметричними користувацькими ключами Кi і дописуємо до зашифрованих даних у визначені місця (у заголовок пакету, скажімо).
Тепер тому, хто ламатиме, доведеться розшифровувати не файл із відомою структурою, а випадкові біти. Ну, або ж файл, але зі значно більшим ключем.