Как зашифровать текст с помощью CRC32 - PullRequest
0 голосов
/ 21 марта 2019

Насколько я знаю, CRC32 - это код, обнаруживающий ошибки.
Я не использовал его раньше, но получил задание использовать CRC32 для шифрования текста.

Можно ли использовать CRC32 для шифрования?

Ответы [ 2 ]

2 голосов
/ 21 марта 2019

я получаю некоторую задачу использовать CRC32 для шифрования некоторого текста.

Как уже отмечалось, crc32 - это контрольная сумма, даже не криптографический хеш.Это означает, что ему не хватает важных функций, которые можно использовать в криптографии

Предположим (неправильно), что вы можете использовать crc32 в качестве хеш-функции.

Теоретически (длинный выстрел) вы можете создать потоковый шифр, например цепное хеширование ключа .Вы можете зашифровать данные с ним.Просто я уверен, что решение будет недостаточно безопасным.(даже сейчас я любитель, и я вполне уверен, что вижу несколько векторов атаки на таком шифре, crc32 просто слишком линейен)

1 голос
/ 22 марта 2019

Как уже отмечалось, CRC является линейным и легко обратимым, что именно то, что вы не хотите для безопасного шифрования.

Однако возможно кодировать данные с CRC, если для этого была какая-либо причина.Например, вы можете взять четыре байта данных, вычислить CRC-32 этих данных и передать CRC-32 вместо данных.Повторите для следующих четырех байтов.Этот CRC-32 можно легко перевернуть, чтобы получить исходные четыре байта.

Я понятия не имею, почему это может быть полезно, но это можно сделать.

...