密钥如何用于加密算法?

Tho*_*mas 3 encryption cryptography

我正在浏览并找到关于加密的好文章.但是,它们都没有描述为什么密钥长度很重要,以及密钥用于什么.我的猜测是可以这样工作:

Plaintext:   0101001101010101010
Key:         01010010101010010101   //the longer the key, the longer unique sequence
XOR or smth: //result
Run Code Online (Sandbox Code Playgroud)

至少它是如何工作的还是我错过了什么?

Ste*_*n C 5

密码系统通常比您描述的XOR系统复杂得多.实际上,只有当密钥的位数至少与纯文本消息一样多时,XORing才能真正起作用,并且您只使用密钥来加密一条消息.这称为"一次性填充"加密.

在大多数加密系统中,密钥不直接与纯文本组合.相反,它控制加密算法执行的转换.理想情况下,算法执行的转换过于复杂而无法在不知道或猜测密钥的情况下进行反转.因此,在理想情况下,密钥中的比特数决定了"强力"破解所需的平均猜测数.

然而,在实践中,密码学家可以从密文(即加密的消息)中收集可以减少搜索空间的线索,从而需要使用更多的比特.对于我们通常使用的公钥加密系统尤其如此.这些系统基于难以逆转的数学计算(例如,大质数对的乘法),并且位数确定执行反向计算的"问题"大小(例如,两个大质数的乘积的因式分解).

您对如何将密钥"应用"到纯文本感兴趣.答案是,它从一个加密系统到另一个加密系统各不相同,并且该过程通常相当复杂.这个问题不适用于一般性答案.