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
主站蜘蛛池模板: 国产成人久久综合777777麻豆 | 四虎成人免费毛片| 日本高清视频在线www色| 国产乱子伦一区二区=| 国产真实乱子伦精品视手机观看| 国产美女叼嘿视频免费看| 亚洲成人在线网| 久久午夜夜伦鲁鲁片无码免费| 日韩欧美在线观看| 国产本道久久一区二区三区| 免费一级毛片不卡在线播放| 国产啪在线| 欧美日韩亚洲综合在线观看| 性喷潮久久久久久久久| 欧美日韩激情在线| 美女内射视频WWW网站午夜| 国产肉感大码AV无码| 91最新精品视频发布页| 四虎国产永久在线观看| 日韩精品少妇无码受不了| 亚欧美国产综合| 五月六月伊人狠狠丁香网| 老司机久久99久久精品播放| 亚洲欧美成人综合| 91亚洲精品国产自在现线| 亚洲色图综合在线| 四虎影视库国产精品一区| 国产9191精品免费观看| 国产成人免费| 国产男人的天堂| 中文精品久久久久国产网址| 成人午夜视频在线| 91精品视频网站| 午夜影院a级片| 日本免费福利视频| 国产真实自在自线免费精品| 亚洲欧美成aⅴ人在线观看| 91亚洲视频下载| 亚洲人成网站观看在线观看| 国产97色在线| 国产精品九九视频| 香蕉久久国产超碰青草| 亚洲人成网站在线观看播放不卡| 在线看片免费人成视久网下载| 国产激情无码一区二区三区免费| 国产00高中生在线播放| 91小视频在线播放| 日韩毛片免费视频| 丁香六月激情综合| 国产又粗又猛又爽视频| 高清无码不卡视频| 国产成人亚洲日韩欧美电影| 凹凸精品免费精品视频| 免费毛片全部不收费的| 1024你懂的国产精品| 欧美黄网站免费观看| 亚洲国产中文在线二区三区免| 18黑白丝水手服自慰喷水网站| 亚洲乱伦视频| 91九色视频网| 欧美高清国产| 99re在线视频观看| 欧美国产菊爆免费观看| 成人国产三级在线播放| 国产美女视频黄a视频全免费网站| 伊人天堂网| 欧美一级高清片欧美国产欧美| 99热这里只有精品在线播放| 国产无人区一区二区三区| 一级香蕉人体视频| 亚洲人成网站观看在线观看| 色婷婷电影网| 国产区网址| 亚洲无码视频一区二区三区| 亚洲精品午夜天堂网页| 精品国产福利在线| 草逼视频国产| 国产97色在线| 极品国产一区二区三区| 亚洲伦理一区二区| 色偷偷综合网| 中文字幕 91|