@ProCxx

Страница 2209 из 2477
Ilia
17.07.2018
19:40:46
c си я знаком лет 12 уже, но кодил на нём исключительно железо(контроллеры).
А ну тогда может тебе с++ особенно и не надо... На сколько я знаю, 3d все в основном на чистом си Ну гляди.

А книга для знающих с чтобы изучить с++ - это я не знаю, наверное Страустрап...

Kathu
17.07.2018
19:43:04
по opengl есть отдельный чат, но это как учить с++ по API одной SDK библиотеки

Google
Alex Фэils?︙
17.07.2018
19:44:04
ну, там не только по OpenGL, но велком, да: @prographon

Alexander
17.07.2018
19:44:30
никак не могу найти инфу - умеет или нет msvc в sample-based PGO?

судя по тому, что я нахожу - не умеет

Azoyan
17.07.2018
19:47:18
Эккель это не Java?

Pavel
17.07.2018
19:48:27
Alex Фэils?︙
17.07.2018
20:07:15
https://www.opennet.ru/opennews/art.shtml?num=48979

Bogdasar
17.07.2018
20:18:58
так по этой книги учить?
Да, поздно отвечаю, но одна из лучших книг по C++ это книга Стивена Пратта.

Ilia
17.07.2018
20:20:33
Эккель это не Java?
У него и С++ есть

Chiveson
17.07.2018
20:51:33
есть какая-нибудь чудо-шаблонная либа реализующая diffie hellman, а то openssl тянуть не хочется?

Chiveson
17.07.2018
21:14:59
ну притяни что-нибудь другое: boringssl, botan ?
там если без кривых кода 10 строк, а в проект при статике 1мб лезет)

Google
Alex Фэils?︙
17.07.2018
21:37:20
Выдери только алгоритм

Ⱪonstantin
18.07.2018
07:11:47
не нужно думать, что в криптографии всё слишком просто.

Да, возведение в степень занимает строк десять. Написать это так, чтобы известные атаки не работали: с генерацией нормального рандома, тесты на простоту, устойчивость к тайм-атакам, устойчивость к другим типам атак. я думаю, надёжная реализация диффи-хеллман протокола никак не может занимать меньше 10к строк

но да, конечно, прототип на питоне - это 10 строчек

Выдери только алгоритм
статическая линковка с оптимизацией + strip именно это и делают. не может 1мб быть)

Chiveson
18.07.2018
07:16:15
но да, конечно, прототип на питоне - это 10 строчек
10 строк, было о том, что алгоритм в лоб реализуется легко, очевидно, что в openssl код не просто так пишут

Ⱪonstantin
18.07.2018
07:16:43
"в лоб" и "криптография" можно использовать только в контексте "перебрать ключ в лоб"

во всех остальных случаях это заканчивается "ваше приложение дыряво как доллоровая шлюха с 40летним стажем" и отдаётся также легко

Ⱪonstantin
18.07.2018
07:18:09
?

Chiveson
18.07.2018
07:19:38
https://github.com/kokke/tiny-ECDH-c есть такое на просторах

Ⱪonstantin
18.07.2018
07:39:55
/* NOTE: assumes private is filled with random data before calling */ int ecdh_generate_keys(uint8_t* public, uint8_t* private);

https://github.com/kokke/tiny-ECDH-c есть такое на просторах
где данные рандомные надёжные брать?

yuri
18.07.2018
07:42:01
где данные рандомные надёжные брать?
GetDC(HWND_DESKTOP); (правда, потом объяснить юзерам, что ты не отсылаешь скриншоты рабочего стола по ssl-туннелю)

Ⱪonstantin
18.07.2018
07:43:25
и микрофон надо ещё всё время слушать

https://github.com/kokke/tiny-ECDH-c есть такое на просторах
смею заметить, что на беглый взгляд это выглядит неплохо, и даже методы константного времени действительно генерируют код работающий константное время (на моём компиляторе). Вау!

Но это не значит, что он правда надёжный.

Google
Alexey
18.07.2018
08:01:51
и микрофон надо ещё всё время слушать
и клавиатуру тоже. и список процессов, списки окон, их положение.

Ildar
18.07.2018
08:02:11
Кто-нибудь знает, как в 2017 студии выключить предпросмотр цпп файла при генерации дефинишена из объявления метода? Чот в гугле ничего не нашёл.

Antony
18.07.2018
08:02:49
и клавиатуру тоже. и список процессов, списки окон, их положение.
Всем этим занимается ОС, и пихает рандомные битики, полученные таким образом, вам в /dev/random

Alexey
18.07.2018
08:03:19
/me поискал /dev/random в винде.

не у каждой винды оно есть!

Group Butler [beta]
18.07.2018
08:03:51
ChronosX kicked for flood!

Antony
18.07.2018
08:05:26
Есть замена. см std::random_device

как-то вот так: https://github.com/boostorg/random/blob/develop/src/random_device.cpp#L121

И да, если вам нужна действительно безопасность - смените ОС. Иначе вы никогда не узнаете, что там твроится в ядре, что втиснуто между криптопровайдером и вашим приложением, что там за криптопровайдер, и логируются ли ваши случайные числагде-то ещё на стороне

Alexey
18.07.2018
08:14:49
ну, если динамически линковаться с каким-нибудь openssl, то с помощью LD_PRELOAD, полагаю, можно кое-что сделать и в линуксе.

Ilia
18.07.2018
08:15:54
Добрый день. Возможно, это слишком простые вопросы, но в supapro не получил ответа. 1. Как правильно использовать seed_seq для инициализации mt19937_64? У меня есть 4 числа в std::array, которые являются источником энтропии. На данный момент делаю таким образом std::array<std::uint64_t, 4> arr {1, 2, 3, 4}; std::seed_seq seeds (arr.begin(), arr.end()); std::mt19937_64 gen(seeds); Но надежно ли такое решение? В некоторых примерах набор seed состоит из 312 (mt19937::state_size) элементов. 2. Также иногда встречается метод generate класса seed_seq, который заполняет контейнер. Но я немного не понимаю его смысл. Нужно инициализировать seed_seq и с помощью generate заполнить контейнер из 312 элементов, инициализировать новый seed_seq этим контейнером и, наконец, передать его mt19937_64? Звучит ужасно и выглядит как костыли.
Иван, просто на следующий раз. Это вопросы, специфичные для конкретной части библиотеки, для конкретного примерения. Такие вопросы надо сразу в @procxx.

Ilia
18.07.2018
08:28:03
Пиши мало длинных и содержательных сообщений. Не пиши много коротких отрывочных бессодержательных сообщений. В общем, по формуле ДУМАЙ! ПИШИ! ШЛИ!

PRO_DanDy
18.07.2018
08:28:45
Ребят, как включить модуль отладки "Машинный код" в студии?

Это так в ошибке написано

Я так понял что нужно просто включить отладку машинного кода

Но вот как это сделать?

Побитый
18.07.2018
09:11:18
Бот дисциплинирует излагать мысли одним сообщением ?

Fuzzytoozy
18.07.2018
10:05:17
Господа . Я правильно понимаю используя GCC 7.3 и c++17 невозможно создать ассоциативный контейнер value в котором unique_ptr с incomplete типом?

Google
Andrei
18.07.2018
10:06:28
Map можно, unordered_map скорее всего нельзя.

Fuzzytoozy
18.07.2018
10:06:44
Он оба не хочет инсткнцировать

Spoonson
18.07.2018
10:07:14
custom deleter можно попробовать установить

Fuzzytoozy
18.07.2018
10:12:12
Так дело было не в инстанцировании.

Andrey
18.07.2018
10:12:30
Нельзя даже просто проинстанцировать unique_ptr от incomplete типа: struct X; namespace std { template class unique_ptr<X>; }

Fuzzytoozy
18.07.2018
10:13:01
Дело было в вставке

вот так работает: std::map<std::string, std::unique_ptr<pcap_t, decltype(&pcap_close)>> pcapDescriptors; pcapDescriptors.insert(std::make_pair(pcapFullPath, std::unique_ptr<pcap_t, decltype(&pcap_close)>(pcap_open_offline(pcapFullPath.data(), pcap_errbuf), &pcap_close)));

Spoonson
18.07.2018
10:13:59
https://godbolt.org/g/Fcih2i вот так

Fuzzytoozy
18.07.2018
10:14:50
Да, удалятором работает. Вставка даже с удалятором не работает если через operator[] вставлять

а не insert'ом

Тееем
18.07.2018
10:15:20
Ребят, посоветуйте какой-нибудь чат или канал исключительно по C# , заранее спасибо

Fuzzytoozy
18.07.2018
10:17:04
Вобщем если добавлять элементы через operator[] он почему то default ctor дернуть пытается. /usr/local/include/c++/7.3.0/tuple:1652:70: error: no matching function for call to ‘std::unique_ptr<pcap, void (*)(pcap*)>::unique_ptr()’ second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)

Тееем
18.07.2018
10:18:09
Спасибо

@pro_net

Страница 2209 из 2477