具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常可互换使用。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本申请实施例的消息发送方法、接收方法、装置及设备解决了现有技术中的消息传输过程中对数据加密后的密文不符合ASN.1编码器的输入规则,导致无法编码或错误编码以使得消息传输失败的问题。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的消息发送方法、接收方法、装置及设备进行详细地说明。
这里,首先需要说明的是,本申请实施例的消息发送方法和消息接收方法的一种应用场景为收发V2X数据(包含经度、纬度、海拔等坐标信息),在这种情况下,所述消息发送端和/或所述消息接收端可以为收发V2X数据的设备,如:车载单元、路侧单元、便携式终端、云控平台、应用服务器、地理位置服务器和智能网联汽车等。
如图3所示,为本申请实施例的消息发送方法的步骤示意图,该消息发送方法应用于消息发送端,其中,消息发送端包括但不限于云控平台、应用服务器、地理位置服务器、路侧单元等。
具体的,该消息发送方法包括:
步骤301:获取由目标坐标确定的第一数据;所述第一数据为M比特位的二进制数;
具体的,一方面,该目标坐标可以为表示地理位置的经度、纬度、海拔等,当然,也可以是其他数据,本申请不对该目标坐标的具体意义进行限定;另一方面,由目标坐标确定第一数据可以理解为:通过对该目标坐标进行相应的处理,如:运算、编码、进制转换等,以得到该第一数据;也就是说,该第一数据是一个与该目标坐标相关的数据。
步骤302:对所述第一数据的M比特位中的N个比特位的数据进行等长加密,获得第二数据;其中,所述N个比特位为所述第一数据中的预设低比特位,M与N均为正整数,且N小于M;
本步骤中,将该N个比特位限定为该第一数据中的预设低比特位,也就是说,该第一数据中的高比特位数据不进行加密,这样,能够确保加密后的密文仍然位于预设合理的范围。其中,可以通过预先配置的方式将该N个比特位发送给消息发送端和消息接收端。其中,该N个比特位可以为第一数据中的连续的N个比特位,也可以为不连续的比特位,本申请对此不做限定。
具体的,本申请实施例中的加密算法可以为对称加密算法,如:国产商密算法:比:SM4;DES/AES算法等,当然,本申请实施例中的加密算法还可以为非对称加密算法;本申请实施例对具体的加密算法不做限定,凡是能够实现等长加密的加密算法,均应在本申请的保护范围内。这样,本申请实施例能够实现采用传统的加密算法对数据进行加密,而并不需要设计专门的保留格式加密(Format Preserving Encryption,FPE)算法,保证了应用本申请实施例的消息发送方法的消息发送端的设备的广泛可使用。
这里,需要说明的是,等长加密是指明文和密文的比特位长度相同,如:明文长度为30bit,则密文长度也是30bit,在加密过程中不能进行任何比特位的填充操作。
在采用对称加密算法对该第一数据中的该N个比特位的数据进行等长加密时,一方面,所用的初始转化向量(initialization vector/initialization value,IV)值是和接收端预先约定的固定IV值;或者是预先配置的所述IV值;或者是从第三方获取的所述IV值;或者是按照约定规则,根据所述编码数据所在的空口消息中携带的数据得到的所述IV值;或者是根据加密密钥与IV值的映射关系确定的所述IV值。另一方面,所用的IV值是根据预设信息确定的;其中,所述预设信息至少包括以下其中两项:预配置参数、第三方发送的参数、所述编码数据所在的空口消息中携带的数据、加密密钥。
步骤303:将所述第一数据的所述N个比特位的数据对应更新为所述第二数据,以获得所述目标坐标的第三数据,所述第三数据为更新后的所述第一数据所对应的数据;
需要说明的是,由于本申请实施例是对该N个比特位的数据进行等长加密,因此,该第二数据的长度也为N。基于此,“对应更新”可以理解为将该N个比特位的数据与该第二数据依序一一更新,即:将该N个比特位的数据中的最高比特位的数据替换为该第二数据的最高比特位的数据,将该N个比特位的数据中的次高比特位的数据替换为该第二数据的次高比特位的数据,以此类推。
步骤304:传输由所述第三数据确定的第四数据。
该实施例中,消息发送端设备首先获取由目标坐标确定的第一数据;所述第一数据为M比特位的二进制数;其次,对所述第一数据的M比特位中的N个比特位的数据进行等长加密,获得第二数据;其中,所述N个比特位为所述第一数据中的预设低比特位,M与N均为正整数,且N小于M;以提高传输数据的安全性;且能够确保对第一数据的预设低比特位进行加密,使得加密后的数据能够位于预设范围内然后,将所述第一数据的所述N个比特位的数据对应更新为所述第二数据,以获得所述目标坐标的第三数据,所述第三数据为更新后的所述第一数据所对应的数据;以确保所述第三数据满足编码器的输入范围的要求,实现准确编码;最后,传输由所述第三数据确定的第四数据,最终减少了数据传输失败的问题。
在一实施例中,该第一数据为该目标坐标对应的二进制数。也就是说,该第一数据为非二进制数的目标坐标进行进制转换后得到的数据,如:十进制数的目标坐标转换为二进制数的第一数据。
在一个实施例中,步骤304,传输由所述第三数据确定的第四数据,包括:
采用抽象语法标记ASN.1非对齐压缩编码规则UPER对所述第三数据进行编码,获得第一ASN.1码流,所述第一ASN.1码流为所述第四数据;
传输所述第四数据。
也就是说,本实施例中,是对目标坐标所对应的二进制的第一数据进行部分加密后得到的第三数据进行ASN.1UPER编码的,具体编码可以为:首先,将该第三数据与ASN.1标准规定的输入范围的下限值做差,然后,对该差值进行ASN.1UPER编码,以得到待传输的码流。这样,就实现了对传输数据的加密,确保了数据传输的可靠性。
由上述内容可知,本申请的上述实施例的具体实现顺序为先对数据加密,然后再对加密后的数据进行ASN.1UPER编码,形成待传输的ASN.1码流。
下面,以经纬度为例,对该实现顺序为先加密后编码的实施例进行说明:
实例一:
A)将十进制的经纬度坐标值转换为二进制数;
B)选取设置经纬度坐标加密位,经度坐标加密位从经度二进制坐标低M1位中选择,纬度坐标加密位从纬度二进制坐标低M2中选择,加密位可以连续也可以不连续,可以为整字节也可以为非整字节,记经度坐标加密比特位数为X1,纬度坐标加密比特位数为X2;
C)分别对经纬度加密位数据进行加密,返回等长的加密值,分别为X1比特位、X2比特位;
D)将原始经纬度二进制坐标值中的X1和X2比特加密位数据替换为加密后的值;
E)将加密后的经纬度坐标值转换为十进制,进行ASN.1UPER编码并发送。
这里,需要说明的是,本申请实施例步骤101,获取由目标坐标确定的第一数据的具体实现还可以为:对该目标坐标进行预处理,获得第五数据;确定该第一数据为该第五数据所对应的二进制数;其中,该预处理过程可以为将该目标坐标与一预设值做差,该差值即为该第五数据。该预设值可以为ASN.1UPER编码规则中规定的坐标有效范围的最小值,下面,以具体实施例对该实现方式进行说明:
实例二:
A)将经纬度坐标值进行预处理,减去ASN.1UPER编码规则规定的坐标有效范围的最小值,以得到该第一数据所对应的十进制数;当然,若该经纬度坐标值和该最小值均为二进制数,则两者的差值即为该第一数据;其中,经度最小值为-1799999999,纬度最小值为-900000000;
B)选取设置预处理后的经纬度坐标加密位,经度坐标加密位从经度二进制坐标低M1位中选择,纬度坐标加密位从纬度二进制坐标低M2中选择,加密位可以连续也可以不连续,可以为整字节也可以为非整字节,记经度坐标加密比特位数为X1,纬度坐标加密比特位数为X2;
C)分别对经纬度加密位数据进行加密,返回等长的加密值,分别为X1比特位、X2比特位;
D)将预处理后的经纬度二进制坐标值中原始的X1和X2比特加密位数据替换为加密后的值;
E)将加密后的经纬度坐标值转换为十进制,然后经纬度坐标分别加上ASN.1UPER编码规则规定的坐标有效范围的最小值;
F)将处理后的经纬度坐标进行ASN.1UPER编码并发送。
在一个实施例中,所述第一数据为对所述目标坐标进行ASN.1UPER编码后形成的第二ASN.1码流。
也就是说,该第一数据是通过对该目标坐标进行ASN.1UPER编码后得到的二进制数据。结合步骤301至步骤302可知,在该第一数据为对该目标坐标进行ASN.1UPER编码后形成的第二ASN.1码流的情况下,本申请实施例的消息发送方法具体实现步骤为:先对数据进行ASN.1UPER编码,然后对编码后的数据进行加密。
需要说明的是,在该实施例中,在该第一数据为ASN.1码流中的数据的情况下,可以直接在ASN.1码流中的N个预设低比特位进行加密,这样,实现了对ASN.1码流的加密,此时,该第三消息和该第四消息相同;或者,可以首先提取出ASN.1码流中的第一数据,其次,对该第一数据中的预设N个比特位的数据进行加密,得到第二数据,然后,将N个比特位的数据对应更新为该第二数据,得到第三数据,最后,将该ASN.1码流中的该第一数据更新为该第三数据。
也就是说,该第三数据是该第四数据的至少部分内容,具体为:在该第一数据为该ASN.1码流的全部内容时,该第三数据和该第四数据完全相同,在该第一数据为该ASN.1码流的部分内容时,该第三数据和该第四数据的部分数据相同。
下面,以经纬度为例,对该实现顺序为先编码后加密的实施例进行说明:
实例三:
A)将十进制经纬度坐标值进行ASN.1UPER编码;
B)设置经纬度坐标加密位,经度坐标加密位从ASN.1码流中经度数据段低M1位中选择,纬度坐标加密位从ASN.1码流中纬度纬度数据段低M2中选择,加密位可以连续也可以不连续,可以为整字节也可以为非整字节,记经度坐标加密比特位数为X1,纬度坐标加密比特位数为X2;
C)分别对经纬度加密位数据进行加密,返回等长的加密数据,分别为X1比特位、X2比特位;
D)将ASN.1码流中经纬度数据段X1位和X2位加密位数据替换为加密后的数据并发送该ASN.1码流。
由上可知,本申请实施例的消息发送方法既可以通过先加密再编码的方式实现,也可以通过先编码再加密的方式实现,使得本申请实施例能够根据需求灵活设置,本申请实施例能够被广泛使用。
在一个实施例中,步骤302,对所述第一数据的M比特位中的N个比特位的数据进行等长加密,获得第二数据,包括:
在N为8的整数倍的情况下,采用明文长度为整字节的加密算法工作模式对所述N个比特位的数据进行等长加密,以获得所述第二数据;
在N不是8的整数倍的情况下,采用明文长度为非整字节加密算法工作模式对所述N个比特位的数据进行等长加密,以获得所述第二数据。
具体的,明文长度为非整字节加密算法可以如SM4加密算法的OFB/CFB等模式。通过根据明文长度的不同,可以选择不同的加密算法工作模式,实现了灵活选择加密算法模式,进一步提高了本申请实施例的适用范围。
在一个实施例中,为了保证第一数据加密后生成的第三数据不超出ASN.1UPER编码规则中对输入数据范围的要求,本申请实施例中需要预先选择特定的低比特位的N个比特位,具体可以为:
在所述第一数据中,所述N个比特位中的最高比特位低于所述第一数据中的预设比特位;
其中,所述预设比特位为第一预设数据与第二预设数据的最高位起,首个数值不同的比特位,所述第一预设数据的首个数值不同的比特位的数值为“0”且所述第二预设数据的所述首个数值不同的比特位的数值为“1”;
所述第一预设数据为目标地理区域坐标的最大值所对应的二进制数;
所述第二预设数据为ASN.1规定的坐标的有效范围的上限值所对应的二进制数。
下面,以中国的地理区域的经纬度范围作为具体实例对N个比特位的选择进行说明:
需要说明的是,根据ASN.1UPER编码规则要求,经度输入坐标有效范围为(-1799999999,1800000001),纬度输入坐标有效范围为(-900000000,900000001),选取中国区域经纬度坐标低比特位进行加密,加密后的经纬度坐标不能超出ASN.1UPER编码规则规定的有效范围。
实例一:
中国的经度范围约是(东经73.66,东经135.05),因此中国区域的经度最小值为730000000,经度最大值为1360000000;
ASN.1 UPER编码规则要求经度有效范围最大值1800000001,其转换为二进制数为:0110 1011 0100 1001 1101 0010 0000 0001;
中国经度最大值1360000000转换为二进制数为:0101 0001 0000 1111 11110100 0000 0000;
可见,如果保留中国经度坐标值的最高位3bit,对剩余的29bit加密,则加密后的最大值:
0101 1111 1111 1111 1111 1111 1111 1111<0110 1011 0100 1001 1101 00100000 0001;
因此,取M1=29,加密位数为N,则当取N≤M1的正整数时,对经度值低N位加密不会超出ASN.1UPER规定的有效范围。
实例二:
中国的纬度范围约是(北纬3.86,北纬53.55),因此中国区域的纬度最小值为30000000,纬度最大值为540000000;
ASN.1要求纬度有效范围最大值900000001转换为二进制:
011 0101 1010 0100 1110 1001 0000 0001;
中国区域经度最大值540000000转换为二进制:
010 0000 0010 1111 1011 1111 0000 0000;
可见,如果保留中国纬度值的最高位3bit,对剩余的28bit加密,则加密后的最大值:
010 1111 1111 1111 1111 1111 1111 1111<011 0101 1010 0100 1110 10010000 0001;
因此,取M2=28,加密位数为N,则当取N≤M2的正整数时,对纬度值低X位加密不超出ASN.1规定的有效范围。
实例三:
ASN.1UPER编码后经度值有效范围最大值为:
1800000001-(-1799999999)=3,600,000,000;
转换为二进制为:1101 0110 1001 0011 1010 0100 0000 0000;
中国区域经度最大值(1360000000)ASN.1UPER编码后为:
1360000000-(-1799999999)=3,159,999,999;
转换为二进制为:1011 1100 0101 1001 1100 0101 1111 1111;
可见,保留中国经度ASN.1UPER编码后值的最高位2bit,对剩余的30bit加密,则加密后的最大值:
1011 1111 1111 1111 1111 1111 1111 1111<1101 0110 1001 0011 1010 01000000 0000;
因此取M3=30,加密位数为N,则当取N≤M3的正整数时,对经度ASN.1 UPER编码后码流低N位加密不超出ASN.1UPER编码规则规定的有效范围。
实例四:
ASN.1UPER编码后纬度值有效范围最大值为:
900000001-(-900000000)=1,800,000,001;
转换为二进制为:110 1011 0100 1001 1101 0010 0000 0001;
中国区域纬度最大值540000000ASN.1UPER编码后为:
540000000-(-900000000)=1,440,000,000;
转换为二进制为:101 0101 1101 0100 1010 1000 0000 0000;
可见,如果保留中国经度ASN.1UPER编码后值的最高位2bit,对剩余的29bit加密,则加密后的最大值:
101 1111 1111 1111 1111 1111 1111 1111<110 1011 0100 1001 1101 00100000 0001;
因此取M4=29,加密位数为N,则当取N≤M4的正整数时,对纬度ASN.1 UPER编码后码流低N位加密不超出ASN.1UPER规定的有效范围。
由上述四个实例可以看出,实例一和实例二适用于该第一数据为目标坐标转换为的二进制数的情况,实例三和实例四适用于该第一数据为该目标坐标进行ASN.1UPER编码后形成的ASN.1码流的情况。
本申请实施例的消息发送方法,消息发送端首先获取由目标坐标确定的第一数据;所述第一数据为M比特位的二进制数,且所述第一数据可以为对所述目标坐标进行进制转换后的二进制数,也可以为对所述目标坐标进行ASN.1 UPER编码后的二进制数;其次,对所述第一数据的M比特位中的N个比特位的数据进行等长加密,获得第二数据;其中,所述N个比特位为所述第一数据中的预设低比特位,M与N均为正整数,且N小于M;以提高传输数据的安全性;且能够确保对第一数据的预设低比特位进行加密,使得加密后的数据能够位于预设范围内然后,将所述第一数据的所述N个比特位的数据对应更新为所述第二数据,以获得所述目标坐标的第三数据,所述第三数据为更新后的所述第一数据所对应的数据;以确保所述第三数据满足编码器的输入范围的要求,实现准确编码;最后,传输由所述第三数据确定的第四数据,最终减少了数据传输失败的问题。
本申请实施例在具有上述有益效果的基础上,还能够实现根据需求灵活选择加密和编码的先后顺序,使得本申请实施例的消息发送方法的使用范围更加广泛。
如图4所示,为本申请实施例的消息接收方法的步骤示意图;该消息接收方法应用于消息接收端,其中,消息接收端包括但不限于车载单元、便携式终端、智能网联汽车等。
具体的,该消息接收方法包括:
步骤401,获得消息发送端所传输的第四数据;所述第四数据为ASN.1码流;也就是说,消息发送端和消息接收端之间的数据传输为ASN.1码流传输。
步骤402,根据所述第四数据,获取目标坐标的第三数据;所述第三数据为M比特位的二进制数;
具体的,该第三数据可以是从第四数据中直接选取,也可是对该第四数据进行处理后,根据处理结果获得。
步骤403,对所述第三数据的M比特位中的N个比特位的数据进行等长解密,获得第二数据;其中,所述N个比特位为所述第三数据中的预设低比特位,M与N均为正整数,且N小于M;
具体的,该解密过程为消息发送端的消息发送方法实施例中的加密过程逆向过程,该加密过程的所有可实现方式均适用于本实施例中的解密过程。如:该解密过程的解密算法可以为对称加密算法,如:国产商密算法:比:SM4;DES/AES算法等,当然,本申请实施例中的加密算法还可以为非对称加密算法;本申请实施例对具体的加密算法不做限定,凡是能够实现等长加密的加密算法,均应在本申请的保护范围内。这样,本申请实施例能够实现采用传统的加密算法对数据进行加密,而并不需要设计专门的保留格式加密(FormatPreserving Encryption,FPE)算法,保证了应用本申请实施例的消息发送方法的消息发送端的设备的广泛可使用。
这里,需要说明的是,等长解密是指明文和密文的比特位长度相同,如:明文长度度为30bit,则密文长度也是30bit,在解密过程中不能进行任何比特位的填充操作。
需要说明的是,在采用对称加密算法对该第一数据中的该N个比特位的数据进行等长加密时,一方面,所用的初始转化向量(initialization vector/initializationvalue,IV)值是和接收端预先约定的固定IV值;或者是预先配置的所述IV值;或者是从第三方获取的所述IV值;或者是按照约定规则,根据所述编码数据所在的空口消息中携带的数据得到的所述IV值;或者是根据加密密钥与IV值的映射关系确定的所述IV值。另一方面,所用的IV值是根据预设信息确定的;其中,所述预设信息至少包括以下其中两项:预配置参数、第三方发送的参数、所述编码数据所在的空口消息中携带的数据、加密密钥。
步骤404:将所述第三数据的所述N个比特位的数据对应更新为所述第二数据,以获得第一数据,其中,所述第一数据为更新后的所述第三数据所对应的数据;
需要说明的是,由于本申请实施例是对该N个比特位的数据进行等长解密,因此,该第二数据的长度也为N。基于此,“对应更新”可以理解为将该N个比特位的数据与该第二数据依序一一更新,即:将该N个比特位的数据中的最高比特位的数据替换为该第二数据的最高比特位的数据,将该N个比特位的数据中的次高比特位的数据替换为该第二数据的次高比特位的数据,以此类推。
步骤405:根据所述第一数据,确定所述目标坐标。
本步骤具体可以是通过对该第一数据进行相应的处理,如:运算、编码、进制转换等,以确定该第一数据。
本申请实施例的消息接收方法,消息接收端首先获取消息发送端发送的第四数据,其次,根据该第四数据,获取目标坐标的该第三数据,其中,该第三数据为M比特位的二进制数;再次,对该第三数据中的N个比特位的数据进行等长解密,以获得第二数据,其中,所述N个比特位为所述第三数据中的预设低比特位,M与N均为正整数,且N小于M;使得解密后的数据不会超出预先规定的范围,然后,将所述第三数据的所述N个比特位的数据对应更新为所述第二数据,以获得第一数据,其中,所述第一数据为更新后的所述第三数据所对应的数据;最后,根据该第一数据,确定该目标坐标,确保了输入至ASN.1译码器中的数据在有效范围内,使得ASN.1译码器能够准去译码,以得到准确的目标坐标值。
在一实施例中,所述第三数据为所述第四数据的ASN.1UPER译码结果。
需要说明的是,这种情况下,该第四数据为ASN.1码流中的全部数据;当然,该第四数据还可以是ASN.1码流中的部分数据,如:是ASN.1码流中的坐标字段的比特位,这样,该第三数据则为该ASN.1码流的部分译码结果,即:坐标字段的译码结果。也就是说,该第三数据为所述第四数据的ASN.1 UPER译码结果中的至少部分。
在一实施例中,所述目标坐标为所述第一数据所对应的十进制数。
也就是说,该目标坐标为非十进制的该第一数据经进制转换后得到的十进制数据。如:第一数据为二进制数,则就是二进制的第一数据经二进制转十进制以得到十进制的该目标坐标。
在所述第三数据为所述第四数据的ASN.1UPER译码结果,且,所述目标坐标为所述第一数据所对应的十进制数的情况下,结合步骤401至步骤405可以看出,本消息接收方法的一个具体实施例为:先对接收到的第四数据进行ASN.1UPER译码,然后对译码结果中的第三数据进行解密,最后得到目标坐标值。下面,以经纬度为例,对该方法的实现过程进行说明:
实例一:
A)将收到的ASN.1码流(第四数据)进行译码,提取经纬度坐标加密值;
B)将十进制经纬度坐标加密值转换为二进制,提取经纬度坐标加密位数据,分别为经度X1比特位,纬度X2比特位;
C)分别将提取出的经纬度坐标加密位数据进行解密,返回等长的解密值,分别为经度X1比特位,纬度X2比特位;
D)将二进制经纬度坐标值中的经度X1比特加密位、纬度X2比特加密位数据替换为解密后的数据,并转换为十进制,以得到原始经纬度坐标值。
实例二:
A)将收到的ASN.1码流进行译码,提取经纬度坐标加密值;
B)对经纬度坐标加密值进行预处理,分别减去ASN.1UPER编码规则规定的坐标有效范围的最小值;
C)将预处理后的经纬度坐标加密值转换为二进制,提取经纬度坐标加密位数据,分别为经度X1比特位,纬度X2比特位;
D)分别将提取出的经纬度坐标加密位数据进行解密,返回等长的解密值,分别为经度X1比特位,纬度X2比特位;
E)经二进制纬度坐标值中的经度X1比特加密位、纬度X2比特加密位数据替换为解密后的数据,并转换为十进制;
F)将十进制经纬度坐标值分别加上ASN.1规定的坐标有效范围的最小值,以得到原始目标坐标值。
这里,需要说明的是,本消息接收方法中的实例一为消息发送方法中的实例一的逆向过程,本消息接收方法中的实例二为消息发送方法中的实例二的逆向过程。
在一实施例中,所述第三数据与所述第四数据相同;
步骤405,根据所述第一数据,确定所述目标坐标,包括:
将所述第四数据更新为所述第一数据;
对更新后的所述第四数据进行ASN.1UPER译码,所述目标坐标为更新后的所述第四数据的译码结果。
这里,需要说明的是,所述第三数据与所述第四数据相同可以理解为:第三数据和第四数据完全相同,或者,第三数据与第四数据中的部分相同;即:第三数据与第四数据中的至少部分相同。其中,在第四数据仅包括坐标字段的情况下,第三数据与第四数据完全相同;在第四数据(接收到的ASN.1码流)还包括坐标字段以外的数据的情况下,第三数据与第四数据中的部分相同。
结合步骤401至步骤405,以及,所述第三数据与所述第四数据相同,可知,本申请实施例的消息接收方法具体实现为:先对ASN.1码流中的数据解密,然后再对解密之后的ASN.1码流进行ASN.1UPER译码,以得到目标坐标的值。
下面,以经纬度为例,对该实现顺序为先编码后解密的实施例进行说明:
实例三:
A)提取收到的ASN.1码流中经纬度数据段加密位数据,分别为经度X1比特位和纬度X2比特位;
B)分别将提取出的经纬度数据段加密位数据进行解密,返回等长的解密数据,分别为经度X1比特位,纬度X2比特位;
C)将ASN.1码流中经纬度数据段中经度X1比特加密位、纬度X2比特加密位数据替换为解密后的数据;
D)将解密后的ASN.1码流进行ASN.1译码,以得到目标坐标的值。
这里,需要说明的是,本消息接收方法中的实例三为消息发送方法中的实例三的逆向过程。
在一实施例中,步骤403,对所述第三数据的M比特位中的N个比特位的数据进行等长解密,获得第二数据,包括:
在N为8的整数倍的情况下,采用密文长度为整字节的解密算法工作模式对所述N个比特位的数据进行等长解密,以获得所述第二数据;
在N不是8的整数倍的情况下,采用密文长度为非整字节的解密算法工作模式对所述N个比特位的数据进行等长解密,以获得所述第二数据。
具体的,明文长度为非整字节加密算法可以如SM4加密算法的OFB/CFB等模式。通过根据明文长度的不同,可以选择不同的加密算法工作模式,实现了灵活选择加密算法模式,进一步提高了本申请实施例的适用范围。
同样的,为了保证消息接收端能够准确对ASN.1码流解密,需要预先为消息接收端配置该N个比特低位,具体可以为:
在所述第三数据中,所述N个比特位中的最高比特位低于所述第三数据中的预设比特位;
其中,所述预设比特位为第一预设数据与第二预设数据的最高位起,首个数值不同的比特位,所述第一预设数据的首个数值不同的比特位的数值为“0”且所述第二预设数据的所述首个数值不同的比特位的数值为“1”;
所述第一预设数据为目标地理区域坐标的最大值所对应的二进制数;
所述第二预设数据为ASN.1规定的坐标的有效范围的上限值所对应的二进制数。
本申请实施例的消息接收方法,通过消息接收端首先获取消息发送端发送的第四数据,其次,根据该第四数据,获取目标坐标的该第三数据;再次,对该第三数据中的N个比特位的数据进行等长解密,以获得第二数据;然后,将所述第三数据的所述N个比特位的数据对应更新为所述第二数据,以获得第一数据;最后,根据该第一数据,确定该目标坐标,确保了输入至ASN.1译码器中的数据在有效范围内,使得ASN.1译码器能够准去译码,以得到准确的目标坐标值。
需要说明的是,本申请实施例的消息接收方法是消息发送方法的逆向过程,上述消息发送方法的各个实施例的逆向过程均适用于该消息接收方法,为避免重复,这里不再赘述。
为了更清楚的描述本申请实施例提供的消息发送方法和消息接收方法,下面结合图5至图8中的示例进行说明:
示例一:
图5为本申请实施例的消息发送端和消息接收端交互的流程图之一,具体为消息发送端对经度数据先加密再编码,且加密方式为非整字节加密,具体步骤如下:
步骤501:消息发送端获取待加密的原始经度的十进制整型值,该十进制整型值的数值范围是(730000000,1360000000);
步骤502:消息发送端将该原始经度的十进制整型值转换为二进制数据;其中,若转换的二进制数据的比特位不足32位,则通过在最高比特位之前通过补零的方式,将二进制数据补为32位且数值大小不变;然后,选取这32位的二进制数据中的N个预设低比特位的数据,未被选取的数据则保持不变;
步骤503:将该N个预设低比特位的数据作为输入的明文进行加密,以得到输出长度为Nbit的二进制数据的密文;其中,加密方式可以为等长加密,例如:明文长度为30bit,则密文长度还是30bit,也就是说,在加密过程中,不能进行任何比特位的填充操作;
步骤504:将长度为Nbit的二进制数据的密文与原始经度的十进制整型值转换为的二进制数据中保持不变的高比特位的数据进行合并,亦即,将原始经度的十进制整型值转换为的二进制数据中选取的N个预设低比特位的数据更新为密文中的数据;并将更新后的32bit的二进制数据转为十进制数据;
步骤505:将更新后的32bit的二进制数据转换为的十进制数据作为ASN.1编码器的输入数据,对其进行ASN.1 UPER编码,得到ASN.1码流;
步骤506:将该ASN.1码流传输给消息接收端;
步骤507:消息接收端对接收到的ASN.1码流进行译码,得到与坐标值对应的字段转换为的十进制整型数值,其中,该十进制整型数值的合法范围应是(-1799999999,1800000001);
步骤508:将该十进制整型数值转换为二进制数据,选取二进制数据中的N个预设低比特位的数据,且该二进制数据中的其他比特位的数据保持不变;
步骤509:将该N个预设低比特位的数据作为输入的密文进行解密,以得到输出长度为Nbit的二进制数据的明文;其中,解密方式与上述加密方式匹配;
步骤510:将长度为Nbit的二进制数据的密文与保持不变的(32-N)bit的数据进行合并,亦即:将译码得到的十进制整型数值转换为的二进制数据中的N个预设比特位的数据对应更新为明文中的数据,并转换为十进制数据;
步骤511:步骤510中转换为的十进制数据即为解密完成的原始经度的十进制整型值,其范围是(730000000,1360000000)。
示例二:
如图6所示,消息发送端和消息接收端交互的流程图之二,具体为消息发送端对经度数据先编码再解密,且加密方式为非整字节加密,具体步骤如下:
步骤601:消息发送端获取待加密的原始经度的十进制整型值,该十进制整型值的数值范围是(730000000,1360000000);
步骤602:将该原始经度的十进制整型值作为ASN.1编码器的输入数据,进行ASN.1UPER编码,得到ASN.1码流;
步骤603:从ASN.1码流中提取与原始经度对应的32bit长度的二进制数据,并提取该32bit长度的二进制数据中的最低的N个比特位的数据;
步骤604:将该N个比特位的数据作为输入明文,按照长度为N bit进行加密运算,使得输出长度为Nbit的二进制数据密文;其中,加密方式可以为固定明文长度的加密模式,例如:明文长度为30bit,则密文长度还是30bit,也就是说,在加密过程中,不能进行任何比特位的填充操作;
步骤605:将Nbit的二进制数据密文对应代替ASN.1码流中原始经度十进制数据对应的32bit长度二进制数据中的最低的N个比特位的数据,以更新ASN.1码流;
步骤606:将更新后的ASN.1码流传输给消息接收端;
步骤607:从接收到的ASN.1码流中提取原始经度十进制数据对应的32bit长度二进制数据,并提取该32bit长度二进制数据中最低的Nbit二进制数据;
步骤608:将提取的Nbit二进制数据作为输入密文,按照长度Nbit进行解密运算,以输出长度为Nbit的二进制数据明文;其中,解密方式与上述加密方式匹配;
步骤609:用解密后得到的Nbit二进制数据明文代替ASN.1码流中经度对应的32bit长度二进制数据的最低N位,以更新接收到的ASN.1码流;
步骤610:对更新后的ASN.1码流进行译码,输出与经度对应的十进制整型数据;
步骤611:步骤510中转换为的十进制数据即为解密完成的原始经度的十进制整型值,其范围是(730000000,1360000000)。
示例三:
图7为本申请实施例的消息发送端和消息接收端交互的流程图之三,具体为消息发送端对纬度数据先加密再编码,且加密方式为整字节加密,具体步骤如下:
步骤701:消息发送端获取待加密的原始纬度的十进制整型值,该十进制整型值的数值范围是(30000000,540000000);
步骤702:消息发送端将该原始经度的十进制整型值转换为二进制数据;其中,若转换的二进制数据的比特位不足31位,则通过在最高比特位之前补零的方式,将二进制数据补为31位且数值大小不变;然后,选取这32位的二进制数据中的24个预设低比特位的数据,未被选取的数据则保持不变;
步骤703:将该24个预设低比特位的数据作为输入的明文,按照长度3字节进行加密运算,输出长度为3字节的二进制密文;其中,加密方式可以为等长加密,例如:明文长度为30bit,则密文长度还是30bit,也就是说,在加密过程中,不能进行任何比特位的填充操作;
步骤704:将长度为24bit的二进制数据的密文与原始经度的十进制整型值转换为的二进制数据中保持不变的高比特位的数据进行合并,亦即,将原始经度的十进制整型值转换为的二进制数据中选取的24个预设低比特位的数据更新为密文中的数据;并将更新后的31bit的二进制数据转为十进制数据;
步骤705:将更新后的31bit的二进制数据转换为的十进制数据作为ASN.1编码器的输入数据,对其进行ASN.1UPER编码,得到ASN.1码流;
步骤706:将该ASN.1码流传输给消息接收端;
步骤707:消息接收端对接收到的ASN.1码流进行译码,得到与坐标值对应的字段转换为的十进制整型数值,其中,该十进制整型数值的合法范围应是(-900000000,900000001);
步骤708:将该十进制整型数值转换为二进制数据,选取二进制数据中的24个预设低比特位的数据,且该二进制数据中的其他比特位的数据保持不变;
步骤709:将该24个预设低比特位的数据作为输入的密文进行解密,以得到输出长度为24bit的二进制数据的明文;其中,解密方式与上述加密方式匹配;
步骤710:将长度为24bit的二进制数据的密文与保持不变的7bit的数据进行合并,亦即:将解密后的24bit二进制数据替换对应的原24bit数据,并将更新后的数据转换为十进制数;
步骤711:确定步骤710转换为的十进制数为目标坐标的值,其范围是(30000000,540000000)。
示例四:
如图8所示,消息发送端和消息接收端交互的流程图之二,具体为消息发送端对经度数据先编码再解密,且加密方式为整字节加密,具体步骤如下:
步骤801:消息发送端获取待加密的原始纬度的十进制整型值,该十进制整型值的数值范围是(30000000,540000000);
步骤802:将该原始纬度的十进制整型值作为ASN.1编码器的输入数据,进行ASN.1UPER编码,得到ASN.1码流;
步骤803:从ASN.1码流中提取与原始纬度对应的31bit长度的二进制数据,并提取该31bit长度的二进制数据中的最低的16个比特位的数据;
步骤804:将该16个比特位的数据作为输入明文,按照长度为2字节进行加密运算,使得输出长度为2字节的二进制数据密文;其中,加密方式可以为固定明文长度的加密模式,例如:明文长度为30bit,则密文长度还是30bit,也就是说,在加密过程中,不能进行任何比特位的填充操作;
步骤805:将16bit的二进制数据密文对应代替ASN.1码流中原始纬度十进制数据对应的31bit长度二进制数据中的最低的16个比特位的数据,以更新ASN.1码流;
步骤806:将更新后的ASN.1码流传输给消息接收端;
步骤807:从接收到的ASN.1码流中提取原始纬度十进制数据对应的31bit长度二进制数据,并提取该31bit长度二进制数据中最低的16bit二进制数据;
步骤808:将提取的16bit二进制数据作为输入密文,按照长度2字节进行解密运算,以输出长度为2字节的二进制数据明文;其中,解密方式与上述加密方式匹配;
步骤809:用解密后得到的16bit二进制数据明文代替ASN.1码流中纬度对应的31bit长度二进制数据的最低16bit,以更新接收到的ASN.1码流;
步骤810:对更新后的ASN.1码流进行译码,输出与纬度对应的十进制整型数据;
步骤811:步骤810中转换为的十进制数据即为解密完成的原始经度的十进制整型值,其范围是(30000000,540000000)。
这里,需要说明的是,虽然示例一和示例二公开的是对经度坐标的收发方法,且加密方式为明文长度为非整字节的加密的工作模式,示例三和示例四公开的是对纬度坐标的收发方法,且加密方式为密文长度为非整字节的加密的工作模式,但是,对经度坐标的收发方法中,也可以是采用明文长度为整字节加密算法工作模式,对纬度坐标的收发方法中,也可以是采用明文长度为非整字节加密算法工作模式。
如图9所示,为本申请实施例的消息发送装置的结构图,该消息发送装置900应用于消息发送端,该消息发送装置1000包括:
第一获取模块901,用于获取由目标坐标确定的第一数据;所述第一数据为M比特位的二进制数;
第二获取模块902,用于对所述第一数据的M比特位中的N个比特位的数据进行等长加密,获得第二数据;其中,所述N个比特位为所述第一数据中的预设低比特位,M与N均为正整数,且N小于M;
第三获取模块903,用于将所述第一数据的所述N个比特位的数据对应更新为所述第二数据,以获得所述目标坐标的第三数据,所述第三数据为更新后的所述第一数据所对应的数据;
传输模块904,用于传输由所述第三数据确定的第四数据。
可选的,所述第一数据为所述目标坐标所对应的二进制数据。
可选的,所述传输模块904包括:
获取子模块,用于采用抽象语法标记ASN.1非对齐压缩编码规则UPER对所述第三数据进行编码,获得第一ASN.1码流,所述第一ASN.1码流为所述第四数据;
传输子模块,用于传输所述第四数据。
可选的,述第一数据为对所述目标坐标进行ASN.1UPER编码后形成的第二ASN.1码流。
可选的,所述第二获取模块902具体用于:
在N为8的整数倍的情况下,采用明文长度为整字节的加密算法工作模式对所述N个比特位的数据进行等长加密,以获得所述第二数据;
在N不是8的整数倍的情况下,采用明文长度为非整字节加密算法工作模式对所述N个比特位的数据进行等长加密,以获得所述第二数据。
可选的,在所述第一数据中,所述N个比特位中的最高比特位低于所述第一数据中的预设比特位;
其中,所述预设比特位为第一预设数据与第二预设数据的最高位起,首个数值不同的比特位,所述第一预设数据的首个数值不同的比特位的数值为“0”且所述第二预设数据的所述首个数值不同的比特位的数值为“1”;
所述第一预设数据为目标地理区域坐标的最大值所对应的二进制数;
所述第二预设数据为ASN.1规定的坐标的有效范围的上限值所对应的二进制数。
本申请实施例的消息发送装置900是与上述消息发送方法实施例对应的,上述方法实施例中的所有实现手段均适用于该消息发送装置1000的实施例中,也能达到相同的技术效果。为避免重复,这里不再赘述。
如图10所示,为本申请实施例的消息接收装置的结构图,该消息接收装置1000应用于消息接收端,该消息接收装置1000包括:
第一获取模块1001,用于获得消息发送端所传输的第四数据;所述第四数据为ASN.1码流;
第二获取模块1002,用于根据所述第四数据,获取目标坐标的第三数据;所述第三数据为M比特位的二进制数;
第三获取模块1003,用于对所述第三数据的M比特位中的N个比特位的数据进行等长解密,获得第二数据;其中,所述N个比特位为所述第三数据中的预设低比特位,M与N均为正整数,且N小于M;
第四获取模块1004,用于将所述第三数据的所述N个比特位的数据对应更新为所述第二数据,以获得第一数据,其中,所述第一数据为更新后的所述第三数据所对应的数据;
确定模块1005,用于根据所述第一数据,确定所述目标坐标。
可选的,所述第三数据为所述第四数据的ASN.1UPER译码结果。
可选的,所述目标坐标为所述第一数据所对应的十进制数。
可选的,所述第三数据与所述第四数据相同;
所述确定模块1005包括:
更新子模块,用于将所述第四数据更新为所述第一数据;
译码子模块,用于对更新后的所述第四数据进行ASN.1UPER译码,所述目标坐标为更新后的所述第四数据的译码结果。
可选的,所述第三获取模块1003用于:
在N为8的整数倍的情况下,采用密文长度为整字节的解密算法工作模式对所述N个比特位的数据进行等长解密,以获得所述第二数据;
在N不是8的整数倍的情况下,采用密文长度为非整字节的解密算法工作模式对所述N个比特位的数据进行等长解密,以获得所述第二数据。
本申请实施例的消息接收装置1000是与上述消息接收方法实施例对应的,上述方法实施例中的所有实现手段均适用于该消息接收装置1000的实施例中,也能达到相同的技术效果。为避免重复,这里不再赘述。
为了更好的实现上述目的,如图11所示,本申请实施例还提供了一种消息发送端设备,该消息发送端设备包括:处理器1100;以及通过总线接口与所述处理器1100相连接的存储器1120,所述存储器1120用于存储所述处理器1100在执行操作时所使用的程序和数据,处理器1100调用并执行所述存储器1120中所存储的程序和数据。
其中,收发机1110与总线接口连接,用于在处理器1100的控制下接收和发送数据;处理器1100用于读取存储器1120中的程序执行以下步骤:
获取由目标坐标确定的第一数据;所述第一数据为M比特位的二进制数;
对所述第一数据的M比特位中的N个比特位的数据进行等长加密,获得第二数据;其中,所述N个比特位为所述第一数据中的预设低比特位,M与N均为正整数,且N小于M;
将所述第一数据的所述N个比特位的数据对应更新为所述第二数据,以获得所述目标坐标的第三数据,所述第三数据为更新后的所述第一数据所对应的数据;
传输由所述第三数据确定的第四数据。
其中,在图11中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1100代表的一个或多个处理器和存储器1120代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1110可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的终端,用户接口1130还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。处理器1100负责管理总线架构和通常的处理,存储器1120可以存储处理器1100在执行操作时所使用的数据。
可选的,所述第一数据为所述目标坐标所对应的二进制数据。
可选的,所述处理器1100在传输由所述第三数据确定的第四数据时,具体用于:
采用抽象语法标记ASN.1非对齐压缩编码规则UPER对所述第三数据进行编码,获得第一ASN.1码流,所述第一ASN.1码流为所述第四数据;
传输所述第四数据。
在图12中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1200代表的一个或多个处理器和存储器1220代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1210可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的终端,用户接口1230还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。处理器1100负责管理总线架构和通常的处理,存储器1220可以存储处理器1200在执行操作时所使用的数据。
可选的,所述第一数据为对所述目标坐标进行ASN.1UPER编码后形成的第二ASN.1码流。
可选的,处理器1100在对所述第一数据的M比特位中的N个比特位的数据进行等长加密,获得第二数据时,具体用于:
在N为8的整数倍的情况下,采用明文长度为整字节的加密算法工作模式对所述N个比特位的数据进行等长加密,以获得所述第二数据;
在N不是8的整数倍的情况下,采用明文长度为非整字节加密算法工作模式对所述N个比特位的数据进行等长加密,以获得所述第二数据。
可选的,所述N个比特位中的最高比特位低于所述第一数据中的预设比特位;
其中,所述预设比特位为第一预设数据与第二预设数据的最高位起,首个数值不同的比特位,所述第一预设数据的首个数值不同的比特位的数值为“0”且所述第二预设数据的所述首个数值不同的比特位的数值为“1”;
所述第一预设数据为目标地理区域坐标的最大值所对应的二进制数;
所述第二预设数据为ASN.1规定的坐标的有效范围的上限值所对应的二进制数。
如图12所示,为本申请实施例的消息接收端设备的结构图,该消息接收端设备包括:处理器1200;以及通过总线接口与所述处理器1200相连接的存储器1220,所述存储器1220用于存储所述处理器1200在执行操作时所使用的程序和数据,处理器1200调用并执行所述存储器1220中所存储的程序和数据。
其中,收发机1210与总线接口1230连接,用于在处理器1200的控制下接收和发送数据;处理器1200用于读取存储器1220中的程序执行以下步骤:
获得消息发送端所传输的第四数据;所述第四数据为ASN.1码流;
根据所述第四数据,获取目标坐标的第三数据;所述第三数据为M比特位的二进制数;
对所述第三数据的M比特位中的N个比特位的数据进行等长解密,获得第二数据;其中,所述N个比特位为所述第三数据中的预设低比特位,M与N均为正整数,且N小于M;
将所述第三数据的所述N个比特位的数据对应更新为所述第二数据,以获得第一数据,其中,所述第一数据为更新后的所述第三数据所对应的数据;
根据所述第一数据,确定所述目标坐标。
本发明的消息发送端设备实施例是与上述消息发送方法的实施例对应的,上述方法实施例中的所有实现手段均适用于该终端的实施例中,也能达到相同的技术效果。
其中,在图12中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1200代表的一个或多个处理器和存储器1220代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1210可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的终端,用户接口1230还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。处理器1200负责管理总线架构和通常的处理,存储器1220可以存储处理器1200在执行操作时所使用的数据。
可选的,所述第三数据为所述第四数据的ASN.1UPER译码结果。
可选的,所述目标坐标为所述第一数据所对应的十进制数。
可选的,所述第三数据与所述第四数据相同;
所述处理器1200在用于根据所述第一数据,确定所述目标坐标时,具体用于:
将所述第四数据更新为所述第一数据;
对更新后的所述第四数据进行ASN.1UPER译码,所述目标坐标为更新后的所述第四数据的译码结果。
可选的,所述处理器在用于,对所述第三数据的M比特位中的N个比特位的数据进行等长解密,获得第二数据时,具体用于:
在N为8的整数倍的情况下,采用密文长度为整字节的解密算法工作模式对所述N个比特位的数据进行等长解密,以获得所述第二数据;
在N不是8的整数倍的情况下,采用密文长度为非整字节的解密算法工作模式对所述N个比特位的数据进行等长解密,以获得所述第二数据。
本发明的消息接收端设备实施例是与上述消息接收方法的实施例对应的,上述方法实施例中的所有实现手段均适用于该终端的实施例中,也能达到相同的技术效果。
本领域技术人员可以理解,实现上述实施例的全部或者部分步骤可以通过硬件来完成,也可以通过计算机程序来指示相关的硬件来完成,所述计算机程序包括执行上述方法的部分或者全部步骤的指令;且该计算机程序可以存储于一可读存储介质中,存储介质可以是任何形式的存储介质。
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。