999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RSA和密鑰的二維碼加密編碼的研究

2014-08-23 02:23:34安吉旺徐凱宏
森林工程 2014年2期
關鍵詞:信息

安吉旺,徐凱宏

(東北林業大學 機電工程學院,哈爾濱 150040)

二維碼(Two dimensional Barcode)是在一維碼的基礎上,在垂直和水平兩個方向上進行的編碼和解碼。QR碼(Quick Response Code)作為矩陣式二維條碼的典型代表,是在一個矩形空間中通過不同黑、白像素的矩陣分布進行編碼。與其他二維碼相比,QR碼除了具有信息容量大、可靠性強,可表示漢字及圖像等多種文字信息等優點外,還可全方位識讀且識讀速度快[1]。因此,QR碼在各行各業中得到普遍應用。

一些領域,QR碼所包含信息不方便被無關組織、機構和個人隨意識讀,這就要求其在傳輸和存儲前進行相應的加密處理。在密碼學中,信息加密有很多種方法:序列密碼、分組密碼、公鑰密碼、哈希函數等[2],但在二維碼編碼技術中的應用卻很少,如用Rinjdael算法分別對信息原文、密鑰加密編碼得到二維碼A、B,A、B非功能區異或編碼得到二維碼C[3];QR碼二值圖像DES加密將原有規律排列的黑白相間區域變成雜亂無章的黑白區域,破壞了QR碼平面結構使無法識讀信息[4];結合編碼規則,先用PBE(Password Based Encryption)方法對數據信息加密再把密文編碼[5]。

本文結合RSA加密算法和編碼規則,通過改進加密過程在VC上實現對信息的雙重加密。

1 QR編碼規則

QR碼是由編碼區域和功能圖形組成一個正方形陣列。QR版本7符號結構圖如圖1所示。

圖1 QR碼符號的結構

QR編碼共分七個步驟:①數據分析:分析所輸入的數據流,確定要進行編碼的字符的類型。②數據編碼:針對不同數據模式將數據轉化成二進制位流,經碼字轉化最終形成碼字位流。③糾錯編碼:根據選定的符號標識和糾錯等級,將一組給定的數據碼字分成數據塊并計算相應數據塊的糾錯碼字。④構造最終信息:依次將每一塊的數據碼字和糾錯碼字裝配成最終序列碼字。最終編碼信息排放如圖2所示。⑤在矩陣中布置模塊:將上圖功能圖區的各個模塊一起加入矩陣。⑥掩模:將數據及糾錯碼區域內滿足條件的模塊定義為深色。⑦格式和版本信息:根據編碼格式和版本型號生成QR碼符號[1]。

圖2 編碼信息排放

QR編碼算法公開且編、譯碼軟件應用普遍,未加密的QR碼很容易被識別。將加密引入到二維碼技術中,對于食品安全、票務管理、貴重物品防偽等方面都有很大的幫助,這也促進了二維碼技術的普及。

2 RSA算法

RSA密碼體制是由Rivest,Shamir,Adleman于1978年提出的基于數論理論的公鑰密碼體制,是目前應用最廣泛的公鑰密碼體制。加密體制如下:

密鑰生成:用戶任意選取兩個大素數(大于500比特)p、q,計算公式:

n=pqφ(n)=(p-1)(q-1)。

(1)

隨機選取一個整數e:1≤e<φ(n)且e與φ(n)互質。通常先選定e,再找出并確定p,q。求解私鑰d:1

for(i=0;i

{

j=i*e%k;

if(j==1)

{

printf(“%d”i);

printf(“ ”);

}

}

其中,n為運算模數,e為加密指數,d為解密指數。在編碼過程中為可公示密鑰。為非公開的私鑰,信息接收端若要獲取加密信息必須申請私鑰。

加密算法:首先將明文分組,每組長度小于log2n。使用公鑰對每個分組m加密生成密文c:c=memodn。

解密算法:在知道私鑰k的情況下解密密文c得到明文m:m=cdmodn。

3 密令Key算法

此算法是采用輸入密鑰k加密明文m使其轉化成可視字符的算法。算法規則如下:

加密算法:獲取明文m、密鑰k,明文和密鑰是以字符型輸入。將明文m按密鑰k的字符長度分段成,m1,m2,…,mn,若不能整除則加入填充符“ ”。分別自密鑰k和每段數據符mi的首字節開始提取字節數值k1、k2。通過Ci=((k1+k2+512)mod 95)+32(實驗證明漢字字符字節提取值為負值)運算將明文字符mi轉化成ASCⅡ碼表中32~126之間的可視字符c1,c2,…cn。加密過程中(k1+k2+512)/95的值加32同樣轉化成ASCⅡ碼表中32-126之間的可視字符q1,q2,…qn,最后得到密文

c=c1,q1,c2,q2,…cn,qn。

解密算法:解密是加密的逆過程,獲取密文c、輸入正確的密鑰k,明文和密鑰是以字符型輸入。先提取密文c中的q1,q2,…qn,將密文剩余信息密鑰k的字符長度分段成c1,c2,…cn(此時密文c必被整除)。分別自密鑰k和每段數據符ci的首字節開始提取字節數值k1、k2。通過mi=k2+95*Q[n]-512-k1(Q[n]中存放加密過程中qi-32的值;i=1,2,…,n)運算最后得到明文m=mi,m2,…mn[2]。

4 雙重加密編碼編程實現

4.1 加密流程

圖3 雙重加密流程

為了不破壞QR碼的符號結構、降低糾錯能力及識讀效率,本文將加密算法作用于QR碼編解碼步驟中“數據編碼”步驟前,對原始數據進行加密,之后再將密文進行“數據編碼”直至生成QR符號。解碼則是編碼的逆過程。QR碼信息的雙重密算法流程為:

(1)獲取要加密的明文信息(漢字、圖像、數字等),并將信息進行字符轉換,輸入加密口令。

(2)將明文信息字符采用加密口令Key進行密文C1;

(3)對密令進行RSA算法加密生成C2;

(4)設置密碼標志位,將密碼C2填充到C1當中形成最終密文C。

(5)對密文C進行數據分析和數據編碼,形成數據位流。

(6)對數據位流進行糾錯、掩膜等后續處理直至生成加密QR碼。

4.2 QR碼加密實現

QR碼雙重加密解密的實現是采用C++語言編寫,在已有開源項目和基礎函數庫的基礎上進行的二次開發。本文在開源項目QR碼的編碼過程中編寫函數進行加密操作。

(1)提取明文信息。明文的形式有很多種,其中,最主要的是文本信息和圖像。加密所需的明文必須采用的字符串的格式,這就要求對所獲取的明文進行格式轉換。對于文本內容來說其本身就是字符串形式得,加密前只需獲取文本信息即可。對于圖像信息來說,加密編碼前需要對其進行圖形調整以達到相應的規格標準。

①文本信息提取:

CString strFilter= “TXT

Files(*.txt)|*.txt|All

Files(*.*)|*.*||”;

CString strCon=“(TXT file)*.txt”;

m_strTxtFileName=fDlg.GetPathName();

②圖像信息提取:

strFilter=“Bitmap Files(*.bmp)|*.bmp|All Files(*.*)|*.*||”;

strCon=“(Bitmap file)*.bmp”;

m_strBmpFileName=fDlg.GetPathName();

sprintf(ss,“%s”,m_strBmpFileName.GetBuffer(256));

SizeDIB(ImgFileName,100,100);//調整圖像

(2)雙重加密。

①口令key加密:將上面提取的文本信息TxtFile-

Name、圖像信息ImgFileName,作為加密明文Source,在輸入口令Key的前提下進行加密。

CString CEncryptDlg∷Encrypt_Key(CString Source,CString Key)

{

k1=pKey[j-1];

k2=pSource[j-1];

intk=k1+k2+512;

div_Result=div(k,ENCRYPT_KEY);

k=div_Result.rem;

m=div_Result.quot;

pMid[j-1]=k;

strTarget[n]=k;

DstrTarget[n]=m;

n++;

i=0;x=0;

for(j=0;j<2*n;j++)

{

if(j%2==0)

sstrTarget[j]=strTarget[i++]+32;

else

sstrTarget[j]=DstrTarget[x++]+32;

}

}

②RSA加密:對口令Key加密,將Key作為RSA加密算法的輸入m_Source

wsprintf(pSource,“%s”,m_Source);

iLen=m_Source.GetLength();

for(i=0;i

{

div_t div_Result;

dw1=Exp(pSource[i],e,r);

div_Result=div(dw1,r);

pTarget[i]=div_Result.rem;

//獲取密文

}//加密算法最關鍵是引用Exp()函數,是RAS加密的核心算法。

DWORD Exp(intk,inte,intr)

{DWORD dwResult;

div_tdiv_Result;

dwResult=k;

div_Result=div(dwResult,r);

dwResult=div_Result.rem;

for(inti=1;i

{dwResult*=k;

div_Result=div(dwResult,r);dwResult=div_Result.rem;}

return(dwResult);

(3)編碼函數

QR編碼只需在獲取加密密文后調用Qr_code編碼動態鏈接庫EnCodeQr.dll

void BarCodeDlg::EnCoding()

{…

SetQrConFile(m_strConFileName);//設置QR配置文件

if(imgLen<1)

barname=EnQrText(m_strInfo);//將信息生成QR碼不含編碼信息結構

else

barname=MakeQrCode(TxtFileName,ImgFileName,“”);//將文本、圖形和其他信息合成生成QR碼,含編碼結構信息。}

5 實驗及分析

本文采用漢字模式下“東北林業大學”為加密原文,編碼QR圖像如圖4所示,其中圖4(a)未加密,能夠采用普通識別軟件讀取,而圖4(b)、(c)、圖4(d)分別采用RSA、密令Key、RSA改進算法加密QR碼,必須采用專用識別軟件才能正確識讀。

圖4 不同加密方式下生成的二維碼

從QR碼加解密測試數據(見表1)可以看出,加解密軟件可正確識讀加密和未加密QR碼,而普通的識讀軟件對加密QR碼的正確識別率為0%。本實驗中若對“東北林業大學”進行單一RSA算法加密且公鑰e=101,其中求余運算1 224次、加法運算1 212次。采用本文的改進算法加密:求余運算417次、加法運算457次。通過對運算次數和加、解密時間的分析,新加密方法效率更高,安全性更強。另外新的加密方法:加密口令簡單、靈活,且由用戶掌握。對比加密前后的QR碼符,其結構并未改變,不影響QR碼的適度效率。

表1 QR碼加解密測試數據

6 結束語

RSA算法是基于分解大整數的困難性的加密,在管理密鑰方面算法優越,加密時公鑰更新容易,對外只需保密私鑰。但RSA算法計算復雜,其模正整數次冪運算需消耗大量時間,當進行大信息量加密時將嚴重影響加解密的執行效率。本文研究了QR碼編解碼規則和RSA改進加密算法,針對QR碼信息加密的缺陷,提出采用輸入口令加密原文信息、RSA算法加密口令的算法。通過實驗證明,本方法在未知私鑰的情況下采用普通識別軟件對QR碼的正確識別率為0%,既保證了信息的安全性又提高了加密的靈活性和提高了效率,具有很強的實用性,可得到廣泛應用。

【參 考 文 獻】

[1] 中國物品編碼中心,二維碼技術與應用[M].北京:中國計量出版社,2007.

[2] 鄭 東,李祥學,黃 征.密碼學——密碼算法與協議[M].北京:電子工業出版社,2009.

[3] 任勇金.基于Rijndeal和異或運算的QR二維碼雙重加密研究[J].華章,2012(29):338.

[4] 劉彥偉,王根英,劉 云.QR碼信息加密的研究與實現[J].推廣與應用,2012,21(11):37-41.

[5] 李 東.基于加密和解密的二維條形碼的實現[J].科學傳播,2010,(7):114-115.

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 亚洲日韩第九十九页| 亚洲精品无码高潮喷水A| 香蕉国产精品视频| 456亚洲人成高清在线| 亚洲人成在线免费观看| 99热国产这里只有精品无卡顿"| 在线看片中文字幕| 欧美一级高清免费a| 激情综合网址| 在线观看精品自拍视频| 成人福利视频网| 任我操在线视频| 国内精品久久九九国产精品| 99无码中文字幕视频| 欧美另类视频一区二区三区| 国产高潮视频在线观看| 国产99视频精品免费观看9e| 无码人中文字幕| 中文字幕首页系列人妻| 久久五月天综合| 九九九久久国产精品| 国产成人综合日韩精品无码不卡| 国产色图在线观看| 97久久人人超碰国产精品| 久996视频精品免费观看| 99久久精品国产综合婷婷| 丁香五月激情图片| 成人自拍视频在线观看| 国产在线自乱拍播放| 国产杨幂丝袜av在线播放| 国产精品视频久| 中文字幕人妻无码系列第三区| 91网站国产| 一区二区三区成人| 日本黄色不卡视频| 国产精品无码影视久久久久久久| 亚洲精品国产成人7777| 青青草原国产精品啪啪视频| 99re经典视频在线| 少妇精品久久久一区二区三区| 久久黄色毛片| 激情视频综合网| 日韩欧美网址| 欧美 国产 人人视频| 4虎影视国产在线观看精品| 熟女日韩精品2区| 久久青草视频| 亚洲Va中文字幕久久一区| 久久国产高清视频| 欧美精品影院| 成人夜夜嗨| 97国内精品久久久久不卡| 国产成人精品在线| 亚洲天堂区| 日韩福利在线视频| 日韩福利视频导航| 久久午夜夜伦鲁鲁片无码免费 | 免费一级全黄少妇性色生活片| 免费看美女自慰的网站| 国产精品xxx| 国产乱视频网站| 欧美一区二区三区不卡免费| 无码精品国产VA在线观看DVD| 理论片一区| 另类综合视频| 国产一级毛片高清完整视频版| 一级一级特黄女人精品毛片| 国产国语一级毛片在线视频| 国产精品一区二区不卡的视频| 亚洲毛片在线看| 久久精品人人做人人爽97| 婷婷中文在线| 国产特一级毛片| 亚洲最新网址| 日本精品影院| 精品国产成人a在线观看| 99视频在线观看免费| 国产美女免费| 国产精品浪潮Av| 久热99这里只有精品视频6| a级毛片在线免费| 亚洲人成网站在线播放2019|