System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及一種數值型數據加密算法。屬于軟件工程。
技術介紹
1、隨著信息化和數字化技術的發展,人們對信息安全和保密的重要性認識不斷提高,在數據傳輸等領域數據加密已經成為一種必要手段,常用的保密算法包括des、rsa、sha、aes、ecc等。特別是在通信領域,采用編碼調制方式,輔以加擾方式對數據流進行加密也已成為一種通用數據傳輸模式。對數值類型加密,特別是對浮點類型,采用編碼等形式下往往會造成數據字節數加長,給數據傳輸的可靠性造成一定影響。
2、本專利技術設計了一種數值型數據加密算法的設計,為解決這一問題提供一種實用、簡便的方法。
技術實現思路
1、本專利技術所要解決的技術問題是針對上述現有技術提供一種數值型數據加密算法的實現方法,將實際數值按位對應兩層中的特定密鑰,再將相鄰兩層形成一個字節,其中密鑰為不可重復的兩組數,具有原理清晰、結構簡單、實現容易的特點。
2、本專利技術解決上述問題所采用的技術方案為:一種數值型數據加密算法,其特征在于:所述算法是通過將數值型數據按位分區,每一區包括密鑰和層級,層級分為上下兩層,通過密鑰來替代層級,即替代數據該位的真實數值,根據需要加密的數值將按位正序或倒序或交叉形式分配給每個分區,在分區內將得到的每位密鑰兩兩組合形成新的數據格式,從而實現加密,加密數據按照固定的數據幀發送和接受。
3、優選地,所述分區是指給數值型數據每一位指定一個加密區域,在該區域內按照分配的密鑰,根據數值型數據中該位的值所代表的層數來
4、優選地,所述層級是針對數值型數據每一位均是在[0-9]之間取值,它有10?。?628800個排列方式,所有排列方式組成數組,在數組中每個排列方式的10個數值分為上下兩層,每層有五個級數,隨機抽取數組中的一種排列方式,得到1byte的數組序號c5,將c5發送給解密端。
5、優選地,數值型數據的對應位數有n!=n*(n-1)*(n-2)...*1個排列方式,其中n代表數值型數據位數,將所有排列方式形成數組,在使用時,隨機選定一個排列方式,即在數組中使用序號為1byte的排列數c1進行標識,再將c1發送給解密端。
6、優選地,所述密鑰為[0-9,a-f]的16個數中選取不重復的10組數,將其分為兩組[0-9]和[a-f],其[0-9]的排列方式為c510個,[a-f]的排列方式為c56個,形成兩組數組形式,兩組數組分別隨機抽取一組數,得到1byte的排列數c2和c3進行標識,在使用時,將c2、c3發送給解密端。
7、優選地,針對層級分為上下兩層的特點,兩組密鑰數組按照[0]或[1]模式進行分配,保證層級的每一層有一個密鑰對應,密鑰分配模式以c4表示,將c4發送給解密端,分配給層級的上5層和下5層,0表示c2分配給上5層、c3就分配給下5層,1表示c2分配給下5層、c3分配給上5層,抽取的每一組密碼分配給層級,即密鑰的每一位均替代了層級所代表的數。
8、優選地,所述數據幀是一種數據傳輸的幀結構形式,在形成加密數據后,幀結構包括1byte幀頭、1byte功能碼、nbyte數據長度和nbyte數據。
9、優選地,所述幀頭是整幀數據數據不易出現的1byte數據,所述功能碼是代表數據執行某些特殊功能的代號,數據長度為1byte,所述數據長度是nbyte數據的個數的16進制表示,所述數據是針對功能碼需要執行的具體內容,返回幀結構同發送幀結構,以功能碼區分。
10、與現有技術相比,本專利技術具有以下有益效果:
11、本專利技術的一種數值型數據加密算法,采用按數據真實位數分區,每個分區代表一位。在分區內,按照2級層級區分該位的數值,再通過密鑰來替代該層所在數值,從而實現數據加密功能。按照幀頭+功能碼+數據長度+數據的幀結構,根據功能碼來執行特定的功能,從而完成特定任務。
本文檔來自技高網...【技術保護點】
1.一種數值型數據加密算法,其特征在于:所述算法是通過將數值型數據按位分區,每一區包括密鑰和層級,層級分為上下兩層,通過密鑰來替代層級,即替代數據該位的真實數值,根據需要加密的數值將按位正序或倒序或交叉形式分配給每個分區,在分區內將得到的每位密鑰兩兩組合形成新的數據格式,從而實現加密,加密數據按照固定的數據幀發送和接受。
2.根據權利要求1所述的一種數值型數據加密算法,其特征在于:所述分區是指給數值型數據每一位指定一個加密區域,在該區域內按照分配的密鑰,根據數值型數據中該位的值所代表的層數來進行加密。
3.根據權利要求1所述的一種數值型數據加密算法,其特征在于:所述層級是針對數值型數據每一位均是在[0-9]之間取值,它有10!=3628800個排列方式,所有排列方式組成數組,在數組中每個排列方式的10個數值分為上下兩層,每層有五個級數,隨機抽取數組中的一種排列方式,得到1byte的數組序號C5,將C5發送給解密端。
4.根據權利要求2所述的一種數值型數據加密算法,其特征在于:數值型數據的對應位數有n!=n*(n-1)*(n-2)...*1個排列
5.根據權利要求1所述的一種數值型數據加密算法,其特征在于:所述密鑰為[0-9,a-f]的16個數中選取不重復的10組數,將其分為兩組[0-9]和[a-f],其[0-9]的排列方式為C510個,[a-f]的排列方式為C56個,形成兩組數組形式,兩組數組分別隨機抽取一組數,得到1byte的排列數C2和C3進行標識,在使用時,將C2、C3發送給解密端。
6.根據權利要求5所述的一種數值型數據加密算法,其特征在于:針對層級分為上下兩層的特點,兩組密鑰數組按照[0]或[1]模式進行分配,保證層級的每一層有一個密鑰對應,密鑰分配模式以C4表示,將C4發送給解密端,分配給層級的上5層和下5層,0表示C2分配給上5層、C3就分配給下5層,1表示C2分配給下5層、C3分配給上5層,抽取的每一組密碼分配給層級,即密鑰的每一位均替代了層級所代表的數。
7.根據權利要求1所述的一種數值型數據加密算法,其特征在于:所述數據幀是一種數據傳輸的幀結構形式,在形成加密數據后,幀結構包括1byte幀頭、1byte功能碼、nbyte數據長度和nbyte數據。
8.根據權利要求7所述的一種數值型數據加密算法,其特征在于:所述幀頭是整幀數據數據不易出現的1byte數據,所述功能碼是代表數據執行某些特殊功能的代號,數據長度為1byte,所述數據長度是nbyte數據的個數的16進制表示,所述數據是針對功能碼需要執行的具體內容,返回幀結構同發送幀結構,已功能碼區分。
...【技術特征摘要】
1.一種數值型數據加密算法,其特征在于:所述算法是通過將數值型數據按位分區,每一區包括密鑰和層級,層級分為上下兩層,通過密鑰來替代層級,即替代數據該位的真實數值,根據需要加密的數值將按位正序或倒序或交叉形式分配給每個分區,在分區內將得到的每位密鑰兩兩組合形成新的數據格式,從而實現加密,加密數據按照固定的數據幀發送和接受。
2.根據權利要求1所述的一種數值型數據加密算法,其特征在于:所述分區是指給數值型數據每一位指定一個加密區域,在該區域內按照分配的密鑰,根據數值型數據中該位的值所代表的層數來進行加密。
3.根據權利要求1所述的一種數值型數據加密算法,其特征在于:所述層級是針對數值型數據每一位均是在[0-9]之間取值,它有10!=3628800個排列方式,所有排列方式組成數組,在數組中每個排列方式的10個數值分為上下兩層,每層有五個級數,隨機抽取數組中的一種排列方式,得到1byte的數組序號c5,將c5發送給解密端。
4.根據權利要求2所述的一種數值型數據加密算法,其特征在于:數值型數據的對應位數有n!=n*(n-1)*(n-2)...*1個排列方式,其中n代表數值型數據位數,將所有排列方式形成數組,在使用時,隨機選定一個排列方式,即在數組中使用序號為1byte的排列數c1進行標識,再將c1發送給解密端。
5.根據權利要求1所述的一種數值型數據加密算法,其特征...
【專利技術屬性】
技術研發人員:李仁龍,周海淵,方茜,孫曉東,趙李健,徐如祥,李可,劉勇,任娛頡,
申請(專利權)人:中國衛星海上測控部,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。