Это сюда можно вообще? #вопросподелу.
Хочу делать так:
Зашифровать строку "Hello world!" публичной частью ключа.
А потом расшифровать закрытой.
Использую mbedtls.
Функция непосредственной шифровки успешно проходит и возвращает мне 256 байт шифрованных данных (2048 битный ключ).
В описании написано, что эта функция сама делает паддинг и шифрует по pkcs1v15 стандарту.
В uart выплевываю 256 этих байт и вижу там что-то + много нулей, потом опять какие-то данные, потом опять нули. Нули - это и есть тот самый паддинг?
В общем эти же 256 байт я просто хочу обратно расшифровать закрытым ключом. Но mbedtls говорит мне, что "лол, у тебя паддинг неправильный, поэтому отменяю расшифровку. "
Ну в общем не могу понять почему расшифровка не проходит и куда копать.
PS:
Как я понял, для паддинга нужно уметь в генерацию рандомных чисел. Библиотека это умеет из коробки, но она использует библиотеку Си. В частности time.h. Но у меня нет библиотеки Си полноценной. Поэтому я написал свой генератор рандомных чисел на основе имеющейся у меня сишной функции rand().
Может дело в неправильном паддинге из-за плохого генератора?
Выложи код? И какая платформа?
Обсуждают сегодня