亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在尋呼系統(tǒng)中確認(rèn)數(shù)據(jù)包的方法及設(shè)備的制作方法

文檔序號(hào):7574798閱讀:131來(lái)源:國(guó)知局
專利名稱:在尋呼系統(tǒng)中確認(rèn)數(shù)據(jù)包的方法及設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及多部件尋呼系統(tǒng),具體地說(shuō),涉及尋呼系統(tǒng)中的一種可靠的通信方法及設(shè)備。
過(guò)去幾年中,尋呼系統(tǒng)的擴(kuò)展異常迅速。從基礎(chǔ)的字母數(shù)字式單向?qū)ず粝到y(tǒng)發(fā)展到音頻雙向系統(tǒng),“傳統(tǒng)的”單向?qū)ず粝到y(tǒng)已經(jīng)超出了它們的最初使用范圍。關(guān)于單向?qū)ず粝到y(tǒng)的詳述,讀者參考Fawcett等的美國(guó)專利No.5481258及Witsaman等的美國(guó)專利No.5365569,這兩件專利都被轉(zhuǎn)讓給本受讓人,并在此作為參考文獻(xiàn)。
所有的尋呼系統(tǒng)都包括基本部件尋呼發(fā)射機(jī)、尋呼終端、發(fā)射機(jī)控制器、及尋呼機(jī)。對(duì)于雙向系統(tǒng),尋呼系統(tǒng)還包括尋呼接收機(jī)。尋呼發(fā)射機(jī)、尋呼終端、發(fā)射機(jī)控制器及尋呼接收機(jī)統(tǒng)稱為尋呼基礎(chǔ)結(jié)構(gòu)裝置。大型的尋呼系統(tǒng)需要多個(gè)尋呼終端及尋呼發(fā)射機(jī)。一般尋呼系統(tǒng)的部件被放置在不同的地理位置,甚至可能相隔幾千哩。
任何尋呼系統(tǒng)的一個(gè)關(guān)鍵要求是要具有能在尋呼系統(tǒng)的不同部件之間傳遞信息的能力。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到除其它多種信息之外,含有尋呼信息的數(shù)據(jù)包必須從尋呼終端發(fā)送給尋呼發(fā)射機(jī)。另外,各種類型的信息將周期地從尋呼發(fā)射機(jī)發(fā)送給尋呼終端。在大型尋呼系統(tǒng)中,時(shí)常會(huì)在兩個(gè)尋呼終端之間傳輸數(shù)據(jù)包。
尋呼業(yè)的另一個(gè)趨勢(shì)是使各個(gè)尋呼業(yè)務(wù)提供商共享他們的部分尋呼基礎(chǔ)結(jié)構(gòu)裝置。這種情況下,各個(gè)尋呼業(yè)務(wù)提供商可具有其自己的尋呼終端,并且共享尋呼發(fā)射機(jī)及尋呼控制器。其它情況下,一個(gè)尋呼業(yè)務(wù)提供商可以簡(jiǎn)單地“租用”另一個(gè)尋呼業(yè)務(wù)提供商的尋呼系統(tǒng)的廣播時(shí)間。這通常是在各個(gè)尋呼業(yè)務(wù)提供商具有覆蓋分隔的不同地理場(chǎng)所的尋呼系統(tǒng)的情況下進(jìn)行的。對(duì)于各個(gè)尋呼業(yè)務(wù)提供商,為了擴(kuò)展其地理覆蓋范圍,各個(gè)尋呼業(yè)務(wù)提供商將租用其它尋呼業(yè)務(wù)提供商的廣播時(shí)間。這樣,各個(gè)尋呼業(yè)務(wù)提供商的尋呼終端必須能夠有效地和其它尋呼業(yè)務(wù)提供商的尋呼終端通信。
現(xiàn)有技術(shù)中,使用尋呼業(yè)中稱作“IP”(網(wǎng)間協(xié)議)數(shù)據(jù)報(bào)網(wǎng)絡(luò)在尋呼基礎(chǔ)結(jié)構(gòu)裝置之間進(jìn)行數(shù)據(jù)通信。由于IP協(xié)議組的廣泛使用,這樣就允許使用標(biāo)準(zhǔn)的數(shù)據(jù)通信裝置。
但是,這樣也會(huì)帶來(lái)較大的安全問(wèn)題。在某些類型的尋呼系統(tǒng)中,為了通過(guò)電子郵件或全球網(wǎng)接受尋呼消息,尋呼系統(tǒng)和因特網(wǎng)相連。惡意的用戶可向?qū)ず粝到y(tǒng)中注入錯(cuò)誤的IP數(shù)據(jù)消息。
即使尋呼系統(tǒng)不和因特網(wǎng)相連,如果誘導(dǎo)的話,惡意的用戶仍能向?qū)ず粝到y(tǒng)輸入能模擬尋呼基礎(chǔ)結(jié)構(gòu)裝置之間的正常許可數(shù)據(jù)通信業(yè)務(wù)量的錯(cuò)誤lP數(shù)據(jù)消息,從而導(dǎo)致意想不到的結(jié)果。
為此,本發(fā)明提供一種確認(rèn)尋呼系統(tǒng)的部件之間傳輸?shù)臄?shù)據(jù)包的方法。尋呼系統(tǒng)包括至少一個(gè)發(fā)射部件及一個(gè)接收部件。首先,由發(fā)射部件抽取數(shù)據(jù)包的預(yù)定部分用于散列。接著,對(duì)數(shù)據(jù)包的該預(yù)定部分執(zhí)行新型的散列法以產(chǎn)生一個(gè)發(fā)射散列碼。將該散列碼插入數(shù)據(jù)包中,并將該數(shù)據(jù)包發(fā)射給接收部件。在接收部件,抽取數(shù)據(jù)包的相同預(yù)定部分,并用同樣的散列法對(duì)其散列。接收部件產(chǎn)生一個(gè)接收散列碼。把該接收散列碼和發(fā)射散列碼比較,如果該接收散列碼和所述發(fā)射散列碼匹配,則接受該數(shù)據(jù)包。
結(jié)合附圖,參考下面的詳細(xì)說(shuō)明將易于理解上述各個(gè)方面及本發(fā)明的多數(shù)伴隨優(yōu)點(diǎn)

圖1是典型尋呼系統(tǒng)的示意圖;圖2是說(shuō)明本發(fā)明方法的流程圖;圖3是根據(jù)本發(fā)明形成的APDU的示意圖;圖4是根據(jù)本發(fā)明形成的發(fā)射部件及接收部件的示意圖;圖5是說(shuō)明根據(jù)本發(fā)明的附加確認(rèn)技術(shù)的流程圖;圖6是本發(fā)明使用的最佳散列法的示意圖;圖7是說(shuō)明本發(fā)明使用的最佳散列法的流程圖。
圖1表示了包括尋呼站103,尋呼終端105,公用交換電話網(wǎng)絡(luò)(PSTN)107,尋呼接收機(jī)109及尋呼機(jī)111的尋呼系統(tǒng)101。盡管圖中只表示了兩個(gè)尋呼終端105,但是本領(lǐng)域的技術(shù)人員知道尋呼系統(tǒng)可包括許多尋呼終端。同樣,尋呼系統(tǒng)的其它部件的數(shù)目也只是說(shuō)明性的。實(shí)際上,可擴(kuò)展或收縮尋呼系統(tǒng)以滿足用戶要求。
尋呼站103也被稱為基站或?qū)ず舭l(fā)射機(jī)。操作中,想尋呼用戶的呼叫者使用PSTN107呼叫用戶的尋呼機(jī)號(hào)碼。另一方面,尋呼也可通過(guò)直接和尋呼終端相連的計(jì)算機(jī)網(wǎng)絡(luò)(例如因特網(wǎng))產(chǎn)生。另外,尋呼也可由正“租用”尋呼系統(tǒng)101的另一個(gè)尋呼終端(圖中未表示出)產(chǎn)生。
呼叫從PSTN107被送到發(fā)出尋呼的尋呼終端105。尋呼通過(guò)通信網(wǎng)絡(luò)被分發(fā)給其它的尋呼終端105及被分發(fā)給一組尋呼站103。尋呼站103再在尋呼系統(tǒng)101的地理覆蓋區(qū)域內(nèi)傳輸該尋呼。
尋呼系統(tǒng)101可包括幾千個(gè)和尋呼終端105相連的固定位置尋呼站103。對(duì)于雙向?qū)ず簦W(wǎng)絡(luò)中還可包括接收機(jī)109,多數(shù)接收機(jī)的位置和尋呼站103的位置相同。尋呼系統(tǒng)101中的每個(gè)尋呼機(jī)111中存儲(chǔ)的是單獨(dú)的尋呼機(jī)標(biāo)識(shí)符205,尋呼機(jī)標(biāo)識(shí)符205在尋呼機(jī)所屬的組織中唯一地標(biāo)識(shí)該尋呼機(jī)。
尋呼終端之間,實(shí)際上尋呼系統(tǒng)中除尋呼機(jī)之外的任意兩個(gè)部件之間的通信借助于應(yīng)用協(xié)議數(shù)據(jù)單元(APDU)的傳遞來(lái)實(shí)現(xiàn)。如前所述,現(xiàn)有技術(shù)中,通過(guò)不可靠的IP傳遞APDU,這樣會(huì)導(dǎo)致故意地或者甚至無(wú)意中向?qū)ず粝到y(tǒng)中注入錯(cuò)誤的APDU。
正如后面將詳細(xì)說(shuō)明的一樣,本發(fā)明的目的在于通過(guò)確認(rèn)每個(gè)APDU,從而消除錯(cuò)誤APDU的可能性。這樣,本發(fā)明增強(qiáng)了尋呼系統(tǒng)的可靠性。
參見(jiàn)圖2,圖中以流程圖的形式圖解說(shuō)明了本發(fā)明的方法的概述。該方法詳述了從尋呼系統(tǒng)的發(fā)射部件向?qū)ず粝到y(tǒng)的接收部件傳輸APDU的情況。發(fā)射部件及接收部件可以是尋呼終端、接收機(jī)、尋呼發(fā)射機(jī)或發(fā)射機(jī)控制器。參考圖4,圖中表示了發(fā)射部件401向接收部件403傳輸APDU300的例子。注意圖中以非常概括的形式表示接收部件403及發(fā)射部件401,從而根據(jù)情況,尋呼系統(tǒng)的任意部件都可是發(fā)射部件或接收部件。
接收部件403及發(fā)射部件401都包括CPU405及存儲(chǔ)器407。正如后面將詳述的一樣,CPU405進(jìn)行本發(fā)明的方法所需的計(jì)算。在最佳實(shí)施例中,CPU405是Motorola 68060微處理器,本發(fā)明的方法使用編碼輸出由CPU405執(zhí)行的“C”可編程語(yǔ)言實(shí)現(xiàn)。存儲(chǔ)器407用來(lái)存儲(chǔ)本發(fā)明的方法中所需計(jì)算的中間及最終計(jì)算結(jié)果。此外,雖然圖中CPU405和存儲(chǔ)器407是不同的部件,但是可以容易地將它們結(jié)合起來(lái),并且CPU405可使用它自已的內(nèi)部存儲(chǔ)器作為存儲(chǔ)器407。另外,CPU405及存儲(chǔ)器407可存在于尋呼系統(tǒng)部件中,以執(zhí)行尋呼部件的其它功能。例如,尋呼終端、發(fā)射機(jī)控制器及接收機(jī)一般都包括幾個(gè)微處理器,除了微處理器的其它功能外,這些微處理器還可用作為CPU405及存儲(chǔ)器407。
參見(jiàn)圖2,首先,在方框201,發(fā)射部件從APDU中抽取該APDU的預(yù)定部分(“抽取部分”)。圖3表示了APDU300的示意圖。如圖所示,APDU300包括幾個(gè)含有不同類型信息的數(shù)據(jù)字段??梢岳斫鈭D中并未表示出APDU300的全部字段,相反,圖中只表示了和本發(fā)明有關(guān)的字段。例如,APDU300一般可包括最終指定給圖中未表示出的尋呼機(jī)的數(shù)據(jù)。APDU300包括目的ID301、發(fā)射ID303、消息類型305、消息長(zhǎng)度307、消息序列號(hào)309、時(shí)間及日期標(biāo)記311、數(shù)據(jù)313及散列碼315。
目的ID301識(shí)別計(jì)劃中的接收部件。發(fā)射ID303識(shí)別發(fā)射部件。消息類型305指示APDU300攜帶的數(shù)據(jù)的類型。本領(lǐng)域的技術(shù)人員可知該數(shù)據(jù)可以是尋呼消息、命令、響應(yīng)、狀態(tài)報(bào)告或其它已知類型的數(shù)據(jù)。消息長(zhǎng)度307指示APDU300的長(zhǎng)度。消息序列號(hào)309是識(shí)別該特定APDU300的號(hào)數(shù)。時(shí)間和日期標(biāo)記311表示發(fā)射部件發(fā)送APDU300時(shí)的時(shí)間和日期。數(shù)據(jù)313是APDU300的有效負(fù)載。最后,后文將更詳細(xì)說(shuō)明的、由本發(fā)明形成的散列碼315起證實(shí)代碼的作用。
再參考圖2,如上所述,在方框201,抽取APDU的預(yù)定部分。在最佳實(shí)施例中,該預(yù)定部分包括APDU的目的標(biāo)識(shí)符、消息類型、消息序列號(hào)、長(zhǎng)度、以及時(shí)間和日期。
在方框203,抽取部分被提供給由發(fā)射部件以進(jìn)行散列,產(chǎn)生發(fā)射散列碼315。最佳實(shí)施例中使用的散列法將在后文詳細(xì)說(shuō)明。接下來(lái),在方框205,發(fā)射散列碼315被附加到APDU300,從而成為APDU300的一部分。在方框207,APDU300(帶有發(fā)射散列碼315)由發(fā)射部件傳輸給尋呼系統(tǒng)中的接收部件。APDU300的傳輸可以用在尋呼系統(tǒng)中傳輸APDU的任一已知方法進(jìn)行。例如包括幀延遲網(wǎng)絡(luò)、專用陸線及衛(wèi)星傳輸。
接下來(lái),在方框209,接收部件接收APDU300,并抽取恰好和發(fā)射部件抽取的APDU300的預(yù)定部分相同的預(yù)定部分。這樣,發(fā)射部件及接收部件都知道應(yīng)抽取APDU300的哪一部分。然后,在方框211,接收部件對(duì)抽取部分執(zhí)行和發(fā)射部件進(jìn)行的同樣的散列處理。接收部件執(zhí)行的散列法的輸出是接收散列碼。
隨后,在方框213,把接收部件產(chǎn)生的接收散列碼和APDU300中包括的發(fā)射散列碼315比較。最后,在方框215,如果接收散列碼和APDU300中包括的發(fā)射散列碼315相同,則接收部件認(rèn)為APDU300真實(shí)可靠而接受它。但是,如果接收散列碼和APDU300中包括的發(fā)射散列碼315不同,則接收部件認(rèn)為APDU300錯(cuò)誤而丟棄它。
圖2圖解說(shuō)明了確認(rèn)APDU300的“基本”方法。在本發(fā)明的最佳實(shí)施例中,還包括了確保接收的APDU真實(shí)可靠的其它技術(shù)。這些“補(bǔ)充”證實(shí)技術(shù)以圖2中的插入步驟的形式表示在圖5中。這樣,在圖2的方框215之后,可執(zhí)行方框501-507的操作。
首先參見(jiàn)方框501,最初的附加確認(rèn)檢查中,接收部件403檢查目的ID301,以確定目的ID301是否和接收部件403的目的ID匹配。通常在尋呼系統(tǒng)中,尋呼業(yè)務(wù)提供商為尋呼系統(tǒng)的每個(gè)部件分配一個(gè)識(shí)別碼。如果APDU的目的ID301和接收部件403的目的ID不匹配,則丟棄該APDU300。
接下來(lái)在方框503,接收部件403還保持在過(guò)去的預(yù)定時(shí)間段(如過(guò)去的24小時(shí))內(nèi)已接收或可能接收的APDU300的消息序列號(hào)309的范圍的記錄。如果接收的APDU300的消息序列號(hào)309落在先前在過(guò)去24小時(shí)內(nèi)接收的消息序列號(hào)309的范圍內(nèi),則假定該APDU300為復(fù)件,并丟棄該APDU300。
隨后,在方框505,檢查消息長(zhǎng)度307,并將其和APDU300的實(shí)際長(zhǎng)度比較。如果消息長(zhǎng)度307和APDU300的實(shí)際長(zhǎng)度不符合,則丟棄APDU300。
此外,在方框507,最佳實(shí)施例中的另一種確認(rèn)技術(shù)是校驗(yàn)時(shí)間和日期標(biāo)記311。具體地,如果APDU300的時(shí)間和日期標(biāo)記311和接收部件403保持的實(shí)際時(shí)間和日期的差值大于預(yù)定時(shí)間值(例如1分鐘),則丟棄APDU300。
最后,在方框509,后面將詳細(xì)說(shuō)明的散列法的輸入不僅包括從APDU300中抽取的抽取部分,還包括一個(gè)口令(例如一個(gè)64位字)。該口令并不直接包括在APDU300中,而是對(duì)包括在APDU300中的散列碼315具有確定作用。該選擇方案中,發(fā)射部件401及接收部件403都必須具有口令的副本。接收部件403還對(duì)口令及APDU300的抽取部分進(jìn)行散列處理。
下面參考圖6,圖中示意地表示了在發(fā)射部件401及接收部件403中,由CPU405執(zhí)行的散列法。考慮到幾種情況,最佳實(shí)施例中使用的特定散列法作了改進(jìn)。首先,散列法必須是確定的,即散列法對(duì)任意給定輸入必須產(chǎn)生相同的輸出。其次,散列法在計(jì)算上必須開(kāi)銷不多,換句話說(shuō),執(zhí)行散列法對(duì)CPU資源的需求不應(yīng)無(wú)節(jié)制。最后,為了反轉(zhuǎn)散列法,散列法在計(jì)算上必須開(kāi)銷很大。所謂反轉(zhuǎn)散列法指的是APDU300的抽取部分的確定將根據(jù)散列碼315確定。在抽取部分中包括口令(如圖5所示)的情況下,通過(guò)檢查一個(gè)或多個(gè)傳輸?shù)腁PDU確定該口令在計(jì)算上必定開(kāi)銷極大。本發(fā)明的散列法滿足上述這些要求。
散列法需要384位的輸入(抽取部分),并提供長(zhǎng)度為64位的散列碼315。散列法的輸入及輸出的散列碼315都被分組成32位字。這樣,散列法的輸入為12個(gè)32位字,而散列碼315則為2個(gè)32位字。
參考圖6,散列法601由三個(gè)部分組成展開(kāi)法603、壓縮法605及組合法607。展開(kāi)法603對(duì)輸入數(shù)據(jù)609的12個(gè)32位字起作用,并且通過(guò)“異-或”操作組合一組指定的輸入字609產(chǎn)生各個(gè)展開(kāi)字,從而產(chǎn)生展開(kāi)數(shù)據(jù)611的72個(gè)32位字。
壓縮法605對(duì)展開(kāi)數(shù)據(jù)611的72個(gè)32位字起作用,并且產(chǎn)生壓縮數(shù)據(jù)613的5個(gè)32位字。這是通過(guò)下述步驟實(shí)現(xiàn)的首先把存儲(chǔ)器的5個(gè)字初始化為規(guī)定值,隨后對(duì)每個(gè)展開(kāi)數(shù)據(jù)字進(jìn)行短序列操作,該操作把展開(kāi)數(shù)據(jù)字和存儲(chǔ)器的5個(gè)字的內(nèi)容組合起來(lái),從而修改存儲(chǔ)器的5個(gè)字的內(nèi)容。在所有72個(gè)展開(kāi)數(shù)據(jù)字都已被處理后,存儲(chǔ)器的5個(gè)字的內(nèi)容成為壓縮數(shù)據(jù)613。
組合法607對(duì)壓縮數(shù)據(jù)613的5個(gè)字起作用,并通過(guò)對(duì)壓縮數(shù)據(jù)字進(jìn)行加權(quán)求和,模232,產(chǎn)生輸出數(shù)據(jù)615的2個(gè)32位字。
在開(kāi)始說(shuō)明散列法的詳細(xì)情況之前,給出各種二進(jìn)制操作及在此使用的符號(hào)的定義是有益的。在這些定義中,A和B都是32位字。
A=B 32位值B被賦給名為A的32位存儲(chǔ)區(qū)。
A+B使用無(wú)符號(hào)運(yùn)算,模232,把32位值B加到32位值A(chǔ)中產(chǎn)生32位結(jié)果。
A-B使用無(wú)符號(hào)運(yùn)算,模232,從32位值A(chǔ)中減去32位值B,以產(chǎn)生32位結(jié)果。應(yīng)注意“A-B”等同于“A+~B+1”,備選實(shí)施例可使用這一事實(shí)。
A*B使用無(wú)符號(hào)運(yùn)算,模232,把32位值A(chǔ)乘以32位值B以產(chǎn)生32位結(jié)果。
~A對(duì)32位值A(chǔ)逐位進(jìn)行邏輯非操作,以產(chǎn)生32位結(jié)果;即,各個(gè)為1的位在結(jié)果中為0,而各個(gè)為0的位在結(jié)果中為1。應(yīng)注意“~A”等同于“~0-A”(其中“~0”是-1的值,或者是所有位均為1),備選實(shí)施例可使用這一事實(shí)。
A&B把32位值A(chǔ)和32位值B逐位進(jìn)行“與”運(yùn)算,以產(chǎn)生32位結(jié)果;即檢驗(yàn)A和B,如果A和B的最低位均為1,則所得結(jié)果的最低位為1。以相同的方式處理A和B的其它31位,以產(chǎn)生所得結(jié)果的其它31位。應(yīng)注意“A&B”等同于“~(~A |~B)”,備選實(shí)施例可使用這一事實(shí)。
A | B 32位值A(chǔ)和32位值B逐位進(jìn)行“或”運(yùn)算,從而產(chǎn)生32位結(jié)果;即檢驗(yàn)A和B,如果A和B任一的最低位為1,則所得結(jié)果的最低位為1。以相同的方式處理A和B的其它31位,以產(chǎn)生所得結(jié)果的其它31位。應(yīng)注意“A | B”等同于“~(~A&~B)”,備選實(shí)施例可使用這一事實(shí)。
A^B 32位值A(chǔ)和32位值B逐位進(jìn)行“異-或”運(yùn)算,從而產(chǎn)生32位結(jié)果;即檢驗(yàn)A和B,如果A的最低位不同于B的最低位,則所得結(jié)果的最低位為1。以相同的方式處理A和B的其它31位,以產(chǎn)生所得結(jié)果的其它31位。應(yīng)注意“A^B”等同于“(A&~B)|(~A&B)”,也等同于“~((~A|B)&(A|~B))”,備選實(shí)施例可使用這些事實(shí)。
A<<B 32位值A(chǔ)左移B位以產(chǎn)生一個(gè)32位結(jié)果;即所得結(jié)果的最低B位為0,A的最高B位被丟棄,A的剩余位成為所得結(jié)果的最高位。應(yīng)注意到“A<<B”等同于“A*2B”,備選實(shí)施例可使用這一事實(shí)。另外,“A<<1”等同于“A+A”,備選實(shí)施例可執(zhí)行這一操作B次以得到相同的結(jié)果。
A>>B 32位值A(chǔ)右移B位以產(chǎn)生一個(gè)32位結(jié)果;即所得結(jié)果的最高B位為0,A的最低B位被丟棄,A的剩余位成為所得結(jié)果的最低位。應(yīng)注意到“A>>B”在丟棄任意分?jǐn)?shù)的情況下等同于A除以2B,備選實(shí)施例可使用這一事實(shí)。另外,“A>>1”在丟棄任意分?jǐn)?shù)的情況下等同于用2除A,備選實(shí)施例可執(zhí)行這一操作B次來(lái)得到相同的結(jié)果。
應(yīng)注意到“(A<<B)+(A>>(32-B))”或“(A<<B)|(A>>(32-B))”或“(A<<B)^(A>>(32-B))”都等同于把A向左循環(huán)移動(dòng)B位;即,置換A的位,使得A的最高B位成為結(jié)果的最低位,而A的剩余位成為結(jié)果的最高位。一些備選實(shí)施例,特別是那些使用硬件邏輯,而不是軟件邏輯的實(shí)施例可使用該等效性來(lái)獲得相同的結(jié)果。
本領(lǐng)域的技術(shù)人員知道許多其它的二進(jìn)制運(yùn)算及布爾邏輯定理可用來(lái)產(chǎn)生稍微不同于最佳實(shí)施例的備選實(shí)施例,并得到完全相同的數(shù)值結(jié)果。
在完成基本操作定義后,下面對(duì)散列法進(jìn)行說(shuō)明。散列法的輸入是一個(gè)12個(gè)32位字的陣列。為了便于說(shuō)明,將這12個(gè)字命名為in
到in[11]。輸出散列碼315是在此稱為out
和out[1]的兩個(gè)32位字。
72個(gè)32位字的存儲(chǔ)器的展開(kāi)陣列被表示為ex
到ex[71]。另外,CPU405的6個(gè)處理器寄存器用于存儲(chǔ)表示為r0、r1、r2、r3、r4及rx的6個(gè)字。
參見(jiàn)圖7,散列法的流程圖表示了該方法的各個(gè)步驟。展開(kāi)法包括兩步。在方框701,散列法的第一步把輸入(抽取部分)復(fù)制到展開(kāi)陣列的最初12個(gè)字中;即,在i設(shè)定為0、1、2……11的情況下,重復(fù)下面的操作ex[i]=in[i]Eq.(1)在方框703,該方法的下一步在i設(shè)定為12、13、14……71的情況下,通過(guò)重復(fù)下面的操作填充展開(kāi)陣列的剩余部分ex[i]=ex[i-3]^ex[i-5]^ex[i-6]^ex[i-12]Eq.(2)等式(2)是線性可解析的。這樣,作為備選實(shí)施例,展開(kāi)陣列中的各個(gè)字可如下直接從輸入陣列中計(jì)算得到ex
=in
ex[1]=in[1]ex[2]=in[2]ex[3]=in[3]ex[4]=in[4]ex[5]=in[5]ex[6]=in[6]ex[7]=in[7]ex[8]=in[8]ex[9]=in[9]ex[10]=in[10]ex[11]=in[11]ex[12]=in
^in[6]^in[7]^in[9]ex[13]=in[1]^in[7]^in[8]^in[10]ex[14]=in[2]^in[8]^in[9]^in[11]ex[15]=in
^in[3]^in[6]^in[7]^in[10]ex[16]=in[1]^in[4]^in[7]^in[8]^in[11]ex[17]=in
^in[2]^in[5]^in[6]^ini7]^in[8]ex[18]=in[1]^in[3]^in[6]^in[7]^in[8]^in[9]ex[19]=in[2]^in[4]^in[7]^in[8]^in[9]^in[10]ex[20]=in[3]^in[5]^in[8]^in[9]^in[10]^in[11]ex[21]=in
^in[4]^in[7]^in[10]^in[11]ex[22]=in
^in[1]^in[5]^in[6]^in[7]^in[8]^in[9]^in[11]ex[23]=in
^in[1]^in[2]^in[8]^in[10]ex[24]=in[1]^in[2]^in[3]^in[9]^in[11]ex[25]=in
^in[2]^in[3]^in[4]^in[6]^in[7]^in[9]^in[10]ex[26]=in[1]^in[3]^in[4]^in[5]^in[7]^in[8]^in[10]^in[11]ex[27]=in
^in[2]^in[4]^in[5]^in[7]^in[8]^in[11]ex[28]=in
^in[1]^in[3]^in[5]^in[7]^in[8]
ex[29]=in[1]^in[2]^in[4]^in[6]^in[8]^in[9]ex[30]=in[2]^in[3]^in[5]^in[7]^in[9]^in[10]ex[31]=in[3]^in[4]^in[6]^in[8]^in[10]^in[11]ex[32]=in
^in[4]^in[5]^in[6]^in[11]ex[33]=in
^in[1]^in[5]^in[9]ex[34]=in[1]^in[2]^in[6]^in[10]ex[35]=in[2]^in[3]^in[7]^in[11]ex[36]=in
^in[3]^in[4]^in[6]^in[7]^in[8]^in[9]ex[37]=in[1]^in[4]^in[5]^in[7]^in98]^in[9]^in[10]ex[38]=in[2]^in[5]^in[6]^in[8]^in[9]^in[10]^in[11]ex[39]=in
^in[3]^in[10]^in[11]ex[40]=in
^in[1]^in[4]^in[6]^in[7]^in[9]^in[11]ex[41]=in
^in[1]^in[2]^in[5]^in[6]^in[8]^in[9]^in[10]ex[42]=in[1]^in[2]^in[3]^in[6]^in[7]^in[9]^in[10]^in[11]ex[43]=in
^in[2]^in[3]^in[4]^in[6]^in[8]^in[9]^in[10]^in[11]ex[44]=in
^in[1]^in[3]^in[4]^in[5]^in[6]^in[10]^in[11]ex[45]=in
^in[1]^in[2]^in[4]^in[5]^in[9]^in911]ex[46]=in
^in[1]^in[2]^in[3]^in[5]^in[7]^in[9]^in[10]ex[47]=in[1]^in[2]^in[3]^in[4]^in[6]^in[8]^in[10]^in[11]ex[48]=in
^in[2]^in[3]^in[4]^in[5]^in[6]^in[11]ex[49]=in
^in[1]^in[3]^in[4]^in[5]^in[9]ex[50]=in[1]^in[2]^in[4]^in[5]^in[6]^in[10]ex[51]=in[2]^in[3]^in[5]^in[6]^in[7]^in[11]ex[52]=in
^in[3]^in[4]^in[8]^in[9]ex[53]=in[1]^in[4]^in[5]^in[9]^in[10]ex[54]=in[2]^in[5]^in[6]^in[10]^in[11]ex[55]=in
^in[3]^in[9]^in[11]ex[56]=in
^in[1]^in[4]^in[6]^in[7]^in[9]^in[10]ex[57]=in[1]^in[2]^in[5]^in[7]^in[8]^in[10]^in[11]ex[58]=in
^in[2]^in[3]^in[7]^in[8]^in[11]
ex[59]=in
^in[1]^in[3]^in[4]^in[6]^in[7]^in[8]ex[60]=in[1]^in[2]^in[4]^in[5]^in[7]^in[8]^in[9]ex[61]=in[2]^in[3]^in[5]^in[6]^in[8]^in[9]^in[10]ex[62]=in[3]^in[4]^in[6]^in[7]^in[9]^in[10]^in[11]ex[63]=in
^in[4]^in[5]^in[6]^in[8]^in[9]^in[10]^in[11]ex[64]=in
^in[1]^in[5]^in[10]^in[11]ex[65]=in
^in[1]^in[2]^in[7]^in[9]^in[11]ex[66]=in
^in[1]^in[2]^in[3]^in[6]^in[7]^in[8]^in[9]^in[10]ex[67]=in[1]^in[2]^in[3]^in[4]^in[7]^in[8]^in[9]^in[10]^in[11]ex[68]=in
^in[2]^in[3]^in[4]^in[5]^in[6]^in[7]^in[8]^in[10]^in[11]ex[69]=in
^in[1]^in[3]^in[4]^in[5]^in[8]^in[11]ex[70]=in
^in[1]^in[2]^in[4]^in[5]^in[7]ex[71]=in[1]^in[2]^in[3]^in[5]^in[6]^in[8]壓縮法605的第一步驟是在方框705初始化存儲(chǔ)器(最佳實(shí)施例中為處理器寄存器)的5個(gè)字r0=3822118087r1=4206368529r2=2636563960r3=1419098426r4=742554211在方框707,壓縮法605在i設(shè)定為0、1、2……17的情況下,通過(guò)重復(fù)下面的操作處理展開(kāi)陣列的最初18個(gè)字rx=ex[i]-r0+((r1&r2)|(r1&r3)|(r2&r3))+(r4<<11)+(r4>>21)+2049053871r0=r1r1=r2r2=(r3<<27)+(r3>>5)r3=r4r4=rx接著,在方框709,壓縮法605在i設(shè)定為18、19、20……35的情況下,通過(guò)重復(fù)下面的操作處理展開(kāi)陣列的第二批18個(gè)字
rx=ex[i]-r0+((r1&r2)|(~r1&r3))+(r4<<11)+(r4>>21)+909867182r0=r1r1=r2r2=(r3<<27)+(r3>>5)r3=r4r4=rx然后,在方框711,壓縮法605在i設(shè)定為36、37、38……53的情況下,通過(guò)重復(fù)下面的操作處理展開(kāi)陣列的第三批18個(gè)字rx=ex[i]-r0+((r1&r2&r3)|~(r1|(r2&r3)))+(r4<<11)+(r4>>21)+2073245137r0=r1r1=r2r2=(r3<<27)+(r3>>5)r3=r4r4=rx最后,在方框713,壓縮法605在i設(shè)定為54、55、56……71的情況下,通過(guò)重復(fù)下面的操作處理展開(kāi)陣列的最后18個(gè)字rx=ex[i]-r0+((r1&(r2^r(nóng)3))|-(r1|r2))+(r4<<11)+(r4>>21)+4157358317r0=r1r1=r2r2=(r3<<27)+(r3>>5)r3=r4r4=rx作為備選實(shí)施例,上面說(shuō)明的“展開(kāi)”及“壓縮”階段可使用“流水線作業(yè)”結(jié)合在一起。這樣,在需要其作為壓縮階段的輸入之前,存儲(chǔ)在展開(kāi)陣列中的各個(gè)字不必計(jì)算。該備選實(shí)施例可減少散列法的存儲(chǔ)器需求(因?yàn)樗沙フ归_(kāi)陣列,并且只需要用于存儲(chǔ)組合法產(chǎn)生的最后12個(gè)字的存儲(chǔ)器)。
最后,在方框715,散列法的組合法607使用下述模數(shù)為232的加權(quán)求和操作把存儲(chǔ)字r0到r4的存儲(chǔ)信息組合起來(lái)形成兩個(gè)輸出字out
=r0+(r2*2628165923)+(r4*545239213)
out[1]=r1+(r3*68740181)out
和out[1]的組合就是插入APDU300的散列碼315。
雖然已圖解說(shuō)明了本發(fā)明的最佳實(shí)施例,但是可知道在不脫離本發(fā)明的精神和范圍的情況下,能夠作出各種改變。
權(quán)利要求
1.一種用于確認(rèn)在尋呼系統(tǒng)的部件之間傳輸?shù)臄?shù)據(jù)包的方法,該尋呼系統(tǒng)包括至少一個(gè)發(fā)射部件及一個(gè)接收部件,該方法包括下述步驟(a)抽取用于由發(fā)射部件散列的數(shù)據(jù)包的預(yù)定部分;(b)對(duì)數(shù)據(jù)包的所述預(yù)定部分執(zhí)行散列法以產(chǎn)生發(fā)射散列碼;(c)把所述發(fā)射散列碼插入該數(shù)據(jù)包中;(d)把該數(shù)據(jù)包傳輸給所述接收部件;(e)抽取用于由接收部件散列的數(shù)據(jù)包的所述預(yù)定部分;(f)對(duì)數(shù)據(jù)包的所述預(yù)定部分執(zhí)行所述散列法以產(chǎn)生接收散列碼;(g)比較所述接收散列碼和所述發(fā)射散列碼;及(h)如果所述接收散列碼和所述發(fā)射散列碼匹配,則接受該數(shù)據(jù)包。
2.按照權(quán)利要求1所述的方法,其中所述數(shù)據(jù)包是包括目的ID、消息序列號(hào)、消息長(zhǎng)度、及時(shí)間和日期標(biāo)記的應(yīng)用協(xié)議數(shù)據(jù)單元(APDU)。
3.按照權(quán)利要求2所述的方法,其中所述預(yù)定部分包括所述目的ID、所述消息序列號(hào)、所述消息長(zhǎng)度、及所述時(shí)間和日期標(biāo)記。
4.按照權(quán)利要求2所述的方法,其中所述接收部件具有接收部件目的ID,所述方法還包括檢查所述APDU的目的ID,并且只有當(dāng)所述APDU的所述目的ID和所述接收部件目的ID匹配時(shí),才接受所述APDU的步驟。
5.按照權(quán)利要求2所述的方法,還包括檢查所述APDU的所述消息長(zhǎng)度,并且只有當(dāng)所述APDU的所述消息長(zhǎng)度和所述APDU的實(shí)際長(zhǎng)度匹配時(shí),才接受所述APDU的步驟。
6.按照權(quán)利要求2所述的方法,還包括使接收部件保持先前在預(yù)定時(shí)間段內(nèi)接收的APDU的所述消息序列號(hào)有效范圍的記錄,并丟棄任何消息序列號(hào)在所述有效范圍之外的新接收APDU的步驟。
7.按照權(quán)利要求2所述的方法,其中所述接收部件含有一個(gè)時(shí)鐘,并且所述方法還包括檢查所述APDU的時(shí)間和日期標(biāo)記,并且只有當(dāng)所述APDU的所述時(shí)間和日期標(biāo)記在距離所述時(shí)鐘指示的時(shí)間和日期的預(yù)定時(shí)間內(nèi)時(shí),才接受所述APDU的步驟。
8.按照權(quán)利要求1所述的方法,其中所述發(fā)射部件執(zhí)行所述散列法的所述步驟是對(duì)所述預(yù)定部分及一個(gè)口令進(jìn)行的,所述接收部件執(zhí)行所述散列法的所述步驟是對(duì)所述預(yù)定部分及所述口令進(jìn)行的。
9.按照權(quán)利要求8所述的方法,其中所述數(shù)據(jù)包是包括目的ID、消息序列號(hào)、消息長(zhǎng)度、及時(shí)間和日期標(biāo)記的應(yīng)用協(xié)議數(shù)據(jù)單元(APDU)。
10.按照權(quán)利要求9所述的方法,其中所述預(yù)定部分包括所述目的ID、所述消息序列號(hào)、所述消息長(zhǎng)度、及所述時(shí)間和日期標(biāo)記。
11.按照權(quán)利要求9所述的方法,其中所述接收部件具有接收部件目的ID,所述方法還包括檢查所述APDU的目的ID,并且只有當(dāng)所述APDU的所述目的ID和所述接收部件目的ID匹配時(shí),才接受所述APDU的步驟。
12.按照權(quán)利要求9所述的方法,還包括檢查所述APDU的所述消息長(zhǎng)度,并且只有當(dāng)所述APDU的所述消息長(zhǎng)度和所述APDU的實(shí)際長(zhǎng)度匹配時(shí),才接受所述APDU的步驟。
13.按照權(quán)利要求9所述的方法,還包括使接收部件保持先前在預(yù)定時(shí)間段內(nèi)接收的APDU的所述消息序列號(hào)有效范圍的記錄,并丟棄任何消息序列號(hào)在所述有效范圍之外的新接收APDU的步驟。
14.按照權(quán)利要求9所述的方法,其中所述接收部件含有一個(gè)時(shí)鐘,并且所述方法還包括檢查所述APDU的時(shí)間和日期標(biāo)記,并且只有當(dāng)所述APDU的所述時(shí)間和日期標(biāo)記在距離所述時(shí)鐘指示的時(shí)間和日期的預(yù)定時(shí)間內(nèi)時(shí),才接受所述APDU的步驟。
15.一種用于在尋呼系統(tǒng)的部件之間安全地傳輸數(shù)據(jù)包的方法,該尋呼系統(tǒng)包括至少一個(gè)發(fā)射部件及一個(gè)接收部件,該方法包括下述步驟(a)抽取用于由發(fā)射部件散列的數(shù)據(jù)包的預(yù)定部分,所述預(yù)定部分包括32位的輸入字;(b)對(duì)數(shù)據(jù)包的所述預(yù)定部分執(zhí)行散列法以產(chǎn)生發(fā)射散列碼,所述散列法包括下述步驟(Ⅰ)把所述輸入字展開(kāi)為展開(kāi)字組,所述展開(kāi)字組的每個(gè)所述字為使用“異-或”操作得到的所述輸入字的組合;(Ⅱ)初始化一組存儲(chǔ)字;(Ⅲ)通過(guò)對(duì)所述展開(kāi)字組的所述字及所述一組存儲(chǔ)字進(jìn)行預(yù)定的一組二進(jìn)制操作,修改所述一組存儲(chǔ)字;(Ⅳ)使用加權(quán)求和把所述一組存儲(chǔ)字組合到所述發(fā)射散列碼中;(c)把所述發(fā)射散列碼插入該數(shù)據(jù)包中;(d)把該數(shù)據(jù)包傳輸給所述接收部件;(e)抽取用于由接收部件散列的數(shù)據(jù)包的所述預(yù)定部分;(f)對(duì)數(shù)據(jù)包的所述預(yù)定部分執(zhí)行所述散列法以產(chǎn)生接收散列碼;(g)比較所述接收散列碼和所述發(fā)射散列碼;及(h)如果所述接收散列碼和所述發(fā)射散列碼匹配,則接受該數(shù)據(jù)包。
16.按照權(quán)利要求15所述的方法,其中所述輸入字是12個(gè)32位字,所述展開(kāi)組是72個(gè)32位字,所述一組存儲(chǔ)字包括5個(gè)32位字。
17.一種包括至少一個(gè)尋呼終端及多個(gè)尋呼發(fā)射機(jī)的尋呼系統(tǒng),所述尋呼終端或所述尋呼發(fā)射機(jī)稱為部件,所述尋呼系統(tǒng)在發(fā)射部件和接收部件之間傳遞數(shù)據(jù)包,(a)所述發(fā)射部件包括(Ⅰ)抽取用于由所述發(fā)射部件散列的數(shù)據(jù)包的預(yù)定部分的裝置;(Ⅱ)對(duì)數(shù)據(jù)包的所述預(yù)定部分執(zhí)行散列法以產(chǎn)生發(fā)射散列碼的裝置;(Ⅲ)把所述發(fā)射散列碼插入該數(shù)據(jù)包中的裝置;(Ⅳ)把該數(shù)據(jù)包傳輸給所述接收部件的裝置;(b)所述接收部件包括(Ⅰ)抽取用于由接收部件散列的數(shù)據(jù)包的所述預(yù)定部分的裝置;(Ⅱ)對(duì)數(shù)據(jù)包的所述預(yù)定部分執(zhí)行所述散列法以產(chǎn)生接收散列碼的裝置;(Ⅲ)比較所述接收散列碼和所述發(fā)射散列碼的裝置;(Ⅳ)如果所述接收散列碼和所述發(fā)射散列碼匹配,則接受該數(shù)據(jù)包的裝置。
全文摘要
本發(fā)明公開(kāi)了一種確認(rèn)尋呼系統(tǒng)的發(fā)射部件和接收部件之間的通信的方法。發(fā)射部件通過(guò)選取用于散列的APDU預(yù)定部分,從而準(zhǔn)備用于傳輸?shù)膽?yīng)用協(xié)議數(shù)據(jù)單元(APDU)(201、203)。散列法輸出一個(gè)散列碼,該散列碼包括在該APDU中(205)。接收部件接收用于散列的同樣的APDU預(yù)定部分(209、211)。隨后接收部件把APDU中的散列碼和接收部件計(jì)算得到的散列碼相比較(213)。如果散列碼匹配,則認(rèn)為APDU真實(shí)可靠,而接受該APDU(215)。如果散列碼不匹配,則拒絕該APDU。
文檔編號(hào)H04W12/00GK1214779SQ97192892
公開(kāi)日1999年4月21日 申請(qǐng)日期1997年3月7日 優(yōu)先權(quán)日1996年3月8日
發(fā)明者格倫·S·福西特 申請(qǐng)人:格萊納瑞電子公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1