发布时间:2025-06-01 22:53:30 点击量:
HASH GAME - Online Skill Game GET 300
数字签名、流加密、块加密和公钥加密这四项加密操作的加密属性分别为 digitally-signed, stream-ciphered, block-ciphered 和 public-key-encrypted。 对一个域进行何种加密操作是由在此域 的类型说明前的合适的加密属性 (关键字) 决定的, 加密的密钥是由当前对话状态字隐含给出的 (见 7.1 节) 。 在数字签名中, 输入为一单向哈希函数 (one-way hash function) 当用 RSA 算法进行签名时, 。 用签名私钥对一 36 字节的结构进行签名, 36 字节的结构是由两个哈希函数生成的, 此 一个为 SHA, 另一个是 MD5。当用 DSS 算法进行签名时,可以直接对由 SHA 哈希函数生成的 20 字节的结构进 行签名。 在流加密中,明文的长度与由密钥产生的密文的长度是相同的。此密钥是由伪随机数发生器生 成的安全的密钥,是根据时间的变化而变化的。 在块加密中,密文的每一块均被加密成一块密文。由于明文的长度并不是固定的,所以有可能 在对明文(发出的数据)分块时产生一不满的块(块的长度通常为 64 比特) ,此时就需要将此不满 的块的剩余部分填充数据,一般来说是填零。 在公钥加密中,单向限门函数被用来加密要发出的数据,用一给定公钥加密的数据仅能由相应 的私钥解出,同样用一给定私钥加密的数据仅能由相应的公钥解出。 在下例中: stream-ciphered struct { uint8 field1; uint8 field2; digitally-signed opaque hash[20]; } UserType; 哈希函数的结果做为签名算法的输入,整个结构 UserType 用流加密进行加密。
另一类稀疏的数据类型是枚举(enum) ,枚举类型的数据的取值范围只能是在其定义是声明的 值。每一次定义均定义了一不同的类型。只有相同类型的枚举数据才可以相互赋值和比较,枚举类 型的每个枚举元素均必须象下例中所示的那样, 被赋一个值。 由于枚举类型这的元素是没有顺序的, 所以它们可以取任意顺序的不同的值。 enum { e1(v1), e2(v2), ... , en(vn), [(n)] } Te; 枚举类型的值在字节流中占据的空间的大小是其定义的取值范围中最大的可能值所占的空间大小。 下列定义会使类型 Color 占有一个字节。 enum { red(3), blue(5), white(7) } Color; 你还可以通过指定一个无标签的值来强制枚举类型所占的字节数,这样就不需定义一冗余元素了。
本文件是一个 Internet 草案。Internet 草案是 Internet 工程特遣组(ITEF)及其领域和工作组 的工作文件。请注意,其他团体也可以发布 Internet 草案。 Internet 草案自公布之日起至多六个月内有效。它可以随时被修改、被替换,或被其他文件所 覆盖。把 Internet 草案作为文献来引用,除说明是“正在进展中的工作”以外,是不合适的。 要了解任何一个 Internet 的当前地位,请查阅如下网址:美国东海岸) , nic.nordu.net 欧洲) ftp.isi.edu ( , (美国东海岸) 以及 munnari.oz.au (环太平洋地区) 其中 Internet 。 Drafts Shadow Directories 目录下的 1id-abstract.txt 列表可提供这方面的信息。
制定 SSL 协议的初衷是为通讯双方提供安全可靠的通讯服务,协议包含两个层次:其较低的 SSL 记录层协议位于某一可靠的传输协议(例如 TCP[TCP]协议)之上;SSL 记录层协议用来对其 上层的协议进行封装。握手协议就在这些被封装的上层协议之中,它允许客户端和服务器彼此认证 对方;并且在应用协议发出或收到第一个数据之前协商加密算法和加密密钥。这样作的原因是保证 了应用协议的独立性,使低级协议对高级协议是透明的。 SSL 协议提供的连接安全性具有以下三条属性 连接是安全的。在初始化握手协议协商加密密钥之后传输的消息均为加密的消息。加密的 算法为单钥加密算法(例如 DES[DES], RC4[RC4]等)。 对方的身份是可以通过非对称加密算法-即公钥加密算法(例如 RSA[RSA], DSS[DSS] 等)来验证。 连接是可靠的。所传输的消息均包含一利用签名私钥加密的消息文摘(MAC),以保证消息 的完整性。安全杂凑(hash)函数(例如 SHA, MD5 等)被用来产生消息文摘(MAC)。
注意:并不是所有的 SSL 的实例(甚至在同一应用程序内)都可以成功的连接。例如,如果服 务器支持一特定的硬件令牌(token),而客户端不能访问此令牌,则连接不会成功。 可扩展性。 SSL 寻求提供一种框架结构, 在此框架结构中, 在不对协议进行大的修改的情况下, 新的公钥算法和单钥算法可以在必要时被加入。这样做还可以实现两个子目标 1. 避免产生新协议的需要,因而进一步避免了产生新的不足的可能性。 2. 避免了实现一完整的安全协议的需要。 相对的有效性。加密操作,尤其是公钥加密,对 CPU 来说是一种很耗时的事,因此 SSL 协议引入 一可选的对话缓存(CACHE)来减少从头开始的连接的数目。同时,它还注意减少网络的活动。
向量(一维数组)是一同类型的数据元素的流,向量的规模可以在编写文档时说明,也可以留至 运行时才指明;不管在哪一种情况下,向量的规模(即大小)是由向量中字节的个数而不是向量中元 素的个数决定的。 说明一新类型 T’是一固定长度的类型 T 的向量的语法为: T T[n]; 在这里,T’在数据流中占 n 比特,其中 n 是 T 的所占字节数的倍数。向量中包含数据元素的个数没 有包含在数据流之中。 在下例中, Datum 被定义为三个连续的协议无法解释的字节的向量;而 Data 被定义为三个连续的 Datum,一共包含 9 个字节 opaque Datum[3]; /* 三个协议无法解释的字节 */ Datum Data[9]; /* 三个连续的包含三个字节的向量 */ 可变长向量可以通过指明合法长度的范围,即形如最小长度..最大长度的形式来定义,在编码时, 在字节流中实际长度应在向量的内容之前,此实际长度是以数字的形式存储的,此数字应能表示此 向量的最大长度(ceiling length)。空向量指的是一实际长度为零的向量。 T Tfloor..ceiling; 在下例中, mandatory 是一必须包含 300 到 400 字节的 opaque 类型数据的向量, 它不能是空向量, 其实际长度域占有两个字节,即 uint16,足以表示 400(见 6.4 节) ,而 longer 最多能表示 800 个 字节,即 400 个 uint16 的数据元素,且请合法使用软件可以是空向量。它的编码包含一两字节 的实际长度域。 opaque mandatory300..400; /* 长度域为两个字节,不能为空向量 */ uint16 longer0..800; /* 零至 400 个 16 比特的无符号整数 */
所有的数据项的表示均是显式说明的,基本数据块的长度为一字节(也就是说 8 比特)多字节 的数据项是由从上至下、从左至右的多个字节连接组成。从字节流的角度来看,一多字节的数据项 (在本例中是一数字)是通过下述公式形成的: value = (byte[0] 8*(n-1)) (byte[1] 8*(n-2)) ... byte[n-1]; 这种字节的顺序关系是网络中常用的顺序关系即大 endian 格式。