哈希游戏- 哈希游戏平台- 哈希游戏官方网站
假设小红和小明是要在不安全的信道上进行通信的双方,他们可能按以下方式使用私钥加密。小红和小明都同意使用一种具有特定密钥和IV的特定算法(如Rijndael)。小红撰写一条消息并创建要在其上发送该消息的网络流。接下来,她使用该密钥和IV加密该文本,并通过Internet发送该文本。她没有将密钥和IV发送给小明。小明收到该加密文本并使用预先商定的密钥和IV对它进行解密。如果该传输被截获,截获者将无法恢复原始消息,原因是截获者不知道密钥或IV。在这个方案中,密钥必须保密,但IV不需要保密。在一个实际方案中,将由小红或小明生成私钥并使用公钥(不对称)加密将该私钥(对称)传递给对方。有关更多信息,请参见“公钥加密”。
基类库中提供的块密码类使用称作密码块链(CBC)的链模式,它使用一个密钥和一个初始化向量(IV)对数据执行加密转换。对于给定的私钥k,一个未使用初始化向量的简单块密码将把相同的明文输入块加密为同样的密文输出块。如果在明文流内有重复的块,那么在密文流内也会有重复的块。如果未经授权的用户知道有关明文块的结构的所有信息,就可以使用该信息解密已知的密文块并有可能获得您的密钥。若要克服这个问题,可将上一个块中的信息混合到加密下一个块的过程中。这样,两个相同的明文块的输出就会不同。由于该技术使用上一个块加密下一个块,因此使用了一个IV来加密数据的第一个块。使用该系统,未经授权的用户有可能知道的公共消息标头将无法用于对密钥进行反向工程。