欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

隨機抽取方法、裝置以及系統(tǒng)的制作方法_3

文檔序號:8945736閱讀:來源:國知局
客戶端是無法獲知第一隨機數(shù)的具體數(shù)值的。而當服務(wù)器收到第一電子信息的數(shù)字簽名信息時,會將第一隨機數(shù)與第一電子信息的數(shù)字簽名信息合并為第二電子信息,并對第二電子信息進行數(shù)字簽名,生成第二電子信息的數(shù)字簽名信息,這就使得第一隨機數(shù)和第二隨機數(shù)在客戶端和服務(wù)器分別進行了兩次數(shù)字簽名,通過兩次疊加的數(shù)字簽名,實現(xiàn)了第一隨機數(shù)和第二隨機數(shù)的不可否認和不可變更。而鑒于兩次疊加的數(shù)字簽名,在數(shù)據(jù)傳輸或者計算的節(jié)點上,對第一隨機數(shù)和第二隨機數(shù)進行篡改都是很難實現(xiàn)的,最終通過第一隨機數(shù)和第二隨機數(shù)所計算出來的抽取結(jié)果也具備唯一確定性,從而本發(fā)明所提供的隨機抽取方法、裝置以及系統(tǒng),能夠更大程度上保證最終的抽取結(jié)果不被人為干擾,從而降低由于人為因素對概率事件的公正性造成影響。
[0109]其中,需要注意的是,為了保證Ks不被非法獲取,且只發(fā)送給相應(yīng)的客戶端,因此服務(wù)器在所述將第二電子信息的數(shù)字簽名信息發(fā)送客戶端之前就會將第一隨機數(shù)、第一隨機數(shù)的序列號在服務(wù)器本地刪除。同時,所述將第二電子信息的數(shù)字簽名信息發(fā)送客戶端之前或者之后,將所述票證識別碼進行保存,以確保票證識別碼不可重復使用(即同一張票據(jù)只能進行一次抽取)。
[0110]參見圖4所示,本發(fā)明實施例所提供的另一種隨機抽取方法包括:
[0111]S401:向服務(wù)器發(fā)送服務(wù)請求;
[0112]S402:創(chuàng)建第二隨機數(shù),計算所述第二隨機數(shù)的特征值;
[0113]在具體實現(xiàn)的時候,第二隨機數(shù)是由用戶通過客戶端輸入的。而計算第二隨機數(shù)的特征值的方法類似于計算第一隨機數(shù)的特征值的方法。
[0114]在具體實現(xiàn)時,可以采用圖5所示的創(chuàng)建第二隨機數(shù),計算第二隨機數(shù)的特征值的流程圖,包括:
[0115]S501:獲取用戶所輸入的多個隨機整數(shù);所述隨機整數(shù)大于等于0,小于等于255 ;
[0116]—般地,第二隨機數(shù)都是用戶通過客戶端的人機交互界面手工輸入的。例如,客戶端在人機交互界面上,向用戶顯示一個4*4的表格,用戶需要再每一個空格中輸入一個O?255范圍內(nèi)的任意整數(shù),共需要輸入16個隨機整數(shù)。這16個隨機整數(shù)按照用戶輸入的順序或者預先設(shè)置的順序(該順序并不一定與用戶輸入順序相同),轉(zhuǎn)換為16字節(jié)長度的二進制數(shù),該二進制數(shù)即為第二隨機數(shù)Kc。另外,還可以有其他的輸入方法,例如只向用戶顯示一個輸入欄,用戶每輸入一個數(shù)字,確定后,再通過該輸入欄輸入新的隨機整數(shù)。同時,也可以輸入更多的隨機整數(shù),具體在這里不做限制。一般地,Kc的取值范圍為:0?2128-1。
[0117]S502:將多個所述隨機整數(shù)按照預設(shè)的順序,由十進制轉(zhuǎn)換為二進制數(shù)值,所述二進制數(shù)值為第二隨機數(shù);
[0118]S503:獲取用戶所輸入的票證識別碼;
[0119]在具體實現(xiàn)的時候,該票證識別碼Ticket.Mark可以是用戶通過人機交互界面輸入的,也可以是客戶端通過網(wǎng)絡(luò),從其他應(yīng)用服務(wù)器上自動獲取的。該票證識別碼用于標識該票證的唯一性,例如在購車搖號的時候,每個人都有一次機會進行抽取,該票證識別碼即相當于抽取人的身份標志。進行過一次抽取的人,都會在服務(wù)器中進行身份記錄,不再有下一次的抽取機會。
[0120]S504:根據(jù)所述第二隨機數(shù),計算所述第二隨機數(shù)的MD5散列函數(shù)值,和/或,根據(jù)所述第二隨機數(shù),計算所述第二隨機數(shù)的SHA散列函數(shù)值;
[0121]具體的計算過程與服務(wù)器計算第一隨機數(shù)的MD5散列函數(shù)值和/或計算第一隨機數(shù)的SHA散列函數(shù)值類似,在此不再贅述。
[0122]將所述票證識別碼Ticket.Mark、第二隨機數(shù)的MD5散列函數(shù)值Kc.MD5、第二隨機數(shù)的SHA散列函數(shù)值Kc.SHA中的一種或者多種作為第二隨機數(shù)的特征值。
[0123]S403:當收到服務(wù)器所回饋的第一隨機數(shù)的特征值時,將第一隨機數(shù)的特征值與所述第二隨機數(shù)的特征值合并為第一電子信息,并對所述第一電子信息進行數(shù)字簽名,生成第一電子信息的數(shù)字簽名信息;
[0124]在具體實現(xiàn)的時候,將第一隨機數(shù)的特征值與第二隨機數(shù)的特征值合并為第一電子信息,即將 Ks.1D、Ks.MD5、Ks.SHA、Kc.MD5、Kc.SHA、Ticket.Mark 寫入同一個文本文件。該文本文件即為第一電子信息。
[0125]然后針對第一電子信息進行數(shù)字簽名,生成第一電子信息的數(shù)字簽名信息。其中,數(shù)字簽名技術(shù)為現(xiàn)有成熟技術(shù),在此不予贅述。需要注意的是,在針對第一電子信息進行數(shù)字簽名的時候,會生成一個客戶端數(shù)字簽名值Client.Signature (客戶端簽名),該簽名值會隨同第一電子信息發(fā)送至服務(wù)器。第一電子信息的數(shù)字簽名信息包括:Ks.1D、Ks.MD5、Ks.SHA、Kc.MD5、Kc.SHA、Ticket.Mark、Client.Signature0
[0126]S404:將第一電子信息的數(shù)字簽名信息發(fā)送至服務(wù)器;
[0127]S405:當接收到服務(wù)器所回饋的第二電子信息的數(shù)字簽名信息時,驗證所述第一隨機數(shù)和所述第二隨機數(shù)是否已經(jīng)處于不可變更的狀態(tài);
[0128]在具體實現(xiàn)的時候,要驗證第一隨機數(shù)和第二隨機數(shù)是否已經(jīng)處于不可變更的狀態(tài),客戶端要先驗證所述第二電子信息的數(shù)字簽名信息的完整性和不可否認性;驗證的時候是基于服務(wù)器端的在進行數(shù)字簽名是所生成的Server.Signature,此驗證即為驗證服務(wù)器端發(fā)給客戶端的進行簽名的第二電子信息是否是完整的,同時,還要驗證該進行簽名的第二電子信息是否確實是服務(wù)器所發(fā)送的。
[0129]其次,客戶端要驗證第一電子信息的數(shù)字簽名信息(此時,第一電子信息的數(shù)字簽名信息并非是由客戶端所產(chǎn)生的,而是從第二電子信息的數(shù)字簽名信息中直接獲取的)的完整性和不可否認性,驗證的時候是基于客戶端在進行數(shù)字簽名時所生成的Client.Signature,此驗證是為了驗證服務(wù)器端所發(fā)給客戶端的第二電子信息數(shù)字簽名信息是否是對之前在S403中第一電子信息的數(shù)字簽名信息的后續(xù)處理,如果驗證失敗,則可能有第三方冒充服務(wù)器的身份向客戶端發(fā)送信息。
[0130]在驗證了兩次簽名的不可否認性之后,客戶端會重新計算所述第一隨機數(shù)的MD5散列函數(shù)值、所述第一隨機數(shù)的SHA散列函數(shù)值、所述第二隨機數(shù)的MD5散列函數(shù)值,和/或所述第二隨機數(shù)的SHA散列函數(shù)值,并將計算的結(jié)果分別與所述第二電子信息中包含的所述第一隨機數(shù)的MD5散列函數(shù)值、所述第一隨機數(shù)的SHA散列函數(shù)值、所述第二隨機數(shù)的MD5散列函數(shù)值,和/或所述第二隨機數(shù)的SHA散列函數(shù)值進行一一比對;如果完全一致,則認為客戶端以及服務(wù)器之間交互的信息是可信的,并沒有被篡改。
[0131]S406:如果是,則從所述第二電子信息的數(shù)字簽名信息中提取所述第一隨機數(shù),并根據(jù)所述第一隨機數(shù)以及所述第二隨機數(shù),計算抽取結(jié)果。
[0132]在具體實現(xiàn)的時候,如果在上述S405中驗證了第一隨機數(shù)和第二隨機數(shù)已經(jīng)處于不可變更的狀態(tài)后,客戶端從第二電子信息中獲取第一隨機數(shù),利用該第一隨機數(shù)以及其自身保存的第二隨機數(shù),計算抽取結(jié)果LR。
[0133]抽取結(jié)果的計算方式可以是多種多樣的,本發(fā)明實施例提供一種具體的計算方式:將所述第一隨機數(shù)以及所述第二隨機數(shù)按照字節(jié)順序連接,并對進行順序連接后所形成的字節(jié)序列進行MD5散列函數(shù)值的計算,和/或?qū)M行順序連接后所形成的字節(jié)序列進行SHA散列函數(shù)值的計算;計算的結(jié)果即為抽取結(jié)果LR。其中在將第一隨機數(shù)Ks和第二隨機數(shù)Kc按照字節(jié)順序連接的時候,兩者的前后順序可以互換,不論哪種順序均可以實現(xiàn)。
[0134]本發(fā)明所提供的隨機抽取方法,通過客戶端和服務(wù)器的兩次數(shù)字簽名,使得在任何傳輸或者計算節(jié)點上,Ks和Kc都很難被篡改,所得到的抽取結(jié)果LR在Ks和Kc已經(jīng)確定的情況下,也是唯一確定的,同時,由于Ks本身是一個由服務(wù)端創(chuàng)建的隨機數(shù),因此LR值具有隨機性和不可預測性,同時由于LR是由Ks和Kc共同決定的結(jié)果,因此不管是服務(wù)器、客戶端或者是其他第三方,都很難從技術(shù)層面對LR進行預先的操控或者是有價值的推測。
[0135]參見圖6所示,本發(fā)明實施例還提供一種具體的應(yīng)用本發(fā)明所提供的隨機抽取方法進行搖號的方法,其中,服務(wù)器為專用的搖號服務(wù)器,客戶端為搖號終端。包括:
[0136]S601:搖號終端向搖號服務(wù)器發(fā)出一個特定的服務(wù)請求,為CreateKs請求。
[0137]S602:搖號服務(wù)器在接收到搖號終端的CreateKs請求后,創(chuàng)建第一隨機數(shù)Ks,同時給Ks綁定一個識別序列號KS.1D。隨后計算Ks的MD5散列函數(shù)值KS.MD5,并計算Ks的SHA散列函數(shù)值KS.SHA。Ks是一個不少于16字節(jié)長度的二進制數(shù)。
[0138]S603:搖號服務(wù)器將{KS.1D, KS.MD5,KS.SHA}以預設(shè)的格式回饋給搖號終端。
[0139]此處,預設(shè)的格式即將KS.1D,KS.MD5,KS.SHA寫入同一個文本文件進行發(fā)送。
[0140]S604:搖號終端通過人機交互界面,獲得實際用戶的手工輸入的第二隨機數(shù)Kc,Kc的取值范圍O?2128-1。
[0141]S605:搖號終端在獲得用戶輸入的Kc值以后,計算Kc的MD5散列函數(shù)值KC.MD5,再計算Kc的SHA散列函數(shù)值KC.SHA。
[0142]S606:搖號終端獲得用戶所輸入的Ticket.Mark(票證識別碼)信息字段。
[0143]S607:搖號終端將{KS.1D, KS.MD5,KS.SHA, KC.MD5,KC.SHA, Ticket.Mark}按約定格式組合,并對這些信息進行數(shù)字簽名,該數(shù)字簽名值稱為Client.Signature (客戶端簽名)。
[0144]S608:搖號終端將{KS.1D, KS.MD5,KS.SHA, KC.MD5,KC.SHA, Ticket.Mark,Client.Signature}按照預設(shè)的格式發(fā)送給搖號服務(wù)器。
[0145]S609:搖號服務(wù)器基于Ticket.Mark確認本次搖號服務(wù)的合法性。
[0146]具體地,每次成功的搖號服務(wù)完成后,相關(guān)的Ticket.Mark被存儲在搖號服務(wù)器本地,如果通過數(shù)據(jù)檢索確認Ticket.Mark被重復使用,本次服務(wù)終止。
[0147]S610:搖號服務(wù)器基于 Client.Signature 驗證{KS.1D,KS.MD5,KS.SHA, KC.MD5,KC.SHA, Ticket.Mark}的完整性和不可否認性。
[0148]S611:搖號服務(wù)器通過KS.1D檢索Ks,隨后檢查Ks與KS.MD5、KS.SHA的計算相符性。
[0149]S612:搖號服務(wù)器將 KS.1D, KS.MD5,KS.SHA, KC.MD5,KC.SHA, Ticket.Mark,Client.Signature, Ks, TimeStamp (服務(wù)器上的當前時間戳)合并,并對合并信息進行數(shù)字簽名,數(shù)字簽名值為Server.Signature (服務(wù)端簽名)。
[0150]S613:搖號服務(wù)器將本地保存的KS.1D、Ks進行銷毀處理,確保Ks只能一次性導出。
[0151]S614:搖號服務(wù)器將Ticket.Mark存儲于本地數(shù)據(jù)庫中,確保Ticket.Mark不可重復使用。
[0152]S615:搖號服務(wù)器將{KS.1D,KS.MD5,KS.SHA,KC.MD5,KC.SHA,Ticket.Mark,C
當前第3頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
长岭县| 伊春市| 高安市| 沁阳市| 监利县| 孟津县| 平乡县| 星子县| 尼玛县| 北京市| 文成县| 松滋市| 慈利县| 炉霍县| 宝兴县| 宜都市| 娱乐| 遂平县| 大英县| 凭祥市| 江安县| 永丰县| 深州市| 镇平县| 正定县| 珠海市| 清徐县| 桦甸市| 光山县| 远安县| 景德镇市| 思茅市| 奎屯市| 信宜市| 汤原县| 抚宁县| 巴彦淖尔市| 桦甸市| 江山市| 隆尧县| 淳化县|