簡單了解流密碼


加密技術(shù)

流密碼是對(duì)稱密碼算法,是私鑰密碼系統(tǒng)中的一個(gè)分組。流密碼的轉(zhuǎn)換是隨”變換”而變換的,像水流一樣源源不斷的產(chǎn)生,是對(duì)稱密碼算法,從明文輸入流逐位或逐字節(jié)產(chǎn)生密文輸出。

什么是流密碼?

流密碼是私鑰體質(zhì)下的一個(gè)對(duì)稱加密,類似于簡單算法的”一次一密”,不過”一次一密”是真正的理想密碼只要不能獲得密碼亂碼本,就是完全保密。流密碼使用的是偽隨機(jī)數(shù)流,利用密鑰產(chǎn)生一個(gè)密鑰流Z=Z1Z2Z3…,然后利用此密鑰流依次對(duì)明文X=X0X1X2…進(jìn)行加密,這樣產(chǎn)生的密碼就是序列密碼,也稱為流密碼。

設(shè)計(jì)流密碼的因素

  • 加密序列的周期要長,若出現(xiàn)重復(fù)的周期過短,容易被破解;
  • 密鑰流應(yīng)該盡可能地接近真正隨機(jī)數(shù)流的特征;
  • 密鑰長度要長,以避免瓊窮舉攻擊。

流密碼就是使用較短的一串?dāng)?shù)字(叫它密鑰吧),來生成無限長的偽隨機(jī)密碼流,當(dāng)然事實(shí)上只需要生成和明文長度一樣的密碼流就夠了。

流密碼是將明文劃分成字符(如單個(gè)字母),或其編碼的基本單元(如0,1數(shù)字),字符分別與密鑰流作用進(jìn)行加密,解密時(shí)以同步產(chǎn)生的同樣的密鑰流實(shí)現(xiàn)。

通俗的講,產(chǎn)生一串序列來作為加密的密鑰流,從密鑰流中按規(guī)則依次選取密鑰,這些不同的密鑰分別來加密每個(gè)字符。

流密碼的強(qiáng)度依賴于密鑰序列的隨機(jī)性和不可預(yù)測(cè)性,核心在于密鑰流生成器的設(shè)計(jì),要保證收發(fā)兩端密鑰流的精確同步。

  • 種子密鑰
  • 信息流(明文流)
  • 密文流
  • 密鑰流

由此流密碼的基礎(chǔ)上,用較短的密鑰產(chǎn)生無限長的密碼流的方法非常多,其中有一種就叫做RC4。