0 / 0 / 0
Регистрация: 05.03.2016
Сообщений: 4
|
|
1 | |
Шифрование с открытым ключом06.06.2018, 22:48. Показов 5737. Ответов 16
Заинтересовался недавно шифрованием, слышал что есть так называемые "open source" шифраторы, но что-то не смог найти их код для примера. Дело в том что хочу сам создать через windows forms с использованием c++ простейшую утилиту для шифрования введенного текста. Что-то вроде 2 текст бара, 1 для ввода другое для вывода текста, окно для ввода ключа и кнопки зашифровать и дешифровать. При этом чтобы ключ работал про простейшему принципу, допустим ввожу 5-ти значный ключ (12345) шифрую текст, затем чтобы дешифровать текст требуется ввод того-же ключа (12345), если ключ будет другой то вместо исходного текста будет каша, а само шифрование происходило не перестановкой символов, а в виде хэша. Может кто кинуть пример такого кода.
0
|
06.06.2018, 22:48 | |
Ответы с готовыми решениями:
16
Шифрование/дешифрование методом RSA с открытым ключом. С++ Криптографический алгоритм с открытым ключом RSA Написать программу, которая шифрует и дешифрует файл алгоритмом с открытым ключом Шифрование файлов открытым ключем |
Заклинатель змей
700 / 555 / 219
Регистрация: 30.04.2016
Сообщений: 2,591
|
|
06.06.2018, 23:21 | 2 |
Матиас, например, хэдэр с готовым blowfish. Пример запуска есть в верхней части кода, в комментариях
https://defuse.ca/blowfish.htm
0
|
0 / 0 / 0
Регистрация: 05.03.2016
Сообщений: 4
|
|
06.06.2018, 23:53 [ТС] | 3 |
DobroAlex, спасибо, код полистал, довольно сложным показался, попробую разобраться, но хотелось-бы попроще, если такое есть.
0
|
1352 / 851 / 365
Регистрация: 26.02.2015
Сообщений: 3,799
|
|
07.06.2018, 00:01 | 4 |
Лучше уже возьмите CSP какую-нибудь, тестовые сертификаты, используйте CryptoAPI, CAPICOM, CapiLite и т.д. и попробуйте решить какую-нибудь более-менее реальную задачу. Например, авторизация на какой-нибудь торговой площадке с помощью ЭЦП.
Добавлено через 1 минуту Матиас, куда уж проще, чем этот header?
0
|
0 / 0 / 0
Регистрация: 05.03.2016
Сообщений: 4
|
|
07.06.2018, 17:34 [ТС] | 5 |
DobroAlex, что-то я так и не смог запустить этот код
0
|
Заклинатель змей
700 / 555 / 219
Регистрация: 30.04.2016
Сообщений: 2,591
|
|
07.06.2018, 21:54 | 6 |
Матиас, так покажите, что написали
0
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
|
07.06.2018, 22:21 | 7 |
Область интересная, и, судя по всему, перспективная. Но, чтобы использовать шифрование не бездумно, нужно познакомиться с основными принципами и терминами хотя бы на уровне вики.
Термин "Открытый ключ" относится к ассиметричному шифрованию и означает совсем не то, о чем вы пишете. "Хэширование" в отношении к шифрованию - процедура необратимая. Информацию, преобразованную хэш-функцией вы дешифровать, увы, не сможете. Я к тому, что матчасть сначала неплохо бы освоить, хоть на уровне 2x2.
0
|
474 / 426 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
|
|
07.06.2018, 22:27 | 8 |
gng,
а как же радужные таблицы?) Скорее всего имелось ввиду симметричное шифрование с использованием одного ключа для (де)кодирования Однако, Вы правы, автор сам не знает, что хочет:
0
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
|
07.06.2018, 22:36 | 9 |
Это не единственный способ взлома паролей по хэшу. Можно и тупым перебором. Мощностей бы хватило... Принципиально то, что первоначальную информацию все равно не получите гарантировано. Необратимость функции в данном случае означает, что к одному хэшу приводят разные начальные данные.
Т.е. кто угодно может декодировать? Но я сказал к тому что "открытый ключ" - устоявшийся термин.
0
|
474 / 426 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
|
|
07.06.2018, 22:54 | 10 |
gng, Я понял о чем речь шла, исходил из того, что автор писал в посте
Зная ключ, которым кодировали - да, это ж симметричные, тут нет закрытых/открытых.
0
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
|
07.06.2018, 22:59 | 11 |
0
|
0 / 0 / 0
Регистрация: 05.03.2016
Сообщений: 4
|
|
09.06.2018, 10:57 [ТС] | 12 |
Вы правы, решил я более детально изучить основы, и действительно тот бред, который я описывал в теме, можно было сократить до Симметричного шифрования с одним ключом. Может кто кинуть пример такого кода?
0
|
0 / 0 / 0
Регистрация: 05.10.2020
Сообщений: 3
|
|
14.12.2022, 16:55 | 13 |
Здравствуйте.
Я изучаю С++. Пока делаю элементарные ошибки. Нашел программу (Шифрование с открытым ключом) https://gist.github.com/Sergiy... 198302b850 Автор Sergii Osadchyi Пытаюсь в коде программы C++ RSA, заменить фрагмент: do { std::cout << "Enter a Prime number p :" << std::endl; std::cin >> p; flag = isPrime( p ); if ( flag == false ) { std::cout << "\nWRONG INPUT (This number is not Prime. A prime number is a natural number greater than 1 that has no positive divisors other than 1 and itself)\n" << std::endl; } } while ( flag == false ); do { std::cout << "Enter a Prime number q :" << std::endl; std::cin >> q; flag = isPrime( q ); if ( flag == false ) { std::cout << "\nWRONG INPUT (This number is not Prime. A prime number is a natural number greater than 1 that has no positive divisors other than 1 and itself)\n" << std::endl; } } while ( flag == false); На вполне конкретные, значения: p=53; q=199; И в итоге при попытке закодировать (Hello) получаю сообщение без первого знака: Enter Message to be encryped: Hello The message is: ello THE ENCRYPTED MESSAGE IS: � THE DECRYPTED MESSAGE IS: ello Если вводить эти числа в терменале, в программе без изменений, то все хорошо. В чем дело? Что я не вижу? Заранее благодарен.
0
|
0 / 0 / 0
Регистрация: 05.10.2020
Сообщений: 3
|
|
14.12.2022, 23:27 | 14 |
Разобрался.
В тексте программы присутствуют такие строки: // there is a newline character left in the input stream, so we use ignore() std::cin.ignore(); std::getline(std::cin, msg); Так вот, как только закоментировал std::cin.ignore(); все заработало как надо. Правда не очень понял, как одно с другим связано.
0
|
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,621
|
|
15.12.2022, 00:47 | 15 |
Если ты убрал ввод, то как ignore() мог остаться?
1
|
0 / 0 / 0
Регистрация: 05.10.2020
Сообщений: 3
|
|
15.12.2022, 08:49 | 16 |
Действительно! Но компилятор ошибки не обнаружил.
0
|
661 / 662 / 106
Регистрация: 29.05.2015
Сообщений: 3,964
|
|
15.12.2022, 14:38 | 17 |
Самый простой способ зашифровать файл - это проделать логическую операцию hor (^) между байтами файла и байтами генератора случайных чисел в диапазоне 0 - 255. В качестве ключа использовать число, иниалицизирующее ГСЧ.
0
|
15.12.2022, 14:38 | |
15.12.2022, 14:38 | |
Помогаю со студенческими работами здесь
17
Шифрование таблицей с ключом Шифрование данных ПРИВАТНЫМ ключом Шифрование методом перестановки с заданным ключом текста любой длины Шифрование методом перестановки символов открытого текста в соответствии с некоторым правилом (ключом) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |