本發(fā)明涉及數(shù)據(jù)加密技術(shù)領(lǐng)域,更具體而言,涉及一種數(shù)據(jù)加密方法和一種數(shù)據(jù)加密裝置。
背景技術(shù):
在相關(guān)技術(shù)中,所謂半雙工就是指一個(gè)時(shí)間段內(nèi)只有一個(gè)動(dòng)作發(fā)生,采用同一密鑰與同類型隨機(jī)數(shù)對(duì)加密數(shù)據(jù)進(jìn)行加密,以在半雙工狀態(tài)下實(shí)現(xiàn)數(shù)據(jù)傳輸,在加密數(shù)據(jù)位數(shù)較多時(shí),并不能增加數(shù)據(jù)的安全性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一。
為此,本發(fā)明的目的在于,提供一種數(shù)據(jù)加密方法和一種數(shù)據(jù)加密裝置,通過設(shè)計(jì)一種新的數(shù)據(jù)加密方法,提升了半雙工低頻RFID單向數(shù)據(jù)傳輸?shù)陌踩?,具有加解密速度快、加密方法?shí)現(xiàn)簡(jiǎn)單、加密方法加密強(qiáng)度高、安全性好、適用面廣的優(yōu)點(diǎn),適用于軟、硬件實(shí)現(xiàn)。
為實(shí)現(xiàn)上述目的,本發(fā)明一方面提供了一種數(shù)據(jù)加密方法,包括:
步驟102,獲取第一線性反饋移位寄存器與第二線性反饋移位寄存器中的加密參數(shù);
步驟104,根據(jù)所述加密參數(shù)對(duì)反饋模塊中的加密數(shù)據(jù)進(jìn)行加密,以得到一位字節(jié)數(shù)據(jù);
步驟106,將所述一位字節(jié)數(shù)據(jù)與編程參數(shù)執(zhí)行異或操作,以生成一位密文數(shù)據(jù);
步驟108,在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)第二選擇器選擇的所述一位字節(jié)數(shù)據(jù),將所述第二線性反饋移位寄存器順序向左移動(dòng)一位,以將所述一位字節(jié)數(shù)據(jù)輸入至所述第二線性反饋移位寄存器的隊(duì)尾;
步驟110,在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)第一選擇器選擇的所述編程參數(shù)與第三選擇器選擇的密鑰參數(shù),將所述第一線性反饋移位寄存器順序向左移動(dòng)一位,以將所述密鑰參數(shù)輸入至所述第二線性反饋移位寄存器的隊(duì)尾
步驟112,根據(jù)所述加密數(shù)據(jù)的位數(shù)重復(fù)步驟104至108,直至完成加密過程。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述在獲取第一線性反饋移位寄存器與第二線性反饋移位寄存器中的加密參數(shù)前,還包括:在所述第二選擇器選擇隨機(jī)初始化進(jìn)程后,根據(jù)所述時(shí)鐘信號(hào)把串行的指定位數(shù)的隨機(jī)數(shù)據(jù)與隨機(jī)參數(shù)的異或值輸入到所述第一線性反饋移位寄存器,以作為第一加密參數(shù);在所述第一選擇器選擇密鑰初始化進(jìn)程后,根據(jù)所述時(shí)鐘信號(hào)把串行的所述指定位數(shù)的密鑰數(shù)據(jù)輸入到所述第二線性反饋移位寄存器,以作為第二加密參數(shù),所述第一加密參數(shù)與所述第二加密參數(shù)組成所述加參數(shù)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,還包括:根據(jù)循環(huán)冗余校驗(yàn)碼模塊與所述編程參數(shù)生成循環(huán)冗余校驗(yàn)碼;根據(jù)所述第三選擇器選擇的輸出數(shù)據(jù),重復(fù)步驟104至108,直至生成加密循環(huán)冗余校驗(yàn)碼。
本發(fā)明另一方面提供了一種數(shù)據(jù)加密裝置,包括:獲取單元,用于獲取第一線性反饋移位寄存器與第二線性反饋移位寄存器中的加密參數(shù);計(jì)算單元,用于根據(jù)所述加密參數(shù)對(duì)反饋模塊中的加密數(shù)據(jù)進(jìn)行加密,以得到一位字節(jié)數(shù)據(jù);加密單元,用于將所述一位字節(jié)數(shù)據(jù)與編程參數(shù)執(zhí)行異或操作,以生成一位密文數(shù)據(jù);輸入單元,用于在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)第二選擇器選擇的所述一位字節(jié)數(shù)據(jù),將所述第二線性反饋移位寄存器順序向左移動(dòng)一位,以將所述一位字節(jié)數(shù)據(jù)輸入至所述第二線性反饋移位寄存器的隊(duì)尾;所述輸入單元還用于:在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)第一選擇器選擇的所述編程參數(shù)與第三選擇器選擇的密鑰參數(shù),將所述第一線性反饋移位寄存器順序向左移動(dòng)一位,以將所述密鑰參數(shù)輸入至所述第二線性反饋移位寄存器的隊(duì)尾。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述輸入單元還用于:在所述第二選擇器選擇隨機(jī)初始化進(jìn)程后,根據(jù)所述時(shí)鐘信號(hào)把串行的指定位數(shù)的隨機(jī)數(shù)據(jù)與隨機(jī)參數(shù)的異或值輸入到所述第一線性反饋移位寄存器,以作為第一加密參數(shù);所述輸入單元還用于:在所述第一選擇器選擇密鑰初始化進(jìn)程后,根據(jù)所述時(shí)鐘信號(hào)把串行的所述指定位數(shù)的密鑰數(shù)據(jù)輸入到所述第二線性反饋移位寄存器,以作為第二加密參數(shù),所述第一加密參數(shù)與所述第二加密參數(shù)組成所述加參數(shù)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,還包括:生成單元,根據(jù)循環(huán)冗余校驗(yàn)碼模塊與所述編程參數(shù)生成循環(huán)冗余校驗(yàn)碼;所述加密單元還用于:根據(jù)所述第三選擇器選擇的輸出數(shù)據(jù),生成加密循環(huán)冗余校驗(yàn)碼。
通過本發(fā)明,可以設(shè)計(jì)一種新的數(shù)據(jù)加密方法,通過設(shè)計(jì)一種新的數(shù)據(jù)加密方法,提升了半雙工低頻RFID單向數(shù)據(jù)傳輸?shù)陌踩?,具有加解密速度快、加密方法?shí)現(xiàn)簡(jiǎn)單、加密方法加密強(qiáng)度高、安全性好、適用面廣的優(yōu)點(diǎn),適用于軟、硬件實(shí)現(xiàn)。
本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述部分中給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
附圖說明
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)加密方法的示意流程圖;
圖2示出了根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)加密裝置的示意框圖;
圖3示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的數(shù)據(jù)加密方法的示意圖;
圖4示出了與本發(fā)明實(shí)施例的數(shù)據(jù)加密方法對(duì)應(yīng)的解密方法的示意圖。
具體實(shí)施方式
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)加密方法的示意流程圖。
如圖1所示,根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)加密方法,包括:
步驟102,獲取第一線性反饋移位寄存器與第二線性反饋移位寄存器中的加密參數(shù);
步驟104,根據(jù)所述加密參數(shù)對(duì)反饋模塊中的加密數(shù)據(jù)進(jìn)行加密,以得到一位字節(jié)數(shù)據(jù);
步驟106,將所述一位字節(jié)數(shù)據(jù)與編程參數(shù)執(zhí)行異或操作,以生成一位密文數(shù)據(jù);
步驟108,在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)第二選擇器選擇的所述一位字節(jié)數(shù)據(jù),將所述第二線性反饋移位寄存器順序向左移動(dòng)一位,以將所述一位字節(jié)數(shù)據(jù)輸入至所述第二線性反饋移位寄存器的隊(duì)尾;
步驟110,在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)第一選擇器選擇的所述編程參數(shù)與第三選擇器選擇的密鑰參數(shù),將所述第一線性反饋移位寄存器順序向左移動(dòng)一位,以將所述密鑰參數(shù)輸入至所述第二線性反饋移位寄存器的隊(duì)尾
步驟112,根據(jù)所述加密數(shù)據(jù)的位數(shù)重復(fù)步驟104至108,直至完成加密過程。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述在獲取第一線性反饋移位寄存器與第二線性反饋移位寄存器中的加密參數(shù)前,還包括:在所述第二選擇器選擇隨機(jī)初始化進(jìn)程后,根據(jù)所述時(shí)鐘信號(hào)把串行的指定位數(shù)的隨機(jī)數(shù)據(jù)與隨機(jī)參數(shù)的異或值輸入到所述第一線性反饋移位寄存器,以作為第一加密參數(shù);在所述第一選擇器選擇密鑰初始化進(jìn)程后,根據(jù)所述時(shí)鐘信號(hào)把串行的所述指定位數(shù)的密鑰數(shù)據(jù)輸入到所述第二線性反饋移位寄存器,以作為第二加密參數(shù),所述第一加密參數(shù)與所述第二加密參數(shù)組成所述加參數(shù)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,還包括:根據(jù)循環(huán)冗余校驗(yàn)碼模塊與所述編程參數(shù)生成循環(huán)冗余校驗(yàn)碼;根據(jù)所述第三選擇器選擇的輸出數(shù)據(jù),重復(fù)步驟104至108,直至生成加密循環(huán)冗余校驗(yàn)碼。
圖2示出了根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)加密裝置的示意框圖。
如圖2所示,根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)加密裝置200,包括:獲取單元202,用于獲取第一線性反饋移位寄存器與第二線性反饋移位寄存器中的加密參數(shù);計(jì)算單元204,用于根據(jù)所述加密參數(shù)對(duì)反饋模塊中的加密數(shù)據(jù)進(jìn)行加密,以得到一位字節(jié)數(shù)據(jù);加密單元206,用于將所述一位字節(jié)數(shù)據(jù)與編程參數(shù)執(zhí)行異或操作,以生成一位密文數(shù)據(jù);輸入單元208,用于在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)第二選擇器選擇的所述一位字節(jié)數(shù)據(jù),將所述第二線性反饋移位寄存器順序向左移動(dòng)一位,以將所述一位字節(jié)數(shù)據(jù)輸入至所述第二線性反饋移位寄存器的隊(duì)尾;所述輸入單元208還用于:在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)第一選擇器選擇的所述編程參數(shù)與第三選擇器選擇的密鑰參數(shù),將所述第一線性反饋移位寄存器順序向左移動(dòng)一位,以將所述密鑰參數(shù)輸入至所述第二線性反饋移位寄存器的隊(duì)尾。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述輸入單元208還用于:在所述第二選擇器選擇隨機(jī)初始化進(jìn)程后,根據(jù)所述時(shí)鐘信號(hào)把串行的指定位數(shù)的隨機(jī)數(shù)據(jù)與隨機(jī)參數(shù)的異或值輸入到所述第一線性反饋移位寄存器,以作為第一加密參數(shù);所述輸入單元208還用于:在所述第一選擇器選擇密鑰初始化進(jìn)程后,根據(jù)所述時(shí)鐘信號(hào)把串行的所述指定位數(shù)的密鑰數(shù)據(jù)輸入到所述第二線性反饋移位寄存器,以作為第二加密參數(shù),所述第一加密參數(shù)與所述第二加密參數(shù)組成所述加參數(shù)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,還包括:生成單元210,根據(jù)循環(huán)冗余校驗(yàn)碼模塊與所述編程參數(shù)生成循環(huán)冗余校驗(yàn)碼;所述加密單元206還用于:根據(jù)所述第三選擇器選擇的輸出數(shù)據(jù),生成加密循環(huán)冗余校驗(yàn)碼。
圖3示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的數(shù)據(jù)加密方法的示意圖。
如圖3所示,初始化:
1)chs2選擇器選擇raninit,由時(shí)鐘信號(hào)CLK串行的把40位的隨機(jī)數(shù)據(jù)和wradr的異或值輸入到LFSR1。
2)chs1選擇器選擇keyinit,由時(shí)鐘信號(hào)CLK串行的把40位的密鑰數(shù)據(jù)輸入到LFSR2。
數(shù)據(jù)加密:
3)Feedback模塊通過運(yùn)算LFSR1和LFSR2工80bit輸入,得到一Bit值fout,fout與din異或得到dout。dout即是加密之后的密文數(shù)據(jù)。
4)chs2選擇fout,在時(shí)鐘信號(hào)CLK的驅(qū)動(dòng)下,LFSR2整體左移一位,fout的值輸入LFSR2的第40位。
5)chs1選擇fdin,chs3選擇din, 在時(shí)鐘信號(hào)CLK的驅(qū)動(dòng)下,LFSR1整體左移一位,fdin的值輸入到LFSR1的第40位。
6)根據(jù)加密數(shù)據(jù)的長(zhǎng)度循環(huán)執(zhí)行3-5幾個(gè)步驟,本列加密的數(shù)據(jù)長(zhǎng)度是40位。
CRC加密:
在循環(huán)執(zhí)行3-5加密數(shù)據(jù)的過程中,CRC module同時(shí)根據(jù)din的值,生成16 bit的CRC校驗(yàn)碼。加密完數(shù)據(jù)之后,chs3選擇cout,然后繼續(xù)循環(huán)執(zhí)行3-5步,加密crc數(shù)據(jù)。
圖4示出了與本發(fā)明實(shí)施例的數(shù)據(jù)加密方法對(duì)應(yīng)的解密方法的示意圖。
如圖4所示,初始化:
1)chs2選擇器選擇raninit,由時(shí)鐘信號(hào)CLK串行的把40位的隨機(jī)數(shù)據(jù)和wradr的異或值輸入到LFSR1。
2)chs1選擇器選擇keyinit,由時(shí)鐘信號(hào)CLK串行的把40位的密鑰數(shù)據(jù)輸入到LFSR2。
數(shù)據(jù)解密:
3)Feedback模塊通過運(yùn)算LFSR1和LFSR2工80bit輸入,得到一Bit值fout,fout與din異或得到dout。dout即是解密之后的密文數(shù)據(jù)。
4)chs2選擇fout,在時(shí)鐘信號(hào)CLK的驅(qū)動(dòng)下,LFSR2整體左移一位,fout的值輸入LFSR2的第40位。
5)chs1選擇fdin, 在時(shí)鐘信號(hào)CLK的驅(qū)動(dòng)下,LFSR1整體左移一位,fdin的值輸入到LFSR1的第40位。
6)dout的值輸入到Crc Module中。
7)本案例中,加密的數(shù)據(jù)是40位,加密的CRC數(shù)據(jù)是16位,共是56位。循環(huán)執(zhí)行3到6步,根據(jù)本案例所采取的CRC算法,執(zhí)行完56次之后,CRC的內(nèi)部狀態(tài)值應(yīng)是全0。
綜上所述,在本發(fā)明中,通過設(shè)計(jì)一種新的數(shù)據(jù)加密方法,提升了半雙工低頻RFID單向數(shù)據(jù)傳輸?shù)陌踩?,具有加解密速度快、加密方法?shí)現(xiàn)簡(jiǎn)單、加密方法加密強(qiáng)度高、安全性好、適用面廣的優(yōu)點(diǎn),適用于軟、硬件實(shí)現(xiàn)。
在本說明書的描述中,術(shù)語“安裝”、“相連”、“連接”等術(shù)語均應(yīng)做廣義理解,例如,“連接”可以是固定連接,也可以是可拆卸連接,或一體地連接;“相連”可以是直接相連,也可以通過中間媒介間接相連。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
在本說明書的描述中,術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“具體實(shí)施例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或?qū)嵗?。而且,描述的具體特征、結(jié)構(gòu)、材料或特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。