信息,那么將字庫分為11個字符信息包,最后一個字符信息包中有10個字符信息。或者,可以設(shè)置字符信息包的總數(shù)為10個,那么,平均每個字符信息包有21個字符信息。劃分的時候,可以將字符信息從I到210的順序依次分包,也可以隨機(jī)選擇組成每個字符信息包,還可以根據(jù)漢字的筆畫為序依次分包,。
[0139]方式二:根據(jù)漢字、數(shù)字、字母、符號、特殊字符對字庫中的字符信息進(jìn)行分類,將類別相同的字符信息劃分為一組;
[0140]在方式二中,例如,可以將字庫分為5個字符信息包,其中,一個字符信息包包括漢字對應(yīng)的字符信息,一個字符信息包包括數(shù)字字符對應(yīng)的字符信息,一個字符信息包包括英文字母字符對應(yīng)的字符信息,一個字符信息包包括符號對應(yīng)的字符信息、最后一個字符信息包包括特殊字符對應(yīng)的字符信息。另外,更進(jìn)一步,如果將漢字分為簡體和繁體,還可以分為6個字符信息包,將簡體漢字字符對應(yīng)的字符信息分為一個字符信息包,將繁體漢字字符對應(yīng)的字符信息劃分為另一個字符信息包。
[0141]方式三:根據(jù)行業(yè)習(xí)慣將同時使用頻率高于使用預(yù)設(shè)閾值的字符對應(yīng)的字符信息劃分為一組;
[0142]在方式三中,例如,在金融行業(yè)應(yīng)用中,“金”字和“額”字這兩個字組合在一起顯示的頻率非常高(高于使用預(yù)設(shè)閾值,例如“金”、“額”兩字同時出現(xiàn)的機(jī)率大于40% ),在對字庫中的字符信息分包時,可以將這兩個漢字字符對應(yīng)的字符信息劃分在一個字符信息包中。類似的,還有“賬” “號”,“確” “認(rèn)”等等,此處僅舉例說明,本實施例具體不做限制。
[0143]在實際交易應(yīng)用時,智能密鑰設(shè)備將需要顯示的字符信息(“金”字和“額”字)的標(biāo)識發(fā)送給終端。終端發(fā)現(xiàn)字符信息(“金”字和“額”字)在同一個字符信息包中,就只將這個字符信息包下發(fā)給智能密鑰設(shè)備,智能密鑰設(shè)備接收到這個字符信息包以后,利用本地存儲的密鑰對這個接收到的字符信息包進(jìn)行驗證,若驗證通過則從該字符信息包中選出需要顯示的“金”字和“額”字的字符信息,即可根據(jù)該字符信息進(jìn)行顯示。應(yīng)用該種策略下的分包方式,終端只需下發(fā)一個字符信息包,傳輸數(shù)據(jù)量小,且智能密鑰設(shè)備接收到該字符信息包后只需校驗一個檢驗碼,即可完成,效率更高。具體地,終端可以是PC、移動終端如手機(jī)或者遠(yuǎn)程后臺,智能密鑰設(shè)備在交易過程中與該終端進(jìn)行通訊,該終端上可以提前下載安裝字庫中各個字符信息包。
[0144]方式四:將字庫中所有漢字拆分成多個字根,將組合頻率高于組合預(yù)設(shè)閾值的字根對應(yīng)的字符信息劃分為一組。
[0145]在方式四中,例如,將所有的漢字可以拆分成多個字根(如多個偏旁部首,或多個部分)。這些組合頻率較高(高于組合預(yù)設(shè)閾值,例如組合頻率大于40%)的字根組合在一個字符信息包中,這樣一個字符信息包中的各個字符信息可以形成多種組合,顯示多個漢字。例如,將”“青”“爭”組合在一個字符信息包中,這樣這個字符信息包中只占用了
1.5個漢字的量,卻可以完成2個漢字“清” “靜”的顯示需求,從而進(jìn)一步節(jié)約了空間并提高了效率。通過這種方式,在滿足同樣個數(shù)漢字顯示需求的情況下,字符信息包的數(shù)據(jù)量卻可以大大減少。
[0146]S602,所述初始化設(shè)備獲取密鑰,并根據(jù)所述密鑰計算所述字庫各個字符信息包對應(yīng)的校驗碼,并將所述密鑰以及對應(yīng)的校驗碼發(fā)送至智能密鑰設(shè)備;
[0147]在本實施例中的一種可選實施方式中,所述密鑰包括同一個密鑰或多個不同的密鑰,所述智能密鑰設(shè)備包括至少兩個;各個智能密鑰設(shè)備接收到的密鑰為同一密鑰或不同的密鑰。在該可選實施方式中,多個智能密鑰設(shè)備可以共用一個密鑰,也可以分別使用不同的密鑰。
[0148]在本實施例中,具體的,所述初始化設(shè)備還將生成的校驗碼可以形成校驗碼庫,該校驗碼庫與所述字庫中各個字符信息包相對應(yīng)。
[0149]S603,所述智能密鑰設(shè)備接收并保存所述密鑰和所述字庫中各個字符信息包對應(yīng)的校驗碼。
[0150]在圖6提供的字庫初始化方法中,由所述智能密鑰設(shè)備的外部設(shè)備(初始化設(shè)備)計算生成密鑰和校驗碼庫,智能密鑰設(shè)備本地存儲該密鑰和校驗碼庫。
[0151]圖7為本實施例提供的另一種字庫初始化方法的流程圖,如圖7所示,包括如下步驟:
[0152]S701,初始化設(shè)備對字庫中字符信息按照預(yù)設(shè)的策略分組生成一個或多個字符信息包,所述字符信息包包括至少兩個字符信息;
[0153]其中,S701與步驟S601相同,此處不再贅述。
[0154]S702,所述初始化設(shè)備將所述字庫中的各個字符信息包發(fā)送至所述智能密鑰設(shè)備;
[0155]S703,所述智能密鑰設(shè)備根據(jù)本地存儲的密鑰計算所述字庫各個字符信息包對應(yīng)的校驗碼,并保存。
[0156]在本實施例中,具體的,所述智能密鑰設(shè)備還將生成的校驗碼形成校驗碼庫,該校驗碼庫與所述字庫中各個字符信息包相對應(yīng)。
[0157]在圖7提供的字庫初始化方法中,由所述智能密鑰設(shè)備自身生成校驗碼庫,外部設(shè)備(初始化設(shè)備11)僅僅提供了字庫。
[0158]在本實施例中,在圖6和圖7提供的字庫初始化方法中,每個智能密鑰設(shè)備中本地存儲的密鑰和根據(jù)該密鑰計算得到的校驗碼庫,可以是由每個智能密鑰設(shè)備自己生成密鑰自己生成校驗碼庫(圖7的方法),也可以是由初始化設(shè)備終端生成發(fā)送給各個智能密鑰設(shè)備的(圖6的方法)。其中,對于每個智能密鑰設(shè)備而言,每個智能密鑰設(shè)備的密鑰可以不同,采用的預(yù)先設(shè)定的算法也可以不同,因此每個智能密鑰設(shè)備可以形成不同的校驗碼庫。此外,可選的,每個智能密鑰設(shè)備還可以配置一校驗碼與字符信息包或字符信息的映射關(guān)系表,在該映射關(guān)系表中,可以根據(jù)字符信息包的標(biāo)識或字符信息找到對應(yīng)的校驗碼,每個校驗碼對應(yīng)一個字符信息包,以及對應(yīng)該字符信息包中包含的多個字符信息,即,多個字符信息(一個字符信息包)共用一個校驗碼。
[0159]在本實施例中的一種可選實施方式中,智能密鑰設(shè)備本地存儲的密鑰(初始化設(shè)備生成智能密鑰設(shè)備保存,或智能密鑰設(shè)備自己生成)通過如下方式生成:
[0160]智能密鑰設(shè)備根據(jù)自身的序列碼通過預(yù)先設(shè)定的算法計算出一個隨機(jī)密鑰作為本地存儲的密鑰;或者
[0161]智能密鑰設(shè)備設(shè)置隨機(jī)數(shù)發(fā)生器,將隨機(jī)數(shù)發(fā)生器生成的隨機(jī)數(shù)作為一個隨機(jī)密鑰,并存儲;或者
[0162]智能密鑰設(shè)備設(shè)置隨機(jī)數(shù)發(fā)生器,根據(jù)隨機(jī)數(shù)發(fā)生器生成的隨機(jī)數(shù)結(jié)合智能密鑰設(shè)備的序列碼通過預(yù)先設(shè)定的算法計算出一個隨機(jī)密鑰作為本地存儲的密鑰;或者
[0163]將初始化設(shè)備的隨機(jī)數(shù)發(fā)生器生成的隨機(jī)數(shù)作為各個智能密鑰設(shè)備的密鑰并發(fā)送至各個智能密鑰設(shè)備,例如,生成一個隨機(jī)數(shù),各個智能密鑰設(shè)備公用該隨機(jī)數(shù),或者,生成多個隨機(jī)數(shù),為每個智能密鑰設(shè)備分配一個隨機(jī)數(shù),也就是說,各個智能密鑰設(shè)備接收到的密鑰可以是相同的,也可以是不同的,每個智能密鑰設(shè)備保存從初始化設(shè)備接收到的各自的密鑰,作為本地存儲的密鑰;或者
[0164]初始化設(shè)備的隨機(jī)數(shù)發(fā)生器根據(jù)智能密鑰設(shè)備各自的序列碼通過預(yù)先設(shè)定的算法計算出的隨機(jī)數(shù)作為各個智能密鑰設(shè)備的密鑰并發(fā)送至各個智能密鑰設(shè)備,每個智能密鑰設(shè)備保存從初始化設(shè)備接收到的各自的密鑰,作為本地存儲的密鑰;或者
[0165]將初始化設(shè)備的隨機(jī)數(shù)發(fā)生器生成的隨機(jī)數(shù)結(jié)合智能密鑰設(shè)備各自的序列碼通過預(yù)先設(shè)定的算法計算出的隨機(jī)數(shù)作為各個智能密鑰設(shè)備的密鑰并發(fā)送至各個智能密鑰設(shè)備,每個智能密鑰設(shè)備保存從初始化設(shè)備接收到的各自的密鑰,作為本地存儲的密鑰。
[0166]在本實施例中的一種可選實施方式中,初始化設(shè)備根據(jù)密鑰計算字庫中各個字符信息包對應(yīng)的校驗碼,或者,智能密鑰設(shè)備根據(jù)密鑰計算各個字符信息包對應(yīng)的校驗碼可以通過以下方式至少之一來實現(xiàn):
[0167]方式一:根據(jù)密鑰通過CRC算法計算字符信息包的校驗碼;
[0168]本實施例中,預(yù)先通過CRC(Cyclical Redundancy Check,循環(huán)冗余碼校驗)算法計算出各個字符信息包的CRC值,在計算每個字符信息包的CRC值時,先將字符信息包中的所有字符信息組合為一個比特序列,再對該比特序列計算CRC值,然后,結(jié)合密鑰和各個字符信息包的CRC值,通過預(yù)先設(shè)定的算法計算出來的值作為校驗碼,形成校驗碼庫,該校驗碼庫與字庫中各個字符信息包相對應(yīng)。
[0169]方式二:根據(jù)密鑰通過計算字符信息的MAC值計算字符信息包的校驗碼;
[0170]本實施例中,預(yù)先通過計算字符信息包的MAC (Message Authenticat1n Code,消息認(rèn)證碼)值的方式計算出各個字符信息包的MAC值,在計算每個字符信息包的MAC值時,先將字符信息包中的所有字符信息組合為一個比特序列,再對該比特序列計算MAC值,將各個字符信息包的MAC值結(jié)合密鑰根據(jù)預(yù)先設(shè)定的算法計算出的值作為校驗碼,形成校驗碼庫,該校驗碼庫與字庫中各個字符信息包相對應(yīng)。
[0171]方式三:根據(jù)密鑰通過散列算法計算字符信息包的校驗碼;
[0172]本實施例中,預(yù)先通過散列算法(例如:MD5,Message Digest Algorithm,消息摘要算法第五版)計算出各個字符信息包的HASH值,在計算每個字符信息包的HASH值時,先將字符信息包中的所有字符信息組合為一個比特序列,再對該比特序列計算HASH值,將各個字符信息包的HASH值結(jié)合密鑰根據(jù)預(yù)先設(shè)定算法計算得到的值作為校驗碼,形成校驗碼庫,該校驗碼庫與字庫中各個字符信息包相對應(yīng)。
[0173]方式四:根據(jù)密鑰通過HOTP算法計算字符信息包的校驗碼。
[0174]本實施例中,預(yù)先通過HOTP算法計算出各個字符信息包的HOTP值,在計算每個字符信息包的HOTP值時,先將字符信息包中的所有字符信息組合為一個比特序列,再對該比特序列計算HOTP值,根據(jù)HOTP值結(jié)合密鑰或者將各個字符信息包的HOTP值截取一部分結(jié)合密鑰根據(jù)預(yù)先設(shè)定的算法計算出的值作為校驗碼,形成校驗碼庫,該校驗碼庫與字庫中各個字符信息包相對應(yīng)。
[0175]通過本發(fā)明實施例中圖7和圖8提供的字庫初始化方法,在智能密鑰設(shè)備中不存儲字庫,而是將字庫存儲在初始化設(shè)備中,大大的釋放了智能密鑰設(shè)備芯片的存儲空間;進(jìn)一步地,由于初始化設(shè)備將字庫中的字符信息分包存儲,智能密鑰設(shè)備中僅保存有對應(yīng)于各個字符信息包的校驗碼,即多個字符信息(該多個字符信息組成一個字符信息包)共用一個校驗碼,從而進(jìn)一步節(jié)省了智能密鑰設(shè)備的存儲空間。
[0176]圖8為本實施例提供的另一種字庫初始化方法的流程圖,如圖8所示,包括如下步驟:
[0177]S801,初始化設(shè)備對字庫中字符信息按照預(yù)設(shè)的策略分組生成一個或多個字符信息包,字符信息包包括至少兩個字符信息;
[0178]其中,S801與步驟S601相同,此處不再贅述。
[0179]S802,初始化設(shè)備獲取密鑰,并根據(jù)密鑰計算得到字庫各個字符信息包的待驗證信息;
[0180]具體地,初始化獲取的密鑰為其私鑰,初始化設(shè)備利用其私鑰對字庫中的各個字符信息包計算生成對應(yīng)的待驗證信息;
[0181]S803,初始化設(shè)備將與密鑰相關(guān)的驗證密鑰發(fā)送至智能密鑰設(shè)備;
[0182]具體地,與密鑰相關(guān)的驗證密鑰為該初始化設(shè)備的公鑰。其中,步驟S802與步驟S803順序不分先后。
[0183]S804,智能密鑰設(shè)備接收并保存初始化設(shè)備發(fā)送的與密鑰相關(guān)的驗證密鑰。
[0184]通過本發(fā)明實施例中圖8提供的字庫初始化方法,在智能密鑰設(shè)備中不僅不存儲字庫,連各個字符信息包的校驗碼,即校驗碼庫也不用存儲了,通過對字符信息包的待驗證信息進(jìn)行驗證的方式,確保從外部導(dǎo)入的字符信息數(shù)據(jù)是準(zhǔn)確合法的,從而大大的釋放了智能密鑰設(shè)備芯片的存儲空間。
[0185]實施例5
[0186]本實施例提供了一種字符顯示方法,該字符顯示方法應(yīng)用于實施例3中的字符顯示系統(tǒng)20。
[0187]以終端向若干個智能密鑰設(shè)備中的一個下發(fā)字符信息包為例,圖9為本實施例提供的字符顯示方法的流程圖,如圖9所示,包括如下步驟:
[0188]S901,終端根據(jù)待顯示的字符對應(yīng)的字符信息從多個字符信息包中選出包含所述待顯示的字符對應(yīng)的字符信息的字符信息包發(fā)送至智能密鑰設(shè)備,字符信息包包含至少兩個字符信息;<