Также просто еще одна вещь, чтобы уточнить:
Мало того, что алгоритмы симметричного шифрования выдают выходной сигнал, который по меньшей мере равен входному, то же самое верно и для асимметричного шифрования.
«Асимметричное шифрование» и «криптографические хеши» - это две разные вещи.
Асимметричное шифрование (например, RSA) означает, что с учетом вывода (т. Е. Зашифрованного текста) вы можете вернуть ввод (т. Е. Открытый текст), если у вас есть правильный ключ, просто для расшифровки требуется ключ отличается от ключа, используемого для шифрования. Для асимметричного шифрования применяется тот же аргумент "принципа голубя".
Криптографические хеши (например, SHA-1) означают, что, учитывая выходные данные (то есть хэш), вы не можете получить вход обратно, и вы даже не можете найти другой ввод, который хэширует к то же значение (при условии, что хеш-код безопасен). Для криптографических хэшей хэш может быть короче, чем входной. (На самом деле хеш имеет одинаковый размер независимо от длины входного файла.
И еще одна вещь: в любой защищенной системе шифрования зашифрованный текст будет на длиннее , чем открытый текст. Это связано с тем, что существует несколько возможных зашифрованных текстов, которые любой зашифрованный текст мог бы зашифровать (например, используя разные IV). Если бы это было не так, то шифр мог бы утекать информацию, потому что, если два одинаковых открытых текста были зашифрованы, они зашифровывались бы с одинаковыми зашифрованными текстами, и противник тогда узнает, что открытые тексты были такими же.