深入了解SSH:原理、架构与协议解析
1. SSH加密技术
在SSH中,为了确保数据安全,采用了特殊的加密方式。具体做法是,使用Bob Bitflipper的公钥对批量密钥进行加密,这样只有Bob能够解密。由于秘密密钥通常较小(最多几百位),公钥算法的速度不会成为问题。当进行解密操作时,Bob的解密程序先解密批量密钥,然后用它来解密密文。这种方法结合了两种加密技术的优点,SSH正是采用了这一技术。在SSH连接中传输的用户数据,使用快速的秘密密钥密码进行加密,而该密钥通过公钥方法在客户端和服务器之间共享。
2. 哈希函数
在密码学以及计算机和网络技术的其他领域,判断数据集合是否发生变化是很有用的。虽然可以通过发送或保存原始数据进行比较,但这在时间和存储方面成本过高。哈希函数就是解决这一需求的常用工具,SSH - 1使用哈希函数进行完整性检查。
哈希函数是将较大的数据值集合映射到较小集合的函数。例如,哈希函数H可以接受长度最长为50,000位的输入位串,并均匀地产生128位的输出。当向Alice发送消息m时,同时发送哈希值H(m)。Alice独立计算H(m)并与收到的值进行比较,如果不同,则说明消息在传输过程中被修改。
但这种简单的技术并非完全有效。由于哈希函数的值域严格小于其定义域,许多不同的消息可能具有相同的哈希值。一个有用的哈希函数H必须具备这样的特性:消息在传输过程中可能发生的改变,极有可能导致消息哈希值的变化。也就是说,对于消息m和典型的修改后消息m’,H(m) = H(m’)的可能性极小。
哈希函数需要根据其预期用途进行定制。在网络中,网络传输的数据报通常包含消息哈希,用于检测由于硬件故障或软件错误导致的传输
超级会员免费看
订阅专栏 解锁全文
1152

被折叠的 条评论
为什么被折叠?



