A. 什麼叫加密技術
以某種特殊的演算法改變原有的信息數據,使得未授權的用戶即使獲得了已加密的信號,但因不知解密的方法,仍然無法了解信息的內容。
加密建立在對信息進行數學編碼和解碼的基礎上。加密類型分為兩種,對稱加密與非對稱加密,對稱加密雙方採用共同密鑰,(當然這個密鑰是需要對外保密的),這里講一下非對稱加密,這種加密方式存在兩個密鑰,密鑰 -- 一種是公共密鑰(正如其名,這是一個可以公開的密鑰值),一種是私人密鑰(對外保密)。 您發送信息給我們時,使用公共密鑰加密信息。 一旦我們收到您的加密信息,我們則使用私人密鑰破譯信息密碼(被我們的公鑰加密的信息,只有我們的唯一的私鑰可以解密,這樣,就在技術上保證了這封信只有我們才能解讀——因為別人沒有我們的私鑰)。 使用私人密鑰加密的信息只能使用公共密鑰解密(這一功能應用與數字簽名領域,我的私鑰加密的數據,只有我的公鑰可以解讀,具體內容參考數字簽名的信息)反之亦然,以確保您的信息安全。
舉例如下:
代碼如下:
/* Secure.c
Copyright (c) 2002, 2006 by ctu_85
All Rights Reserved.
*/
#include "stdio.h"
#include "string.h"
#define right 5
void Create();
void Load();
char secure(char);
char desecure(char);
void main()
{
int choice;
printf("Please enter your choice:\n");
printf("0:To quit;\n");
printf("1:To create a security file;\n");
printf("2:To load a security file .\n");
cir:
printf("Your choice:");
scanf("%d",&choice);
if(choice==0)
return;
if(choice==1)
{
Create();
printf("\n");
goto cir;
}
else
if(choice==2)
{
Load();
printf("\n");
goto cir;
}
else
{
printf("Invalid input!\n");
goto cir;
}
}
void Create()
{
FILE *fp;
char *p,ch,*s;
recre:
printf("Please enter the path where you wanna the file to be:");
scanf("%s",p);
if(*p<'C'||*p>'F'||*(p+1)!=':'||*(p+2)!=92||strlen(p)>30||strlen(p)<4)
{
printf("Invalid input!\n");
goto recre;
}
if((fp=fopen(p,"wb"))==NULL)
{
printf("Error!");
return;
}
an:
printf("Please set the password:");
scanf("%s",s);
if(strlen(s)>16||strlen(s)<6)
{
printf("The password is too long or too short,please reinput!\n");
goto an;
}
while(*s!='')
{
ch=*s;
ch=secure(ch);
s++;
fputc(ch,fp);
}
ch='\n';
ch=secure(ch);
fputc(ch,fp);
printf("Please enter the information,end with char '#':");
ch=getchar();
ch=getchar();
while(ch!='#')
{
ch=secure(ch);
fputc(ch,fp);
ch=getchar();
}
ch=secure(ch);
fputc(ch,fp);
fclose(fp);
}
void Load()
{
FILE *fp;
char *p,ch,*s,temp[18],pass[18],sign=secure('\n');
int i=0,t=0,lenth=0;
rece:
printf("Please enter the path where you wanna to load:");
scanf("%s",p);
if(*p<'C'||*p>'F'||*(p+1)!=':'||*(p+2)!=92||strlen(p)>30||strlen(p)<4)
{
printf("Invalid input!\n");
goto rece;
}
if((fp=fopen(p,"rb"))==NULL)
{
printf("Error!");
return;
}
ant:
printf("Please input the password:");
scanf("%s",s);
lenth=strlen(s);
if(lenth>16||lenth<6)
{
printf("The password is obviously incorrect!\n");
goto ant;
}
while(*s!='')
{
temp=secure(*s);
s++;
i++;
}
temp='';
ch=fgetc(fp);
while(ch!=sign)
{
pass[t]=ch;
t++;
ch=fgetc(fp);
}
pass[t]='';
ch=desecure(ch);
if(!strcmp(temp,pass))
{
while(ch!='#')
{
ch=fgetc(fp);
ch=desecure(ch);
if(ch!='#')
putchar(ch);
}
}
else
printf("The password is incorrect!\n");
fclose(fp);
}
char secure(char c)
{
if(c+right>254)
return c-255+right;
else
return c+right;
}
char desecure(char c)
{
if(c<right)
return 255-right;
else
return c-right;
}
B. 維吉尼亞密碼加密方法
「愷撒密碼」據傳是古羅馬愷撒大帝用來保護重要軍情的加密系統。它是一種替代密碼,通過將字母按順序推後起3位起到加密作用,如將字母A換作字母D,將字母B換作字母E。據說愷撒是率先使用加密函的古代將領之一,因此這種加密方法被稱為愷撒密碼。
假如有這樣一條指令:
RETURN TO ROME
用愷撒密碼加密後就成為:
UHWXUA WR URPH
如果這份指令被敵方截獲,也將不會泄密,因為字面上看不出任何意義。
這種加密方法還可以依據移位的不同產生新的變化,如將每個字母左19位,就產生這樣一個明密對照表:
明:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密:T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
在這個加密表下,明文與密文的對照關系就變成:
明文:THE FAULT, DEAR BRUTUS, LIES NOT IN OUR STARS BUT IN OURSELVES.
密文:MAX YTNEM, WXTK UKNMNL, EBXL GHM BG HNK LMTKL UNM BG HNKLXEOXL.
很明顯,這種密碼的密度是很低的,只需簡單地統計字頻就可以破譯。於是人們在單一愷撒密碼的基礎上擴展出多表密碼,稱為「維吉尼亞」密碼。它是由16世紀法國亨利三世王朝的布萊瑟·維吉尼亞發明的,其特點是將26個愷撒密表合成一個,見下表:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A CC D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
維吉尼亞密碼引入了「密鑰」的概念,即根據密鑰來決定用哪一行的密表來進行替換,以此來對抗字頻統計。假如以上面第一行代表明文字母,左面第一列代表密鑰字母,對如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
當選定RELATIONS作為密鑰時,加密過程是:明文一個字母為T,第一個密鑰字母為R,因此可以找到在R行中代替T的為K,依此類推,得出對應關系如下:
密鑰:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
歷史上以維吉尼亞密表為基礎又演變出很多種加密方法,其基本元素無非是密表與密鑰,並一直沿用到二戰以後的初級電子密碼機上。
回答者:西伯利亞的狼 - 狀元 十四級 5-20 20:32
「愷撒密碼」據傳是古羅馬愷撒大帝用來保護重要軍情的加密系統。它是一種替代密碼,通過將字母按順序推後起3位起到加密作用,如將字母A換作字母D,將字母B換作字母E。據說愷撒是率先使用加密函的古代將領之一,因此這種加密方法被稱為愷撒密碼。
假如有這樣一條指令:
RETURN TO ROME
用愷撒密碼加密後就成為:
UHWXUA WR URPH
如果這份指令被敵方截獲,也將不會泄密,因為字面上看不出任何意義。
這種加密方法還可以依據移位的不同產生新的變化,如將每個字母左19位,就產生這樣一個明密對照表:
明:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密:T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
在這個加密表下,明文與密文的對照關系就變成:
明文:THE FAULT, DEAR BRUTUS, LIES NOT IN OUR STARS BUT IN OURSELVES.
密文:MAX YTNEM, WXTK UKNMNL, EBXL GHM BG HNK LMTKL UNM BG HNKLXEOXL.
很明顯,這種密碼的密度是很低的,只需簡單地統計字頻就可以破譯。於是人們在單一愷撒密碼的基礎上擴展出多表密碼,稱為「維吉尼亞」密碼。它是由16世紀法國亨利三世王朝的布萊瑟·維吉尼亞發明的,其特點是將26個愷撒密表合成一個,見下表:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A CC D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
維吉尼亞密碼引入了「密鑰」的概念,即根據密鑰來決定用哪一行的密表來進行替換,以此來對抗字頻統計。假如以上面第一行代表明文字母,左面第一列代表密鑰字母,對如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
當選定RELATIONS作為密鑰時,加密過程是:明文一個字母為T,第一個密鑰字母為R,因此可以找到在R行中代替T的為K,依此類推,得出對應關系如下:
密鑰:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
歷史上以維吉尼亞密表為基礎又演變出很多種加密方法,其基本元素無非是密表與密鑰,並一直沿用到二戰以後的初級電子密碼機上。
C. 目前的數字認證和加密演算法的主要技術及其應用
1. 什麼是數字證書?
數字證書就是網路通訊中標志通訊各方身份信息的一系列數據,其作用類似於現實生活中的身份證。它是由一個權威機構發行的,人們可以在交往中用它來識別對方的身份。
最簡單的證書包含一個公開密鑰、名稱以及證書授權中心的數字簽名。一般情況下證書中還包括密鑰的有效時間,發證機關(證書授權中心)的名稱,該證書的序列號等信息,證書的格式遵循ITUT X.509國際標准。
一個標準的X.509數字證書包含以下一些內容:
證書的版本信息;
證書的序列號,每個證書都有一個唯一的證書序列號;
證書所使用的簽名演算法;
證書的發行機構名稱,命名規則一般採用X.500格式;
證書的有效期,現在通用的證書一般採用UTC時間格式,它的計時范圍為1950-2049;
證書所有人的名稱,命名規則一般採用X.500格式;
證書所有人的公開密鑰;
證書發行者對證書的簽名。
使用數字證書,通過運用對稱和非對稱密碼體制等密碼技術建立起一套嚴密的身份認證系統,從而保證:信息除發送方和接收方外不被其它人竊取;信息在傳輸過程中不被篡改;發送方能夠通過數字證書來確認接收方的身份;發送方對於自己的信息不能抵賴。
2. 為什麼要使用數字證書?
由於Internet網電子商務系統技術使在網上購物的顧客能夠極其方便輕松地獲得商家和企業的信息,但同時也增加了對某些敏感或有價值的數據被濫用的風險。買方和賣方都必須保證在網際網路上進行的一切金融交易運作都是真實可靠的,並且要使顧客、商家和企業等交易各方都具有絕對的信心,因而網際網路電子商務系統必須保證具有十分可靠的安全保密技術,也就是說,必須保證網路安全的四大要素,即信息傳輸的保密性、數據交換的完整性、發送信息的不可否認性、交易者身份的確定性。
信息的保密性
交易中的商務信息均有保密的要求,如信用卡的帳號和用戶名被人知悉,就可能被盜用,訂貨和付款的信息被競爭對手獲悉,就可能喪失商機。因此在電子商務的信息傳播中一般均有加密的要求。
交易者身份的確定性
網上交易的雙方很可能素昧平生,相隔千里。要使交易成功首先要能確認對方的身份,商家要考慮客戶端是不是騙子,而客戶也會擔心網上的商店不是一個玩弄欺詐的黑店。因此能方便而可靠地確認對方身份是交易的前提。對於為顧客或用戶開展服務的銀行、信用卡公司和銷售商店,為了做到安全、保密、可靠地開展服務活動,都要進行身份認證的工作。對有關的銷售商店來說,他們對顧客所用的信用卡的號碼是不知道的,商店只能把信用卡的確認工作完全交給銀行來完成。銀行和信用卡公司可以採用各種保密與識別方法,確認顧客的身份是否合法,同時還要防止發生拒付款問題以及確認訂貨和訂貨收據信息等。
不可否認性
由於商情的千變萬化,交易一旦達成是不能被否認的。否則必然會損害一方的利益。例如訂購黃金,訂貨時金價較低,但收到訂單後,金價上漲了,如收單方能否認受到訂單的實際時間,甚至否認收到訂單的事實,則訂貨方就會蒙受損失。因此電子交易通信過程的各個環節都必須是不可否認的。
不可修改性
由於商情的千變萬化,交易一旦達成應該是不能被否認的。否則必然會損害一方的利益。例如訂購黃金,訂貨時金價較低,但收到訂單後,金價上漲了,如收單方能否認收到訂單的實際時間,甚至否認收到訂單的事實,則訂貨方就會蒙受損失。因此電子交易通信過程的各個環節都必須是不可否認的。
數字安全證書提供了一種在網上驗證身份的方式。安全證書體制主要採用了公開密鑰體制,其它還包括對稱密鑰加密、數字簽名、數字信封等技術。
我們可以使用數字證書,通過運用對稱和非對稱密碼體制等密碼技術建立起一套嚴密的身份認證系統,從而保證:信息除發送方和接收方外不被其它人竊取;信息在傳輸過程中不被篡改;發送方能夠通過數字證書來確認接收方的身份;發送方對於自己的信息不能抵賴。
3. 數字認證原理
數字證書採用公鑰體制,即利用一對互相匹配的密鑰進行加密、解密。每個用戶自己設定一把特定的僅為本人所知的私有密鑰(私鑰),用它進行解密和簽名;同時設定一把公共密鑰(公鑰)並由本人公開,為一組用戶所共享,用於加密和驗證簽名。當發送一份保密文件時,發送方使用接收方的公鑰對數據加密,而接收方則使用自己的私鑰解密,這樣信息就可以安全無誤地到達目的地了。通過數字的手段保證加密過程是一個不可逆過程,即只有用私有密鑰才能解密。
在公開密鑰密碼體制中,常用的一種是RSA體制。其數學原理是將一個大數分解成兩個質數的乘積,加密和解密用的是兩個不同的密鑰。即使已知明文、密文和加密密鑰(公開密鑰),想要推導出解密密鑰(私有密鑰),在計算上是不可能的。按現在的計算機技術水平,要破解目前採用的1024位RSA密鑰,需要上千年的計算時間。公開密鑰技術解決了密鑰發布的管理問題,商戶可以公開其公開密鑰,而保留其私有密鑰。購物者可以用人人皆知的公開密鑰對發送的信息進行加密,安全地傳送以商戶,然後由商戶用自己的私有密鑰進行解密。
如果用戶需要發送加密數據,發送方需要使用接收方的數字證書(公開密鑰)對數據進行加密,而接收方則使用自己的私有密鑰進行解密,從而保證數據的安全保密性。
另外,用戶可以通過數字簽名實現數據的完整性和有效性,只需採用私有密鑰對數據進行加密處理,由於私有密鑰僅為用戶個人擁有,從而能夠簽名文件的唯一性,即保證:數據由簽名者自己簽名發送,簽名者不能否認或難以否認;數據自簽發到接收這段過程中未曾作過任何修改,簽發的文件是真實的。
4. 數字證書是如何頒發的?
數字證書是由認證中心頒發的。根證書是認證中心與用戶建立信任關系的基礎。在用戶使用數字證書之前必須首先下載和安裝。
認證中心是一家能向用戶簽發數字證書以確認用戶身份的管理機構。為了防止數字憑證的偽造,認證中心的公共密鑰必須是可靠的,認證中心必須公布其公共密鑰或由更高級別的認證中心提供一個電子憑證來證明其公共密鑰的有效性,後一種方法導致了多級別認證中心的出現。
數字證書頒發過程如下:用戶產生了自己的密鑰對,並將公共密鑰及部分個人身份信息傳送給一家認證中心。認證中心在核實身份後,將執行一些必要的步驟,以確信請求確實由用戶發送而來,然後,認證中心將發給用戶一個數字證書,該證書內附了用戶和他的密鑰等信息,同時還附有對認證中心公共密鑰加以確認的數字證書。當用戶想證明其公開密鑰的合法性時,就可以提供這一數字證書。
5. 加密技術
由於數據在傳輸過程中有可能遭到侵犯者的竊聽而失去保密信息,加密技術是電子商務採取的主要保密安全措施,是最常用的保密安全手段。加密技術也就是利用技術手段把重要的數據變為亂碼(加密)傳送,到達目的地後再用相同或不同的手段還原(解密)。
加密包括兩個元素:演算法和密鑰。一個加密演算法是將普通的文本(或者可以理解的信息)與一竄數字(密鑰)的結合,產生不可理解的密文的步驟。密鑰和演算法對加密同等重要。
密鑰是用來對數據進行編碼和解碼的一種演算法。在安全保密中,可通過適當的密鑰加密技術和管理機制,來保證網路的信息通訊安全。密鑰加密技術的密碼體制分為對稱密鑰體制和非對稱密鑰體制兩種。
相應地,對數據加密的技術分為兩類,即對稱加密(私人密鑰加密)和非對稱加密(公開密鑰加密)。對稱加密以數據加密標准(DES,Data Encryption Standard)演算法為典型代表,非對稱加密通常以RSA(Rivest Shamir Ad1eman)演算法為代表。對稱加密的加密密鑰和解密密鑰相同,而非對稱加密的加密密鑰和解密密鑰不同,加密密鑰可以公開而解密密鑰需要保密。
D. 乘法密碼的加密過程
設明文消息元素個數為n,密鑰為k。
密鑰k在選取的時候應滿足兩個條件:
(1)0<k<n
(2)k與n互素
設明文消息為M,消息元素為m;
則密文消息為C,密文元素為c=m*k mod n;
其解密過程如下:
首先要得到解密密鑰,就是要求得加密密鑰k模n的逆元;
具體求法為k *mod n=1;
然後計算m=c *mod n即可得到明文消息M。
舉例說明如下:
英文字母有26個,即n=26;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
M=m[26]={a , b , c ,d , e , f , g , h , i , j , k , l , m , n , o , p , q , r , s , t , u , v , w , x , y , z };
我們選取密鑰k=5;
現在我們對hello進行加密
hello所對應的數組為[8,5,12,12 15];
由於8*5 (mod 26) =40(mod)26=14;
依次類推,可得到加密後的數組為[ 14 , 25,8,8, 23 ];
對應的密文消息就是nyhhw
現在我們開始對nyhhw解密
首先要求得解密密鑰;
由於5*21(mod 26)=105(mod26)=1;
所以=21;
nyhhw所對應的數組為[ 14 , 25,8,8, 23 ];
由於14*21(mod26)=294(mod26)=8;
依次類推,可得到解密後的數組為[8,5,12,12 15];
對應的明文消息就是hello。
E. 常用的加密演算法有哪些
對稱密鑰加密
對稱密鑰加密 Symmetric Key Algorithm 又稱為對稱加密、私鑰加密、共享密鑰加密:這類演算法在加密和解密時使用相同的密鑰,或是使用兩個可以簡單的相互推算的密鑰,對稱加密的速度一般都很快。
分組密碼
分組密碼 Block Cipher 又稱為「分塊加密」或「塊加密」,將明文分成多個等長的模塊,使用確定的演算法和對稱密鑰對每組分別加密解密。這也就意味著分組密碼的一個優點在於可以實現同步加密,因為各分組間可以相對獨立。
與此相對應的是流密碼:利用密鑰由密鑰流發生器產生密鑰流,對明文串進行加密。與分組密碼的不同之處在於加密輸出的結果不僅與單獨明文相關,而是與一組明文相關。
DES、3DES
數據加密標准 DES Data Encryption Standard 是由IBM在美國國家安全局NSA授權下研製的一種使用56位密鑰的分組密碼演算法,並於1977年被美國國家標准局NBS公布成為美國商用加密標准。但是因為DES固定的密鑰長度,漸漸不再符合在開放式網路中的安全要求,已經於1998年被移出商用加密標准,被更安全的AES標准替代。
DES使用的Feistel Network網路屬於對稱的密碼結構,對信息的加密和解密的過程極為相似或趨同,使得相應的編碼量和線路傳輸的要求也減半。
DES是塊加密演算法,將消息分成64位,即16個十六進制數為一組進行加密,加密後返回相同大小的密碼塊,這樣,從數學上來說,64位0或1組合,就有2^64種可能排列。DES密鑰的長度同樣為64位,但在加密演算法中,每逢第8位,相應位會被用於奇偶校驗而被演算法丟棄,所以DES的密鑰強度實為56位。
3DES Triple DES,使用不同Key重復三次DES加密,加密強度更高,當然速度也就相應的降低。
AES
高級加密標准 AES Advanced Encryption Standard 為新一代數據加密標准,速度快,安全級別高。由美國國家標准技術研究所NIST選取Rijndael於2000年成為新一代的數據加密標准。
AES的區塊長度固定為128位,密鑰長度可以是128位、192位或256位。AES演算法基於Substitution Permutation Network代換置列網路,將明文塊和密鑰塊作為輸入,並通過交錯的若干輪代換"Substitution"和置換"Permutation"操作產生密文塊。
AES加密過程是在一個4*4的位元組矩陣(或稱為體State)上運作,初始值為一個明文區塊,其中一個元素大小就是明文區塊中的一個Byte,加密時,基本上各輪加密循環均包含這四個步驟:
ECC
ECC即 Elliptic Curve Cryptography 橢圓曲線密碼學,是基於橢圓曲線數學建立公開密鑰加密的演算法。ECC的主要優勢是在提供相當的安全等級情況下,密鑰長度更小。
ECC的原理是根據有限域上的橢圓曲線上的點群中的離散對數問題ECDLP,而ECDLP是比因式分解問題更難的問題,是指數級的難度。而ECDLP定義為:給定素數p和橢圓曲線E,對Q=kP,在已知P,Q 的情況下求出小於p的正整數k。可以證明由k和P計算Q比較容易,而由Q和P計算k則比較困難。
數字簽名
數字簽名 Digital Signature 又稱公鑰數字簽名是一種用來確保數字消息或文檔真實性的數學方案。一個有效的數字簽名需要給接收者充足的理由來信任消息的可靠來源,而發送者也無法否認這個簽名,並且這個消息在傳輸過程中確保沒有發生變動。
數字簽名的原理在於利用公鑰加密技術,簽名者將消息用私鑰加密,然後公布公鑰,驗證者就使用這個公鑰將加密信息解密並對比消息。一般而言,會使用消息的散列值來作為簽名對象。
F. 請簡述數字加密的過程
在對稱加密中,數據發送方將明文(原始數據)和加密密鑰一起經過特殊加密演算法處理後,使其變成復雜的加密密文發送出去。
接收方收到密文後,若想解讀原文,則需要使用加密密鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密演算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密。
(6)加密過程的三個元素擴展閱讀:
數字加密注意事項:
通過TCP三次握手進行連接,然後客戶端發送hello包到服務端,服務端回應一個hello包,如果客戶端需要再次發送數字證書, 則發送數字證書到客戶端。
客戶端得到伺服器的證書後通過CA服務驗證真偽、驗證證書的主體與訪問的主體是否一致,驗證證書是否在吊銷證書列表中。如果全部通過驗證則與伺服器端進行加密演算法的協商。
用證書中伺服器的公鑰加密對稱秘鑰發送給伺服器端,對稱秘鑰只能用伺服器的私鑰進行解密,當伺服器通過私鑰解密對稱秘鑰後。使用對稱秘鑰將客戶端請求的數據發送到客戶端,客戶端在用對稱秘鑰進行解密,從而得到想要的數據。
G. 加密過程中的三個元素是什麼
A. 所傳輸的信息(明文)
B. 加密鑰匙(Encryption key)
C. 加密函數
H. 密碼加密技術
加密文件系統 (EFS) 提供一種核心文件加密技術,該技術用於在 NTFS 文件系統卷上存儲已加密的文件。一旦加密了文件或文件夾,您就可以象使用其他文件和文件夾一樣使用它們。
對加密該文件的用戶,加密是透明的。這表明不必在使用前手動解密已加密的文件。您可以正常打開和更改文件。
使用 EFS 類似於使用文件和文件夾上的許可權。兩種方法可用於限制數據的訪問。然而,獲得未經許可的加密文件和文件夾物理訪問權的入侵者將無法閱讀文件和文件夾中的內容。如果入侵者試圖打開或復制已加密文件或文件夾,入侵者將收到拒絕訪問消息。文件和文件夾上的許可權不能防止未授權的物理攻擊。
正如設置其他任何屬性(如只讀、壓縮或隱藏)一樣,通過為文件夾和文件設置加密屬性,可以對文件夾或文件進行加密和解密。如果加密一個文件夾,則在加密文件夾中創建的所有文件和子文件夾都自動加密。推薦在文件夾級別上加密。
也可以用命令行功能 cipher 加密或解密文件或文件夾。詳細信息,請參閱 Cipher。有關管理功能的詳細信息,請參閱管理。
在使用加密文件和文件夾時,請記住下列信息:
只有 NTFS 卷上的文件或文件夾才能被加密。由於 WebDAV 使用 NTFS,當通過 WebDAV 加密文件時需用 NTFS。
被壓縮的文件或文件夾不可以加密。如果用戶標記加密一個壓縮文件或文件夾,則該文件或文件夾將會被解壓。
如果將加密的文件復制或移動到非 NTFS 格式的卷上,該文件將會被解密。
如果將非加密文件移動到加密文件夾中,則這些文件將在新文件夾中自動加密。然而,反向操作不能自動解密文件。文件必須明確解密。
無法加密標記為「系統」屬性的文件,並且位於 systemroot 目錄結構中的文件也無法加密。
加密文件夾或文件不能防止刪除或列出文件或文件夾表。具有合適許可權的人員可以刪除或列出已加密文件或文件夾表。因此,建議結合 NTFS 許可權使用 EFS。
在允許進行遠程加密的遠程計算機上可以加密或解密文件及文件夾。然而,如果通過網路打開已加密文件,通過此過程在網路上傳輸的數據並未加密。必須使用諸如單套接字層/傳輸層安全 (SSL/TLS) 或 Internet 協議安全 (IPSec) 等其它協議通過有線加密數據。但 WebDAV 可在本地加密文件並採用加密格式發送。
I. 加密技術的兩個元素
加密技術包括兩個元素:演算法和密鑰。演算法是將普通的文本(或者可以理解的信息)與一串數字(密鑰)的結合,產生不可理解的密文的步驟,密鑰是用來對數據進行編碼和解碼的一種演算法。在安全保密中,可通過適當的密鑰加密技術和管理機制來保證網路的信息通訊安全。密鑰加密技術的密碼體制分為對稱密鑰體制和非對稱密鑰體制兩種。相應地,對數據加密的技術分為兩類,即對稱加密(私人密鑰加密)和非對稱加密(公開密鑰加密)。對稱加密以數據加密標准(DES,Data Encryption Standard)演算法為典型代表,非對稱加密通常以RSA(Rivest Shamir Adleman)演算法為代表。對稱加密的加密密鑰和解密密鑰相同,而非對稱加密的加密密鑰和解密密鑰不同,加密密鑰可以公開而解密密鑰需要保密。