Господа! Скажите пожалуйста я правильно разбиваю сообщение на блоки (шифрование/дешифрование) в RSA? Для шифрования я разбиваю сообщение на блоки длиной k=[log2(n)]. Блоки фиксированной длины, поэтому добавляю сообщение нулями.
При дешифровки разбиваю шифровку на блоки < n. Не знаю почему но у меня этот способ не работает. Вот пример: 1 1110 0001 -> 0001 1110 0001. Например при шифровании мы получили:
0001-> 1
1110->XXXXXX
0001->1
В результате 1XXXXXX1. Теперь я хочу расшифровать это сообщение, но данный способ разбиения на блоки тут сработает не верно. Я не понимаю. В чем я ошибаюсь?
> Господа! Скажите пожалуйста я правильно разбиваю сообщение > на блоки (шифрование/дешифрование) в RSA? Для шифрования я > разбиваю сообщение на блоки длиной k=[log2(n)]. Блоки > фиксированной длины, поэтому добавляю сообщение нулями. > При дешифровки разбиваю шифровку на блоки < n. Не знаю > почему но у меня этот способ не работает. Вот пример: 1 > 1110 0001 -> 0001 1110 0001. Например при шифровании > мы получили: > 0001-> 1 > 1110->XXXXXX > 0001->1
Не совсем понятно. Если ты шифруешь 0001, то должно получиться 0001, а не 1. Аналогично с 1110 - получиться должно XXXX - надо всегда сохранять разрядность каждого блока прежде чем склеивать (хотя непонятно как разрядность могла увеличиться - неправильно разбил на блоки? Опечатка в посте?). Возможно, ошибка в этом. Это во-первых.
Во-вторых, какой режим шифрования используешь? Попробуй для начала простой ECB - проверь, правильно ли все работает. Возможно, что где-то напортачил на этом этапе.
А вообще из того, что ты написал, явной ошибки не видно. Нужны подбробности.
> В результате 1XXXXXX1. Теперь я хочу расшифровать это > сообщение, но данный способ разбиения на блоки тут > сработает не верно. Я не понимаю. В чем я ошибаюсь?