柵欄密碼加密與解密以及特徵

2021-10-02 04:04:48 字數 1375 閱讀 9507

原理描述:

所謂柵欄密碼,就是把要加密的明文分成n個一組,然後把每組的第1個字連起來,形成一段無規律的話。 不過柵欄密碼本身有乙個潛規則,就是組成柵欄的字母一般不會太多。(一般不超過30個,也就是

一、兩句話)

加密特徵:

總體來說字母內容不變,僅是字母順序被「打亂」;加密的時候要選擇組數,所以解密的話只能逆推所有組數,然後選擇乙個適合的

指令碼實現:

# 柵欄密碼加密解密

# @chenye

defcrypto()

: plain =

input

('輸入明文:'

) n =

int(

input

('輸入每組字數'))

ans =

''for i in

range

(n):

for j in

range

(int

(plain.__len__(

)/n +

0.5)):

try:

ans += plain[j*n+i]

except

:pass

return ans

defdecrypto()

: plain =

input

('輸入密文:'

)for n in

range(2

,plain.__len__()-

1): ans =

''for i in

range

(n):

for j in

range

(int

(plain.__len__(

)/ n +

0.5)):

try:

ans += plain[j * n + i]

except

:pass

print

(ans)

if __name__ ==

'__main__'

:print

('柵欄密碼加密/解密.py'

)while

(true):

choice =

input

('功能選擇:\n1:加密\n2:解密\n'

)# 加密

if choice ==

'1':

print

(crypto())

# 解密

elif choice ==

'2':

decrypto(

)else

:print

('choice error!'

)

base加密與解密以及特徵

base32的編碼表是由 a z 2 7 32個可見字元構成,符號用作字尾填充。base64的編碼表是由 a z a z 0 9 64個可見字元構成,符號用作字尾填充。base58的編碼表相比base64少了數字0,大寫字母i,o,小寫字母 l 這個是l 以及符號 和 等 也就是說base64的加密...

加密與解密(五) 密碼 加密

問題 1 密碼的存在意義?2 加密演算法有哪些?密碼 密碼學 密碼 通訊雙方按照約定的法則進行資訊特殊變換的一種重要保密手段。依照這些法則,變明文為密文,稱為加密變換 變密文為明文,稱為脫密變換 解密 密碼體制可以分為以下幾種 密碼學的目標 加密乙個密碼系統的安全性只在於金鑰的保密性,而不在演算法的...

柵欄密碼 W型柵欄密碼 加解密(python實現)

柵欄密碼定義如下 柵欄密碼是將明文分成多個組,取每組第乙個字元連成一段,每組第二個字元連成一段 最後將各段連線起來得到密文。同時也可看成是按一定的步長取幾組字元,再將這幾組字元連起來得到密文。解密同理。這裡的步長就是金鑰 欄數 傳統柵欄密碼的金鑰是密文長度的因數。如密文長度為n,加密金鑰為x,則有n...